Download - EuroPython 2008: Tear down the walls (of virtual worlds)

Transcript
Page 1: EuroPython 2008: Tear down the walls (of virtual worlds)

all photos by Torley Wong and Tao TakashiEuroPython 2008

THE

WALLS!DOWNTEAR

Page 2: EuroPython 2008: Tear down the walls (of virtual worlds)

Christian Scholz

Page 3: EuroPython 2008: Tear down the walls (of virtual worlds)

http://comlounge.net

Page 4: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 5: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 6: EuroPython 2008: Tear down the walls (of virtual worlds)

http://mrtopf.de

Page 7: EuroPython 2008: Tear down the walls (of virtual worlds)

http://mrtopf.de

BlogPodcast

Videoblog

daily show

TopfShow

TopfCast

Tao Takashi on Air

Page 8: EuroPython 2008: Tear down the walls (of virtual worlds)

DataPortability Projecthttp://dataportability.org

Page 9: EuroPython 2008: Tear down the walls (of virtual worlds)

virtual worlds interoperabilitywith Python

Page 10: EuroPython 2008: Tear down the walls (of virtual worlds)

virtual worlds interoperabilitywith Python

pyogp

Page 11: EuroPython 2008: Tear down the walls (of virtual worlds)

pyogp?

Page 12: EuroPython 2008: Tear down the walls (of virtual worlds)

pyogp?Python Open Grid Protocol

Page 13: EuroPython 2008: Tear down the walls (of virtual worlds)

Tao Takashi

Page 14: EuroPython 2008: Tear down the walls (of virtual worlds)

virtual world

Page 15: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 16: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 17: EuroPython 2008: Tear down the walls (of virtual worlds)

WALLEDGARDENS

Page 18: EuroPython 2008: Tear down the walls (of virtual worlds)

WALLEDGARDENS

Page 19: EuroPython 2008: Tear down the walls (of virtual worlds)

TEAR DOWN THE

WALLS

Page 20: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 21: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 22: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 23: EuroPython 2008: Tear down the walls (of virtual worlds)

Happily now, Second

Life has been proven to

exist. If we disappeared

tomorrow, the grid

would be rebuilt by you.

Page 24: EuroPython 2008: Tear down the walls (of virtual worlds)

AWGArchitecture Working Group

Page 25: EuroPython 2008: Tear down the walls (of virtual worlds)

OGPOpen Grid Protocol

Page 26: EuroPython 2008: Tear down the walls (of virtual worlds)

AWGArchitecture Working Group

GOALS

Page 27: EuroPython 2008: Tear down the walls (of virtual worlds)

AWGArchitecture Working Group

GOALSScalability

Page 28: EuroPython 2008: Tear down the walls (of virtual worlds)

AWGArchitecture Working Group

GOALSExtensibility

Scalability

Page 29: EuroPython 2008: Tear down the walls (of virtual worlds)

AWGArchitecture Working Group

GOALSExtensibility

Standardization

Scalability

Page 30: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 31: EuroPython 2008: Tear down the walls (of virtual worlds)

INTERNETBUILDING

THEOF THEFUTURE

Page 32: EuroPython 2008: Tear down the walls (of virtual worlds)

How does our world look like?

Page 33: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 34: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 35: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 36: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 37: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 38: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 39: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 40: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 41: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 42: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 43: EuroPython 2008: Tear down the walls (of virtual worlds)

SL REGION

Page 44: EuroPython 2008: Tear down the walls (of virtual worlds)

REGION DOMAIN

AGENT DOMAIN

Page 45: EuroPython 2008: Tear down the walls (of virtual worlds)

REGION DOMAIN

AGENT DOMAIN• Profiles• Groups• Instant Messaging• Contacts/Friends• Inventory (Object Store)

Page 46: EuroPython 2008: Tear down the walls (of virtual worlds)

AGENT DOMAIN

REGION DOMAIN

• World Simulation• Physics Simulation• Script Execution• Local Object Store

Page 47: EuroPython 2008: Tear down the walls (of virtual worlds)

AGENT DOMAIN

REST Interface

Database

Agent Hosts

Page 48: EuroPython 2008: Tear down the walls (of virtual worlds)

AGENT DOMAIN

REST Interface

Database

Agent Hosts

OGP

Page 49: EuroPython 2008: Tear down the walls (of virtual worlds)

REGION DOMAIN

REST Interface

Database

Region Hosts

Page 50: EuroPython 2008: Tear down the walls (of virtual worlds)

REGION DOMAIN

REST Interface

Database

Region Hosts

OGP

Page 51: EuroPython 2008: Tear down the walls (of virtual worlds)

AGENT DOMAIN

REGION DOMAIN

AGENT DOMAINAGENT DOMAIN

REGION DOMAINREGION DOMAIN

Page 52: EuroPython 2008: Tear down the walls (of virtual worlds)

AGENT DOMAIN

REGION DOMAIN

AGENT DOMAIN

AGENT DOMAIN

REGION DOMAIN

REGION DOMAIN

Page 53: EuroPython 2008: Tear down the walls (of virtual worlds)

AGENT DOMAIN

REGION DOMAIN

AGENT DOMAIN

AGENT DOMAIN

REGION DOMAIN

REGION DOMAIN

Page 54: EuroPython 2008: Tear down the walls (of virtual worlds)

AGENT DOMAIN

REGION DOMAIN

AGENT DOMAIN

REGION DOMAIN

REGION DOMAIN

Page 55: EuroPython 2008: Tear down the walls (of virtual worlds)

AGENT DOMAIN

REGION DOMAIN

AGENT DOMAIN

REGION DOMAIN

REGION DOMAIN

TRUST!

Page 56: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 57: EuroPython 2008: Tear down the walls (of virtual worlds)

ingredients

Page 58: EuroPython 2008: Tear down the walls (of virtual worlds)

CAPS

Page 59: EuroPython 2008: Tear down the walls (of virtual worlds)

CAPSauthorization

Page 60: EuroPython 2008: Tear down the walls (of virtual worlds)

Capabilities

private URL

Page 61: EuroPython 2008: Tear down the walls (of virtual worlds)

Capabilities

private URLhttp://inventory/tao/

Page 64: EuroPython 2008: Tear down the walls (of virtual worlds)

internet intranet

Capabilities Serverhttp://host/caps/16762762762 http://inventory/tao/

Capabilities

Page 65: EuroPython 2008: Tear down the walls (of virtual worlds)

Seed CapabilityAgent Dom

ain

Page 66: EuroPython 2008: Tear down the walls (of virtual worlds)

Seed Capabilityhttp://host/caps/1676-a2762-762

Agent Domain

Page 67: EuroPython 2008: Tear down the walls (of virtual worlds)

Seed Capabilityhttp://host/caps/1676-a2762-762

{“caps“: [“inventory“]}

Agent Domain

Page 68: EuroPython 2008: Tear down the walls (of virtual worlds)

Seed Capabilityhttp://host/caps/1676-a2762-762

{“caps“: [“inventory“]}

{“inventory“: “http://.../cap/16778722“}

Agent Domain

Page 69: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 70: EuroPython 2008: Tear down the walls (of virtual worlds)

RHTTP

Page 71: EuroPython 2008: Tear down the walls (of virtual worlds)

RHTTPreverse HTTP

Page 72: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 73: EuroPython 2008: Tear down the walls (of virtual worlds)

REQUEST

Page 74: EuroPython 2008: Tear down the walls (of virtual worlds)

REQUEST

RESPONSE

Page 75: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 76: EuroPython 2008: Tear down the walls (of virtual worlds)

REQUEST

Page 77: EuroPython 2008: Tear down the walls (of virtual worlds)

REQUEST

RESPONSE

Page 78: EuroPython 2008: Tear down the walls (of virtual worlds)

COMETlong polling

REQUEST

RESPONSE

Page 79: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 80: EuroPython 2008: Tear down the walls (of virtual worlds)

REQUEST

Page 81: EuroPython 2008: Tear down the walls (of virtual worlds)

REQUESTUpgrade: PTTH/1.0

Page 82: EuroPython 2008: Tear down the walls (of virtual worlds)

REQUESTUpgrade: PTTH/1.0

RESPONSEStatus: 101

Page 83: EuroPython 2008: Tear down the walls (of virtual worlds)

REQUESTUpgrade: PTTH/1.0

REQUEST

RESPONSEStatus: 101

Page 84: EuroPython 2008: Tear down the walls (of virtual worlds)

REQUESTUpgrade: PTTH/1.0

REQUEST

RESPONSE

RESPONSEStatus: 101

Page 85: EuroPython 2008: Tear down the walls (of virtual worlds)

REQUESTUpgrade: PTTH/1.0

REQUEST

RESPONSE

REQUEST

RESPONSEStatus: 101

Page 86: EuroPython 2008: Tear down the walls (of virtual worlds)

REQUESTUpgrade: PTTH/1.0

REQUEST

RESPONSE

REQUEST

RESPONSE

RESPONSEStatus: 101

Page 87: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 88: EuroPython 2008: Tear down the walls (of virtual worlds)

POST / HTTP/1.1 Host: localhost:9999 Accept-Encoding: identityUpgrade: PTTH/0.9

Page 89: EuroPython 2008: Tear down the walls (of virtual worlds)

POST / HTTP/1.1 Host: localhost:9999 Accept-Encoding: identityUpgrade: PTTH/0.9

HTTP/1.1 101 Switching ProtocolsContent-type: text/plainUpgrade: PTTH/0.9Date: Tue, 13 May 2008 20:14:45 GMTContent-Length: 0

Page 90: EuroPython 2008: Tear down the walls (of virtual worlds)

POST / HTTP/1.1 Host: localhost:9999 Accept-Encoding: identityUpgrade: PTTH/0.9

GET / HTTP/1.1Host: 127.0.0.1:65331Accept-Encoding: identityaccept: text/plain;q=1,*/*;q=0

HTTP/1.1 101 Switching ProtocolsContent-type: text/plainUpgrade: PTTH/0.9Date: Tue, 13 May 2008 20:14:45 GMTContent-Length: 0

Page 91: EuroPython 2008: Tear down the walls (of virtual worlds)

POST / HTTP/1.1 Host: localhost:9999 Accept-Encoding: identityUpgrade: PTTH/0.9

HTTP/1.1 200 OK Content-type: text/plain Date: Tue, 13 May 2008 20:14:45 GMT Content-Length: 15 rdlrow ,olleH

GET / HTTP/1.1Host: 127.0.0.1:65331Accept-Encoding: identityaccept: text/plain;q=1,*/*;q=0

HTTP/1.1 101 Switching ProtocolsContent-type: text/plainUpgrade: PTTH/0.9Date: Tue, 13 May 2008 20:14:45 GMTContent-Length: 0

Page 92: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 93: EuroPython 2008: Tear down the walls (of virtual worlds)

whereisdasnake?

Page 94: EuroPython 2008: Tear down the walls (of virtual worlds)

REGION DOMAIN

AGENTDOMAIN

Page 95: EuroPython 2008: Tear down the walls (of virtual worlds)

REGION DOMAIN

AGENTDOMAIN

login

Page 96: EuroPython 2008: Tear down the walls (of virtual worlds)

REGION DOMAIN

AGENTDOMAIN

loginplace_avatar

Page 97: EuroPython 2008: Tear down the walls (of virtual worlds)

REGION DOMAIN

AGENTDOMAIN

loginplace_avatar

Page 98: EuroPython 2008: Tear down the walls (of virtual worlds)

REGION DOMAIN

AGENTDOMAIN

login

interact

place_avatar

Page 99: EuroPython 2008: Tear down the walls (of virtual worlds)

credentials = PlainPasswordCredential(

firstname, lastname, password)

agentdomain = AgentDomain(loginurl) agent = agentdomain.login(credentials)

place = IPlaceAvatarAdapter(agent) region = Region(regionurl)

avatar = place(region)

Page 100: EuroPython 2008: Tear down the walls (of virtual worlds)

credentials = PlainPasswordCredential(

firstname, lastname, password)

agentdomain = AgentDomain(loginurl) agent = agentdomain.login(credentials)

Page 101: EuroPython 2008: Tear down the walls (of virtual worlds)

credentials = PlainPasswordCredential(

firstname, lastname, password)

agentdomain = AgentDomain(loginurl) agent = agentdomain.login(credentials)

pyogp

Agent Domain

Page 102: EuroPython 2008: Tear down the walls (of virtual worlds)

credentials = PlainPasswordCredential(

firstname, lastname, password)

agentdomain = AgentDomain(loginurl) agent = agentdomain.login(credentials)

pyogp loginurl

Agent Domain

Page 103: EuroPython 2008: Tear down the walls (of virtual worlds)

credentials = PlainPasswordCredential(

firstname, lastname, password)

agentdomain = AgentDomain(loginurl) agent = agentdomain.login(credentials)

pyogp loginurl

LLSD(credentials)

Agent Domain

Page 104: EuroPython 2008: Tear down the walls (of virtual worlds)

credentials = PlainPasswordCredential(

firstname, lastname, password)

agentdomain = AgentDomain(loginurl) agent = agentdomain.login(credentials)

pyogp loginurl

LLSD(credentials)

{‘seedcap‘:‘<url>‘}

Agent Domain

Page 105: EuroPython 2008: Tear down the walls (of virtual worlds)

agentdomainseed_caplogin_url

Page 106: EuroPython 2008: Tear down the walls (of virtual worlds)

agentdomainseed_caplogin_url

agent

Page 107: EuroPython 2008: Tear down the walls (of virtual worlds)

place = IPlaceAvatarAdapter(agent)

agentdomainseed_caplogin_url

agent

Page 108: EuroPython 2008: Tear down the walls (of virtual worlds)

place = IPlaceAvatarAdapter(agent)

agentdomainseed_caplogin_url

agent

def do(region):

"""takes a region objects and tries to

place the agent there as an avatar

return an avatar"""

Page 109: EuroPython 2008: Tear down the walls (of virtual worlds)

place = IPlaceAvatarAdapter(agent)

agentdomainseed_caplogin_url

agent

def do(region):

"""takes a region objects and tries to

place the agent there as an avatar

return an avatar"""

avatar = place.do(region)

Page 110: EuroPython 2008: Tear down the walls (of virtual worlds)

place = IPlaceAvatarAdapter(agent)

agentdomainseed_caplogin_url

agent

def do(region):

"""takes a region objects and tries to

place the agent there as an avatar

return an avatar"""

avatar = place.do(region)

region = Region(regionurl)

regionregion_url

Page 111: EuroPython 2008: Tear down the walls (of virtual worlds)

loginurl

place = IPlaceAvatarAdapter(agent)

pyogp

Agent Domain

Page 112: EuroPython 2008: Tear down the walls (of virtual worlds)

loginurl

place = IPlaceAvatarAdapter(agent)

pyogp seed_cap

Agent Domain

Page 113: EuroPython 2008: Tear down the walls (of virtual worlds)

loginurl

place = IPlaceAvatarAdapter(agent)

pyogp seed_cap

{‘caps‘:‘place_av‘}

Agent Domain

Page 114: EuroPython 2008: Tear down the walls (of virtual worlds)

loginurl

place = IPlaceAvatarAdapter(agent)

pyogp seed_cap

{‘caps‘:‘place_av‘}

{‘place_av‘:‘<url>‘}

Agent Domain

Page 115: EuroPython 2008: Tear down the walls (of virtual worlds)

avatar = place.do(region)

pyogp

Agent Domain

Page 116: EuroPython 2008: Tear down the walls (of virtual worlds)

avatar = place.do(region)

pyogp place_av

Agent Domain

Page 117: EuroPython 2008: Tear down the walls (of virtual worlds)

avatar = place.do(region)

pyogp place_av

{‘regionurl‘:‘..‘}

Agent Domain

Page 118: EuroPython 2008: Tear down the walls (of virtual worlds)

avatar = place.do(region)

pyogp place_av

{‘regionurl‘:‘..‘}

<region details>

Agent Domain

Page 119: EuroPython 2008: Tear down the walls (of virtual worlds)

avatar = place.do(region)

pyogp place_av

{‘regionurl‘:‘..‘}

<region details>

Agent Domain

Region

Page 120: EuroPython 2008: Tear down the walls (of virtual worlds)

avatar = place.do(region)

pyogp place_av

{‘regionurl‘:‘..‘}

<region details>

Agent Domain

Region

Page 121: EuroPython 2008: Tear down the walls (of virtual worlds)
Page 122: EuroPython 2008: Tear down the walls (of virtual worlds)

How to contribute?

Page 123: EuroPython 2008: Tear down the walls (of virtual worlds)

How to contribute?http://pyogp.net

Page 124: EuroPython 2008: Tear down the walls (of virtual worlds)

CODE!

How to contribute?http://pyogp.net

Page 125: EuroPython 2008: Tear down the walls (of virtual worlds)

CODE!

How to contribute?http://pyogp.net Mailing List