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 Distributed Computing Platform|
|Cosm File System||Cosm ID||Cosm Network||Cosm Compute|
|Cosm Utility Layer|
|Cosm CPU/OS Layer|
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.
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.
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 is the identity and authentication part of Cosm. Providing both a global and local identity domains, allowing for universal logon and persistent identity.
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 (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.
© Mithral Inc.
All Rights Reserved.
Mithral® and Cosm® are trademarks of Mithral Inc.