Incremental replication for mobility support in OBIWAN

L. Veiga1, P. Ferreira1
1INESC, IST, Lisboa, Portugal

Tóm tắt

The need for sharing is well known in a large number of distributed collaborative applications. These applications are difficult to develop for wide area (possibly mobile) networks because of slow and unreliable connections. For this purpose, we developed a platform called OBIWAN that: i) allows the application to decide, in run-time, the mechanism by which objects should be invoked, remote method invocation or invocation on a local replica, ii) allows incremental replication of large object graphs, iii) allows the creation of dynamic clusters of data, and iv) provides hooks for the application programmer to implement a set of application specific properties such as relaxed transactional support or updates dissemination. These mechanisms allow an application to deal with situations that frequently occur in a (mobile) wide-area network, such as disconnections and slow links: i) as long as objects needed by an application (or by an agent) are colocated, there is no need to be connected to the network, and ii) it is possible to replace, in run-time, remote by local invocations on replicas, thus improving the performance and adaptability of applications. The prototype is developed in Java, is very small and simple to use, the performance results are very encouraging, and existing applications can be easily modified to take advantage of OBIWAN.

Từ khóa

#Personal digital assistants #Internet #Runtime #Portable computers #Collaboration #Programming profession #Mechanical factors #Prototypes #Java #Collaborative work

Tài liệu tham khảo

felber, 2000, Replication of corba objects, Recent Advances in Distributed Systems, 10.1007/3-540-46475-1_11 10.1109/4236.895140 10.1145/165854.165907 10.1145/75104.75105 liskov, 1992, Dist. object management in Thor, Proc Int W'shop on Dist Object Management, 1 10.1109/6.780995 platt, 2001, Introducing Microsoft NET reuter, 1998, Microsoft Programming Series, Inside Windows CE shapiro, 1986, Structure and encapsulation in distributed systems: the proxy principle, Proc of the 6th Intl Conf on Dist Systems, 198 venners, 1997, Inside the Java Virtual Machine chiba, 1998, Javassist - a reflection-based programming wizard for java, Proc of OOPSLA'98 W'shop on Reflective Programming in C++ and Java chappell, 1996, Understanding ActiveX and OLE dahm, 1998, Byte code engineering with the javaclass api, Technical report b-98-17 Freie Universitt Berlin Institut fr Informatik cohen, 1998, Automatic program transformation with joie, 1998 USENIX Annual Technical Symposium 2000, Implementing caching service for dist. corba ob-jects, Proc of the IFIPIACM Int Conf on Dist Systems Platforms and Open Dist Processing (Middleware'2000) - Springer Verlag 10.1145/125223.125238 10.1007/3-540-46475-1_9 10.1145/125223.125254 englander, 1997, Developing Java Beans welch, 2001, Kava using byte code rewriting to add behavioural reflection to java, Proc USENIX Conf Object-Oriented Technologies and Systems (COOTS) zdonik, 1990, Readings in Object-Oriented Database Systems white, 1992, A performance study of alternative object faulting and pointer swizzling strategies, 18th VLDB Conf