Isochronous audio network software interface
First Claim
Patent Images
1. A computer system, comprising:
- a network interface for communication via a switched network;
a multi-tasking operating system for execution of a plurality of applications;
an isochronous audio application executable within the multi-tasking operating system substantially in parallel with other applications executable by the multi-tasking operating system;
a network interface driver executable within the multi-tasking operating system, the network interface driver executable to receive via the network interface a stream of packets for the applications, where the stream of packets includes data packets and isochronous audio packets, transmission of the isochronous audio packets is in response to receipt of a respective synchronization packet, the isochronous audio packets include isochronous audio data, and the data packets are unrelated to the isochronous audio data; and
an isochronous audio driver executable within the multi-tasking operating system, the isochronous audio driver in communication with the network interface driver and the applications;
the network interface driver is executable to provide the stream of packets to the isochronous audio driver in response to an interrupt request provided to the network interface by the multi-tasking operating system; and
the isochronous audio driver is executable to decode the isochronous audio packets in the stream of packets, to provide decoded audio data included in the isochronous audio packets to the isochronous audio application, and to pass the data packets unmodified to a protocol stack, the protocol stack being executable within the multi-tasking operating system to provide information in the data packets to the other applications, the execution of the isochronous audio driver being in response to said interrupt request provided to the network interface by the multi-tasking operating system, where, in response to a single interrupt request from the multi-tasking operating system, the multi-tasking operating system sequentially executes the network interface driver, the isochronous audio driver, and the isochronous audio application as a group without interruption to process the isochronous audio packets received via the switched network, and the single interrupt request is included in the interrupt request provided to the network interface.
5 Assignments
0 Petitions
Accused Products
Abstract
A computer system includes a network interface that transmits and/or receives packets over a network. The packets may include isochronous audio packets and data packets. The computer system may have an operating system in which isochronous audio software is executable to extract audio data from the isochronous audio packets, or format audio data into isochronous audio packets. The system may also include other software executable within the operating system substantially in parallel with the isochronous audio software. The other software may extract data from the data packets.
-
Citations
60 Claims
-
1. A computer system, comprising:
-
a network interface for communication via a switched network; a multi-tasking operating system for execution of a plurality of applications; an isochronous audio application executable within the multi-tasking operating system substantially in parallel with other applications executable by the multi-tasking operating system; a network interface driver executable within the multi-tasking operating system, the network interface driver executable to receive via the network interface a stream of packets for the applications, where the stream of packets includes data packets and isochronous audio packets, transmission of the isochronous audio packets is in response to receipt of a respective synchronization packet, the isochronous audio packets include isochronous audio data, and the data packets are unrelated to the isochronous audio data; and an isochronous audio driver executable within the multi-tasking operating system, the isochronous audio driver in communication with the network interface driver and the applications; the network interface driver is executable to provide the stream of packets to the isochronous audio driver in response to an interrupt request provided to the network interface by the multi-tasking operating system; and the isochronous audio driver is executable to decode the isochronous audio packets in the stream of packets, to provide decoded audio data included in the isochronous audio packets to the isochronous audio application, and to pass the data packets unmodified to a protocol stack, the protocol stack being executable within the multi-tasking operating system to provide information in the data packets to the other applications, the execution of the isochronous audio driver being in response to said interrupt request provided to the network interface by the multi-tasking operating system, where, in response to a single interrupt request from the multi-tasking operating system, the multi-tasking operating system sequentially executes the network interface driver, the isochronous audio driver, and the isochronous audio application as a group without interruption to process the isochronous audio packets received via the switched network, and the single interrupt request is included in the interrupt request provided to the network interface. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 54)
-
-
10. A computer system, comprising:
-
a memory; a network interface for communication via a switched network; and a processor in communication with the network interface and the memory, the memory comprising computer instructions executable by the processor, the computer instructions comprising; a multi-tasking operating system for execution of a plurality of applications; a network interface driver executable within the multi-tasking operating system, the network interface driver further executable to receive via the network interface a stream of data packets and isochronous audio packets for the applications, the isochronous audio packets including isochronous audio data, the data packets including information unrelated to the isochronous audio data, and transmission of the isochronous audio packets being in response to receipt of a respective synchronization packet; an isochronous audio driver in communication with the network interface driver and the applications, where the isochronous audio driver is executable to identify and decode isochronous audio packets for extraction of audio data, where the network interface driver is executable to provide the stream of packets to the isochronous audio driver in response to an interrupt request provided to the network interface by the multi-tasking operating system; and a protocol stack adapted to communicate with the isochronous audio driver and a first application included in the applications; where the isochronous audio driver and the protocol stack are configured to execute within the multi-tasking operating system; where the isochronous audio driver is executable both to provide the audio data to a second application included in the applications, and to pass the data packets to the protocol stack unaltered by the isochronous audio driver in response to the interrupt request; and where, in response to a single interrupt request generated by the multi-tasking operating system, the multi-tasking operating system sequentially executes the network interface driver, the isochronous audio driver, and the second application as a group without interruption to process the isochronous audio packets received via the switched network, and the single interrupt request is included in the interrupt request provided to the network interface. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer system, comprising:
-
a memory; and a processor in communication with the memory, the memory comprising computer instructions executable by the processor, the computer instructions comprising; an isochronous audio application executable to format audio data received from a source of audio data; and an isochronous audio driver in communication with the isochronous audio application, the isochronous audio driver executable to convert the formatted audio data to isochronous audio data and buffer the isochronous audio data, where the isochronous audio driver and the isochronous audio application are executable within a multi-tasking operating system; where the isochronous audio driver is executable to receive data packets from a protocol stack executable within the multi-tasking operating system, the data packets including information unassociated with the isochronous audio data; where the isochronous audio driver is executable to receive and decode a synchronization packet receivable from a switched network, where the synchronization packet includes a frame number; where in response to receipt of the synchronization packet, the isochronous audio driver is executable to generate an isochronous audio packet that includes buffered isochronous audio data and the frame number, the isochronous audio packet transmittable over the switched network; and where, in response to only one interrupt request generated by the multi-tasking operating system, the isochronous audio driver and the isochronous audio application execute sequentially as a group without interruption to process isochronous audio packets received from the switched network. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A computer system, comprising:
-
a memory; a network interface for communication via a switched network; and a processor in communication with the network interface and the memory, the memory comprising computer instructions executable by the processor, the computer instructions comprising; a multi-tasking operating system for execution of a plurality of applications substantially in parallel; a network interface driver executable within the multi-tasking operating system to send and receive via the network interface a stream of packets for the plurality of applications; and isochronous audio software executable with the multi-tasking operating system to process received isochronous audio packets, and generate isochronous audio packets from audio data for transmission; where the received stream of packets includes data packets, synchronization packets and isochronous audio packets and the sent stream of packets includes data packets and isochronous audio packets, where transmission of each of the isochronous audio packets is in response to receipt of a respective one of the synchronization packets, and where the data packets include information unrelated to the audio data; where the network interface driver is executable to provide the stream of packets to the isochronous audio software in response to an interrupt request provided to the network interface by the multi-tasking operating system; where, in response to a single interrupt request from the multi-tasking operating system, the network interface driver, the isochronous audio software, and a first one of the applications are executed as a group without interruption to process the isochronous audio packets received via the switched network, and the single interrupt request is included in the interrupt request provided to the network interface; where the isochronous audio software is executable to communicate with the network interface driver and the applications, the isochronous audio software further executable to decode isochronous audio packets from the received stream and further executable to pass data packets from the received stream to a second one of the applications through a protocol stack without any processing of the data packets by the isochronous audio software; and where the isochronous audio software is further executable to initiate transmission of the isochronous audio packets generated by the isochronous audio software in the sent stream of packets in response to receipt of a synchronization packet in the received stream of packets. - View Dependent Claims (28, 29, 30, 31)
-
-
32. A computer system, comprising:
-
a memory; a network interface; and a processor in communication with the network interface and the memory, the memory comprising computer instructions executable by the processor, the computer instructions comprising; a multi-tasking operating system adapted to execute a plurality of applications, the network interface configured to operate within the multi-tasking operating system, the network interface operable to send and receive isochronous audio packets and data packets via a switched network in response to an interrupt request provided to the network interface by the multi-tasking operating system; isochronous audio software that is executable within the multi-tasking operating system substantially in parallel with the applications, the isochronous audio software executable to process isochronous audio packets received from or provided to the network interface in response to said interrupt request, where the isochronous audio packets each include audio data, and transmission of each of the isochronous audio packets is in response to receipt of a respective synchronization packet; and the isochronous audio software is further executable to pass data packets received from the network interface to a protocol stack accessible by at least one of the applications, the data packets including information unrelated to the audio data, where, in response to a single interrupt request from the multi-tasking operating system, the multi-tasking operating system sequentially executes a network interface driver in the network interface, the isochronous audio software, and an isochronous audio application as a group without interruption to process the isochronous audio packets received via the switched network, the isochronous audio application included in the applications, and the single interrupt request is included in the interrupt request provided to the network interface. - View Dependent Claims (33, 34, 35, 36, 37, 38)
-
-
39. A computer system, comprising:
-
a memory; a network interface; and a processor in communication with the network interface and the memory, the memory comprising computer instructions executable by the processor, the computer instructions comprising; a multi-tasking operating system for execution of a plurality of applications; a network interface driver executable within the multi-tasking operating system, the network interface driver executable to receive isochronous audio packets and data packets from the network interface, the isochronous audio packets including isochronous audio data, and the data packets including information unrelated to the isochronous audio data, where transmission of each of the isochronous audio packets is in response to receipt of a respective one of a plurality of synchronization packets, and the network interface driver is further executable to provide the data packets and the isochronous audio packets to an isochronous audio driver in response to an interrupt request provided to the network interface by the multi-tasking operating system; and isochronous audio software executable within the multi-tasking operating system substantially in parallel with the applications, the network interface driver, and the isochronous audio driver, the isochronous audio software executable to extract audio data from the isochronous audio packets and pass the data packets unmodified to at least one of the applications in response to the interrupt request, where, in response to a single interrupt request generated by the multi-tasking operating system, the multi-tasking operating system sequentially executes the network interface driver, the isochronous audio driver, and the isochronous audio software, as a group without interruption, and the single interrupt request is included in the interrupt request provided to the network interface. - View Dependent Claims (40, 41, 42, 43, 44, 45, 46, 47)
-
-
48. A computer system, comprising:
-
a memory; a network interface; and a processor in communication with the network interface and the memory, the memory comprising computer instructions executable by the processor, the computer instructions comprising; a multi-tasking operating system for operation of a multi-threaded, multi-tasking computing environment; a network interface driver executable within the multi-tasking operating system to transmit isochronous audio packets via the network interface, to receive data packets and synchronization packets from a switched network via the network interface, and to provide a first interrupt request to the multi-tasking operating system in response to receipt of one of the synchronization packets, where the multi-tasking operating system provides a second interrupt request to the network interface in response to receipt of the first interrupt request; and isochronous audio software that is executable within the multi-tasking operating system substantially in parallel with other applications executable within the multi-tasking operating system, the isochronous audio software executable to format audio data into the isochronous audio packets for transmission by the network interface driver in response to receipt of the second interrupt request by the network interface; the isochronous audio software further executable within the multi-tasking operating system to provide the data packets to a protocol stack, the protocol stack in communication with at least one of the other applications, the data packets unrelated to the audio data, the protocol stack being for the at least one of the other applications to communicate on the switched network, where, in response to a single interrupt request generated by the multi-tasking operating system, the multi-tasking operating system sequentially executes the network interface driver and the isochronous audio software as a group without interruption, and the single interrupt request is included in the second interrupt request. - View Dependent Claims (49, 50, 51, 52, 53)
-
-
55. A computer implemented method of communicating audio over a switched network, comprising:
-
receiving a stream of packets from the switched network via a network interface, the stream of packets including data packets and isochronous audio packets, the data packets being unrelated to the isochronous audio packets; generating a first interrupt request to a multi-tasking operating system by the network interface in response to receipt of the stream of packets; receiving with the network interface a second interrupt request generated by the multi-tasking operating system; providing the stream of packets to an isochronous audio driver with a network interface driver executable within the multi-tasking operating system, the providing the stream of packets in response to receipt of the second interrupt request; processing the stream of packets with the isochronous audio driver in response to the receipt of the second interrupt request by; passing the data packets unmodified from the isochronous audio driver to a protocol stack, the protocol stack being for communication on the switched network by at least one application; and passing isochronous audio data in the isochronous audio packets to an isochronous audio application from the isochronous audio driver; executing, with the multi-tasking operating system, the network interface driver and the isochronous audio driver substantially in parallel with the protocol stack, the at least one application and the isochronous audio application, where providing the stream of packets to the isochronous audio driver, processing the stream of packets with the isochronous audio driver, and receiving the isochronous audio data with the isochronous audio application are executed in the multi-tasking operating system without interruption in response to a single interrupt request from the multi-tasking operating system, and the single interrupt being included in the second interrupt request. - View Dependent Claims (56, 57, 58, 59, 60)
-
Specification