I'd like to start off by saying that I have been following this forum for quite awhile. I forgot the password to my previous account and can no longer access the email address that was associated with it, so hence the 1st post.
What is Client Virtualization?
With today’s multicore processors and massive ammounts of ram, basic tasks such as playing music, surfing the web, and doing spreadsheets only use a fraction of the computer’s power. So why not put it to use?
By implementing Client Virtualization, the extra power from a computer is divided into virtual machines. Multiple keyboards, monitors, and mice are attached to a single machine and assigned to one of the virtual machines. The user(s) are completely unaware that they are sharing a single computer.
Why use Client Virtualization?
Client Virtualization has many advantages, here are the main ones.
- Produces less eWaste
- Uses less electricity
- Produces less heat than multiple computers
- Easier to manage Software.
I propose to implement Client Virtualization into my CarPC build for my new car. The main computer will be stored under the driver seat, with a touchscreen integrated into the dash, and two touchscreen headrests each assigned to their own virtual pc and connected to the same computer. This will allow the main computer (touchscreen on the dash) to remote view/control the two virtual computers (in the headrests). All three computers will each be able to perform their own tasks, such as check their email, watch a DVD, and play games, or the three computers can all share control over the music and take turns picking songs.
I have numerous other features worked out, but I want to keep some of them as a surprise until I am finished with my project ^__^. I have a list of all the equipment I need, as well as some fairly precise numbers. Yes, Client Virtualization may be overkill to implement into a vehicle, but the features it provides will create an amazing user infotainment experience.
I planned, built, and installed a CarPC for one of my friends, but I have yet to do my own. This will not be the first Client Virtualization I have implemented, and certainly won’t be the last. If you have any questions about Client Virtualization, please feel free to ask. I would like to keep specifics, such as company names and part numbers, out of the thread for now.
Interesting project Jaysen!
Isn't touchscreen navigation for headrest monitors a bit too far to reach when seat-belts are in use.
How do you plan to assign sound channels for the 3 zones? Different sound cards?
Will await more details.
I agree, that will be quite a reach with seatbelts. The computers will also have a wireless keyboard and mouse combo attached, the touchscreen is just another option.
The system I'm using consists of a little boxes, known as "thin clients", that the keyboard, monitor, and mouse attach to. Each thin client has their own set of ports for USB, Headphone, and Microphone. I have two different ideas in mind for the audio and I'm not set on one yet.
1) Use a FM Transmitter for each computer
2) Plug the audio for all computers into a USB controlled 4port audio switch I found. The main computer would control the audio switch, and would be plugged into the Line-In in my car.
I'm leaning towards option 2 because it's cheaper and I think it would work out better in the long run. FM transmitter would be prone to interference, and I may not want others within range to hear whats playing.
I have a 2012 Fusion and plan on keeping the Sync functionality, so the stock radio and everything is staying. I'll just be adding in a CarPC.
How are you planning on doing virtualization? I am not that familiar with thin clients, but what I've seen so far utilizes X forwarding, or VNC of some kind. This limits you fairly severely in terms of graphical processing power for watching movies, or playing games on the small computers.
I have one of the 4 port USB audio switchers, and they're not bad. I'd say that's probably your best bet for controlling the audio.
Typical thin clients run something like WinCE and use Windows Remote Desktop to connect to a server. The ones I'm using are a little different, they're more like zero clients. They don't have a OS like WinCE, they have their own graphics processor inside to handle the graphics. They're able to support up to a 1440x900 resolution.
I've seen one computer support as many as 48 virtual pcs using this system. I'm fairly certain that it would be able to handle 2 virtual pcs with a slightly higher workload (watching movies, playing games, etc) and still have room to grow.
I guess I'm more curious about the ssoftware being used. I've never been able to get HD video over rdp or any oother virtual desktop protocol that ive tried.
Originally Posted by Jay4255
Haha, as a systems engineer who designed, deployed and maintains a Vdi environment for my company(not to mention the server environment) this sounds like a fun project. Could definitely be expensive depending on hypervisor and presentation.
What are you planing on using for these? Zero requires lots of moving parts like tftp, dhcp, PXE etc. I would probably steer towards thin client like 2x before zero clients. My 2 cents.
I can definitely see the benefit but only if you want three separately usable systems at once.
Oh, and get atleast quad core if you are going to do this. Otherwise all machines will suffer.
Look forward to reading more.
The system I plan on using is a complete package. It contains the thin, or zero, clients and the virtualization server software. While I am a software developer, I didn't have any hand in the creation of the software. I don't know the specifics of what protocols, ports or encoding they use, but it works. I will try and play with WireShark at one of the places I've implemented this system and try to get some specifics.
@dmcdlrn - While I probably don't have as much experience as you do in this field, I have done quite a bit of work with this particular company. I have done implementations where one virtual host ran as many as 16 virtual machines of Multipoint Server 2011 that the zero clients connected to.
The company has a few documents with guidelines for spec-ing out a host machine. I've done the number crunching and basically doubled what it says I need. I should be pretty well off.
Yeah, multipoint is a completely different story. Multipoint does however have its own pro's and cons. I also won't ask where you are getting the licenses :whistle:
I'm not as familiar with MP and its way of doing things but I think it is just a fancy terminal server.
You are correct in that processing power and ram is under utilized in many cases. For the most part those use cases are with server platforms where you have 16+gb of memory and a single, dual or more quad or 6 core processors (we run dual 6 core hyper threaded xeon servers with 96gb of ram at work and have over 60 servers PER 1u server). If you have a single core or even dual core and 2 of your guests (in a typical vmware, xen or hyperv) use 100% cpu, you will crawl. Typically you want at least twice as many cores available as your guests use. As you get past 4 cores, your risk goes down that you will have all 4 used at the exact same time. Still pretty easy to max out even a 3ghz core.
All that to say, I think you have a cool idea and am excited to see where you go with this.
At work, we use an HP server/thin client solution running Windows Multipoint Server. It works quite well. The thin clients are small enough to iso mount on the back of an lcd monitor. Each client connects to the server by a single USB connection and has an svga port, ps2 mouse and keyboard ports as well as an audio mini jack for speakers or headphones. In a business or educational environment, the system is wonderful. The biggest drawbacks I can see in using this in a vehicle are:
1) Each client instance requires a separate Windows license in addition to the one for the main server.
2) The server needs to be a bit of a powerhouse. We use a 3ghz quad core with 8gb of ram for our server.
3) Windows Multipoint Server is 64bit and based on Windows Server 2008. I have run into a good deal of software that just will not run on it. With software such as GoodSync, we were told we needed to purchase the very expensive Corporate license simply because it was a "server" OS and the standard business license would not run on it.
All in all.... I believe that a main system with several single board computers such as the Raspberry Pi networked to it for each zone would be a much better solution. The RSP is capable of HD video and is capable of doing quite a bit in stand alone use.