The IEEE standard, “IEEE Std 1394-1995 Standard For A High Performance Serial Bus,” is an international standard for implementing an inexpensive high-speed serial bus architecture which supports both asynchronous and isochronous format data transfers. Isochronous data transfers are real-time transfers which take place such that the time intervals between significant instances have the same duration at both the transmitting and receiving applications. Each packet of data transferred isochronously is transferred in its own time period. An example of an ideal application for the transfer of data isochronously would be from a video recorder to a television set. The video recorder records images and sounds and saves the data in discrete chunks or packets. The video recorder then transfers each packet, representing the image and sound recorded over a limited time period, during that time period, for display by the television set. The IEEE 1394-1995 serial bus architecture provides multiple channels for isochronous data transfer between applications. A six bit channel number is broadcast with the data to ensure reception by the appropriate application. This allows multiple applications to simultaneously transmit isochronous data across the bus structure. Asynchronous transfers are traditional data transfer operations which take place as soon as possible and transfer an amount of data from a source to a destination.
The IEEE 1394-1995 standard provides a high-speed serial bus for interconnecting digital devices thereby providing a universal I/O connection. The IEEE 1394-1995 standard defines a digital interface for the applications thereby eliminating the need for an application to convert digital data to analog data before it is transmitted across the bus. Correspondingly, a receiving application will receive digital data from the bus, not analog data, and will therefore not be required to convert analog data to digital data. The cable required by the IEEE 1394-1995 standard is very thin in size compared to other bulkier cables used to connect such devices. Devices can be added and removed from an IEEE 1394-1995 bus while the bus is active. If a device is so added or removed the bus will then automatically reconfigure itself for transmitting data between the then existing nodes. A node is considered a logical entity with a unique address on the bus structure. Each node provides an identification ROM, a standardized set of control registers and its own address space. Because of these advantages, the IEEE 1394-1995 standard provides for a unique networking structure that is capable of incorporating audio/video devices, media play/record devices and computing/display devices.
A diverse range of products can be implemented with the ability to connect to an IEEE 1394-1995 serial bus network. These devices can have capabilities and functionality ranging from very simple to very complex. Specifically, a variety of audio/video devices, media play/record devices and computing/display devices are capable of being linked together over an IEEE 1394-1995 serial bus networking structure to support asynchronous and isochronous data transfers between the devices.
The IEEE 1394-1995 serial bus allows a collection of devices to work together in a high bandwidth, distributed environment to maximize the overall efficiency and functionality of the network. This allows manufacturers to remove expensive pieces of functionality from one device and locate that functionality in another device on the network, instead of duplicating this functionality in all devices on the network. While some of the devices have limited functionality and are relatively inexpensive, such devices require the support and interaction of other devices in order to bring the full functionality of the devices within the network to the user.
The AV/C Digital Interface Command Set is a command set used for data transactions between consumer audio/video equipment over an IEEE 1394-1995 serial bus. Neither the IEEE 1394-1995 serial bus nor the AV/C command set provide a master-slave relationship between the devices coupled within the IEEE 1394-1995 serial bus network. Instead, both the IEEE 1394-1995 serial bus and the AV/C command set operate based on a cooperative peer-to-peer coexistence of devices within the network. Discrete AV/C command and response data packets are transferred between networked devices over an IEEE 1394-1995 serial bus in an asynchronous data stream. The AV/C command and response data packets are typically formatted according to the AV/C protocol outlined in the AV/C Digital Interface Command Set. Transfers of AV/C command and response data packets over the IEEE 1394-1995 serial bus network are supported by an AV/C architecture. The AV/C architecture is comprised of lists and tables that help devices create, process and/or transmit AV/C command and response data packets. The AV/C architecture includes an AV/C bulletin board subunit that is typically dedicated to a resource device subunit such as a tuner, receiver or recoding unit.
An AV/C bulletin board subunit is an information structure that is shared between devices networked over an IEEE 1394-1995 serial bus network. A resource schedule bulletin board is also an information structure that supports information shared between coupled devices within a network. The resource schedule bulletin board provides the organizational structure through which shared data is organized and communicated. The resource schedule bulletin board contains sub-boards of lists with entry descriptors that represent encoded data that can be shared between devices within the network via descriptor commands. A dedicated AV/C bulletin board subunit typically supports the information architecture between that device and all compatible posting devices within an IEEE 1394-1995 serial bus network. A posting device writes a request entry to a write enabled list within the resource schedule bulletin board specifying when it will use the resource.
Neither the IEEE 1394-1995 serial bus nor the AV/C Command Set provide a master-slave relationship between the devices coupled within the IEEE 1394-1995 serial bus network. Instead, both the IEEE 1394-1995 serial bus and the AV/C Command Set operate based on the cooperative peer-to-peer coexistence of devices within the network transmitting data formatted in accordance with the AV/C protocol. The communicating devices exchange command and response data directly with each other without the intervention of a systems resource manager. Each device or device subunit is responsible for managing scheduling affairs and storing resource requests.
Within the current AV/C protocol, resource time of a resource device is made available to any requesting control device. Within this protocol a device competing for use of a resource device can acquire the right to use the resource device by reserving the resource device, even though another client device may have previously submitted an entry to the resource schedule board requesting the resource device at the same time. Devices may modify or delete data contained within the schedule entries submitted by other requesting control devices without acknowledging to the other requesting control devices that their respective schedule entries are being or have been modified. Thus, within the current AV/C protocol there is no method to allow control devices within a network to monitor schedule data or to provide a peer-to-peer review of schedule modifications.