Title: The GlobeDoc Proxy: A Web Gateway for GlobeDoc objects
1The GlobeDoc Proxy A Web Gateway for GlobeDoc
objects
- Achmad Imam Kistijantoro
- TU Delft - KPN Research 1999
2Content
- Why Globe?
- Globe background
- Basic Design of Globe
- Distributed Shared Object
- Globe Object Local Representative
- GlobeDoc and stores concept
- GlobeDoc Proxy
- Binding mechanism in the Globe
- Object management in the Proxy
- Software Design Implementation
- Summary
3Globe Background
- Internet Explosion -gt numerous distributed
applications - Common required features Scalability,
transparency, consistent naming schemes,
security, reliability and migration - Incompatibility problems and the development of
new applications often requires to redesigning
and re-implementing these features - Needs of uniform framework, that can be reused,
flexible enough to support different kinds of
applications
4The Globe approach
- Uniform framework for distributed computing
- provides basic services needed by distributed
applications - Flexible implementation
- to support heterogeneous nature of wide area
systems like the Internet - Object-based approach, separating object
interfaces from their implementations - Ensure world-wide scalability
- Extensive support for partitioning and
replicating objects - Distributed Shared Object concept
5Distributed Shared Object Concept
- The state of the object may be distributed across
multiple address spaces
Globe Object
Network
Globe Objects LR
Clients machine
6Sub objects of the Globe Object Local
Representative
- picture of the Globe Object Local Representative
Control object
Interface
Replication object
Semantic object
Communication object
7GlobeDoc A Scalable Web document
- A GlobeDoc object a web document, a collection
of related web pages - Root, Elements (HTML pages, images, etc),
Properties - Accessible from clients as a Globe object
- Choices for different replication policy for each
GlobeDoc object - Stores location where the GlobeDoc objects
state / web document are kept
8GlobeDoc Replication
- Stores, mirror servers and proxies
Permanent stores (Primary server)
- Document-initiated stores
- (Mirror)
Contact point
Client-initiated stores (Proxy)
9The Design and Implementation of the GlobeDoc
Proxy
- GlobeDoc Proxy provides access to the GlobeDoc
object from a web browser - Receives queries from the Web, bind to the
correspondent object, call the object methods to
retrieve the document and return the result to
the browser - Focus on two aspects binding mechanism and
object management (preliminary study)
10Binding Mechanism for Globe objects
- Binding make globe object interfaces available
in the local address space - create globe object
local representative in the local address space - How to get the object implementation in the
clients address space - Binding steps
11Binding Mechanism
Client process
Object Name
1
Name server
2
Object Handle
- Globe Run-time service
- Name service
- Location service
- Selector
- (Local) Implementation Repository
- Class Loader
3
Location server
4
GlobeDoc LR
8
Contact Address(es)
9
5
6
Repository
12Object Loading
- Contact Address
- Contact points location
- Implementation and its configuration
- Additional information, such as replication
policy, coherence model - Class Archive
- Provides implementation binaries for GlobeDoc LR
- Class Loader
- Specific for each implementation binary type
- Implementation Repository
- Provides class archives and implementation
binaries for GlobeDoc LR
13Binding - Loading Mechanism
14Object Management in the GlobeDoc Proxy
- Each object manage its own replication strategy
- Complicates the cache management in the proxy
- Possibility of active replication, that waste
CPU, Network and Memory resources - Proposed solution
15GlobeDoc Proxy location
- Document-initiated stores
- Object binding/unbinding is controlled by the
GlobeDoc owner - Mechanism for controlling the proxy from remote
machine - Client-initiated stores
- Either in the clients machine/as part of the
clients browser or in a special machine for
proxy - Either available for a specific client or for
many clients - There is no specific instruction for object
unloading, thus the proxy must develop its own
mechanism for removing objects
16Object Management in the Proxy
proxy
Client
Active replication
Client
Client
Client
Clients Browsers
Passive replication
Passive replication
- Space
- Bandwidth
- CPU resources
17Cache Replacement Algorithms
- General model uniform/non uniform objects,
uniform/non uniform cost model - Access behavior only (fixed size and fixed cost)
- LRU, LFU
- Object size and Objects cost
- Size, Hyper-G, Greedy-Dual-Size
- Weighted function/parameter based algorithm
- Bolot-Hoschka, Wooster-Abrams, NNC
- Practical CR algorithms should be based on simple
computations
18GlobeDoc Object
- Non uniform object, non uniform cost
- each object may have different replication
policy, but this should be transparent to outside - objects size might not be fixed
- active replication may lead to waste of
resources, if accessed less frequently, but may
lead to a reduced response time as perceived by
clients - initialization of an object is bigger than other
operation - proposal heuristic based algorithm (Hosseini97)
19Heuristic based algorithm
- Based on LRU
- If an item is removed, it could not have been
retained in cache without exceeding cache
capacity - frequently used object should not be removed from
the cache - object that is not frequently used must be
removed from the cache
20Cache Replacement Algorithm - Cost Density
- Cost density the cost or value of the object for
each unit cache resources usage - cost the time differences between cached object
and uncached object (e.g. binding timepredictive
document fetching) - cache resources space, network bandwidth, CPU
(?) (e.g. space usage, updates count - Cost density Cost(object i)/Resource(object i)
21Cache Replacement Algorithm
- Cache list sorted by activeness (for example,
based on LRU) - candidate for removal (the most inactive objects)
are sorted by cost density, and remove objects
with least value, until certain resources
threshold available
Most active
Highest Density Cost
removed
Least active
Lowest Density Cost
22Open issues
- Drawbacks
- Rather complicated computation
- Maintain separate list for each resources
- Computation for each object update and access
- Cost measurements probabilistic, depends on
network condition - Network resource usage measurement
23GlobeDoc Proxy Design Implementation
24Summary
- In this project, we have
- investigated the structure of Globe Run-time
system, especially for object loading mechanism
in binding - designed and implemented GlobeDoc proxy
- investigated preliminary cache management for
GlobeDoc proxy - The preliminary implementation of the Globe
object and proxy proves the practicability of the
Globe concepts - Further investigation is needed to deliver Globe
capability in the real application, such as the
behavior of Globe object in wide-scale
application, mechanism for controlling proxy and
mirror servers, unbinding mechanism for Globe
objects