A method for managing inter-object communication is provided. With the
method, objects obtain licenses to interact with one another via a
licensing framework. When an object wishes to enter into an interaction
with another object, the first object sends its license to the second
object. The second object then sends a request to the framework
requesting that a partnership between the objects be generated. The
partnership request includes an identification of the two objects'
licenses. The objects' licenses are then validated and, assuming the
licenses are valid, a partnership object is created. References to the
partnership object are forwarded to the objects which then use the
reference to the partnership object to communicate with the other object
in the partnership rather than a direct reference to the other partner
object. When one object of the partnership lapses, by failure of a module
with which the object is associated, for example, a lapse event is posted
to the licensing framework. In response to the lapse event, the licensing
framework determines the partnerships of the lapsed object. The partner
objects of the partnerships in which the lapsed object was active are
identified and informed of the lapse of the object. The partnership
objects are then torn down and resources reclaimed.