netmorph

27
NetMorph An intuitive mobile object s ystem and its applications Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara January 30, 2003

Upload: xander-mcmillan

Post on 31-Dec-2015

24 views

Category:

Documents


0 download

DESCRIPTION

NetMorph. An intuitive mobile object system and its applications. January 30, 2003. Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara. Table of contents. Problems of networking NetMorph design and implementation Conclusion and future plan. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: NetMorph

NetMorph

An intuitive mobile object system andits applications

Masashi Umezawa Kazuhiro AbeSatoshi Nishihara Tetsuya Kurihara

January 30, 2003

Page 2: NetMorph

2

Table of contents

• Problems of networking• NetMorph design and

implementation• Conclusion and future plan

Page 3: NetMorph

3

Problems of the present networking

• Most network systems do not provide proper intuitive interfaces for us– Users have to acquire specific

knowledge depending on various protocols

• In many cases, users can only use prepared network applications

• Developing their own distributed programs is tremendously difficult

Page 4: NetMorph

4

• Morphic and SqueakToys are great environment for developing computer literacy of non-technical people

• But… – They do not support network applications

• NetMorph provideslogical broad spaces, where users can create network applications freely

What NetMorph aims at

Page 5: NetMorph

5

Basic concepts

• Each morph has its own “network location”• The location of Morph is represented by the

combination of 2D coordinates and logical network address

• Morph can move toother desktops, simplychanging its locationvalues

• Desktop relations aredefined by “WorldMap”

0, 00, 0

x

y

0, 0

↓ 62.38.0.32

1, 0

↓ 202.3.12.76

0, 1

↓ 173.234.54.4

1, 1

↓ 142.41.65.42

x

y

0, 0

↓ 62.38.0.32

1, 0

↓ 202.3.12.76

0, 1

↓ 173.234.54.4

1, 1

↓ 142.41.65.42

・・

Page 6: NetMorph

6

NetMorph script examples

MyCar forward by 5MyCar turn by 5MyCar warp

MyCar warp tosomehostMyCar’s homeMyFriend’s address

Page 7: NetMorph

7

Table of contents

• Problems of networking• NetMorph design and

implementation• Conclusion and future work

Page 8: NetMorph

8

Migration (‘warp drive’) mechanism (1)

1. A Morph remembers a current desktop location for the later x y adjustments

2. The Morph serializes itself3. The Morph sends the serialized data to the d

estination desktop by NMP (NetMorph Protocol)

4. The System invokes a ‘warpedOut’ event handling method that is usable for additional user defined behaviors

Page 9: NetMorph

9

Migration (‘warp drive’) mechanism (2)

x

y

12

0101110101011001001001001001

NMP3

warpedout!

40101110101011001001001001001

Page 10: NetMorph

10

Migration (‘warp drive’) mechanism (3)

5. A migration server (called Catcher) receives the serialized data and deserializes it to the Morph

6. The Catcher adjusts the Morph position7. The system attaches the Morph to the destination d

esktop. The Morph begins to move in the new desktop

8. The System invokes a ‘warpedIn’ event handling method for additional user defined behaviors

Page 11: NetMorph

11

Migration (‘warp drive’) mechanism (4)

5

x

y

67

warpedin!

8

0101110101011001001001001001

Page 12: NetMorph

12

Serialization in warp

• SmartRefStream– Simple– Automatic class migration– But big and slow

• We may develop a customized serializer…

0101110101011001001001001001

0101110101011001001001001001

Page 13: NetMorph

13

Network communication between Morphs

Another World

Joystick Proxy of Joystick

message returnValue

message

returnValue

Original World

warp

Page 14: NetMorph

14

Finding a morph in networks (1)

1. Local ActiveWorld is searched.2. If a Morph is found, the Morph is returned to

the caller. If not, local cache is searched3. If found in cache, a cached Morph proxy is re

turned. If not, remote servers that are registered in WorldMap are searched

4. If found, a Morph proxy is returned to the caller. If not, nil is returned

Page 15: NetMorph

15

proxy

Finding a morph in networks (2)

found

not found

localcache

found

WorldMap

found

not found

not found

nil

Page 16: NetMorph

16

Filtering the targets

• AvailabilityChecker periodically checks if the registered entries of WorldMap are reachable

• Finder only sees AvailabilityChecker’s available entry list

Available Entry List

Page 17: NetMorph

17

Finding a remote player in networks

• Customized script generator– Now Players can always refer to other

Players by identifier

Page 18: NetMorph

18

Remote message sending between morphs

aMorph(joystick)

aNmMorphProxy

1. message

2. doesNotUnderstand:

3. xxxCallWithArgumentsDispatch: target:

aNmRemoteConnecter

4. callDispatch:to:selector:withArguments:

aNmDispacher

5. dispatch:to:selector: withArguments:6. message

aMorph(car)

Page 19: NetMorph

19

WorldMap management

• A MapServer provides a latest map data for NetMorph clients

• Each NetMorph image periodically retrieves the CSV map data from a MapServer

• We can edit a map datagraphically by using a WorldMapMorph

Page 20: NetMorph

20

NetMorph protocol (NMP)

– Compact• No tags• Binary

– Fast• Connection pooling

– Simple‘NMP<version>’ ’<semantic>’ ’<command>’ ‘<encoder>’ *’<size>’!’Binaries…

BodyHeader

Page 21: NetMorph

21

Live demos

Page 22: NetMorph

22

Table of contents

• Problems of networking• NetMorph design and implementation• Conclusion and future work

Page 23: NetMorph

23

Conclusion

• As you can see, NetMorph is fun!– In Smalltalk, everything is object– In NetMorph, everything is live network object

• We had thought that it may be only a dream. But as the project proceeds, we’ve realized that it is possible in a few years

• In spite of the naïve implementation, NetMorph works beyond our expectation!

• Need to develop communities– More field tests– Utilize open source power

Page 24: NetMorph

24

Field tests

• We have not done any serious field-testing yet…

• But, we are planning to perform a field test with children on Feb. 2nd 2003 at CAMP

Page 25: NetMorph

25

The next goals

• More tight integration with SqueakToys– Quality– Performance– Functionality

• Slogan

– “What can do in SqueakToys is what can do in NetMorph”

Page 26: NetMorph

26

Developing communities

• Helping Kyoto Alan Kay Project• Demonstration in OOPSLA 2002• NetMorph Swiki

– http://swikis.ddo.jp/NetMorph

• SqueakMap– NetMorph will be available on SM in March

2003

Page 27: NetMorph

27

Any questions?