The accompanying drawings, which are incorporated in and constitute part of this specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention. The embodiments illustrated herein are presently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown, wherein:
Embodiments of the present invention provide a method, system and computer program product for multi-scale, multi-window network traffic generation. In accordance with an embodiment of the present invention, a multi-scale, multi-window network traffic generator can simulate the self-similar characteristics of an inter-arrival time distribution for packets simulated for arrival across multiple time scales. The traffic generator can operate upon an adapted, n-state MMPP model with transition windows to identify state transitions in each of the time scales. Specifically, each of the transition windows can map a gap between multiple scales of a self-similar inter-packet time distribution to facilitate the selection of parameter values when generating packets within a particular time scale.
In illustration,
The multi-scale, multi-window network traffic generator 140, as shown in
The transition probabilities can be organized into a probability transition matrix and when provided a desired traffic pattern, the matrix can produce a selected one of the transition windows 230 for use generating real-time network traffic. In this regard, the parameter computation logic 220 can compute an inter-arrival time for each of the burst of bursts that varies from one burst of bursts to the next. In this regard, multiple transition windows 230 can be provided as τi=[ρmini,ρmaxi+1], each iteration of the multiple transition windows 230 providing for three possible cases: (1) ρi>ρmin1 in consequence of which a packet is to be generated with an inter-packet time in the bursty state; (2) ρi<ρmax2 in consequence of which a packet is to be generated with an inter-packet time in the idle state; and ρmax2<ρi<ρmin1—the gap between two states within the transition window in consequence of which no packet is to be generated.
Thus, each of the transition windows 230 can generate packets with an inter-packet time distribution determined by the parameters μ1, μ2, . . . , μn corresponding to each of the states P1, P2, . . . Pn where μ is the mean parameter and P is the distribution for a burst of bursts. Each burst of bursts can be scheduled within the packet scheduler 250 for a different scale of self-similar traffic and transmitted by the transmitter 260 into the target network. Thereafter, the pattern of burst of bursts can repeat for the number of scales selected.
In more particular illustration,
In even yet further illustration,
In block 425, a scale within the set of scales can be selected for processing. In block 430, a window can be retrieved for the selected scale and in block 435, a state can be determined according to the retrieved window. Thereafter, in block 440, the packet generation parameters can be generated for the determined state and in block 445, a burst of bursts can be generated utilizing the parameters. Finally, in block 450 the burst of bursts can be transmitted and in decision block 455, if the process has not completed, in decision block 460 it can be determined whether to change scale. If so, a new scale can be selected in block 425 and the process can repeat through block 430. When no additional traffic is to be generated, the process can terminate in block 465.
Embodiments of the invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, and the like. Furthermore, the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system.
For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk—read only memory (CD-ROM), compact disk—read/write (CD-R/W) and DVD.
A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers. Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.