I was wondering if there is an existing problem in the literature that is similar to the following one: Suppose real-time streaming of signals. Each signal has a Time of arrival, duration, and a priority number. Two signals collide if they overlap at some point in time.
I want to take in input an amount X of sources (each source sends to me signals in real time), and be able to schedule signals and send them to Y queue in output. Each queue in output will receive a stream of non-overlapping signals. The constraint is that I don't want to discard signals with priority j while another overlapping signal with priority k
Now, with a defined amount of signals in the input, it is possible to look for local maxima that must be sent and search for compatible signals based on the priority. But in real-time streaming, there may be the case where you are receiving signals with increasing priority for a long time, therefore a local-maxima may require a lot of time to be reached. In order to get a fast response, I thought about divide the stream based on a time-window or a window of #signals and then analyze that, allowing a small percentage of error wrt the optimal solution.
Are there any problems in literature, maybe considering the tradeoff between the window and the percentage of wrong signals?
A small example:
----(1)
..-----(2)
.....-------(5)
......----(3)
With 2 queues in output the result will be:
1) 5
2) 1 3
The worst case scenario is the following:
----1
..-----2
...------3
.....------4
.......-----5
........------6
.........----------7
and so on, where priority always increase and you can never select a signal that does not collide with other signals with greater priority and start the analysis backward to find compatible signals that can be sent.