SageTV Community  

Go Back   SageTV Community > SageTV Products > SageTV Software
Forum Rules FAQs Community Downloads Today's Posts Search

Notices

SageTV Software Discussion related to the SageTV application produced by SageTV. Questions, issues, problems, suggestions, etc. relating to the SageTV software application should be posted here. (Check the descriptions of the other forums; all hardware related questions go in the Hardware Support forum, etc. And, post in the customizations forum instead if any customizations are active.)

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 12-25-2003, 12:23 AM
Paul McHale Paul McHale is offline
Sage User
 
Join Date: Dec 2003
Posts: 7
Multiple tuner support = multiple copies ?

If I use multiple tuners, do I have to run multiple copies of sagetv? Are multiple tuners transparent to the user ?
Reply With Quote
  #2  
Old 12-25-2003, 01:09 AM
carlgar carlgar is offline
Sage Icon
 
Join Date: Oct 2003
Location: Brentwood, TN
Posts: 1,866
A single copy of SageTV will support multiple tuners. Not quite sure what you mean by transparent but believe the answer is yes for the most part. However, the tuner assignment logic may not be exactly what you expect. For example, I have a favorite show with both leading and trailing padding of 2 minutes. If the favorite is shown back to back on the same channel, I expected first show on tuner1 and the next on tuner2 with a 2 minute overlap. What I currently see is the shows recorded using only 1 turner, which can result in a loss of a few seconds of data, if the programs do not start and end at the exaxt time.
__________________
Server : Intel Core i7 2.8 GHz Processor: Gigabyte X58A-UD3R Motherboard: 6 GB Memory : 1 120 GB Intel SSD :3 2 TB WD hard drives:1 Hauppauge PVR 2250: 3 HDHomeRuns:1 HD300 extender;1 HD200 extender;1 HD100 extender 2 MVP Media Extenders: Windows 7 64 bit Home Premium all updates applied, SageTV V7.1.7.254.
Reply With Quote
  #3  
Old 12-25-2003, 08:25 AM
fidget's Avatar
fidget fidget is offline
Sage Icon
 
Join Date: Jun 2003
Location: Cedar Rapids, Iowa, USA
Posts: 1,186
Re: Multiple tuner support = multiple copies ?

Quote:
Originally posted by Paul McHale
If I use multiple tuners, do I have to run multiple copies of sagetv? Are multiple tuners transparent to the user ?
If all of the tuners are in the same computer then you will only need one copy. I have one computer with two tuners, but a second computer with a third. In this second computer, I have Sage Recorder installed so that my copy of SageTV can access that tuner over the network. Aside from the initial setup of that third tuner (network encoders take a special configuration), SageTV thinks it just has three tuners to use.
Reply With Quote
  #4  
Old 12-26-2003, 01:10 AM
wr202 wr202 is offline
Sage User
 
Join Date: Nov 2003
Posts: 15
fidget, what happens if your first computer locks up or is down temporarily? Would the second computer being able to record what had been scheduled? Do both computers need to be up all the time for the network to work properly?
Reply With Quote
  #5  
Old 12-26-2003, 09:08 AM
fidget's Avatar
fidget fidget is offline
Sage Icon
 
Join Date: Jun 2003
Location: Cedar Rapids, Iowa, USA
Posts: 1,186
Quote:
Originally posted by wr202
fidget, what happens if your first computer locks up or is down temporarily? Would the second computer being able to record what had been scheduled? Do both computers need to be up all the time for the network to work properly?
There is currently no ability for two SageTV servers to work on a peer-to-peer basis. I don't know if that is a feature for SageTV 2.0, but it would be nice. SageTV does handle the network encoder being brought offline quite well. When it comes back online, it gets automatically added to the list of encoders.

The problems that I have read (but my system does not duplicate) with network resources has to do with storing all the files on a remote computer. If that computer is reset then SageTV will "forget" about the files stored there. This is not a problem with my system since all the files are stored locally.

I run XP home on my machine, with a UPS connected for power, and haven't had a problem with the computer hanging or crashing. It does have a bazar time problem if it has been on for more than two weeks (it gets to be 2 minutes fast), but other than that it has been very reliable. A quick reboot solves my clock problem.
Reply With Quote
  #6  
Old 12-26-2003, 11:01 AM
Paul McHale Paul McHale is offline
Sage User
 
Join Date: Dec 2003
Posts: 7
To cure your clock problems, consider an NTP client. One I would suggest is:

http://www.thinkman.com/dimension4/

It is free and will automatically set yo clock. I use day.speakeasy.net as my time server. There are about a dozen suggestions in the program. It works very well and should solve your problem.

Maybe version 2.0 could include internet clock setting via ntp? I don't think it is that hard unless extreme accuracy is desired. Dimension 4 is usually sub .5 seconds of error. Mostly fractions of a second. Even a poorly written one should be within a few seconds. The last time it synchronized it was .02 seconds off.
Reply With Quote
  #7  
Old 12-26-2003, 11:28 AM
ErsatzTom's Avatar
ErsatzTom ErsatzTom is offline
Sage Expert
 
Join Date: Dec 2003
Location: Southwest Florida
Posts: 712
Send a message via AIM to ErsatzTom
Quote:
Originally posted by fidget
There is currently no ability for two SageTV servers to work on a peer-to-peer basis. I don't know if that is a feature for SageTV 2.0, but it would be nice.
I would think that this would be pretty hard to implement. All of the data would have to be replicated on each system and kept synchronized. I suppose you could do this with an relational database (which I would love) that supports replication. Otherwise, if the guide data, favorites, etc goes off-line how would another tuner know what to record? Also, all running instances of Sage would have to negotiate who was going to be making the scheduling decisions. Also, Sage Client would have to be able to either discover servers or have multiple address to try in case its primary goes down (probably both solutions to make normal lan configurations easy while making it possible to have less common internet/segmented network setups work).

And think about this.. if you have all you machines up but there is a network outage. Now all your servers think that they are the only server still up. They would all start recording the same shows. Also, since an outage would almost certainly happen in the middle of recordings, how would that situation be handled?

I agree it would be very cool if they could make this work but it probably adds more problems than solutions.

t
__________________
Thomas Micheline
duff@sage-community.org
http://www.sage-community.org/
Reply With Quote
  #8  
Old 12-26-2003, 07:25 PM
fidget's Avatar
fidget fidget is offline
Sage Icon
 
Join Date: Jun 2003
Location: Cedar Rapids, Iowa, USA
Posts: 1,186
Quote:
Originally posted by Paul McHale
To cure your clock problems, consider an NTP client. One I would suggest is:

http://www.thinkman.com/dimension4/

It is free and will automatically set yo clock. I use day.speakeasy.net as my time server. There are about a dozen suggestions in the program. It works very well and should solve your problem.

Maybe version 2.0 could include internet clock setting via ntp? I don't think it is that hard unless extreme accuracy is desired. Dimension 4 is usually sub .5 seconds of error. Mostly fractions of a second. Even a poorly written one should be within a few seconds. The last time it synchronized it was .02 seconds off.
My problem is strictly an XP problem. If I reset the clock, it will slowly get faster until it reaches 2 minutes (usually within 2 hours) and then stay stable. The only way I can get things to reset properly is to resynch the clock with a time server and then reboot. I really don't want to have to resynch the clock every half hour, which is the only alternative .

What is really odd is that the clock does not run slightly fast (i.e., does not gain 10 seconds per day). It says rock solid until some point then jumps to running 2 minutes fast.
Reply With Quote
  #9  
Old 12-26-2003, 07:50 PM
fidget's Avatar
fidget fidget is offline
Sage Icon
 
Join Date: Jun 2003
Location: Cedar Rapids, Iowa, USA
Posts: 1,186
Quote:
Originally posted by ErsatzTom
I would think that this would be pretty hard to implement. All of the data would have to be replicated on each system and kept synchronized. I suppose you could do this with an relational database (which I would love) that supports replication. Otherwise, if the guide data, favorites, etc goes off-line how would another tuner know what to record? Also, all running instances of Sage would have to negotiate who was going to be making the scheduling decisions. Also, Sage Client would have to be able to either discover servers or have multiple address to try in case its primary goes down (probably both solutions to make normal lan configurations easy while making it possible to have less common internet/segmented network setups work).

And think about this.. if you have all you machines up but there is a network outage. Now all your servers think that they are the only server still up. They would all start recording the same shows. Also, since an outage would almost certainly happen in the middle of recordings, how would that situation be handled?

I agree it would be very cool if they could make this work but it probably adds more problems than solutions.

t
There is already a way to tell the server about the location of remote encoders, so I would like to make each remote recorder be a potential server. If it is an instance of SageRecorder, then it would not be given the chance to be the master server.

What I would like to see is each recorder storing its program list. I would also add the list of recorded programs to the protocol that is used to communicate with remote encoders. This way, if I have a copy of SageRecorder on a networked machine (or a peer SageTV instance), it would know which shows it has recorded. When I want to play a show back, my client communicates with the recorder instance and it is played back through there. If the recorder (or peer SageTV instance) is reset then the list of its programs would be transferred once it came back online and was detected by the other serers.

I do network programming for a living and the discovery of other servers is very simple, especially when you know where they are suppose to be. SageTV already does this with networked encoders. If it used something like Rendezvous then I wouldn't have to give it a list of servers (pardon the cool technology plug, I got carried away). Mastership could be assigned to the server with the highest IP address.

In my home, if the network is down then I have lost power to my house (my PCs are on UPSs but the switch is not). In this case, I don't care if I get duplicate programs recorded. If I can prioritize my favorites then I can make sure that nothing important will be lost. If I can get my butt in gear an put the router and video amplifier in a switch as well then I won't lose the network. If I lost power in the middle of a recording, I would expect the recording to finish. You may not get the top-priority program, but you will get the entire program you were recording.
Reply With Quote
  #10  
Old 12-26-2003, 10:25 PM
ErsatzTom's Avatar
ErsatzTom ErsatzTom is offline
Sage Expert
 
Join Date: Dec 2003
Location: Southwest Florida
Posts: 712
Send a message via AIM to ErsatzTom
Well, I write this kind of code for a living too and I'm familiar with Zeroconf (and not just because I use a Mac for my main workstation). While these kinds of standards certainly help make some elements of the solution less complicated there are still some pretty big hurdles to clear. This problem set is similar to bi-directional database replication services which are notoriously difficult to implement. For example, two servers can't communicate for some reason and both assume the primary schedule/client interface role it would be possible for both to have a different set of scheduling changes made either directly or through a client before they had to resynchronize. When they reconnect, those changes would have to be merged. This sort of situation might be uncommon, but a solution either has to solve them or find a way to avoid them (prevent scheduling changes to servers which have temporarily assumed master status or something).

Rather than try to make a true distributed server environment, maybe a much more limit set of functionality would solve many of the problems. A single sage server could still be responsible for all scheduling and client communication but perhaps giving network encoders scheduling information further in advance. Perhaps even alternate scheduling information in case they loose contact with the server or other network encoders to make sure that high priority recordings aren’t missed.

t
__________________
Thomas Micheline
duff@sage-community.org
http://www.sage-community.org/
Reply With Quote
  #11  
Old 12-26-2003, 11:36 PM
fidget's Avatar
fidget fidget is offline
Sage Icon
 
Join Date: Jun 2003
Location: Cedar Rapids, Iowa, USA
Posts: 1,186
Quote:
Originally posted by ErsatzTom
This problem set is similar to bi-directional database replication services which are notoriously difficult to implement.
To me, this is similar to the "database" issues that I get hit by in an avionics system. I put database in quotes because it isn't as complicated as a real database (its more of a data store, but we call it the database).

On a non-commercial aircraft (the rules change drastically for FAA certified software), we tend to have a master/slave relationship between the peer functions. The master process performs all functions and then transmits the "database" out to its peers at a given rate (in my case, transmitting an 80KB flightplan once every two seconds). The theory being that if the master fails, the data being retained by the slaves won't be too old for them to successfully take over control.

In the case of SageTV, the master could send out the list of programs to record, their prioritization and their tuner selection to each of the slaves. If the master crashes, or the network, then the slaves should have enough information to continue working. Each potential master should have a copy of the recording schedule and the next master (by some arbitrary decision) can then take control. Those tuners currently recording would continue until the end of the program and those not recording would take commands from the new master (which would be very similar to what the old master would give). When the user went to the Sage Recordings screen, the master would ask each recorder for its list of programs and build the proper composite list. If, somehow, I brought a clean system up as the master then the older, more knowledgeable servers, should be able to update their information into the new machine.

This would only work because the amount of data that SageTV needs to transfer is minimal. If the data were extensive enough as to require a SQL server then I could see some major problems.
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -6. The time now is 05:27 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.