Implementing a web service application on a device with multiple threads
First Claim
1. A method for processing SOAP requests at a device, wherein the device comprises at least one service application that provides at least one service, the method comprising:
- generating, at the service application;
an external request processing thread that receives the SOAP requests and dispatches the SOAP requests to at least one other thread;
fast and slow request processing threads that process SOAP requests according to business logic of the service application; and
an internal communications thread that communicates with a component of the device that is distinct from the service application;
waiting for and receiving, by the external request processing thread, a SOAP request of the SOAP requests, wherein the SOAP request is for the service and from a client application;
determining, by the external request processing thread, whether the SOAP request is of a first type or of a second type;
if the SOAP request is of the first type, then placing, by the external request processing thread, the SOAP request in a first queue for subsequent handling by a fast request processing thread that is dedicated to handling SOAP requests of the first type; and
if the SOAP request is of the second type, then placing, by the external request processing thread, the SOAP request in a second queue for subsequent handling by a slow request processing thread that is dedicated to handling SOAP requests of the second type;
processing, by the fast or slow request processing thread, the SOAP request; and
based on the SOAP request, sending, by the internal communications thread, a request to the component.
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.
-
Citations
30 Claims
-
1. A method for processing SOAP requests at a device, wherein the device comprises at least one service application that provides at least one service, the method comprising:
-
generating, at the service application; an external request processing thread that receives the SOAP requests and dispatches the SOAP requests to at least one other thread; fast and slow request processing threads that process SOAP requests according to business logic of the service application; and an internal communications thread that communicates with a component of the device that is distinct from the service application; waiting for and receiving, by the external request processing thread, a SOAP request of the SOAP requests, wherein the SOAP request is for the service and from a client application; determining, by the external request processing thread, whether the SOAP request is of a first type or of a second type; if the SOAP request is of the first type, then placing, by the external request processing thread, the SOAP request in a first queue for subsequent handling by a fast request processing thread that is dedicated to handling SOAP requests of the first type; and if the SOAP request is of the second type, then placing, by the external request processing thread, the SOAP request in a second queue for subsequent handling by a slow request processing thread that is dedicated to handling SOAP requests of the second type; processing, by the fast or slow request processing thread, the SOAP request; and based on the SOAP request, sending, by the internal communications thread, a request to the component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A machine-readable storage medium for processing SOAP requests at a device, wherein the device comprises at least one service application that provides at least one service, the machine-readable storage medium carrying instructions which, when processed by one or more processors, causes:
-
generating, at the service application; an external request processing thread that receives the SOAP requests and dispatches the SOAP requests to at least one other thread; fast and slow request processing threads that process the SOAP requests according to business logic of the service application; and an internal communications thread that communicates with a component of the device that is distinct from the service application; waiting for and receiving, by the external request processing thread, a SOAP request of the SOAP requests, wherein the SOAP request is for the service and from a client application; determining, by the external request processing thread, whether the SOAP request is of a first type or of a second type; if the SOAP request is of the first type, then placing, by the external request processing thread, the SOAP request in a first queue for subsequent handling by a fast request processing thread that is dedicated to handling SOAP requests of the first type; and if the SOAP request is of the second type, then placing, by the external request processing thread, the SOAP request in a second queue for subsequent handling by a slow request processing thread that is dedicated to handling SOAP requests of the second type; processing, by the fast or slow request processing thread, the SOAP request; and based on the SOAP request, sending, by the internal communications thread, a request to the component. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A device for processing SOAP requests at the device, wherein the device comprises at least one service application that provides at least one service, the device being configured to:
-
generate, at the service application; an external request processing thread that receives the SOAP requests and dispatches the SOAP requests to at least one other thread; fast and slow request processing threads that process the SOAP requests according to business logic of the service application; and an internal communications thread that communicates with a component of the device that is distinct from the service application; cause the external request processing thread to wait for and receive a SOAP request of the SOAP requests, wherein the SOAP request is for the service and from a client application; cause the external request processing thread to determine whether the SOAP request is of a first type or of a second type; cause the external request processing thread to place the SOAP request in a first queue for subsequent handling by a fast request processing thread if the SOAP request is of the first type, wherein the fast request processing thread is dedicated to handling SOAP requests of the first type; and cause the external request processing thread to place the SOAP request in a second queue for subsequent handling by a slow request processing thread if the SOAP request is of the second type, wherein the slow request processing thread is dedicated to handling SOAP requests of the second type; cause the request processing thread to process the SOAP request; and cause the internal communications thread, based on the SOAP request, to send a request to the component. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification