I may be beating a dead horse here, but here is my attempt at an explanation.
As stated in the other post, Jreceiver (and the original ARM software) acts as the music database and server, while Trio (and the original receiver.arf software) is the client.
The confusing/complicated part is that Trio has split the "client" into two pieces, part that runs on the Rio Receiver (riot), and part that runs on the PC as a Java App (tRio) trio/riot could be considered their own server/client
pair, but together, they're the client to the ARM/Jreceiver server.
So, Trio/riot is responsible for requesting and displaying the contents of the music database, letting the user request tunes from the server, and playing the music that is sent from the server, while Jreceiver keeps track of (and reports) what music is in the database, and sending the requested tunes to the receiver.