SkySpark by SkyFoundry is a software suite designed to transform the data from smart devices into business solutions. SkySpark may be used to centralize how you manage and store all your smart device data including:
- real-time sensor data
- historical time-series data
- configuration and provisioning information
- business data that provides context for device data
Our unique tag oriented database lets you "tag" your data, making it easy to slice and dice for visualization and analytics.
Once you have your data in SkySpark, apply our visualization technology to present the information as web pages. SkySpark includes a rich library of widgets such as tables and charts. Building polished, professional looking web pages for your data is a snap.
The real secret to SkySpark's power is Axon - a simple, but powerful programming language designed to query and transform your data. Like SQL you can use Axon to perform basic queries against the tag database looking for data with specific tags or tag values. Unlike SQL, Axon allows you to perform sophisticated data transformations:
- transform raw data into summarized business information
- mine your data looking for specific patterns
- define business logic rules which run automatically in the background
- save away Axon functions to create reusable libraries for all your projects
SkySpark makes it easy to find the data that matters most to your business.
Architecture
SkySpark is composed of three different subsystems:
- Folio: is the tag database used to store, manage, and organize all your data
- Fresco: is the web framework designed to visualize your data
- Axon: is the programming language used to perform analytics on your data
The following diagram illustrates how the major subsystems fit together:

The SkySpark server is bundled with a web server and interacts with external subsystems using a simple HTTP REST API. External systems can treat SkySpark as just a normal database and push/pull information using the REST API. Fresco itself is run completely in the browser using HTML5 and JavaScript, it communicates with the server using the same REST API. SkySpark also includes a suite of drives to integrate with existing data sources using oBIX or a RDBMS.
Folio
Folio is a non-relational database in the mold of Document Oriented Databases. Data is structured using a three level hierarchy:
- Projects: are the top level of organization. A given SkySpark server may host multiple projects.
- Recs: each project contains a list of records
- Tags: each record contains a map of tags which are name/value pairs
Folio is a schema-less database. Projects are structured as a flat list of recs - no tables, schema, or tree structure is used. Instead records are organized strictly by a set of free-form tags. Here is a simple example of a rec which models a space temperature sensor:
id: 1316badd-623fd82d point spaceTemp val: 76.2 unit: "fahrenheit" room: "204"
The first thing to note is that all records have a special tag called
id which identifies the record using a UUID. This record has
the marker tags point and spaceTemp. Marker
tags don't have a value, but are used to make it easy to retrieve data. For
example this record will show up in any "point" or "spaceTemp" query.
The val and unit tags define the current
real-time value of the temperature sensor. We can also define arbitrary
meta-data tags such as room which might be useful for
visualization or analytics.
Tags may be formally defined or ad-hoc. Formal tags are defined
themselves as a record. SkySpark ships with a set of predefined
tag libraries. For example the std project provides
standard definitions for tags like spaceTemp. You can define
your own custom tag libraries for use in your own projects.
Fresco
Fresco is a visualization framework built using the Fantom Widget Toolkit. It runs in a web browser as a set of HTML, CSS, and JavaScript components. It leverages HTML5 features like the Canvas to implement charting and other graphical visualizations.
You can build your own custom Fresco pages using our widget library. But in many cases web pages can be automatically generated by how you have tagged your data in Folio. For example data tagged with the "geoLon" and "geoLat" tags is automatically visualized with a map.
Because Fresco is built with standard web technology, it is easy to integrate into existing web sites as part of your solution. Or in some cases Fresco may only be used to administer the SkySpark server, and an existing web site might simply make calls to SkySpark as just a specialized database.
Axon
Axon is a programming language designed specifically to query the Folio tag database and create data transformations which can be used for business logic rules or data mining. Axon is a dynamically typed, functional language with an extremely simple syntax structure.
Here are some basic examples which provide a feel for the language:
// query all records with the spaceTemp tag readAll(spaceTemp) // shortcut for above spaceTemp // query all the spaceTemp points, and get historical data for last 7 days readAll(spaceTemp).hisQuery(pastWeek) // rollup on spaceTemp to get daily max value for last 30 days readAll(spaceTemp).hisQuery(pastMonth).hisRollup(max, 1day)
Axon makes it a piece of cake to string together functions much like the Unix pipe operator. You can use these pipes to perform sophisticated data transformations such as creating baselines for electrical consumption against energy usage, weather patterns, and equipment in a given facility.
You can save your functions away as records in a Folio project to build up libraries of reusable functions. Functions which perform business logic can be scheduled to run periodically such as every night. Or you can configure your functions to trigger off a real-time event such as a tag value change.
Demo
SkySpark by SkyFoundry is a software suite which turns data from the Internet of Things into business solutions. To summarize how it works:
- pump real-time data into Folio with oBIX or the REST API
- upload historical time-series data using oBIX, CSV, etc
- define semantics for your data by tagging it
- once it is in Folio it is automatically visualized with Fresco
- write Axon functions to mine the data and create business logic rules to find what you care about
- create reusable function libraries to apply your business logic across all your projects quickly and easily
If you would like learn more about SkySpark and schedule an online demonstration please contact us!


