Remote DVR Programming via Asynchronous Web Server
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional systems do not allow users to program digital video recorders (DVRs) from remote locations, requiring users to be in close proximity to the DVR to record desired programming, leading to missed recordings due to unpredictable timing of events.
Innovation Solution
A remote programming system that uses a computing server system with a web server, delayed-job server, and access server to accept user input via a web page, store job entries, and communicate function requests to the DVR, enabling users to program their DVRs from remote locations through networked devices like computers or mobile devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If users program DVR using integrated user interface controls or remote control devices, then the DVR can be programmed from close proximity, but the DVR cannot be programmed from a remote location
Solution Approach 1:
The patent introduces a server as an intermediary between the user's computing device and the DVR. The server receives programming requests from the user via web pages, processes these requests, and communicates commands to the DVR. This intermediary enables remote programming while managing the complexity of network communication and device control protocols.
Solution Approach 2:
The patent replaces the mechanical/optical remote control system (infrared, laser, or RF signals requiring line-of-sight or close proximity) with an electronic network-based system. Users interact through web browsers over the internet or network, substituting physical remote control mechanisms with software-based communication protocols.
2Reliability
If the web server waits for function request response from the delayed-job server, then it can ensure proper communication, but the web server is blocked while waiting
Solution Approach 1:
The web server sends the function request to the delayed-job server and immediately continues processing without waiting for the response. The system performs preliminary actions (sending the request) and schedules follow-up actions (handling the response) without blocking the main execution flow, thereby maintaining both reliability and responsiveness.
Solution Approach 2:
The system transitions from a static blocking wait model to a dynamic asynchronous model. The web server dynamically continues its work while the delayed-job server independently handles the communication and response processing, allowing the system to adapt and remain responsive without sacrificing communication reliability.
3Ease of operation
If traditional remote control systems are used, then the system structure remains simple, but users must be in the same room as the DVR to program it
Solution Approach 1:
The system implements feedback mechanisms where the server receives responses from the DVR and communicates status information back to the user through the web interface. This feedback loop provides users with confirmation of their programming requests and status updates, compensating for the lack of direct visual feedback from local displays.
Data Source
AI summary
A web server presents a web page to a user. The web page dynamically presents information corresponding to a digital video recorder (DVR) associated with the user. The web server accepts input information to control the DVR. A delayed-job server accepts input from the web server and stores a job entry corresponding to the input in a message queue. The delayed-job server processes the job entry from the message queue and creates a function request representative of the web server input. An access server accepts the function request from the delayed-job server and bi-directionally communicates messages with the DVR. The access server communicates a response to the function request back to the delayed-job server. The delayed-job server communicates data from the response to the web server, wherein the web server is not blocked while waiting for the response from the delayed-job server.


