FAQ: Protocols
- How does the HAVi spec differ from, and work with, standard Internet Protocol (IP)?
- Does HAVi work with JAVA?
- Which Java version is used by HAVi?
- Do all HAVi devices have to offer this Java programming environment?
- What is the difference between native applications and Java applications?
- What are the similarities and differences between HAVi and Jini, and the relationship between them?
- What are the similarities/differences between HAVi and Home API (HAPI), and what is the relationship between them?
- Why did HAVi adopt IEEE-1394 for the HAVi network?
- Is HAVi IEEE-1394 specific?
- What is the relationship of HAVi to VESA, DVB, ARIB, DAVIC, etc.?
1. How does the HAVi spec differ from, and work with, standard Internet Protocol (IP)?
The Internet Protocol (IP) was designed to solve several complex problems related to message delivery in widely distributed computer networks such as the Internet. Home networks are generally more contained and predictable environments than the Internet.
The HAVi architecture was designed to fully exploit the capabilities of the IEEE-1394 technology, and to solve the problems of reliable message delivery in these environments in a much more economical manner. An IP protocol stack is generally much too complex for the typical HAVi device to support, and does not add value in a closed home network environment. Based on these considerations, it was decided that IP was not a good choice as the underlying networking protocol for HAVi.
However, it is obvious that IP will play an important role in in-home networks. This can be seen from the following trends:
- Real-time AV streams, such as audio, video and voice will come to the home via the Internet and will have to be delivered to HAVi devices.
- More and more devices in the home will benefit from being able to access the Internet.
IP can be transported via 1394 and Real Time Streaming via IP/UDP/RTP/RTCP can be directly mapped to 1394s isochronous services. This is the one and only solution for in-home distribution of AV-Streams that have been accessed via the Internet.
HAVi has defined special Web Access APIs that can be implemented by HAVi devices to enable any HAVi device in the home (such as PCs or internet-enabled TVs) to have access to the Internet, without requiring the device to have an IP stack itself. Through these APIs, the Internet protocols such as HTTP and FTP are encapsulated and delivered to these HAVi devices.
2. Does HAVi work with JAVA?
Yes. HAVi specifies an open and standardized Java programming environment for applications and DCMs on HAVi devices. The use of Java assures that applications and DCMs will run on any HAVi device from any manufacturer that offers devices for this environment.
This is a big change from the current situation for CE (Consumer Electronics) devices where applications are bound to one specific device. With HAVi, applications and DCMs are separate installable items with a value of their own.
HAVi and Java are related in the following aspects:
- The uploadable DCM, FCM, and Application Module are written in Java bytecode, and are installed on FAV devices which contain a Java virtual machine (JVM).
- In Level 2 GUI of HAVi, a subset of Java AWT is used.
3. Which Java version is used by HAVi?
HAVi complies to JDK1.1.* The particular class libraries supported can be found in section 7 of the HAVi specification
4. Do all HAVi devices have to offer this Java programming environment?
No. There are two types of HAVi devices: Intermediate AV devices (IAVs) and Full AV devices (FAVs). An FAV can execute Java applications while IAVs can only execute native applications.
5. What is the difference between native applications and Java applications?
Native applications execute on a device-specific platform and therefore execute only on a particular HAVi device. Native applications can only be written and supplied by the vendor of the HAVi device or by someone who has specific knowledge of its platform.
Java applications can be executed on any FAV from any manufacturer, and anyone can write Java applications for FAVs, not just the manufacturer of the FAV. Java applications, via the Java APIs (Application Programming Interfaces) as defined in the HAVi specification, can control other HAVi devices just like native applications.
6. What are the similarities and differences between HAVi and Jini, and the relationship between them?
Similarities between HAVi and Jini:
- Both HAVi and Jini aim to create a network of devices which users can easily connect and operate.
Differences between HAVi and Jini:
- HAVi targets AV devices, whereas Jini currently focuses more on IT devices such as printers, etc.
- HAVi is based on 1394 protocols, whereas Jini is based on IP protocols. 1394 provides better support for AV streaming and plug-and-play than does IP.
- While Jini is Java-based, HAVi APIs are IDL-compliant.
- Currently Jini is only available on JDK 1.2; HAVi uses a much smaller set of Java packages (java.lang, java.io, java.util and parts of java.awt).
- Regarding the relationship between HAVi and Jini, currently, Sony, Philips and Sun Microsystems, are developing a HAVi-Jini bridge that will enable devices in the HAVi and Jini networks to seamlessly send/receive commands/data. In February 1999, such a bridge was publicly announced.
7. What are the similarities/differences between HAVi and Home API (HAPI), and what is the relationship between them?
Similarities between HAVi and HAPI:
- Both HAVi and HAPI aim to create a network of devices which users can easily connect and operate.
Differences between HAVi and HAPI:
- While HAPI addresses the full spectrum of home devices (TV, VCR, refrigerators, washing machines, etc.), HAVi addresses 1394 AV devices.
- While HAPI targets Windows application clients which are usually PC-based, HAVi targets platform-neutral application clients (peer-to-peer).
- Regarding the relationship between HAVi and HAPI, HAVi-HAPI is being considered by various companies, but nothing has been publicly announced yet.
8. Why did HAVi adopt IEEE-1394 for the HAVi network?
HAVi adopted the IEEE-1394 bus (also referred to as i.LINKTM or FireWireTM) as the underlying network technology for the HAVi protocols as well as for the transport of the real-time AV streams. Today this means that HAVi devices are IEEE Std 1394-1995 and also IEC 61883 compliant for the transport of real-time AV streams like DV and MPEG2. More precise compliance requirements can be found in section 1.5 of the HAVi specification.
IEEE-1394 was adopted because of the following features:
- Support for isochronous streams to transfer real-time AV streams.
- Sufficient speed (400 Mb/s) at acceptable cost.
- Hot plugging, self configuration.
- Transfer of asynchronous commands for the HAVi protocols and isochronous streams over the same interface.
- Wide acceptance in the CE and IT industry.
In IEEE, additional standardizations are ongoing such as P1394.a, P1394.b and P1394.1. These standards enhance the functionality of IEEE Std 1394-1995 to allows for higher speeds, longer distances and larger configurations. When these standards are completed, HAVi will evaluate these new technologies. However for the next 2 to 3 years, IEEE Std 1394-1995 will allow users to build clusters of HAVi devices of sufficient size and complexity to prove valuable for users.
9. Is HAVi IEEE-1394 specific?
Yes. IEEE-1394 is the only mandatory interface for a HAVi device, as well as for a BAV device. This guarantees that all HAVi and BAV devices can be physically connected (they have the same type of plug) and it also prevents the need for internetworking as a general mechanism in the HAVi protocol stack on each HAVi device. This greatly simplifies issues for the user as well as for HAVi devices in these ways:
- Adding new devices remains a matter of plug-and-play for the user.
- No need for special and possibly expensive devices like routers or gateways that may need to be configured by the user.
- No need for additional protocols in the HAVi protocol stack.
However, this does not prevent individual vendors from offering multiple interfaces on their HAVi devices, such as wireless links, analog, etc., to be able to connect more devices. It is up to the manufacturer of such a HAVi device to provide a DCM and, if necessary, transcoding of real-time AV streams to allow other HAVi devices to control these devices and send or receive real-time AV streams from it.
10. What is the relationship of HAVi to VESA, DVB, ARIB, DAVIC, etc.?
The eight HAVi companies are actively promoting the HAVi specification to these organizations as a widely supported industry standard for in-home networks.
* Java and JDK are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.
©2000-2001 HAVi
Having difficulty viewing our site?