Patent Number: 7,103,890

Title: Non-blocking buffered inter-machine data transfer with acknowledgement

Abstract: A system, method and data structures for transmitting batched data over a network in asynchronous, non-blocking operations, with acknowledgements returned to the senders. Each machine includes a sender subsystem and a receiver subsystem. Transmission items corresponding to data to be sent are buffered until a send is triggered, at which time the transmission items are sorted according to their destinations and sent as a GUID-identified batch to each destination by a send thread. At each receiver, a receiving thread adds descriptions of the data to a receive list, which a transfer thread processes when triggered. The transfer thread sends the corresponding data to a recipient program, and sends GUID-identified acknowledgements corresponding to each GUID back to the originating senders. An acknowledge thread at each originating sender buffers the acknowledgements, and when triggered, a cleanup thread uses the GUID to identify which batched transmissions were received.

Inventors: Bush; Eric N. (Redmond, WA)

Assignee: Microsoft Corporation

International Classification: G06F 9/00 (20060101)

Expiration Date: 9/05/02018