EXCERPTS
FROM PROFESSOR ZITTRAIN’S TESTIMONY TO THE CARP
Friday,
August 24, 2001
DIRECT
EXAMINATION
THE
WITNESS: Okay. So this is the general slide that's meant to
be an overview of the webcasting process.
I'll try to include -- basically, do it soup to nuts without lingering
unduly on any one piece. And there's
three phases to it. The first is what
happens in the webcasters' zone of things.
They've got their own equipment wherever they happen to be or wherever
they sublet out and have to prepare the data to be sent to the client, to the
listener. It then ends up hitting the
Internet, and ISP here is the first stop for anything hitting the Internet
coming from the webcaster. But once it's into the Internet, it still has to get
to its destination, and that's what this intermediate routing path section
represents, the actual data getting from the Internet service provider of the
webcaster over ultimately to the Internet service provider of the user -- and
I'll talk about that middle part too. Then from the Internet service provider
of the user, it actually makes its way down to the user where it is ultimately
decoded and then played for the user to hear.
So,
okay. First is, on the webcaster side
of things, getting the music in a condition to be streamed. And I've listed here three steps for
that. Gather and preparing the data;
namely, getting the music in a form in which you can start working with it on
your computer. Secondly, filing and
indexing the data. That's something if
you want to do this in large scale, once you have a big pile of files, each
file, perhaps, corresponding to a song you might want to stream to somebody,
you have to name them, index them, take care of them in a particular way so
that you're in condition to know what you have and know when and where you want
to stream it. And, finally, actually
getting the data going.
So, first, I
should talk about getting the data off of, say, a CD. If you want to stream music, it's likely that what you'll do, if
you're not doing it live, is start with a compact disc that you could purchase
at a store and you've got to get the music off of that and into the computer so
that it's ready to stream out at a moment's notice when you're ready to
actually stream. To get it off the disc
-- The process is called, colloquially
at least, ripping. You literally take
the data off of the CD. When it's on
the CD it's actually in digital form already.
It's jut not in a very convenient digital form …
So for CDs,
we would say they're recorded at a sampling rate of 44.1 kilohertz and in
16-bit PCM accuracy. PCM is one common
way to represent audio data digitally that, to my knowledge, has been around,
basically, from the time that you started digitizing any kind of sounds
whatsoever. And, of course, you also
need that for each channel, because stereo sound is two separate channels of
these sounds. So that's a lot of
data. I mean it's 44,000 samples per
second times two channels timesbits. If
you then wanted to measure in bits, that's a lot of bits per second to have to
be able to represent, and that ultimately ends up then filling the compact
disc. Okay. So that data is sitting
there then already digitized on the compact disc, and the ripping process is a
way of just extracting from the disc and being able to put it on your hard
drive, and you could, in the first instance, simply make, in essence, a
photocopy, an exact copy of what's on that compact disc except it's no longer
just on the disc; you've copied it onto your computer, onto the hard drive. And once you do that, you could play it on
your hard drive and listen to it as if you were listening to the compact disc.
So, okay,
you've got that file on your drive, and it's relatively big. That's one reason why you might immediately
start thinking about shrinking the size, and there are various tricks of the
trade that are used.
I've just
explained extracting the data off of the CD-Rom and getting it onto your hard
drive. There's also typically some
encoding that goes on, and this is hopefully worth the view -- the artists'
rendition of actually extracting the data that had been formally on the left
and putting it into a form that's not only moving it from one place to another
but starting to do various things to it. You'll notice that now each of these
hexagons, if we look at the left and we think of the things on the left as just
a chunk of the wave file going from left to right, it's data that in sequence
is amounting to various ultimately notes of the music. There's reason to want to start scrambling
it a little bit, not just leave it in sequence one step at a time. And here's, basically, the process of
scrambling as you move it.
Now, why
would you possibly want to scramble it?
Well, this is basically what you're paying Real or taking advantage of
Windows Media 4. If you want to stream
data, the one expectation you have, for reasons I'll explain shortly, is that
not all the data is actually going to get to the listener. And the question is what do you do when not
all the data gets to a listener? Now,
if it's another kind of file, it's not a sound file, that could be a very
traumatic experience. You want to make
sure the data gets there. If it doesn't
all get there, we might as well call the whole thing off. For streaming audio, it's okay if not all
gets there. It just won't be the entire
song. So they'll miss a little bit; it
will fade out or something.
This is a
trick of the trade called interleaving used to make it so that if a piece of
data is lost, it need not lose an entire note or section of the song. If we spread our eggs across multiple
baskets, then if we lose just one basket, it doesn't lose that entire note, it
just slightly detracts from a series of notes.
So better to have three-quarters of four notes than none of one and all
of the others is basically the idea behind interleaving. So these kinds of tricks of the trades are
what you get when you sign up for something like the Real server or Windows
Media to be your vehicle to stream sound from where you are as the webcaster
over to a listener. It's not something
you get if you just do what you call streaming MP3s, and let me talk about that
by way of compression.
THE
WITNESS: Okay. So now we get into the intermediate routing
paths. The Internet service provider of
the webcaster has basically gotten the stream of data that is going out to one
particular client, one particular listener out there on the other end of the
Internet. Now, we should be clear here
that between what's very dim on this slide, the webcaster and this line of bits
going up to the ISP, the way you contact with the ISP is typically for a
particular among of bandwidth. It may
be for a certain amount of data getting pushed, period, per month, but what you
have to worry about is how much data you can shove at one time into the
Internet. That's one reason to favor
smaller streams even though it results in a sacrifice in quality because you
could, for the same dollar, for the same buck, push more of them out than you
could a very thick stream. Now, how does it get from this ISP to this ISP on
the right, in the middle? This, to me,
is quite interesting. There are a
series of so-called peering arrangements by which all sorts of entities in the
middle, which may or may not have contractual relationships with each other,
let alone to the end point down here, the webcaster, agree to carry
traffic. So one way to think about this
would almost be like a bucket brigade where a bucket gets passed to you and
you, basically, if you can help get it closer to its destination, you pass it
laterally off to the next person in the brigade, and ultimately the bucket gets
to its destination.
So this is a
brilliant way to move packets around.
It's very complicated in the middle exactly how you know who is to your
left and who is to your right in the Internet topology, but that's what you use
so-called routers for. And the very
routers that you're using to take in data for your own purposes, as somebody
using the Internet, are often the very routers that would be used to route
other people's data laterally to get it from one place on the Internet to
another.
But this
also explains then why quite often packets can be delayed, they can be lost,
routers can get very busy. It's just
not nearly as centrally organized a scheme as something like the Postal Service
or even the telephone service where you pretty much have a guarantee that when
you pick up the phone you'll hear a dial tone, and when you dial you will get
to the other side at the level of fidelity -- certainly baseline level of
fidelity that you expect. So that's
also why I said intermediate routing paths.
It's possible that the bucket brigades aren't just little lines of
pearls but basically webs of pearls, and they can -- the data can go across any
number of intermediate paths to ultimately end up at the same destination. And then so for these sorts of reasons why I
say here the data packets can take different paths. A given packet is not like a musical note floating through the
air, for the interleaving for one reason, but also because the packets are
typically quite small and they may even be out of order.
So that's
the kind of challenge that the webcaster faces if the webcaster wants to use
the Internet to stream something to somebody.
I think it's fair to say it's basically not what the original design of
the Internet contemplated happening. It
contemplated getting your packets there eventually, but if it took two seconds
versus ten seconds, it wasn't meant to be a big deal. Two seconds versus ten seconds, of course, on a song could make a
very big difference.
The model
I've been talking about is so-called unicast, and unicast is basically the
default way of doing things. Here are
three users -- one, two, three -- somewhere at different ends of the Internet. You have the Internet service provider of
the webcaster over here. It's passing
along three streams, one for each user, even if they happen to be listening to
the same song. You've got to do a
separate stream for each additional user, and those streams may follow
different paths along the network as they get to their respective destination.
So this means for the webcaster cost-wise your bandwidth needs will be linear
to the number of listeners you have. As
more people jump in, unlike broadcast radio, it's not as if the tower of a
broadcast station has to work any harder for one more listener to hear it so
long as the listener is already within the range. Here it's not that way.
As you add more users, you've got to be able to supply more bandwidth even
if they're listening to putatively the same music from the same data file on
the webcaster's server at the same time.
Now, there
are some ways that are in development to try to get around this bottleneck,
which is not only a source of expense to the webcaster but a sort of a
disappointment to the network. It just
seems awfully wasteful to have to be sending three of the same stream out
simultaneously across perhaps even the same routers just because you have three
people who want to listen. So multicast
is one way of trying to solve that problem. And multicast is a set of tricks
implemented along every step of the bucket brigade such that the Internet
service provider of the webcaster and the webcaster, himself or herself, can
send along a single stream, and then as there are realizations along the way
that lots of people downstream want it, copies can be made within the network
and sent along to respective destinations.
Okay. So this now is another way of trying to get
around the linear bandwidth problem of the typical unicast model. This is so-called splitting. And for splitting what you do is you try to
figure out, somebody tries to figure out, of all these many users over here we
have, I guess, nine users in this demo, that want to hear a given stream,
presuming it's all the same music they want to hear. You may only have to send out three streams instead of nine from
the Internet service provider of the webcaster, because you send them,
basically, to regional weigh stations.
That's what these are. The
splitting servers that, in turn, can send out not just one stream, which is
there, you can imagine even additional arrows, one each going to each of the
three people in each of the three groups listed here. So, basically, it's just a way of distributing the work around.
So a company
that you may have heard of like Akamai does this kind of thing. Their job is to station lots of splitting
servers in strategic locations near lots of users who are likely to want
content and then to turn around and often cut a deal with an Internet service
provider or a webcaster and say, "We'll forward-stage your content. Either if you know what it's going to be, we
can just put it there. Or if it's a
stream, we'll carry the stream and multiply it on our end, and we'll do that
for some particular fee." So
splitting is, I'd say currently, a more reasonable way, certainly, than
multicast to try to eat away at the problem, but it also carries with it its
own expense, because you've Akamai in the middle that wants to be paid for its
services.
Okay. By hook or by crook, somehow our stream has
gotten across the cloud of the Internet to the Internet service provider of the
user who has requested to hear this stream of music, and the bits come along
the last leg of the journey into the computer of the user. Now, if it's to be a Real stream, a stream
encoded by the Real software, as the user, you're going to have to be able to
have software on your computer that understands Real. So you might have to have the Real Player or some variant of it
as a counterpart to be able to listen to a Real stream. And part of the way Real operates is to not
just distribute Real Players to users, although you can do that. You can go to Real and download a player so
that as a user of a computer you can hear a Real stream. But it also basically arranges to get the
player engine into the hands of third parties. So you can go as a user to a
third party site that says, "Come listen to our webcast. You just need to download our software here." What you maybe are downloading is the Real
engine underneath -- it's basically the Real Player -- but it looks a lot
different, because it's been customized by that third party to basically be
branded as theirs. But if that third
party is to be offering you music, they're going to have the Real server on one
end serving it up and the Real Player on the other, whether or not it literally
says Real to the eyes of the user to hear it.
The same goes for Windows Media, and the same would go for so-called MP3
streaming. If you're going to send an MP3 file streaming to a user, you need
something on the user's end capable of playing the stream. The most common software on the Windows
platform for that is WinAmp. WinAmp is
a player, among other things, for MP3 streams.
In the first instance, it's meant to just play MP3 files, files that
have already arrived on your computer and are sitting there waiting to be
played. But it can also tune in to this
kind of stream coming in and play the packets as it hears them and not bother
to record the packets to the hard disc as it converts them for the user's
purposes. Now, maybe I should just zoom in for a second on the user's computer
to say what's happening as these packets come swimming in. So they arrive like so, and the first job of
the operating system of the user's computer is to get rid of all the packaging,
basically to unpack the goodies. So all
of that stuff goes away. Those were the
things that got it ready for transmission over the Internet. Now, it's where it wants to be. And now you've got to somehow make these
packets useful. You've basically got to
do exactly the inverse of what was done to package them up for shipping over
the Internet. So here they are. They
get bigger again. It might be useful to
think of this as unpacking your suit out of your suit bag. It looks pretty like it did when you packed
it, although it's a little bit rumpled, because once you've uncompressed it, if
it's this so-called LOSSY compression algorithm, the resulting bigger packets
aren't going to be identical to the big packets that the webcaster started with
before compressing it. The act of
compression is losing something, and when you uncompress it, there are just
approximations where real data had been -- this is real with a lower case
"r" -- in the first instance.
Now, of
course, just uncompressed these particular packets aren't very useful either in
this example, because these are packets that I'm hypothesizing have been
created by the Real server. The only
way they're useful is for the Real Player to make sense of them, as I said, and
that's the media engine I'm talking about.
So it's the Real Player that's going to know, basically, how to decode
those packets back into what's now appearing on the left as a snippet of music
that is prepared to be played. And with this kind of object on the left, a
snippet of music that looks an awful lot like what could come from any sound
source that's no longer brand specific.
This is what will be sent out to the sound card. Sound cards usually get their data in that
PCM I was talking about, right, 44.1 kilohertz, 16-bit, two-channel. And it's then the sound card's job to send
the proper signal out of basically a headphone jack or speaker jack so it can
play over the speakers of the computer.
So those are the slides. Maybe I
should see if there are questions on any of that?
Q Okay.
And from the user's perspective, when the user clicks on some link or an
icon in his computer because he wants to hear streaming music, what is it
that's happening from the user's computer going back the other way?
A When a user clicks on a link to say,
"I want to hear streaming music."
So suppose the link is on a web page.
If it's on a web page, you click on that link, the first thing the link
has to do, typically, is instruct the computer, "Wait a minute. I'm not just in webland anymore,"
because Internet browsers are not typically designed to stream music. They're meant to browse the Internet. So the
first thing that link does when you click on it is it gives information to your
computer that says, "It's time to fire up a media engine of some
kind." So that may be WinAmp, it
might be the Real Player, it might be the Windows Media Player, it could be
Quick Time, I don't know, one of these engines. The engine may be, literally, a
separate application. So Spinner
appears as a separate thing for you to play with. Or it might be embedded in the web page. One of the nice things that Real or Windows
Media can do is embed itself in the web page so from the user's point of view
they don't know their browser doesn't know about streaming. It sure looks like it does, because the
browser basically makes a little plot of real estate on the screen, and media
engine goes here and then the media engine goes there. At that moment then, the
media engine needs to know from where it is going to listen to a stream, and
that may be data passed to it from the link that you clicked on or even a very
small file that's encoded that says, "This is the location to go on the
Internet to knock on the proper door to get the stream you're looking for
back." And that door to knock on
is somewhere over here on the server.
So it's often the media engine that does the knocking, and then the
server that starts sending the stream and connecting back to the engine. There
may also be a brief so-called handshake going on where the engine knocks on the
door, the server says, "Who are you?" "I'm a Real Player.
I'd like a stream, please."
"At what rate do you expect this stream?" "At what rate are you connected?"
And I don't
know yet if I've spoken sufficiently to connection rates and that sort of
thing. If you are a server, you may
want to send a stream out to somebody you know is connected only at 28.8 orkilo
-- Kbps, kilobits per second -- that's the maximum they can take -- than you
would to somebody who purports to be connected at a T-1 line, which is much
thicker pipe. So you don't want to end
up sending out your data at a faster rate than you know you client can digest
it, because then they've got to deal with buffering problems, and the middle of
the Internet is going to start passing it along as fast as it can, but there
will be, again, variations along the whole route.
That also
reminds me, I should add, because of the uncertainties within the intermediate
routing paths, even if you have paid your ISP as a webcaster a lot for a lot of
bandwidth and even if the user has paid her ISP a lot for bandwidth, some bad
connection in the middle could make it all moot. The convoy can only go as slow as the slowest ship, so you may
have to worry about the intermediate paths being the things that slow down the
streams.
Q Okay.
And in terms of cost structure from the perspective of the webcaster?
A Oh, yes. So for cost structure, if you're a webcaster, the best I can see
is -- and there's some data on cost structure in my testimony from this one
streaming media survey company -- to an order of magnitude, we're talking maybe
$1,000 a month for a T- 1 line. A
thousand dollars a month gets you 1.44 megabits per second, which is to say
1,500 kilobits per second. So you could
divide 1,500 kilobits per second over the number of streams you want to carry
that are a certain, themselves, number of kilobits per second. I don't know if it would be dangerous to
pull out the calculator, but it would be more dangerous for me to do it in my
head. All right. So there's the calculator. This is always dangerous. So 1,544 kilobits
per second divided by a 40-kilobit per second stream gives you 38.6 streams you
can manage on the best of days. This
means sunny skies on the Internet, sunny skies between you and the ISP. You've got a dedicated T-1. You're basically able, at that resolution,
at a 40K stream, you can host roughlystreams, I guess only just because I
really want to get it right, not because I'm entirely clueless.
BY MR.
COHEN:
Q Now, the Panel has heard visions of a
future where CD quality streaming will be ubiquitous. Can you -- relating back to the process that you've described,
tell us what would need to take place in order for that world to come into
being.
A Well, in order to get CD quality out to
everybody, first you need to get streams that when people listen to them they
say, "Boy, that sounds a lot like a CD." Now, that, of course, is as much art as it is craft, but in my
experience the absolute -- the most I'd be willing to sacrifice and still say,
"All right, it's CD quality," if I'm listening to a stream, would
bekilobit on Windows Media. I'm not all
that excited to say it, but Windows Media seems to have the best secret sauce
as far as compression goes, and their 96-kilobit stream is pretty good. It's
different than, say, an MP3 96- kilobit stream. If I want CD quality on MP3, I may want -- I do want 128 kilobits
per second. That's substantially more
than a 40-kilobit or a 20-kilobit per second stream. So on the webcaster side of things, given that they're paying
1,000 bucks a month for that T-1 that could hold whatever a calculator said, it
could hold40-kilobit streams, if you want to make those 80-kilobit streams,
you've cut in half the number of streams you can serve simultaneously with that
bandwidth, and so on. So from the cost perspective, it's quite expensive to
upgrade the quality going out. That's
why it's really hard for professional webcasters to find high bit rate streams
available to listen to even if you've got the equipment on your end to do
it. Then you have to worry about the
quality of stuff in the middle, which is anybody's guess at times as to how
that will work. And then the connection
here between the Internet service provider nearest the user and the user, that
has to be upgraded as well. There's
only so much that copper wire can be asked to do, and in my estimation, we're
at its limit. So you can try to get
clever with codecs, but there's been a lot of time with people doing that. I think we're kind of running out of rabbits
to pull out of that hat to make better quality out of what compression you
have. And when I say out of copper wires, I mean the kind of copper wires that
are sitting on my street in Cambridge that some of them were screwed in last at
the time of King George. They are --
you know, they're not geared for high bandwidth transmissions.
The process
of offering somebody high-speed Internet, like DSL, is to make sure you do have
wires, maybe copper, that are very well outfitted, and that process can take a
while. And what I've read we're talking
that at the present something on the order of at least 80 percent of American
consumers who get their Internet are getting it over regular phone lines using
modems, which is, at most, then, we're talking the 56K and typically less than
that. And you're not going to get CD
quality over 56K any time soon; it's just not going to happen, I don't think.
ARBITRATOR
VON KANN: And there are some of us who
can actually live with something slightly less than exact CD quality.
THE
WITNESS: Yes.
ARBITRATOR
VON KANN: I suppose the really
pertinent question is not when it will precisely duplicate but when it will get
to a level of quality that is reasonably acceptable to a lot of people.
THE
WITNESS: Right.
ARBITRATOR
VON KANN: Do you have any sense of when
that will come about?
THE
WITNESS: Well, it's certainly one of
those crystal ball questions. I do
think that we've gone pretty far with the codecs that we have, which is to say
Microsoft hired a bunch of really smart mathematicians to just really make 96K
good, and they've run out of things to do.
And I don't know that more mathematicians staring at it over time will
make it much better.
So if people
could learn to be happy with 40K streams, okay, that's not bad, but I do think
it's fair to say it is FM quality. I
mean most ears are going to tell the difference, especially to the extent that
you try to make other pieces of the chain more robust. So you replace your tinny speakers with
really good speakers, suddenly listening to the 40K stream isn't as adequate as
it was when you couldn't tell the difference anyway because of your speakers.
CHAIRMAN VAN
LOON: I'm trying to remember, isCD
quality?
THE
WITNESS: No, no, no. To answer the question -- I mean the first
way to answer what CD quality is --
CHAIRMAN VAN
LOON: I'm sorry, I meant FM quality.
THE
WITNESS: Oh. I think it's fair to sayis FM quality, yes.
CHAIRMAN VAN
LOON: And CD is?
THE
WITNESS: CD, to my ear, is a 96K
Windows Media stream, 128K MP3 stream or, if you're a total purist, it's going
to be the wave file ripped off the disc, which is huge, basically thousands of
K because it's the 44.1 timestimes two bits per second, which is much bigger
than any of those.
ARBITRATOR
VON KANN: One more on this quality
issue that I had not, I don't think, really focused on until your testimony,
which is that it sounds to me like the wild card in this whole process is stage
number two. I guess the webcasters can
go out and upgrade, and the users can go out and upgrade, but it's almost, sounds
to me, like it's damn close to pointless if all the people in the middle are
way behind. So you're, to some extent,
I guess, at the mercy of what the rest of the world does or whoever -- what was
the line from Butch Cassidy, "Who are those guys?" Whoever those guys are at number two, we're all
a little bit dependent on them, I guess, upgrading their systems and their
facilities.
THE
WITNESS: Yes.
ARBITRATOR
VON KANN: It's kind of we're wasting
money, in a sense, if they're still in the Dark Ages.
THE
WITNESS: You're definitely at the mercy
of the middle. The only ways to get
around it would be something like Akamai, which is meant to stage the stuff out
so there's less middle between the source of the music and the customer of the
music. And the only other thing
attenuating that I can think of is that generally it's a lot -- I wouldn't say
a lot for sure, but it's easier to upgrade in the middle than it is at the end
points. It's just a lot more
inconvenient to spool fiber optic literally to my doorstep because I want
high-speed Internet at my house than it is for Sprint to upgrade some of those
lines in the middle.
But that's
also just a technical answer. There are
all sorts of quite foggy economics at work, given the fact that these
arrangements often don't even involve the exchange of money. So then you might even say what's my
incentive to pass buckets faster unless somebody pays me? And as yet, the economics of that middle are
still truly nascent. So that would have
to be figured out if you're to get -- I mean the term for this by the Internet
engineers is quality of service, QOS. Quality of service is, "How can I
take this messy middle and see to it that a consistent bandwidth is achieved so
things like streams don't have to worry as much about getting interrupted. And that's posed as like a big problem
rather than as something for which we know the answer, we're rolling right
along, and here we go.
CROSS
EXAMINATION
BY MR. KATZ:
Let me start
here. Over at the beginning end, in
your phase one, we've got a webcaster who needs to rip a file from a CD to a
server.
THE
WITNESS: Yes.
BY MR.
COHEN:
Q And there's free software that will do
that; isn't that right?
A Free software to rip a file to a
server. It would be to rip in what
format?
Q Well, you testified about ripping in wave
format; isn't that right?
A Right.
Q And there's free software that will do
that; isn't that right?
A Correct.
Q A webcaster may choose to pay for
software, but he doesn't need to; isn't that right? He could use the free software.
A Correct.
Q But he may choose to pay something for
the convenience of a more efficient piece of software; isn't that right?
A Basically, yes, a whole efficient outfit,
that's right.
Q But webcasters didn't invent that
software, did they?
A Not to my knowledge.
Q All right. Now, the next the thing the webcaster has to do is to encode the
file into one of these formats, such as MP3; isn't that right?
A Correct.
Q And that can be done with free software
too; isn't that right?
A Yes.
Q And the webcasters didn't have to invent
any of that technology either, did they?
A I doubt it.
Q And they don't have to pay for any of
that software unless they choose to do so for their convenience; isn't that
right?
A Sure, realizing that convenience at some
point is a difference in degree that becomes a difference in kind. If you want to run a professional outfit,
you can't do it all on Shareware found at random web sites.
Q And at some point that kind of
convenience is something people will pay for.
A Correct.
Q And the next step in the process, as you
described it, was to compress the encoded file, and that, too, can be done with
free software.
A Yes.
Q And, again, that's not technology that
any webcaster needed to develop or needs to pay for; isn't that right?
A I think that's right. I don't even think when you buy the software
to do it that that's a big hit on your pocketbook.
Q And then the webcaster does have to pay
his local ISP to get the information onto the network; isn't that right?
A Correct.
You buy the bandwidth.
Q A webcaster may choose to pay for Real
server, but there's free software which will do that serving too; isn't that
right?
A You could get something like SHOUTcast,
and that's a server that will serve your stuff out in MP3 format, that's right.
Q What are the first-tier Internet
companies that make up the backbone of the Internet?
A The likes of MCI, Sprint, AT&T.
Q And if you connect directly to one of
them, you get fast intermediate carriage; isn't that right?
A Well, intermediate carriage to some
concentric circle, yes. I mean some of
the carriage will be fast. But if you
imagine, for instance, somebody connecting in Hawaii or in some world location,
that backbone, at some point, has to go out to a rib.
Q Now, moving over to the receiving end,
the user needs software to undo all of these operations to reformulate the
packet, music from the packet files, from the packet to decompress and to
decode. And that, too, can all be done
with available free software; isn't that right?
A Well, if you want to decode -- yes,
that's right, to the user. You can get
free software to do this, that's right.
Q Now, in fact there's a widely used, on
the Internet, free operating system called LINUX; isn't that right?
A I've heard of it.
Q And all of these tools -- rippers and
encoders and compressors and servers -- are all available for free operating
under the LINUX operating system; isn't that right?
A Well, again, it may depend on just which
of the servers you're talking about.
For instance, I don't know if there exists a Windows Media server for
the LINUX operating system.
Q One might have to use the MP3 format
rather than Windows Media --
A Right.
Q -- as the compression algorithm.
A Right.
Q But if one is -- once can do all these
things using MP3; isn't that right?
A With the -- yes, that's right, with the
concomitant sacrifices that I talked about for the problems that come in the
middle when you stream.
Q As before, one may choose to pay for
additional convenience and additional scale, but one doesn't need to if one
doesn't want to.
A Yes.
It's a spectrum. It's a
spectrum, although as you want to host increasing number of users, you've got
to invest in better stuff, and as you have more material, et cetera.
Q And so it isn't absolutely necessary for
the webcaster to pay for any of this technology; isn't that right?
A Again, I'd want to know for how many
users are we talking about, for how many songs, because at some point the
possible becomes the unrealistic. But,
yes, for some implementations, I could, in the course of a day, configure this
machine to serve up a few streams to people and not have paid a dime to anybody
above the recurring costs I already have to my Internet service provider,
that's right.
Q Do you have any experience using Apache
web servers?
A No.
Q Do you know the scale and capacity of
Apache web servers?
A My understanding is that the relevant
limits of output of streaming media are either going to be bandwidth, what
you're hooking into the server to begin with, or ultimately the kind of server
you have that is pushing out the media.
I think that beyond 400 or so streams you're pushing a decent computer
to its limits.
Q And Apache is the most widely use server
software on the Internet; isn't that right?
A I wouldn't know.
Q And it is free, is it not?
A Well, it depends where you buy it, but,
yes, you can get it for free.
Q You may choose for convenience to pay
somebody to package it for you, but the software is available free.
A Right, that's correct.
… [ On the
analogy of streaming music to streaming video and the use of video cards to
receive cable signals through your computer ]
THE
WITNESS: So as I understand your
question, you say we can get nice video without any herkey jerkey motion and
any of these problems with streaming to somebody's house so long as they have
cable. And then with the cable, hey,
you can watch your TV, and it doesn't have interruptions if the Internet's
having a bad day. Why not just use that
and surely
you could send music if you could send video with audio as well. That's what I take your kind of question to
be.
BY MR. KATZ:
Q Doesn't that seem like a more efficient
way to get video onto the computer screens?
A Well, there's one big difference that I
perceive in it, which is that before I, as an entrepreneur, can get my music to
the ears of the listener by way of that coaxial cable that's in the house, I've
got to talk to the cable company. I've
got a monopolist standing between me and the customer. The beauty of the Internet as dicey as it is
to do this in comparison is that there's no gatekeeper, I mean at least not
yet. I actually think at some point
it's entirely possible there will be.
But when Time Warner is providing your regular cable service here and
sending video through it at a very nice, efficient rate, if I want to be on
Time Warner Cable, unless we're talking public access, I can't just be
there. I've got to like negotiate with
them; I've got to cut a deal.
On the other
hand, oddly enough, if Time Warner Cable is offering Time Warner Cable modem
service, which is bringing broadband into that same person's house, I don't
need, as the entrepreneur yet Time Warner Cable's permission to shove a stream
of packets at that person, to use the bandwidth they've paid for for my stuff.
So that may explain why I think you're right.
This is a much more delicate model.
And from an engineering standpoint, perhaps not the way to push
streaming stuff at people given that we already have cable to the house, but
the overlay of who's controlling the bottlenecks explains why webcasters are
doing what they're doing.
… [ On the
possibility that “buffering” really means getting your hands on a digital copy
of the asset ]
BY MR. KATZ:
Q Obvious in context, nonetheless, this is
a screen shot I took of Windows Explorer on my computer this morning after
watching a streaming Harry Potter trailer video. And here in the temporary Internet files directory, in the
Content.IE5 subdirectory, in the CJGZKNYJ sub-subdirectory, there was stored on
my computer a Harry Potter TR480.MOV movie file,megabytes in size. Now, would that surprise you, Professor
Zittrain?
A I'd need more data, because we see it's
coming from Akamai, incidentally, so there's some splitting going on here. Now, was the source of this a stream or is
this something that was downloaded to you?
Q Well, let me ask you to assume, for
purposes of my last question, that this was a streaming video available on the
Apple web site of a trailer of a movie.
A So now I'm going off your assumption --
you're asking me to assume --
Q Assume that.
A -- which I can't say is the case, but I
assume that Quick Time here, in order to stream a Quick Time movie, which is
its counterpart to a Real Media file or a Windows Media file or an MP3 file,
although this may have video involved as well as sound, I don't know, that the
entire thing is sent to this directory before it goes. My guess is -- here's my
best guess looking at this: Given that
it ended up in Internet Explorer's cache, this is something Internet Explorer
knew how to deal with. And that means
that Internet Explorer said, "Here's a file that ends in .mov that the
user has requested. I'm going to
download this file, I'm going to figure out who among my friendly peer
applications knows how to handle .movs and give it to them.
So my guess
is that this did not stream in the sense we're talking about. Otherwise it would have been -- if it were
to make any file at all on the hard drive, it would have been in Quick Time
directory. My guess is that this is
just another hunk of file in the typical http you asked for a file, you get it,
that's what web surfing is. And it then
passed it off to the Quick Time Player to play the movie so you could see Harry
Potter.
BY MR. KATZ:
Q Do you know if there are any webcasters
doing streaming audio that way?
A No.
BY MR. KATZ:
Are you
familiar with BitBop?
A Yes.
Q And what is that?
A Appears to be a service by which a
client, a customer, a user gets the BitBop tuner and with it can enter in bands
that the person likes, and then certain streams that are out there in the world
are scanned for those bands and maybe others like it, and the user can listen
to them and at times record them.
Q Doesn't BitBop actually make copies of
any stream files that it finds for those bands and store them on the hard drive
where you can later find them in the selected directory?
A Well, in fact, I mean I think that's the only way it works. I don't think you can actually ask it
specifically to record something. Instead
you punch in the name of a band, and then if it find streams for which the
so-called metadata of the stream indicates that it's matching that band, it
will start putting that onto the hard drive. Now, to my knowledge, this isn't
for any old stream; this is just for Real streams and maybe for MP3 streams,
but I think for Real streams is what
it's mostly
going after.
From what I
understand, the way BitBop does what it does is because it has access to a
little bit of Real's secret sauce, which is to say there's something called a
software development kit. Remember how
I was saying how you might be hearing Real streams, but it doesn't look like
you're using the Real Player. It's the
Real engine underneath. The
way that
those third parties, and I think BitBop is one of them, gets that engine is
through a deal with Real. And there's a
contract involved, and the contract says --
ARBITRATOR
VON KANN: The Real deal?
THE
WITNESS: The Real deal. And the Real deal is that you will only
behave -- you'll only use these tools for good and not for evil sort of thing.
So to get to your question of why is it that you can't type in a track name, my
surmise -- and I want to be sure it's just a surmise -- but my surmise is that
BitBop is trying to skate a certain line.
They make it too easy to find these streams and save them. They'll get in big trouble, with Real first
in line to take a shot at them. Because
Real would say, "This is an abuse of our software development kit. This is an abuse of our secret sauce."
So I think
that's why BitBop seems so oddly functional.
It can do some things but not others, and I don't think there's any
technical reason why it does one versus the other so long as it already has its
mitts on the software development kit.
I think it has other reasons that are non-technical for skating that
line.
So I think
in a similar vein as that, BitBop will not record to disk in any better quality
thankilobits. Even if the stream you're
tuned into by all rights ought to be larger.
I don't know if it either down samples it or simply refuses to offer
that up. To my knowledge, the only
stuff that ends up on your hard disk, thanks to BitBop, is at 56 kilobits or
less. And that's because, again, I
think for non-technical reasons they're trying to skate a certain line.
BY MR. KATZ:
Q Are you familiar with Streamripper?
A Yes.
Q Now what does that do?
A Streamripper appears to be both --
primarily a plug-in to WinAmp. Remember
WinAmp is a player that doesn't play Real streams, it doesn't play Windows
Media streams, it just plays these MP3 streams as streams go. And Streamripper will allow the user to
record that stream to disk as it comes in as an MP3 file. I think the Streamripper program is still
labeled as being in beta, just as BitBop's tuner is labeled as being either
experimental or a sample or
something or
a pilot. All of this stuff, I think, is
labeled that way, again, possibly for non-technical reasons. But that's, to my knowledge, what
Streamripper does.
Q Are you familiar with Total Recorder?
A Yes.
Q And what does that one do?
A Total Recorder is something that's
designed to pretend that it's a sound card.
It pretends it's your speakers or on the way to your speakers, when in
fact it's busily digitizing or taking that digital stream and recording it to
disk. It's what I've heard referred to
as a dumb buffer. It just basically --
if sound comes its way, it puts it onto the hard drive.
Q Any sounds that you get at all, in any
format, in any stream, you can turn into a file by using Total Recorder.
A Well, Total Recorder -- yes, given where
it stands in the stream of things, if your computer beeps because it's upset
about something else while you're listening to the stream, that beep gets onto
it too. I mean it is basically a
digital microphone just held to your computer speaker.
Q Let's assume for the moment that there is
[a proxy server in Harvard’s network].
Proxy servers are common in campus and business networks; isn't that
right?
A The sorts of proxy servers that can host
static files, yes, those are common.
Q And the point of a proxy server is that
if a number of users connected to the one ISP or on the one campus or office
network, one, access the same file.
A Right.
Q Rather than have that file stream over
the Internet through that tube cloud over and over and over again, the whole
file will be captured at a central server by that ISP or on the network. And then the user will only have to go that
far to get it; isn't that right?
A But now be very careful about the use of
the word "stream" there. I
mean the typical proxy server is not dealing with streams. It's dealing with files, with stuff that you
-- everybody in your chain, from the file server, not the webcaster, to the
user expects there's a file that's going from one place to another. So it's typically going to be something like
a banner ad for a page that has even been marked by the creator as something
which is suitable for caching, so something that might not even be updated very
much.
So, for
instance, an online manual that never gets updated but for which inexplicably
there's high demand, you could see the manual document being cached at a
so-called proxy server and then made available much more easily for everybody
concerned to the downstream user.
That's different from streaming, though.
Q One can stream an MP3 format; isn't that
right?
A Yes.
Q And if one streams an MP3 format, the MP3
file will be stored on a proxy server; isn't that right?
A If it is so-called http streaming, the
MP3 file is like any other file that gets transferred through hyptertext
transfer protocol, and one might choose to put it that way.
Q Now, for example, all users on AOL
connect through proxy servers; isn't that right?
A I don't know.
Q Well, if that's right and if lots of AOL
users want to listen to the same audio file being streamed in an http MP3
format, that whole audio file is going to get stored on those AOL servers;
isn't that right?
A If it is simply a file ending in .mp3,
that's the destination of a link on a page like anywhere else, a proxy server
could choose to cache it like anything else.
But, again, generally, at network practice, supposing that the metadata,
the information about the file that is sort of prefatory to the file, says,
"Hi. Hey, feel free to cache
me. Don't worry about checking in with
me every time you want the file. It
will help me too."
Q I want to ask you about one footnote in
your testimony, and that is footnote on page of your prepared statement. And as you note in that footnote, it would
be possible for a webcaster to stream directly from physical CDs using the
equivalent of live encoding; isn't that right?
A Right.
Q Now, a webcaster may choose to go through
the encoding process, copying the file to the hard drive for his convenience,
but it could be done directly from the CD; isn't that right?
A Well, yes. It would probably be more expensive. It wouldn't just be more convenient to do it; it would be less
expensive as well.
Q So there's a cost savings for the
webcaster in doing free encoding; isn't that right?
A A cost savings compared against a
physical Sony jukebox of 200 CDs that, yes, grinds its way around.
Q I've got one more exhibit to show you,
and this one will be numbered as RIAA Exhibit Number 165 DPX.
Q You'll notice at the top of the first
page it says, "Jonathan Zittrain, Request three," and at the bottom
there is a marking, "Restricted," and then numbering which would be
consistent with that; isn't that right?
A That's right.
Q You gave some testimony in response to
questions about the cost structure faced by webcasters, and you indicated
around 2:23 that information on the cost structures of bandwidth is not so easy
to get but that you did get information from a survey; isn't that right? Is
this the study you were referring to?
A Yes, this is the one I had in mind.
Q And in your view, is this as good
information as you've seen with respect to costs for streaming?
A Yes.
It certainly is precise as I've seen.
BY MR. KATZ:
Q Now, it indicates on the page with the
Bates numberon it, which I believe is pageof the study, at the bottom of the
page under their headlines, that they found in their survey that live streaming
prices range from $20 per stream hour to 20 cents per stream hour; isn't that
right?
A Yes.
Q A remarkably wide variation; isn't that
right?
A Yes.
Q And then turning over to the next page,
it indicates in the second paragraph after the bullet points that most
streamers seem to pay too much. A
whoppingpercent of respondents are paying higher prices than the standard
industry service provider prices that we've been able to obtain; isn't that
right?
A Yes, that's what it says.
Q Which would be a surprising result, isn't
it?
A Yes.
I mean I'd want to be careful to figure out what too much means. I mean too much as against an average or too
much because they're just not bargaining well, I don't know. But I mean their claim is that a
whoppingpercent of respondents are paying higher prices than the standard
industry service provider prices that they were able to obtain.
Q Now, if you turn over to page 30, which
has the Bates numberon it –
Q Here on the last page of the study,
before the appendix, it says, "Our best advice: negotiate. That's the
road to fair pricing;" isn't that right?
A That's what it says.
Q And, apparently, this study concluded
that there were consumers of streaming services that really weren't making the
effort to negotiate to get their costs down; isn't that right?
A Or put more carefully, that the most
available of trying to get out of a bad situation is to negotiate. There's no guarantee that that too would
succeed, which is to say it doesn't mean that you've been negotiating so poorly
you need a report to tell you, "By the way, you shouldn't pay sticker
price for a car." But it may be
all you've got.
Q That's all I've got. Thank you, Professor.
A Thank you.
REDIRECT
EXAMINATION
Q Do you recall that you were asked about
various free software tools that someone might use in connection with the
streaming of -- in an MP3 format?
A Yes.
In order to stream, you mean; in order to be the webcaster.
Q Correct.
A Yes.
Q How would you compare, in terms of both
quality of sound and in terms of security of the format, the MP3 format with
the Real Audio and Windows Media formats?
A I think there's a big difference. That's why Real and Windows Media have a
business despite the existence of the more common, in the first instance, MP3
formats in streaming. As I said in my
direct, there's lots of extra features you get as a webcaster that result in a better
experience to the person downstream that you get by going with the non-MP3
streamers. And that also includes -- I
mean I've been talking about quality so far, but it also includes the ability
to say something like, "This stream is not to be copied," and to rest
assured that for most users it's not going to be copied, even if they want
to. Now even MP3 streaming may not be
obvious to a user how to do it, you've got to get the right plug-in for WinAmp,
but it's that much harder to do with Real or Windows Media.
Q And is it the case that the buffer data
that we've been talking about is held in the RAM type of memory?
A Yes.
These are RAM buffers that we're talking about.
Q And, in contrast, when a user obtains a
file through the Napster service, what type of memory is that file being
stored?
A If you obtain a file through Napster, at
the end of the day it's on your hard drive.
When you turn off the computer it's there. That's why when you turn it back on it's still there. Should it only have gone to RAM, not only would
you have no obvious way of how to get to it, but it would be quite transient
from one session to the next.
Q Okay.
And are you aware of any way to change the size of the buffer in Real
Audio and Windows Media?
A No, I don't know of any way to do
it. It may naturally happen as I answer
questions designed for regular people, like, "How fast is your
connection?" "56K." That may impact what Real then chooses the
Player to set the buffer. But, no, I
know of way to just go in and fill in a field that says, "This is the
buffer size I want."
Q Okay.
And if you're not aware of how to do that, do you think the average user
is aware of how to do that?
A I doubt the average user is aware of how
to do this.
Q You were asked some questions about
BitBop. Do you know whether the files
that are obtained through the use of BitBop can be easily transferred off of
one's computer?
A I was unable to do it. I played with it for a while. BitBop, when you set this recorder to on,
files end up on your hard drive along the lines of 56K or less quality, and
then you say, "Well, 56K what?
What is it? Is it Windows
Media? Is it what?" It seems to be something that's meant to
play in the Real Player but in fact is an MP3 file. This is a square peg in a round hole, but it's not your normal
MP3 file, because if you try to play it in any other player, it doesn't work,
any other normal MP3 player like WinAmp.
And, further, if you try to play it in another Real Player, other than
the one on your machine, it doesn't work. And I tried doing the most obvious
things of setting the e-mail address with which I registered the Real Player
and BitBop to the same from one machine to the next, and the file still refused
to play. And I tried just changing the
file extension to tell it, "You're not an MX3, you're an MP3," and
that had no effect either. MX3 does not
appear to be anybody's format. The only
format it appears to be is something BitBop came up with for the purpose of
making those recorded files tethered, as you would say, to the machine, and I
don't know how to crack it. I can't say
it can't be cracked, but I was not able, in the time I spent on it, to do it.
Q Can you suggest any reasons why the types
of stream capturing applications that you were asked about would not be used
very much by people who were looking to make copies of music from the Internet?
A Well, I can think of a few reasons. One is if I want to get copies of music off
the Internet that I can keep on my hard drive, I've got Napster and, more
recently, its progeny and siblings.
I've got Bear Share and Morpheus and Nuttela and all of those things for
which that's the purpose. And, presumably,
the source of those files floating around, legal or illegal, are CDs from which
they were ripped by the users who are then sharing them. To get it off a stream is not nearly as good
from the point of view of somebody wanting to keep the file, because for one
thing you run the risk of if it's that dumb buffer, Total Recorder, to the
extent that the stream has any issues with it or even less quality because of
packet loss, that less quality ends up on your drive. So all the efficiency of the stream, which is I can hear it now,
isn't what you want. When you want the
music, you don't want the music so much now as forever, and you're willing to
wait a little bit longer than now to get it really forever.
The other
thing is that some of these other programs, like BitBop, for example, lower the
rate at which you can capture the stream.
And even if there weren't that clamp on it -- BitBop, again, is I think
at 56K -- for Streamripper most of the streams available for ripping out in the
world, thanks to the cost structure on the webcaster, are not CD-quality
streams. So even if there's a perfectly
clear day in that middle of the Internet cloud, the stream you'll ultimately
end up with on your hard drive is one that is of lesser quality.
RECROSS
EXAMINATION
BY MR. KATZ:
Q Back in your MacIntosh days, did you ever
use RAM doubler?
A Yes.
Q There are utilities which will enable
hard drive space to be used instead of RAM; isn't that right?
A Sure.
So-called virtual memory is just that.
It's hard drive space masquerading as RAM.
Q So something intended to be held in a RAM
buffer might end up being cached to a hard drive instead; isn't that right?
A Not in the sense of producing the kind of
list of files that your demonstrative of the -- I don't even know where it went
-- but of that directory of files that included the Harry Potter stuff. I mean that itself -- here it is -- the
CJGZKNYJ directory. I mean this thing
to me is somewhat obscure to the regular user, I mean not even on their
radar. If you use something like RAM
doubler, which I, just to be entirely clear, used for about ten minutes before
turning it off, to have hard drive space used as RAM, there's just fragments of
the hard drive being used as RAM that aren't even accessible in this format,
let alone sort of just double click and you can hear the music that's in RAM.
Q The typical audience for webcaster isn't
the typical user, is it?
Q Finally, when you were trying to transfer
those BitBop files, did you try Total Recorder?
A Well, that wouldn't -- no, I didn't try
to Total Recorder, because that wouldn't be transferring files.
Q But it would move that audio to another
computer wouldn't it?
A It would be -- yes, it would. It would be unpacking the rumpled suit,
repacking it, and unpacking it again.
There would be more rumples.
But, yes, ultimately, you'd end up with something that looked like a
suit, more or less.