Asynchronous medium access control layer scheduler for directional networks

An asynchronous medium access control layer scheduler increases efficiency for directional mesh networks by removing extra overhead in the time slots. The efficiency is increased by dividing time slots into sub-slots to allow for a receiving node to be offset by at least one sub-slot from the transmitting node. This enables the scheduler to more efficiently schedule operations for the nodes so that nodes can be performing other functions rather than waiting to receive a transmission or waiting after transmitting a transmission. The sub-slots may be sized to approximate the transmission propagation time or time of flight delay.

TECHNICAL FIELD

The present disclosure relates generally to transmission schedules between nodes in a network. More particularly, the present disclosure relates to asynchronous transmission schedules between directional antennas in a mesh network. Superficially, the present disclosure provides a practical application to increase efficiency in transmission schedules in directional antennas in a network.

BACKGROUND

Directional networks provide significant promise for future high-bandwidth communications architectures. There is an increasing need for capacity to support multi-media and other bandwidth-intensive applications while spectrum availability is decreasing. Directional networks allow for high capacity communications by focusing the energy between transmitter and receiver and providing greater frequency reuse. These networks can either be radio frequency (RF) or optical (free-space optical communications).

Currently, directional networks utilize transmission and reception schedules in which a transmitter transmits a signal to a receiver during a time slot. The transmitter transmits the signal during the time slot and the receiver “listens” for the signal during the time slot. Each of these respective actions occur during one time period or time slot.

The transmitted signal can take time to travel (i.e., time of flight) from the transmitter to the receiver. However, the receiver is “listening” for the signal during the entire time slot. Thus, the receiver is occupied with a “listening” action before the signal arrives at the receiver, which decreases efficiency as there is a period of time in which the receiver is performing a “listening” function but is producing no results. Further, the transmitter must stop transmitting before the end of the time slot to ensure that all information is received by the receiver within the allotted time frame.

SUMMARY

Thus, a need continues to exist for an improved scheduling device for directional networks to more efficiently utilize a receiver instead of occupying it with a “listening” function that produces no results. The present disclosure improves efficiency by taking into account the time of flight delay between the signal transmission and the signal reception by creating time sub-slots in which the receiver can be performing other actions during the sub-slots occurring prior to the time of flight delay.

In one aspect, an exemplary embodiment of the present disclosure may provide an asynchronous medium access control layer (AMAC) scheduler comprising: at least one time slot including a first time slot, at least two sub-slots within each at least one time slot, a transmit packet block occupying at least one sub-slot within the first time slot, and a receiver packet block including at least one sub-slot independent from the transmit packets block of at least one sub-slot, both the transmit packet block and the receiver packet block occupying at least one sub-slot and the receiver packet block being offset by a non-negative integer value of sub-slots from the transmit packet block from the first time slot and at least one sub-slot from a second time slot that is adapted to free a transceiver during the other sub-slot in the first time slot to perform a different operation. This exemplary embodiment or another exemplary embodiment may further provide a device to account for time of flight (ToF) delays from the sender packet to the receiver packet. This exemplary embodiment or another exemplary embodiment may further provide wherein the receiver performs a different task in a prior sub-slot during the ToF delay before the at least one sub-slot from the first time slot. This exemplary embodiment or another exemplary embodiment may further provide wherein the ToF delay is at least equal to the time of one sub-slot. This exemplary embodiment or another exemplary embodiment may further provide a time slot splitter that splits the first time slot into the at least two sub-slots and splits the second time slot into the at least two sub-slots; wherein the number of sub-slots for the first time slot is in a range from two sub-slots to about twenty sub-slots. This exemplary embodiment or another exemplary embodiment may further provide wherein the number of sub-slots in the first time slot is equal to four. This exemplary embodiment or another exemplary embodiment may further provide a ratio of sub-slots to slots in a range from 2:1 to about 20:1. This exemplary embodiment or another exemplary embodiment may further provide wherein the ratio of sub-slots to slots is 4:1. This exemplary embodiment or another exemplary embodiment may further provide that the AMAC scheduler is in operative communication with a mesh network having a first directional antenna that transmits a packet and a second directional antenna that receives the packet. This exemplary embodiment or another exemplary embodiment may further provide a first fragmented packet block and a second fragmented packet block spaced from the first fragmented packet block by at least one sub-slot.

In another aspect, an exemplary embodiment of the present disclosure may provide a method comprising: dividing a first time slot in a node scheduler into a plurality of sub-slots and a second time slot into a plurality of sub-slots; reserving a transmission block for a first node within at least one of the sub-slots in the first time slot; reserving a reception block for a second node that receives a transmission form the first node, wherein the reception block is offset from the transmission block by at least one sub-slot; and effecting the first node and second node to transmit and receive a data packet, respectively, according to a schedule based on the reserved transmission block and the reserved reception block. This exemplary embodiment or another exemplary embodiment may further provide effecting the second node to perform a different function during the sub-slot occurring prior to the beginning of the reception block. This exemplary embodiment or another exemplary embodiment may further provide effecting the first node to perform a different function during the sub-slot occurring subsequent to the end of the transmission block. This exemplary embodiment or another exemplary embodiment may further provide spanning the reception block across the first time slot and the second time slot. This exemplary embodiment or another exemplary embodiment may further provide offsetting the reception block by a number of sub-slots equal to a lowest integer differential of the time of flight (ToF) delay between the first node and the second node. This exemplary embodiment or another exemplary embodiment may further provide setting the size of the plurality of sub-slots prior to the first node transmitting the data packet to the second node. This exemplary embodiment or another exemplary embodiment may further provide fragmenting a reservation block into at least a first block fragment and a second block fragment; scheduling the first block fragment over a first period of sub-slots; and scheduling the second block fragment over a second period of sub-slots that are spaced by at least one sub-slot from the first period of sub-slots.

In yet another aspect, an exemplary embodiment of the present disclosure may provide a method comprising: requesting a reservation for transmission of data packet from a first node to a second node; determining whether quality of service (QoS) is maintained, wherein if QoS is not maintained then returning a failure; wherein if QoS is maintained, then determining whether there is sufficient space for the reservation, wherein if there is sufficient space, then making the reservation; wherein if there is insufficient space, then splitting the reservation into two parts; determining whether there is sufficient space for one of the two parts, and if there is insufficient space for one of the two parts, then returning a failure; wherein if there is sufficient space for one of the two parts, then adding a first reservation; determining whether there is sufficient space for the other of the two parts, wherein if there is sufficient space, then adding the reservation for the other of the two parts and if there is insufficient space, then returning a partial failure indicating that the first reservation was confirmed but there was insufficient space for the other of the two parts.

In yet another aspect, an exemplary embodiment of the present disclosure may provide an asynchronous medium access control layer scheduler that increases efficiency for directional mesh networks by removing extra overhead in the time slots. The efficiency is increased by dividing time slots into sub-slots to allow for a receiving node to be offset by at least one sub-slot from the transmitting node. This enables the scheduler to more efficiently schedule operations for the nodes so that nodes can be performing other functions rather than waiting to receive a transmission or waiting after transmitting a transmission. The sub-slots may be sized to approximate the transmission propagation time or time of flight delay.

DETAILED DESCRIPTION

FIG.1schematically depicts a system100having an asynchronous medium access control (AMAC) scheduler102coupled with a directional mesh network104formed from a plurality of directional antennas or nodes that are coupled together to transmit and receive information there between. Namely, there is a first directional antenna or node1, a second directional antenna or node2, a third directional antenna or node3, and a fourth directional antenna or node4. While four antenna or nodes are shown, it is to be understood that the number of antenna may vary depending on the application and operational needs of the system. Each node or antenna is, at least indirectly, coupled with the AMAC scheduler102. The AMAC scheduler102coordinates transmissions and receptions of data across transmission links106in the mesh network104. The mesh network104refers to a network in which all nodes that are within range of each other are in operative communication. As will be described in greater detail below, the AMAC scheduler102takes advantage of and accounts for signal/transmission time of flight (ToF) delay, which may also be known as propagation delay, to more efficiently schedule transmission between nodes in the mesh network104. The AMAC scheduler102may include a device to account for the ToF delay. The AMAC scheduler102appears to be particularly advantageous when the nodes are directional antennas.

FIG.2Adepicts a table diagram of a conventional scheduler for nodes in a directional network. The table depicts that there are three slots (represented by columns) of equal width that correspond to a time period. For example, each time slot may be on the order of milliseconds or seconds. Further there are four nodes, wherein each node is represented by a row in the table. Namely, the first node1, the second node2, the third node3and the fourth node4. Node1transmits to the second node2and the second node2receives the transmission from first node1. The transmission and reception of the nodes1,2begin at the same time and end at the same time, which corresponds to the vertical edges of the first slot (i.e., slot1).

With continued reference toFIG.2A, the conventional scheduler must account for the transmission of data between the first node to the second node2in the entire slot. However, the scheduler includes within the first time slot the amount of time that first node1is sending information along the link and the amount of time that antenna is receiving along the link, as well as the time to propagate or “time of flight” (ToF) delay from one node to the other. The time to propagate or ToF delay is considered to be a form of “overhead” that reduces the efficiency of the system. Namely, the system must account for the amount of time that it takes for the first node1to generate the data, the longest amount of time the data takes to propagate (for any contemplated link), and the amount of time it takes the second node2to receive the data. The farther two nodes are away from each other requires a greater ToF delay which results in lower amount of time to transmit the nodes have to transmit/receive during the time slot. The worst case (largest) potential size for ToF must be allocated in the slot structure for it to be usable by all nodes in all contemplated situations. Thus, the traditional scheduler has some built in inefficiency.

FIG.2Bis a table diagram of the AMAC scheduler102in accordance with the present disclosure which provides for asynchronous scheduling. The AMAC scheduler102takes advantage of offset transmissions and reception between the transmitter and the receiver, respectively. The offset enables a time frame or period in which the free receiver or transmitter may be performing another function instead of waiting for its partner. In one particular embodiment, the AMAC scheduler102is implemented as instructions, programs, or other software that is stored on at least one non-transitory computer readable storage medium and is executed by a processor. However, other embodiments envision an AMAC scheduler102has a separate hardware component or a combination of hardware and software that schedules transmissions and receptions between directional antennas in the mesh network104.

The scheduling table of the AMAC scheduler102includes a plurality of time slots including at least a first time slot and a second time slot. Generally, there are at least two sub-slots within the first time slot and the second time slot. Generally, there is a transmit packet block or reservation occupying the first time slot and the two sub-slots within the first time slot; and a receiver packet block or reservation independent from the transmit packet block/reservation, the receiver packet block/reservation occupying at least one sub-slot from the first time slot and at least one sub-slot from the second time slot that is adapted to free the node, in this case node2, (i.e., a transceiver) during the other sub-slot in the first time slot to perform a different operation and node1during sub-slot4for other operations while the transmitted packet is still being received.

As stated previously, the AMAC scheduler102divides the time slots from a conventional scheduler into sub-slots. Namely, there may be anywhere from two to twenty sub-slots for one time slot. In this particular example, the AMAC scheduler102ofFIG.2Bprovides four sub-slots for every time slot. The number of sub-slots within a time slot may vary across differing embodiments depending on the application and/or operational needs of the system. According to one particular embodiment, the number of sub-slots per slot would be preset prior to executing or populating the table schedule of the AMAC scheduler102. Namely, the first time slot has four sub-slots1-4, the second time slot has four sub-slots5-8, and the third time slot has four sub-slots9-12.

The AMAC scheduler102accounts for the propagation time or ToF delay that it takes for the information to transmit through a medium (typically air) from the transmitter node1to the receiver node2. By accounting for the propagation time or ToF delay, the total amount of time allocated for the transmission is reduced from the first example (FIG.2A). Namely, the transmitter packet block/reservation for node1need only transmit from sub-slot1to sub-slot3within the first time slot, which corresponds to 75% of the first time slot (i.e., a 25% reduction from a conventional scheduler). Further, the AMAC scheduler102shifts or offsets the receiver packet block/reservation for node2by at least one-sub slot. More particularly, the AMAC scheduler102offsets the receiver packet block/reservation for node2by the ToF delay. As such, the receiver packet block/reservation for node2occupies sub-slot2through sub-slot4of the first time slot. Thus, receiver packet block/reservation for node2also occupies 75% of the first time slot and the first 25% of the first time slot (i.e., sub-slot1) is a free period in which the second node2could be scheduled to perform a different function than receiving the transmission from the first node1.

According to an exemplary aspect of the present disclosure, an exemplary feature of the AMAC scheduler102is to reduce or eliminate the time associated with transmitters or receivers “waiting” on the other during the propagation time or ToF delay. The AMAC scheduler102increases efficiently by eliminating the need for the nodes to “schedule in” (i.e., account for) the ToF delay by dividing the time slots into sub-slots and offsetting the scheduled reception time from the schedule transmission time, wherein the offset is equal to the ToF delay. Thus, once transmitter node1begins its transmission, the receiver node2will not start its scheduled reception until after an amount of time corresponding to the ToF delay has passed. Note that if there is uncertainty in the value of the ToF, the receiver may schedule to start listening earlier to account for the uncertainty and schedule time beyond the length of the packet for the same reason. But generally, this frees up the receiver node2to perform a different function during this initial sub-slot worth of time (i.e., sub-slot1inFIG.2B).

According to one embodiment, the ToF delay may be empirically determined prior to scheduling the transmissions/receptions between the nodes in the AMAC scheduler102. The ToF delay may be determined by sending control messages between the nodes1-4or directional antennas in the network104. Then the time stamps associated with the control messages may be determined and compared. This comparison will yield the propagation time or ToF delay between the transmitting node and the receiving node. Then, once the ToF delay has been calculated, the AMAC scheduler can be programmed to determine how many sub-slots are needed for a given application. Then, once the number of sub-slots are determined, the appropriate sub-slot offset can be scheduled between the first node1and the second node2to offset the receiving node from the transmitting node.

The size or number of the sub-slots may vary depending on application needs. For example, the number of sub-slots per time slot can be changed based on accuracy or resolution required for the system. In this example, the control messages and comparison determination may determine that the propagation time from the first node1to the second node2is 100 ms. Then, the scheduler may determine that the system100desires a one-sub-slot resolution offset such that a sub-slot needs to be equal to 80 ms. The amount of sub-slots that the receiving node2would need to be offset would be determined by dividing the ToF delay by the sub-slot size and taking the integer floor. Stated otherwise 100 ms/80 ms=1.2, and taking the integer floor equals 1. Stated otherwise, the ToF delay is rounded to the lowest integer of sub-slot worth of time. Thus, the second node2is offset by one sub-slot from the transmission schedule of the first node. The second node2would then be able to perform another operation in the free sub-slot. Additional sub-slots at the end of the packet block may also be scheduled to account for packet blocks overlapping multiple sub-slot on reception, and also uncertainty in the ToF value.

FIG.3AandFIG.3Care representative to indicate an efficiency increase from a conventional scheduler (FIG.3A) to the AMAC scheduler102(FIG.3C) of the present disclosure whileFIG.3Bshows an exemplary slot structure. As indicated previously, the AMAC scheduler102has sub-slots that are shorter time periods within a standard time slot ordinarily present in a conventional scheduler. The sub-slots allow for more efficient use of the scheduler. The examples identified inFIG.3AandFIG.3Cdepict how the total used space of transmissions/receptions between directional nodes in the mesh network104drop from 66% in the conventional scheduler (FIG.3A) to 50% in the AMAC scheduler (FIG.3C) of the present disclosure.

FIG.3Arepresents that the conventional scheduler produces a schedule with reservations that occupy eight of the possible twelve time slots (8/12=66%). The first node1is transmitting during the first two time slots and the second node2is receiving during the first two times slots. Similar to what has been stated previously, some of the transmission/reception time within the first two time slots for the node1and node2accounts for the propagation time or ToF delay in transmitting data from node1to node2across the link106. Node3is transmitting during the first time slot and node4is receiving during the first time slot. Similarly, the transmission/reception between node3and node4incorporate the propagation time between the nodes across the link. Node3and node4are idle during the second time slot. Node4is transmitting during the third time slot to the receiving node1in the third time slot. Node2and Node3are idle during the third time slot.

FIG.3Afurther depicts a noteworthy setback of conventional schedulers. When a node needs to transmit data over a period of time that is greater than the period of one time slot, it is required to align to time slots immediately adjacent each other. However, the time slots are independent and the data transmission/reception cannot span the two time slots. Rather, there is a distinct break between the adjacent disparate/distinct time slots. Particularly, it is seen that node1has been scheduled to transmit to node2in the first time slot and the second time slot. The first time slot is independent from the second time slot. Thus, each time slot includes ToF delay time for the signal transmitting between node1and node2with the first time slot and within the second time slot. Stated otherwise, node1transmits information in the first time slot but must terminate its transmission prior to the end of the first time slot to ensure that there is enough space in the first time slot for node2to properly receive all of the information within the first time slot. Additionally, in the second time slot, node1transmits information in the second time slot but must terminate its transmission prior to the end of the second time slot to ensure that there is enough space in the second time slot for node2to properly receive all of the information within the second time slot.

To further illustrate this point,FIG.3Brepresents an exemplary slot construction300. Several different constructions for slots are possible that leverage known aspects of the operational topology. In this case, it is known that the time to transmit a given message302, plus any antenna switching time304, that is any required settling time, etc. or offset delay306, is shorter than the time308of the ToF310. Because of this, it is possible for all terminals to transmit a message312a,312n, and then reconfigure during the ToF310to receive HAIL message312a,312n, from other terminals in the same slot300. Normally this is only true at low elevations and long ranges. Note that since the look direction for receive is complementary to the look direction for transmit (in two dimensions they would be 180 degrees apart), it is possible for many terminals to receive and transmit at the same time. This slot structure would also be used to support such cases.

Further, as there may be a same size slot per each node302, one may subtract the start time to get a common zero, and thus the offset is predetermined and optimized throughout the nodes. The protocol has a certain time size302which is the size of the message702. However, at times the distances can get so long that the ToF310can be longer than the rate of transfer. As a result, there may be a lot of dead time, and in order to be the most efficient the most time must be optimized. If it is known that the time of the ToF308is long, then at some time there needs to be both listening and transmitting, as a node is unable to do both. If every node is transmitting and then switches to receive at the same time, when nodes are far apart from one another, the ToF310allows for a delay between transmitting and receiving. In certain protocols there is significant down time for discovery as all potential nodes could hear each other at the same time, or a substantially identical time.

FIG.3Crepresents an exemplary scheduling table for the AMAC scheduler102of the present invention which offsets or shifts the transmission and reception schedules across sub-slots spanning multiple time slots to increase efficiency in the transmission/reception of data between nodes. The AMAC scheduler102enables the scheduling of transmissions and receptions between nodes that span otherwise disparate/distinct time slots in order to increase efficiency.

FIG.3Cprovides that the AMAC scheduler102has divided each time slot into four sub-slots. Node1transmits to node2but the AMAC scheduler enables the transmission schedule to span from the first time slot to the second time slot without interrupting the transmission schedule/reservation to account for ToF delay, as was required inFIG.3A. Node1occupies sub-slots1-6which is a 25% reduction in the amount of time that was previously required underFIG.3A, which corresponds to occupying all of the first time slot and all of the second time slot (i.e., the amount of time in sub-slots1-8).

With continued reference toFIG.3C, the reception scheduled at node2is offset by one sub-slot from the transmission at node1. Namely, node2occupies sub-slots2-7. The transmission scheduled at Node3occupies sub-slots1-3and to the reception of that transmission at node4occupies sub-slots2-4. Thus, receiving node4is offset by one sub-slot from transmitting node3. Then, node4can be used to transmit to node1. Node4can transmit in sub-slots6-8and node1can receive in sub-slots7-9. This example shows that the sub-slots in the free schedule space associated with the three time slots is greatly increased for other transmission to occur. Namely, within the third time slot of the conventional schedule ofFIG.3A, only 50% of the space in the third time slot was free (i.e., nodes1,4were occupied and nodes2,3were idle/free). However, using the AMAC scheduler of the present disclosure, the third time slot is now 93.75% free inasmuch as 15 of the 16 sub-slots in the third time slot were free/idle. There was an approximate 100% increase in the amount of free space in the third time slot compared to the conventional scheduler. The extra free space can be utilized to schedule other transmission that were previously unavailable, thus increasing the efficiency of directional node transmissions through the use of the AMAC schedule with sub-slots in each respective time slot.

FIG.4AandFIG.4Bdepict fragmentation advantages of the AMAC scheduler102compared to the conventional scheduler. The AMAC scheduler102can split up reservations over multiple slots or sub-slots if there is not enough room to fit the reservation in one block of slots or sub-slots.

FIG.4Adepicts a traditional schedule in which a two slot (eight sub-slot) reservation between node1and node3from the first time slot to the fourth time slot is not possible as the necessary slots are already reserved by node2and node4. More particularly, node1is transmitting to node2during the first time slot and the second time slot. Node1is receiving from node4during the third time slot and the fourth time slot. During this schedule, node3remains idle the entire time as there is no corresponding timeframe or slot in which node3could interact with node1. However, it is noted that node3could be scheduled to interact with node4during the first and second time slots and node3could be scheduled to interact with node2during the third and fourth time slots. However, it is not possible to add a two slot reservation for node1to the transmission/reception schedule using a conventional scheduler.

FIG.4Bdepicts a fragmentation technique of the AMAC scheduler102that would allow a two slot (eight sub-slot) reservation in the space from the first time slot to the fourth time slot. Fragmentation refers to having a significant amount of data that would require or reserve multiple time slots. In this instance the data may be fragmented such that the long signal is split into fragments over multiple sub-slots.

FIG.4Bprovides an exemplary schedule to increase efficiency by enabling node3and node1to schedule a transmission link by fragmenting the packet block with the two slot (eight sub-slot) window into two four sub-slot blocks spaced from each other. Namely, node1transmits in sub-slots1-4and node2receives the transmission in sub-slots2-5. Node4transmits in sub-slots8-11and node1receives in sub-slots9-12. Thus, node1is free to receive transmissions in sub-slots5-8and sub-slots13-16. The AMAC scheduler fragments the transmission from Node3so as to transmit in sub-slots4-7and sub-slots12-15which correspond to reception periods of node1in sub-slots5-8and sub-slots13-16, respectively. This enables the efficiency of the transmission between nodes3and1to increase from 0% to about 50% since before none of the time at node3could be used and now about 8 of 16 blocks are being used.

FIG.5depicts a flow chart in accordance with an exemplary method of the present disclosure generally at500. The flowchart of method500is a reservation process that is accomplished and/or performed at every node. Note that the method is a “scheduling discipline” that may be combined with other scheduling disciplines as would be understood by those skilled in the art. The method500will be described with respect to node1, however, it is to be understood that it is equally applicable to any of the other nodes within the network. Node1receives data or a reservation request of information that node1desires to transmit to another node in the network, such node4, which is shown generally at502. Thus, node1is aware that it needs to make a reservation request to another node, such as node4, in the network104. Then, this node (i.e., node1) starts the process for the reservation request because it has data that it needs to transmit to the other node. Subsequent to the reservation request at502, the first node1must ensure that quality of service (QoS) will be maintained, which is shown in general at504. QoS refers to a threshold to ensure that the amount of data that one node sends to another does not occupy a significant portion of the bandwidth or transmit time availability between the two nodes. QoS relates to maintaining transmission below a preset threshold so as to allow other nodes to communicate within the operating schedule. Stated otherwise, the system does not want the first node to take up the entire schedule of the fourth node. This is because if the first node occupies much of the fourth node schedule, then no other nodes within the network will be able to talk or communicate or transmit to the fourth node. This is advantageous as there will be high priority data that needs to be exchanged between various nodes in the network. Thus, the method500ensures that every node has an opportunity to connect with other nodes within the network, if needed. Thus, QoS ensures that every node has an opportunity, if needed, to transmit data to another node within the network104. Subsequent to ensuring QoS is being maintained at504, if it is determined that QoS is unable to be maintained then method500returns a failure, which is shown at506. For example, if node1is attempting to make a reservation from node1to node4, and method500determines that node1is already transmitting above a certain time threshold, such as 50%, 60% 70%, 80% or 90% of the available time for node4, then the system will return a failure to prevent additional information from transmitting from the first node to the fourth node because QoS cannot be maintained for other nodes within the network. Threshold is a configurable variable that may range depending on application specific needs. However, it is envisioned that the threshold will be in a range from about 50% of the reservation time availability to about 90% thereof.

If it is determined that QoS is able to be maintained at504, then the method500determines whether there is sufficient space for the reservation, which is shown generally at508. A separate set of connectivity is assumed for control purposes as would be understood by those skilled in the art. The control connections with surrounding nodes is used to share existing schedule for transmit and receives between nodes. In this particular implementation, node1has a copy of its own schedule when it's transmitting and when it's receiving as well as a copy of node4's schedule. Thus, as shown inFIG.2B,FIG.3C, andFIG.4B, the AMAC schedule tables would be available to each node within the network104. Thus, there is a processor that determines the row of node1and its available sub-slots with the available sub-slots from the row of node4is then determined how much contiguous space is available. For example, if there are five sub-slots in a row that is free at node1, then the processor checks and determines whether there is a corresponding five available sub-slots in node4to receive the information transmitted from node1accounting for the time of flight delay with the offset. For example, if the processor determines that sub-slots1-4are available for the first node1and the time of flight delay is equal to one sub-slot, then the processor needs to determine whether sub-slots2-5are open and available for node4(four sub-slots offset by one). If the method500or processor determine that there is sufficient space for the reservation, then the system makes the reservation, which is shown generally at510, and a return success is provided, which is shown generally at512. If there is insufficient space at508, then a determination is made to split the reservation into two parts (which may be two equal parts; i.e., half), which is shown generally at514. Then, the process is somewhat repeated inasmuch as the method500or its processor determines whether there is enough space for the first half of the reservation that was previously split in two at514, which is shown generally at516. Thus, in this example, the method500would determine whether there is a sufficient amount of space for two sub-slots in first node1and whether there are two available sub-slots in node4offset by one sub-slot. Thus, the method may determine whether sub-slots one or two are available for node1and whether sub-slots two or three are available for node4. If there is not sufficient space for the first half of the reservation, then the system determines there is an insufficient space and it returns a failure, which is shown generally at518and no further action is taken or applied. When the failure is returned at518, nothing is added and no reservation is added to either schedule.

If there is enough space for half the reservation, then the first half of the reservation is added, which is shown generally at520. Then, the first half of the reservation added at520is inserted into the schedule. The method500or its processor then determines whether there is a sufficient amount of space for the second half of the reservation that was split at516, which is shown generally at522. Then, the method500or its processor determines whether there is a second half availability for two continuous sub-slots or any number of sub-slots corresponding to the size of the second half of the reservation. In this particular example, the system determines whether sub-slots, such as sub-slots9and10, are available for the first node and whether sub-slots10and11are available for node4. If there is sufficient space for the second half of the reservation, then the second half reservation is added, which is shown generally at524and a return success is provided, which is shown generally at526. If there is insufficient space for the second half reservation, then a partial failure is returned, which is shown generally at528. A partial failure is returned at528because the first half of the reservation was added at520and the system or method500is still able to transmit half the amount of data that was added at520. The other half that was returned as a partial failure will have to wait until another further time to be transmitted. Thus, the method500enables as much information to be transmitted as possible by splitting the reservation in half, at least one time, to ensure that at least some data is transmitted between the nodes. Other variations on this technique are also possible, where the largest available amount of schedule time between two nodes is determined, and that much is transmitted with the remainder being reserved for a future transmission. Also, there may be uncertainty in the exact ToF between two nodes, and there will be a certain amount of overhead from the physical layer, which may also transmit at different rates to different nodes. The specific number of sub-slots required for a transmission would account for these factors and possibly others.

While examples discussed herein were made with reference generally to nodes, and in some embodiments the nodes may be directional antennas. However, it is to be understood that AMAC scheduler102would also operate in conjunction with nodes that are omni-directional antennas. In such cases the scheduler would account for the receive and transmit schedules of all nodes within its vicinity rather than just a single node. Further there may be a framing approach that includes different scheduling disciplines for discovery, Control, Data, and multicast. The AMAC would most likely be applied as the scheduling discipline for the data within the frame.

Furthermore, the logic(s) presented herein for accomplishing various methods of this system may be directed towards improvements in existing computer-centric or internet-centric technology that may not have previous analog versions. The logic(s) may provide specific functionality directly related to structure that addresses and resolves some problems identified herein. The logic(s) may also provide significantly more advantages to solve these problems by providing an exemplary inventive concept as specific logic structure and concordant functionality of the method and system. Furthermore, the logic(s) may also provide specific computer implemented rules that improve on existing technological processes. The logic(s) provided herein extends beyond merely gathering data, analyzing the information, and displaying the results. Further, portions or all of the present disclosure may rely on underlying equations that are derived from the specific arrangement of the equipment or components as recited herein. Thus, portions of the present disclosure as it relates to the specific arrangement of the components are not directed to abstract ideas. Furthermore, the present disclosure and the appended claims present teachings that involve more than performance of well-understood, routine, and conventional activities previously known to the industry. In some of the method or process of the present disclosure, which may incorporate some aspects of natural phenomenon, the process or method steps are additional features that are new and useful.