摘要 |
The present invention provides a method and apparatus for buffering in multi-node data distribution architectures. One embodiment of the present invention groups data items into frames and stores the frames in a buffer. One embodiment allocates storage space for the buffer such that enough storage is available to accommodate one frame for every client wishing access to the data in addition to a fixed number of frames. One embodiment stores the buffer as a linked list of frames. In one embodiment, the head of the linked list is the oldest frame in the buffer and the tail of the linked list is the newest frame. When a new frame of data is added to a full buffer, the oldest frame not in use is removed and the new frame is added. One embodiment, allows multiple clients to access a single frame in the buffer simultaneously. The clients indicate when they are using a frame in the buffer so that the frame is not overwritten. In one embodiment, a client locks a frame only when the frame is being dispatched to the client. In one embodiment, a client initially operates on the newest frame. When a client finishes with one frame, it selects the next frame in the buffer's linked list. One embodiment is used in a video conferencing application. Frames consist of video or audio data packets. One embodiment is used in a thin client topology. Clients lock frames to set destination specific parameters as the frame is dispatched.
|