Patent ID: 8483117

Claim:
A method of transmitting a packet from a first node in a network to a second node in the network via a relay path including at least one relay node in the network, the method comprising: checking a history table stored at the first node; adding information specifying the second node, the relay path, and source routing to a header of the packet if the second node is not identified in the history table; adding information specifying the second node and cache routing but not specifying the relay path to the header of the packet if the second node is identified in the history table; transmitting the packet with the information added to its header from the first node; checking the header of the packet at each relay node on the relay path; transmitting the packet from said each relay node to a next relay node in the relay path specified in the header of the packet if the header specifies source routing; transmitting the packet from said each relay node to a next relay node indicated in a cache routing table at the relay node if the header of the packet specifies cache routing; receiving the packet at the second node; storing information identifying the second node in the history table at the first node if the second node is not already identified in the history table; and storing a new entry in the cache routing table at said each relay node, the new entry listing the second node as a destination node and the next relay node indicated in the relay path specified in the header of the packet as a relay node, if the header specifies source routing.