# How Many Mini's per Host DVR?



## sbiller

I seem to recall that someone here on TCF connected a 3rd Mini to their host DVR... Dave Zatz tweeted an answer to a question today that the Mini is currently capped at two per 4-tuner DVR. Is there really that limitation?

In the faq attached to my Amazon review of the Mini I included the following Q&A... I'm having trouble determining whether my Q&A is accurate on this issue.



> Q: How many Mini's can I have on my network?
> A: The number of Mini's is limited by the 10-device limit on a TiVo account. Theoretically you could have 1 host-DVR and 9-Mini's on a network although it is my understanding that a host DVR can only stream 4 programs simultaneously. Until I see other evidence, I would say the limit per host DVR is 3 Mini's where 2 Mini's can stream live television if the host-DVR is configured to allow 2 devices to watch live TV. TiVo has promised a software update to support Dynamic Tuner Allocation (DTA) in the future.


----------



## sbiller

Looks like I found the answer here -> http://www.tivocommunity.com/tivo-vb/showthread.php?t=502144

It would be nice to see a confirmation posted by TiVo on their faq.


----------



## Dan203

You can only allocate 2 tuners to live TV but you can actually have as many Minis as you want, up to the maximum 10 devices allowed on a single TiVo account. So if you just have one TiVo then you could have up to 9 Minis. However a single TiVo can only stream 3 things at a time, so you'd never be able to use more then 3 at a time and never more then 2 for live TV.


----------



## sbiller

Dan203 said:


> You can only allocate 2 tuners to live TV but you can actually have as many Minis as you want, up to the maximum 10 devices allowed on a single TiVo account. So if you just have one TiVo then you could have up to 9 Minis. However a single TiVo can only stream 3 things at a time, so you'd never be able to use more then 3 at a time and never more then 2 for live TV.


Thanks for that clarity Dan. The TiVo CSR I chatted with did not know that you could connect more than 2 to a host DVR.


----------



## Dan203

sbiller said:


> Thanks for that clarity Dan. The TiVo CSR I chatted with did not know that you could connect more than 2 to a host DVR.


They don't care. They're basically using the same interface to access the My Shows list as a second TiVo or the iPad app. There is no actual "pairing" between the Mini and the host, other then the Mini keeping a variable somewhere telling it which host it's suppose to be using. And live tuner allocation is actually partially dynamic already. The Mini simply polls the host DVR and asks if it has a tuner available. If it does then it grabs it, if not then it throws up an error. Same thing happens if you try to watch something and the TiVo is already streaming to 3 other devices.


----------



## Bigg

I'm still trying to figure out why they don't have DTA already. It seems like DTA would have been simpler to do than the kludge they ended up putting out. Good to know though, I may end up with 3. We'll see.


----------



## Dan203

What's DTA? Do you mean DLNA?


----------



## SullyND

My assumption was DTA = dynamic tuner allocation.


----------



## Dan203

Ahhh.... That makes sense. Forgot I was in the Mini forum. 

In that case they did implement all the easy parts of DTA. For example when the Mini wants to watch live TV it dynamically polls the host to find out if a tuner is available. It doesn't lock specifically to a certain tuner. The only part that's not dynamic is the allocation of the tuner on the host DVR. For that part DTA is not easy. TiVo's scheduling logic is closely tied to the number of tuners and is not dynamic. That's why it says it can take a few minutes for the To Do List to be updated when you make a change to a SP or recording. For DTA to work properly they need to make the whole scheduling engine dynamic and capable of adapting to changes in tuner allocation at the last minute. That's the part that is hard and why they don't have complete DTA already.


----------



## todd_j_derr

They could just schedule as if they have 4 tuners and resolve conflicts on the fly. If the Mini is watching Live TV when a recording is starting that requires that tuner, they get a prompt saying their tuner is needed with a choice of what to preempt if they want to continue watching.

It gets a little trickier if there are 2+ Minis and only 1 tuner is needed (and even more so if there are more than 2 minis involved), but that's tricky under any system.


----------



## Dan203

I think that's what they're going to do. However I don't think it's quite as simple to do as it sounds.


----------



## Bigg

Dan203 said:


> Ahhh.... That makes sense. Forgot I was in the Mini forum.
> 
> In that case they did implement all the easy parts of DTA. For example when the Mini wants to watch live TV it dynamically polls the host to find out if a tuner is available. It doesn't lock specifically to a certain tuner. The only part that's not dynamic is the allocation of the tuner on the host DVR. For that part DTA is not easy. TiVo's scheduling logic is closely tied to the number of tuners and is not dynamic. That's why it says it can take a few minutes for the To Do List to be updated when you make a change to a SP or recording. For DTA to work properly they need to make the whole scheduling engine dynamic and capable of adapting to changes in tuner allocation at the last minute. That's the part that is hard and why they don't have complete DTA already.


But they do that now. All 4 tuners will be running live with buffers, and then as they are needed to record, they record, and the last of the 4 is yanked from the live viewer. Just apply the same logic back down to the point where you are putting 3 live streams out plus one live locally, and you've got DTA.


----------



## Dan203

No, locally you can only be viewing one tuner at a time. So you're only prompted about the lowest priority show. All other recordings are guaranteed. With DTA and multiple Minis there is potential that all 4 tuners could be being used at one time. That's more complicated to deal with.

For example.... Say you have 4 different things that will all start recording at 5:00pm. As it is now if you're watching live TV the TiVo will prompt you asking if it's OK to change the channel for the lowest priority item. The other 3 thing will record regardless. Now assume you have 3 Minis and all three are actively using live TV. Who get's prompted for which show? If user #1 is prompted for the highest priority show and says "no" but the other 3 users all say "yes" does that mean the highest priority show wont record?


----------



## lessd

Dan203 said:


> No, locally you can only be viewing one tuner at a time. So you're only prompted about the lowest priority show. All other recordings are guaranteed. With DTA and multiple Minis there is potential that all 4 tuners could be being used at one time. That's more complicated to deal with.
> 
> For example.... Say you have 4 different things that will all start recording at 5:00pm. As it is now if you're watching live TV the TiVo will prompt you asking if it's OK to change the channel for the lowest priority item. The other 3 thing will record regardless. Now assume you have 3 Minis and all three are actively using live TV. Who get's prompted for which show? If user #1 is prompted for the highest priority show and says "no" but the other 3 users all say "yes" does that mean the highest priority show wont record?


Your talking DTA and I would say the priority will make the following difference, the 3 Minis will be disconnected one at a time, the first given up will let the TiVo record the 2nd in priority and so forth, if one or two Minis are not given up one or two shows will not record, the 3rd and 4th in priority. No other way I can see to do this


----------



## slowbiscuit

Dan203 said:


> No, locally you can only be viewing one tuner at a time. So you're only prompted about the lowest priority show. All other recordings are guaranteed. With DTA and multiple Minis there is potential that all 4 tuners could be being used at one time. That's more complicated to deal with.
> 
> For example.... Say you have 4 different things that will all start recording at 5:00pm. As it is now if you're watching live TV the TiVo will prompt you asking if it's OK to change the channel for the lowest priority item. The other 3 thing will record regardless. Now assume you have 3 Minis and all three are actively using live TV. Who get's prompted for which show? If user #1 is prompted for the highest priority show and says "no" but the other 3 users all say "yes" does that mean the highest priority show wont record?


You're making it more complicated than it needs to be - you send the prompt for any recording to all three and then figure out what you can record based on how many tuners you have left after the responses. Doesn't really matter what priority or which show it is (that you tell the live watchers), just figure out what you have left. Lie to them if you have to - tell them all it's the same show etc.

I don't see anything that difficult about implementing DTA, after all it's been done already on other platforms. But with Tivo, everything is too difficult and takes forever, that's probably why the Premiere hardware was ready way before they figured out the HDUI was a dog on it.


----------



## martyscholes

slowbiscuit said:


> You're making it more complicated than it needs to be - you send the prompt for any recording to all three and then figure out what you can record based on how many tuners you have left after the responses. Doesn't really matter what priority or which show it is (that you tell the live watchers), just figure out what you have left. Lie to them if you have to - tell them all it's the same show etc.
> 
> I don't see anything that difficult about implementing DTA, after all it's been done already on other platforms. But with Tivo, everything is too difficult and takes forever, that's probably why the Premiere hardware was ready way before they figured out the HDUI was a dog on it.


I see the problem now. Up until the Mini arrived, the Tivo would prompt you and _nothing would change_ while you were evaluating the prompt. The Mini has complicated things in that while you are evaluating the prompt, things could be changing because others have made live TV decisions which affect what tuners are available and which shows are scheduled to be recorded.

In effect, the prompt would have to switch from "Do you want to stay on live TV and cancel recording of SOME PROGRAM" to "Do you want to stay on live TV and cancel _zero or more_ of the following programs."

If I saw a prompt like that, it would anger me. If I made a decision from a normal prompt and the Tivo canceled some other show (such as some uber-critical show that my wife loves), I would be furious.

I can see the dilemma. How do other systems handle it?


----------



## Jonathan_S

martyscholes said:


> I see the problem now. Up until the Mini arrived, the Tivo would prompt you and _nothing would change_ while you were evaluating the prompt. The Mini has complicated things in that while you are evaluating the prompt, things could be changing because others have made live TV decisions which affect what tuners are available and which shows are scheduled to be recorded.
> 
> In effect, the prompt would have to switch from "Do you want to stay on live TV and cancel recording of SOME PROGRAM" to "Do you want to stay on live TV and cancel _zero or more_ of the following programs."


Ok, so there's now a race condition. You could largely handle it by forcing a synchronization mechanism. Add a synchronization queue to liveTV requests, so once that conflict screen pops up for the first person (whether local or a mini) the next person what would trigger it instead gets a 'please wait' screen.

Then once the first person has made their decision the next in line gets a correct conflict screen (updated based on what the first person just decided), then once they've decided it goes on to the next until the queue is empty.

Now that doesn't address the issue that person 2 might chose to preempt the program that person 1 just saved; but TiVo's always had the risk that another person in your household could override a recording you'd scheduled. <shrug>


----------



## Dan203

lessd said:


> Your talking DTA and I would say the priority will make the following difference, the 3 Minis will be disconnected one at a time, the first given up will let the TiVo record the 2nd in priority and so forth, if one or two Minis are not given up one or two shows will not record, the 3rd and 4th in priority. No other way I can see to do this





slowbiscuit said:


> You're making it more complicated than it needs to be - you send the prompt for any recording to all three and then figure out what you can record based on how many tuners you have left after the responses. Doesn't really matter what priority or which show it is (that you tell the live watchers), just figure out what you have left. Lie to them if you have to - tell them all it's the same show etc.
> 
> I don't see anything that difficult about implementing DTA, after all it's been done already on other platforms. But with Tivo, everything is too difficult and takes forever, that's probably why the Premiere hardware was ready way before they figured out the HDUI was a dog on it.


But TiVo's scheduling logic isn't currently dynamic enough to handle that. If all 4 users waited to the last second to make their decision then it may not have time to respond. Right now that prompt works because it's tied to one show with a simple yes/no answer that either allows the recording or cancels it. What you two are describing would require a more generic prompt, not tied to any specific show, and then for the scheduler to grab a tuner from the pool at the last second and fail it one isn't available. That might work, but that's not how the scheduler is currently designed, so it's probably more complicated then it sounds.

Another potential problem with that logic... Say you have two recordings. The highest priority one is scheduled from 8:00 to 9:00. The lower priority one is scheduled from 7:59 to 9:00. All tuners are being watched live by someone in the house. All users are prompted that the tuner is needed for a scheduled recording and only one user says OK. Now there is only one tuner in the pool for actual recordings. Since the lower priority show is on first it would actually take the tuner and the higher priority show would be canceled. Not really a desired result is it?

With the current system the user always knows exactly which show they'll be allowing/canceling. With the pool method there is really no way to tell the user that so it would need to be a generic prompt saying something like "This tuner is needed for a scheduled recording" and the repercussions of the decision may not be immediately obvious.

I guess the other option is to simply kick Mini users off the tuner when it's needed without the option to say no. Perhaps a simple prompt saying "This tuner is needed for a scheduled recording at XX:XX" with the only option being OK.

There are a few other options as well. For example by limiting the number of Minis watching live TV to a max of 2 for a 4 tuner unit they can at least guarantee that the highest priority show would be recorded at all times. Since there would always be at least one tuner available to the scheduler. They could also tie each show to specific tuner and only prompt the user using that specific tuner. Might be a little wonky though since it might prompt a user that is actively watching live TV while ignoring a Mini that may no longer be being used but hasn't time out yet.

In any case it is a complicated problem, from a usability standpoint, and I can see why they didn't make it immediately available.


----------



## sbiller

From the Moxi Mate faq -> http://moxi.com/us/support/moxi_mate/moximate_faq.pdf



> Mates do not have the ability to schedule delete or manage recordings on networked Moxi HD
> DVRs; however, a Mate-user may tale a tuner from an HD DVR user (a courtesy notice appears
> on the DVR) and, when a tuner conflict note is presented to them, can select to cancel a
> recording. See the Moxi Mate User Guide for more information.


Moxi Troubleshooting Guide -> http://moxi.com/us/support/moxi_mate/MoxiMate_TS.pdf



> Sometimes the channel Im watching is changed by another TV on my Home
> Network. Can I prevent that?
> Viewers in multi-room situations have equal control over the tuners.
> Moxi defines two types of viewers watching live TV provided by one Moxi HD DVR: active and
> passive. An active viewer is one who takes action to tune a channel to watch on their TV. During
> that action, the viewer watching a channel tuned by the same device is called the passive viewer.
> Moxi provides a ―courtesy notification‖ to the passive viewer which provides information on what
> is taking place IF there is a conflict. The passive viewer cannot stop the action taken by the active
> viewerthus, the active viewer may ―steal‖ a tuner.


----------



## Bigg

Dan203 said:


> I guess the other option is to simply kick Mini users off the tuner when it's needed without the option to say no. Perhaps a simple prompt saying "This tuner is needed for a scheduled recording at XX:XX" with the only option being OK.


^^^This. Also, Microsoft figured it out somehow in MCE. It's not like they are breaking new ground here.


----------



## Dan203

I don't think it's breaking new ground. But it's probably not easy to accomplish with the current design. If they were starting from scratch then it would make sense to build that capability in, but when you're trying to adapt code that has been in place for 14 years it can be a little more difficult.


----------



## todd_j_derr

Yeah, I had a Moxi + Mates for a few years. As above it presented you with an option of what to cancel (including the ability to stop another box from watching live TV, IIRC), with the default being cancel nothing/stop watching Live TV. I never really tested how it behaved under various multiple device scenarios - since it's just me and my wife it didn't really happen often despite having 3 mates with only 3 tuners to share.

There are race conditions but there are sane ways to handle them. Show the conflict box on all the Minis. Two or more boxes might try to act at the same time, in which case you order their actions and only cancel as much as is necessary. If we needed 1 tuner, and multiple boxes try to cancel different shows, one of them "wins" and the rest get a dialog saying "X was cancelled on another Tivo, so nevermind". More generally, if you need N tuners and get >=N unique cancellations, then N take effect and the rest get the "nevermind" message. If you get <N, present a dialog with updated choices. Ideally you could update the dialogs on other boxes as changes are made, but that's not required for that scheme to work. It might take multiple iterations to sort it out but eliminates any ambiguity about what is going to be cancelled.


----------



## redbeard25

Here's my idea:

Given, only two tuners can be used for live TV streaming.

If one Tivo mini is using a tuner for Live TV, and the Premiere wants it, the message on the mini says,

"In order to continue watching Live TV, which of the following recordings would you like to cancel?"
___ Show 1
___ Show 2
___ Show 3
___ Show 4
_x_ Stop watching Live TV

If I pick a show, it cancels, and I continue watching Live TV.

If there are TWO minis streaming Live TV, the one with the tuner that is slated to get the HIGHEST priority recording says:

"In order to continue watching Live TV, which of the following recordings would you like to cancel?"
___ Show 1
___ Show 2
___ Show 3
___ Show 4
_x_ Stop watching Live TV

If I pick a show, it cancels, and I continue watching Live TV.

The one with the tuner that is slated to get the LOWER (#2) priority recording says:

"In order to continue watching Live TV, which of the following recordings would you like to cancel?"
___ Show 2
___ Show 3
___ Show 4
_x_ Stop watching Live TV

(Show 1 is the highest priority)

If I pick a show, it cancels, and I continue watching Live TV.

On the Premiere end, here are the outcomes:

Mini 1 - Stop watching Live TV
Mini 2 - Stop watching Live TV

Tuner 1 - Show 1 records
Tuner 2 - Show 2 records
Tuner 3 - Show 3 records
Tuner 4 - Show 4 records

Mini 1 - Any choice
Mini 2 - Stop watching Live TV
(or vice versa)

Tuner 1 - Uncancelled show records
Tuner 2 - Uncancelled show records
Tuner 3 - Uncancelled show records
Tuner 4 - Live TV on Mini 1

Mini 1 - Any choice
Mini 2 - Any choice

Tuner 1 - Uncancelled show records
Tuner 2 - Uncancelled show records
Tuner 3 - Live TV on Mini 1
Tuner 4 - Live TV on Mini 2

Am I missing something here? Maybe what shows up on the Premiere?


----------

