Haiku #113

A horse walks into

A bar and says "Hey, give me

A site policy."

 

Just the other day the author of today's haiku read the following joke:

 

A turtle walks into a police station and tells the officer at the desk that three snails have just robbed him. "Three snails?" said the policeman. "Can you describe them?"

 

"No, I can't," said the turtle. "It all happened too fast!"

 

Why is that important? Well, that's important because, up until now, the author of today's haiku only knew one joke. That joke takes a long time to tell, at least half the people who hear it don't even get the joke, and nobody has ever laughed at it. Ever. Now, however, the author of today's haiku has a second joke in his repertoire. No one will laugh at it, either, but at least it won't take anywhere near as long to tell.

 

So is there a lesson to be learned here? No; if there was a lesson to be learned here, that would mean that you're reading someone else's blog by mistake. Still, if there was a lesson to be learned here it would be this: if you want to define bandwidth limitations between network sites then you must use the CsNetworkInterSitePolicy cmdlets (Get-CsNetworkInterSitePolicy, New-CsNetworkInterSitePolicy, Remove-CsNetworkInterSitePolicy, and Set-CsNetworkInterSitePolicy.)

 

Also this: if you ever find yourself hanging out with the author of today's haiku, don't say something like, "Anyone know any jokes?"

 

So what exactly is a network inter-site policy? Well, if you're familiar with Call Admission Control (CAC), then you know that you can use this technology to limit the amount of audio/video traffic that flows between network locations. For example, suppose you have a network site in Redmond and another network site in Dublin. Let's suppose, too that the connection between those two sites isn't all that great, especially when people are conducting video chats and phoning one another every few minutes. To help alleviate the load on the network, you can create a bandwidth policy that limits the amount of network traffic that can be devoted to audio or video at any one time.

 

For example, let's pretend a typical audio call requires 100 kilobytes of network bandwidth, and let's further pretend that you've implemented a policy that limits audio transmissions to 1,000 kilobytes of bandwidth at a time. That means you can have, at most, 10 calls going on at the same time: 10 x 100 = 1,000. Suppose you currently have 10 calls going on, and someone picks up the phone and tries to place an 11th call, a call that would push you past the maximum-allowed bandwidth. Will that user be allowed to make that call? Nope. Instead, he or she will have to wait until someone hangs up and frees up enough bandwidth for the new call to go through.

 

Of course, most of you probably have totally unlimited network capacity. But, on the rare chance that you don't, CAC is a pretty good thing to know about.

 

At any rate, after you've create a network bandwidth policy and policy profile, your next step is to assign that policy profile to your two sites. How do you do that? That's right: you use the New-CsNetworkInterSitePolicy cmdlet. Let's take a look at a sample command for doing this, and then we'll explain how it all works:

 

New-CsNetworkInterSitePolicy -Identity RedmondDublinPolicy -NetworkSiteID1 Redmond -NetworkSiteID2 Dublin -BWPolicyProfileID TenCallMaximum

 

As you can see, we start off by calling New-CsNetworkInterSitePolicy, passing the cmdlet the following parameters:

 

· Identity — The unique Identity for the inter-site policy. The Identity can be pretty much anything you want, although it obviously makes sense to include the names of the two affected sites somewhere in that Identity. But that's up to you.

· NetworkSiteID1 — The Identity of the first of the two sites affected by this policy. Two things to keep in mind here. First, remember that we're talking about network sites here; those are sites created using the New-CsNetworkSite cmdlet and are specific to CAC. If you aren’t sure which network sites you actually have (if any), just run this command:

Get-CsNetworkSite | Select Identity

Second, if you're creating a policy for the connection between the Redmond site and the Dublin site, it doesn't matter which site gets listed as NetworkSiteID1 and which gets listed as NetworkSiteID2. However, you can only have one policy for that connection. Suppose you have a policy with these property values:

NetworkSiteID1 – Redmond NetworkSiteID2 – Dublin

That means that you can't have a second policy with these property values (where we've simply swapped sites 1 and 2):

NetworkSiteID1 – Dublin NetworkSiteID2 – Redmond

That just won't work.

· NetworkSiteID2 — The Identity of the second of the two sites affected by this policy. Needless to say, both of these sites must already exist for this command to work.

· BWPolicyProfileID — The Identity of the bandwidth policy profile that will be used to manage network traffic between the two sites. You say you don't know the Identity of your bandwidth policy profiles? That's OK; just run this command:

Get-CsBandwidthPolicyProfile | Select Identity

And yes, you can use the same bandwidth policy profile in multiple inter-site policies.

 

That's really all you have to do. As soon as this command completes you'll automatically begin managing bandwidth usage between Redmond and Dublin.

 

If you ever need to modify this policy, well, that's what the Set-CsNetworkInterSitePolicy cmdlet is for. For example, this command assigns a different bandwidth policy profile to RedmondDublinPolicy:

 

New-CsNetworkInterSitePolicy -Identity RedmondDublinPolicy -BWPolicyProfileID TwentyCallMaximum

Likewise, the Remove-CsNetworkInterSitePolicy cmdlet enables you to delete an inter-site policy, and Get-CsNetworkInterSitePolicy lets you return information about these policies. For example, this command returns information about all the policies that include the Redmond site (either as site 1 or as site 2):

 

Get-CsNetworkInterSitePolicy | Where-Object {$_.NetworkSiteID1 –eq "Redmond" –or $_.NetworkSiteID2 –eq "Redmond"}

 

And this command returns all the policies that use the TenCallMaximum bandwidth policy profile:

 

Get-CsNetworkInterSitePolicy | Where-Object {$_.BWPolicyProfileID –eq "TenCallMaximum"}

 

And there you have it. About all we have left to say is this: Late at night there's a knock on a farmhouse door. When the farmer opens the door he sees these three Army guys standing there. "Our car broke down about a mile or so up the road," says one of the guys. "Is there any chance we could spend the night here, then call a tow truck in the morning?"

 

"Well, that's fine with me," says the farmer, "except that we only have two bedrooms in this house. That means you'll have to share a room with my beautiful daughter …."

 

Etc., etc.

 

Note. Trust us: you don't want to hear the rest of the joke anyway.