The Application layer

Computers are a common tool in broadcast systems, as evidenced by their use throughout a control room or broadcast operating center (BOC). They can be embedded in equipment or act as stand alone general-purpose systems. Newsroom computer systems (NCS), media asset management (MAM) systems, playout automation and graphic creation tools are just a few of the application layer systems that facilitate program production and transmission.

The operational requirements of application layer resources can be better understood if broken down into logical groupings: computer platforms, operating systems (OS) and software applications. Operating systems must be stable and applications must be interoperable.

Platforms, performance and metrics

All computers consist of the same basic components: a processor, storage, cache, network interface card (NIC), video/graphics cards, audio cards, keyboard, mouse, monitor and power supply. To connect to other devices, the computer would likely use USB or 1394 connectivity. The book “Computer Organization and Design” will acquaint you with computer hardware and architecture.

Processor clock speed and mega floating point operations (MFLOP) ratings give an indication of a platform’s computational performance. Some call this horsepower, but it’s not always the most important factor. MFLOPs matter if the application does floating-point calculations. Performance is also directly related to the CPU’s clock speed only when all data resides in the CPU.

Data bus speed, RAM size and disk access speed influence the availability of data for the CPU. Front side bus speed will determine how fast data gets to the CPU from RAM. The more RAM means the more data blocks that can be read from the disk. Therefore disk speed influences data transfer rates and consequently overall performance.

When transferring files over the media network, network interface speed matters. GigE is 10 times faster than 100BaseT.

These metrics only partially define a system’s performance. Computer systems are a synergistic integration of hardware and software components. Architecture, OS and component specifications together determine the user’s experience.

Operating system stability

Communication between components and the allocation of hardware and software resources is managed by an operating system. One good reference, “Operating System Concepts,” will provide the basics.

An OS can be in concentric circles. The basic input output system (BIOS) or kernel, handles all communication with physical devices. The outer most circle is the user interface. A properly designed OS only allows communication between adjacent layers. Here, the key is stability.

Operating systems must simultaneously run many services or tasks in the background. This can lead to sluggish applications even when the system appears to be idle. To see what applications and tasks the system is running, invoke the Microsoft salute (CTL+ALT+DELETE) and select task manager (T). There will be three tabs: applications, processes and performance. Clicking on the Processes tab presents you with a long list of tasks that are currently running on your computer. They can be sorted by PID, CPU, CPU time or memory usage. Click on any of these titles and the list will sort alternatively between ascending and descending order.

Most tasks or applications can be forced to stop by clicking on it. Not all tasks can be ended because the OS knows it would cause a crash. However, don’t assume that even if the computer can be forced to end a task that the computer’s performance will improve. It’s just as likely to cause it to crash. Besides, experimenting with a broadcast system may not be a good career move.

There is a debate over using an open source (Linux) or licensed (Microsoft) OS. Benefits of open source are the access to source code and no license fees. On the down side, with the exception of the Internet developer community, you are on your own regarding support. Many organizations choose to license an OS and purchase support. In either case, stable performance is the bottom line.

Application interoperability

When using multiple software applications, authored by numerous vendors, interoperability problems will often arise. This is where having a good software person on your staff or a close relationship with a systems integrator can pay big.

An organization with programmer talent may choose to develop custom applications. The benefit is that you will retain complete control of the source code, modifications and patches. On the other hand, you will be responsible for modifications and patches.

Adequate testing must be done during development and after installation. This includes proving that an application does what you want, and conversely, what happens when something goes wrong? Will there be a graceful degradation of the application or will the computer lock up? What happens if a network cable is unplugged? It is important to know how a failure might affect workflow or on-air functionality, before something goes wrong!

Support

With the distinction between broadcast and IT equipment becoming blurred, the structure of your support organization is crucial. There must be one, and only one, department designated as the first responder. If a problem cannot be resolved, it is escalated to the appropriate engineering or IT group.

Periodic maintenance responsibility can also be confusing. Are patches standard maintenance or engineering modifications? It depends. If a patch fixes bugs, i.e. inconsistent operation, it is probably maintenance. But if it adds new functions, it is a design modification and should be tested and approved by engineering before installation.

A patch management tool can automate update version control. This will facilitate downloads to a patch server. Then you can patch a test group before installing the patch enterprise wide. Rollback updates capability is necessary if things go wrong.

Ghosting a computer is the copying and storing of an image of the OS, drivers and all other files and programs necessary to install precisely the same system capabilities and applications on a clean hard drive.

Disk cleanup and defraging should be performed on a regularly scheduled basis. Content backup should follow a standard IT methodology of incremental and full backups. Scripting (small batch programs) can automate these tasks and simplify support.

Document everything: OS and application configurations, where drivers located and problem resolution details.

Remember, rebooting is not part of the workflow. It indicates unacceptable software application design flaws or an OS bug.

Getting up to speed

Engineering personnel should be able to install and configure an OS, patches, applications and NICs. A familiarity with an application’s functionality and user interface is necessary to understand if it is running properly.

Specifying a new computer platform or system, investigating potential vendors and components and even building your own PC is a good way to learn about computer hardware. One site, www.tigerdirect.com, offers kits and components.

It is very important to become familiar the programming language. The ATSC, MPEG and many DTV standards are specified in C pseudo-code. The definitive C reference and the GNU C compiler at http://gcc.gnu.org will get you started.

Other key software to know is Java and MySQL, both common applications. Java programs are written once, run anywhere and are particularly suited for downloading from the Web. “Core Java, Volume 1- Fundamentals” from Sun Microsystems, comes with a toolkit on a CD in. MySQL, a database query language, is open source. If you’d really like to get into the workings of the Web, check out “Sams Teach Yourself PHP, MySQL and Apache All in One (2nd Edition), Meloni, Sam’s Books, 2004” or install PHP and the Apache server. You’ll have a better understanding of Web-based support tools.

Up and running

It is important for broadcast engineers to become both computer and network literate. The rigor of broadcast engineering must be applied to IT-based BOC systems.

Because computer technology evolves at such a rapid pace, it is important to get up to speed and stay there. Prepare for the 64 bit, dual core, hyper threading future. One newsletter that might help you do this is Computer Technology News at www.wwpi.com

Too many have become tolerant of computer lockups, blue screens and crashes. In a broadcast environment, any one of these failures could take you off the air. Is there anyone in the broadcast industry that would accept having to reboot equipment with two seconds left in the Super Bowl and the winning kick in the air?

References

Computer Organization and Design (2nd Edition): The Hardware/Software Interface, Patterson and Hennessy, Morgan Kaufmann, 1998

Operating System Concepts (7th Edition), Silberschatz and Galvin, Addison Wesley, 2005

The C Programming Language, Kernighan and Ritchie, Prentice-Hall, 1978

Core Java, Volume 1- Fundamentals, Horstmann and Cornell, Sun Microsystems, 2001

Sams Teach Yourself PHP, MySQL and Apache All in One (2nd Edition), Meloni, Sam’s Books, 2004

Software Architecture: Perspectives on an Emerging Discipline, Shaw and Garlan, Prentice-Hall, 1996

Elements of the Theory of Computation (2nd Edition), Lewis and Papadimitriou, Prentice-Hall, 1997

Back to the top