fbpx
Wikipedia

SmartFrog

SmartFrog (Smart Framework for Object Groups) is a Java based open-source framework for helping host large-scale applications across component-based distributed system. It is proposed to make the design, configuration, deployment and management of distributed systems easier, correct and automatic. SmartFrog mainly consists of three aspects: SmartFrog Language, a runtime system, and a library of SmartFrog components that implement the SmartFrog component model.[1]

SmartFrog
Developer(s)HP Labs in Bristol, England
Initial releaseJanuary 24, 2004; 19 years ago (2004-01-24)
Stable release
3.18.016 / March 13, 2012; 10 years ago (2012-03-13)
Repositorysourceforge.net/projects/smartfrog/
Written in Java
PlatformLinux, Microsoft Windows XP SP2, Microsoft Windows Vista, HP-UX, Mac OS/X
TypeConfiguration management, Framework
LicenseApache License 2.0
Websitewww.smartfrog.org

History

SmartFrog was originally developed in Hewlett-Packard's European Research Labs. It has been used in HP research on infrastructure automation and service automation as well as in a variety of HP products.[2] SmartFrog became open to public in January 2004 under GNU Lesser General Public License (LGPL) licence hosted on SourceForge. As a result, users and developers outside the lab can also make their contributions by using, extending the framework or reporting bugs.[3] In 2017, following Hewlett-Packard's corporate split into HP Inc. and Hewlett Packard Enterprise, whilst under Hewlett Packard Enterprise's ownership, SmartFrog was relicensed under the Apache License 2.0.[4]

Technologies

SmartFrog Language

SmartFrog Language is a configuration description language used for describing component collections and system configurations, such as which software components belong to the system, what the configuration parameters are, how the components are bound to other components in the system, and in what sequence the components work.

Component model

In SmartFrog, component is the most important and basic part. A system is considered to be a collection of applications, each of which are composed by a collection of components. Every component is written in a SmartFrog file in Java, which represents the existence and default attributes of components.

Runtime system

The runtime system interprets the descriptions written in SmartFrog Language and manages the components based on the interpretation results. It also provides users with tools to interact with components.

Features

As a framework

Instead of a package or library, SmartFrog is a framework, a building block to help build software systems. SmartFrog can be extended by adding new components into the framework, which means it has much wider applicability and could acquire new functionality.[5]

Template mechanism

In SmartFrog, every component is defined as a template. Typically for every new service, new components are created and activated. However, some general purpose components can be reused in different service. For the template mechanism, system configuration is easy to adapt to different requirements and the default configuration can be kept. Prototyping also allows keeping all the transformation and history of configurations of the system. Using SmartFrog to build large-scale distributed system, one can reuse some components and does not need to completely rewrite the whole application. Users can easily write or create simple SmartFrog components to install, uninstall, configure, start, and stop the system using the configuration description notation.[5]

Cross-client model

There are many software system similar to SmartFrog, but few of them uses the same model as what is used in SmartFrog. The largest category of systems is based on client-server model, where the configuration data for all clients are held in a server and each client is designed to match the configuration data stored in the server. However, in SmartFrog, cross-client model is used so that each client is treated as an independent entity. This provides SmartFrog with the ability to coordinate across large range of nodes, carry out autonomic actions and result in higher scalability.[6]

Security

SmartFrog has two running modes: secure and insecure.[7] In insecure mode, there is no restriction on client connection to SmartFrog, and the plain-text communication can be eavesdropped and intercepted. In this mode, the system is vulnerable to malign attacks.

SmartFrog needs to protect against malign deployment or other management action. In secure mode, SmartFrog uses public key infrastructure (PKI) system. Only clients that are certificated by specified certificate authority (CA) can connect to the SmartFrog Daemon. In addition, SmartFrog signs all components and descriptions with a certificate and only the signed ones can be deployed. Communications are encrypted using Transport Layer Security (TLS) protocols.[8]

Related projects

The GridWeaver Project

The GridWeaver project started at 2002 and lasted a year. The project collaborators were the School of Informatics of Edinburgh University, HP Laboratories, and Edinburgh Parallel Computing Centre (EPCC).This project was aimed to find solutions to the problems of automating the configuration and management of the next generation of Grid computing fabrics.[9]

The project compared SmartFrog and Local ConFiGuration system (LCFG) in terms of strengths and weaknesses, as well as investigating how these tools are utilized to solve problems.

SFJS

SFJS is a configuration language, runtime and component library developed by Configured Things, a company co-founded by Patrick Goldsack, one of the SmartFrog project's lead authors. SFJS is a spiritual successor to SmartFrog, built on Node.js.[5][10]

See also

References

  1. ^ Goldsack, Patrick; Guijarro, Julio; Lain, Antonio; Mecheneau, Guillaume; Murray, Paul; Toft, Peter (2003). "SmartFrog: Configuration and Automatic Ignition of Distributed Applications": 1–9. CiteSeerX 10.1.1.187.8478. {{cite journal}}: Cite journal requires |journal= (help)
  2. ^ "SourceForge project page".
  3. ^ . Archived from the original on 2019-02-20.
  4. ^ "SmartFrog / SVN / Commit [r8898]". Sourceforge. 2017-05-16.
  5. ^ a b c "SmartFrog official website". smartfrog.org.
  6. ^ Goldsack, Patrick; Guijarro, Julio; Loughran, Steve; Coles, Alistair; Farrell, Andrew; Lain, Antonio; Murray, Paul; Toft, Peter (2009). "The Smart Frog configuration management framework". ACM SIGOPS Operating Systems Review. 43: 16–25. doi:10.1145/1496909.1496915. S2CID 11693395.
  7. ^ . Archived from the original on 2015-03-28.
  8. ^ . Archived from the original on 2019-02-20.
  9. ^ . Archived from the original on 2016-09-23.
  10. ^ "The SmartFrog Project". Configured Things. Retrieved 25 April 2022.

External links

  • Official Website
  • at the Wayback Machine (archived February 20, 2019)
  • Project pages on SourceForge
  • Referenced by a Google Usenix Paper.

smartfrog, smart, framework, object, groups, java, based, open, source, framework, helping, host, large, scale, applications, across, component, based, distributed, system, proposed, make, design, configuration, deployment, management, distributed, systems, ea. SmartFrog Smart Framework for Object Groups is a Java based open source framework for helping host large scale applications across component based distributed system It is proposed to make the design configuration deployment and management of distributed systems easier correct and automatic SmartFrog mainly consists of three aspects SmartFrog Language a runtime system and a library of SmartFrog components that implement the SmartFrog component model 1 SmartFrogDeveloper s HP Labs in Bristol EnglandInitial releaseJanuary 24 2004 19 years ago 2004 01 24 Stable release3 18 016 March 13 2012 10 years ago 2012 03 13 Repositorysourceforge wbr net wbr projects wbr smartfrog wbr Written inJavaPlatformLinux Microsoft Windows XP SP2 Microsoft Windows Vista HP UX Mac OS XTypeConfiguration management FrameworkLicenseApache License 2 0Websitewww wbr smartfrog wbr orgContents 1 History 2 Technologies 2 1 SmartFrog Language 2 2 Component model 2 3 Runtime system 3 Features 3 1 As a framework 3 2 Template mechanism 3 3 Cross client model 4 Security 5 Related projects 5 1 The GridWeaver Project 5 2 SFJS 6 See also 7 References 8 External linksHistory EditSmartFrog was originally developed in Hewlett Packard s European Research Labs It has been used in HP research on infrastructure automation and service automation as well as in a variety of HP products 2 SmartFrog became open to public in January 2004 under GNU Lesser General Public License LGPL licence hosted on SourceForge As a result users and developers outside the lab can also make their contributions by using extending the framework or reporting bugs 3 In 2017 following Hewlett Packard s corporate split into HP Inc and Hewlett Packard Enterprise whilst under Hewlett Packard Enterprise s ownership SmartFrog was relicensed under the Apache License 2 0 4 Technologies EditSmartFrog Language Edit SmartFrog Language is a configuration description language used for describing component collections and system configurations such as which software components belong to the system what the configuration parameters are how the components are bound to other components in the system and in what sequence the components work Component model Edit In SmartFrog component is the most important and basic part A system is considered to be a collection of applications each of which are composed by a collection of components Every component is written in a SmartFrog file in Java which represents the existence and default attributes of components Runtime system Edit The runtime system interprets the descriptions written in SmartFrog Language and manages the components based on the interpretation results It also provides users with tools to interact with components Features EditAs a framework Edit Instead of a package or library SmartFrog is a framework a building block to help build software systems SmartFrog can be extended by adding new components into the framework which means it has much wider applicability and could acquire new functionality 5 Template mechanism Edit In SmartFrog every component is defined as a template Typically for every new service new components are created and activated However some general purpose components can be reused in different service For the template mechanism system configuration is easy to adapt to different requirements and the default configuration can be kept Prototyping also allows keeping all the transformation and history of configurations of the system Using SmartFrog to build large scale distributed system one can reuse some components and does not need to completely rewrite the whole application Users can easily write or create simple SmartFrog components to install uninstall configure start and stop the system using the configuration description notation 5 Cross client model Edit There are many software system similar to SmartFrog but few of them uses the same model as what is used in SmartFrog The largest category of systems is based on client server model where the configuration data for all clients are held in a server and each client is designed to match the configuration data stored in the server However in SmartFrog cross client model is used so that each client is treated as an independent entity This provides SmartFrog with the ability to coordinate across large range of nodes carry out autonomic actions and result in higher scalability 6 Security EditSmartFrog has two running modes secure and insecure 7 In insecure mode there is no restriction on client connection to SmartFrog and the plain text communication can be eavesdropped and intercepted In this mode the system is vulnerable to malign attacks SmartFrog needs to protect against malign deployment or other management action In secure mode SmartFrog uses public key infrastructure PKI system Only clients that are certificated by specified certificate authority CA can connect to the SmartFrog Daemon In addition SmartFrog signs all components and descriptions with a certificate and only the signed ones can be deployed Communications are encrypted using Transport Layer Security TLS protocols 8 Related projects EditThe GridWeaver Project Edit The GridWeaver project started at 2002 and lasted a year The project collaborators were the School of Informatics of Edinburgh University HP Laboratories and Edinburgh Parallel Computing Centre EPCC This project was aimed to find solutions to the problems of automating the configuration and management of the next generation of Grid computing fabrics 9 The project compared SmartFrog and Local ConFiGuration system LCFG in terms of strengths and weaknesses as well as investigating how these tools are utilized to solve problems SFJS Edit SFJS is a configuration language runtime and component library developed by Configured Things a company co founded by Patrick Goldsack one of the SmartFrog project s lead authors SFJS is a spiritual successor to SmartFrog built on Node js 5 10 See also EditComparison of open source configuration management software LCFG an established configuration framework for managing large numbers of systemsReferences Edit Goldsack Patrick Guijarro Julio Lain Antonio Mecheneau Guillaume Murray Paul Toft Peter 2003 SmartFrog Configuration and Automatic Ignition of Distributed Applications 1 9 CiteSeerX 10 1 1 187 8478 a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help SourceForge project page HP Labs SmartFrog project page Archived from the original on 2019 02 20 SmartFrog SVN Commit r8898 Sourceforge 2017 05 16 a b c SmartFrog official website smartfrog org Goldsack Patrick Guijarro Julio Loughran Steve Coles Alistair Farrell Andrew Lain Antonio Murray Paul Toft Peter 2009 The Smart Frog configuration management framework ACM SIGOPS Operating Systems Review 43 16 25 doi 10 1145 1496909 1496915 S2CID 11693395 SmartFrog security Archived from the original on 2015 03 28 SmartFrog User Manual Archived from the original on 2019 02 20 GridWeaver Project Archived from the original on 2016 09 23 The SmartFrog Project Configured Things Retrieved 25 April 2022 External links EditOfficial Website HP Labs SmartFrog project Website at the Wayback Machine archived February 20 2019 Project pages on SourceForge Referenced by a Google Usenix Paper Retrieved from https en wikipedia org w index php title SmartFrog amp oldid 1096459162, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.