BilVideo-7 has a distributed, client-server architecture (Figure 1). Users formulate queries on BilVideo-7 clients, which communicate with BilVideo Query Processing server using an XML-based query language over TCP/IP. The Query Processing Server parses queries into sub queries, retrieves the required data from XML database using XQuery, executes sub queries, fuses outputs of sub queries and sends query results back to the clients.