Stateless publish/subscribe messaging using sip
Claim Score by NHIP
Abstract
The present invention discloses a system and method for stateless publish/subscribe messaging using SIP that provides SIP with similar functionality to JMS™-based publish/subscribe messaging, thereby allowing client applications that require both SIP and JMS™ messaging to be implemented using SIP only.

Term
Term ended
Projected expiry passed 27 June 2026, 0.2 years ago.
- Priority and filed
- Published
- Projected expiry
- Today
20 claims: 4 independent, 16 dependent
- 1Broadest claimClaim Score 88, very broad(NHIP)A system for stateless publish/subscribe messaging using Session Initiation Protocol (SIP), the system comprising:an SIP server configured to manage a subscription regarding an entity;and an SIP publisher configured to publish a message regarding said entity to said SIP server.
- 12A method for stateless publish/subscribe messaging using Session Initiation Protocol (SIP), the method comprising:receiving an SIP subscription message initiating a subscription for published messages relating to a stateless entity;receiving a published message relating to said entity;and forwarding said message to an SIP subscriber associated with said subscription without updating a state table to indicate a state of said entity.
- 19A program product stored on a computer-readable medium, which when executed, enables statelsess publish/subscribe messaging using Session Initiation Protocol (SIP), the program product comprising:program code for receiving a Session Initiation Protocol (SIP) subscription message initiating a subscription for published messages relating to a stateless entity;program code for receiving a published message relating to said entity;and program code for forwarding said message to a SIP subscriber associated with said subscription without updating a state table to indicate a state of said entity.
- 20A method for deploying an application for enabling stateless publish/subscribe messaging using Session Initiation Protocol (SIP), comprising:providing a computer infrastructure being operable to: receive an SIP subscription message initiating a subscription for published messages relating to a stateless entity;receive a published message relating to said entity;and forward said message to a SIP subscriber associated with said subscription without updating a state table to indicate a state of said entity.
Independent claims4
28 paragraphs in 4 sections, as filed
BACKGROUND OF THE INVENTION
00011. Field of the Invention
0002The present invention relates to computer-based messaging in general, and more particularly to publish/subscribe messaging of stateless information using the Session Initiation Protocol (SIP).
00032. Related Art
0004In classic publish/subscribe messaging systems, such as those modeled by the Java™ Message Service™ (JMS™) Application Programming Interface (API), a computer-based subscriber client application subscribes to a topic, where the subscription is managed by a messaging server. A publisher application then publishes messages to the topic by sending them to the messaging server, which then sends the messages to subscriber clients that subscribed to the topic. Such topics might include, for example, basketball, with basketball articles and game scores being published to the topic and sent to its subscribers. JMS™ supports durable subscriptions where published messages are stored for a subscriber when the subscription is not active, with the stored messages being sent to the subscriber when the subscription becomes active again (i.e., the subscriber resumes the subscription).
0005Publish/subscribe messaging systems which use the Session Initiation Protocol (SIP) differ from classic publish/subscribe messaging systems, mainly in that in the SIP publish/subscribe model the client subscribes to the state of an entity rather than to a topic, where the state of the entity is published to and managed by a presence server. In SIP, a published event reflects a change in the state of an entity, which change is noted by the presence server. SIP does not support durable subscriptions, as past publications of an entity's previous states are not stored, an only the current state of an entity is transferred to a subscriber.
0006Client applications that use both JMS™ and SIP services currently require a separate engine for each. This has several drawbacks, including:
0007Requiring the implementation of two heavy messaging infrastructures at the server, each with its overhead of installation, administration, high availability and scalability requirements, etc.;
0008Requiring the client application to be implemented with two different sets of APIs and protocols;
0009Large client applications, which pose a problem for mobile clients with limited memory and CPU capacity; and
0010Duplicative authentication and authorization against both the SIP and the JMS™ servers.
SUMMARY OF THE INVENTION
0011The present invention discloses a system and method for stateless publish/subscribe messaging using Session Initiation Protocol (SIP) that provides SIP with similar functionality to JMS™-based publish/subscribe messaging, thereby allowing client applications that require both SIP and JMS™ messaging to be implemented using SIP only.
0012A first aspect of the invention provides a system for stateless publish/subscribe messaging using Session Initiation Protocol (SIP), the system comprising: an SIP server configured to manage a subscription regarding an entity; and an SIP publisher configured to publish a message regarding said entity to said SIP server.
0013A second aspect of the invention provides a method for stateless publish/subscribe messaging using Session Initiation Protocol (SIP), the method comprising: receiving an SIP subscription message initiating a subscription for published messages relating to a stateless entity; receiving a published message relating to said entity; and forwarding said message to an SIP subscriber associated with said subscription without updating a state table to indicate a state of said entity.
0014A third aspect of the invention provides a program product stored on a computer-readable medium, which when executed, enables statelsess publish/subscribe messaging using Session Initiation Protocol (SIP), the program product comprising: program code for receiving a Session Initiation Protocol (SIP) subscription message initiating a subscription for published messages relating to a stateless entity; program code for receiving a published message relating to said entity; and program code for forwarding said message to a SIP subscriber associated with said subscription without updating a state table to indicate a state of said entity.
0015A fourth aspect of the invention provides a method for deploying an application for enabling stateless publish/subscribe messaging using Session Initiation Protocol (SIP), comprising: providing a computer infrastructure being operable to: receive an SIP subscription message initiating a subscription for published messages relating to a stateless entity; receive a published message relating to said entity; and forward said message to a SIP subscriber associated with said subscription without updating a state table to indicate a state of said entity.
BRIEF DESCRIPTION OF THE DRAWINGS
0016The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the appended drawings in which:
0017<figref idref="DRAWINGS">FIG. 1A</figref>, is a simplified conceptual illustration of a system for stateless publish/subscribe messaging using SIP, constructed and operative in accordance with a preferred embodiment of the present invention;
0018<figref idref="DRAWINGS">FIG. 1B</figref> is a simplified flowchart illustration of an exemplary method of operation of the system of <figref idref="DRAWINGS">FIG. 1A</figref>, operative in accordance with a preferred embodiment of the present invention;
0019<figref idref="DRAWINGS">FIG. 2A</figref> is a simplified flowchart illustration of a method for providing durable SIP subscriptions, operative in accordance with a preferred embodiment of the present invention; and
0020<figref idref="DRAWINGS">FIG. 2B</figref> is a simplified flowchart illustration of a method for publishing durable SIP subscriptions, operative in accordance with a preferred embodiment of the present invention.
DETAILED DESCRIPTION
0021Reference is now made to <figref idref="DRAWINGS">FIG. 1A</figref>, which is a simplified conceptual illustration of a system for stateless publish/subscribe messaging using SIP, constructed and operative in accordance with a preferred embodiment of the present invention, and additionally to <figref idref="DRAWINGS">FIG. 1B</figref>, which is a simplified flowchart illustration of an exemplary method of operation of the system of <figref idref="DRAWINGS">FIG. 1A</figref>, operative in accordance with a preferred embodiment of the present invention. In the system and method of <figref idref="DRAWINGS">FIGS. 1A and 1B</figref>, an SIP subscriber client <b>100</b>, such as may reside on a computing platform <b>102</b> such as a personal computer or a cellular telephone, submits a subscription to an SIP server <b>104</b>, such as an SIP presence server, for information regarding an entity <b>106</b>, such as a basketball news topic. In order to distinguish from the stateful SIP “presentity,” the term “entity” is used herein to indicate that SIP entities as implemented in the context of the present invention may be “stateless,” in that messages that are published for stateless entities are not intended to indicate a current entity state, and include, as such, “stateless” information. An SIP publisher <b>108</b>, such as may reside on a computing platform <b>110</b> submits publications associated with entity <b>106</b> to server <b>104</b>. Whereas in classic SIP applications such a subscription is for stateful information regarding the current state of an entity which is maintained by server <b>104</b> in a state table <b>112</b> (e.g., status is online, offline, busy, etc., where the entity is, for example, a cellular telephone subscriber), in accordance with the present invention the subscription may be for stateless information, such as a basketball game score published in connection with entity <b>106</b>, being the basketball news topic in the present example. This may be accomplished by publisher <b>108</b> using a standard SIP PUBLISH message with the EXPIRES header field set to a predetermined value, such as zero, a non-zero value, or a value exceeding a predefined maximum value. Server <b>104</b> may in turn be configured to recognize the predetermined value of the EXPIRES header field as identifying a publication of stateless information regarding entity <b>106</b>, and not including stateful information that is to be maintained as such by server <b>104</b>. Server <b>104</b> thus forwards such publications to subscriber <b>100</b> without updating state table <b>112</b>, as the publication is of stateless information. Alternatively, a separate header field may be used to identify the PUBLISH message as carrying stateless information, instead of using the EXPIRES field. Server <b>104</b> may then be configured to identify this field as such.
0022The system of <figref idref="DRAWINGS">FIG. 1A</figref> may be used to provide content-based subscriptions, where subscribers may define filtering criteria and receive messages that match their criteria. Content-based filtering is enabled by associating an event schema with a message. An event schema, which is sometimes referred to as a message schema, defines the type of the information contained in a message, with the system of <figref idref="DRAWINGS">FIG. 1A</figref> preferably supporting multiple event schemas. For example, the schema for sports news may define a news item as containing the following attributes: title, sports (e.g., basketball, football, etc.) league, teams mentioned, individual players mentioned and item body. Server <b>104</b> may support content-based subscriptions for stateless messages using standard SIP subscriptions. Subscriber <b>100</b> may submit a SIP subscription for entity <b>106</b>, such as basketball news topic, and include filtering criteria such as [league=“NB36”] and [players INCLUDE “Michael Jordan”]. Server <b>104</b> preferably checks filtering criteria for messages published in connection with entity <b>106</b>, forwarding only those messages that meet the criteria to subscriber <b>100</b>.
0023Reference is now made to <figref idref="DRAWINGS">FIG. 2A</figref>, which is a simplified flowchart illustration of a method for providing durable SIP subscriptions, operative in accordance with a preferred embodiment of the present invention, and additionally to <figref idref="DRAWINGS">FIG. 2B</figref>, which is a simplified flowchart illustration of a method for publishing for durable SIP subscriptions, operative in accordance with a preferred embodiment of the present invention. In the method of <figref idref="DRAWINGS">FIGS. 2A and 2B</figref>, which may be implemented by the system of <figref idref="DRAWINGS">FIG. 1A</figref>, support for durable subscriptions may be provided by server <b>104</b> upon receiving a request from subscriber <b>100</b> for a durable subscription. Such a request may be conveyed as part of the subscription by using a field to indicate whether or not the subscription is a durable subscription. Server <b>104</b> may in turn be configured to recognize whether or not a subscription is a durable subscription, storing published messages intended for subscriber <b>100</b> while subscriber <b>100</b> is not active, and forwarding stored messages to subscriber <b>100</b> when subscriber <b>100</b> again becomes active and resumes the subscription. Whereas in JMS™ “not active” typically refers to a connection to a JMS™ server that is severed, in accordance with the present invention a subscriber is considered to be “not active” with regard to an SIP session when the client fails to acknowledge the receipt of a NOTIFY message. Server <b>104</b> may retain the messages until subscriber <b>100</b> acknowledges receipt of the messages, or until the subscription expires. If additional messages associated with entity <b>106</b> are published while subscriber <b>100</b> is not active, server <b>104</b> preferably stores the messages and does not attempt to send the messages to subscriber <b>100</b>. Subscriber <b>100</b> may again become active by resuming the subscription, such as by sending a SUBSCRIBE message for entity <b>106</b>. If subscriber <b>100</b> resumes the subscription before it expires, server <b>104</b> preferably sends all the stored messages that were stored to subscriber <b>100</b>. The stored messages may be sent one by one using NOTIFY messages. Preferably, only after subscriber <b>100</b> acknowledges the receipt of the NOTIFY message is the message removed from the buffer of messages waiting to be sent to subscriber <b>100</b>.
0024Since SIP allows subscriptions to have distant expiration dates, a time limit may be placed on the life of a durable subscription, such as to avoid overflow of stored messages at server <b>104</b>. For example, whereas the SIP protocol definition does not put any limit on the expiration period, server <b>104</b> may be configured to have a limit on the expiration of durable subscriptions.
0025It is appreciated that the present invention will allow SIP applications to implement publish/subscribe messaging for stateless events at the server while supporting durable subscriptions.
0026It is appreciated that one or more of the steps of any of the methods described herein may be omitted or carried out in a different order than that shown, without departing from the true spirit and scope of the invention.
0027While the methods and apparatus disclosed herein may or may not have been described with reference to specific computer hardware or software, it is appreciated that the methods and apparatus described herein may be readily implemented in computer hardware or software using conventional techniques.
0028While the present invention has been described with reference to one or more specific embodiments, the description is intended to be illustrative of the invention as a whole and is not to be construed as limiting the invention to the embodiments shown. It is appreciated that various modifications may occur to those skilled in the art that, while not specifically shown herein, are nevertheless within the true spirit and scope of the invention.
Contents4
5 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US10097622B1 | Cited by | United States of America | Search report |
| US2010088419A1 | Cited by | United States of America | Pre-grant |
| US2012284331A1 | Cited by | United States of America | Pre-grant |
| US9276969B2 | Cited by | United States of America | Applicant |
| US2011161382A1 | Cited by | United States of America | Pre-grant |
| US8639821B2 | Cited by | United States of America | Search report |
| US2010070607A1 | Cited by | United States of America | Pre-grant |
| US2004122896A1 | Cites | United States of America | Pre-grant |
| US2004128344A1 | Cites | United States of America | Pre-grant |
| US2004170158A1 | Cites | United States of America | Pre-grant |
| US2005083904A1 | Cites | United States of America | Pre-grant |
| US2005268146A1 | Cites | United States of America | Pre-grant |
| US2006067244A1 | Cites | United States of America | Pre-grant |
| US2007041402A1 | Cites | United States of America | Pre-grant |
| US2007130345A1 | Cites | United States of America | Pre-grant |
| US2007206620A1 | Cites | United States of America | Pre-grant |
| US2007208702A1 | Cites | United States of America | Pre-grant |
| US5175852A | Cites | United States of America | Pre-grant |
| US6256676B1 | Cites | United States of America | Pre-grant |
| US6405266B1 | Cites | United States of America | Pre-grant |
| US6549956B1 | Cites | United States of America | Pre-grant |
| US6553515B1 | Cites | United States of America | Pre-grant |
| US6557038B1 | Cites | United States of America | Pre-grant |
| US6625141B1 | Cites | United States of America | Pre-grant |
| US6738975B1 | Cites | United States of America | Pre-grant |
| US6751652B1 | Cites | United States of America | Pre-grant |
| US6779002B1 | Cites | United States of America | Pre-grant |
| US6813342B1 | Cites | United States of America | Pre-grant |
1 member in 1 office
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 42666906 | United States of America | A | |
| US20060426669 | – | – | – |
Members1
| Document | Office | Kind | |
|---|---|---|---|
| US2007299979A1 | United States of America | A1 |
37 transactions on the USPTO file
Abandoned after 2 non-final rejections and 1 final rejection.
- Non-final rejections
- 2
- Final rejections
- 1
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Email NotificationEML_NTR | EML_NTR | |
| Mail Abandonment for Failure to Respond to Office ActionAbandonedMABN2 | MABN2 | |
| Aband. for Failure to Respond to O. A.AbandonedABN2 | ABN2 | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Affidavit(s) (Rule 131 or 132) or Exhibit(s) ReceivedAF/D | AF/D | |
| Response after Non-Final ActionA... | A... | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Cleared by OIPE CSRL194 | L194 | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
3 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Information on status: application discontinuationABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTIONSTCB | STCB | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 20070299979
- Publication, DOCDB
- 2007299979
- Publication, EPODOC
- US2007299979
- Application
- 11426669
- Application, DOCDB
- 42666906
- Application, EPODOC
- US20060426669
Titles
- English
- STATELESS PUBLISH/SUBSCRIBE MESSAGING USING SIP
Classification
- CPC, 2
- G06Q10/00
- H04L65/1006
- IPC, 1
- G06F15 16
- USPC, 2
- 709230000
- 709227000