IP Library Granted Patent US 7,496,648
Granted Patent B2
US 7,496,648 · App. 10/691,764 · Granted Feb 24, 2009

Managed peer name resolution protocol (PNRP) interfaces for peer to peer networking

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,496,648
App. No.
10/691,764
Granted
Feb 24, 2009
Kind
B2
Abstract

The managed system and methods of the present invention are segmented into 3 main areas: Clouds, Registrations, and Resolvers. The cloud object provides information about the clouds that are available. If a could is available, the Registration object can be used to register endpoints with the P2P name resolution protocol. Finally, if an application developer wishes to resolve a peer name to an IP address, they simply use the resolver object. The clouds may be monitored for state changes in one embodiment of the present invention through a CloudWatcher object.

Claims (34)

1. A method of monitoring, by an application, peer-to-peer clouds in a managed framework, the method comprising:

creating a managed set of peer cloud class objects wherein each peer cloud class object of the managed set of peer cloud class objects contains a scope, a scope identification, a current state, a cloud name, and an indication of whether the cloud name is local;

creating a single managed peer-to-peer networking cloud interface object that:

exposes a set of at least three methods to a calling application for monitoring one or more peer-to-peer clouds, wherein the set of at least three methods are implemented in a set of objects separate and distinct from the single managed peer-to-peer networking cloud interface object, the calling application, and the managed set of peer cloud class objects, and wherein the set of at least three methods include:

a GetGlobalCloud method that outputs a default peer cloud class object from the managed set of peer cloud class objects, the default peer cloud class object corresponding to a default cloud for a node on which the calling application resides,

a GetClouds method that outputs a list of peer cloud class objects from the managed set of peer cloud class objects, the list of peer cloud class objects corresponding to a set of clouds on a peer-to-peer system on which the calling application resides, and

a CloudWatcher method that outputs an indication of a cloud state change on the peer-to-peer system; and

provides a CloudChanged event corresponding to the cloud state change, wherein the CloudChanged event identifies a cloud having the cloud state change and a cloud state change type, and wherein the CloudChanged event is raised when the cloud state change occurs;

selecting, by the calling application, one method from the set of at least three methods exposed by the single managed peer-to-peer networking cloud interface object;

communicating with the single managed peer-to-peer networking cloud interface object by the calling application;

passing, by the calling application to the single managed peer-to-peer networking cloud interface object, parameters required by the selected method; and

initiating the selected method.

2. The method of claim 1 , further comprising exposing a set of at least six current state values for the current state of each peer cloud class object, the set of at least six current state values including:

an UninitializedCloud value for indicating that a cloud corresponding to the each peer cloud class object is uninitialized,

a SynchronizingCloud value for indicating that the cloud is being initialized,

an ActiveCloud value for indicating that the cloud is active;

a DisabledCloud value for indicating that the cloud is disabled in a peer-to-peer registry,

a StandaloneCloud value for indicating that a local node on which the current application resides is an only node in the cloud, and

a ConnectionLostCloud value for indicating that the cloud is active and is unconnected to the peer-to-peer system.

3. The method of claim 1 , wherein:

selecting one method from the set of at least three methods comprises selecting the GetClouds method,

passing parameters required by the selected method comprises passing a scope parameter, and

initiating the selected method comprises initiating the GetClouds method, and the GetClouds method outputs the list of peer cloud class objects corresponding to a set of clouds of a scope corresponding to the scope parameter.

4. The method of claim 1 , wherein:

selecting one method from the set of at least three methods comprises selecting the GetClouds method,

passing parameters required by the selected method comprises passing no parameters, and

initiating the selected method comprises initiating the GetClouds method, and the GetClouds method outputs the list of peer cloud class objects corresponding to all clouds of the peer-to-peer system.

5. The method of claim 1 , wherein:

selecting one method from the set of at least three methods comprises selecting the CloudWatcher method, and

initiating the selected method comprises initiating the CloudWatcher method for a given scope, and the CloudWatcher method outputs an indication of at least one peer cloud class object from the managed set of peer cloud class objects, the cloud of the at least one peer cloud class object in the given scope and having the cloud change.

6. The method of claim 1 , further comprising exposing a set of cloud state change type values for the cloud state change type, the set of cloud state change type values including:

a CreatedCloud value for indicating that a new cloud has been created for the given scope,

a DeletedCloud value for indicating that a previously existing cloud has been deleted for the given scope, and

an UpdatedCloud value for indicating that a currently existing cloud of the given scope has been updated.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →