Patent ID: 7698439

Claim:
A system for creating a socket group representing one or more network connections, the system comprising: a first network device; and an application programming interface operative to: expose one or more abstractions for creating and/or modifying a socket group abstraction representing a plurality of network connections, each network connection being between the first network device and a respective one of a plurality of second network devices; receive a send instruction indicating to send the communication to the plurality of second network devices, the send instruction specifying an identifier of a socket group; control a sending of a plurality of instances of the communication based on the socket group identifier, each instance sent to a respective one of the plurality of second network devices; wherein the first network device comprises an operating system operative to implement a user mode and a kernel mode, and the controlling comprises: making only a single transition from the user mode to the kernel mode, allocating a kernel-mode memory buffer only once or locking an application send buffer into memory only once; and signaling completion of the sending of the plurality of instances, only once, to an application component that sent the send request to the operating system.