What is LeaseTime,SponsorshipTime ,RenewonCallTime and LeaseManagerPollTime?

In normal .NET environment objects lifetime is managed by garbage collector.But in
remoting environment remote clients can access objects which is out of control of garbage
collector.Garbage collector boundary is limited to a single PC on which framework is
running , any remote client across physical PC is out of control of GC (Garbage Collector).

This constraint of garbage collector leads to a new way of handling lifetime for remoting
objects , by using concept called as “LeaseTime”.Every server side object is assigned by
default a “LeaseTime” of five minutes.This leasetime is decreased at certain intervals.Again
for every method call a default of two minutes is assigned.When i say method call means
every call made from client.This is called as “RenewalOnCallTime”.

Let’s put the whole thing in equation to make the concept more clear.

Total Remoting object life time = LeaseTime + (Number of method calls) X (RenewalTime).
If we take NumberOfMethodCalls as one.
Then default Remote Object Life Time = 5 + (1) X 2 = 10 minutes (Everything is in minutes)


When total object lifetime is reduced to zero , it queries the sponsor that should the
object be destroyed.Sponsor is a object which decides should object Lifetime be
renewed.So it queries any registered sponsors with the object , if does not find any then
the object is marked for garbage collection.After this garbage collection has whole control
on the object lifetime.If we do not foresee how long a object will be needed specify the
“SponsorShipTimeOut” value. SponsorShipTimeOut is time unit a call to a sponsor is
timed out.

“LeaseManagerPollTime” defines the time the sponsor has to return a leasetime extension.