1. A method for providing services for a mobile ad hoc network, comprising: receiving a plurality of service discovery requests of a client node of the network; directing the plurality of service discovery requests to at least one node of the mobile ad hoc network; receiving service discovery request responses from a node included in the at least one node, the responses indicating that a service providing node is present within the network and is capable of providing the requested services; determining a data transfer route for connecting the service providing node with the client node; assigning a ranking to each of the requested services based on: known probabilities of one or more events occurring during a known future time period which would trigger a need for said service and a severity of consequences to a user of the client node of failing to respond in a timely manner to said one or more events, a ranking being assigned to a service included in the requested services which is determined as having at least one of: one or more events having a substantial probability of occurring during the known future time period which would trigger the need for said service; and a severity of consequences to the user of said client node of failing to respond to an event triggering the need for said service; transmitting a service reservation request to the service providing node for the requested service having the highest ranking, wherein the service reservation request specifies the known future time period that the requested service having the highest ranking is to be provided to the client node; computing at least one alternative reservation plan to provide the service at the future time; and delivering the requested service having the highest ranking, via transfer of data packets, from the service providing node to the client node at the specified future time.