These are supported by inexpensive dedicated processing, and are naturally assigned to client workstations. The processing-related methods that perform tasks such as transaction processing, report generation, sorting, or other numerically intensive computations, represent additional distributable units. Use of methods as separate units raises some concerns, since the separation of methods from object instances across processors appears to threaten encapsulation. This can, however, be countered by making the class template aware of the distribution decision and ensuring that the class is able to invoke the method as required. To recap, this research focuses on fragments of objects and processing-related methods as distributable units, and processor types, separated by layers of networks, as the distribution platforms.
Several factors influence the assignment of distributable units to the distribution platforms.
These include the capability of the processor type to support the method, the cost of processing, storage costs, traffic volume across network layers, the ability to process methods in parallel, degree of replication, etc. Match represents how closely the processing requirements of instances and methods are met by different processor types. It represents a surrogate for processing costs, which can be minimized by assigning each unit to the most appropriate processor type. It consists of several dimensions including primary and secondary storage, support for concurrent users, security and reliability. Concurrency represents the potential of classes to participate concurrently in the execution of a transaction.