Integrating Cloud & Cyberinfrastructure Manish Parashar NSF Cloud and Autonomic Computing Center
Enabling autonomic Grid Applications: Requirements, Models and Infrastructure Authors: M. Parashar,...
-
Upload
charleen-laura-richards -
Category
Documents
-
view
219 -
download
2
Transcript of Enabling autonomic Grid Applications: Requirements, Models and Infrastructure Authors: M. Parashar,...
Enabling autonomic Grid Applications: Enabling autonomic Grid Applications: Requirements, Models and Requirements, Models and
InfrastructureInfrastructure
Authors:Authors:M. Parashar, Z. Li, H. Liu, V. Matossian and C. M. Parashar, Z. Li, H. Liu, V. Matossian and C.
SchmidtSchmidt
Presenter: Khalid SaleemPresenter: Khalid Saleem
IntroductionIntroduction
Investigate challenges and Investigate challenges and requirements of programming Grid requirements of programming Grid ApplicationsApplications
Self-Management ApplicationsSelf-Management Applications
Introduce Project AutomateIntroduce Project Automate Investigates Autonomic solutions to deal Investigates Autonomic solutions to deal
withwith ComplexityComplexity DynamismDynamism HeterogeneityHeterogeneity Uncertainty Uncertainty
Grid Computing – Challenges Grid Computing – Challenges & Requirements (1)& Requirements (1)
Goal:Goal: Applications utilizing intellectual and physical Applications utilizing intellectual and physical
resources across different disciplines and resources across different disciplines and organizations organizations
Providing more effective and efficient Providing more effective and efficient solutions to important Scientific, Engineering, solutions to important Scientific, Engineering, Business and Government problemsBusiness and Government problems
Built on Seamless and secure mechanisms forBuilt on Seamless and secure mechanisms for DiscoveryDiscovery AccessAccess InteractionsInteractions
Grid Computing – Challenges Grid Computing – Challenges & Requirements (2)& Requirements (2)
Key characteristics of Grid Key characteristics of Grid Execution Environment and Execution Environment and Applications areApplications are
HeterogeneityHeterogeneity DynamismDynamism UncertaintyUncertainty SecuritySecurity
Grid Computing – Challenges Grid Computing – Challenges & Requirements (3)& Requirements (3)
Goals attainment requiresGoals attainment requires Implementation ModelsImplementation Models Conceptual ModelsConceptual Models
Implementation Models addressImplementation Models address Virtualization of organizations (GRIDs) Virtualization of organizations (GRIDs) Creation and Management of virtual organizationsCreation and Management of virtual organizations Instantiation of a virtual machine as the execution Instantiation of a virtual machine as the execution
environment of an applicationenvironment of an application
Conceptual Models defineConceptual Models define Abstract machines supporting programming Abstract machines supporting programming
models and systems enabling application models and systems enabling application developmentdevelopment
Grid Computing – Challenges Grid Computing – Challenges & Requirements (4)& Requirements (4)
Requirements for Grid Programming Requirements for Grid Programming SystemsSystems
Specify applications that can detect and dynamically Specify applications that can detect and dynamically respond during execution to the changes inrespond during execution to the changes in
state of execution environmentstate of execution environment state and requirements of the application state and requirements of the application
Grid Applications should Grid Applications should Constitute of discrete, self managing componentsConstitute of discrete, self managing components Provide separate specifications for functional, non-Provide separate specifications for functional, non-
functional, interaction and coordination behaviorsfunctional, interaction and coordination behaviors Provide implementation independent interface Provide implementation independent interface
definitions for above specifications definitions for above specifications
Requirements for Self-Requirements for Self-managing Applications on the managing Applications on the
GridGrid Self-managing applications on the Grid Self-managing applications on the Grid requirerequire
Static application requirementsStatic application requirements System and Application behaviors should be relaxedSystem and Application behaviors should be relaxed
Sensitivity and Ability of elements and applications Sensitivity and Ability of elements and applications to adapt to theto adapt to the
Dynamic state of the system; andDynamic state of the system; and Changing requirements of the applicationChanging requirements of the application
Essential common knowledge be expressed Essential common knowledge be expressed semantically (i.e. Ontology) rather than names semantically (i.e. Ontology) rather than names addresses and identifiersaddresses and identifiers
Core Middleware services (e.g. Discovery) driven by Core Middleware services (e.g. Discovery) driven by semantic knowledge semantic knowledge
AutoMateAutoMate An attempt to address the above challenges and An attempt to address the above challenges and
requirementsrequirements
AutoMate AutoMate
Investigates autonomic solutions to Investigates autonomic solutions to address challenges posed to Grid address challenges posed to Grid ComputingComputing
Based on Biological Systems Based on Biological Systems
Development of Conceptual and Development of Conceptual and Implementation models/architecturesImplementation models/architectures
Programming Models, Framework and Programming Models, Framework and Middleware ServicesMiddleware Services
Definition of autonomic elementsDefinition of autonomic elements Development of autonomic applicationsDevelopment of autonomic applications Policy, Content and Context driven application Policy, Content and Context driven application
definition, management and execution definition, management and execution
Components of AutoMateComponents of AutoMate
Accord: A Programming Accord: A Programming Framework for Autonomic Framework for Autonomic
ApplicationsApplications Extends existing distributed programming Extends existing distributed programming
systemssystems RealizesRealizes
Separation of computations from coordination and Separation of computations from coordination and interactionsinteractions
Separation of non-functional behaviors (e.g. Resource Separation of non-functional behaviors (e.g. Resource requirements, performance) from functional behaviorsrequirements, performance) from functional behaviors
Separation of policy and mechanismSeparation of policy and mechanism
Accord Programming Model key componentsAccord Programming Model key components Autonomic ElementsAutonomic Elements Accord RulesAccord Rules Autonomic CompositionAutonomic Composition
Autonomic Elements (1)Autonomic Elements (1)
Autonomic ElementAutonomic Element Extends programming elementsExtends programming elements
Objects, Components and ServicesObjects, Components and Services Defines self-contained Modular software unit Defines self-contained Modular software unit
withwith Specified interfacesSpecified interfaces Explicit context dependenciesExplicit context dependencies
Encapsulates Encapsulates RulesRules ConstraintsConstraints MechanismsMechanisms
Can dynamically interact with other elements Can dynamically interact with other elements and the systemand the system
Autonomic ElementsAutonomic Elements (2)(2)
Autonomic Element Autonomic Element
Autonomic Elements (3)Autonomic Elements (3)
Autonomic Element defined by 3 portsAutonomic Element defined by 3 ports Functional PortFunctional Port
Defines a set of functional behaviors provided and Defines a set of functional behaviors provided and used by the elementused by the element
Control PortControl Port Defines a set of sensors/actuators and the Defines a set of sensors/actuators and the
corresponding access constraintscorresponding access constraints Sensors: Interfaces providing info about the Sensors: Interfaces providing info about the
elementselements Actuators: Interfaces for modifying state of the Actuators: Interfaces for modifying state of the
elementselements Operational PortOperational Port
Defines the interfaces to formulate and manage Defines the interfaces to formulate and manage rules that govern the runtime behavior of the rules that govern the runtime behavior of the elements and their interactions.elements and their interactions.
Autonomic Elements (4)Autonomic Elements (4)
Element ManagerElement Manager Manages element executionManages element execution Monitors state of the element and its Monitors state of the element and its
contextcontext Controls execution rulesControls execution rules Cooperates with other element managersCooperates with other element managers
Accord Rules (1)Accord Rules (1)
Rules in the formRules in the form IF condition THEN actionIF condition THEN action Condition: Logical combination of sensors, Condition: Logical combination of sensors,
elements, function interfaces and eventselements, function interfaces and events Action: Sequence of invocations of Action: Sequence of invocations of
element and/or system actuators and element and/or system actuators and other interfacesother interfaces
Priority based mechanism to Priority based mechanism to resolve conflictsresolve conflicts
Accord Rules (2)Accord Rules (2)
Rule ClassesRule Classes Behavioral RulesBehavioral Rules
Controls runtime functional behaviors of an Controls runtime functional behaviors of an autonomic elementautonomic element
Executed by the element manager within a Executed by the element manager within a single elementsingle element
Interaction RulesInteraction Rules Controls interactions and coordination of Controls interactions and coordination of
autonomic elementsautonomic elements Element managers collaborate to provide Element managers collaborate to provide
coordinated execution coordinated execution
Autonomic Composition (1)Autonomic Composition (1)
Enables relationship between elements to Enables relationship between elements to be established and modified at runtimebe established and modified at runtime
Dynamic composition consists of Dynamic composition consists of composition plan and executioncomposition plan and execution
Plans created at runtimePlans created at runtime Based on dynamically defined objectives, policies Based on dynamically defined objectives, policies
and the context and content of applications and and the context and content of applications and systemssystems
Plan execution involvesPlan execution involves Discovering elements, configuring them and Discovering elements, configuring them and
defining interaction relationships and mechanismsdefining interaction relationships and mechanisms
Autonomic Composition (2)Autonomic Composition (2) Composition Plans Composition Plans
Generated using Accord Composition Engine (ACE)Generated using Accord Composition Engine (ACE) Expressed in XMLExpressed in XML
Element Discovery usesElement Discovery uses Meteor content-based MiddlewareMeteor content-based Middleware Squid Discovery ServiceSquid Discovery Service
Plan executionPlan execution P2P control network of element managers and P2P control network of element managers and
agents within Rudder agents within Rudder Library of rule setsLibrary of rule sets
Common control and communication relationships Common control and communication relationships between elementsbetween elements
Runtime Negotiation ProtocolsRuntime Negotiation Protocols Address runtime conflicts and conflicting decisionsAddress runtime conflicts and conflicting decisions
Accord Implementation Accord Implementation IssuesIssues
Accord allows interaction & coordination Accord allows interaction & coordination behaviors to be managed at runtime using behaviors to be managed at runtime using rulesrules
Deploying and executing rulesDeploying and executing rules Impacts performanceImpacts performance Increases robustness of applications; and Increases robustness of applications; and Ability to manage dynamismAbility to manage dynamism
Runtime changes to interaction and Runtime changes to interaction and coordination behaviors relatively coordination behaviors relatively infrequent and have small overheadsinfrequent and have small overheads
Time spent in establishing and modifying Time spent in establishing and modifying interactions is small as compared to interactions is small as compared to computation timescomputation times
References [35, 36]References [35, 36]
Rudder Coordination Rudder Coordination FrameworkFramework
Scalable coordination middlewareScalable coordination middleware Supports self managing applications in Supports self managing applications in
decentralized distributed environmentdecentralized distributed environment
Consists of two key componentsConsists of two key components COMETCOMET
Enables flexible and scalable coordination among Enables flexible and scalable coordination among agents and autonomic elementsagents and autonomic elements
Agent FrameworkAgent Framework Composed of software agents, agent interaction Composed of software agents, agent interaction
and negotiation protocolsand negotiation protocols
COMET (1)COMET (1)
Provides a global virtual shared Provides a global virtual shared coordination spacecoordination space
Accessible by all peer agents, independent of Accessible by all peer agents, independent of physical location of tuples or identifiers of the hostphysical location of tuples or identifiers of the host
Build on an associative messaging substrateBuild on an associative messaging substrate Implements a distributed hash tableImplements a distributed hash table Index space generated from semantic information Index space generated from semantic information
space (ontology)space (ontology) Can be transient and dynamically constructedCan be transient and dynamically constructed
Provides an associative communication Provides an associative communication abstractionabstraction
Maps virtual information space to a dynamic set of Maps virtual information space to a dynamic set of available peer nodesavailable peer nodes
Maintains content localityMaintains content locality
COMET (2)COMET (2)
Provides a coordination abstraction layerProvides a coordination abstraction layer Extends traditional data-driven model with event Extends traditional data-driven model with event
based reactivity to changes inbased reactivity to changes in System stateSystem state Data access operationsData access operations
Defines a Reactive tuple abstraction consisting ofDefines a Reactive tuple abstraction consisting of ConditionCondition that associates that associates ReactionReaction to events to events A A GuardGuard specifying how and when the specifying how and when the ReactionReaction will be will be
executedexecuted Provides Linda-like primitives Provides Linda-like primitives
http://en.wikipedia.org/wiki/Linda_(coordination_language)http://en.wikipedia.org/wiki/Linda_(coordination_language)
Agent Framework (1)Agent Framework (1)
Composed of Dynamic Network of Software Composed of Dynamic Network of Software Agents existing at different levelsAgents existing at different levels
Agents are Agents are Processing unitsProcessing units Perform actions based on dynamically defined rulesPerform actions based on dynamically defined rules
AgentsAgents Monitor element statesMonitor element states Manage element behaviors and dependenciesManage element behaviors and dependencies Coordinate element interactionsCoordinate element interactions Cooperate to manage overall system/application behaviorCooperate to manage overall system/application behavior
Agents use profiles toAgents use profiles to Identify and describe elementsIdentify and describe elements Interact with elementsInteract with elements Control elementsControl elements
Agent Framework (2)Agent Framework (2)
Defines a set of protocols forDefines a set of protocols for Agent coordination Agent coordination Application/system managementApplication/system management
Examples of protocols includeExamples of protocols include Discovery protocolsDiscovery protocols Control ProtocolsControl Protocols
Meteor: A content-based Meteor: A content-based MiddlewareMiddleware
Scalable content-based Middleware Scalable content-based Middleware infrastructureinfrastructure
Consists ofConsists of Self organizing content overlaySelf organizing content overlay Content based routing engine and discovery service Content based routing engine and discovery service
(Squid)(Squid) Associative Rendezvous Messaging Substrate Associative Rendezvous Messaging Substrate
(ARMS)(ARMS)
Meteor Content OverlayMeteor Content Overlay
Composed of Rendezvous Peer nodes Composed of Rendezvous Peer nodes (RP)(RP)
RP nodes can join or leave the network at anytimeRP nodes can join or leave the network at anytime
Provides a single operation Provides a single operation Lookup (identifier)Lookup (identifier)
Locates the peer node where the content should be Locates the peer node where the content should be stored or fetched stored or fetched
SquidSquid
Content based routing engine and Content based routing engine and decentralized discovery servicedecentralized discovery service
SupportsSupports Flexible content-based routing Flexible content-based routing Complex queries containing partial keywords, Complex queries containing partial keywords,
wildcards and rangeswildcards and ranges Keywords can be common words or globally defined Keywords can be common words or globally defined
attributes based on ontologies or taxonomiesattributes based on ontologies or taxonomies
Uses Hilbert Space Filling Curve (SFC)Uses Hilbert Space Filling Curve (SFC) Maps multidimensional information space to peer Maps multidimensional information space to peer
identifier spaceidentifier space
Associative Rendezvous Associative Rendezvous Messaging Substrate (ARMS)Messaging Substrate (ARMS)
Implements Associative Rendezvous (AR) Implements Associative Rendezvous (AR) interaction paradigminteraction paradigm
Content-based decoupled interactions with Content-based decoupled interactions with programmable reactive behaviorsprogrammable reactive behaviors
Allows for asynchronous interactions Allows for asynchronous interactions among senders and receiversamong senders and receivers
Extends conventional name/identifier Extends conventional name/identifier based rendezvous bybased rendezvous by
Using flexible combination of keywords, wildcards Using flexible combination of keywords, wildcards and ranges from the semantic information space and ranges from the semantic information space instead of identifiersinstead of identifiers
Enabling reactive behaviors at rendezvous points Enabling reactive behaviors at rendezvous points encapsulated within messages, thus increasing encapsulated within messages, thus increasing flexibility and enabling multiple interaction flexibility and enabling multiple interaction semantics (broadcast, multicast)semantics (broadcast, multicast)
Autonomic Grid Applications
Autonomic Oil Reservoir Autonomic Oil Reservoir Optimization (1)Optimization (1)
ProblemsProblems Selection of appropriate optimization algorithmsSelection of appropriate optimization algorithms Runtime configuration and invocation of these algorithmsRuntime configuration and invocation of these algorithms Dynamic optimization of reservoirDynamic optimization of reservoir
Autonomic application based on AutoMate consists of Autonomic application based on AutoMate consists of 1.1. Sophisticated reservoir simulation componentsSophisticated reservoir simulation components
Encapsulates complex mathematical models Encapsulates complex mathematical models Execution on GridExecution on Grid
2.2. Grid Services providing secure and coordinated access to Grid Services providing secure and coordinated access to resourcesresources
3.3. Distributed data archivesDistributed data archives Stores historical, experimental and observed dataStores historical, experimental and observed data
4.4. Sensors embedded in the instrumented oilfieldSensors embedded in the instrumented oilfield Provides real time data about the current state of oil fieldProvides real time data about the current state of oil field
5.5. External services providing data relevant to optimization of oil External services providing data relevant to optimization of oil production or the economic profitsproduction or the economic profits Optimization based on VFSA and SPSA algorithms Optimization based on VFSA and SPSA algorithms
6.6. Actions of scientists, engineers in field, labs and management Actions of scientists, engineers in field, labs and management officesoffices
Autonomic Oil Reservoir Autonomic Oil Reservoir Optimization (2)Optimization (2)
Peers automaticallyPeers automatically Detect sub-optimal production behaviors at runtimeDetect sub-optimal production behaviors at runtime Adjust interactions to correct sub-optimal productionAdjust interactions to correct sub-optimal production
Uses policies toUses policies to Discover, select, configure and invoke appropriate Discover, select, configure and invoke appropriate
optimization services to determine optimal well optimization services to determine optimal well location location
Autonomic Forest Fire Autonomic Forest Fire Management Simulation (1)Management Simulation (1)
Predicts the speed, direction and intensity of fire Predicts the speed, direction and intensity of fire frontfront
Uses dynamic environment and vegetation conditionsUses dynamic environment and vegetation conditions
Consists ofConsists of Data Space Manager (DSM)Data Space Manager (DSM)
Partitions the forest represented by 2D data space into sub spaces Partitions the forest represented by 2D data space into sub spaces based on information from CRMbased on information from CRM
Computational Resource Manager (CRM) Computational Resource Manager (CRM) Provides system resources information to DSMProvides system resources information to DSM
RothermelRothermel Simulates in parallel the fire spread in each sub spaceSimulates in parallel the fire spread in each sub space Uses current wind direction and intensity info simulated by Wind Uses current wind direction and intensity info simulated by Wind
ModelModel Wind ModelWind Model
Provides wind direction and intensity simulationsProvides wind direction and intensity simulations GUIGUI
Allows experts to interact with the above elementsAllows experts to interact with the above elements
Autonomic Forest Fire Autonomic Forest Fire Management Simulation (2)Management Simulation (2)
Implementation of Accord Port typesImplementation of Accord Port types
Autonomic Forest Fire Autonomic Forest Fire Management Simulation (3)Management Simulation (3)
Component Addition and Change in Interaction Relationship Example Component Addition and Change in Interaction Relationship Example
ConclusionConclusion
AutoMateAutoMate Implementation architecture and conceptual models Implementation architecture and conceptual models
that enable the development and execution of self-that enable the development and execution of self-managing Grid applicationsmanaging Grid applications
Agnostic Question 1Agnostic Question 1
How does AutoMate deal with the heterogeneity How does AutoMate deal with the heterogeneity among all the elements of a grid? How does AutoMate among all the elements of a grid? How does AutoMate integrate so many heterogeneous autonomic integrate so many heterogeneous autonomic components to work together?components to work together?
By separating the policy from mechanism. Policies in By separating the policy from mechanism. Policies in the form of rules are used to orchestrate a repertoire the form of rules are used to orchestrate a repertoire of mechanisms of mechanisms to achieve context-aware adaptive to achieve context-aware adaptive runtime computational behaviors and coordination runtime computational behaviors and coordination and interaction relationships based on functional, and interaction relationships based on functional, performance, and QoS requirements thus responding performance, and QoS requirements thus responding to heterogeneity and dynamics. Uses Dynamic to heterogeneity and dynamics. Uses Dynamic composition to enable relationships between elements composition to enable relationships between elements (via element managers) to be established and (via element managers) to be established and modified at runtimemodified at runtime
Agnostic Question 2Agnostic Question 2
Security and trust is one of the key issues in grid Security and trust is one of the key issues in grid environments, and the maintenance of users and environments, and the maintenance of users and permissions may become a bottleneck. Does permissions may become a bottleneck. Does AutoMate provide a specific autonomic solution AutoMate provide a specific autonomic solution for a self-maintenance of users and permissions for a self-maintenance of users and permissions across administrative boundaries?across administrative boundaries?
AutoMate does not explicitly provide a AutoMate does not explicitly provide a methodology for self maintenance of users and methodology for self maintenance of users and permissions across administrative boundaries. permissions across administrative boundaries. However, SESAME that is embedded into However, SESAME that is embedded into AutoMate allows for setting up security policies AutoMate allows for setting up security policies and permissions for avoiding fraud and intrusion. and permissions for avoiding fraud and intrusion.
Agnostic Question 3Agnostic Question 3
The Accord framework incorporates practical human The Accord framework incorporates practical human knowledge in the form of behavioral rules, but with knowledge in the form of behavioral rules, but with the vastness of communication paradigms (e.g., the vastness of communication paradigms (e.g., RPC, RMI, publish/subscribe), how does Accord RPC, RMI, publish/subscribe), how does Accord ensure the correctness of these rules?ensure the correctness of these rules?
““To ensure rule correctness, we design a rule To ensure rule correctness, we design a rule template for each communication paradigm (e.g., template for each communication paradigm (e.g., RPC/RMI, publish/subscribe) and coordination RPC/RMI, publish/subscribe) and coordination pattern (e.g., conditional branch, loop, sequence, pattern (e.g., conditional branch, loop, sequence, parallel execution). A rule template is instantiated parallel execution). A rule template is instantiated via filling in parameters, such as the names of via filling in parameters, such as the names of interaction parties and the exchanging data.” interaction parties and the exchanging data.” http://http://
www.caip.rutgers.edu/~marialiu/Projects/Accord/index.htmwww.caip.rutgers.edu/~marialiu/Projects/Accord/index.htm
Agnostic Question 4Agnostic Question 4
AutoMate utilizes a peer-to-peer middleware to AutoMate utilizes a peer-to-peer middleware to support and enable the autonomic interactions support and enable the autonomic interactions among components. Can you think of a better among components. Can you think of a better architecture to achieve this goal?architecture to achieve this goal?
In this scenario using peer-to-peer would be a In this scenario using peer-to-peer would be a better option as AutoMate is based upon better option as AutoMate is based upon autonomic agent based control networks. Element autonomic agent based control networks. Element managers execute rules to establish control and managers execute rules to establish control and communication relationships among these communication relationships among these elements in a decentralized and parallel manner.elements in a decentralized and parallel manner.
Agnostic Question 5Agnostic Question 5
Does Accord target a specific programming Does Accord target a specific programming language?language?
Nothing particular. However, the prototype Nothing particular. However, the prototype implementation was done using C++ and MPIimplementation was done using C++ and MPI
Agnostic Question 6Agnostic Question 6
Can you extend on how AutoMate lets Globus-Can you extend on how AutoMate lets Globus-enabled grids to achieve an autonomic enabled grids to achieve an autonomic management? What elements of the AutoMate management? What elements of the AutoMate architecture communicate with Globus architecture communicate with Globus elements?elements?
AutoMate makes use of its Accord autonomic AutoMate makes use of its Accord autonomic elements and rule set, the Rudder Agent elements and rule set, the Rudder Agent Framework and COMET to provide dynamic Framework and COMET to provide dynamic flexible and scaleable coordination among the flexible and scaleable coordination among the peer nodes along with the use of conflict peer nodes along with the use of conflict resolution and negotiation protocols. No specific resolution and negotiation protocols. No specific information mapping the components of information mapping the components of AutoMate to that of Globus has been provided.AutoMate to that of Globus has been provided.
Agnostic Question 7Agnostic Question 7
Are you aware of other projects with the same Are you aware of other projects with the same goals than AutoMate?goals than AutoMate?
Grid MP by United Devices Grid MP by United Devices http://www.ud.com/products/gridmp_fabs.phphttp://www.ud.com/products/gridmp_fabs.php
Optimal Grid Optimal Grid
http://www-128.ibm.com/developerworks/library/ghttp://www-128.ibm.com/developerworks/library/gr-opgrid/r-opgrid/
GridARM for Structured Adaptive Mesh GridARM for Structured Adaptive Mesh Refinement (SAMR) application Refinement (SAMR) application
OGSA to some extentOGSA to some extent
Agnostic Question 8Agnostic Question 8
On a previous presentation of the same authors, On a previous presentation of the same authors, we discussed that their so-called peer-to-peer we discussed that their so-called peer-to-peer architecture was in fact Client-Server. Do you architecture was in fact Client-Server. Do you think it is correct that they somewhat reuse this think it is correct that they somewhat reuse this architecture for the Meteor and COMET architecture for the Meteor and COMET components?components?
The previous presentation focused on PAWN The previous presentation focused on PAWN where as the authors made use of Meteor in the where as the authors made use of Meteor in the current framework. Meteor is based on JXTA which current framework. Meteor is based on JXTA which is a general purpose P2P framework. Hence, it is a general purpose P2P framework. Hence, it seems correct to use Meteor.seems correct to use Meteor.