IP Library Granted Patent US 8,924,590
Granted Patent B2
US 8,924,590 · App. 11/353,548 · Granted Dec 30, 2014

System and method for communicating in a networked system

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,924,590
App. No.
11/353,548
Granted
Dec 30, 2014
Kind
B2
Abstract

There is provided a system and method for communicating in a networked system. More specifically, in one embodiment, there is provided a computer system comprising a plurality of endpoints, each of the endpoints being configured to transmit data messages to each of a plurality of other endpoints by transmitting data messages to only a respective subset of endpoints at any given time.

Claims (34)

1. A networked system comprising:

a plurality of all-to-all communication endpoints; and

a switch immediately coupled to each of the plurality of all-to-all communication endpoints through which a first endpoint of the plurality of all-to-all communication endpoints directly transmits a data message to each of a set of endpoints comprising all other of the plurality of all-to-all communication endpoints, wherein the data message is transmitted from the first endpoint to a first portion of a the set of endpoints after the first endpoint has transmitted a request-to-send to each of the first portion of the set of endpoints based upon a first logical location of the first portion of the set of endpoints and received an acknowledgment from to each of the first portion of the set of endpoints, wherein the data message is sequentially and subsequently transmitted from the first endpoint to a plurality of subsequent portions of the set of endpoints after the first endpoint has transmitted a request-to-send to each of the plurality of subsequent portions of the set of endpoints based upon a different logical location for each of the plurality of subsequent portions of the set of endpoints and received an acknowledgment from each of the plurality of subsequent portions of the set of endpoints, wherein each portion of set of endpoints includes two or more endpoints.

2. The networked system, as set forth in claim 1 , wherein the plurality of endpoints comprise a plurality of processors.

3. The networked system, as set forth in claim 1 , wherein the plurality of endpoints comprise a plurality of computers.

4. The networked system, as set forth in claim 1 , wherein the plurality of endpoints are arrayed in a logical structure and wherein each of the endpoints is configured to transmit data messages to the other endpoints in an order determined by each endpoint's location within the logical structure.

5. The networked system, as set forth in claim 3 , wherein the plurality of endpoints are arrayed in a circular logical structure and wherein each of the endpoints is configured to transmit data messages to the other endpoints in an order moving in a given direction around the circular logical structure.

6. The networked system, as set forth in claim 1 , wherein each of the endpoints is configured to transmit data messages related to an all-to-all communication amongst the plurality of endpoints.

7. The networked system, as set forth in claim 1 , wherein each of the endpoints is configured to transmit data messages that conform to a message passing interface protocol.

8. The networked system, as set forth in claim 1 , comprising a switch coupled to each of the plurality of endpoints by a plurality of connections.

9. A method comprising:

transmitting a first plurality of request-to-send messages from a first all-to-all communication endpoint, through a switch immediately coupled to each of a plurality of all-to-all communication endpoints, to a first portion of the plurality of endpoints based upon a first logical location of the first portion of the plurality of endpoints, wherein a number of transmitted request-to-send messages is greater than one and does not exceed a threshold number that is less than the total number of endpoints;

receiving an acknowledgment from one or more of the first portion of the plurality of endpoints in response to the transmitted request-to-send messages;

sending a data message from the first all-to-all communication endpoint, through the switch, directly to the one or more acknowledging endpoints of the first portion of the plurality of endpoints;

transmitting a sequential and subsequent plurality of request-to-send messages from the first all-to-all communication endpoint, through the switch, to a plurality of subsequent portions of the set of endpoints based upon a different logical location for each of the subsequent portions of the set of endpoints;

receiving an acknowledgment from each endpoint of the plurality of subsequent portions of the set of endpoints in response to the transmitted request-to-send messages; and

sending the data message from the first all-to-all communication endpoint, through the switch, directly to the each endpoint of the plurality of subsequent portions of the set of endpoints, wherein each portion of set of endpoints includes two or more endpoints.

10. The method, as set forth in claim 9 , wherein transmitting the request-to-send messages to the first portion of the plurality of endpoints comprises transmitting the request-to-send messages to a plurality of processors.

11. The method, as set forth in claim 9 , wherein transmitting the request-to-send messages comprises transmitting the request-to-send messages to the first portion of the plurality of endpoints, which are logically arrayed in a circular structure.

12. The method, as set forth in claim 11 , wherein transmitting the request-to-send messages comprises transmitting the request-to-send messages to the first portion of the plurality of endpoints in an order based on their location within the circular structure.

13. The method, as set forth in claim 9 , wherein a number of the second plurality of request-to-send messages transmitted messages does not exceed the threshold number, wherein the another plurality of request-to-send messages are transmitted after the data messages are sent to the acknowledging endpoints.

14. The method, as set forth in claim 9 , wherein transmitting the request-to-send messages comprises transmitting the request-to-send messages that conform to a message passing interface protocol.

15. A method comprising:

receiving from a first all-to-all communication endpoint, through a switch immediately coupled to each of a plurality of all-to-all communication endpoints, a first plurality of request-to-send messages associated with a first portion of the plurality of endpoints and based upon a first logical location of the first portion of the plurality of endpoints;

selecting a subset of the first portion of the plurality of endpoints, wherein the number of endpoints in the subset is greater than one and does not exceed a threshold level that is less than the number of endpoints in the plurality of endpoints;

sending acknowledgement messages from the first all-to-all communication endpoint, through the switch, directly to the subset of the first portion of the plurality of the endpoints;

receiving, from the first all-to-all communication endpoint, through the switch a sequential and subsequent plurality of request-to-send messages associated with a plurality of subsequent portions of the plurality of endpoints and based upon a different logical location for each of the subsequent portions of the set of endpoints;

selecting a subset of the subsequent portions of the set of endpoints; and

sending acknowledgement messages from the first all-to-all communication endpoint, through the switch, directly to the subset of the subsequent portion of the plurality of the endpoints, wherein each of the plurality of endpoints is sent an acknowledgement message.

16. The method, as set forth in claim 15 , comprising:

identifying the endpoints associated with the received request-to-send messages, wherein selecting the subset comprises selecting the subset of the first portion of the plurality of endpoints based on an attribute of the identified endpoints.

17. The method, as set forth in claim 16 , wherein selecting the subset of the first portion of the plurality of endpoints comprises selecting the subset based on each identified endpoint's location within a logical circular array of endpoints.

18. The method, as set forth in claim 15 , wherein selecting the subset of the first portion of the plurality of endpoints comprises selecting the subset of the first portion of the plurality of endpoints based on a stored endpoint order.

19. The method, as set forth in claim 15 , wherein receiving a plurality of request-to-send messages comprises receiving a plurality of request-to-send messages associated with a plurality of processors.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2021
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 058897/0262 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →