MobJeX: A Declaratively Configurable Java Based Framework for Resource Aware Object Mobility
نویسندگان
چکیده
MobJeX (Mobile Java Objects) is a Java based resource aware adaptive code mobility framework that is currently under development. MobJeX differs from its predecessors such as Sumatra [1] and FarGo [2, 3] by providing support for the transparent distribution of application code to client devices in a heterogenous Next Generation Internet (NGI) environment [4]. This paper briefly discusses the architecture of MobJeX. 1 Declarative Rule Based Application Configuration MobJeX uses an XML based application deployment descriptor to specify rule-based configuration for object grouping and migration policies. This strategy was chosen to provide greater transparency, and less development effort, than a script-based approach. Although the declarative approach cannot ultimately match the customisability of scripting, it can provide a significantly greater amount of system support and automation. As such, the developer can write applications with a greater level of transparency, with the deployer tuning the system by specifying application specific policy rules for object grouping and migration. 2 Dynamic Object Mobility MobJeX treats object mobility as a dynamic property, which can vary depending upon the state of the computational environment, as reported by the resource monitor (see section 4). Object mobility rules in the deployment descriptor are specified hierarchically, ranging from abstract application level rules to specialised object level rules. As such, a deployer need only specify application level rules in order to facilitate dynamic object mobility and client/server adaptation in a MobJeX environment. Optimising the application for a specific client is accomplished by specifying per object deployment rules and specific object grouping strategies. Additionally, further optimisation can be achieved by explicitly specifying object groups (by naming the objects comprising a group) and co-location constraints (via declarative resource requirement rules). The use of object mobility rules echoes the hard-coded relocation semantics of FarGo’s complet approach with less developer effort and without the need to recompile code when adaptation policies change. 3 Pluggable Resource Monitoring Like Sumatra, MobJeX provides a resource monitoring API using familiar JavaBean event handling semantics. In order for a device to participate as a client in the MobJeX environment, it must have a resource monitoring implementation that can, at the minimum, report available memory. Although such limited reporting would affect performance, it does enable individual objects or object groups of specified memory requirements to be migrated and executed. Nevertheless, client specific implementations of the MobJeX resource monitoring API should, at a minimum, aim to report basic memory, networking, and CPU information. The authors have developed an initial resource monitoring implementation based on a Java Native Interface (JNI) to the Microsoft Windows performance API. 4 MobJeX Architecture MobJeX uses a proxy-based object tracking strategy, which is comparable to FarGo, but operates in a simpler client/server fashion. This implementation decision was made primarily to simplify object communication, and more readily facilitate dynamic object grouping and mobility, but has the incidental benefit of being a more secure and trusted model for interaction in an NGI environment. Furthermore, our scheme uses a simpler client-side transport manager that is more suitable for use on limited devices. Fig. 1 depicts the high level architecture of MobJeX, the main components of which are the server based configuration manager and distribution manager, and client and server resource monitors and transport managers. Note that distribution decisions, based on information received from the configuration manager, are made on Resource Monitor XML Parser Distribution Manager MobJeX Client
منابع مشابه
Application Adaptation Through Transparent and Portable Object Mobility in Java
This paper describes MobJeX, an adaptive Java based application framework that uses a combination of pre-processing and runtime support to provide transparent object mobility (including AWT and Swing user interface components) between workstations, PDAs and smartphones. Emphasis is placed on the mobility subsystem (MS), a mobile object transport mechanism providing a high level of transparency ...
متن کاملA Java-Based Framework For Comparing Mobility Policies In Networks With Dynamic Resource Management
Next-generation multiservice networks are expected to offer object mobility support as well as node programmability. This paper describes how this may be used to extend the current vision of policy-based network management. It then proposes a system intended to enable evaluation of different mobility policies. We introduce the notion of a network centre of gravity, and use the evaluation framew...
متن کاملPortable Resource Control in Java
Preventing abusive resource consumption is indispensable for all kinds of systems that execute untrusted mobile code, such as mobile object systems, extensible web servers, and web browsers. To implement the required defense mechanisms, some support for resource control must be available: accounting and limiting the usage of physical resources like CPU and memory, and of logical resources like ...
متن کاملDREAM: a Component Framework for the Construction of Resource-Aware, Configurable MOMs
In this paper, we present Dream, a component-based software framework for the construction of resource-aware message-oriented middleware that can be assembled statically or dynamically. Dream is based on Fractal, a recent component model featuring hierarchical composition, component sharing and component binding. Dream allows building different forms of message-oriented middleware, from distrib...
متن کاملDynamic Resource Management for Mobile Services
In this paper we propose a dynamic resource management system addressing the key requirements of mobile services – i.e. services realized as Mobile Agents (MAs). MAs are exploited here in different ways. First, to realize adaptable, configurable, context-aware services for 3G and beyond. Second, to develop a distributed monitoring system that suits the hurdles posed by service and network mobil...
متن کامل