Claims
- 1. An interface between an application and a bus structure for controlling isochronous data operations to and from the application over the bus structure comprising:
a. means for allocating resources necessary for the isochronous data operation; and b. means for controlling isochronous data flow between the application and the bus structure including managing buffers for the application utilized in the data operation.
- 2. The interface as claimed in claim 1 wherein the resources include an isochronous channel and isochronous bandwidth.
- 3. The interface as claimed in claim 1 wherein the isochronous data flow is from the application to the bus structure for transmission operations and from the bus structure to the application for reception operations.
- 4. The interface as claimed in claim 1 wherein the bus structure substantially complies with a version of the IEEE 1394 standard.
- 5. The interface as claimed in claim 1 wherein the resources include a plug and the means for allocating resources connects the plug to the application.
- 6. The interface as claimed in claim 5 wherein the means for controlling communicates with the application regarding changes in state of the plug.
- 7. The interface as claimed in claim 6 wherein the interface provides a representation of the plug to the application.
- 8. The interface as claimed in claim 6 wherein the isochronous data flow is from the application to the bus structure through an output plug for transmission operations and from the bus structure to the application through an input plug for reception operations.
- 9. The interface as claimed in claim 8 wherein during a transmission operation, the means for controlling attaches filled buffers to the output plug and detaches buffers from the output plug after data within the buffers has been transmitted on the bus structure.
- 10. The interface as claimed in claim 8 wherein during a reception operation, the means for controlling attaches buffers to be filled to the input plug and detaches filled buffers from the input plug.
- 11. The interface as claimed in claim 6 wherein the means for controlling triggers an event to inform the application regarding changes in state of the plug.
- 12. The interface as claimed in claim 1 wherein each of the buffers include a callback routine which is activated to call the application at a point during a data transfer operation.
- 13. The interface as claimed in claim 1 wherein each of the buffers include a resynchronization event which is activated to resynchronize the application to a point during a data transfer operation.
- 14. The interface as claimed in claim 1 further comprising means for monitoring for an exception condition including notifying the application when the exception condition occurs.
- 15. The interface as claimed in claim 14 wherein the exception condition includes a condition within a group consisting of data out of sequence, receiving dummy packets, change of data stream format and data becoming out of synchronization.
- 16. The interface as claimed in claim 5 wherein the means for controlling further handles a data type through the plug.
- 17. The interface as claimed in claim 16 wherein the data type is a selective one of raw data, DV data, MPEG data and audio data.
- 18. The interface as claimed in claim 16 wherein the means for controlling handles the data type by adding header and appropriate extension information.
- 19. A node configured to couple to a bus structure comprising:
a. one or more applications; b. a transaction layer to control transactions between the applications and remote nodes coupled to the bus structure; and c. an isochronous interface layer coupled to communicate with the one or more applications and the transaction layer to provide an interface to the one or more applications to control isochronous data operations to and from the one or more applications over the bus structure, wherein the isochronous interface layer allocates resources necessary for the data operations and controls the isochronous data flow between the one or more applications and the bus structure including managing buffers for the application utilized in the data operation.
- 20. The node as claimed in claim 19 wherein the resources include a plug and the isochronous interface layer connects the plug to the application.
- 21. The node as claimed in claim 20 wherein the isochronous interface layer provides a representation of the plug to the application.
- 22. The node as claimed in claim 21 wherein the isochronous interface layer communicates with the application regarding changes in state of the plug.
- 23. The node as claimed in claim 21 wherein the isochronous interface layer triggers an event to inform the application regarding changes in state of the plug.
- 24. The node as claimed in claim 22 wherein the resources include an isochronous channel and isochronous bandwidth.
- 25. The node as claimed in claim 24 wherein the isochronous data flow is from the application to the bus structure through an output plug for transmission operations and from the bus structure to the application through an input plug for reception operations.
- 26. The node as claimed in claim 25 wherein during a transmission operation, the isochronous interface layer provides capability to attach filled buffers to the output plug and detach buffers from the output plug after data within the buffers has been transmitted on the bus structure.
- 27. The node as claimed in claim 26 wherein during a reception operation, the isochronous interface layer attaches buffers to be filled to the input plug and detaches filled buffers from the input plug.
- 28. The node as claimed in claim 27 wherein the bus structure substantially complies with a version of the IEEE 1394 standard.
- 29. The node as claimed in claim 19 wherein each of the buffers include a callback routine which is activated to call the application at a point during a data transfer operation.
- 30. The node as claimed in claim 19 wherein each of the buffers include a resynchronization event which is activated to resynchronize the application to a point during a data transfer operation.
- 31. The node as claimed in claim 19 wherein the isochronous interface layer monitors for an exception condition including notifying the application when the exception condition occurs.
- 32. The node as claimed in claim 31 wherein the exception condition includes a condition within a group consisting of data out of sequence, receiving dummy packets, change of data stream format and data becoming out of synchronization.
- 33. The node as claimed in claim 20 wherein the isochronous interface layer further handles a data type through the plug.
- 34. The node as claimed in claim 33 wherein the data type is a selective one of raw data, DV data, MPEG data and audio data.
- 35. The node as claimed in claim 33 wherein the isochronous interface layer handles the data type by adding header and appropriate extension information.
- 36. A method of providing an interface to an application and managing isochronous data transfer operations between the application and a bus structure comprising:
a. receiving a request for a data transfer operation from the application; b. allocating necessary resources for the data transfer operation; and c. managing the necessary resources for the data transfer operation, including managing buffers for the application utilized in the data operation.
- 37. The method as claimed in claim 36 further comprising connecting an appropriate plug for the data transfer operation.
- 38. The method as claimed in claim 36 wherein the resources include an isochronous channel and isochronous bandwidth.
- 39. The method as claimed in claim 36 wherein the resources include a plug.
- 40. The method as claimed in claim 39 further comprising providing a representation of the plug to the application.
- 41. The method as claimed in claim 39 further comprising communicating with the application regarding state changes of the plug.
- 42. The method as claimed in claim 39 further comprising triggering an event to inform the application regarding state changes of the plug.
- 43. The method as claimed in claim 36 wherein data flow for the data transfer operation is from the application to the bus structure through an output plug for transmission operations and from the bus structure to the application through an input plug for reception operations.
- 44. The method as claimed in claim 43 further comprising attaching filled buffers to the output plug and detaching buffers from the output plug after data within the buffers has been transmitted on the bus structure, during transmission operations.
- 45. The method as claimed in claim 43 further comprising attaching buffers to be filled to the input plug and detaching filled buffers from the input plug, during reception operations.
- 46. The method as claimed in claim 36 wherein the bus structure substantially complies with a version of the IEEE 1394 standard.
- 47. The method as claimed in claim 36 wherein each of the buffers include a callback routine which is activated to call the application at a point during a data transfer operation.
- 48. The method as claimed in claim 36 wherein each of the buffers include a resynchronization event which is activated to resynchronize the application to a point during a data transfer operation.
- 49. The method as claimed in claim 36 further comprising monitoring for an exception condition and notifying the application when the exception condition occurs.
- 50. The method as claimed in claim 49 wherein the exception condition includes a condition within a group consisting of data out of sequence, receiving dummy packets, change of data stream format and data becoming out of synchronization.
- 51. The method as claimed in claim 37 further comprising handling a data type through the plug.
- 52. The method as claimed in claim 51 wherein the data type is a selective one of raw data, DV data, MPEG data and audio data.
- 53. The method as claimed in claim 51 wherein handling the data type through the plug includes adding header and appropriate extension information.
- 54. A method of providing an interface to an application resident within a node on a bus structure comprising:
a. receiving a request for a data transfer operation from the application; b. connecting an appropriate plug for the data transfer operation; c. allocating necessary resources for the data transfer operation; d. managing the necessary resources for the data transfer operation, including managing buffers for the application utilized in the data operation; and e. informing the application of any state changes within the plug.
- 55. The method as claimed in claim 54 wherein informing the application of any state changes within the plug includes triggering an event to inform the application of the state changes within the plug.
- 56. The method as claimed in claim 54 wherein the resources include an isochronous channel and isochronous bandwidth.
- 57. The method as claimed in claim 54 wherein data flow for the data transfer operation is form the application to the bus structure through an output plug for transmission operations and form the bus structure to the application through an input plug for reception operations.
- 58. The method as claimed in claim 57 further comprising attaching filled buffers to the output plug and detaching buffers from the output plug after data within the buffers has been transmitted on the bus structure, during transmission operations.
- 59. The method as claimed in claim 57 further comprising attaching buffers to be filled to the input plug and detaching filled buffers form the input plug, during reception operations.
- 60. The method as claimed in claim 54 wherein the bus structure substantially complies with a version of the IEEE 1394 standard.
- 61. The method as claimed in claim 54 wherein each of the buffers include a callback routine which is activated to call the application at a point during a data transfer operation.
- 62. The method as claimed in claim 54 wherein each of the buffers include a resynchronization event which is activated to resynchronize the application to a point during a data transfer operation.
- 63. The method as claimed in claim 54 further comprising monitoring for an exception condition and notifying the application when the exception condition occurs.
- 64. The method as claimed in claim 63 wherein the exception condition includes a condition within a group consisting of data out of sequence, receiving dummy packets, change of data stream format and data becoming out of synchronization.
- 65. The method as claimed in claim 54 further comprising handling a data type through the plug.
- 66. The method as claimed in claim 65 wherein the data type is a selective one of raw data, DV data, MPEG data and audio data.
- 67. The method as claimed in claim 65 wherein handling the data type through the plug includes adding header and appropriate extension information.
- 68. A bus structure comprising:
a. one or more remote nodes each including at least one remote application; and b. a local node including:
i. one or more local applications; ii. a transaction layer to control transactions between the local applications and remote nodes coupled to the bus structure; and iii. all isochronous interface layer coupled to communicate with the one or more local applications and the transaction layer to provide an interface to the one or more local applications to control isochronous data operations to and from the one or more local applications over the bus structure, wherein the isochronous interface layer allocates resources necessary for the data operations, including connecting an appropriate plug to the application, and controls the isochronous data flow between the one or more local applications and the bus structure including managing buffers for the application utilized in the data operation by attaching buffers to and detaching buffers from the plug.
- 69. The bus structure as claimed in claim 68 wherein the resources include an isochronous channel and isochronous bandwidth.
- 70. The bus structure as claimed in claim 68 wherein the isochronous data flow is from the application to the bus structure through an output plug for transmission operations and from the bus structure to the application through an input plug for reception operations.
- 71. The bus structure as claimed in claim 70 wherein during a transmission operation, the isochronous interface layer attaches filled buffers to the output plug and detaches buffers from the output plug after data within the buffers has been transmitted on the bus structure.
- 72. The bus structure as claimed in claim 70 wherein during a reception operation, the isochronous interface layer attaches buffers to be filled to the input plug and detaches filled buffers from the input plug.
- 73. The bus structure as claimed in claim 68 wherein the isochronous interface layer also communicates with the one or more local applications regarding state changes in the plug.
- 74. The bus structure as claimed in claim 68 wherein the isochronous interface layer also triggers an event to inform the one or more local applications regarding state changes in the plug.
- 75. The bus structure as claimed in claim 68 wherein the bus structure substantially complies with a version of the IEEE 1394 standard.
- 76. The bus structure as claimed in claim 68 wherein each of the buffers include a callback routine which is activated to call the application at a point during a data transfer operation.
- 77. The bus structure as claimed in claim 68 wherein each of the buffers include a resynchronization event which is activated to resynchronize the application to a point during a data transfer operation.
- 78. The bus structure as claimed in claim 68 wherein the isochronous interface layer monitors for an exception condition including notifying the application when the exception condition occurs.
- 79. The bus structure as claimed in claim 78 wherein the exception condition includes a condition within a group consisting of data out of sequence, receiving dummy packets, change of data stream format and data becoming out of synchronization.
- 80. The bus structure as claimed in claim 68 wherein the isochronous interface layer further handles a data type through the plug.
- 81. The bus structure as claimed in claim 80 wherein the data type is a selective one of raw data, DV data, MPEG data and audio data.
- 82. The bus structure as claimed in claim 80 wherein the isochronous interface layer handles the data type by adding header and appropriate extension information.
- 83. A node coupled to a bus structure which substantially complies with a version of the IEEE 1394 standard comprising:
a. one or more local applications; b. a transaction layer to control transactions between the applications and remote nodes coupled to the bus structure; and c. an isochronous interface layer coupled to communicate with the one or more applications and the transaction layer to provide an interface to the one or more applications to control isochronous data operations to and from the one or more applications over the bus structure, wherein the isochronous interface layer allocates resources necessary for the data operations, including connecting an appropriate plug to the application and allocating necessary channel and bandwidth, and controls the isochronous data flow between the one or more applications and the bus structure including managing buffers for the application utilized in the data operation, by attaching buffers to and detaching buffers from the plug.
- 84. The node as claimed in claim 83 wherein the isochronous data flow is from the application to the bus structure through an output plug for transmission operations and from the bus structure to the application through an input plug for reception operations.
- 85. The node as claimed in claim 84 wherein during a transmission operation, the isochronous interface layer attaches filled buffers to the output plug and detaches buffers from the output plug after data within the buffers has been transmitted on the bus structure.
- 86. The node as claimed in claim 85 wherein during a reception operation, the isochronous interface layer attaches buffers to be filled to the input plug and detaches filled buffers from the input plug.
- 87. The node is claimed in claim 83 wherein the isochronous interface layer also communicates with the one or more applications regarding state changes in the plug.
- 88. The node as claimed in claim 83 wherein the isochronous interface layer also triggers an event to inform the one or more applications regarding state changes in the plug.
- 89. The node as claimed in claim 83 wherein each of the buffers include a callback routine which is activated to call the application at a point during a data transfer operation.
- 90. The node as claimed in claim 83 wherein,each of the buffers include a resynchronization event which is activated to resynchronize the application to a point during a data transfer operation.
- 91. The node as claimed in claim 83 wherein the isochronous interface layer monitors for an exception condition including notifying the application when the exception condition occurs.
- 92. The node as claimed in claim 91 wherein the exception condition includes a condition within a group consisting of data out of sequence, receiving dummy packets, change of data stream format and data becoming out of synchronization.
- 93. The node as claimed in claim 83 wherein the isochronous interface layer further handles a data type through the plug.
- 94. The node as claimed in claim 93 wherein the data type is a selective one of raw data, DV data, MPEG data and audio data.
- 95. The node as claimed in claim 93 wherein the isochronous interface layer handles the data type by adding header and appropriate extension information.
- 96. An interface between an application and a bus structure to control isochronous data operations to and from the application over the bus structure comprising:
a. a control system configured to allocate resources necessary for the isochronous data operation; and b. a buffer system configured to control isochronous data flow between the application and the bus structure including managing buffers for the application utilized in the data operation.
- 97. The interface as claimed in claim 96 wherein the resources include an isochronous channel and isochronous bandwidth.
- 98. The interface as claimed in claim 96 wherein the isochronous data flow is from the application to the bus structure for transmission operations and from the bus structure to the application for reception operations.
- 99. The interface as claimed in claim 96 wherein the bus structure substantially complies with a version of the IEEE 1394 standard.
- 100. The interface as claimed in claim 96 wherein the resources include a plug and the control system connects the plug to the application.
- 101. The interface as claimed in claim 100 wherein the buffer system communicates with the application regarding changes in state of the plug.
- 102. The interface as claimed in claim 101 wherein the interface provides a representation of the plug to the application.
- 103. The interface as claimed in claim 101 wherein the isochronous data flow is from the application to the bus structure through an output plug for transmission operations and from the bus structure to the application through an input plug for reception operations.
- 104. The interface as claimed in claim 103 wherein during a transmission operation the buffer system attaches filled buffers to the output plug and detaches buffers from the output plug after data within the buffers has been transmitted on the bus structure.
- 105. The interface as claimed in claim 103 wherein during a reception operation, the buffer system attaches buffers to be filled to the input plug and detaches filled buffers from the input plug.
- 106. The interface as claimed in claim 100 wherein the buffer system triggers an event to inform the application regarding changes in state of the plug.
- 107. The interface as claimed in claim 96 wherein each of the buffers include a callback routine which is activated to call the application at a point during a data transfer operation.
- 108. The interface as claimed in claim 96 wherein each of the buffers include a resynchronization event which is activated to resynchronize the application to a point during a data transfer operation.
- 109. The interface as claimed in claim 96 further comprising a monitoring circuit configured to determine when an exception condition occurs and notify the application when the exception condition occurs.
- 110. The interlace as claimed in claim 109 wherein the exception condition includes a condition within a group consisting of data out of sequence, receiving dummy packets, change of data stream format and data becoming out of synchronization.
- 111. The interface as claimed in claim 100 wherein the buffer system further handles a data type through the plug.
- 112. The interface as claimed in claim 111 wherein the data type is a selective one of raw data, DV data, MPEG data and audio data.
- 113. The interface as claimed in claim 111 wherein the buffer system handles the data type by adding header and appropriate extension information.
- 114. A method of providing an interface to an application, managing isochronous data transfer operations between the application and a bus structure and monitoring for an exception comprising:
a. receiving a request for a data transfer operation from the application; b. allocating necessary resources for the data transfer operation; c. managing the necessary resources for the data transfer operation, including managing buffers for the application utilized in the data operation; d. determining if an exception condition occurs; and e. notifying the application when the exception condition occurs.
- 115. The method as claimed in claim 114 wherein the exception condition includes a condition within a group consisting of data out of sequence, receiveing dummy packets, change of data stream format and data becoming out of synchronization.
- 116. The method as claimed in claim 114 further comprising connecting an appropriate plug for the data transfer operation.
- 117. The method as claimed in claim 114 wherein the resources include an isochronous channel and isochronous bandwidth.
- 118. The method as claimed in claim 114 wherein the resources include a plug.
- 119. The method as claimed in claim 118 further comprising providing a representation of the plug to the application.
- 120. The method as claimed in claim 118 further comprising communicating with the application regarding state changes of the plug.
- 121. The method as claimed in claim 114 wherein data flow for the data transfer operation is from the application to the bus structure through an output plug for transmission operations and from the bus structure to the application through an input plug for reception operations.
- 122. The method as claimed in claim 121 further comprising attaching filled buffers to the output plug and detaching buffers from the output plug after data within the buffers has been transmitted on the bus structure, during transmission operations.
- 123. The method as claimed in claim 121 further comprising attaching buffers to be filled to the input plug and detaching filled buffers from the input plug, during reception operations.
- 124. The method as claimed in claim 114 wherein the bus structure substantially complies with a version of the IEEE 1394 standard.
- 125. The method as claimed in claim 114 wherein each of the buffers include a callback routine which is activated to call the application at a point during a data transfer operation.
- 126. The method as claimed in claim 114 wherein each of the buffers include a resynchronization event which is activated to resynchronize the application to a point during a data transfer operation.
- 127. The method as claimed in claim 118 further comprising triggering an event to inform the application regarding changes of the plug.
RELATED APPLICATIONS
[0001] This patent application claims priority under 35 U.S.C. § 119(e) of the co-pending U.S. provisional application Serial No. 60/208,825 filed on Jun. 2, 2000 and entitled “APPLICATION PROGRAMMING INTERFACE FOR DATA TRANSFER AND BUS MANAGEMENT OVER A BUS STRUCTURE.” The provisional application Serial No. 60/208,825 filed on Jun. 2, 2000 and entitled “APPLICATION PROGRAMMING INTERFACE FOR DATA TRANSFER AND BUS MANAGEMENT OVER A BUS STRUCTURE,” is also hereby incorporated by reference.
[0002] This patent application is also a continuation-in-part of co-pending U.S. patent application Ser. No. 09/337,057, filed on Jun. 21, 1999, and entitled “Application Programming Interface For Managing And Automating Data Transfer Operations Between Applications Over A Bus Structure,” which is a continuation of U.S. Pat. No. 5,991,520, issued on Nov. 23, 1999, and entitled “Application Programming Interface For Managing And Automating Data Transfer Operations Between Applications Over A Bus Structure.” The application Ser. No. 09/337,057, filed on Jun. 21, 1999, and entitled “Application Programming Interface For Managing And Automating Data Transfer Operations Between Applications Over A Bus Structure” and the U.S. Pat. No. 5,991,520, issued on Nov. 23, 1999, and entitled “Application Programming Interface For Managing And Automating Data Transfer Operations Between Applications Over A Bus Structure” are both hereby incorporated by reference.
Continuations (2)
|
Number |
Date |
Country |
Parent |
09607134 |
Jun 2000 |
US |
Child |
10607071 |
Jun 2003 |
US |
Parent |
08594651 |
Feb 1996 |
US |
Child |
09337057 |
Jun 1999 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09337057 |
Jun 1999 |
US |
Child |
09607134 |
Jun 2000 |
US |