Patent ID: 8117615

Claim:
A system of sharing data between tasks of a communications environment, said system comprising: a computing node comprising memory, said computing node to perform a method comprising: coupling a set of data source tasks with a set of data sink tasks, wherein at least one of the set of data source tasks or the set of data sink tasks comprises a plurality of tasks, and wherein the coupling comprises at least one of: allowing at least a portion of a data memory address space of one data source task of the set of data source tasks to be concurrently attached by multiple data sink tasks of the set of data sink tasks via modification of existing address spaces of the multiple data sink tasks, the at least a portion of the data memory address space of the one data source task comprising one of a send buffer application data structure or a receive buffer application data structure belonging to the one data source task, and wherein the modification comprises each data sink task of the multiple data sink tasks concurrently attaching the at least a portion of data memory address space of the one data source task, including the send buffer application data structure or the receive buffer application data structure thereof, to its own address space; or allowing at least a portion of a data memory address space of one data sink task of the set of data sink tasks to be concurrently attached by multiple data source tasks of the set of data source tasks via modification of existing address spaces of the multiple data source tasks, the at least a portion of the data memory address space of the one data sink task comprising one of a send buffer application data structure or a receive buffer application data structure belonging to the one data sink task, and wherein the modification comprises each data source task of the multiple data source tasks concurrently attaching the at least a portion of data memory address space of the one data sink task, including the send buffer application data structure or the receive buffer application data structure thereof, to its own address space; and transferring data between the set of data source tasks and the set of data sink tasks absent a copying of the data to/from shared memory, and wherein the transferring comprises directly transferring the data via one of the concurrently attached at least a portion of data memory address space of the one data source task or the concurrently attached at least a portion of data memory address space of the one data sink task.