US 11,886,938 B2
Message communication between integrated computing devices
Deepak Goel, San Jose, CA (US); Mattheus C Heddes, Woodinville, WA (US); Torsten Hoefler, Schwyz (CH); and Xiaoling Xu, Cupertino, CA (US)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Mar. 11, 2021, as Appl. No. 17/199,209.
Prior Publication US 2022/0291976 A1, Sep. 15, 2022
Int. Cl. G06F 9/54 (2006.01); H04L 51/224 (2022.01); H04L 47/50 (2022.01)
CPC G06F 9/546 (2013.01) [G06F 9/544 (2013.01); H04L 47/50 (2013.01); H04L 51/224 (2022.05)] 20 Claims
OG exemplary drawing
 
1. An integrated computing device, comprising:
one or more computing clusters; and
one or more network controllers, each network controller comprising
a local data notification queue configured to queue send message notifications originating from the one or more computing clusters on the integrated computing device, each send message notification indicating data ready to be sent by a computing cluster of the one or more computing clusters on the integrated computing device;
a remote data notification queue configured to queue incoming receive message notifications originating from one or more remote network controllers on one or more remote integrated computing devices, each incoming receive message notification indicating data that a remote integrated computing device of the one or more remote integrated computing devices is ready to receive;
a local no-data notification queue configured to queue outgoing receive message notifications originating from the one or more computing clusters on the integrated computing device, each outgoing receive message notification indicating data ready to be received by a computing cluster of the one or more computing clusters; and
a connection scheduler configured to schedule sending of data from memory on the integrated computing device when a send message notification in the local data notification queue is matched with an incoming receive message notification in the remote data notification queue, and to schedule sending of outgoing receive message notifications from the local no-data notification queue, such that sending of an outgoing receive message notification in the local no-data notification queue is not blocked by the send message notification queued in the local data notification queue prior to the send message notification in the local data notification queue being matched with the incoming receive message notification in the remote data notification queue.