Multi-threaded device and facility manager
First Claim
1. A computer-implemented method for implementing a web services device profile specification, the method comprising:
- executing, on a device, a plurality of concurrently executing threads which collectively implement functionality that is specified by the web services device profile specification;
wherein the device comprises at least two of;
(a) an image-scanning web services application, (b) a printing web services application, and (c) a fax web services application.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are provided for implementing the WS-DeviceProfile standard as a multi-threaded process (“DFM”) executing on a multi-function peripheral (“MFP”). The DFM takes care of the discovery of devices and services on a network. The DFM also acts as a facility manager. The DFM implements various web services in a single component that applications can re-use. The DFM insulates these applications from some of the more complex details of the web services that the DFM implements. The MFP may comprise several different applications, each with a different specialized function. Each of these applications uses the web services provided by the DFM. The multi-threaded nature of the DFM permits new services to be added to the MFP dynamically. The threads can handle separate tasks concurrently. For example, one thread can handle communications with processes outside the MFP, while another thread can simultaneously handle communications with processes and applications inside the MFP.
61 Citations
20 Claims
-
1. A computer-implemented method for implementing a web services device profile specification, the method comprising:
-
executing, on a device, a plurality of concurrently executing threads which collectively implement functionality that is specified by the web services device profile specification; wherein the device comprises at least two of;
(a) an image-scanning web services application, (b) a printing web services application, and (c) a fax web services application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer-implemented method comprising:
-
executing, on a particular device, a multi-threaded process that includes two or more concurrently executing threads, said threads including; at least one thread that broadcasts, over a network, information that indicates the particular device'"'"'s presence on the network; at least one thread that listens, on the network, for information that indicates presences of other devices on the network; at least one thread that handles communications with processes that execute on the particular device, but that does not handle any communications with any processes that do not execute on the particular device; at least one thread that handles communications with processes that do not execute on the particular device, but that does not handle any communications with any processes that execute on the particular device; at least one thread that detects changes to the particular device and responsively updates metadata that indicates services that are offered by the particular device; at least one thread that broadcasts, over the network, information that indicates that the particular device currently offers a web service that the particular device did not previously offer; and at least one thread that broadcasts, over the network, information that indicates that the particular device no longer offers a web service that the particular device previously offered. - View Dependent Claims (17, 18)
-
-
19. A machine-readable medium carrying instructions which, when processed by one or more processors, cause the one or more processors to perform steps comprising:
-
executing, on a device, a plurality of concurrently executing threads which collectively implement functionality that is specified by a web services device profile specification; wherein the device comprises at least two of;
(a) an image-scanning module, (b) a printing module, and (c) a fax module.
-
-
20. A particular device executing a multi-threaded process that includes two or more mechanisms that perform, simultaneously with each other, operations from a set of operations, said set of operations including:
-
broadcasting, over a network, information that indicates the particular device'"'"'s presence on the network; listening, on the network, for information that indicates presences of other devices on the network; handling communications with processes that execute on the particular device; handling communications with processes that do not execute on the particular device; detecting changes to the particular device and responsively updating metadata that indicates services that are offered by the particular device; broadcasting, over the network, information that indicates that the particular device currently offers a web service that the particular device did not previously offer; and broadcasting, over the network, information that indicates that the particular device no longer offers a web service that the particular device previously offered.
-
Specification