[Cosm Logo]
The Cosm Project

Cosm is a set of open protocols and applications designed to allow computers all over the world to work together for distributed computing, GRID, sensornet, or Cloud applications. The projects and applications may be scientific, educational, or commercial. Cosm also provides the libraries, APIs, and standards that are required to make open applications easy to develop for every type of computing device.

The Cosm CPU/OS and Utility layers, along with the CS-SDK have had many contributors over the years. A list of contributors is in the credits file in the code downloads. For press coverage of Cosm, visit the press page.

Cosm Software Stack
Cosm
CS-SDK
Cosm Distributed Computing Platform
Cosm File SystemCosm ID Cosm NetworkCosm Compute
Cosm Utility Layer
Cosm CPU/OS Layer
Host Computer

Cosm CPU/OS Layer

The lowest level of the Cosm stack, the CPU/OS layer abstracts away the differences in host Operating System and CPU to allow for completely cross-platform development. Abstracts file, I/O, memory, networking, process, threading, and synchronization functions.
- CPU/OS layer documentation.

Cosm Utility Layer

The Utility Layer contains code libraries for HTTP and HTTPD servers, encryption, compression, time, configuration, buffering, transform filters, and other common functionality.
- Utility layer documentation.

Cosm CS-SDK

The Cosm Client-Server Software Development Kit (CS-SDK) launched in 1999 is for quickly developing applications where clients coordinate with a central server to accomplish a shared task. The CS-SDK is setup for a simple counting task, but any computation is easy to drop in. Examples of uses include distributed computing, map/reduce tasks, rendering, biocomputation, messaging hubs, and Folding@home which was initially developed with the CS-SDK.
- CS-SDK user projects.
- more information.

Cosm CS-SDK2

The Cosm Client-Server Software Development Kit 2 (CS-SDK2) developed in 2009 is for applications where clients coordinate with a central server to collect, log, and display data. Commands can also be sent to the clients when needed, and the data collection engine can be remotely updated for devices that cannot be retrieved from the field for maintenance. Examples of uses include weather data collection, computer monitoring, research sensor networks, and home automation.
The Cosm CS-SDK2 is currently in the source tree in /cosm/apps/cs-sdk2/
Both CS-SDKs will be merged into a common codebase in the future.

~~~

Cosm File System

The Cosm File System (Cosm FS) is a fully distributed file system designed to store encrypted data in a redundant and globally accessible way. It also serves as a backbone for live or on demand content distribution.

Cosm ID

Cosm ID is the identity and authentication part of Cosm. Providing both a global and local identity domains, allowing for universal logon and persistent identity.

Cosm Network

The Cosm Network system allows for hosts to be on the Internet, instead of just having access to the Internet - a subtile but significant distinction. It uses entity based addressing, and employs end system multicast, and store & forward messaging.

Cosm Compute

Cosm Compute (CosmJob) is the process management system, completing the Cosm Distributed Computing Platform. Run processes locally or remotely, queue them up for execution at a cloud provider, and migrate processes between devices.

Cosm Distributed Computing Platform

The Cosm Distributed Computing Platform combines all parts of Cosm to form a complete distributed computing platform for Cloud and GRID computing.

~~~

What can Cosm help you do?

For the Developer: Developers can use the Cosm CPU/OS and Utility layer libraries to allow their applications to run on a large number of platforms. These libraries abstract all kernel functions as well as things like files, networking, time, compression, and more.

For the Researcher: Researchers with the CS-SDK can recruit volunteers and gather huge pools of computing resources to run their projects on. Studies can be done in a fraction of the time, theories can be proven or disproved, and since it takes hours instead of weeks, the next big development is that much closer. Cosm and the APIs will handle all the issues of distributed computing, and the researcher can focus fully on the science.

For the Business: A business gets the same advantages as everyone else, plus some of the tools like the distributed file system are very useful for operations. Businesses can also use the global pool provided they are willing to play well with others and share the results.

How can you get involved?

As an open and evolving project, there is always lots of work to do. Coding, documenting, translating, testing, legal work, interface design, database coding, and graphic design. You can check the To Do List for some pending tasks.

For those using Cosm, you can also grab a Cosm logo and put it on your web page with a link to our site.

Although we are far from when Cosm was first starting out, an introduction, brief history and a FAQ are available, along with some older project news.


© Mithral Inc. 1995-2014. All Rights Reserved.
Mithral® and Cosm® are trademarks of Mithral Inc.