The present invention is related to the field of wireless communication. More specifically, the present invention relates to modeling operations within an ad-hoc network.
Mobile ad-hoc networks (MANET) are intended to operate in highly dynamic environments whose characteristics are hard to predict a priori. Typically, the nodes in the network are configured by a human expert and remain static throughout a mission. This limits the ability of the network and its individual devices to respond to changing physical and network environments. Providing a model of operation can be one step towards building not only improved static solutions/configurations, but also toward finding viable dynamic solutions or configurations.
The present invention, in illustrative embodiments, includes methods and devices for operation of a MANET system. In an illustrative embodiment, a method includes steps of analyzing and predicting performance of a MANET node by the use of a multiple model estimation technique, which is further explained below. Another illustrative embodiment optimizes operation of a MANET node by the use of a model developed using a multiple model estimation technique. An illustrative device makes use of a multiple model estimation technique to estimate its own performance. In a further embodiment, the illustrative device may optimize its own performance by the use of a model developed using a multiple model estimation technique.
The following detailed description should be read with reference to the drawings. The drawings, which are not necessarily to scale, depict illustrative embodiments, and are not intended to limit the scope of the invention.
A gateway or base node may be provided for the MANET system as well. For example, a MANET system may comprise a number of mobile robots used to enter a battlefield and provide a sensor network within the field. The mobile robots would be represented by nodes such as node X, which send data back to a base node, such as node Y, via other mobile robots. While different nodes may have different functionality from one another, it is expected that in some applications, several nodes will operate as routers and as end hosts.
Narrowing the view from the network to the individual device, a single node is shown in
For each node, it is possible to capture a great variety of statistics related to node and network operation. Some node statistics may include velocity, packet size, total route requests sent, total route replies sent, total route errors sent, route discovery time, traffic received and sent (possibly in bits/unit time), and delay. Additional statistics may relate to the communications/radio, such as bit errors per packet, utilization, throughput (likely in bits/unit time), packet loss ratio, busy time, and collision status. Local area network statistics may also be kept, for example, including control traffic received and/or sent (both in bits/unit time), dropped data packets, retransmission attempts, etc. These statistics and parameters are merely examples, and are not meant to be limiting. Relative data may be observed as well, for example, a given node may generate a received signal strength indicator (RSSI) for each node with which it is in communication range, and may also receive data from other nodes regarding its RSSI as recorded by those nodes.
For a given node, there are a number of observable factors, which may include past parameters such as power level and packet size that can be controlled by changing a setting of the node. The statistics kept at the node are also considered observables. Anything that can be observed by the node is considered to be an observable. Observables may include parameters that control operation of the network, result from operation of the network, or result from operations within a node, including the above noted statistics and control variables.
Because there are so many observables, it is unlikely that every observable can be monitored simultaneously in a manner that allows improved control. The number of observables that can be monitored is also limited by the likelihood that some MANET devices will be energy constrained devices having limited power output (such as solar powered devices) or limited power capacity (such as battery powered devices). Rather than trying to capture and monitor all observables, one goal of modeling the system from the nodal perspective is to provide an estimate of operation given a reduced set of observables. Such a model may facilitate control decisions that change controllable parameters to improve operation.
It should be understood that “improving” operation may have many meanings, but most likely will mean causing a change to at least one measurable statistic or observable that will achieve, or take a step toward achieving, a desired level of operation. For example, steps that increase data throughput may be considered as improving operation.
The illustrative embodiments shown herein are, for illustrative purposes, greatly simplified. Those of skill in the art will understand that extrapolation to a particular number of observables and/or controllables will be a matter of design expertise. For example, it is expected that a well-reduced model for control operation, as measured by node throughput, may show throughput as being a function of more than three or four variables. For example, as shown in
Performance may be measured by a number of parameters. For simplicity, performance may be considered herein as a single-dimension result. For example, performance may be a single-node measurement such as data throughput. Alternatively, performance may be a network based measure, for example, a sum of latencies across a network, an average latency, or maximum latency. Indeed, with latency, depending upon the aims of a particular system, there are several formulations for network-wide performance characteristics. Multi-dimensional performance metrics can also be considered, for example, a two-dimensional performance metric may include average node latency and average route length measured in the average number of hops. The present invention is less concerned with the actual performance metric that is to be optimized, and focuses instead on how a performance metric may be modeled as a result of a plurality of inputs.
A multiple model regression, in an illustrative example, is achieved by a multi-step process. First, known dimension reducing methods are applied to reduce the number of variables under consideration. Next, a multiple model estimation procedure is undertaken.
In the multiple model estimation procedure, a major model is estimated and applied to the available data. Various modeling techniques (e.g. linear regression, neural networks, support vector machines, etc.) are applied until a model that, relative to the others attempted, describes the largest proportion of the available data, is identified. This is considered the dominant model. Next, the available data is partitioned into two subsets, a first subset being described by the dominant model, and a second subset which is not described by the dominant model. The first subset is then removed from the available data to allow subsequent iterations. The steps of estimating and identifying a dominant model, and partitioning the data, are repeated in iterations until a threshold percentage of the available data is described. For example, iterations may be performed until 95% of the available data has been partitioned and less than 5% of the available data remains.
The use of multiple model regression allows functions to result as shown in
The multiple model regression begins with the assumption that a response value is generated from inputs according to several models. In short:
y=tm(x)+δm, x∈Xm
Where δm is a random error or noise having zero mean, and unknown models are represented as target functions tm(x), m=1 . . . M. The assumption is that the number of models is small, but generally unkown. Generalizing to a greater number of dimensions, the functions may also be given as:
y=tm(wm, x)+δm, x∈Xm
In this case, the wm represents the input of a plurality of other parameters. It should be noted that wm may represent any and/or all past values of any selected observable value(s). In some instances, wm includes one or more previous values for x and y. The use of the x variable in these equations is provided as indicating that, in a given instance, x is the variable that may be adjusted (such as power, packet length, etc.) to predictably cause a change in the parameter, y, that is modeled.
Additional details of the multiple model regression are explained by Cherkassky et al., MULTIPLE MODEL REGRESSION ESTIMATION, IEEE Transactions on Neural Networks, Vol. 16, No. 4, July 2005, which is incorporated herein by reference. The references cited by Cherkassky et al. provide additional explanation, and are also incorporated herein by reference.
Some illustrative embodiments go farther than just finding the model, and move into making control decisions based upon predicted performance from the model. In an illustrative example, given the identified multiple models, a first manner of addressing a control problem is to construct a predictive outcome model. For example, given a state of a MANET device, as described by the observables, the method seeks to improve the performance outcome, y, by modifying x, a controllable parameter. An illustrative method uses a weighted multiple model regression approach. This provides an output from parameters as follows:
y=c1f1(w1, x)+ . . . +cmfm(wm, x)
Where the {c1, . . . cm} are the proportions of data, from the training samples or training data, that are described by each of the models fi(wi, x). For example, if there are 100 training samples, and three functions f1, f2, f3 describe 97/100, the above methodology would stop after identifying the three functions f1, f2, f3, since less than 5% of the samples would remain. If 52 of those 97 are described by f1, then c1 would be 52/97=0.536; if 31 of those 97 are described by f2, then c2 would be 31/97=0.320, and the remaining 14 of 97 are described by f3, then c3 would be 14/97=0.144.
By use of this approach, the variable x may be modified to improve function of an individual device or an overall system. A more generalized approach is as follows:
y=c1f1(w1, x1 . . . xi)+ . . . +cmfm(wm, x1 . . . xi)
In this more general approach, the variables x1 . . . xi represent a plurality of controllable factors. The predicted outcome y may be a future outcome. Then, an illustrative method includes manipulation of the controllable factors x1 . . . xi, in light of the observable factors w1 . . . wm, to improve the predicted outcome, y.
y=0.7(f1(w1, x))+0.3(f2(w2, x))
In some embodiments, the functions f1 . . . fm are selected as simple linear regressions. This can be a beneficial approach insofar as it keeps the functions simple. For example, when performing predictive analysis at the node level, simpler analysis can mean a savings of power. However, the accuracy of the predictive methods may be further improved by adding simple calculations to the weighting factors.
The lower portion of
y=c1(x)f1(w1, x)+ . . . +cm(x)fm(wm, x)
Generation of the weight formulas, c1(x) . . . cm(x) may be undertaken by any suitable method.
In an illustrative example, when the new data point 114 is captured, it may then be associated with one of the available models. The step of associating new data with an existing model may include, for example, a determination of the nearest model to the new data. If the new data is not “close” to one of the existing models, it may be marked as aberrant, for example. “Close” may be determined, for example, by the use of a number of standard deviations.
If it is determined that the new data 114 should be associated with one of the existing models, several steps may follow. In some embodiments, the association of new data 114 with one of the multiple models may be used to inform a predictive step. For example, rather than considering each of several models in making a prediction of future performance, only the model associated with the new data 114 may be used.
Another adaptive step may include the changing of the second function 112. As shown, several new data points 114 are captured and lie along a line that is close to, but are consistently different from the second function 112. Given the new data points 114, the second function 112 may be modified to reflect the new data, yielding a new second function 116.
In some embodiments, a determination may be made regarding whether to update the model. For example, data analysis may be performed on at least selected observable data to determine whether one of the identified multiple models is being followed over time. If it is found that there is consistent, non-zero-mean error, then one or more of the models may need refinement. If, instead, there are consistent observable data that do not correspond to any of the identified models, a reestablishment of the model may be in order.
After optimization, the method may either continue to update the model as shown at 208, either on an ongoing basis or as necessitated by incoming data that suggest modification is needed. Otherwise, if no updating is performed, or after updating, the method continues to iterate itself, as shown at 210. The iteration may occur on an ongoing basis, for example, where iteration occurs as soon as computation is complete. In some embodiments, rather than the ongoing basis, iteration 210 may include setting a timer and waiting for a predetermined time period to perform the next operation. For example, in a given node, it may be desirable to avoid instability that the optimization only occurs periodically, for example, every 30 seconds. Alternatively, optimization may occur occasionally, as, for example, when a message is received that indicates optimization should occur, or when a timer or counter indicates optimization should occur. For example, if a counter indicating data transmission errors passes a threshold level within a certain period of time, optimization may be in order.
As can be seen from the above, there are many different types and levels of analysis that may be performed. In some illustrative MANET embodiments, different nodes are differently equipped for analysis. In particular, some nodes may be equipped only to receive instructions regarding operation, while other nodes may be equipped to perform at least some levels of analysis, such as updating portions of a model and determining whether the multiple model solutions that are initially identified are functioning. Yet additional nodes may be equipped to perform analysis related to establishing a model. Such nodes may be differently equipped insofar as certain nodes may include additional or different programming and/or hardware relative to other nodes.
While the above discussion primarily focuses on the use of the present invention in MANET embodiments, the methods discussed herein may also be used in association with other wireless networks and other communication networks in general.
Those skilled in the art will recognize that the present invention may be manifested in a variety of forms other than the specific embodiments described and contemplated herein. Accordingly, departures in form and detail may be made without departing from the scope and spirit of the present invention as described in the appended claims.