Architecture Intro

From LinuxMCE
Revision as of 23:04, 30 June 2008 by Marie.o (Talk | contribs) (Added note about orbiters, as LinuxMCE really is three parts and not just two.)

Jump to: navigation, search

LinuxMCE is divided in three parts: the Core (aka the backend),the Orbiter (aka the frontend) and the Media Director (aka the media interface).

The Core

The Core has no user interface other than an administration page (unless it is a hybrid). It provides processing services throughout the home, however. It acts as the central database that catalogues your media. It routes home automation messages and commands, and provides net boot images for the Media Stations. It can even act as your phone system. You only have one Core in the house because it is the central point through which all devices connect. Your Core is generally left on all the time. If it is turned off, LinuxMCE functionality everywhere else in the home stops working.


The Orbiters are the control interfaces into the system. Orbiters can be the screen of the Media Director, a Nokia Internet Tablets (n810), a web based interface, allowing control using any kind of web enabled equipment, or mobile phones.

Media Directors

A Media Director (aka a Media Station) is connected to your TV. It is a PC running LinuxMCE, but you do not need to install any software on a Media Director as long as you enable the Media Director to netboot LinuxMCE from the Core server. (Network booting is a capability that almost all PCs have. Through the BIOS setup on any PC, netboot can be enabled as the first bootup device. When this setting is chosen and the PC is rebooted, the PC will search the network for a boot image and boots that image as its OS (rather than the OS on the hard drive).) In a LinuxMCE network, the Core provides the boot image over the network. The local PC that functions as a Media Director is essentially a thin client to the Core. (You can leave Windows, Fedora, or any other operating system you want on your PC's hard drive. When you want to use that PC as a LinuxMCE Media Director, enable netboot in the BIOS. When you want to use the OS that is stored on that PC's hard drive, reset the BIOS so that the hard drive is again the first boot device. (You can't do both at the same time.)) When LinuxMCE netboots, the software will not interfere with the software or operating system on the hard drive; it's like having 2 systems in one. You only have to install LinuxMCE software on one PC, the Core, and you can then have thin client Media Stations on PCs throughout the house. The whole process is fully automated and plug and play (whether or not you understand the concept of a netboot). The only technical thing you need to do is turn on netboot in the BIOS of a PC you want to use as a Media Director. Your PC manufacturer instructions should tell you how to change the BIOS settings.

It is possible for the PC that functions as the LinuxMCE Core to also function as a Media Director. This is known as a hybrid, and it can be used as a standalone Home Theater solution. Later, you can add other Media Directors (using the netboot method described above). A hybrid, like a standalone Core, will provide netboot images across a network. The UI (user interface) on all Media Directors looks exactly the same as the UI on the hybrid Core/Media Director. The hybrid should not be shut down, either, since it is acting as a Core. If you do, all the other Media Directors will stop working.

LinuxMCE and DHCP

It is fairly important that within your LinuxMCE home automation/multimedia network, the Core must be the DHCP server. The DHCP server allocates IP addresses to all the devices within your LinuxMCE automation/multimedia network. Generally you can only have 1 DHCP server per network. In most cases you will already have a DHCP server on your "external" home LAN, usually as part of your router. (If you don't have a router and you have a dynamic (changing) IP address from your cable or DSL service provider, the DHCP server is at your cable or DSL provider's central office.)

Your LinuxMCE automation/multimedia network can be nested within an existing home LAN, leaving some devices "external" to the LinuxMCE automation/multimedia network. Or you can make your entire home LAN and the LinuxMCE automation/multimedia LAN one and the same, making every device in your home LAN part of the LinuxMCE automation/multimedia network as well.

When every PC and ethernet-connected device in your home LAN is also part of your LinuxMCE automation/multimedia LAN, then the Core must act as the router/DHCP server for the entire LAN. The DHCP on your existing router (if any) must be disabled and the Core then handles the DHCP functions for the entire LAN.

If you choose the nested "network within a network" configuration, the LinuxMCE Core will act as the DHCP router for the "internal" automation/multimedia network only. Your existing router would still handle DHCP functions for the "external" home LAN.

The easiest way to do this is to have 2 network cards (NICs) in the PC that will be the LinuxMCE Core. One NIC would connect to the external network (the home router, or perhaps directly to a cable or DSL modem) and gets an IP address from the DHCP of your home router or ISP provider. The other NIC would connect to your "internal" LinuxMCE automation/multimedia LAN (through a switch or a router with the DHCP disabled). All your other PC's and devices within your LinuxMCE automation/multimedia LAN connect to the switch (or the DHCP-disabled router) and therefore use the Core as the DHCP server.

This is the default configuration that the LinuxMCE installer expects by default. This is the configuration recommended if you aren't experienced with networking.

In some situations it is possible for the Core to get by with a single network card (NIC), but it is not recommended. For example, if your home has a static, unchanging IP address assigned by your cable or DSL provider, and every device in your home LAN will also be part of your home automation/multimedia LAN, then you will only need one network card. The Core will be the DHCP server for your entire LAN.

In the rare instance when you will have a single PC acting as a hybrid Core/Media Director and do not plan to have any additional devices (i.e. you don't have a home LAN at all), then the Core does not need to be configured to provide DHCP. In this scenario, one PC would act as an standalone Home Theater PC. None of the network capabilites of LinuxMCE would be available.

The Usage Intro explains the concepts about how to use LinuxMCE.