Patent ID: 9219684
Filing Date: 2015-12-22
Classification: H04L

Abstract:
1. A method of packet delivery in a communication network comprising network elements, the method comprising: a) using special packets each comprising (1) a link-layer header, (2) a first set of instructions, (3) data and (4) a link-layer trailer; b) embedding in every special packet the first set of instructions that completely define: (1) packet routes over the communication network from a sender to a receiver, (2) the special packet's possible transformations on the way; and c) executing the first set of instructions set by every network element in order to determine: (1) a next network element(s) the special packet is to be forwarded, (2) the special packet's possible transformation; d) advertising, by every network element, an advertise message of itself to the immediately linked neighbors after initial booting procedure or upon its own state changes; e) receiving and processing, by every network element, the advertise messages from the immediately linked neighbors in order to keep actual information regarding to the state of every link; f) providing, by every network element, a retransmission element link state description to a specialized central network service on its own initiative or on request; g) receiving and processing, by the specialized central network service, the retransmission element link state description from each network retransmission element in order to build and maintain a network topology; h) providing the network topology, by the specialized central network service, to all other specialized central network services in order to resolve tasks of path calculations, name registration and network policies support; i) calculating paths between network retransmission elements and service components by the specialized central network service, and providing paths description information to all network retransmission elements; j) providing a processing policy description to all network retransmission elements by the specialized central network service; k) registering physical and logical identifiers/names of the network elements and binding them to the network topology by the specialized central network service; l) resolving receiver names and/or identifiers in a formal description of a network element's location on a map on a sender request by the specialized central network service; m) calculating a path between the sender and the receiver on the sender request by the specialized central network service; n) generating, based on (I) the resolved receiver(s) location description and (II) the calculated path(s) to the receiver(s), a second set of instructions that includes an algorithm to (1) direct packets over the communication network from the sender to the receiver, (2) transform packets on the way; o) linking the second set of instructions to every outgoing segment of data; p) executing the second set of instructions by the sender and defining a first egress interface to send a related data segment into the communication network; q) attaching a link-level header and trailer to the executed second set of instructions and the data segment and transmitting the assembled packet into a first link through the defined first egress interface; r) receiving the assembled packet on a first ingress interface of a neighbor network element, extracting the second set of instructions and the data segment from the assembled packet, executing the second set of instructions, and defining required transformations and a second egress interface; s) modifying the second set of instructions and/or the data segment, storing the assembled packet on the network element in accordance to the defined required transformations; t) embedding the second set of instructions and the data segment into the assembled packet and transmitting the assembled packet into a second link through the defined second egress interface; u) receiving, by the receiver, the packet on a second ingress interface, extracting the second set of instructions and the data segment from the assembled packet, executing the second set of instructions, and defining required transformations and a third egress interface for the assembled packet; and v) transforming, by the receiver, the data segment based on the defined required transformations.