Tuner Reservation Manager (TRM) coordinates the usage of tuners on the device for the connected clients on Gateway device and it is specific to Gateway devices only. TRM uses messages for communicating between Gateway and Client device to reserve, cancel, status retrieval, etc.
- The Gateway box contains multiple tuners (example, Gateway box having 6 tuner connected to it)
- The Gateway box connected with the incoming RF signal and it is also connected to client boxes through the MOCA/Router devices.
- TRM application runs on a gateway device and coordinates the usage of tuners on the device for its connecting clients based on the types of the request.
- Reserve a tuner for specified usage (Live playback, Record, Hybrid, or EAS), start time, end time and content (locator).
- Detect conflicts with existing tuner reservations and resolve.
How TRM works
Client requests a tuner through URL(http, dvr, live), TRM server receives the request and checks for the valid reservation and reserves the tuner so that the client is provided with the service requested. Client also can extend or delete the reservation. It is also possible for a client to request a list of the active reservations.
Usually Xg1 boxes have multiple tuners (in Xg1v3 box has 6 tuners (configurable)) & each tuners can have following states:
|Free||The Tuner is available for allocation.|
|Live||Currently tuned to a service and in use for viewing the live TV channel.|
|Record||Currently tuned to a service and recording a program.|
|Hybrid||Live view of recording in progress.|
|EAS||Emergency Alert Service.|
This diagram depicts the different element interact with TRM.
- The Guide server represent the primary user interface for end user.
- The user agent and the browser agents represents the local application acts as a client to the guide server.
- In case of html 5 application, the Browser/Agent would be web browser.
- The Recorder is an RDK component, it maintain a list of Active, Completed and Schedule of recording.
- The Scheduler is responsible for communicating with TRM for scheduling the recording (start, stop, pause).
TRM Communication and WebSockets
TRM uses WebSockets to communicate with other components. This diagram represent the running state of the Tuner Reservation Manager(TRM)
he above diagram depicts that how IP client device sends the request to gateway device for TRM service.
- TRM Server is a process, which starts and listen on a perticular port.
- TRM Server receives the Tuner reservation request from client device through websocket.
TRM Sequence Diagram
Refer the TRM API Documentation for more details about below concepts.
- TRM Message format
- How Tuner reservation happens
- Tuner Activity/states
- API interface specifications
- High level Design documentation