Application programming interface for managing and automating data transfer operations between applications over a bus structure
First Claim
1. An interface between an application and a bus structure for controlling data transfers to and from the application over the bus structure comprising:
- a. means for controlling asynchronous data transfers between the application and the bus structure for providing a memory-mapped interface to the application, wherein the means for controlling asynchronous data transfers automatically generates requests necessary to complete an asynchronous transfer of data across the bus structure;
b. means for controlling isochronous data transfers between the application and the bus structure including a linked list of buffers.
2 Assignments
0 Petitions
Accused Products
Abstract
An applications programming interface implements and manages isochronous and asynchronous data transfer operations between an application and a bus structure. During an asyncronous transfer the API includes the ability to transfer any amount of data between one or more local data buffers within the application and a range of addresses over the bus structure using one or more asynchronous transactions. An automatic transaction generator may be used to automatically generate the transactions necessary to complete the data transfer. The API also includes the ability to transfer data between the application and another node on the bus structure isochronously over a dedicated channel. During an isochronous data transfer, a buffer management scheme is used to manage a linked list of data buffer descriptors. This linked descriptor list can form a circular list of buffers and include a forward pointer to the next buffer in the list and a backward pointer to the previous buffer in the list for each buffer. The linked descriptor list may also form a linear list to which the application can append additional buffers or remove existing buffers from the list. During isochronous transfers of data, the API provides implementation of a resynchronization event in the stream of data allowing for resynchronization by the application to a specific point within the data. Implementation is also provided for a callback routine for each buffer in the list which calls the application at a predetermined point during the transfer of data.
-
Citations
64 Claims
-
1. An interface between an application and a bus structure for controlling data transfers to and from the application over the bus structure comprising:
-
a. means for controlling asynchronous data transfers between the application and the bus structure for providing a memory-mapped interface to the application, wherein the means for controlling asynchronous data transfers automatically generates requests necessary to complete an asynchronous transfer of data across the bus structure; b. means for controlling isochronous data transfers between the application and the bus structure including a linked list of buffers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An interface between an application and a bus structure for controlling data transfer operations between the application and the bus structure comprising:
-
a. an applications interface for communicating with the application and receiving requests from and sending instructions to the application; b. an automatic transaction generator for automatically generating transactions necessary to complete an asynchronous data transfer operation between a buffer assigned by the application and a node on the bus structure; c. means for controlling an isochronous data transfer including a linked list of buffers provided by the application with which the data transfer is to be completed; and d. a bus interface for providing a physical interface to the bus structure for sending and receiving data packets over the bus structure. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A method of providing a memory-mapped interface to an application and managing asynchronous data transfer operations between the application and a bus structure comprising the steps of:
-
a. receiving a request for a data transfer operation from the application; b. providing an instruction to an automatic transaction generator for automatically generating transactions necessary to complete the data transfer operation across the bus structure; and c. notifying the application when the data transfer operation is complete. - View Dependent Claims (19, 20, 21, 22, 23)
-
-
24. An interface between an application and a bus structure for managing data transfer operations between the application and bus structure comprising:
-
a. means for communicating with the application for receiving requests from and sending instructions to the application; b. an automatic transaction generator for automatically generating transactions necessary to complete an asynchronous data transfer operation between a buffer of the application and a node on the bus structure; and c. means for monitoring and communicating over the bus structure for sending and receiving data packets from the bus structure. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. An interface between an application and an IEEE 1394 standard bus structure for managing data transfer operations between the application and the bus structure comprising:
-
a. an applications interface for communicating with the application and receiving requests from and sending instructions to the application; b. an automatic transaction generator for automatically generating transactions necessary to complete an asynchronous data transfer operation between a buffer assigned by the application and a node on the bus structure; and c. a bus interface circuit for providing a physical interface to the bus structure for sending and receiving data packets over the bus structure. - View Dependent Claims (34, 35, 36, 37, 38)
-
-
39. A method of providing an interface to an application and managing isochronous data transfer operations between the application and a bus structure comprising the steps of:
-
a. receiving a request for a data transfer operation from the application; and b. managing a linked list of buffer descriptors each corresponding to a buffer provided by the application for completing the data transfer operation, wherein data is transferred between one buffer and the bus structure while the application processes another buffer. - View Dependent Claims (40, 41, 42, 43, 44, 45, 46)
-
-
47. An interface between an application and a bus structure for managing data transfer operations between the application and the bus structure comprising:
-
a. means for communicating with the application for receiving requests from and sending instructions to the application; b. means for controlling isochronous data transfer operations between the application and the bus structure including managing a linked list of buffer descriptors, each corresponding to and representing a buffer; and c. means for monitoring and communicating over the bus structure for sending and receiving data packets from the bus structure. - View Dependent Claims (48, 49, 50, 51, 52, 53, 54, 55, 56, 57)
-
-
58. An interface between an application and an IEEE 1394 standard bus structure for managing data transfer operations between the application and the bus structure comprising:
-
a. an applications interface for communicating with the application and receiving requests from and sending instructions to the application; b. means for controlling isochronous data transfer operations between the application and the bus structure including a linked list of buffers provided by the application; and c. a bus interface circuit for providing a physical interface to the bus structure for sending and receiving data packets over the bus structure. - View Dependent Claims (59, 60, 61, 62, 63, 64)
-
Specification