Assimilator Introduction

Just a quick introduction to the Assimilator project that I have been working on. I will discuss it to some extent here as the project develops. Assimilator is and open source project hosted at SourceForge. It represents the next step in evolutionary development of distributed computing. It provides a platform for distributed application development which includes key capabilities required to execute distributed applications. Application development using this platform does not require development of handling the difficult aspects of distributed computing. The platform enables applications to be built as a collection of services that can be executed on a network where resources are available and may dynamically change. Service lookup and discovery, distributed events and transactions, service provisioning and deployment, and service management are all provided by the platform.

The open source environment allows free usage of the platform and encourages feedback from users on how to enhance features, extend capabilities and eradicate defects. Open source allows greater distribution of the platform hopefully leading to wider adoption of its use. Custom applications built with the platform will demonstrate platform capabilities and provide a means for individuals and organizations to generate revenue.

The primary goals of the project include:

  • Develop a distributed computing platform capable of dynamically managing and monitoring services in a network.
  • Develop the platform in and for the open source community to drive adoption of its use.
  • Develop the platform with the intent that it can be used for easy development of distributed applications.

Network includes running across the internet and on any device connected to it. The current version executes in WANs and work is underway to get it working across the internet. At which point it becomes feasible to start building social network applications and gaming environments that utilize available resources across peered devices.

NEPOMUK

NEPOMUK or Networked Environment for Personal Ontology-based Management of unified Knowledge is a project I ran across that appears to have similar goals as I have for building self organizing community of information from the perspective of the individual and their devices (or tools).  In particular it’s goals include:

  • supporting the knowledge life cycle, including articulation, organization, sharing and exchange of information;
  • the management of all relevant desired  information through linking, browsing and tagging;
  • knowledge communication across distribute social networked communities with capabilities for distributed search, storage and massive scaling.

It is an open source framework that can accommodate plug-in capabilities for contributions for those who wish to develop this kind of social networking capabilities. I have similar goals for Assimilator  which is a  platform for managing distributed services; services that can migrate, work in groups with dependencies and can be used to build knowledge management tools for social networks.

Achieving the goal of allowing individuals to manage their own information in their own context using their own personal tools will require a lightweight framework that accommodates and manages services or small components which collaborate in a dynamically changing environment  distributed across the internet. I believe NEPOMUK is on the right track. I hope I am as well.

A Different Social Networking Paradigm

Wouldn’t it be nice if you had control of all your social networking information in one location? Forget about keeping track of how many social network sites you have signed up with. Stop trying to remember which friends are using which networking site. Ignore having to cross link and make duplicate uploads. Wouldn’t it be nice to just consolidate all the information you want to share into topics and groupings the way you want to present it and only have to maintain it in one place?

It could be a location on your own personal laptop or one location hosted by your favorite ISP. It would be your collection of information, relevant to you, organized according to your preferences. Everyone already does this with their belongings. Why should I have to place my things someplace outside of my control just to share them, when I can define a link to the definitive resource?

Having your belongings scattered about across many websites is cumbersome and difficult to maintain. It’s much easier to have it generally located in the same place. I have all my stuff where I want it, you have yours where you want it.

Now I can share some of my stuff. I share only what I want to. The rest is private. Essentially each individual defines links to the information they want to share with others. Each individual presents a point of view of who they are. Nothing new here, we all do this in real life already. But remember I’m talking about information on my laptop.

Next, friends share information with each other about where their stuff is accessible. It would be a portal to their information. Now friends can see the presentation of other friends. They can see each others point of view or perspective. Each persons collection of information is still controlled locally but accessible between each other.

There will likely be common interests between friends. They could start a topic of interest. A set of information of similar interest. Essentially it is a collection of links back to the original information. Friends discover there is information about others being shared. Those friends can establish a group. They share similar interests, similar topics of interest.

So now individuals share their point of view, create topics of interest which others can contribute to and they can create, join or leave groups. Others may discover topics of interest and subsequently join groups base on similar interest. This starts to sound more like a real social network which individuals create from their perspective all from there own location, not across many different web sites. There are no accounts, no sign-up, no limitation on how information should be place, categorized or presented.

The concept of groupings can then be extended collections of groups. These would be communities. Groups would join and leave communities. Individuals would come and go as desired from the groups. It is very dynamic. The thing that always remains is the presentation of an individuals point of view and all the corresponding information that belongs to it.

All the information comes from individuals just as all the information on the internet today is posted audio, video, photos, text, etc. It is shared and discovered across peers rather than on web sites much like P2P sharing, but sharing links rather than files. Information will be tagged in multiple ways depending on its context and meaning. Hierarchical referencing should make it possible to access information of interest from multiple different points of view rather than from one perspective. Redundancy of information with multiple links of access discoverable across a distributed network approaches the mechanism required for universal memory. There are multiple entry points and multiple pathways to get to any bit of information.