A system for information routing on a network using swarm-based intelligence, comprising: a plurality of nodes (710, 720, 740) on the network, the nodes being configured to act as provider node, consumer node, and/or intermediate node, wherein each node further comprises a routing table (721a, 721b, 721c) stored in memory, the memory coupled to at least one processing unit of the node; at least one node of the plurality of nodes configured to act as provider node to provide at least one of an information and/or service to a second node on the network; at least one node of the plurality of nodes configured to act as consumer node to consume information and/or a service of a provider node, wherein each provider and consumer node further comprises: means for saving information received corresponding to information/services available from provider nodes on the network, including identifying other nodes interested in the information/services, capabilities of the provider node corresponding to the available information/services, and probabilities that specific provider nodes will be selected by a consumer node for a selected information/service; and means for selecting nodes on the network to whom the information received is to be forwarded, the selection being based in part on popularity measures in a sending node's routing table (721a, 721b, 721c), freshness of the information, and stored preferences and requests of other nodes interested in the information/service as identified by the means for saving information received. a plurality of nodes (710, 720, 740) on the network, the nodes being configured to act as provider node, consumer node, and/or intermediate node, wherein each node further comprises a routing table (721a, 721b, 721c) stored in memory, the memory coupled to at least one processing unit of the node; at least one node of the plurality of nodes configured to act as provider node to provide at least one of an information and/or service to a second node on the network; at least one node of the plurality of nodes configured to act as consumer node to consume information and/or a service of a provider node, wherein each provider and consumer node further comprises: means for saving information received corresponding to information/services available from provider nodes on the network, including identifying other nodes interested in the information/services, capabilities of the provider node corresponding to the available information/services, and probabilities that specific provider nodes will be selected by a consumer node for a selected information/service; and means for selecting nodes on the network to whom the information received is to be forwarded, the selection being based in part on popularity measures in a sending node's routing table (721a, 721b, 721c), freshness of the information, and stored preferences and requests of other nodes interested in the information/service as identified by the means for saving information received. means for saving information received corresponding to information/services available from provider nodes on the network, including identifying other nodes interested in the information/services, capabilities of the provider node corresponding to the available information/services, and probabilities that specific provider nodes will be selected by a consumer node for a selected information/service; and means for selecting nodes on the network to whom the information received is to be forwarded, the selection being based in part on popularity measures in a sending node's routing table (721a, 721b, 721c), freshness of the information, and stored preferences and requests of other nodes interested in the information/service as identified by the means for saving information received.