In layman's terms, Coign takes an single-computer application, as shipped on a CD, watches how you use it, then divides it to run simultaneously on two computers to improve its performance. Given either a non-distributed or distributed application built from COM components, Coign will automatically create a new distributed version of the application. Later at execution time, Coign uses the ICC model to partition the application into client and server components and distribute the components across a network to reduce total communication costs. Coign is language independent. Coign was part of the Millennium Project at Microsoft Research , a project to develop distributed systems that provide a new level of abstraction for application programmers and users, managing machines and network connections for the programmer in the same way that operating systems today manage pages of memory and disk sectors.
Users access the application from their PCs.
The application manipulates data stored on a server. To economize development time, you build the application from a number of prefabricated software components. Using known techniques, you can readily connect the components to create your custom application. Difficulties arise when you must partition components between host computers. Components can reside on the user's PC, the centralized server, or possibly a departmental compute server.