![]()
The Ensemble Jukebox presents a model of the network as a global database of audio files and devices. Resources are contributed to this database by applications that run in the Ensemble group. Typically, each machine has one server application that contributes the local cdrom drive, the local audio card, and any local audio files to the group. As servers start, they notify the group of their resources using the mechanisms of Ensemble. Similarly, when a server fails, its resources are automatically removed from the database.
The Local directory (which can be viewed in EJB using the Local button), contains a listing of all the audio resources at any given time. Any of these entries can be selected for playback, and given sufficient network bandwidth, the user will not notice any difference between local playback and playback over the network. In addition, the user can create collections (see the section on directories) that contain audio sources from distributed locations. The entries in a collection are played in sequence, with the EJB server coordinating distinct sources.
The diagram below presents a model of a running application with distributed audio resources. An EJB application contains one or more instances of an EJB server (described in the section on servers), where a single server manages all the audio resources on a single machine. The servers form a group to present the view of a global database. Users interact with this server group by starting a client EJB application (which connects to one of the servers). Each user may interact through one or more of the EJB clients.
