Revision Summary Date Revision History Revision Class Comments 7/20/2007 0.1 MCPP Milestone 5 Initial Availability 9/28/2007 1.0 Major Updated and revised the technical content. 10/23/2007 1.0.1 Editorial Changed language and formatting in the technical content. 11/30/2007 1.0.2 Editorial Changed language and formatting in the technical content. 1/25/2008 1.1 Minor Clarified the meaning of the technical content. 3/14/2008 1.1.1 Editorial Changed language and formatting in the technical content. 5/16/2008 1.1.2 Editorial Changed language and formatting in the technical content. 6/20/2008 2.0 Major Updated and revised the technical content. 7/25/2008 3.0 Major Updated and revised the
technical content. 8/29/2008 3.1 Minor Clarified the meaning of the technical content. 10/24/2008 4.0 Updated and revised the technical content. 12/5/2008 4.1 Minor Clarified the meaning of the technical content. 1/16/2009 5.0 Major Updated and revised the technical content. 2/27/2009 6.0 Major Updated and revised the technical content. 4/10/2009 6.1 Minor Clarified the meaning of the technical content. 5/22/2009 6.1.1 Editorial Changed language and formatting in the technical content. 7/2/2009 6.1.2 Editorial Changed language and formatting in the technical content. 8/14/2009 6.1.3 Editorial Changed language and formatting in the technical content.
9/25/2009 6.2 Minor Clarified the meaning of the technical content. 11/6/2009 6.2.1 Editorial Changed language and formatting in the technical content. 12/18/2009 6.2.2 Editorial Changed language and formatting in the technical content. 1/29/2010 6.3 Minor Clarified the meaning of the technical content. 3/12/2010 6.3.1 Editorial Changed language and formatting in the technical content. 4/23/2010 6.3.2 Editorial Changed language and formatting in the technical content. 6/4/2010 7.0 Updated and revised the technical content. 7/16/2010 8.0 Major Updated and revised the technical content. 8/27/2010 8.0 None No changes to the meaning, language, or formatting
of the technical content. 10/8/2010 8.0 None No changes to the meaning, language, or formatting of the technical content. 11/19/2010 8.0 None No changes to the meaning, language, or formatting of the technical content. 1/7/2011 8.0 None No changes to the meaning, language, or formatting of the technical content. 2/11/2011 8.0 None No changes to the meaning, language, or formatting of the technical content. 3/25/2011 8.0 None No changes to the meaning, language, or formatting of the technical content. 5/6/2011 8.0 None No changes to the meaning, language, or formatting of the
technical content. 6/17/2011 8.1 Minor Clarified the meaning of the technical content. 9/23/2011 8.1 None No changes to the meaning, language, or formatting of the technical content. 12/16/2011 8.1 None No changes to the meaning, language, or formatting of the technical content. 3/30/2012 8.1 None No changes to the meaning, language, or formatting of the technical content. 7/12/2012 8.1 None No changes to the meaning, language, or formatting of the technical content. 10/25/2012 8.1 None No changes to the meaning, language, or formatting of the technical content. 1/31/2013 8.1 None No changes to the meaning,
Relationship to Other Protocols This protocol is a .NET Remoting-based protocol, using the .NET Remoting Protocol, as specified in as a transport. Additionally, this protocol extends the .NET Remoting Protocol, adding new methods for activation and lifetime management. The protocol layering of the related protocols is as follows. Figure 6: NRLS protocol Prerequisites/Preconditions This protocol layers on top of the .NET Remoting Protocol and, as a result, has the prerequisites specified in . In addition, for a CAO, the client application must be configured with enough information about the Server Type to construct the activation message. Applicability Statement The protocol described in this specification is applicable to of the .NET Remoting Protocol, as specified in in environments that require distributed activation and lifetime management of Server Objects. CAOs require a server to maintain references to each client object created, which might not scale to large numbers of clients. The Sponsor mechanism requires that references be maintained from each server to all registered Sponsors. In addition, the server has to individually contact each client with a Sponsor, which does not scale for large numbers of clients holding Sponsors. Versioning and Capability Negotiation This protocol has no versioning or capability negotiation. Vendor-Extensible Fields This protocol has no vendor-extensible fields. Standards Assignments There are no standards assignments made by this protocol.
Sponsor Info Sponsor Info contains the following information about a Sponsor: Proxy: A Proxy to a Sponsor that was registered by a client. RenewalTime: The TimeSpan value that was passed when the Sponsor was registered. Lease Data Lease data extends the Server Object Table defined in section 3.2.1. Lease Data is associated with the Lease Object of a Server Object. Lease Data contains the following values: InitialLeaseTime: The initial TTL of a Server Object when it is marshaled. RenewOnCallTime: The duration by which to extend the TTL when a method is called in the associated Server Object. SponsorshipTimeout: The duration to wait for a Sponsor to respond. CurrentState: A that indicates the current state of the Lease Object. SponsorList: A list of Sponsor Info. The list is sorted in decreasing order of the Sponsor Info's RenewalTime field values. Timers Lease TTL Timer: Tracks the TTL of a Server Object. Each Lease Object is associated with a Lease TTL Timer that fires when its TTL expires. Sponsorship Timer: Tracks the duration of each Renewal call to a Sponsor. Initialization An implementation MUST set the initial values of InitialLeaseTime, RenewOnCallTime and SponsorshipTimeout to a nonzero positive value. The initial value of the CurrentState MUST be Initial.<10> Message Processing Events and Sequencing Rules This interface includes the following methods. Method Description Increases the TTL by the specified amount. Registers the specified Sponsor in a Lease Object's SponsorList. Two forms of this method exist. Unregisters a Sponsor from the Lease Object's SponsorTable.
Index A Abstract data model 18 22 29 20 19 33 37 13 14 C 33 33 41 13 48 8 14 14 16 16 15 12 D Data - abstract 18 22 29 20 14 E Examples 33 33 42 33 41 F 31 13 31 44 G 27 27 25 26 26 21 6 I IActivator 18 19 19 20 19 18 19 20 19 ILease 22 22 29 22 21 22 28 22 43 42 43 8 Initialization 19 22 29 21 6 ISponsor 29 29 30 29 29 29 30 29 L 28 16 9 Local events 20 29 30 21 M MarshalByRefObject 20 21 21 21 20 21