Managing parallel requests in a communications environment supporting serial and parallel request handlers
First Claim
1. A method performed by a computer system for managing parallel processing of requests in a Session Initiation Protocol (SIP) communications environment including devices that support either parallel or serial processing of requests, comprising:
- enqueing a request message that is to be sent to a recipient computing device,the request message containing a conversation identifier but without specifying or requesting parallel processing of request messages;
sending the request message to the recipient computing device;
receiving a response from the recipient computing device;
determining from the received response whether it contains the conversation identifier;
if the received response contains the conversation identifier, determining that the recipient computing device supports parallel processing of request messages; and
if the received response does not contain the conversation identifier, determining that the recipient computing device supports serial processing of request messages;
if the recipient supports parallel processing of request messages, sending subsequent request messages to the recipient computing device without awaiting a response to a previously sent request message; and
if the recipient supports serial processing of request messages, sending a subsequent request message to the recipient computing device after receiving a response to a previously sent request message;
wherein request messages and received responses are exchanged using SIP.
2 Assignments
0 Petitions
Accused Products
Abstract
A facility is described for managing parallel requests in a communications environment having devices or applications (“request handlers”) that support serial and parallel message processing. In various embodiments, the facility receives messages directed to a recipient from an application and sends a first message to the recipient without sending subsequently received messages to the recipient. Upon receiving a response from the recipient to the first message, the facility determines whether the recipient supports parallel or serial message processing. When the recipient supports parallel message processing, the facility sends the subsequently received messages to the recipient without awaiting a response to a message before sending another message. When the recipient supports serial message processing, the facility sends a subsequent message after receiving a response to a previously sent message.
58 Citations
16 Claims
-
1. A method performed by a computer system for managing parallel processing of requests in a Session Initiation Protocol (SIP) communications environment including devices that support either parallel or serial processing of requests, comprising:
-
enqueing a request message that is to be sent to a recipient computing device, the request message containing a conversation identifier but without specifying or requesting parallel processing of request messages; sending the request message to the recipient computing device; receiving a response from the recipient computing device; determining from the received response whether it contains the conversation identifier; if the received response contains the conversation identifier, determining that the recipient computing device supports parallel processing of request messages; and if the received response does not contain the conversation identifier, determining that the recipient computing device supports serial processing of request messages; if the recipient supports parallel processing of request messages, sending subsequent request messages to the recipient computing device without awaiting a response to a previously sent request message; and if the recipient supports serial processing of request messages, sending a subsequent request message to the recipient computing device after receiving a response to a previously sent request message; wherein request messages and received responses are exchanged using SIP. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer system having a processor and memory for managing parallel requests in a Session Initiation Protocol (SIP) communications environment including request processors that support either parallel or serial processing of requests, comprising:
-
a message queue component that stores request messages that are to be sent to a recipient endpoint, the request messages containing a header field indicating a conversation identifier and a indicating a recipient for the request messages; a correspondence table component that associates the conversation identifier and recipient for each request message; a target state list component that stores a state for each request message recipient; and an application program interface component that receives a request, creates a message, associates the request message with a conversation identifier, wherein the request message does not specify or request parallel processing of request messages, stores the request message in the message queue, sends the request message to the recipient, stores in the correspondence table an association between the conversation identifier and recipient indicated for the request message, receives from the recipient a response to the request message, determines from the received response whether it contains the conversation identifier;
if the received response contains the conversation identifier, determines from the conversation identifier of the received response that the recipient supports parallel processing of request messages;
if the received response does not contain the conversation identifier, determines that the recipient supports serial processing of request messages;
stores in the target state list a state indicating whether the recipient supports parallel or serial processing of request messages;
if the recipient supports parallel processing of request messages, sends subsequent messages to the recipient without awaiting a response to a previously sent request message; and
if the recipient supports serial processing of request messages, sends subsequent request messages after receiving a response to a previously sent request message, wherein request messages and received responses are exchanged using SIP. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer-readable storage medium encoded with computer-executable instructions that cause a computer processor in a Session Initiation Protocol (SIP) communications environment supporting serial and parallel request processors to perform a method comprising:
-
receiving from an application request messages directed to a recipient wherein the request messages contain a conversation identifier but do not specify or request parallel processing of request messages; sending to the recipient without a first request message without sending to the recipient request messages subsequently received from the application; upon receiving a response from the recipient to the first message, determining by the sender of the first request message whether the received response contains the conversation identifier; if the received response contains the conversation identifier, determining from the conversation identifier of the received response that the recipient supports parallel processing of request messages; if the received response does not contain the conversation identifier, determining that the recipient supports serial processing of request messages; if the recipient supports parallel processing of request messages, sending subsequently received request messages to the recipient without awaiting a response to a previously sent request message before sending another request message; and if the recipient supports serial processing of request messages, sending a subsequent request message after receiving a response to a previously sent request message wherein request messages and received responses are exchanged using SIP. - View Dependent Claims (14, 15, 16)
-
Specification