Systems and methods for managing the processing of relatively large data objects in a communications stack
First Claim
1. A method for managing processing of relatively large data objects in a communications stack having multiple layers, said communications stack generally requiring segmentation of the relatively large data objects as the large data objects proceed through the layers of said communications stack and appendage of headers containing protocol specific information to each segment of data, said method comprising the steps of:
- receiving a relatively large data object from an application for processing in said communications stack;
segmenting said relatively large data object into a plurality of relatively small data objects without physically moving the relatively large data object and without creating a copy of the large data object;
generating a header containing protocol specific information for each segment of relatively small data objects such that each header is uniquely associated with one segment of small data objects, without physically moving the small data object, without creating a copy of the large data object, and without creating a copy of the associated small data object; and
discontiguously passing said plurality of relatively small data objects and said plurality of associated headers from one layer in said communications stack to a second layer in said communications stack, whereby each of said plurality of small data objects is passed to said second layer in said communications stack discontiguously from its associated header and without physically moving any of the small data objects and its associated header and without creating a copy of any of the small data objects and its associated header;
whereby said headers are added at different layers in the communications stack without physically moving any of the large data objects, the small data objects and the associated headers and without creating a copy of any of the large data objects, small data objects and associated headers.
0 Assignments
0 Petitions
Accused Products
Abstract
Management of the processing of relatively large data objects in a communications stack having multiple layers improves the performance in a communications system in preparing relatively large data objects for transmission across a communications network. This reduces or eliminates data movement and copying during segmentation of the relatively large data objects into relatively small data objects, and appendage of headers to the relatively small data object segments during processing in the communications stack. A shared storage manager creates and controls multiple tokens representing multiple images of portions of the relatively large data objects to enable separate scheduling of the multiple images from the same storage unit or buffer to be passed from one layer in a communications stack to the next lower layer in the communications stack. The large data object is segmented into a plurality of relatively small data object segments at one or more of the layers in the communications stack. When dictated by the communications stack, header segments are also created for each relatively small data object segment. Each header segment contains specific information for the relatively small data object segment to which the header corresponds. A separate buffer list is generated by the communications stack for each relatively small data object segment and for each corresponding header segment.
70 Citations
18 Claims
-
1. A method for managing processing of relatively large data objects in a communications stack having multiple layers, said communications stack generally requiring segmentation of the relatively large data objects as the large data objects proceed through the layers of said communications stack and appendage of headers containing protocol specific information to each segment of data, said method comprising the steps of:
-
receiving a relatively large data object from an application for processing in said communications stack; segmenting said relatively large data object into a plurality of relatively small data objects without physically moving the relatively large data object and without creating a copy of the large data object; generating a header containing protocol specific information for each segment of relatively small data objects such that each header is uniquely associated with one segment of small data objects, without physically moving the small data object, without creating a copy of the large data object, and without creating a copy of the associated small data object; and discontiguously passing said plurality of relatively small data objects and said plurality of associated headers from one layer in said communications stack to a second layer in said communications stack, whereby each of said plurality of small data objects is passed to said second layer in said communications stack discontiguously from its associated header and without physically moving any of the small data objects and its associated header and without creating a copy of any of the small data objects and its associated header; whereby said headers are added at different layers in the communications stack without physically moving any of the large data objects, the small data objects and the associated headers and without creating a copy of any of the large data objects, small data objects and associated headers. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for managing processing of a relatively large data object in a communications stack having multiple layers, said communications stack generally requiring segmentation of the relatively large data object as the large data object proceeds through the layers of said communications stack and appendage of headers containing protocol specific information to each segment of data, said system comprising:
-
means for segmenting said relatively large data object into a plurality of relatively small data objects without requiring physical movement of the relatively large data object and without requiring creation of a copy of the large data object; means for generating a header containing protocol specific information for each segment of relatively small data objects without requiring physical movement of the small data object, without requiring creation of a copy of the large data object, and without requiring creation of a copy of the associated small data object, and for uniquely associating the generated header with one segment of small data objects; and means for discontiguously passing said plurality of relatively small data objects and said plurality of associated headers from one layer in said communications stack to a second layer in said communications stack, whereby each of said plurality of small data objects may be passed to said second layer in said communications stack discontiguously from its associated header and without requiring physical movement of any of the small data objects and its associated header and without requiring creation of a copy of any of the small data objects and its associated header. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program product for managing processing of a relatively large data object in a communications stack having multiple layers, said communications stack generally requiring segmentation of the relatively large data object as the large data object proceeds through the layers of said communications stack and appendage of headers containing protocol specific information to each segment of data, said computer program product comprising:
a computer readable storage medium having computer readable code means embodied in said medium, said computer readable code means comprising; computer instruction means for segmenting said relatively large data object into a plurality of relatively small data objects without requiring physical movement of the relatively large data object and without requiring creation of a copy of the large data object; computer instruction means for generating a header containing protocol specific information for each segment of relatively small data objects without requiring physical movement of the small data object, without requiring creation of a copy of the large data object, and without requiring creation of a copy of the associated small data object, and for uniquely associating the generated header with one segment of small data objects; and computer instruction means for discontiguously passing said plurality of relatively small data objects and said plurality of associated headers from one layer in said communications stack to a second layer in said communications stack, whereby each of said plurality of small data objects may be passed to said second layer in said communications stack discontiguously from its associated header and without requiring physical movement of any of the small data objects and its associated header and without requiring creation of a copy of any of the small data objects and its associated header. - View Dependent Claims (14, 15, 16, 17, 18)
Specification