IP Library Granted Patent US 7,577,150
Granted Patent B2
US 7,577,150 · App. 10/986,297 · Granted Aug 18, 2009

Peer discovery

Assignee: Avaya, Inc.
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,577,150
App. No.
10/986,297
Granted
Aug 18, 2009
Kind
B2
Abstract

Upon initial connection of a peer to a peer-to-peer network, the peer notifies other peers of its connection to the network. The peer receives existence notifications from other peers and may use them to create a list of the peers on the network, which may be sorted by the unique identifiers of each peer. A prospective network address is selected, e.g. based on the ordinal position of the peer within the sorted list. Conflict checking resolves conflicts between the prospective network address and the network address of other peers. Each peer may periodically notify the other peers of its network address, e.g. to prevent new peers from claiming the address. When a peer becomes inactive, another peer detecting this may begin periodically notifying the remaining peers that the address of the disconnected peer is already claimed. Peers may be Voice-over-IP telephone sets and network addresses may be directory numbers.

Claims (102)

1. At one network peer of a plurality of network peers, a method comprising:

sending an existence notification;

receiving one or more active peer existence notifications from one or more other active network peers currently connected to the network;

receiving from one or more active network peers one or more inactive peer existence notifications concerning one or more inactive network peers previously connected to the network but not currently connected to the network; and

based on the received active and inactive existence notifications, selecting a prospective network address for said one network peer.

2. The method of claim 1 wherein each existence notification includes a unique network peer identifier.

3. The method of claim 2 wherein said unique network peer identifier is a hardware address.

4. The method of claim 2 wherein said selecting is based on each said unique network peer identifier.

5. At one network device of a plurality of network devices, a method comprising:

sending an existence notification;

receiving one or more existence notifications from one or more other network devices; and

based on the received existence notifications, selecting a prospective network address for said one network device,

wherein each existence notification includes a unique network device identifier, and

wherein said selecting comprises:

sorting each said unique network device identifier of said other network devices along with a unique identifier of said one network device, said sorting resulting in a sorted list of said plurality of network devices;

determining an ordinal position of said one network device within the sorted list; and

from said ordinal position, creating said prospective network address.

6. The method of claim 5 wherein said creating a prospective network address comprises adding an offset associated with said ordinal position to a base address.

7. The method of claim 1 wherein said sending an existence notification comprises sending a network connection message.

8. The method of claim 7 wherein said sending a network connection message comprises sending two or more instances of said message at either of a fixed time interval or a random time interval.

9. The method of claim 1 wherein said sending comprises multicasting.

10. The method of claim 1 further comprising:

determining whether a conflict exists between said prospective network address and a network address claimed by any of said other network peers; and

if a conflict exists, resolving said conflict so that said prospective network address is claimed by only one of said plurality of network peers.

11. The method of claim 10 wherein said received existence notifications include an indication of network addresses claimed by said other network peers.

12. The method of claim 11 wherein said determining whether a conflict exists comprises establishing whether said network addresses claimed by said other network peers include said prospective network address.

13. The method of claim 12 wherein, if said establishing establishes that said network addresses of said other network peers include said prospective network address, said resolving comprises selecting a new prospective network address for said one network peer and repeating said determining whether a conflict exists for said new prospective network address.

14. The method of claim 12 wherein said determining whether a conflict exists further comprises, if said establishing establishes that said network addresses of said other network peers do not include said prospective network address, notifying each of said other network peers of said prospective network address and awaiting receipt of any objections from any of said other network peers to the claiming by said one network peer of said prospective network address.

15. The method of claim 14 further comprising, if said one network peer fails to receive an objection from any of said other network peers to the claiming by said one network peer of said prospective network address, claiming said prospective network address as the network address of said one network peer.

16. The method of claim 14 wherein, if said one network peer receives an objection from any of said other network peers to the claiming by said one network peer of said prospective network address, said resolving comprises selecting a new prospective network address for said one network peer and repeating said determining whether a conflict exists for said new prospective network address.

17. The method of claim 16 further comprising applying a network address conflict resolution scheme upon receiving said objection and wherein said selecting a new prospective address is conditional upon a determination by said network address resolution scheme that said one network peer should not claim said network address.

18. The method of claim 17 wherein said network address conflict resolution scheme is a comparison of a unique identifier of said one network peer and the unique identifier of another network peer on behalf of which said objection was sent.

19. The method of claim 1 wherein said network address is a directory number.

20. The method of claim 19 wherein said directory number is a telephone extension and wherein said network peer is a telephone set.

21. A network peer for use with one or more other network peers in a network, said network peer and said other network peers cumulatively forming a plurality of network peers, said network peer adapted to:

send an existence notification;

receive one or more active peer existence notifications from said other network peers currently connected to the network;

receive from one or more network peers currently connected to the network one or more inactive peer existence notifications concerning one or more network peers previously connected to the network but not currently connected to the network; and

based on the received active and inactive existence notifications, select a prospective network address for said network device peer.

22. The network peer of claim 21 wherein each existence notification includes a unique network peer identifier.

23. The network peer of claim 22 wherein said unique network peer identifier is a hardware address.

24. The network peer of claim 22 wherein said selecting is based on each said unique network device peer identifier.

25. A network device for use with one or more other network devices, said network device and said other network devices cumulatively forming a plurality of network devices, said network device adapted to:

send an existence notification;

receive one or more existence notifications from said other network devices; and

based on the received existence notifications, select a prospective network address for said network device,

wherein each existence notification includes a unique network device identifier, and

wherein said selecting comprises:

sorting each said unique network device identifier of said other network devices along with a unique identifier of said network device, said sorting resulting in a sorted list of said plurality of network devices;

determining an ordinal position of said network device within the sorted list; and

from said ordinal position, creating said prospective network address.

26. The network device of claim 25 wherein said creating a prospective network address comprises adding an offset associated with said ordinal position to a base address.

27. The network peer of claim 21 wherein said sending an existence notification comprises sending a network connection message.

28. The network peer of claim 27 wherein said sending a network connection message comprises sending two or more instances of said message at either of a fixed time interval or a random time interval.

29. The network peer of claim 21 wherein said sending comprises multicasting.

30. The network peer of claim 21 further adapted to:

determine whether a conflict exists between said prospective network address and a network address claimed by any of said other network peers; and

if a conflict exists, resolve said conflict so that said prospective network address is claimed by only one of said plurality of network peers.

31. The network peer of claim 30 wherein said received existence notifications include an indication of network addresses claimed by said other network peers.

32. The network peer of claim 31 wherein said determining whether a conflict exists comprises establishing whether said network addresses claimed by said other network peers include said prospective network address.

33. The network peer of claim 32 wherein, if said establishing establishes that said network addresses of said other network peers include said prospective network address, said resolving comprises selecting a new prospective network address for said network peer and repeating said determining whether a conflict exists for said new prospective network address.

34. The network peer of claim 32 wherein said determining whether a conflict exists further comprises, if said establishing establishes that said network addresses of said other network peers do not include said prospective network address, notifying each of said other network peers of said prospective network address and awaiting receipt of any objections from any of said other network peers to the claiming by said network peer of said prospective network address.

35. The network peer of claim 34 further adapted to, if said network peer fails to receive an objection from any of said other network peers to the claiming by said network peer of said prospective network address, claim said prospective network address as the network address of said network peer.

36. The network peer of claim 34 wherein, if said network peer receives an objection from any of said other network peers to the claiming by said network peer of said prospective network address, said resolving comprises selecting a new prospective network address for said network peer and repeating said determining whether a conflict exists for said new prospective network address.

37. The network peer of claim 36 further adapted to apply a network address conflict resolution scheme upon receiving said objection and wherein said selecting a new prospective address is conditional upon a determination by said network address resolution scheme that said network peer should not claim said network address.

38. The network peer of claim 37 wherein said network address conflict resolution scheme is a comparison of a unique identifier of said network peer and the unique identifier of another network peer on behalf of which said objection was sent.

39. The network peer of claim 21 wherein said network address is a directory number.

40. The network peer of claim 39 wherein said directory number is a telephone extension and wherein said network device is a telephone set.

41. A machine-readable medium including machine-executable code for execution at one network peer of a plurality of network peers, comprising:

machine-executable code for sending an existence notification;

machine-executable code for receiving one or more active peer existence notifications from one or more other active network peers currently connected to the network;

machine-executable code for receiving from one or more active network peers one or more inactive peer existence notifications concerning one or more inactive network peers previously connected to the network but not currently connected to the network; and

machine-executable code for selecting a prospective network address for said one network peer based on the received existence notifications.

42. The machine-readable medium of claim 41 wherein each existence notification includes a unique network peer identifier.

43. The machine-readable medium of claim 42 wherein said unique network peer identifier is a hardware address.

44. The machine-readable medium of claim 42 wherein said selecting is based on each said unique network device peer identifier.

45. A machine-readable medium including machine-executable code for execution at one network device of a plurality of network devices, comprising:

machine-executable code for sending an existence notification;

machine-executable code for receiving one or more existence notifications from one or more other network devices; and

machine-executable code for selecting a prospective network address for said one network device based on the received existence notifications,

wherein each existence notification includes a unique network device identifier, and

wherein said selecting comprises:

sorting each said unique network device identifier of said other network devices along with a unique identifier of said one network device, said sorting resulting in a sorted list of said plurality of network devices;

determining an ordinal position of said one network device within the sorted list; and

from said ordinal position, creating said prospective network address.

46. The machine-readable medium of claim 45 wherein said creating a prospective network address comprises adding an offset associated with said ordinal position to a base address.

47. The machine-readable medium of claim 41 wherein said sending an existence notification comprises sending a network connection message.

48. The machine-readable medium of claim 47 wherein said sending a network connection message comprises sending two or more instances of said message at either of a fixed time interval or a random time interval.

49. The machine-readable medium of claim 41 wherein said sending comprises multicasting.

50. The machine-readable medium of claim 41 further comprising:

machine-executable code for determining whether a conflict exists between said prospective network address and a network address claimed by any of said other network peers; and

machine-executable code for, if a conflict exists, resolving said conflict so that said prospective network address is claimed by only one of said plurality of network peers.

51. The machine-readable medium of claim 50 wherein said received existence notifications include an indication of network addresses claimed by said other network peers.

52. The machine-readable medium of claim 51 wherein said determining whether a conflict exists comprises establishing whether said network addresses claimed by said other network peers include said prospective network address.

53. The machine-readable medium of claim 52 wherein, if said establishing establishes that said network addresses of said other network peers include said prospective network address, said resolving comprises selecting a new prospective network address for said one network peer and repeating said determining whether a conflict exists for said new prospective network address.

54. The machine-readable medium of claim 52 wherein said determining whether a conflict exists further comprises, if said establishing establishes that said network addresses of said other network peers do not include said prospective network address, notifying each of said other network peers of said prospective network address and awaiting receipt of any objections from any of said other network peers to the claiming by said one network peer of said prospective network address.

55. The machine-readable medium of claim 54 further comprising machine-executable code for, if said one network peer fails to receive an objection from any of said other network peers to the claiming by said one network peer of said prospective network address, claiming said prospective network address as the network address of said one network peer.

56. The machine-readable medium of claim 54 wherein, if said one network peer receives an objection from any of said other network peers to the claiming by said one network peer of said prospective network address, said resolving comprises selecting a new prospective network address for said one network peer and repeating said determining whether a conflict exists for said new prospective network address.

57. The machine-readable medium of claim 56 further comprising machine-executable code for applying a network address conflict resolution scheme upon receiving said objection and wherein said selecting a new prospective address is conditional upon a determination by said network address resolution scheme that said one network peer should not claim said network address.

58. The machine-readable medium of claim 57 wherein said network address conflict resolution scheme is a comparison of a unique identifier of said one network peer and the unique identifier of another network peer on behalf of which said objection was sent.

59. The machine-readable medium of claim 41 wherein said network address is a directory number.

60. The machine-readable medium of claim 59 wherein said directory number is a telephone extension and wherein said network peer is a telephone set.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2026
From: AVAYA LLC
To: SIGNAL POINT NETWORKS, LLC
Reel/Frame 074909/0523 →
INTELLECTUAL PROPERTY PARTIAL RELEASE AND REASSIGNMENT Recorded Feb 4, 2026
From: CITIBANK, N.A.
To: AVAYA LLC (F/K/A AVAYA INC.); AVAYA MANAGEMENT L.P.
Reel/Frame 074944/0573 →
INTELLECTUAL PROPERTY PARTIAL RELEASE AND REASSIGNMENT Recorded Feb 4, 2026
From: WILMINGTON SAVINGS FUND SOCIETY, FSB
To: AVAYA LLC (F/K/A AVAYA INC.); AVAYA MANAGEMENT L.P.
Reel/Frame 074981/0940 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 045012/0666 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 025863/0535 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST, NA
To: AVAYA INC.
Reel/Frame 044892/0001 →
SECURITY AGREEMENT Recorded Mar 13, 2013
From: AVAYA, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE
Reel/Frame 030083/0639 →
SECURITY AGREEMENT Recorded Feb 22, 2011
From: AVAYA INC., A DELAWARE CORPORATION
To: BANK OF NEW YORK MELLON TRUST, NA, AS NOTES COLLATERAL AGENT, THE
Reel/Frame 025863/0535 →
MERGER Recorded Mar 17, 2006
From: NIMCAT NETWORKS INCORPORATED
To: AVAYA CANADA CORP.
Reel/Frame 017322/0265 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2005
From: POUSTCHI, BEHROUZ; STELZIG, JAMES ANDREW
To: NIMCAT NETWORKS INC.
Reel/Frame 016270/0914 →
Continuity (2)
Provisional Application 6051864600 · Nov 12, 2003
Related Publication 20050117525A1 · Jun 2, 2005