The present invention is directed to a system, method and software product
for balancing resource services are always available to match the desired
work to be done through the use of "sticky services.". Sticky services
are defined as services that you know you want to have available as
resources and as such they need to be present in the environment of
cooperative applications; it may be that you want these always present or
it may be that you want them present whenever certain conditions occur
(see NewWave policy service). The general assumption of distributed
systems is to not count on the environment you want being present, or put
another way assume failure will occur. Therefore distributed environments
like Jini assume all services are transient and will be garbage collected
when not in active use. For the inside out approach to work, a mechanism
should exist that, when desired, counters the transit design assumptions.
This implies that two things are needed: (1) a mechanism for providing
services as needed; (2) a mechanism for insuring the correct balance of
resource services are always available to match the desired work to be
done.