A great thing about blogging is you get ideas pointed out to you in your comments section. Two readers pointed out some interesting cooperative agent programming infrastructures I was not aware of before:
Cybele: "...CybelePro provides its users with a robust high-performance infrastructure for rapid development and deployment of large-scale, high performance agent-based systems." There is an open-source version: "OpenCybele adopts a service-layered architecture promoting plug-n-play capability of agent services, such as error handling, thread-management, event handling, communication, timer, and migration. The agent services are categorized into three types of layers–-basic, fundamental, and supplemental--based on their relevance to a typical agent runtime environment."
Then there's new Microsoft technologies called Concurrency and Coordination Runtime, and Decentralized Software Services (PDF): "Imagine an application model composed of ubiquitous state-driven services. Each service has a little bulletin board of richly-typed key/value pairs and can trigger events whenever a value is changed. Services can be instantiated anywhere where there is a lightweight service host (such as a PC, microprocessor, browser, or smartphone) and can register themselves as visible to other services, either by kind or identity. Services easily detect, address, and send messages to each other, requesting changes to each other’s state values and registering for another’s change notifications. Running services can migrate from machine to machine. Service state is completely versioned and serializable and can be backed up, restored, and rolled forward and back in time."
The Internet Communications Engine (ICE): "The Internet Communications Engine (Ice) is a modern alternative to object middleware such as CORBA™ or COM/DCOM/COM+, with support for C++, C#, Java, Python, Ruby, PHP, and Visual Basic. Ice is easy to learn, yet provides a powerful network infrastructure for demanding technical applications. Ice shines where technologies such as SOAP or XML-RPC are too slow, or do not provide sufficient scalability or security."
Cougaar: "Cougaar is an open-source, Java-based architecture that supports distributed, agent-based applications."
Update: More ideas from Marc Jacobs:
PeerChannel: "the term PeerChannel is commonly used to refer to the P2P capabilities of Windows Communication Foundation. Regardless of the way you refer to it, the PeerChannel in Windows Communication Foundation hides virtually all of the complexity traditionally associated with developing a P2P application and is, in my view, a game changer in the P2P application development arena.
The PeerChannel Mesh The PeerChannel mesh is designed for message flooding. However, PeerChannel contains mechanisms that can propagate a message to part of the mesh, rather than to the entire mesh. For this reason, it is more accurate to say that a PeerChannel mesh is designed for multiparty messaging."
Digipede: "The Digipede Network™ is a distributed computing solution that delivers dramatically improved performance for real-world business applications. Built entirely on the .Microsoft NET platform, it is radically easier to buy, install, learn, and use than other solutions.
The Digipede Network allows you to combine the power of your Microsoft Windows desktops and servers to improve the scalability and speed of your most compute-intensive, transaction-intensive, and data-intensive applications. This powerful software tool parcels out your most complex computing jobs across your network, dynamically allocating the computing power of both dedicated and idle resources."
Update II:
Alchemi: "Alchemi is an open source software framework that allows you to painlessly aggregate the computing power of networked machines into a virtual supercomputer (desktop grid) and to develop applications to run on the grid.
It has been designed with the primary goal of being easy to use without sacrificing power and flexibility.
Alchemi includes:
- The runtime machinery (Windows executables) to construct computational grids.
- A .NET API and tools to develop .NET grid applications and grid-enable legacy applications."
Comments