Processing fast and slow SOAP requests differently in a web service application of a multi-functional peripheral
First Claim
1. A method for processing different types of SOAP requests at a multi-functional peripheral (MFP), wherein the MFP comprises a plurality of service applications that each provides at least one service, the method comprising:
- receiving, at a service application of the plurality, a SOAP request from a client application;
determining whether a time required to process the SOAP request and data associated with the SOAP request is long enough to cause the client application to timeout;
if the time required to process the SOAP request and said data is not long enough to cause the client application to timeout, then processing the SOAP request as a request of a first type;
if the time required to process the SOAP request and said data is long enough to cause the client application to timeout, then processing the SOAP request as a request of a second type;
if the SOAP request is of the first type, then, without narrowing a transmission control protocol (TCP) window of a connection between the service application and the client application, placing the SOAP request in a first queue for subsequent handling and processing the SOAP request and said data;
if the SOAP request is of the second type, then;
determining whether a second queue that is different than the first queue is full;
if the second queue is full, then sending, to the client application, a response that indicates that the service application is presently unable to handle the SOAP request;
if the second queue is not full, then narrowing the TCP window and placing the SOAP request in the second queue for subsequent handling, and then, when the time required to process the SOAP request is no longer long enough to cause the client application to timeout, widening the TCP window and processing the SOAP request and said data.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are provided for efficiently processing SOAP requests at a Web service application (WSA) of a multi-functional device (MFP). In one technique, a WSA includes at least three threads. An external request processing thread processes SOAP requests from different client applications. A request processing thread processes a SOAP request according to the business logic of the WSA. A internal communications thread communicates with other components of the MFP that are distinct from the WSA. In another technique, a WSA processes different SOAP request differently, depending on the size of the SOAP and the resources required to process the SOAP request so that fast requests may be processed immediately while slow requests are pending. In another technique, a WS-Eventing specification is implemented within a WSA to simplify the event subscription and notification process.
52 Citations
30 Claims
-
1. A method for processing different types of SOAP requests at a multi-functional peripheral (MFP), wherein the MFP comprises a plurality of service applications that each provides at least one service, the method comprising:
-
receiving, at a service application of the plurality, a SOAP request from a client application; determining whether a time required to process the SOAP request and data associated with the SOAP request is long enough to cause the client application to timeout; if the time required to process the SOAP request and said data is not long enough to cause the client application to timeout, then processing the SOAP request as a request of a first type; if the time required to process the SOAP request and said data is long enough to cause the client application to timeout, then processing the SOAP request as a request of a second type; if the SOAP request is of the first type, then, without narrowing a transmission control protocol (TCP) window of a connection between the service application and the client application, placing the SOAP request in a first queue for subsequent handling and processing the SOAP request and said data; if the SOAP request is of the second type, then; determining whether a second queue that is different than the first queue is full; if the second queue is full, then sending, to the client application, a response that indicates that the service application is presently unable to handle the SOAP request; if the second queue is not full, then narrowing the TCP window and placing the SOAP request in the second queue for subsequent handling, and then, when the time required to process the SOAP request is no longer long enough to cause the client application to timeout, widening the TCP window and processing the SOAP request and said data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. One or more non-transitory machine-readable media for processing different types of SOAP requests at a multi-functional peripheral (MFP), wherein the MFP comprises a plurality of service applications that each provides at least one service, the non-transitory machine-readable medium storing instructions which, when processed by one or more processors, causes:
-
receiving, at a service application of the plurality, a SOAP request from a client application; determining whether a time required to process the SOAP request and data associated with the SOAP request is long enough to cause the client application to timeout; if the time required to process the SOAP request is not long enough to cause the client application to timeout, then processing the SOAP request as a request of a first type; if the time required to process the SOAP request is long enough to cause the client application to timeout, then processing the SOAP request as a request of a second type; if the SOAP request is of the first type, then, without narrowing a transmission control protocol (TCP) window of a connection between the service application and the client application, placing the SOAP request in a first queue for subsequent handling and processing the SOAP request and said data; if the SOAP request is of the second type, then; determining whether a second queue that is different than the first queue is full; if the second queue is full, then sending, to the client application, a response that indicates that the service application is presently unable to handle the SOAP request; if the second queue is not full, then narrowing the TCP window and placing the SOAP request in the second queue for subsequent handling, and then, when the time required to process the SOAP request is no longer long enough to cause the client application to timeout, widening the TCP window and processing the SOAP request and said data. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A multi-functional peripheral (MFP) for processing different types of SOAP requests at the MFP, wherein the MFP comprises one or more processors and a plurality of service applications that each provides at least one service, the MFP being configured to:
-
receive, at a service application of the plurality, a SOAP request from a client application; determine whether a time required to process the SOAP request and data associated with the SOAP request is long enough to cause the client application to timeout; if the time required to process the SOAP request is not long enough to cause the client application to timeout, then process the SOAP request as a request of a first type; if the time required to process the SOAP request is long enough to cause the client application to timeout, then process the SOAP request as a request of a second type; if the SOAP request is of the first type, then, without narrowing a transmission control protocol (TCP) window of the connection between the service application and the client application, placing the SOAP request in a first queue for subsequent handling and process the SOAP request and said data; if the SOAP request is of the second type, then; determining whether a second queue that is different than the first queue is full; if the second queue is full, then sending, to the client application, a response that indicates that the service application is presently unable to handle the SOAP request; if the second queue is not full, then narrowing the TCP window and placing the SOAP request in the second queue for subsequent handling, and then, when the time required to process the SOAP request is no longer long enough to cause the client application to timeout, widening the TCP window and processing the SOAP request and said data. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification