The Principles of Large-Scale Computing Machines
IEEE Annals of the History of Computing
The IBM 701 Speedcoding System
Journal of the ACM (JACM)
Adapting publish/subscribe middleware to achieve Gnutella-like functionality
Proceedings of the 2001 ACM symposium on Applied computing
Design and evaluation of a wide-area event notification service
ACM Transactions on Computer Systems (TOCS)
The many faces of publish/subscribe
ACM Computing Surveys (CSUR)
An Efficient Multicast Protocol for Content-Based Publish-Subscribe Systems
ICDCS '99 Proceedings of the 19th IEEE International Conference on Distributed Computing Systems
Trust and Reputation Model in Peer-to-Peer Networks
P2P '03 Proceedings of the 3rd International Conference on Peer-to-Peer Computing
Canon in G Major: Designing DHTs with Hierarchical Structure
ICDCS '04 Proceedings of the 24th International Conference on Distributed Computing Systems (ICDCS'04)
XNET: A Reliable Content-Based Publish/Subscribe System
SRDS '04 Proceedings of the 23rd IEEE International Symposium on Reliable Distributed Systems
BATON: a balanced tree structure for peer-to-peer networks
VLDB '05 Proceedings of the 31st international conference on Very large data bases
Arigatoni: A Simple Programmable Overlay Network
JVA '06 Proceedings of the IEEE John Vincent Atanasoff 2006 International Symposium on Modern Computing
Virtual Organizations in Arigatoni
Electronic Notes in Theoretical Computer Science (ENTCS)
Weaving Arigatoni with a Graph Topology
ADVCOMP '07 Proceedings of the International Conference on Advanced Engineering Computing and Applications in Sciences
Improving resource discovery in the Arigatoni overlay network
ARCS'07 Proceedings of the 20th international conference on Architecture of computing systems
An overlay architecture for vehicular networks
NETWORKING'08 Proceedings of the 7th international IFIP-TC6 networking conference on AdHoc and sensor networks, wireless networks, next generation internet
Hi-index | 0.00 |
We propose and discuss foundations for programmable overlay networks and overlay computing systems. Such overlays are built over a large number of distributed computational individuals, virtually organized in colonies, and ruled by a leader (broker) who is elected or imposed by system administrators. Every individual asks the broker to log in the colony by declaring the resources that can be offered (with variable guarantees). Once logged in, an individual can ask the broker for other resources. Colonies can recursively be considered as evolved individuals who can log in an outermost colony governed by another (super)-broker. Communications and routing intra-colonies goes through a broker-2-broker PKI-based negotiation. Every broker routes intra- and inter- service requests by filtering its resource routing table, and then by forwarding the request first inside its colony, and second outside, via the proper super-broker (thus applying an endogenous-first-estrogen-last strategy). Theoretically, queries are formulæ in first-order logic equipped with a small program used to orchestrate and synchronize atomic formulæ. When the client individual receives notification of all (or part of) the requested resources, then the real resource exchange is performed directly by the server(s) individuals, without any further mediation of the broker, in a pure peer-to-peer fashion. The proposed overlay promotes an intermittent participation in the colony, since peers can appear, disappear, and organize themselves dynamically. This implies that the routing process may lead to failures, because some individuals have quit, or are temporarily unavailable, or they were logged out manu militari by the broker due to their poor performance or greediness. We design, validate through simulation, and implement these foundations in a programmable overlay computer system, called Arigatoni.