IP Library Granted Patent US 8,271,657
Granted Patent B2
US 8,271,657 · App. 11/305,831 · Granted Sep 18, 2012

Systems and methods for selecting a transport mechanism for communication in a network

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,271,657
App. No.
11/305,831
Granted
Sep 18, 2012
Kind
B2
Abstract

A publisher node in a network determines how many subscriber nodes in the network have subscribed to receive notification messages about data that is maintained by the publisher node. The publisher node also determines how many available connections the publisher node is configured to support. If the number of available connections exceeds the number of subscribers, the publisher node sends the notification messages to the subscriber nodes via a connection-based protocol. If the number of subscriber nodes exceeds the number of available connections, the publisher node sends the notification messages to the subscriber nodes via multicast. If the publisher node sends the notification messages to the subscriber nodes via multicast, the publisher node may receive one or more connection requests from subscribers that may be depending on reliably receiving the notification messages from the publisher.

Claims (55)

1. A method for selecting an appropriate transport mechanism for communication in a network, the method being implemented by a publisher node in the network, the method comprising:

determining, by the publisher node, how many subscriber nodes in the network have subscribed to receive notification messages about data that is maintained by the publisher node;

determining, by the publisher node, how many available connections the publisher node is configured to support;

obtaining, by the publisher node, quality of service requirements from a plurality of the subscriber nodes indicating how important it is for the subscriber node to receive each notification message;

sending the notification messages to the subscriber nodes via a connection-based protocol when the number of available connections exceeds the number of subscriber nodes;

sending the notification messages to the subscriber nodes via multicast when the number of subscriber nodes exceeds the number of available connections;

sending the notification messages to a subset of the subscriber nodes via a connection-based protocol when the notification messages are sent to the subscriber nodes via multicast;

receiving a connection request from a requesting subscriber node when the publisher node sends the notification messages to the subscriber nodes via multicast; and

determining whether to accept the connection request.

2. The method of claim 1 , further comprising receiving at least one connection request from at least one requesting subscriber node when the publisher node sends the notification messages to the subscriber nodes via multicast.

3. The method of claim 1 , wherein determining whether to accept the connection request comprises:

determining whether the publisher node is configured to support at least one additional connection; and

accepting the connection request when the publisher node is configured to support at least one additional connection.

4. The method of claim 3 , wherein when the publisher node is not configured to support at least one additional connection, determining whether to accept the connection request comprises determining whether the requesting subscriber node's quality of service requirement is greater than at least one presently connected subscriber node's quality of service requirement.

5. The method of claim 4 , further comprising, when the requesting subscriber node's quality of service requirement is greater than at least one presently connected subscriber node's quality of service requirement:

terminating a current connection of a subscriber node that has a lower quality of service requirement than the requesting subscriber node; and

opening a connection to the requesting subscriber node.

6. The method of claim 5 , further comprising determining whether a connection already exists for the node that sent the connection request.

7. The method as in claim 6 , wherein the notification messages about data that is maintained by the publisher node comprises temperature data.

8. The method as in claim 6 , wherein the notification messages about data that is maintained by the publisher node comprises data about whether a door is open or closed.

9. The method of claim 1 , further comprising switching from sending the notification messages via the connection-based protocol to sending the notification messages via multicast when the number of subscriber nodes that request connections to the publisher node exceeds the number of available connections.

10. The method of claim 1 , wherein the network is a peer-to-peer network.

11. The method of claim 1 , wherein the connection-based protocol is TCP/IP.

12. The method of claim 1 , wherein the publisher node is an embedded system.

13. A publisher node that is configured for selecting an appropriate transport mechanism for communication in a network, the publisher node comprising:

a processor;

memory in electronic communication with the processor;

instructions stored in the memory, the instructions being executable to:

determine, by the publisher node, how many subscriber nodes in the network have subscribed to receive notification messages about data that is maintained by the publisher node;

determine, by the publisher node, how many available connections the publisher node is configured to support;

obtain, by the publisher node, quality of service requirements from a plurality of the subscriber nodes indicating how important it is for the subscriber node to receive each notification message;

send the notification messages to the subscriber nodes via a connection-based protocol when the number of available connections exceeds the number of subscriber nodes;

send the notification messages to the subscriber nodes via multicast when the number of subscriber nodes exceeds the number of available connections;

send the notification messages to a subset of the subscriber nodes via a connection-based protocol when the notification messages are sent to the subscriber nodes via multicast,

receive a connection request from a requesting subscriber node when the publisher node sends the notification messages to the subscriber nodes via multicast; and

determine whether to accept the connection request.

14. The publisher node of claim 13 , wherein the instructions are further executable to receive at least one connection request from at least one requesting subscriber node when the publisher node sends the notification messages to the subscriber nodes via multicast.

15. The publisher node of claim 13 , wherein the instructions executable to determine whether to accept the connection request comprise instructions executable to:

determine whether the publisher node is configured to support at least one additional connection; and

accept the connection request when the publisher node is configured to support at least one additional connection.

16. The publisher node of claim 15 , wherein when the publisher node is not configured to support at least one additional connection, the instructions executable to determine whether to accept the connection request comprise instructions executable to determine whether the requesting subscriber node's quality of service requirement is greater than at least one presently connected subscriber node's quality of service requirement.

17. A non-transitory computer storage medium comprising executable instructions for selecting an appropriate transport mechanism for communication in a network, the instructions being executed by a publisher node in the network, the instructions being executable to:

determine, by the publisher node, how many subscriber nodes in the network have subscribed to receive notification messages about data that is maintained by the publisher node;

determine, by the publisher node, how many available connections the publisher node is configured to support;

obtain, by the publisher node, quality of service requirements from a plurality of the subscriber nodes indicating how important it is for the subscriber node to receive each notification message;

send the notification messages to the subscriber nodes via a connection-based protocol when the number of available connections exceeds the number of subscriber nodes;

send the notification messages to the subscriber nodes via multicast when the number of subscriber nodes exceeds the number of available connections;

send the notification messages to a subset of the subscriber nodes via a connection-based protocol when the notification messages are sent to the subscriber nodes via multicast;

receive a connection request from a requesting subscriber node when the publisher node sends the notification messages to the subscriber nodes via multicast; and

determine whether to accept the connection request.

18. The non-transitory computer storage medium of claim 17 , wherein the instructions are further executable to receive at least one connection request from at least one requesting subscriber node when the publisher node sends the notification messages to the subscriber nodes via multicast.

19. The non-transitory computer storage medium of claim 17 , wherein instructions executable to determine whether to accept the connection request comprise instructions executable to:

determine whether the publisher node is configured to support at least one additional connection; and

accept the connection request when the publisher node is configured to support at least one additional connection.

20. The non-transitory computer storage medium of claim 19 , wherein when the publisher node is not configured to support at least one additional connection, the instructions executable to determine whether to accept the connection request comprise instructions executable to determine whether the requesting subscriber node's quality of service requirement is greater than at least one presently connected subscriber node's quality of service requirement.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2018
From: PANASONIC CORPORATION
To: SOVEREIGN PEAK VENTURES, LLC
Reel/Frame 047914/0675 →
MERGER Recorded Feb 13, 2012
From: PANASONIC ELECTRIC WORKS CO.,LTD.,
To: PANASONIC CORPORATION
Reel/Frame 027697/0525 →
CHANGE OF NAME Recorded Jan 28, 2009
From: MATSUSHITA ELECTRIC WORKS, LTD.
To: PANASONIC ELECTRIC WORKS CO., LTD.
Reel/Frame 022206/0574 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2006
From: EASTHAM, BRYANT
To: MATSUSHITA ELECTRIC WORKS, LTD.
Reel/Frame 017552/0207 →