The invention concerns a method for establishing a communication between an HTTP gateway and a web client on a non-IP based network, in particular in the case where the network is based on the HAVi standard.
A home network may be composed of several sub-networks using different technologies. For example, a non-IP based home network can be connected to an IP-based network. The communication of a web browser in a home device located on the non-IP home network to a web based service on the IP-based network typically involves the use of three main software components, a web client located in the device on the home network, a web server hosting the service on the IP based network and a gateway (or equivalent interface device) between the home network and the IP-based network, acting as a web proxy. This proxy could be located in a bridge device connected both to the home network and the IP-based network.
The regular behavior of a web application involving a web browser and an HTTP server is as follows. The web client makes an HTTP request to the server and gets back a response from the server. The client normally always initiates the communication. For some applications, a mechanism, called push, has been imagined to allow the server to make the client aware of the existence of new content available on the server. The standard way of doing so is to use a mechanism like the Remote Method Invocation (RMI) to allow the server to provoke a request of the new content from the client or to directly push data from the server to the client.
The problem to be solved is to implement such a push method when the client is on a non-IP based network that doesn't have any mechanism such as Remote Method Invocation. An example of such network is a digital home network based on IEEE 1394 and implementing the HAVi specification.
The invention concerns a method for implementing an update mechanism between an HTTP gateway and a web client, both connected to a non-IP based network, characterized by, said non IP based network having event management capabilities, the steps of:
In this embodiment, the HTTP gateway may act as a regular web client connected to an IP-based network for the web server delivering the service on the IP-based network. The HTTP gateway can implement a regular push mechanism such as Remote Method Invocation to be aware of the update of information of the web server, but any other method can be imagined. On another hand the HTTP gateway implements the event-based mechanism according to the embodiment to push the updated data to the web client on the non-IP based network. Event based mechanism on non-IP network are mechanisms in which each device on the network implements an event manager. This event manager allows the device to be aware of events occurring on the network and to trigger some events on the network. Such an event manager allows the device to select the kind of event it wants to be informed of this mechanism is being referred to as ‘event subscription’.
The invention concerns also the web browser and the HTTP gateway that implements the method. In particular the invention concerns a home device hosting a web client characterized by means for registering with an event manager to receive at least one event and means for requesting transmission of updated data according to information obtained in said at least one event. The invention concerns also a http gateway characterized by means for sending events to a non IP based network, when the update of a data object occurs on a server.
Other characteristics and advantages will be described in a non-restrictive embodiment of the invention. The embodiment will be described using the enclosed figures, among which:
The present and non restricting embodiment is based on the Home Audio Video interoperability (HAVi) specification, maintained by HAVi, Inc. 2694 Bishop Drive, Suite 275 San Ramon, Calif. 94583, USA, as well as on the Open Services Gateway initiative (OSGi) for which more information is available from OSGi, Bishop Ranch 2 2694 Bishop Drive, Suite 275 San Ramon, Calif. 94583 USA.
HAVi defines architecture for facilitating interoperability and development of distributed applications on home networks. It is intended for implementation on consumer electronics devices and computing devices. OSGi on the other hand focuses on the delivery of services to networks, such as a HAVi network. The OSGi Framework and Specifications facilitate the installation and operation of multiple services on a single Open Services Gateway (set-top box, cable or DSL modem, PC, Web phone, automotive, multimedia gateway or dedicated residential gateway).
This architecture allows encapsulation of HTTP messages in HAVi messages.
According to the present embodiment, this global application is an HTTP/HTML application, accessible to the HAVI device through the HAVi browser. The OSGi application maintains pages representing the status of the Ethernet and IEEE 1394 (HAVi) networks and of the devices connected to these sub-networks. The OSGi application is informed of changes on the sub-networks through the protocols running on these sub-networks. When the OSGi application updates the HTML pages, transmission of the updated pages is carried out as follows:
For the Ethernet network, a remote method invocation is performed to push the data to a client.
For the HAVi network, the mechanism used the HAVI event manager to notify a HAVi client that a data update is required. In response to the notification, the HAVi client then requests the data from the OSGi application. In other words, it becomes the client's responsibility to pull the updated HTML data from the OSGi server.
This mechanism will now be described in more detail. Every HAVi device comprises a mandatory software element called ‘Event Manager’. Another software element of the device can register with the local Event Manager, specifying the events it would like to be notified. The Event Manager of a device has the following tasks: when an event is generated locally by its device, it transmits this event over the network, and when it receives an event from the network, it must notify all local software elements who registered with the Event Manager for notification of this event.
The services provided by the Event Manager are described in section 5.4 of the HAVi specification version 1.1. An event comprises an event identifier and an event body. Three types of events are defined: system specific events, vendor specific events and application specific events. The latter can be generated by a specific software element to inform other devices or software elements of internal changes. This event type is used in the present embodiment.
The event identifier indicates the type of the event, and the identity of the application that generated it.
According to the present embodiment, an event called “Web Page Update” is defined. The OSGI application (which is a HAVi application module) or the HAVI WEB proxy running on the OSGi server use this event to inform a client application that an HTML page has been refreshed. An identifier of the HTML page is included with the event. In the present case, the event identifier is chosen so as to unambiguously indicate the web page update. The event body contains the address of the web page itself.
The web browser 3 of the HAVi client (which is also a HAVI application module) will subscribe to its local Event Manager for the event having the identifier corresponding to the HTML page update. All HAVi components having done so with their local Event Manager will then be notified concurrently. Upon notification, these components can then send a message to the OSGi server, requesting transmission of the page identified by the address given in the event body.
Although the embodiment concerns HAVi and OSGi, the principle of the invention can be applied in other environments where a data push is not directly possible and where a data server needs to force a client to retrieve updated data.
While the embodiment above concerns mainly http and HTML, the invention is not limited to this context. It can be used in any environment where a push mechanism needs to be implemented in a network seeking to access a server in another network.
Number | Date | Country | Kind |
---|---|---|---|
02290612.7 | Mar 2002 | EP | regional |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP03/03190 | 3/10/2003 | WO | 9/10/2004 |