Architecture of the Charran eHome
Charran Home Infrastructure and Media Strategy
This article has been a long time coming. However, I have always been pretty excited to write about what I think is a pretty cool home infrastructure for entertainment and computing. My entire strategy regarding computing at home is to ensure that even if something happens to my physical residence, things can be recovered or restored. Thus, carrying that strategy down into my individual machines and media experiences has been a primary driver for me. So the following are the goals that I had with regard to creating my home infrastructure
The Charran eHome Vision
Access media from anywhere at anytime
The goal is to ensure that from any TV or computer in my house, that I can access music, photos, videos, movies and TV shows (live or recorded). For example, if my wife has friends coming over, I should be able to pause a DVD movie I am watching, move upstairs, and continue watching it without having to fumble with discs and other physical media.
Additionally, if I want to show photos of my family to visitors, I should be able to pull up the most recent photos quickly, by month and year and tag on any device in the house. For example, I should be able to have photo gadgets in Vista, on multiple machines, pulling from the same location for updated photos that are automatically categorized, tagged and stored right from my digital camera when I do an upload.
I also want the software that I do this on to be aware of the storage of the media and not rely on mapped drives, etc. in order to access the content. The software should index the media and present it to users in a quick, searchable and easy to use fashion.
I should not have to experience outages or interruptions of service for my media. Lengthy backup schedules and periods where the media and resources are unavailable should be minimized or eliminated entirely. In other words, I want to be able to get at my media whether its 12 AM and I want to watch a movie or its 5 AM and I want to look at photos that I uploaded from the previous day.
Stop relying on physical media in all forms
I have a begun to wage a personal war on all physical media. I prefer hard disk (solid state if possible) storage to optical media in almost every situation. Back in the late 90's I took all my CD's and made them MP3's (and later wma's) and eliminated the need for finding and locating disks in my house to play music. I’m on a similar quest for DVD's and digital video.
Until the studios, networks and distribution companies and find a unified way of providing a download service to purchase movies that satisfies me, I am relegated to (legally) backing up my DVD's to hard disk and watching them from there. That way I don't have to worry about scratched disks, getting up to change disks, fooling around even with changers (which can go bad if they get out of alignment).
For example, I no longer have to curse myself by walking (all the way) upstairs to get a DVD that we were watching in the bedroom to bring downstairs. Because its on shared hard disk storage, I can access it from any media center (or extender) in the house. Additionally, I don't have to curse myself by fumbling with menus and track skipping DVD's in the car's rear entertainment system. I have a Zune with pre-converted versions of all my family's favorite movies (again, on central hard drive storage in the house) synced to it so I can easily start, stop and change movies.
My remaining physical optical disks (CD's, DVD's) just sit in a cabinet in case I need it at some distant point in the future.
Spousal acceptance factor (including parents and in-laws acceptance factor)
Big one here. My spouse has a very particular need to have things operate easily, intuitively and efficiently. She has little desire or tolerance for learning anything new and negative interest in investigating or troubleshooting when there is problem. If something doesn't work, she gives up and complains, or calls me immediately.
Thus, we both have a vested interest in making things easy for everybody to use.
My eHome should be easy and simple enough for everyone to use it without having to worry about where things exist, where they are saved and how to access them. The software should present options that are easily navigable (i.e., with a remote) so that it feels like she is operating an onscreen TV Guide with no knowledge of the complexity, storage design and network layout.
Have a safety net for everything digital in my house
My goal is to have a home infrastructure that leverages cloud concepts. This includes my computer(s) as well as the place where everything is centrally stored. Back in the late 90's I once lost our digital photo collection. This was catastrophic and since then, I've done everything including backing up periodically to DVD (ugh, the horror and tedium) to integrate an automatic, subscription-based backup system with my home server.
The idea here is that even if something happens to the physical location where my home server lives, our memories and important documents and media will still live and be accessible to me
Because I am on the road a lot, I need the ability to quickly access not only my digital media, but also various files and computers on my home network. This includes being able to fix things or retrieve files for my wife as well as check on email accounts, reboot machines, install updates, etc.
This includes terminal service access to all machines on the network as well as any server infrastructure (home server, routers, etc.).
For example, from a hotel, I should be able to take photos, upload them to the photos directory on the home server and have my wife view them via media center, all while I am on the phone with her.
Another example is that I should be able to stream my playlists across the internet to my media player.
Rely on Cloud Computing concepts including Cloud services
Cloud computing is all the rage today and is dangerously becoming a cliché like social networking and service oriented architecture. Not that those concepts are cliché, but they are serious buzz words that get overused in almost every facet of business and technology. However, in my mind, this doesn't diminish the concept and its importance.
In fact, I don't feel comfortable unless my important documents are "in the cloud". What this means is that I don't want to have to rely on physical hardware for the storage and persistence of my important documents and media. I only want to use physical hardware (i.e., a computer) to access, change and remove content and not be solely responsible for storing it and keeping it safe. I follow this concept exclusively at work (using Groove 2007, my internal My Site and network file shares). Thus, I can experience a catastrophic hardware failure and still be able to work and get access to all my critical documents. This concept gets a little difficult with files as big as virtual machines, but I have a cloud plan for those too.
Thus, I wanted my home to reflect this concept. Using technology, my home machines should be gateways to access and change information, but not be responsible for storing it exclusively. That way, if I experience hardware failure, or need to upgrade my OS by wiping down the hard drive, I can to that easily and without excessive consideration.
More importantly, the place where I do store my content, should be "cloud protected". Just like my documents on my My Site at work or on the network file share are protected by frequent enterprise backups, my house should have the same capability. If something happens to the central repository (i.e., my home server) I should be able to rebuild and pull down any lost or damaged files from the cloud.
The Charran eHome Architecture
Below is a physical diagram of my network architecture at my house.
Much like most folk's homes, I have a broadband router hooking me to my ISP. My ISP blocks incoming traffic on port 80, so I have to do everything over 443 if I need to access internal resources securely from the outside (better anyway). My router allows incoming traffic on 443 to be sent to my Home Server so I can access the Home Server web site, get to files, stream media and access my other machines
In addition, I've eliminated hubs and now use affordable Linksys switches along with a single G wireless access point (soon to be N hopefully).
All my client machines are basically access points for documents, images and other media on the home server. Those machines are all running Vista SP1 which has fantastic new capabilities when it comes to file copy efficiency. I would go as far as to say that this infrastructure arrangement would not be feasible unless I had SP1 in place.
- Windows Home Server
- The technologies I use to ensure I am driving towards my eHome vision rests with Windows Home Server. This is a fantastic product and is easily affordable. Basically, it circumvents the need for me to have redundant storage units (like RAID) which have high cost, low manageability and recovery time for the average home user. Windows Home Server gives me remote access to all machines on my network, backs those machines up, represents an easy way to increase storage and offers redundancy in case of multiple drive failures, etc.
- I basically collected all the smaller hard drives attached to machines throughout my house and stuck them all on a home server (custom built using a really old Dell Dimension with 1 GB of RAM) and created a combined 4 TB pool of storage.
- Now, I store all my media (backed up DVD's, music (including Zune subscription music), photos, digital home videos from my Xacti camera (no more tapes! Records right to SD card!) and documents here.
- KeepVault Add-in for Windows Home Server
- KeepVault charges $100 a year to backup folders on your Windows Home Server. It scans your home server, asks you which folders it should monitor and then backs them up as they change. If you need to restore files, from any machine in the house, you can open the Windows Home Server Console and access your cloud storage files and restore them to the home server with a few clicks.
- Even if my home server flames and dies, as soon as I rebuild a new home server, I can install the KeepVault add-in, access my backups an start downloading my preserved files to the home server (i.e., photos, music, movies, etc.)
- Vista SP1
- Each client machine has Vista SP1 installed with all its new network copy glory. I can use any of these machines to:
- Access and stream music and movies
- Work on documents
- Manage the home server and network infrastructure
- Download and add new movies and music
- Each client machine has Vista SP1 installed with all its new network copy glory. I can use any of these machines to:
The Charran eHome Media Strategy
As you might begin to see, home server is the underpinning of my eHome strategy. As such, it enables me to abandon the need for physical media and use all my machines as access points for my files. Also, it represents a first stage cloud for my home network. In addition, it is a cloud facilitator for my files in that it backs itself up to the cloud (KeepVault), automatically without me having to think about it.
However, there are some tricks I had to do in order to get it so that I could completely abandon physical media. CD's was easy enough. I am a Zune Pass subscriber (my social ID is mougue) and I just point the Zune software to the Music folder on the home server as in the diagram below. However, DVD storage and access was a challenge. Before using the software approach, I bought two Sony DVD changers and hooked them to Media Center. I had about 400 DVD's in there. Until one day I bumped one and it went out of alignment. DVD's got jammed and the entire changer would seize until I took it apart and fished the jammed disks out of the tray, etc., etc.
HOWTO: Make a DVD Library Available from any computer
After about 10 times of doing that, I bit the bullet and backed up all my DVD's to my home server. However, I soon realized that Vista media center assumes that all DVD library functionality is local (meaning the DVD's are stored in a changer that is attached, or that they are in a local folder). This conflicted with my vision of watching movies from any machine in the house.
The MKLINK function in Vista allows you to create a folder that actually points to the contents of a remote folder. Vista media center relies on the DvdInfoCache folder which contains a collection of XML files that comprise the DVD Library. In addition to ripping the DVD's and putting them in the Videos folder on the home server, I had to create a DVD infocache folder with the XML files for the library there.
The way I created the DvdInfoCache XML files is to use the DVD Library Manager (v0.7.0.2) from Florin Birsan. This application allowed be me to use services like Amazon and IMDB to download cover art, descriptions and metadata for the movies. So, what I was able to do is to have a folder structure like as follows on the home server
So, using this tool my videos \\HomeServer\DVDLibrary home server looks and smells like a local DVD library to Vista media center. The challenge now is that I needed to basically make each Vista machine think that the \\HomeServer\DVDLibrary was a local DVD store by fooling the OS into looking at the \DvdInfoCache on the server, instead of its own. I create a batch file that does the following.
CD "C:\Users\UserName\AppData\Roaming\Microsoft\eHome\" mklink /D DvdInfoCache "\\homeserver\videos\DVDLibrary\DvdInfoCache"
Now, all I have to do is launch media center, select DVD library and after a few seconds (it does take time to enumerate a large collection because of the remote nature of the storage), I can see all of my movies, and watch them instantly (no physical disk to load and spin, etc.) from any machine that I run this command on in the house.
When I add a new movie, I upload it to its own folder, use the DVD Library Manager application to download its meta data from external sources and it appears in which ever media center I am using at the time. I can even watch two movies simultaneously on two separate machines.
To round out the full picture of my home network, see the diagram below
To review the key components of my architecture in terms of a media strategy, lets examine all of my media needs in the sections below
Video (Home Videos, DVD movies, Zune videos)
As you can see, I used the method above to store and map my DVD's down to each media center using a remote DvdInfoCache folder stored on the home server's Videos folder.
I also use the MadZ DVD to Zune video converter to easily take a physical DVD and transcode it to Zune format (320X240 I think). That way, I can have all my movies ready to go and simply copy (not transcode) over to the Zune when I want it. No more waiting hours to get a movie onto the Zune. All I have to wait for is the copy through the Zune software.
In addition, I have a folder for my digital video camera to upload home movies to the home server. Using the Windows Live Photo Gallery, I tag and categorize the movies and place them in a folder structure arranged by year and month. I used to burn them to disc and use Windows Movie Maker to make menus, etc. For really special movies, I do that, but for the most part, I don't even bother anymore. I can search, watch and review any home video from any PC/media center in the house (no more disks!).
Again, all this media is protected by my home server KeepVault add-in.
Music (Zune subscription music)
In addition, I use the Music folder to store all of my music content and even sync the all my Zunes to it. I have the Zune software installed on 3 PC's (the current maximum you can have singed in and downloading content) and they index and download to the home server. All that media, playlists, etc. are available on any PC in the house as well as my XBOX 360.
The cool thing here is ubiquitous playlist access. Because Zune monitors my home server music share, my playlist folder which holds all my .wpl and .zpl files (playlists) can be maintained and edited and accessed on any PC in the house.
To illustrate, I have the same set of playlists synching to my Red and White Zune in addition to my Halo Zune. So, I can update a playlist on my desktop media center and have it's changes sync to my Red and White Zune which are attached to my family room media center
The home server photos folder contains all my digital camera photos. I use any PC in the house to upload photos to the home server. I use the Windows Live Photo Gallery to conduct the import, automatically tag the photos and dump them into a common upload folder.
From there, just like my movies, I categorize them based on a folder structure that is arranged by year and by month.
Other images of giant robots and super heroes :) are here as well.
Lifestyle (where do I watch movies, etc.)
So now that you are aware of my infrastructure, how does someone like my wife make sense of it all and easily leverage it when she wants to show photos to her parents, or watch a movie?
Everything on the home server is indexed and visible through media center. I have a Harmony 880 remote which helps us switch between the Tivo, Comcast DVR and media center. I must stress how important this remote is. Without it, my wife could never do the things she does today. The remote replaces the keyboard and mouse.
As you might surmise, I have a media center (Shuttle XPC - nice, small and scarily quiet) sitting right next to my main television in the family room. It has a DVR output directly to the TV and an SPDIF output going from the sound card to my receiver. I connect my red and white Zune to this media center to sync music and videos from the home server through the Zune software.
The family room media center is configured to launch media center automatically, so we really never see the desktop of this machine (unless I need to do something with the Zune software). My wife can simply find our home videos, photos and DVD movies, as well as TV through media center by using my Logitech Harmony remote. She can even switch to Tivo and back at the touch of a button. The remote knows about the various input settings for each device to make it behave according to the activity.
Thus, she can browse TV, watch a movie and show photos when people come over and even play Zune DRM'd music all through media center.
I also have a media center (Shuttle XPC) in my home office which does the same functions. I can watch movies, recorded and live TV, play music, view photos, etc. on this computer. I use this machine for email, web browsing, RSS reading, banking (using MSFT Money!) and for my video transcoding (to Zune) and backing up DVD's to the home server.
I usually have at least one laptop floating about so that we can work (in addition to my work machine) while watching a movie or doing some activity on the media center. Alternatively, if someone comes by that wants to see a website while we are watching a movie, we can restore the media center application and bring up the web on the big screen.
Again, everything here is backed up to an offsite cloud so that I can retrieve it if anything ever happens. In addition, the home server client is installed on each PC on the network, so if we choose to store a file or two locally, it is backed up as well.
That’s it for now. Next time, I'll most likely talk about how I have each media center synchronizing its recorded TV between each other so that all shows are available everywhere (here's a hint! SyncToy!)