Figure 1 shows the layers of the Universal Remote console on the left side, and the layers of the Target Service/Device on the right.
The Universal Remote Console on the left hand comprises the layers (from top to bottom): Generic URC Layer, Networking Environment Specific URC Layer, Networking Environment Layer (UPnP, Jini, Salutation, etc.), and Wireless Connection Layer (Bluetooth, 802.11b, etc.).
The Generic URC Layer consists of three components: The UI Manager containing an object URC prefs; the AAIML Renderer containing the concrete UI model; and a Script Engine containing the objects scriptlets and URC vars.
The Networking Environment Specific URC Layer consists of two components: The Network Interface (client side) containing an object available targets; and a URC Session component containing the objects AAIML model, target vars, and target API.
There are arrows from the UI Manager to all other components, indicating that the UI Manager is conducting the overall process on the client side. The scriptlets object in the Script Engine exposes dashed arrows to these objects: concrete UI model, URC vars, target vars, and target API, indicating read and write access to these objects from scriptlets.
The other layers on the URC side have no components assigned.
The Target Service/Device on the right hand comprises the layers (from top to bottom): Generic Target Layer, Networking Environment Specific Target Layer, Networking Environment Layer (UPnP, Jini, Salutation, etc.), and Wireless Connection Layer (Bluetooth, 802.11b, etc.).
The Generic Target Layer consists of one component: The Target Manager containing three objects AAIML model, target vars, and target API.
The Networking Environment Specific Target Layer consists of two components: The Network Interface (server side) with an object accepted URCs, and the Target Session component with an object URC prefs.
Arrows from the Target Manager to the components in the layer below indicate that the Target Manager conducts the overall process on the server side.
The other layers on the target service/device side have no components assigned.
An arrow between the Wireless Connection Layers of the Universal Remote Console and the Target Service/Device indicates communication in both directions.