Monday, August 15, 2011

Time Division Multiplexing - TDM (the root of all good)

Rise of the Packets
In this post, I looked into the concept of Packets. I have a great fondness for packets, as it is packets that move the majority of the data in the world.

They are really good at moving data around in an ad-hoc fashion. Any piece of data can be broken down, transmitted and reassembled without any distortion.

Fall of the Packets
But that process is slow. It can take milliseconds to disassemble the data into manageable chunks, then add in all of the extra address, protocol information... and the data hasn't even left your device yet.

Obviously, when it comes to emails, images, or text a delay of even a couple of hundred milliseconds isn't going to be noticed by a mere human. So once again, the packet wins.

Time-critical Applications
However, let's take audio. I will go into how digital audio works at a later stage, but for now you should know that digital audio (e.g. CDs, common live audio mixers, MP3s etc) is made up of 24-bits of data, give or take.  (a "bit" is a 0 or a 1). This is repeated around about 48 thousand times a second; or once every 0.02 milliseconds.

So, if the a "packet" of audio data arrived milliseconds out of sequence, we would end up with noise. And not the good type; I'm thinking Lou Reid's Metal Machine Music.

A Saviour in time
To get around this we need a faster method of transport. Enter Time-Division Multiplexing!

Modern computing equipment is more than capable of processing things at speeds fast enough for "real-time" applications like audio. A 2.66 GHz processor (like one of the 8 I am using now) can process a "sample" (that 24-bit thing I was talking about before) in about 0.3 nanoseconds.

For those of you that don't like maths, that's about 65,000 audio "samples" per "Sample"; meaning that any one of my 8 processors could play music for me and still only be working to 1/65,000th of its capacity.



Okay, so those numbers may have caused you to glaze over. Hence the "bird on the wire" to liven things up.

The thing to take away from the maths above is that even a fairly stock-standard computer takes one look at time-critical audio and laughs it off.

So, how can this help us with faster data transport?


Enter Time-division Multiplexing
The simplest way is to give each "device," or data-source, an "address" that corresponds to a certain time.
This "address" will then offset the data from each device by a certain time; device 0 will have a 0s offset; device 1 will have an offset of 0.02 microseconds, device 2 will have an offset of 0.04 microseconds... until we get to device 65,000 something.

Let's have a look at the diagram below:

Here we only have two devices; Red and Green. Green has address "0" and Red has address "1".
First up, the Green wants to transmit some data, so it goes into the first "timeslot" (a timeslot is the base unit of a TDM network; kind of like a packet). Since there is no "Red" data in the first timeslot, the next slot is blank.

However in the second "Timeslot" both Green and Red want to transmit something. Green goes first and transmits its data, and then Red transmits, so we see a Green block and then a Red block.

And so on; each device waits for its turn, then transmits the data.

To read the data you need to know which data you are looking for, wait until that "timeslot" appears, and then read the data.


Forgiving the Chinese characters, this image shows the same concept, but for more devices. On the left we see all of the data that we want to transmit. In the middle we can see that each device waits until it is their turn, then transmits like crazy.
On the right hand side we can pick out any particular timeslot and read the data.



Why should we care?
One thing that you may have noticed in the above is that all of the devices have the ability to read all of the data on the network.
Time-Division Multiplexing (TDM) Networks are relatively simple; each device is directly connected to the next, and will usually transmit the entirety of the data to all connected devices.

One application that really likes this is large matrices. For example, take a communications. You could have 100 people trying to talk to each other. Any one of those 100 people may want to talk to any (or all) of the other 99 users at once.
A TDM Network makes mincemeat of this; each user is allocated a timeslot on the network. When they talk, their audio fills up their timeslot. When they aren't talking, nothing is transmitted (remember our Red and Green above).
At the other end, the user receiving the call pulls out the audio from all of the timeslots that they want to listen to.

Of course, this requires a bit of computer processing, but most common communications networks are more than capable of handling thousands of users on one TDM network.

In fact, most matrix routers/switchers employ a TDM network of one kind of another. The concept of a TDM can be applied inside a single "box". For example, a video matrix. Each input takes up one timeslot; each output reads from one timeslot. In this way, any input can go to any output without causing interruption to the video. When a TDM is contained in a single box, it is usually referred to as a backplane.

Downfalls?
The biggest drawback of a TDM  TDM network is limited not by the address space, but by the processing speed of the devices and the size of the data being transmitted. Transmitting audio through a computer's processor gives many thousands of audio channels, however transmitting high-definition video over standard networking architecture yields only tens of channels.

TDM networks need to be connected to all other devices in the network. There are some funky devices out there that will bridge two TDM networks, but these are usually limited.

TDM networks are also super sensitive to clocking. Once again, I'll go into clocking in a different article, but for the time being think of it this way.
Think of all of the timeslots as trains. However on TDM station there aren't any "The next train goes to Sydney" announcements, there is only a timetable.
If you only have your wristwatch to go on, you may catch the wrong train; how do you know that your 1:13 is the same as the railway's 1:13?
However, if there is a clock on the station, and one on the train, then you can confirm that your train is the right one before you board.

The same thing happens with TDM; unless you synchronise all of the devices you have no way of knowing which "train" (timeslot) is the right one.


Conclusion
I hope you have enjoyed this. Please comment if you don't "get it" and I will edit this post in order to make it easier to understand.

TDM networks are prevalent in audio, video and communications networks, and that's why I wanted to get this up earlier rather than later. Apologies for the maths earlier; I hope the bird picture helped you through that.

Tuesday, August 9, 2011

Arts Communication Session at Integrate Sydney 2011

This week I received confirmation that my seminar session has been accepted for the 2011 Integrate show.

I will be presenting with Ben Moore from ARUP Theatres and Nich Young from the Sydney Opera House.

We will be discussing the applications of networks in Theatres and Performance spaces, as well as the advantages (and disadvantages) of a converged network.

So feel free to pop on down; 1430 at the RHI Mezzanine on Day 3 (Thursday, 1st of September 2011).

We even have a spot in the official show guide.

Look forward to seeing people there

Sunday, July 31, 2011

What is a Packet?

Packet-switching networks, or simply Packet networks, are the most common form of network around.

But what exactly is a "packet"?

Basically, a packet is a bit of information, formatted to move around its specific network. It usually consists of two parts; a payload and formatting/addressing information. The payload can be anything that can be digitised.

For those of us coming from the Audio side of things, we're already used to the thought of packeting information. Think about a Digital audio stream. We find out the amplitude of the analogue audio signal and convert it to 1's and 0's. But before we send it around our mixer, CD player or whatever, we also put a few extra bits of information into it; how many samples per second, if it is a stereo or a mono channel, etc.

The are common examples in Lighting as well. A DMX signal, when looked at obliquely, is a packet. It has a payload (a value) and addressing information (a DMX channel).

However, the most common packet, the one that causes the most joy and woe in the world, is the Internet Protocol (IP) packet.

Below is a pictorial description of the IP packet. Instead of trying to bore you with details, I thought this would be an easy way to show what I mean.

By Nicolargo (Own work) [GFDL (www.gnu.org/copyleft/fdl.html) or CC-BY-SA-3.0-2.5-2.0-1.0 (www.creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons

I can hear your brain cogs turning trying to understand what it is that you are looking at.

Let's start at the bottom. The black section that trails off toward the bottom of the page is the data that we are trying to transmit. This can be anything digital; a photo, some audio, a DMX channel change, a webpage... so long as you can turn something into 1's and 0's, you can transmit it over an IP network.

I think I should say that again; anything that can be digitised can be sent over an IP network.

That is why these networks are so powerful; any data, no matter what it is, can be sent over these networks. The amount of data contained in a packet has no real limitation. If you have a large bit of data, you can break it down into a number of packets, send it through the network, and reassemble it at the other end.

As we move from the bottom to the top, we see some things that should appear obvious; Options, Source and Destination address. Normally, a device that receives a packet will read this information and decide what it has to do with it.

I will be going into the way the internet works in future articles, but for the time being please think of a mail sorter in a post office. He looks at each letter and then sends it off to the next closest post office.
That's how addressing works; network equipment will look at the addresses and then decide what to do with it.

Next up the line is a bunch of information that doesn't really matter to us... yet. There are basic housekeeping flags, like the total length of the packet, the time that the packet should be kept around (time to live) and some checksums.


The reason that a lot of Performance Networking protocols (like Cobranet) don't work well on combined networks is because they don't have all of this "extra" information. They have the Source and Destination addresses, but they don't bother with the rest of the data.

In the "olden days" of networking , you could get away with this. Networks were kept separate, and in many cases all of the data was transmitted to every machine on the network.

However, as time has gone on and the Networking world has taken leaps and bounds ahead of the performing arts (private money helps...) they have added a lot of smarts to their technology. That is why we need those extra checksums, version and protocol type flags.

As mentioned above, the next few posts will be looking at the way packets move through the Internet, but please, if you have any questions, just email me and ask.

N.B. As mentioned in the comments below, a "Packet" is technically only the information that is shipped around at Layer 3, the "Transport Layer". This is why technologies such as CobraNet are not strictly IP-based, and also why they do not work on enterprise-type networks. However, this is a little beyond the scope of this Blog, which hopes to examine Networking in Theatres/Broadcasting, as well as the Theatre/Broadcasting aspects that are relevant to a Networking technician working in those areas. Please forgive any shortcuts that I may be taking in order to clarify a point. 

Monday, July 25, 2011

Cisco Unveils new Wireless for Stadia etc

Just a quick one today (after my triumphant rant last week).

Cisco have just announced a new product for doing wireless networks in large areas, like stadia.

I obviously haven't covered the topic yet, however providing Wi-Fi access for an entire audience of thousands proves a lot harder than you'd expect. With the amount of access points (Wi-Fi Antennae, for want of a better word) required to support an entire audience you tend to get a lot of interference. 

I haven't tried, or even seen, Cisco's solution, but as mentioned in last week's post they are one of the world leaders in networking. If they say that it can work, then I have a fair degree of confidence that it will work.

Their press release is here:
http://www.cisco.com/web/strategy/sports/connected_stadium.html

I'll be reading this over the next couple of days, and if I determine anything I will post it here.

Wednesday, July 20, 2011

It can be done!

Converged Production Networks are possibile
 
After speaking to a lot of people in the last couple of days at SMPTE Sydney (and Entech... let's not forget about Entech....) I thought I'd write a quick post to summarise what it is that we are doing at the Opera House.

About three years ago I got talking to the in-house Information Systems (IS) team about the possibilities of a "converged" network. The IS world has been talking about Convergence for about a decade; I even operated the sound at a few of their conferences on the topic. Convergence was nothing new to them, and when I brought it up they were pretty confident that we could "do it".

By "it" I mean combine all of our IP-based services onto one network. At the moment, that includes:
  • The SOH Webpage
  • Ticketing/Box Office Services
  • Security Cameras
  • Telephones
  • The Lighting Control Network
  • Audio streams/distribution for the Concert Hall and Opera Theatre
  • Audio and Amplifier Control for the Concert Hall, Opera Theatre and Drama Theatre
  • Motor control for the Concert Hall PA
  • Stage Communications
Plus all the other things that we don't think of on a daily basis.

I won't lie; it wasn't an easy path. We made a few blunders, but nothing too serious. Okay, we did crash the network, twice. But those crashes were actually caused by separating services rather than combining them.

Why did we do it?

There are a number of reasons.
Firstly, and most importantly, companies like Cisco and HP have been doing networking for decades. It's what they do best, and the reason they are on top is because their stuff works. All the time. If there is a fault then I get an email straight away. The Network admin gets an email. If we dont' fix it, then the Executive gets an email. 
In terms of reliability you can't beat these professional systems.

Next up is cost. There is only a need for one network administrator, one set of spare parts, one warranty contract. We don't need to duplicate infrastructure, and that means that things get cheap, quickly.

In terms of service, I can run out a single fibre cable, and within 10 minutes I can set up a whole production office/box office/security office, all running off one of my switches. We do this all the time. A production manager will want to be near their event, but will also need to answer their phone and check their emails. They can now do all of that, and sell tickets on the side. Or they can be on a comms panel, talking to the stage crews.

Basically, there are advantages for days. 

Separation and Show Criticality

Detractors will mention things like separated services and "Show Criticality". 

In terms of separation, the IS world are already leaps and bounds ahead of us in the production world. They've been keeping your Credit Card number safe every time you swipe it at an EFTPOS terminal for years. They can link offices half-way across the world and make you think you're in the same building. There are so many ways to keep networks "separated" over the same infrastructure that's it's a little scary.

And critically? Cisco switches are used in military installations and banks all over the world. I know that losing a show is a dreadful thing in our world, but in terms of really needing things to work first time, every time, those kinds of industries have us beaten, hands down. 
Besides, would you trust a product with a R&D team larger than most theatre companies, or a company that only has four people on staff? 
We all know that the best way to get results is to get trained professionals.

You don't ask a flyman to run a lighting console, so why would you ask a Lighting guy to run your network?

Anyway, I've gone on a little longer than expected here. The moral of the story is to plan your network. If you're not a network planner, then maybe ask around for one. Heck, email me on camoneillsystems@gmail.com if you'd like. I'm more than happy to look over network designs, or even just to chat about our network.

For now, let me just say it one more time; it can be done.

Sunday, July 17, 2011

Stage Directions

Theatrical Logic

In is down, down is front
Out is up, up is back
And of course,
Left is right and Right is left

A Drop shouldn't and a
Block and fall does neither
A prop doesn't and 
A cove has no water
Tripping is OK


A running crew rarely gets anywhere
A purchase line buys you nothing
A trap will not catch anything
A gridiron has nothing to do with football
A strike is work
(In fact, a lot of work)


And a Green Room, thank God, usually isn't,
Now that you're fully versed in
Theatrical Terms, Break a Leg,
But not actually.


I've seen this poem in a number of shapes and forms in a number of the theatres that I've worked in. It's one of those in-jokes that gets passed around, photocopied, transliterated and so on. It's like a chain-email from a time before the internet.

However, it does highlight one of the most difficult points about working in the theatre; there is a whole other language involved in mounting a show.

I am attempting to relieve this stress with the Glossary, but I wanted to spend a bit of time discussing theatre directions. This is especially relevant to people who may not have had any experience with the theatre.

Stage Directions
There are four main directions on stage; Upstage, Downstage, Stage Left and Stage Right.
To understand Up and Down stage you should think about a stage that is sloped towards the audience.
In days gone by this was the easiest way to ensure that the audience could see the entire stage. Many theatrical sets still incorporate this slope, or "rake" towards the audience for the same reason.
From this, "Up" and "Down" stage follow logically; Upstage is away form the audience, or the rear of the stage, and Downstage is towards the audience, or the front of the Stage.

Image courtesy of StageHand Tees


Stage Left and Right are always given from the perspective of an actor on stage, facing the audience. This was started to get over the "Your left or my left?" confusion. Typically, the Director and other creatives sit in the Auditorium, watching the show, with the actors facing them.
If they were to call out "Move Left" then there is the obvious confusion. "Move to Stage Left" means that the actor would move to their left, or to the Director's Right.

The equivalent term for someone sitting in the auditorium is House Left/Right.  House Left is in the same direction as Stage Right, and vice-versa.

The last term in the Left/Right set is Camera Left/Right. This is used in broadcast for cameramen, and is always related to what the cameraman sees. This could he House Left/Right for a camera in the auditorium, or perhaps Stage Left/Right for a cameraman on stage. I include them here because some people will often use House Left/Right and Camera Left/Right interchangeably.

In order to remove Left and Right from the Stage Directions, many directions are given in terms of Prompt Side and Opposite Prompt. Traditionally, the Prompter and/or Stage Manager would be located on Stage Left. Thus Prompt Side (PS) became synonymous with Stage Left  and Opposite Prompt (OP) with Stage Right. 
As these directions don't change no matter the viewing angle they have become the preferred direction.



Sunday, July 10, 2011

Glossary Up and Running

I have now published the first version of this blog's Glossary.

This will be a useful tool for explaining the various terms that I will be using.

I intend to be updating it constantly, but for the understandability of this blog I have posted most of the basic terms I will be using.

If you would like any specific term added to the list, please just leave a comment on the glossary.

Thanks