Patent ID: 7930698

Claim:
A distributed document handling system for carrying out a job, where the job is a transformation of a document with an initial state to a document to be delivered in a different final state carried out by application services distributed over a network and where the job results in a product which is the document to be delivered in the different final state, the system comprising: a number of interconnected computer processing devices for providing a pool of application services, wherein the pool of application services is used to process the document to effectuate a change of state of the document; at least one application service having a location attribute and an attribute indicating if the service is able to migrate to another location or not; specifying means for entering by a user a job specification comprising product specifications specifying the product to be delivered by the job and specifications specifying circumstantial constraints without effect on the product in considering selection from the pool of services; determining means for determining a path of application services, a path comprising at least two application services, the services being selected from the pool of application services, wherein the path carries out the job in accordance with the product specifications, including taking into account if the at least one application service has an attribute indicating if the service is able to migrate to another location or not, wherein a security level of the job is a conditional constraint and wherein the determining means determines if migration of an at least one application service, having an attribute indicating if the service is able to migrate to another location, fulfills the security level, and further comprising means for, upon modification of the job specification, involving the determining means again for determining a path of services, based on the modified job specification, and wherein the determining means takes into account circumstantial constraints for that job but does not evaluate the circumstantial constraints if no paths are found to fulfill the user job specification.