optimization of distributed, object-oriented systems (poster session)
Object-Oriented (OO) computing is fast becoming the de-facto standard for software development. Currently, many OO systems consist of a single, large object server and multiple client applications. Optimizations can be accomplished if these large monolithic servers are decomposed into numerous smaller object servers and spread across the network. Matching object servers to network assets isn't a trivial task. The more criteria one considers in determining an optimal assignment, the more complex the processing becomes. Complicating matters is the fact that many of these criteria are not fixed. Optimal deployment strategies for object servers can change given deviations in object servers, client applications, operational missions, hardware modifications, and various other changes to the environment. Once distributed object servers become more prevalent, there will be a need to optimize the deployment of object servers to best serve the end user's changing needs. Having the ability to generate object server deployment strategies would allow users to take full advantage of their network of computers. State of the art load balancing techniques consists of scheduling a given number of independent tasks to a set of machines. Object servers do not have independent tasks. All methods in an object are related. Also, the number of times a method is called is usually dependent on the interaction with the end user. Object servers, client applications, user inputs, and network resources can be profiled. A system of non-linear equations can be derived from these profiles. Solving this system of equations can produce more optimal deployment strategies for the object servers.
optimization distributed object load balancing