Shark Framework

from Wikipedia, the free encyclopedia
Shark Framework
Basic data

Current  version 2.13.1
( May 26, 2015 )
programming language Java
category Peer-to-Peer Free Software
License LGPL
sharksystem.net

Shark Framework , abbreviation SharkFW , is a Java framework for building semantic P2P applications. In contrast to systems such as JXTA, BitTorrent etc. Shark is in ISO Layer 7. Programming with Shark is more comparable to programming servlets. In fact, Shark has a lot in common with web programming, but the main difference is that there are no servers.

The name Shark originated as an acronym for "Shared Knowledge". The P2P concept is based on a small algebra, the framework is the implementation of the concept. SharkFW was developed for the development of server-free Web 2.0 applications, especially social applications. SharkNet is the first application developed based on the framework. The project is open source and free of charge.

General concepts

Shark is a pure P2P system. Each peer manages its own data and communicates with other peers as it wishes. This is how it differs from other P2P systems. There is no transparency of distribution and peers are autonomous: If a peer asks a question to another peer, the peer has freedom of choice of action. The request can be ignored. The peer can respond with its own request, but it can also send data. The peer himself decides which data this is. Peers can continue to send requests, but they don't have to. Thus, the same query usually leads to different results for different peers. The inquiries are usually not forwarded.

The communication between Shark Peers takes place with a proprietary communication protocol: Knowledge Exchange Protocol (KEP) . The protocol has two functional primitives: one method sends an interest, another sends knowledge .

interest

An interest describes the willingness to exchange information. The interest has seven facets: It describes the topic on which the peer might be sharing. It describes the peer itself, the other peers with which it will like to talk and at what place and at what time shall come to such an exchange. It also describes the direction of exchange, i.e. H. whether the peer wants to receive or send information. Finally, it can be described which peer should have initially assigned the information to the topic. This facet is called the originator .

A peer Alice could formulate the wish to exchange ideas with Bob on the subject of Java , in the form that she offers him a few documents that she has found or written herself. Communication comes about when another peer, Bob in this case, formulates a suitable interest, e.g. B. could say that Bob is interested in anything that comes from Alice.

The individual facets in Shark are defined with semantic tags. This is an extension of tags in the form that any number of URLs can be added to them. These URLs correspond to the topic map concept of the Subject Identifier (SI) from the ISO standard 13250 topic maps . The SI describe the meaning, the semantics, the tags.

Shark allows the construction of concept systems, i. H. the construction of semantic networks . In this way, agreements of interests can be found if the terms are only similar but not the same.

Technically speaking, the interests represent a seven-dimensional space, with each dimension being explained by its own ontology. This ontology is the semantic network consisting of the semantic tags. These relationships are largely kept hidden from the developers at Shark.

The correspondence of interests can be determined by the contextualization algorithm . One interest is chosen as the context and the other as the source . It is now checked whether and which semantic tags the source contains, which also has the context. This method uses an interest (context) as a mask and only reveals the source's concepts that match it. The algorithm is similar to breadth-first search and can be further parameterized.

Knowledge

SharkFW works in the same way as web server: Any data can be exchanged between peers. They remain completely uninterpreted. However, data is always provided with metadata. These are again the seven facets that have already been described above. With each exchange, the context is provided as to why this data is being sent, i.e. who is sending it to whom, where, etc.

Platforms and state of development

SharkFW is written in Java and works on all common stationary operating systems that support Java and on Android. SharkFW is a free, non-commercial project and is in beta.

Web links

Individual evidence

  1. www.sharksystem.net . May 26, 2015 (accessed February 1, 2016).