User:Zero Linden/Office Hours/2008 Apr 08

From Second Life Wiki
Jump to navigation Jump to search

Zero Linden: Full house = sign of success!

Zha Ewry: Dead laptop on its way to be fixed. I want my FPS back

Gareth Ellison: down to business ladies and gentlemen?

Lalinda Lovell: and puppies

Jennifer Gallindo: hehe

Saijanai Kuhn: full house = spammariffic avatar

Gareth Ellison throws an orange at zero

Lalinda Lovell: sai bad spammer

Mastorian Kingsford: couch

Morgaine Dinova: Zero: "full house" == "hit scalability limit" :-))

Zero Linden: Well all - welcome to my "scalability limit" office hours

Morgaine Dinova: Hehe

Gypsy Paz: lol

Tao Takashi: Hi

Gareth Ellison: if the sim was coded in python with live REPL zero could dynamically turn off server-side features to

decrease lag ;)

ShiftyGuy Trenchcoat: seriously

Rex Cronon: zero might need to put his office at corner of 4 sims:)

Mastorian Kingsford: lmao

Tao Takashi: or simply use IRC ;-)

Zero Linden: What? and loose our intimate little chats?

Zero Linden: Never!

Gareth Ellison: IRC is actually sane

Kiefer Schuttelanz: IRCap

Gareth Ellison: or at least a bridge

Kiefer Schuttelanz: xD

Lalinda Lovell: use irc and we all save money

Gareth Ellison: i'd go for a bridge

ShiftyGuy Trenchcoat: seriously

ShiftyGuy Trenchcoat: I don't need to buy shirts on IRC

Gareth Ellison: scrap SL and this whole metaverse thing, let's just all go to IRC

Zha Ewry: Dog food, eating of same

Tao Takashi: lets make IRC interoperable instead!

Lalinda Lovell: irc.secondlife.net

Zero Linden: Wow - You're right - IRC is the way!

Rookiie Roux: hehe

Gareth Ellison puts on his ninja robe and cloak

ShiftyGuy Trenchcoat: we need irc with avatars

Gareth Ellison: hey, how about 3D avatars?

Trex Yao: .. Lalinda Lovell: sorry (TM)

Gareth Ellison: in a 3D world?

Gareth Ellison: with scripts

ShiftyGuy Trenchcoat: oh yeah!

ShiftyGuy Trenchcoat: that too!

Tao Takashi: we might invent some way to create objects in IRC

Rex Cronon: such a novel idea:)

Gareth Ellison: hey, split it up into parcels of land

Zero Linden: And the spec is already written!

Gareth Ellison: across servers

Gareth Ellison: wow!

Zero Linden: Okay----

Saijanai Kuhn: And lag. Dont' forget the lag

Gareth Ellison: we can call it second reality

ShiftyGuy Trenchcoat: except there would be way more cool than sl

Gareth Ellison: ok, onto business

Gareth Ellison: zero - agenda

Zero Linden: Yes - agenda

Lalinda Lovell: and we can all see eachs ip and dos each other

Lalinda Lovell: jk

Zero Linden: so far no one has made use of my spiffy agenda section on the Wiki

Morgaine Dinova: Ah yeah, the lag must be part of the spec, or it wouldn't be authentic

Saijanai Kuhn: had two issues pop up in dicussion. Mine and everyone else's

Gareth Ellison: how about we all throw up what was said in AWGroupies meeting?

Lalinda Lovell: not all of you please

Zero Linden: So - I have one item - a secretary

Lalinda Lovell: it lasted 9 hours didnt it

Saijanai Kuhn: ?

Lalinda Lovell: you want a secretary zero?

Lalinda Lovell: i have a pen

ShiftyGuy Trenchcoat: wow

ShiftyGuy Trenchcoat: so few people on voice

Saijanai Kuhn: for handling SLGOGP?

Gareth Ellison: no transcripts on voice

Tao Takashi still wants a better name and URL :)

ShiftyGuy Trenchcoat: right

Zero Linden: Well, let's not throw up... present? What is the topic?

Rex Cronon: ip?

Lalinda Lovell: slgogp is the worst, whatever is it change it

Morgaine Dinova: Zero: one thing that came up in AW Groupies meeting was to use a bundle of TCP streams instead of just one

held open by 1.1. That could improve various thinks, and allow prioritization too.

Gareth Ellison: at AWG we discussed event queues

Gareth Ellison: yeah, i mentioned the case of various exploding cute animals

Tao Takashi: we mostly discussed IBM ;-)

Gareth Ellison: i.e important events

Zero Linden: okay, do we need IBM on the agenda here?

Saijanai Kuhn didn't want to hear about the bunnies

Tao Takashi: not for me

Jennifer Gallindo: IBM would be good Morgaine Dinova: No more bunnies pls

Jennifer Gallindo: hehe

Gareth Ellison: important events not getting bogged down in event queues and multiple such event queus to compensate

Gypsy Paz: yeah, I'd like to hear more about IBM

Gareth Ellison: no more bunnies

Gareth Ellison: i promise

Zero Linden: I've got so far: Secretary, Event Queue/Bundles of TCP

Saijanai Kuhn: Zha covered IBM but not everyone was at the Groupies meeting

Saijanai Kuhn: login needs three parts not two

Tao Takashi: Zha should blog about it ;-)

Zero Linden: Okay, well, I'll grant IBM a few minutes

Gareth Ellison: possibility of edge touching sims, opensim mods with the IBM subgrid

Dahlia Trimble: are there transcripts for awg?

Zero Linden: Sai? Okay, I'll add that

Zha Ewry: On my list, Tao

Morgaine Dinova: Ah yeah, Sai's issue with login flexibility for interop

Gareth Ellison: but i think that was dismissed somewhat

Saijanai Kuhn: Will be Dahlia

Tao Takashi: cool :)

Gareth Ellison: ah yeah - login steps

Tao Takashi: where is your blog anyway?

Zha Ewry: Need to talk to PR and oddly, some lindens about that

Zero Linden: SO - Going once: Secretary, TCP bundles, Event Queue, IBM, Login in 3 Acts

Zero Linden: Going twice

Gareth Ellison: that seems to sum it up

Zero Linden: GOing three times......

Dahlia Trimble: teleporting to other grids :)

Gareth Ellison: oh, and bunnies, kittens and evil dogs

Gareth Ellison: sorry

Tao Takashi: and marketing ;-)

Gareth Ellison refrains

Saijanai Kuhn covers ears

Zero Linden: ..... SOLD! to the tall thin avatar on the wall....

Jennifer Gallindo: I agree, multigrid TP

Morgaine Dinova: Heh

Trex Yao: including not ll grinds?

Gareth Ellison: ok, zero - tell us about the secretary......

Trex Yao: grinds*

Trex Yao: grids*

Trex Yao: argg

Dahlia Trimble: before someone else invents it first

Saijanai Kuhn grinds evilly

Zero Linden: Okay - my issue is quick: I'd like this group to have not just a transcript posted, but a consices summary of

what was discussed and top high levelpoints made

Zha Ewry nods

ShiftyGuy Trenchcoat: I still say you need to ban prokofy before you try and fix sl.

Zero Linden: I'm thinking about ten or so lines per session

Lalinda Lovell: i can do that

Mick Schonberg: hi everyone

Lalinda Lovell: i work for IBM

Lalinda Lovell: not

Gareth Ellison: that is a VERY good idea

Gareth Ellison: the transcripts tend to be long and full of padding

Lalinda Lovell: like clown pants

Gareth Ellison: throw it in with the agenda

Rex Cronon: i don't think prokofy will write any code, so why u need to ban?

Saijanai Kuhn: bad jokes about exploding non-avi furry creatures

Zero Linden: What I'd like is for folks interested to take a stab at it this week and next and we'll see what works best

Gareth Ellison: and show the outcome of each agenda point

Lalinda Lovell: best man wins, good idea

Zero Linden: Or woman, or furry, or evil robot, or....

Colton Linden: or puppet

Mick Schonberg: Hey!

Saijanai Kuhn: so, Lalinda volunteers for secretary?

Gareth Ellison: that reminds me, i didn't get round to knocking out my l33t code for the SLGOGP auto-generated

code..........

Lalinda Lovell: yes i do

Zero Linden: So - if you want to try your hand at it - just do it and stick the summary somewher off the office hours pages

Saijanai Kuhn: all opposed?

Zero Linden: Thanks

Saijanai Kuhn: They ayes have it

Lalinda Lovell: starting with this meeting right?

Morgaine Dinova: Zero: easy enough to do in wiki format. Someone can segment the discussion page into topics, and then each

party that led the topic can pad it out.

Zero Linden: No time like the present

Lalinda Lovell: ok

Zero Linden: remember, goal is short, clear

Zero Linden: Okay - onward

Zero Linden: Bundles of TCP -

Zero Linden: Did I hear BEEP?

Gareth Ellison: specifically splitting off priority messages if needed

Zero Linden: Or were we just talking about keeping more than one event queu open?

Saijanai Kuhn: well, the wrry was about EventQueueGet handlign both agent update packets and massive textures

Gareth Ellison: in case main event queue gets bogged down

Gareth Ellison: ah yeah, links to large events

Gareth Ellison: event queue has this:

Gareth Ellison: {'event':'myevent','body':{blablabla}}

Gareth Ellison: or

Gareth Ellison: {'event':'myevent',link:' https://mysim/events/blabla '}

Gareth Ellison: or some other format, mini format details can be decided on later

Morgaine Dinova: Zero: well the subjects stemmed from noting that different types of downstream traffic really required

different urgency and had different requirements.

Zero Linden: as in { 'event':'mybigpayloadevent', link: ' https://mysim/come-and-get-it-when-you-are-ready/.... ' }

Saijanai Kuhn: specifically if large numbers of textures get interwoven with fast update events

Gareth Ellison: yeah, we need some to arrive out of band basically

Morgaine Dinova: But it seemed a good approach in general --- everything down one pipe doesn't seem the right approach.

Gareth Ellison: that's a good one zero :)

Zha Ewry nods

Gareth Ellison: so, 2 points really

Gareth Ellison: out of band events that need higher priority

Gareth Ellison: and big events

Gareth Ellison: the latter using links

Zero Linden: Right - so the HTTP Texture design does this - the message contins the CAP to the texture, the texture isn't

pushed down the event queue

Gareth Ellison: exactly

Zha Ewry: Also, the absent teraveasu, was very concerned about.. http get speed, vs. udp tecxture load

Zero Linden: perhaps we should set guidlines on maximum data that should be presented viat hte event queue

Zero Linden: then the question is

Gareth Ellison: though one could imagine big piles of object updates could go there too

Saijanai Kuhn: alright, that was my main concern. And its flexable

Gareth Ellison: you read my mind zero :)

Zero Linden: do we need to do this generically (defined the link: option) or do we leave it for each protocol to descide

Zero Linden: ?

Trex Yao: are you talking about a explorer?

Gareth Ellison: if event_size>N use_link

Gareth Ellison: where N is a maximum size per event

Zero Linden: Right

Zero Linden: I think we are all ont he same wavelength

Gareth Ellison: yay

Saijanai Kuhn: could even be settable at runtime

Morgaine Dinova: Zero: why set any maximum? I don't see how that fall out of anything

Nite Zelmanov: Maximum sizes are going to be subject to change, I think the client should specify it's desired options for

multiple event queues

Zero Linden: We should architect so that there is never more than n-ms. latentcy in getting an expected queue

Gareth Ellison: so you never get bogged down with 1 huge event

Gareth Ellison: set a maximum event size

Gareth Ellison: that's a point

Dahlia Trimble: is there a maximum now?

Gareth Ellison: ideally the queue should never exceed a certain delay between events


Nite Zelmanov: Zero: The client should manage it's own latency optimization, it's task specific

Gareth Ellison: Dahlia - no, but today we have LAG

Zero Linden: *IF* we add 'link' as an option that any event can be shunted to (at the Event Queue level), then we can

do some form of negotiated or dynamic decisions on size

Gareth Ellison: would need complex negotiation between sim and client to handle automatically adjusting

Nite Zelmanov nods

Zero Linden: I do worry about the complexity there: just lok at what TCP has to do....

Gareth Ellison: zero - event classes i proposed

Zha Ewry: Sliding windows, are painful

Gareth Ellison: i.e low, medium, high priority

Gareth Ellison: big and little

Morgaine Dinova: Zero: here's a better approach to handling large objects: instead of reating limits, just make it

easy to create new strands in the bundle. Then even large objects can be sent down without creating latency for

smaller objects, because they'd be in their own strand.

Saijanai Kuhn: big and little should be enough

Zero Linden: The problem with different queues for different classes of events are that there are likely to be many

classes: and we really don't want the viewer to have to have half a dozen or more open connections

Dahlia Trimble: are large packets coming thru the same queue? I thought from libsecondlife that they were separate

Gareth Ellison: morgaiine - define "bundle"

Gareth Ellison: if it's on the same TCP session, it doesn't matter how many in each "bundle"

Zero Linden: Well, Morgain, That just sounds like BEEP to me - which is an already defined standard for doing just

that

Gareth Ellison: a simple 3-class system may be plenty

Saijanai Kuhn: if its via http

Morgaine Dinova: The bundle is just the set of single TCP streams ("strands").

Zero Linden: problem is, it hasn't gotten that much traction

Dahlia Trimble: by session, you mean connection to a socket?

Nite Zelmanov: Morgaine has hit is. The viewer should be able to request more strands

Zha Ewry: Complexity is costly

Gareth Ellison: actually, nite - morgaine may have it there

Zha Ewry: If you need more than 2? I'm wondering why

Saijanai Kuhn: right now the strands are defined as http. which is supposed to be limited to two per server

Gareth Ellison: just let the client ask for more connections

Zero Linden: http://www.beepcore.org/

Morgaine Dinova: Zero: I'm all for reusing existing standards if they're good. :-) If Beep does it, great :-)

Gareth Ellison: although the simpler measure is just check each message

Gareth Ellison: if size>N send link

Gareth Ellison: then have 2 links

Gareth Ellison: (HTTP pipes)

Gareth Ellison: 1 for normal traffic, 1 for out of band

Gareth Ellison: and use the out of band pipe only for sudden urgent messages(must resist bunny)

Saijanai Kuhn covers his ears

Morgaine Dinova: TCP strands please, not HTTP. HTTP is the upstream request protocol, but the queue junk just streams

down the TCP streams.

Zero Linden: Well, two could be feasible....I worry that three connections is getting large -- remember that the

viewer has event queue style connections to both the agent domain, the region domain, and probably every sim it can

see into

Zero Linden: so potentially 10 hosts

Gareth Ellison: 2 permanent, 1 extra for occasional grabs with GET requests

Saijanai Kuhn: right now, there are 5 EQG's that I see with tcpdump

Gareth Ellison: you'll have occasional GETs for textures anyway

ShiftyGuy Trenchcoat: 5 EFGs?

Saijanai Kuhn: EventQeueueGet caps

Gareth Ellison: where is the viewer talking now?

ShiftyGuy Trenchcoat: EpicFailGuy

Dahlia Trimble: one for each sim you are a child agent for saij?

Gareth Ellison: current sim, user server and bordering sims?

Gareth Ellison: and is the user server using caps or not?

Saijanai Kuhn: user server = current sim

Gareth Ellison: user server == remote UDP

Morgaine Dinova: Need a GimmeTCPstrand cap

Gareth Ellison: TemplateCheckSumRequest :)

Gareth Ellison: morgaine - no need for a seperate request CAP

Gareth Ellison: just 1 CAP for the queue

Dusty Lindley: poop

Dusty Lindley: whats all this then

Gareth Ellison: actually.....

Gareth Ellison: scrap that

Gareth Ellison: you do need to request it so the server knows you have >1 links

Gareth Ellison: ignore my rambles

Zero Linden: I see BEEP toolkit for C (from IBM!), C++, Java and Python

Gareth Ellison: for the lag-afflicted who wish not to open browsers, can you summarise BEEP?

Dusty Lindley: oh

Dusty Lindley: theres a linden here.

Dusty Lindley: I should say something negative.

Mastorian Kingsford: lol

Gareth Ellison raises eyebrows at dusty

Dusty Lindley: Such as

Dusty Lindley: "wtf?"

Saijanai Kuhn: Dusy, this is Zero's office hours. We're talking uber geek stuff

Dusty Lindley: or

Dusty Lindley: "stop that"

Gareth Ellison: zero - BEEP summary?

Baba Yamamoto: Zero, i'd like to see IBM release their beep toolkit as foss ;0

Dusty Lindley: or even "are you insane?"

Dusty Lindley: what's zero's department? xD

Baba Yamamoto: how likely is that?

Zero Linden: BEEP is an RFC that defines a meta level protocol - it lets you build define a protocol and then run it

over beep where beep can multiplex multiple protocols over the same connection - and unifies issues of authentication

and network delivery

Dahlia Trimble: or "fix it" *giggle*

Gareth Ellison: sounds interesting

Gareth Ellison: RFC number?

Zero Linden: " it allows you to define your application protocol on top of it, reusing several mechanisms such as:

asynchronous communications, transport layer security, peer authentication, channel multiplexing on the same

connection, message framing, channel bandwidth management, and many more interesting network features."

Dahlia Trimble: does beep use an event queue?

Saijanai Kuhn: so its a workign protocol?

Baba Yamamoto: RFC 3080, RFC 3081, RFC 3288

Zero Linden: RFC3080 and RFC 3081

Saijanai Kuhn: sounds ideal if its stress tested

Gareth Ellison: sounds like a way to abstract over various transport methods

Zero Linden: what he said

Qie Niangao: why hasn't it gained traction, Zero?

Dahlia Trimble: its a tunneling protocol?

Jennifer Gallindo: interesting

Zero Linden: That is a good question , Qie

Jennifer Gallindo: beepcore.org?

Morgaine Dinova: Let's have a play with it, and report back next Tuesday :-)

Zero Linden: Dahlia - no it doesn't tunnel - you need to defined your protocol on top of BEEP - but it does handle

most of the common protocoly things

Gareth Ellison: i may stealzorize it

Saijanai Kuhn: I would guess because it does things that already are available so people don't feel a need to use it

Dusty Lindley: Zero, can I interject?

Dusty Lindley: o:

Saijanai Kuhn: and because they're used to doing things with the older methodds

Dusty Lindley: with a different topic? Or should I wait my turn :P

Baba Yamamoto: I would say it hasn't gained traction because it wasn't invented in 1992

Gareth Ellison has 10 billion homerolled protocols

Zero Linden: Dusty- I set up an agenda at the top

Gareth Ellison: i throw them out at random it feels like

Zero Linden: IM me if you want to add to it

Saijanai Kuhn: yours would be at the end of the list, Dusty. After login in 3 acts (mine)

Zero Linden: So - let's look at BEEP our selves and report back on it next week

Morgaine Dinova: KK

Gareth Ellison: zero - would BEEP tie into the event queue stuff cleanly?

Gareth Ellison: just a yes/no

Zero Linden: next up - brief IBM status reprot, ---- take it away Zha!

Zero Linden: Gareth - possibly

Gareth Ellison: ok @_

Gareth Ellison: :)

Saijanai Kuhn: lol

Gareth Ellison: tyops

Baba Yamamoto: I've been reading the RFCs and internet drafs for SIP.. now that's some good reading

ShiftyGuy Trenchcoat: seriously

Baba Yamamoto: drafts

Gareth Ellison: do we have a zha?

Gareth Ellison throws an orange at zha

Morgaine Dinova: She's meditating

Jennifer Gallindo: lol

Zha Ewry: Here

Zha Ewry: In six things at the moment

Zero Linden: Quick report on IBM status for this group, say in 5 min. or less?

Zha Ewry: So The major IBM thing, as most people know, was the the IBM/.Linnden Press release about

Zha Ewry: a tiny behind the firewall test set of regions

Zha Ewry: Which.. is *NOT* directly part of interop at all

Zha Ewry: but.. a nice way to explore how we can use SL spaces for secure meetings and a conference

Gareth Ellison: but could be

Baba Yamamoto: zha, can i browse your gridz?

Dahlia Trimble: lol @ Baba

Jennifer Gallindo: assets are universal?

Zha Ewry: The assets are read/write through

Zha Ewry: So.. that things created lcoally, stay inside the firewall

Zha Ewry: but, we can see, and use gloabl assets.

Jennifer Gallindo: nice

Zha Ewry: (Tho, I think, if you rez, a non-copy asset, and then take it into inv, it will be trapped behind the

fireewall)

Rex Cronon: what if u need to bring something out?

Zha Ewry: No out

Zha Ewry: Sort of th point

Jennifer Gallindo: right

Baba Yamamoto: never out.. FIREWALL

Tao Takashi: so you have your own asset server then?

Gareth Ellison: zha - teh opensim mod

Zha Ewry: Its a baby copy of the beta grid asset server

Zha Ewry: Without the pre-copy step

Zha Ewry: Sort of a tiny pocket of grid, with odd behaior

Jennifer Gallindo: hehe

Kooky Jetaime: I'm sure they will impliment a "Transfer out" mode, so things can be moved, but it has to be

processed, not automatic

Gareth Ellison: TestClient export

Zha Ewry bnods

Kooky Jetaime: That will definately be a great thing for builders.. Build on their home grid, do all the work,

tweaking, then bring it to the grid when ready to sell

Zha Ewry: Its possible

Saijanai Kuhn: just serialize the assets and remove them manually

Baba Yamamoto: hey since you guys have the linden servers.. you can hack interop into opensim ;)

Zha Ewry: Not our focus

Zha Ewry: the focus is on using the collbaorative space

Morgaine Dinova: Eventual goal of that, Zha?

Saijanai Kuhn: opensim will be a better bet for that Kooky

Gareth Ellison: baba - the zha has a firewall in her mind to prevent that

Zha Ewry: our interop focus is on, the WG work

Zha Ewry: *AWG

Saijanai Kuhn: A*Wg

Gareth Ellison: i do think sim<>sim protocol in opensim would rock

Gareth Ellison: if it looked closer to the LL grid

Gareth Ellison: right now it's silly .NET remoting

Baba Yamamoto: gareth, i'm gonna destroy the .net remoting

Gareth Ellison: and provokes fits of puppy-crushing anger in me

Baba Yamamoto: that just makes me cringe

Zha Ewry: Well, Gareth, there is some discussion about REST, and we'll

Gareth Ellison: yay!

Saijanai Kuhn: eh, think whatever is used shouldn't need to be like SL save at the grid protocol level

Tao Takashi: make it .baba remoting

Zha Ewry: as a community, work out what we need to do

Gareth Ellison: you have no idea how many puppies you have saved baba

Baba Yamamoto: gareth it's already on my roadmap ;0

Zero Linden: Note that for the most part, the AG work needn't be concerned with sim-to-sim communications

Baba Yamamoto: along with destroy RPC with grid serives

Zero Linden: since that is just how a grid choosed to manage itself

Baba Yamamoto: services

Gareth Ellison: it needs to be in there somewhere

Zero Linden: er, region domain

Gareth Ellison: it'd suck to have islands

Zha Ewry: Only at the point where you want to permit A/B edge touches

Tao Takashi: Zero: so that means a region domain has to deal with that?

Zero Linden: (di I say "grid" like that? Bad dog!)

Gareth Ellison: what if i want 2 region domains side by side?