Content is likely to be delivered by multiple delivery systems. It is possible that, for a single interactive TV program, some of the resources are deliverable by means of multiple (possibly shared) broadcast channels (either terrestrial or cable) whereas other (custom) resources are deliverable by means of a return channel. Objects delivered by a certain method may refer to objects delivered by other means. Intuitively, it is expected that the collection of resources delivered define a virtual file system, which is similar to a traditional file system, with the exception that its components are partially in the sky (i.e., terrestrial broadcast), partially in cyberspace (i.e., a wide spectrum from walled-garden to the open Internet), and partially in the local receiver storage (e.g., RAM, disk, pluggable hardware). The delivery configuration, namely which resources are delivered by which means, may not be known at the time of authoring, or it may change dynamically over time. It is therefore required that receivers locate and retrieve resources from multiple networks on a best-effort basis. To achieve true network independence, one can decouple the design and implementation of the application execution environment from the methods by which resources are delivered, receiver implementation may choose to introduce an asynchronous Late Binding Interface (LBI), which serves as a mediator between the application environment and the network; it abstracts out the details of resource access into a simple request-response mechanism (see Figure 4.13). The LBI implementation should actively listen on accessible broadband network channels and should construct, in an implementation dependent manner, a complete index of its content. On receipt of an object request, the LBI implementation provides one or more responses that unambiguously map to that request. The application environment may rely on the receipt of a response to every request, but the time period for the response is context sensitive and may vary greatly. Nevertheless, receivers should utilize their local cache to store the complete index as well as some resources, before a request to retrieve their data is made. Further, the LBI could be implemented to issue responses that a resource is being searched or is likely to be received soon but without delivering the requested content. Figure 4.13. Using the Late Binding Interface (LBI) as a data delivery abstraction layer.
4.5.1 The LBI RequestEach request from the application environment to the LBI should contain a request ID that is unique among all requests not yet canceled or otherwise completed. At least three types of requests should be supported:
4.5.2 The LBI ResponseEach response should minimally contain the ID of the request it responds to. At least two types of responses should be supported:
|