IP Library Granted Patent US 8,364,847
Granted Patent B2
US 8,364,847 · App. 12/050,027 · Granted Jan 29, 2013

Address management in a connectivity platform

Inventors: Dmitry Anipko (Bellevue, WA); David G. Thaler (Redmond, WA); Deepak Bansal (Redmond, WA); Benjamin M. Schultz (Kirkland, WA); Rajesh Sundaram (Redmond, WA)
Assignee: Microsoft Corporation
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 8,364,847
App. No.
12/050,027
Granted
Jan 29, 2013
Kind
B2
Abstract

Disclosed are an approach form managing and assigning addresses in a connectivity platform that allows for proprietary connectivity modules (Providers) to plug into the operating system. In this disclosure, when a user/application/computing device, connects to another user on another computing device an address is generated for that user. However, because of a limited number of addresses that are available in an address space, it is necessary to ensure that a conflicting address is not present. To ensure this the connectivity platform determines if the address assigned is in conflict with another address associated with users that are located on the other computing devices. If an address is found to be in conflict the connectivity platform reassigns the address until a non-conflicting address is found. If a non-conflicting address cannot be found the connectivity platform blocks the connection between the user and the other user.

Claims (53)

1. A method, comprising:

initiating through a first provider a connection from a first user on a connectivity platform to a second user, the first user associated with a first user address;

generating a new first user address for the first user responsive to determining that one or more addresses associated with the second user are the same as the first user address;

initiating through a second provider a connection from the first user to a third user, the second provider not the same as the first provider;

generating a second new first user address for the first user responsive to determining that one or more addresses associated with the third user are the same as the first user address; and

denying connectivity between the first user and the second user and between the first user and the third user responsive to determining that one or more addresses associated with the third user are in conflict with one or more addresses associated with the second user.

2. The method of claim 1 , comprising:

initiating through a third provider a connection from the first user to a fourth user; and

generating a third new first user address for the first user responsive to determining that one or more addresses associated with the fourth user are the same as a user address of the first user.

3. The method of claim 2 , the third provider not the same as the first provider.

4. The method of claim 1 , the one or more addresses associated with the second user comprising addresses for users connected to the second user and an address of the second user, and the one or more addresses associated with the third user comprising addresses for users connected to the third user and an address of the third user.

5. The method of claim 1 , the one or more addresses associated with the second user comprising at least one of at least one address for at least one user connected to the second user or at least one address of the second user, and the one or more addresses associated with the third user comprising at least one of at least one address for at least one user connected to the third user or at least one address of the third user.

6. The method of claim 1 , comprising:

receiving a request for connectivity from a remote user through the first provider, the request including at least a remote user address; and

denying connectivity between the first user and the remote user responsive to determining that the remote user address is in conflict with one or more addresses associated with the first user.

7. The method of claim 1 , generating the new first user address comprising randomly generating the new first user address from a protocol module connected to the connectivity platform.

8. The method of claim 1 , comprising:

identifying addresses of users connected to the second user; and

comparing the identified addresses with a user address of the first user to determine whether one or more addresses associated with the second user are the same as the user address of the first user.

9. The method of claim 1 , comprising:

generating a fourth user address for a fourth user; and

generating a new fourth user address for the fourth user responsive to determining that the fourth user address is in conflict with a user address of the first user.

10. The method of claim 9 , comprising generating a second new fourth user address for the fourth user responsive to determining that the fourth user address is in conflict with one or more user addresses associated with the first user.

11. A computer storage memory comprising instructions that when executed perform a method, comprising:

initiating through a first provider a connection from a first user on a connectivity platform to a second user, the first user associated with a first user address;

generating a new first user address for the first user responsive to determining that one or more addresses associated with the second user are the same as the first user address;

initiating through a second provider a connection from the first user to a third user, the second provider not the same as the first provider;

generating a second new first user address for the first user responsive to determining that one or more addresses associated with the third user are the same as a user address of the first user; and

denying connectivity between the first user and at least one of the second user or the third user responsive to determining that one or more addresses associated with the third user are in conflict with one or more addresses associated with the second user.

12. The computer storage memory of claim 11 , the one or more addresses associated with the second user comprising at least one of at least one address for at least one user connected to the second user or at least one address of the second user, and the one or more addresses associated with the third user comprising at least one of at least one address for at least one user connected to the third user or at least one address of the third user.

13. The computer storage memory of claim 11 , the method comprising initiating through a third provider a connection from the first user to a fourth user, the third provider not the same as the first provider.

14. The computer storage memory of claim 11 , the method comprising:

generating a fourth user address for a fourth user; and

generating a new fourth user address for the fourth user responsive to determining that the fourth user address is in conflict with the user address of the first user.

15. A system comprising:

one or more processing units; and

memory comprising instructions that when executed by at least some of the one or more processing units, perform a method, comprising:

initiating through a first provider a connection from a first user on a connectivity platform to a second user, the first user associated with a first user address;

generating a new first user address for the first user responsive to determining that one or more addresses associated with the second user are the same as the first user address;

initiating through a second provider a connection from the first user to a third user, the second provider not the same as the first provider;

generating a second new first user address for the first user responsive to determining that one or more addresses associated with the third user are the same as a user address of the first user; and

denying connectivity between the first user and at least one of the second user or the third user responsive to determining that one or more addresses associated with the third user are in conflict with one or more addresses associated with the second user.

16. The system of claim 15 , the one or more addresses associated with the second user comprising at least one of at least one address for at least one user connected to the second user or at least one address of the second user, and the one or more addresses associated with the third user comprising at least one of at least one address for at least one user connected to the third user or at least one address of the third user.

17. The system of claim 15 , the method comprising:

receiving a request for connectivity from a remote user through the first provider, the request including at least a remote user address; and

denying connectivity between the first user and the remote user responsive to determining that the remote user address is in conflict with one or more addresses associated with the first user.

18. The system of claim 15 , generating the new first user address comprising randomly generating the new first user address from a protocol module connected to the connectivity platform.

19. The system of claim 15 , the method comprising:

identifying addresses of users connected to the second user; and

comparing the identified addresses with the user address of the first user to determine whether one or more addresses associated with the second user are the same as the user address of the first user.

20. The system of claim 15 , the method comprising:

generating a fourth user address for a fourth user; and

generating a new fourth user address for the fourth user responsive to determining that the fourth user address is in conflict with the user address of the first user.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2008
From: ANIPKO, DMITRY; THALER, DAVID G.; BANSAL, DEEPAK; SCHULTZ, BENJAMIN M.; SUNDARAM, RAJESH
To: MICROSOFT CORPORATION
Reel/Frame 020737/0249 →
Continuity (2)
Continuation In Part 12040330 · Feb 29, 2008
Related Publication 20090222559A1 · Sep 3, 2009