Title: Loglinear and Multidimensional Scaling Models of Internet Transactions
1GIScience 2000
Agent-based Mechanisms for Distributing
Geographic Information Services on the Internet
By Ming-Hsiang Tsou 1 and Barbara P. Buttenfield
2 1 Geography Department, San Diego State
University 2 Geography Department, University of
Colorado
E-mail mtsou_at_mail.sdsu.edu, babs_at_colorado.edu
2Why Distribute GIServices?
- Globalize Information Access/Exchange
- Decentralize Database Management/Update
- Distribute Computing Processes
The Network is the Computer
3Problems in Distributing GIServices
- Temporary, technology-centered solutions
- The lack of an intelligent architecture which can
operate in new/unknown environments - Focus on Data, not on GIS Processes
- We need to distribute both GIS Processes and data
objects across the networks.
4Solution Dynamic Architecture for GIServices
Dynamic Construction (on the Internet)
GIS user
- User Scenario
- GIS Task
- GIS node profile
- Network performance
GIS node
Geodata object
GIS component (program)
5Build GIServices on-the-fly
GIS user (Mike)
Dynamic Construction (on the Internet)
B
User Scenario Map Display Colorado Roads
A
GIS node
C
GIS component
Geodata object
6Agent-based Communication
GIS Components (Programs)
Geodata Objects
Metadata
Metadata
- Agents
- Info. finders/filters
- Interpreters
- Decision makers
User-defined rules Knowledge bases Agent
collaboration
7Information Finder / Filter
Reasonable choice - A
Information Finder ------------------------ Inform
ation Filter
Reasonable choice - B
Reasonable choice - C
Site-A
KEYWORDS
Users
(User-defined rules)
Examples Search Colorado roads Search
Methods 1. Message Broadcasting 2. Agent
Roaming 3. Create a Metadata Repository to
improve the search efficiency
Site-B
Site-C
8Information Interpreter
Buffering in UNIX
Address matching in Window 2000
Metadata
Metadata
Metadata becomes the source of knowledge bases
Information Interpreter
Metadata
Metadata
Metadata
Landsat images
ARC Coverages
Shapefiles
Operation Buffer (ARC command, UNIX
platform) Input data roads (shapefiles) Output
data road-buf (coverage) Variable 200 feet
(map unitmeter convert to meters)
convert to coverage
9Decision Maker
Agent (decision maker)
Actions
Events
Agent (Information Finder)
Agent (Information Interpreter)
Agent Collaboration
- Event If the local disk is full, find another
network disk. - Agent Collaboration
- Info. Finder --gt search logical volumes
- Interpreter --gt convert data format to destined
environment - Action Save New disk-drive Data-object
10Agent Mobility
a) Stationary Agent
Machine-B
Machine-A
Remote Procedure Call
Stationary Agent-05
Stationary Agent-01
Machine-D
b) Mobile Agent
Machine-C
Mobile Agent-06
Copy (HTTP)
Mobile Agent-03
Mobile Agent-03
11Advantages of a Mobile Agent
- Reduce network load
- Upload the agents to remote GIS databases
- Overcoming network latency
- Real-time response, agents on the remote site
- Protocol encapsulation
- Agent carries codes and messages
- Execute asynchronously and automatically
- More stable in fragile network connections
- Dynamically adoption
- Agent senses the execution environment and
- reacts autonomously to change
12Problems of Mobile Agents
- Security (Mobile Agents as Virus)
- Implementation (Cross platforms/technologies)
- Size and Diversity (Small programs, more
functions) - Protocol Development (Agent communication)
- Levels of Control (Behavior, location)
13Security Model for Agents
- Security Treats
- Disclosure of information (interception)
- Denial of service (DOS)
- Corruption of information
- Attack Targets
- Agents
- Agent Containers
- Countermeasures
- Sandboxing (software-based fault isolation,
Java) - Digital Signature (signed code to confirm the
authenticity of - an object, its origin, and its integrity)
- Travel Histories (maintain an authenticatable
record of the - prior platforms visited by an agent.
- Others...
14Agent Functionality
GIS components
Geodata Objects
Map Display Component
Metadata
Spatial Analysis Component
Metadata
Server machine
Client machine
15Hierarchy of GeoAgents
Machine Agent
Stationary GeoAgent
GeoAgent
Component Agent
Mobile GeoAgent
Geodata Agent
UML notations
Generalization
UML Unified Modeling Language
16Implementation GIService Node
GIServices Workstation (a GIS node)
metadata
Hardware Profiles CPU, OS, CRT, printer, scanner
GeoData Object Container
GIS Component Container
M
Agent Container
Component Agent
GeoData Agent
Machine Agent
17Agent Container Platform
- Java (Sun Microsystems)
- Java Virtual Machine (VM), Java applets /
servlets. - CORBA (OMG)
- Common Object Request Broker Architecture,
UNIX-based, IIOP (Internet Inter-ORB Protocol), - DCOM / COM (Microsoft)
- Windows 2000/NT, ActiveX container, COM-based
model - XML (W3C) (Extensible Markup Language)
- lightweight agent systems, scripting language,
- open-ended, metadata- enhanced.
18Agent Communication Language (ACL) / Protocol
(ACP)
- KQML (Knowledge Query and Manipulation Language)
(Finin and Weber, 1993) - ACL (Agent Communication Language) specification
FIPA (Foundation for Intelligent Physical
Agents) 1997 - IIOP (Internet Inter-ORB Protocol), and CORBAs
- Mobile Agent Facility Specification 1.0
- OMG, (1999)
- XML-based scripting language
- (Lange, Hill, Oshima, 2000)
19Scenario Spatial Analysis
A GIS spatial analyst, Dick, wants to locate a
new Wal-Mart store in Boulder. He needs to
obtain related map information and perform a GIS
overlay analysis for this task.
Procedure-A
Overlay analysis
Buffer analysis
Ron GIS software vendor
Shape fitting analysis
Dick GIS analyst
Data conversion
Matt GIS programmer
20The Roaming of Agent (Carry a Procedure-A)
The Planning Department
The Tax Assessor Department
Land value and parcels
Flood zone
Land use
Agent
Agent
Procedure-A
Procedure-A
CODOT
The Policy Department
Roads
Crime Risk Index
Agent
Agent
Procedure-A
Procedure-A
Dicks GIS node
- Procedure-A (from Dicks requests
- Buffer 200m from Road to create Buffer zone
- Overlay Land use Flood zone, Buffer zone,
and Land parcels, Crime Risk Index.
Agent
Procedure-A
21First Stage
1. Agents search the location of Roads, Buffer
operation, etc. 2. Find out the location of data
and component. (Roads URL www.CODOT.gov)
(Buffer URL www.CODOT.gov)
CODOT
3. Agent travels to the agent container in
CODOT. 4. Executes the first line of
procedure-A. 5. Generates a new data called
Buffer zone and puts the new data in the
CODOT data container.
Buffer
Roads
Buffer zone
Agent container
Agent
Procedure-A
Dicks GIS node
- Procedure-A (from Dicks request)
- Buffer 200m from Road to create Buffer zone
- Overlay Land use Flood zone, Buffer zone,
and Land parcels, Crime Risk Index.
Agent
Component container
Data container
22Second Stage
The Planning Department
Overlay
CODOT
Land use
Buffer zone
Over-1
Flood zone
Overlay
Buffer
Agent container
Agent
Roads
Buffer zone
Procedure-A
Agent container
Agent
Procedure-A
- Procedure-A (from Dicks request)
- Buffer 200m from Road to create Buffer zone
- Overlay Land use Flood zone, Buffer zone,
and Land parcels, Crime Risk Index.
Dicks GIS node
Agent
Component container
Data container
23Third Stage
The Tax Assessor Department
The Planning Department
Overlay
Overlay
Land use
Buffer zone
Over-1
Over-2
Over-1
Land parcels
Flood zone
Agent container
Agent container
Agent
Agent
Procedure-A
Procedure-A
- Procedure-A (from Dicks request)
- Buffer 200m from Road to create Buffer zone
- Overlay Land use Flood zone, Buffer zone,
and Land parcels, Crime Risk Index.
24Final Stage
The Police Department
The Tax Assessor Department
Overlay
Overlay
Over-2
Final
Over-2
Crime risk index
Over-1
Land parcels
Agent container
Agent container
Agent
Procedure-A
Agent
Procedure-A
Dicks GIS node
Agent container
Procedure-A (complete)
Agent
Component container
Data container
Final
25Deploy the Architecture
GIS node Dick.colorado.edu
GIS node Boulder-Planning.gov
Overlay analysis component
Flood area
Land use
Buffering component
Parcel rec.
Roads
Machine agent
Geodata agent
Component agent
GIS node Boulder-Police.gov
Land use
Roads
Crime Rate records
Shape fitting analysis
Crime rate
Auto. Data Conversion
GIS node Matt-GIS. com
Shape fitting analysis
Data object
3D shading and ray tracing
GIS components
Statistic analysis
26Collaboration among GIS nodes
A GIS Task
Intranet
GIS Node
GIS Node
Local Network
GIS Node Ming
GIS Node
GIS Node
GIS Node Mike
GIS Node Eva
GIS Node Tina
GIS Node
I n t e r n e t
GIS Node SDSU
GIS Node UCSB
GIS Node SUNY
GIS Node FGDC
27SUMMARY
Traditional Solution
- Limited GIS computing power
- Convert data sets manually / individually
- Vendor-based GIS software
- Difficult to search / exchange geospatial
information
Agent-based Solution
- Efficient use of computing resources
- Automated data gathering / conversions
- Customizable GIS modulars and functions
- Sharing GIS data / models / knowledge
28FUTURE WORK
- Implementation
- Java, XML, XHTML, KQML, ACL
- Hierarchic GeoAgents
- Individual, Groups, Global Society
- Intelligent GeoAgents ?
- Knowledge engines, fuzzy logic, neural networks
29Coding Example Machine agents search for
requested data object
Mikes Input GIS component Display ?
.Required Component Required data Colorado
Roads ? .Required Data (Machine agent-A) init
If .RequiredData found in Data container
Then set .OperationData .RequiredData ElseI
f Search(.RequiredData) Null Then print
Data can not be found. exit Else set
.OperationData Search(.RequiredData).CopyToDataC
ontainer End If If .RequiredComponent found in
Component container Then set
.OperationComponent .RequiredComponent Elseif
Search(.RequiredComponent) Null Then
print GIS component can not be found.
exit Else set .OperationComponent
Search(.RequiredComponent).CopyToComponentContaine
r End If SendToComponentAgent(.OperationData,
.OperationComponent)