GB2423162A - Evolutionary method for medium access control - Google Patents

Evolutionary method for medium access control Download PDF

Info

Publication number
GB2423162A
GB2423162A GB0502678A GB0502678A GB2423162A GB 2423162 A GB2423162 A GB 2423162A GB 0502678 A GB0502678 A GB 0502678A GB 0502678 A GB0502678 A GB 0502678A GB 2423162 A GB2423162 A GB 2423162A
Authority
GB
United Kingdom
Prior art keywords
medium access
access control
function
control unit
sequences
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB0502678A
Other versions
GB2423162B (en
GB0502678D0 (en
Inventor
Timothy Adrian Lewis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Europe Ltd
Original Assignee
Toshiba Research Europe Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Research Europe Ltd filed Critical Toshiba Research Europe Ltd
Priority to GB0502678A priority Critical patent/GB2423162B/en
Publication of GB0502678D0 publication Critical patent/GB0502678D0/en
Publication of GB2423162A publication Critical patent/GB2423162A/en
Application granted granted Critical
Publication of GB2423162B publication Critical patent/GB2423162B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access, e.g. scheduled or random access
    • H04W74/08Non-scheduled or contention based access, e.g. random access, ALOHA, CSMA [Carrier Sense Multiple Access]
    • H04W74/0833Non-scheduled or contention based access, e.g. random access, ALOHA, CSMA [Carrier Sense Multiple Access] using a random access procedure
    • H04W74/0841Non-scheduled or contention based access, e.g. random access, ALOHA, CSMA [Carrier Sense Multiple Access] using a random access procedure with collision treatment
    • H04W74/085Non-scheduled or contention based access, e.g. random access, ALOHA, CSMA [Carrier Sense Multiple Access] using a random access procedure with collision treatment collision avoidance
    • G06F15/18
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]

Abstract

An evolutionary method of producing a medium access control unit, the unit determines whether to either transmit data or to back off for a period of time. The method comprises assembling, from a language set of terms, sequences of terms each capable of being parsed in accordance with a programming language. The set of terms could comprise functions relevant to MAC processes. The fitness of each of the parsed sequences of terms is determined according to a predetermined fitness function. If a process termination criterion has not been met then one or more of the sequences of terms is selected in response to their determined fitness, further sequences of terms are generated and the fitness values for this further set are then evaluated. When the termination criterion has been met, one of the sequences is selected in response to its determined fitness to provide the function to be used for the transmission decision. This MAC unit could be used as part of a device on a wireless communication network. Also disclosed is a method in which the process employed to make the transmission decision is evolved in response to a set of environmental conditions.

Description

Method and Apparatus for Medium Access Control The invention relates to a
method and apparatus for medium access control, and in particular to medium access control back-off! transmit processes in a wireless communication network.
In a wireless communication network, various hardware components of a communications device, when configured by suitable software, facilitate the establishment of wireless communications with another communications device. This is achieved by means of a plurality of functional elements that are each operable to process data in preparation for transmission over an established communications channel, and to process data received from a cooperating device.
To ensure that communications devices process data for transmission so that the data can be correspondingly processed at a receiving device, communications protocols have been established. Conventionally, the functionality required for the processing of data is represented as a number of layers in a protocol stack, where each layer is applied to the data in turn en route to transmission or from reception. These layers can be developed separately, provided that they conform to agreed methods by which to cooperate with each other. Thus a module developed to deliver the functionality of one layer is required only to conform to a specification of the data to be transferred to adjacent layers in the stack.
Figure 1 illustrates schematically a protocol stack in accordance with a generally accepted multi-layer specification, namely the OSI model. In this representation of a communications apparatus, layers progress from providing support to host applications (layers 7 and 6) to physical transmission/reception of a signal (layer 1). The OSI model comprises seven layers of functionality: Layer 7 is the application layer, which provides services for an application program to ensure that effective communication is possible with another application program in a network, for example by determining authentication or privacy requirements, and checking if appropriate computer resources are available for the application.
Layer 6 is the presentation layer. This layer ensures data is sent in the appropriate format for the recipient, for example in response to a multipurpose Internet mail
extension (MIME) format specification.
Layer 5 is the session layer, which manages the setting up, maintenance and ending of a connection, or session, between two applications. Typically each session is associated with a communication port. This association may be fixed or dynamic.
Layer 4 is the transport layer. This layer provides error checking and data flow control.
An example of such functionality is the transmission control protocol (TCP) used to track Internet data packets.
Layer 3 is the network layer, which addresses packets of data and can select quality of service levels and routes to neighbouring network nodes. The most common network protocols are Internet protocols (IP), for example IPv6.
Layer 2 is the data link layer. This layer controls the transfer of data to and from a physical link in a network. The layer also determines that a connection is successful and manages data frames and frame acknowledgements.
Finally, layer 1 is the physical layer, which interfaces with the means to transmit or receive in the medium (for example a wireless radio transceiver or infra-red beam), typically generating the signal to transmit, or obtaining a received signal.
In particular, the data link layer (layer 2) comprises several sublayers including a Logic Link Control (LLC) sub-layer and a Medium Access Control (MAC) sub-layer. Both are conventionally operable in accordance with an established communications standard to ensure that data is presented to another communications device in a readable format.
For example, the functionality of the LLC sub-layer may be defined to operate in accordance with IEEE standard 802.2, and the functionality of the MAC sub-layer may be defined in accordance with IEEE 802.11.
IEEE 802.11 specifies that the MAC sub-layer controls access to a shared wireless media channel using Carrier-Sense Multiple Access with Collision Avoidance (CSMA/CA). In the CSMA/CA scheme, when a device in a network receives a packet to transmit, it checks to ensure that the channel is clear (typically by instructing the physical layer to perform the test). If the channel is clear, then the packet is sent.
However, if the channel is not clear, the device waits for a randomly chosen period of time, and then repeats the checking procedure. The time period is referred to as the back-off period, and in typical implementations of the standard a back-off counter counts down from a randomly assigned value to zero, at which point if the channel is clear then the device transmits its packet or frame.
The value is chosen randomly to ensure that different devices checking the shared wireless channel are likely to do so at different times. Otherwise several devices, simultaneously monitoring the channel, would both determine that the channel is clear once current traffic ends, and therefore both transmit their data at the same time. This would result in packet collision (interference between packets transmifted on the same channel) and consequently result in neither packet being successfully received.
The emergent effect of the CSMA/CA scheme is to achieve unstructured time division multiplexing (TDM) between devices sharing the same wireless channel.
It is clear that the scheme used in the MAC sub-layer is critical both to the successful transmission of packets and to the efficient usage of the limited bandwidth of the wireless medium. Note that this efficiency must be considered both in terms of reducing the number of retransmissions due to packet collision, and also in terms of wasted airtime when all parties back off in response to a briefly occupied channel.
However, achieving reduction of the number of retransmissions typically requires longer range back-off periods, in order to reduce the chance of two devices picking the same random back-off period and thus subsequently colliding. Greater average back-off periods result in more wasted airtime. Consequently there is a tension between retransmission and back-off efficiencies, which necessitates a compromise.
A problem, however, is that any given compromise is likely to only apply in a specific situation. For example, as the back-off period is a compromise between the bandwidth lost to a network of N parties all waiting, and the probability of any of those N parties colliding, then, for a small N, shorter back-off periods may be more efficient. on the other hand, for a large N, longer back-off periods may be more efficient. In this case, making back-off periods proportional to N might be helpful, but in many networks (for example, ad-hoc networks) the population N is unknown, or may vary dynamically.
In the current 802.11 standard, the MAC layer access control process is a fixed design intended to work in a general environment, and is therefore frequently inefficient in specific situations.
US200400473 19 proposes the use of two different schemes, namely contention, such as seen above, and non-contention (such as Master-Slave) according to information about the current time slot for access to the medium. US5384777 proposes centrally controlled variable length timeslots depending on usage, and a centrally administered slot reservation scheme. While each of these approaches may, all else being equal, improve the overall utilisation of the medium by switching processes or adjusting parameters, both still rely on general MAC processes and parameter adjustment.
Accordingly, the present invention seeks to mitigate, alleviate or eliminate the above- mentioned problem.
According to a first aspect of the present invention, there is a method of producing a medium access control unit, in which the decision whether to transmit frames or packets of data, or whether to wait for a period of time before deciding again, is implemented by a sequence of terms, acting as a process, that is evolved in response to environmental conditions.
In one configuration of the above aspect, the environmental conditions are predefined according to a network standard. In another configuration, the environmental conditions are empirically determined from network measurements.
In another aspect of the present invention, the process is evolved using genetic programming techniques, iterating over successive generations of candidate processes.
In one configuration of the above aspect, the evolved process is generated using any or all of recombination, reproduction and mutation, applied to at least one predecessor process.
In another configuration of the above aspect, inter-generational modifications occur at the branch and sub-branch level of a program parsetree.
In a further configuration of the above aspect, the language set used during evolution comprises functions specifically relevant to medium access control.
In another embodiment of the present invention, the evolved process is selected from a population of processes in response to how well it scores according to a fitness function.
The fitness function may be responsive to the proportion of successful packet transmissions or receptions.
The fitness function may be responsive to the measured quality of service for the device.
The fitness function may be responsive to the mean occupancy of the shared medium.
In another aspect of the present invention, a genetic programming scheme uses a language comprising program functions relevant to a MAC transmit / back-off decision process, and uses a fitness function indicative of medium access success.
In another aspect of the present invention, a laptop computer comprises means operable to implement an evolved MAC transmit / back-off decision process.
It will be appreciated that the above aspects of the invention comprise specifically configured apparatus, or processes without reference to apparatus on which the processes are to be performed. It will be understood that the invention can, in accordance with any aspect thereof, be implemented on a general purpose computer configured with suitable communications hardware and corresponding executable program instructions. The executable program instructions may be introduced by means of a carrier medium, which can be a storage medium, for example an optical storage device (e.g. an optical disk) or a suitable carrier signal medium, such as a data transfer protocol (e.g. FTP over IP) operable to transfer data defining suitable executable program instructions to the apparatus.
Although the present invention has been described hereinabove with reference to a number of separate aspects, in accordance with the present invention, any aspect of the present invention described hereinabove can be used in conjunction with any other aspect of the present invention.
Embodiments of the present invention will now be described by way of example with reference to the accompanying drawings, in which: Figure 1 is a schematic diagram of an OSI model protocol stack known in the art and as described above; Figure 2 is a flow diagram of a method of MAC process evolution in accordance with an embodiment of the present invention; Figure 3 is a parse tree representation of a MAC process evolved in accordance with the process illustrated in figure 2; and Figure 4 is a schematic diagram of a communication device including a MAC layer evolved by the process illustrated in Figure 2.
An example of a method of producing data processing apparatus for medium access control in wireless communication is disclosed. In the following description, a number of specific details are presented in order to provide a thorough understanding of embodiments of the present invention. It will be apparent, however, to a person skilled in the art that these specific details need not be employed to practice the present invention.
Additionally, a method of medium access control is disclosed wherein the decision whether to transmit a packet or back off for a period of time is made by a process evolved using a genetic programming technique.
It will be understood that genetic programming is distinct from the use of genetic algorithms.
The user of a genetic algorithm is generally trying to improve a process or a design that is adjustable according to the values of a number of parameters. The desired improvement is considered in terms of some representative criterion, such as for example cost, weight, speed, size or accuracy, depending on the application.
The genetic algorithm itself is merely a means to search the parameter space. It derives its behaviour from a metaphor of the process of evolution in nature; an N-dimensional vector or string, defining a possible value for each of the N parameters under consideration and thus a location in the parameter space, can be thought of as the chromosome of an individual process or design whose behaviour depends on these parameter values.
A population of individuals with different chromosomes will fare differently in terms of how well they meet the representative criterion when put under test. By analogy with the principle of "survival of the fittest", the criterion is generally known as a fitness function, and the fitness of individuals with respect to this function provides an artificial evolutionary force when only comparatively fit individuals in the population are selected to produce a new generation.
The parameter strings can contribute to a new generation of individuals through a variety of methods; i. being wholly copied exactly (hereinafter reproduction'), ii. being wholly copied with random variations to one or more of their values (hereinafter mutation'), and iii. being one of two or more strings that are partially copied in a complementary fashion to produce a new string (hereinafter recombination'), either with or without mutations being introduced.
Various factors should be considered in producing a new generation, such as the choice of method, of individual, the level and pervasiveness of mutation and the patterns of recombination. These factors can be pre-set, randomised or a function of fitness or generation number.
Similarly, the fitter individuals may be selected in a variety of ways; i. Selecting a subset comprising the fittest individuals, ii. Selecting probabilistically among the population according to fitness, and iii. Selecting the fittest individual from each of a number of randomly chosen sub-populations.
Method i. simply provides the best M individuals in the population. Methods ii. and iii. attempt to introduce an additional naturalistic element of chance to the selection process. Method ii. is a random selection scheme biased to favour fitter individuals, thus adding an element of luck to survival. Method iii. captures the notion that individuals often compete within local groups or herds of an overall population.
As an overarching principle, however, each method assumes that the frequency with which an individual is used as source material for the next generation is, on average, a function of their fitness.
One iteration of a genetic algorithm comprises evaluating the fitness of all individuals in a current population, and then creating a new population by performing methods such as fitness proportionate recombination, and mutation. The old population is then discarded. One iteration is therefore equivalent to one generation of the population.
In terms of the parameter space, the effect is that regions of the parameter space that appear to provide better solutions are explored in a more targeted fashion with each subsequent generation: Typically the first generation is populated with random-value individuals to uniformly seed the parameter space being searched. Subsequent generations then iteratively coalesce toward one or more solutions in the parameter space in response to the evolutionary pressure of the fitness function. This may continue either for a defined number of generations, until a desired fitness level is achieved, or until a maximising solution in the parameter space is detected.
Genetic algorithms have inherent problems, however. The first is that the solution found may only be a local maximum in the parameter space. Ways to mitigate this possibility include selecting a proportion of individuals with poorer fitness, in order to keep the population diverse enough to explore other areas of the parameter space.
Selection methods ii and iii above provide such opportunities, but may result in the evolutionary process requiring more generations to achieve a certain level of fitness.
A second problem common to many multivariate optimising techniques is that the solution found can be very sensitive to variations in the parameters and/or the environment in which the solution has evolved. This depends on the relationship between the behaviours of the evolved individuals and their parameters, either singly or in combination, with the environment. This relationship can be hard to predict. One method to reduce the impact of this second problem is to introduce variability into the environment during the fitness evaluation, for example by averaging fitness for each individual over several environments. This prevents over- specialisation through dependency on sensitive interactions between the parameters and one environment.
However, it adds computational load, and assumes that suitable different environments can be anticipated and modelled.
In contrast, genetic programming differs fundamentally from genetic algorithms in that there is not a preset, N-dimensional parameter space in which to search for a solution.
Instead, a process is evolved to solve the problem itself.
In a genetic programming scheme, rather than having fixed length strings that encode the possible locations of parametric solutions to the problem at hand, the chromosomes represent computer programs which, when executed, provide candidate solutions to the problem.
These programs may be thought of as parse trees rather than as lines of code. Thus the simple program a + b * c' can be thought of as: + / \ a * / \ b c In practice the programs are represented by data structures containing the relevant code fragments (a', b', c', + or *) linked so as to produce this relationship. The genes of the program chromosome come in two types; Functions and Terminals. In parse tree terminology, terminals are leaves, while functions are nodes with children. The function's children provide the argument of the function.
In the example above, there are two functions (+ and *) and three terminals (a', b' and c'). Here, the + function takes as it arguments the value of terminal a' and the return value of the sub-tree whose root is the other function a'. The * function takes terminals b' and c' as its arguments.
Typically these functions and terminals are part of a language set of possible functions and terminals that may be used in the program. The functions and terminals must be carefully chosen or constructed to be appropriate to solving problems of the type being considered. For example, the evolution of a program to display the result of a + b * c' would need a print' function in its language set to achieve a satisfactory solution.
Optionally, each terminal can be assigned a type, examples being Integer or Boolean.
Additionally each function can have a fixed type, as can each of the child nodes said functions. When parse trees are generated or manipulated it can be done in such a way that only trees that match types correctly will be considered. This additional restriction allows a higher proportion of viable programs to be generated.
As with a genetic algorithm, an initial population - here comprising individual programs - are subjected to the evolutionary pressure of a fitness function over successive generations.
However, unlike a genetic algorithm, the initial population cannot be simply generated by randomly sampling from a possible solution space. Similarly, randomly sampling from all possible permutations of the language set is unlikely to generate viable initial programs.
One method of generating a sequence of terms that constitutes a random yet viably structured program is to grow it according to the following procedure; i. starting from the root of a tree, every node is randomly chosen as a function or a terminal; ii. if a node is a terminal, a random terminal is chosen, and; iii. if a node is a function, then a function is randomly chosen and new nodes for each argument of that function are added. The procedure repeats until there are no unpopulated nodes, or a tree depth m is reached, at which depth only random terminals are chosen.
Thus a random program of up to depth m is generated. To generate a program of guaranteed depth m, then at least one path through the tree can be constrained to only select function nodes until this depth is reached.
To create a structurally diverse initial population, m can be varied between individuals.
The programs of the initial population are then run and evaluated against a suitable fitness function. Some programs are then selected according to fitness as described previously. Again, individual programs may reproduce, mutate or recombine, but to implement mutation or recombination requires a different method from that used in genetic algorithms: Recombination involves randomly selecting a sub-tree from one program, and creating a new individual in which that sub-tree has been replaced with one randomly selected from another program.
Various forms of mutation are possible, such as the random replacement of a sub-tree with a function from the language set, the random replacement of terminals, the random definition of terminals with values, and variation of these values. If the language set is defined as an ontological hierarchy then the degree of mutation can also be quantified.
The resulting new population is then evaluated and selected for fitness, and the process iterates either for a defined number of generations, or until a desired fitness level is achieved.
Referring now to Figure 2, in an embodiment of the present invention, a MAC access process is evolved using a genetic programming scheme. In step S2-1 an initial population, of individual examples of MAC processes, is grown, accessing a language set suitable for MAC related functions, and in particular for making transmit / back off decisions.
This language set preferably comprises the following MAC related functions: Function Name Purpose void Backoff(double t) Rest for t milliseconds void ChanSendPacket() Send the packet now void Signal(int v) Broadcast the value v on the signal channel mt ListenSignal() Return the current value on the signal channel double CurrTransTime() Return an estimate of the time to send the current packet double CurrentTime() Return the global shared time bool ChanClear() Return whether channel is clear mt myID Return the ID value of the device mt Rand(int k) Generate an exponentially distributed random value with mean k.
The ChanClear function uses the physical layer to sense the medium and detect if it is currently in use. Optionally, it can also access a separate broadcast signalling channel.
This channel is used to broadcast a busy/clear signal to indicate the status of the main channel.
The CurrTransTime function estimates the time taken to transmit the current packet in the buffer. If all nodes have a similar distribution of packets to send then this can also be indicative of how long the channel is likely to be occupied. If optional elements of the 802 standard are implemented (in particular, 802.11 NAy), this function could return the duration of the currently transmitted packet.
The CurrentTime function can return a global shared time or a sufficiently accurate local time.
In addition, various common expressions are included to allow the calculation of values, as are variable type casts, comparators such as>, <and, placeholders for direct values, and a plurality of unassigned variables.
In step S2-2, each member of the resulting initial population is then evaluated.
In the presently described embodiment, each individual in the population is tested by being used in the MAC layer of a plurality of virtual devices in a simulation. The simulation can use a variety of network traffic models. These models provide the environment in which the population evolves, and can be determined empirically from network measurements, or predefined according to a standards specification.
Preferably, the fitness function chosen is responsive to the individual program's performance in mediating access to a shared wireless channel in the model. One simple fitness function therefore would be to measure the proportion of packets that are correctly transmitted first time, or as a corollary, the number correctly received first time.
The fitness function can be aggregated over the individual virtual devices in several ways; for example, the proportion of correctly transmitted packets can be evaluated averaged over each individual, favouring equal access between users. Alternatively, it can be evaluated over the whole simulated network, so favouring high bandwidth users.
Optionally the fitness measurements can further be weighted to account for differences between the devices, such as bandwidth use during testing, or different quality of service requirements between virtual devices or applications.
In step S2-3, if the process has not stopped, then some programs are selected according to fitness as described previously. Again, individual programs may reproduce, mutate or recombine to produce a new population, and the process iterates over a plurality of generations until a termination criterion, such as target level of fitness or a preset number of generations, is reached in step S2-4, at which point the fittest program is selected for use in step S2-5, for example to be pre-installed in wireless communication devices.
Example programs from such an iterative process are now listed, showing two evolutionary paths to similarly fit programs. The fitness value is on an arbitrary scale and is for comparative purposes only.
- Process Fitness Comment Al Backoff(Rand(Rand(CurrTransTimeO))); 0.0 No packet is ever sent, so performance is __________________________________________ _________ zero A2 ChanSendPacketO; 0.02 Opposite ofAl; sending packets without checking the channel results in nearly - ______________________________________ ________ continual packet collision.
Bi if(!ChanClear ){ 4.0 The addition of channel detection and Backoff ((0. 5 *CurrTransTimeO)); } back-off reduces contention.
else ChanSendPacketO;} B2 if(ChanClearO) { 11.5 Reducing the back-off time makes better ChanSendPacketO;} use of the medium.
else {Backoff(0.5*(CurrTransTime() Rand(2.0*CurrTransTimeO))); } B3 if(ChanClearO){ 18.3 Reducing the back-off time to zero is the ChanSendPacketO;} logical extension of this approach, but ______________________________________ ________ there is no scope to improve further.
Cl if(ChanClearO){ 28.6 However, backing off for a longer ChanSendPacketO; } duration appears to provide a greater else {Backoff(CurrTranslimeO;} return in reduced packet collisions, once the back-off duration becomes approximately equal to the average ______________________________________ ________ transmitted packet duration.
Dl if(ChanClearO){ 63.6 A mutation replaces the packet duration ChanSendPacketO;} with the device ID, resulting in each else {Backoff(myIDO)} device backing off into a unique timeslot, so reducing packet collisions, but seriously disadvantaging access for ______________________________________ ________ devices with higher ID numbers.
C2 If(ChanClearO){ 80.7 The longer back-off duration approach is ChanSendPacketO;} refined.
else {Backoff(2.5*CurrTransTjmeO)} D2 if(ChanClearO){ 81.4 Timeslotallocation is randomised as a ChanSendPacketO;} function of the device ID. This still else {Backoff(Rand(myID))} provides an ID related diversification of back-off times, whilst reducing the disadvantage of a high ID number to a bias rather than a fixed handicap. A small increase in packet collisions is therefore compensated for by more equal ______________________________________ ________ access between devices.
Programs Al and A2 represent members of the initial population that happen to have opposite behaviours. Programs B 1-3 and Cl and C2 illustrate evolution in different directions from a common position, exploring the trade-off between packet collision and medium utilisation due to back-off, as discussed previously. Clearly in the simulated network environment used there is more benefit from larger back-off values (at least, as long as lost airtime due to back-off is less than the mean packet duration times the fraction of retransmitted packets).
The comparative fitness of Cl and C2 can be used to highlight the benefits of genetic programming (GP) over genetic algorithms (GA) in this application: Cl and C2 essentially differ only in the use of a multiple (an implicit xl in Cl, versus x2.5 in C2) in conjunction with the output of function CurrTransTime (packet transmission time), but their performances differ by nearly a factor of 3.
In a GA scheme where the parameter space included a back-off value, it is clear that the populations would converge on a parameter value roughly equal to 2.5 times the mean packet transmission time used in the simulations. However, if this value were then implemented in MAC systems that had to deal with, for example, packets half this size, it is equally clear that the relative performance of the implementation would drop by over 50%. The very different fitness values ofCl and C2 show that the back-off period is a sensitive parameter, and consequently any single value selected by a GA scheme will only work well under certain conditions.
In contrast, the GP program C2 above has been able to converge on a relationship between back-off time and mean packet transmission time. Clearly this relationship is more robust to variations in mean packet size than a GA solution could be, so advantageously maintaining its performance over a wider range of conditions.
In programs Dl and D2, the mutation from CurrTransTime to myID has effectively created hard and soft time division multiple access (TDMA) solutions respectively. The parse tree for program D2 is illustrated in Figure 3.
Whilst the solutions provided by Dl and D2 appear unusual in that they bias access in favour of devices with low IDs, it is worth noting that it is possible to dynamically redefine device values in accordance with bandwidth usage; for example, the 48 bit MAC address used in 802.11 networks can be dynamically mapped to a shorter address within a network to reduce address overhead for high bandwidth users. Such dynamic mapping can be extended to relate low address numbers to high bandwidth use. One can appreciate that in a network environment that gave high volume users low ID numbers, a tailored MAC process of this type could be evolved to provide a much improved overall service.
Thus, advantageously, it will be understood by the skilled reader that the evolution of MAC access processes enables the generation of robust, tailored solutions to different specific network environments, by evolving the processes in simulation. This mitigates the problem of using a fixed MAC process for all eventualities.
Also advantageously, if desired, generalist solutions can be evolved by evaluating populations of programs over a range of environments, to cope with a wider range of circumstances than can be easily obtained using GA techniques.
The MAC process so evolved may be incorporated within a medium access control unit, for example as an ASIC, a suitably configured DSP or a general purpose processor configured by software to carry out the process. This medium access control unit may be functionally distinct, or part of a unit arranged in operation to perform the tasks of one or more parts of a protocol stack additional to the MAC layer.
It will be clear to a person skilled in the art that the language set may comprise other functions and terminals of plausible use in evolving a MAC transmit/back off decision process. For example, a terminal value corresponding to the buffer load could provide a means to prioritise access for those devices with the most to transmit or the most constrained resources. Similarly, functions for request-to-send and clear- to-send protocols may be provided.
It will be clear to a person skilled in the art that evolved programs may comprise more than one root within their top statement list, either provided initially or during evolution.
The provision of multiple roots allows the concatenation of otherwise unrelated functions to produce more complex processes.
It will also be clear to a person skilled in the art that other methods of generating initial individual programs may be contemplated within the scope of the present invention.
It will also be clear to a person skilled in the art that other fitness functions may be employed, such as one responsive to the quality of service measurement for each device, or one responsive to the overall medium utilisation. Similarly, a fitness function responsive to a combination of any or all of the fitness factors disclosed herein may be considered.
It will also be clear to a person skilled in the art that a MAC process may be evaluated in the presence of devices using other MAC protocols, for example 802.11 protocols and their variants, in order to evolve a suitable process for heterogeneous MAC environments, for example to support the presence of legacy devices in a network.
It will be clear to a person skilled in the art that the above process may be employed for any MAC protocol, for example a Bluetooth MAC protocol.
It will similarly be clear to a person skilled in the art that the above process may be employed for variants within a protocol, for example using 802.11 NAV information, initiating back-off only once a detected transmission ends, or further once a predefined time period has elapsed during which an ACK for the prior transmission may occur.
It will further be clear to a person skilled in the art that although fitter processes are preferable, any individual from a population of evolved processes that is able to perform the task may feasibly be selected for use.
It will also be clear to a person skilled in the art that introns, (nonfunctional elements of an evolved program), may be deleted before final use of the selected program. For example, functions that are never called due to the program structure may be deleted, as may code implementing unrealisable conditions, such as if( 1>2) then {. . . It will also be clear to a person skilled in the art that an ID value shared by devices in a network other than MAC address may be reconfigured according to bandwidth, for example a membership number at an application level.
Referring now to Figure 4, a mobile communication device in the form of a laptop 200 is illustrated in accordance with the specific embodiment of the present invention. The laptop 200 comprises a processor 230 operable to execute instructions stored in a working memory 240 and/or retrievable from a mass storage device 250. By means of a general-purpose bus 201, user interfaces 210 are in communication with the processor 230. The user interfaces 210 comprise, in this example, a keyboard and a pointing device, a visual display unit and a loudspeaker.
A communications unit 220 is connected to the general-purpose bus 201, and further connected to an antenna 225. By means of the communications unit 220 and the antenna 225, the laptop 200 is capable of establishing wireless communication with another cooperating device.
In the device of Figure 4, the working memory 240 stores user applications 245, a least one of which, when executed by the processor 230, configures a user interface to enable communication of data to and from a user. The applications 245 thus establish general purpose or specific computer implemented utilities and facilities that might habitually be used by a user.
In an embodiment of the present invention, the communications unit 220 comprises a means arranged in operation to carry out the functions of an OSI protocol stack.
Specifically, it comprises a medium access control unit operable to carry out the functions of the MAC sub-layer. Of these MAC sub-layer functions, the back-off / transmit decision process has been evolved in accordance with the method illustrated in figure 2.
This process may be pre-set, an upgrade or a temporary, environmentspecific usage, and provided either via a storage medium or transmitted to the laptop 200, for example during a service update or upon the laptop joining a wireless network that has had a back-off! transmit process evolved for it.
Advantageously, this enables in operation the flexible use of MAC backoff! transmit processes evolved for the current network environment.
It will be clear to a person skilled in the art that any device employing medium access control may use the present invention, for example mobile phones, PDAs, electronic games and media or multimedia entertainment devices.
The present invention may be implemented in any suitable manner to provide suitable apparatus or operation. An embodiment may consist of a single discrete entity added to a conventional host device such as a laptop, multiple entities added to a conventional host device, or may be formed by adapting existing parts of a conventional host device.
Alternatively, a combination of additional and adapted entities may be envisaged. For example, processing means may reside within the laptop device 200 or within a distinct communication unit 220 housed on a PCMIA card. Alternatively, processing may be shared between processing means of both. Thus adapting existing parts of a conventional host device may comprise for example reprogramming of one or more processors therein. As such the required adaptation may be implemented in the form of a computer program product comprising processor-implementable instructions stored on a storage medium, such as a floppy disk, hard disk, PROM, RAM or any combination of these or other storage media or signals.
It will be understood that the method of MAC access processing and means to implement it provide one or more of the following advantages: 1. provision of an evolved process for MAC transmit! back-off decisions; 2. provision of an evolved process specific to one or more presented network environments; 3. provision of an evolved process less sensitive to parametric variability than a genetic algorithm search of a non-evolved process, and; 4. use of a MAC process evolved for a network upon joining that network.

Claims (28)

  1. CLAIMS: 1. An evolutionary method of producing a medium access control
    (MAC) unit comprising transmission decision means, said transmission decision means being operable to determine whether to either transmit data or to back off for a period of time, the method comprising; i. assembling, from a language set of possible terms, a plurality of sequences of said terms each capable of being parsed in accordance with a programming language; ii. determining the fitness of each of said sequences of terms when parsed, according to a predetermined fitness function; iii. if a process termination criterion has not been met, then; iv. selecting one or more of the plurality of sequences of said terms in response to their determined fitness, generating a further plurality of sequences of terms originating from this selection, and returning to step II, or else; v. select one of the plurality of sequences of said terms in response to its determined fitness, to provide said function to said transmission means.
  2. 2. A method of producing a medium access control unit according to claim 1 wherein further candidate sequences are generated by the application of any or all of i. recombination; ii. reproduction, and; iii. mutation, to representations of one or more prior sequences.
  3. 3. A method of producing a medium access control unit according to claim 2 wherein the application of any or all of crossover, reproduction and mutation of one or more prior sequences is to trees or sub-trees of a parse-tree representation of said prior sequences.
  4. 4. A method of producing a medium access control unit according to any one of the preceding claims, wherein the evolved sequence selected to provide the function to said transmission means is the product of a genetic programming scheme employing a language set comprising functions relevant to MAC processes.
  5. 5. A method of producing a medium access control unit according to claim 4, wherein the language set comprises any or all of the following; i. a function that causes a rest for a specified period; ii. a function that causes a packet to be sent; iii. a function that causes a value to be broadcast on a signal channel; iv. a function that returns a value currently on a signal channel; v. a function that generates an estimate of the time to send the current packet; vi. a function that returns the current time; vii. a function that causes a check as to whether the channel is clear, and; viii. a function that returns an ID value of the device.
  6. 6. A method of producing a medium access control unit according to any one of the above claims, wherein evolved sequences are selected according to a fitness function responsive to the proportion of packets correctly transmitted first time when using the evolved process in transmission.
  7. 7. A method of producing a medium access control unit according to any one of the above claims, wherein evolved sequences are selected according to a fitness function responsive to the proportion of packets successfully received first time when using the evolved process in transmission.
  8. 8. A method of producing a medium access control unit according to any one of the above claims, wherein evolved sequences are selected according to a fitness function responsive to a quality of service measurement when using the evolved process in transmission.
  9. 9. A method of producing a medium access control unit according to any one of the above claims, wherein evolved sequences are selected according to a fitness function responsive to the overall medium utilisation when using the evolved process in transmission.
  10. 10. A method of producing a medium access control unit according to any one of claims 6 to 9 wherein the fitness function is weighted according to variations between individuals accessing the medium.
  11. 11. A method of producing a medium access control unit according to any one of claims 6 to 10 wherein the evaluation of fitness is conducted within a simulated medium access environment.
  12. 12. A method of producing a medium access control unit according to claim 11 wherein the simulated medium access environment is based on any one of: i. a specified standard, and ii. empirical measurement of a network.
  13. 13. A method of producing a medium access control unit according to any one of claims 6 to 12 wherein each individual accessing the medium employs the same candidate process.
  14. 14. A method of producing a medium access control unit according to any one of the preceding claims, wherein the evolved sequence, when parsed as instructions to implement a process, backs off for a period of time that is a function of a device ID value if the channel is deemed occupied.
  15. 15. A method of producing a medium access control unit according to any one of the preceding claims wherein a device ID value is dynamically assigned in response to device bandwidth usage.
  16. 16. A method of producing a medium access control unit according to any one of the preceding claims wherein the evolved sequence, when parsed as instructions to implement a process, backs off for a period of time that is a function of transmit buffer occupancy.
  17. 17. A medium access control unit produced in accordance with the method of any one of the preceding claims.
  18. 18. A wireless communications device comprising a medium access control unit according to claim 17.
  19. 19. A wireless communications device according to claim 18 wherein the wireless communication device is any of i. a laptop; ii. aPDA; iii. a mobile phone; iv. a game, and; v. a media playing device.
  20. 20. A method of medium access control (MAC) comprising the step of deciding whether to either transmit data or back off for a period of time, wherein the process employed to make said decision is evolved in response to a set of environmental conditions.
  21. 21. A genetic programming method wherein the language set is in accordance with any one of claims 4 and 5 and the fitness function is in accordance with any one of claims 6to 10.
  22. 22. A computer program product comprising a computer readable storage medium on which is stored information which, when loaded into a computer, causes the computer to perform a method according to any one of claims 1 to 16.
  23. 23. A computer program product comprising a computer readable storage medium on which is stored information which, when loaded into a computer, causes the computer to operate as a wireless communications device in accordance with claim 18 or claim 19.
  24. 24. A computer receivable signal bearing information which, when loaded into a computer, causes the computer to perform a method according to any one of claims I to 16.
  25. 25. A computer receivable signal bearing information which, when loaded into a computer, causes the computer to operate as a wireless communications device in accordance with claim 18 or claim 19.
  26. 26. A method of medium access control substantially according to any of the illustrated embodiments of the invention, with reference to the accompanying drawings.
  27. 27. A genetic programming scheme substantially according to any of the illustrated embodiments of the invention, with reference to the accompanying drawings.
  28. 28. A wireless communications device substantially according to any of the illustrated embodiments of the invention, with reference to the accompanying drawings.
GB0502678A 2005-02-09 2005-02-09 Method and apparatus for medium access control Expired - Fee Related GB2423162B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0502678A GB2423162B (en) 2005-02-09 2005-02-09 Method and apparatus for medium access control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0502678A GB2423162B (en) 2005-02-09 2005-02-09 Method and apparatus for medium access control

Publications (3)

Publication Number Publication Date
GB0502678D0 GB0502678D0 (en) 2005-03-16
GB2423162A true GB2423162A (en) 2006-08-16
GB2423162B GB2423162B (en) 2007-10-24

Family

ID=34356037

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0502678A Expired - Fee Related GB2423162B (en) 2005-02-09 2005-02-09 Method and apparatus for medium access control

Country Status (1)

Country Link
GB (1) GB2423162B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012160474A1 (en) * 2011-05-20 2012-11-29 Canon Kabushiki Kaisha Method and device for optimizing access to a medium in a communication network
US10841951B2 (en) 2016-05-13 2020-11-17 Telefonaktiebolaget Lm Ericsson (Publ) Communications device and methods therein for providing an improved channel access procedure

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5148513A (en) * 1988-05-20 1992-09-15 John R. Koza Non-linear genetic process for use with plural co-evolving populations
WO2002103943A1 (en) * 2001-06-18 2002-12-27 Itran Communications Ltd. Channel access method for powerline carrier based media access control protocol
GB2390775A (en) * 2002-07-12 2004-01-14 Fujitsu Ltd Packet scheduler using a genetic algorithm

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5148512A (en) * 1990-08-03 1992-09-15 Owens James L Hair dryer with air delivery shroud providing small exhaust openings having metallic heat transfer means

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5148513A (en) * 1988-05-20 1992-09-15 John R. Koza Non-linear genetic process for use with plural co-evolving populations
WO2002103943A1 (en) * 2001-06-18 2002-12-27 Itran Communications Ltd. Channel access method for powerline carrier based media access control protocol
GB2390775A (en) * 2002-07-12 2004-01-14 Fujitsu Ltd Packet scheduler using a genetic algorithm

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012160474A1 (en) * 2011-05-20 2012-11-29 Canon Kabushiki Kaisha Method and device for optimizing access to a medium in a communication network
US10009924B2 (en) 2011-05-20 2018-06-26 Canon Kabushiki Kaisha Method and device for optimizing access to a medium in a communication network
US10841951B2 (en) 2016-05-13 2020-11-17 Telefonaktiebolaget Lm Ericsson (Publ) Communications device and methods therein for providing an improved channel access procedure

Also Published As

Publication number Publication date
GB2423162B (en) 2007-10-24
GB0502678D0 (en) 2005-03-16

Similar Documents

Publication Publication Date Title
Kulkarni et al. A deterministic approach to throughput scaling in wireless networks
Hammoodi et al. A comprehensive performance study of OPNET modeler for ZigBee wireless sensor networks
Liu et al. Towards utility‐optimal random access without message passing
Cui et al. Channel allocation in wireless data center networks
Darehshoorzadeh et al. Toward a comprehensive model for performance analysis of opportunistic routing in wireless mesh networks
Bordenave et al. Random multi-access algorithms in networks with partial interaction: a mean field analysis
CN104285486B (en) Method and apparatus for measuring interference and passing on information
US20220279337A1 (en) Dynamic tuning of contention windows in computer networks
Montana et al. Optimizing parameters of a mobile ad hoc network protocol with a genetic algorithm
GB2423162A (en) Evolutionary method for medium access control
Hussain et al. Genetic algorithm for energy-efficient trees in wireless sensor networks
CN105451293B (en) Retransmission method in wireless network, the method and apparatus for determining forwarding strategy
Carreras et al. Eigenvector centrality in highly partitioned mobile networks: Principles and applications
Asonye et al. Analysis of personal area networks for zigbee environment using random early detection-active queue management model
Vázquez-Rodas et al. Dynamic buffer sizing for wireless devices via maximum entropy
Sabir et al. Stochastic learning solution for constrained nash equilibrium throughput in non saturated wireless collision channels
Badia et al. Joint routing and link scheduling for wireless mesh networks through genetic algorithms
Fujita et al. Spreading Factor Allocation Method Adaptive to Changing Environments for LoRaWAN Based on Thermodynamical Genetic Algorithm
Oda et al. A GA-based simulation system for WMNs: performance analysis of WMN-GA system for different WMN architectures considering DCF and EDCA
Potti et al. Hybrid genetic optimization to mitigate starvation in wireless mesh networks
Aldawsari Novel High Performance Broadcast Algorithms for Crowded Multiple Access Channels
Badia et al. Evaluation of various interference models for joint routing and scheduling in wireless mesh networks
Selvakumar Optimization algorithm to control interference-based topology control for delay-constrained mobile ad-hoc networks
Ahmad et al. Investigating delay of the media access control protocols for IoT‐RoF using quantum entanglement
Zhao et al. A model for calculating channel share of 802.11 access points with overlapping wireless cells

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20130209