Skip to content
bmpotter edited this page May 15, 2017 · 44 revisions

Horizon - Anax

Horizon enables a "Programmable Edge" for Analytics and Cognitive Applications. See http://bluehorizon.network/ for more information. Anax is the core component of horizon, running on each system participating in horizon. This wiki page provides information about using specific aspects of anax.

APIs

Anax can run in 2 modes, or both at the same time, and there is an API for each:

Agreements

Analytic/cognitive applications are sent to edge devices as a result of an agreement made between a data producer (normally an edge device) and a data consumer (normally an author of an analytic/cognitive application that is "served" by an agbot). Here is some information about the agreement process:

Managed Workloads

Horizon manages the lifecycle, connectivity, and resource caps of analytic/cognitive applications (workloads) it launches on edge devices. Some details:

Overriding the Edge Device ID

The device id is the unique identifier of the edge device that is normally generated automatically by horizon (from, for example, the machine serial number). There are a few specific circumstances in which is it useful for the edge device owner to be able to override the generation of the device id:

Importing/Exporting Ethereum Credentials

Ethereum is the default blockchain used by horizon to record agreements between producers (edge devices) and consumers (agreement bots/workload authors). By default a new set of ethereum credentials is automatically created for each edge device. But if currency will ultimately be exchanged for data produced (via horizon metering - see next section), it can be useful for a data producer to use the same ethereum credentials on all of the edge devices he/she owns. This can be accomplished by letting horizon create the ethereum credentials on your first edge device and then export/import them to all of your other edge devices:

Metering Records for Agreements

Metering records for agreements can be generated by horizon to record (ultimately on the blockchain) the amount/value of data a producer has given to a consumer. This can be used for value or currency exchange between the consumer and producer. The steps required to generate and read metering records are:

  1. Specify that metering records should be generated as part of the agreement, either in the edge device registration, the agbot policy file, or both. (Is there a link describing how to do this?)
  2. Use the Edge Device API or the Agreement Bot API to find the agreement id that you want the metering records for.
  3. Follow the instructions in Reading Metering Records from the Blockchain (this document will probably change location and format)
Clone this wiki locally