Modified Bloom Filter for Efficient Congestion Control in Wireless DiffServ Networks S. Rajeev1, S. N. Sivanandam2, K.V. Sreenaath3 1 Department of Electronics & Communication Engineering 2 Department of Computer Science & Engineering 3 Department of Information Technology PSG College of Technology, Coimbatore, India Phone: (0422) 2572177 ext. 436 e-mail: [email protected] , [email protected] ABSTRACT A Bloom filter is a simple space efficient data structure for representing a set in order to support membership queries. Conventional Bloom Filters perform poorly in conditions where both time efficiency and accuracy are critical. In this paper we introduce the use of Modified Bloom Filter, for efficient congestion control in edge and core routers and also in access points of a Wireless Network based on DiffServ Architecture. The proposed filter performs considerably well even when restrictions on both time efficiency and accuracy are placed.

will incorrectly report K as a member. For example, if the set Fruits, contains Pineapple and Cherry but not Tamarind, then the Bloom Filter (Fig.3) would incorrectly identify tamarind as a fruit. Such an error could occur because all the bits that would be set if tamarind were hashed on would already be set in the Filter.

Index Terms—Bloom filter, Modified Bloom Filter, Wireless DiffServ Networks, Congestion control. I. INTRODUCTION The Bloom filter [9] is a way of using hash transforms [8] to determine set membership [1]. Bloom filters find application wherever fast set membership tests on large data sets are required like distributed network caches in routers and caching proxy servers on the World Wide Web (WWW). A .Definition Bloom Filters use hash transforms to compute a vector (the filter) (Fig.1) that is representative of the data set. Membership is tested by comparing the results of hashing on the potential members to the vector. In its simplest form the vector is composed of N elements, each a bit. An element is set if and only if some hash transform hashes to that location for some key. Fig.2 shows such a filter with m = 4 hash transforms and N = 8 bits. B. What Is an Error? Errors can occur when two or more transforms map to the same element. The membership test for a key K works by checking the elements that would have been updated if the key had been inserted into the vector. If all the appropriate flag bits have been set by hashes then K will be reported as a member of the set. If the elements have been updated by hashes on other keys- and not K - then the membership test

Fig.1 Hash Transform in Bloom Filter

Fig.2 A Simple Bloom Filter

Fig.3 Tamarind is erroneously identified as a member

II. IMPLEMENTATION Bloom Filters operate in the following manner: A. Hashing Hashing transforms are typically pseudo-random mathematical transforms used to compute addresses for lookup [2, 3]. Fig.1 shows the use of the hash transform h , to find an item with a key K , stored at address h( K ) . The time complexity of searches by hashing can be as low as O (1) or as high as O ( N ) , for a hash table with N elements. The worst-case behaviour occurs when two or more distinct keys K i = K j collide, i.e., h( K i ) = h( K j ) , and the entire table must be searched to find the correct entry. Bloom Filters are a fast method in which the hash transforms always have constant time complexity - there is no attempt at collision resolution. B. Basic Implementation Bloom Filters have three operations: A membership test, Initialization, and Update. Initialize clears all the elements in the vector. Insert computes the values of the m hash transforms for a key and updates the appropriate elements. In the simplest case the update sets the element's flag bit. It requires time proportional to the number of hash transforms. In more complicated cases, additional information would also be placed in the element. The time complexities are summarized in Table 1. Table 1: Time Complexities of Filter Steps

Procedures INITIALIZE SET

Parameters Table of N cells Cell in Table

Time Complexity O( N ) O (1)

CLEAR

Cell in Table

ISSET

Cell in Table

O (1)

INSERT

Table, Key and m hash transforms Table, Key and m hash transforms

O ( m)

ISMEMBER

O (1)

O ( m)

The functionalities of the various procedures shown in Table1 are : • • • • • •

INITIALIZE- To initialize the cells in the Filter SET- To set a value in a particular cell in the Filter CLEAR- To clear the value present in a particular cell in the Filter ISSET- To verify if a particular cell is set with a value. INSERT- To insert values given the key ISMEMBER- To verify for membership

In the example shown in Fig.2, hash transform ‘ h1 ’ updates the value of element 2 for key K and transform ‘ h 2 ’ updates the value of element 5 using the same key. ISMEMBER

computes the same hash values as Insert but instead of updating the elements it checks if they have been set. By definition, only members have their keys inserted into the vector. If any of the hash transforms, hi ( K ) , compute a vector element that has not been set, then the key K could not have been inserted into the vector and therefore cannot be a member of the set. Note that the worst time complexity for ISMEMBER occurs for members and non-members that are erroneously reported as members. C. Modified Bloom Filter Conventional Bloom Filters perform poorly in conditions where both time efficiency and accuracy are critical [4]. The Conventional Bloom Filter can be made error-free by Modified Bloom Filters [4] which introduce additional fields in each cell that help identify all cells that have been set by the same key. Two cells that are set by different keys will both contain a set bit, followed by a field (bit-pattern), which is different in the two cells. The unique field that can be incorporated to make Conventional Bloom Filters error-free is the time of updating. Incorporating the time of updating would require 8 Bytes of storage space, which is 64 times the storage space required for Conventional Bloom filters. A solution to this problem is in reducing the precision of time of updating field, with a corresponding reduction in accuracy. An obvious choice of doing this is by using Random numbers. III. MATHEMATICAL ANALYSIS The performance of Modified Bloom Filters [4] is analyzed: A. Time Complexity INITIALIZE - The naive implementation requires O ( N ) time, however if N is the size of a native data type then it can be done in constant time. INSERT-Insertion requires the computation of m hash transforms, each of which requires O (1) time. (Since collision detection is not necessary all the hash transforms have to do is compute values.) Insertion therefore takes O ( m) time per key or O ( mK ) for all K keys. ISMEMBER-In order to check for membership we need to compute as many as m transforms. The time taken for the rejection of a non-member is given below. In the average case, on an average only two transforms will be required to reject any non-member. In the worst case, when the key is a member of the set, the time complexity is O ( m) . B. Relationship between Parameters The behavior of Randomized Bloom Filters is determined by four parameters: N -The number of elements (or cells) in the Filter m -The number of hash transforms to be used K -The Key f -The fraction of elements (or cells) that are set in the Filter

x -Number of decimal places in the random number used,



d h ∞  1  = (1 − f ) × ∑ f × ∑ x  h =1 df h =1  10 

i.e. the precision of the random number used. Here we derive equations that describe the relationship between these factors to predict the amount of space the Modified Bloom Filter will require. The expected fraction of false positive results given the parameter values is the error rate. The rejection time is the expected number of hashes that will be required to determine that a key is not a member of the set.

Taking Differentiation outside the summation we get,

The time taken for the number of hash functions required for rejecting a non-member is called as rejection time



Since

∑ h =1

In the Conventional Bloom Filters, the rejection time when using m hash transforms is given by Rejection Time =

1 where f ≤ 1 1− f

(1)

In the Modified Bloom Filters, the rejection time when using m hash transforms with random numbers taken till the x th decimal point is as given below. If f is the fraction of the non zero elements in the Modified Bloom Filter then The Probability of not rejecting a non member by the first hash transform = 1 − f Assuming that the hash transforms are independent, Probability of not rejecting a non member by further hash transform = 1 −

f . 10 x

 f  = ∑ h × (1 − f ) ×  x   10  h =1 m

h −1

 f  = (1 − f ) × ∑ h ×  x   10  h =1 m

(2)



 f  ≤ (1 − f ) × ∑ h ×  x   10  h =1 can

simplify

 f  x  

∑ h ×  10 h =1

the



f h ×∑

∑ h =1

h =1



f h and ∑ h =1

1

(10 )

x h −1

1

(10 )

x h −1

geometric series, a, ar , ar

2

(6)

where f ≤ 1

is in the form of a

,.... we have

    1   where f ≤ 1  × 1 +   1− 1  10 x       1 1 1 +  where f ≤ 1 = (1 − f ) × × 2 1   1− f  1− x  10   −1   1 1   = × 1 + 1 − x   where f ≤ 1 (7) (1 − f )   10  

d  1 = (1 − f ) ×  df  1 − f

(

)

−1

1   n Since 1 − is in the form of (1 + x ) expanding it x   10 

equation

= (1 − f ) × ∑ h × f

h −1



  1 2 = × (1 − f )  1 − 1   10 x

=

h −1

(4)

(4) by

recognizing

as sum of two geometric series.

h =1



(3)

h −1



h =1

   where f ≤ 1   

(8)

when using random numbers with the rather limited precision of up to the second decimal, equation (8) becomes:

h −1

Converting equation (2) in to infinite summation we get



 1  f × ∑  x  where f ≤ 1 h =1  10 



d df

h −1



h

using Binomial Expansion we have

In general then the probability of h hashes being required to reject a non-member

We



d = (1 − f ) × df = (1 − f ) ×

C. Rejection Time

h −1

 1  × ∑ x  h =1  10 

h −1

Writing equation (4) in terms of differentiation we get,

(5)

1 × 2.02 (1 − f )

(9)

The achieved rejection time, with the use of only 2 hash transforms, is thus twice rejection time of the conventional Bloom Filter. The comparison of the rejection times of both the conventional Bloom Filter and Modified Bloom Filter is shown in Fig.4

• when the rate of delivery of packets to an edge router in a Diffserv Domain is much more than the rate at which packets are sent from another a different Diffserv Domain • when the rate of delivery of packets to a router (edge or core) is much more than the rate at which packets are sent from other routers within the same Diffserv Domain.

Fig. 4. Rejection Time Comparison

D. Error Rate The expected fraction of false positive results – cases of nonmembers being falsely identified as members – given the parameter values is called the error rate.

Fig.5 Error Rate Comparison for m=2

In the conventional Bloom Filters the Error rate when using m hash transforms is given by m (10) Error rate = f In the Modified Bloom Filters, the error rate when using m hash transforms with random numbers taken till the x -th decimal point is: The probability that each of the m hash transforms hash to a cell that is non-zero & and all those cells contain the same random number. This probability is given by:

= f × ( f / 10 x )× ( f / 10 x )× .......up to m terms

(11)

Even when using only 2 hash transforms ( m = 2) , and using random numbers with the rather limited precision of up to the second decimal, equation (11) becomes:

= ( f × f ) / 100

(12) The achieved error rate, with the use of only 2 hash transforms, is thus 100 times lower than the error rate in a conventional Bloom Filter. The comparison between the Error rates of the Conventional Bloom Filter and Modified Bloom Filter for m=2 and m=3 is shown in Fig.5 and Fig.6. IV.CONVENTIONAL METHOD FOR CONGESTION CONTROL IN WIRELESS DIFFSERV NETWORKS Congestion in general, occurs in a network when the number of incoming packets to a network element (router) is more than the number of packets a network element (router) can queue at a particular instant ' t ' . Congestion in Wireless DiffServ Networks [5] occurs

Fig. 6 Error Rate Comparison for m=3

When congestion occurs, the network element (say edge/core router) drops packets. The decision on which packets to be dropped is a crucial issue. Moreover once the packets of a particular router (edge/core router) are dropped then the router (edge/core router) is requested to reduce the rate at which packets are sent. Once a request for slowing the rate of packet delivery is sent both the sender and receiver of the packets (routers) trade for a Service Level Agreement (SLA) [6] on how much the rate is to be reduced (if so) and also trade for Quality of Service (QoS) Parameters for the traffic flow between them such as • Bandwidth • Delay • Packet Loss • Congestion • Queuing Delay

• • •

Throughput Buffer Capacity Jitter

A Service Level Agreement (SLA) [6] is a service contract between a customer and a service provider that specifies the forwarding service a customer should receive. A customer may be a user organization (source domain) or another DiffServ [5] domain (upstream domain). An interesting solution to the problem of congestion control in routers is by Stochastic Fair Blue (SFB) algorithm [7]. When routers implementing SFB get near their capacity they begin to drop packets from the various hosts (or other routers) that are connecting to them. The routers use Bloom Filters and labels to probabilistically determine which hosts (or other routers) continue to send more than their share of traffic even when some of their data are dropped by the router. Then an effective SLA is traded between the router and the Host regarding the decrease in rate at which packets are sent and other QoS parameter are traded between them. Hosts (or other routers) which continue to operate in a non-cooperative fashion without obeying the SLA have more of their packets dropped. But traffic from hosts (or other routers) which reduces their demands on the router is not dropped. V. EFFICIENT CONGESTION CONTROL USING MODIFIED BLOOM FILTER As shown in equation (10) and as said in [4] the error rate in a conventional Bloom Filter is very high. Moreover the rejection time is also less as shown in equation (1) (which means that the probability of only a non member being rejected is less). But routers are special-purpose network devices that must operate with high efficiency in real time. For efficient congestion control in routers, error rate should be lesser and rejection time should be higher (in order that only a non member is rejected). This can be achieved by using the Modified Bloom Filter where the error rate is very less when compared to a conventional bloom filter (as in equation (10), (11) and (12)) and rejection time is more than that of the conventional filter (as in equation (1), (8) and (9)). Therefore when congestion occurs in Wireless DiffServ Networks, routers implementing SFB algorithm begin to drop packets from the various hosts (or other routers) that are connected to them. The routers use Modified Bloom Filters and labels to probabilistically determine which hosts (or other routers) continue to send more than their share of traffic even when some of their data are dropped by the router. Then an effective SLA is traded between the router and the Host regarding the decrease in rate at which packets are sent and other QoS parameter are traded between them. Hosts (or other routers) that continue to operate in a non-cooperative fashion without obeying the SLA have more of their packets dropped. But traffic from hosts (or other routers) which reduces their demands on the router is not dropped. Modified Bloom Filters are used as a space-and time-efficient method to keep track of

which hosts are sending too much traffic and are much more efficient than Conventional Bloom Filter for congestion control as shown in equation (1), (7), (8) ,(9), (10) and (11) and in Fig.4, Fig.5 and Fig.6. VI. CONCLUSION The Modified Bloom Filter has the main advantage of reduced error rate and increased rejection time, which is more suited for use in real-time congestion control in Routers, Since the performance of DiffServ Architecture for Wireless Networks depend on the QoS Parameters, effective SLA handling plays an important part in ensuring a good service. As the proposed model addresses the underlying packet handling complexity, effective congestion control in routers is achieved. VII.

ACKNOWLEDGEMENT

The authors wish to thank the Network System Design Center In-charge in The Department of Electronics and Communication Laboratory, PSG College of Technology and Intel Inc., for providing facilities to implement and test the Modified Bloom Filter on routers constructed using Intel IXP1200 Network processors. REFERENCES [1] Burton H. Bloom. “Space/time trade-offs in hashing coding with allowable errors”. Communications of the ACM, Vol. 13(7) pp. 422 426, Jul 1970. [2] Donald E. Knuth. “Sorting and Searching - The Art of Computer Programming”, Vol.3, Addison-Wesley Publishing Company, 1973. [3] Ronald L. Graham, Donald E. Knuth, and Oren Patashnik. “Concrete Mathematics -A Foundation for Computer Science”, Chapter 8.5 Hashing, pages 397-412. Addison-Wesley Publishing Company, 1989. [4] S. Rajeev, S.N. Sivanandam, Suren.M, Govindraj.J, “Randomized Bloom Filters for Time Critical Applications in Mobile Handheld Devices”, Proc. Intl. Conf. on Communications, Devices and Intelligent Systems (CODIS2004), Kalkatta, India, Jan. 2004 [5] S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, W. Weiss, “An Architecture for Differentiated Services”, RFC 2475, Dec. 1998. [6] Fankhauser .G, Schweikert .D, Plattner .B, “Service Level Agreement Trading for the Differentiated Services Architecture”. Swiss Federal Institute of Technology, Computer Engineering and Networks Lab, Technical Report No. 59. Nov. 1999. [7] Wu-Chang Feng, Dilip D. Kandlur, Debanjan Saha, and Kang G. Shin, “Stochastic Fair Blue: A queue management algorithm for enforcing fairness”, IEEE Computer and Communications Societies, Vol.3, pp 1520-1529, 2001. [8] Zbigniew J. Czech, George Havas, and Bohda S. Majewski, “An optimal algorithm for generating minimal

perfect hash functions”, Information Processing Letters, 43(5):257-264, 1992. [9] James Blustein and Amal El-Maazawi. “Bloom Filters- A Tutorial, Analysis, and Survey”, Technical Report CS2002-10. Faculty of Computer Science, Dalhousie University, Canada.

Modified Bloom Filter for Efficient Congestion Control in Wireless DiffServ Networks Please send all correspondence to First Author : First Author S. Rajeev Ph.D Asst. Professor Department of Electronics & Communication Engineering PSG College of Technology, Peelamedu, Coimbatore – 641 004 Tamil Nadu. Ph : (0422) 2572177 ext. 436 Email : [email protected] , [email protected] Second Author S. N. Sivanandam Ph.D Professor & Head Department of Computer Science & Engineering PSG College of Technology, Peelamedu, Coimbatore – 641 004 Tamil Nadu. Ph : (0422) 2572177 ext. 447 Email : [email protected] Third Author K.V. Sreenaath Department of Information Technology PSG College of Technology, Peelamedu, Coimbatore – 641 004 Tamil Nadu. Ph : (0422) 2572177 Email : [email protected]

Modified Bloom Filter for Efficient Congestion Control in Wireless ...

in access points of a Wireless Network based on DiffServ ... Bloom filters find application ..... between a customer and a service provider that specifies the.

177KB Sizes 0 Downloads 304 Views

Recommend Documents

Efficient Loop Filter Design in FPGAs for Phase Lock ... - CiteSeerX
Receivers in modern communications systems often ..... 10 – Simplified flow chart of multiplier state machine .... International Seminar: 15 Years of Electronic.

Modified AODV Routing Protocol for Traffic Control in ...
using adaptive routing with congestion control technique for mobile ad hoc networks. .... Energy Management: Energy management is defined as the process of ...

tcp congestion control pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. tcp congestion ...

Revisiting TCP Congestion Control in A Virtual Cluster ...
Cloud computing allows users to hire a cluster of VMs in an on-demand fashion. To improve the cost-effectiveness of their cloud platforms, cloud providers strive ...

A Novel Technique to Control Congestion in MANET using ... - IJRIT
IJRIT International Journal of Research in Information Technology, Volume 1, Issue .... Tech degree in from DAV, Jalandhar and completed B-Tech in 2005 with ...

Wireless Network Coding via Modified 802.11 ... - ee.washington.edu
protocol stack on a Software Radio (SORA) platform to support. WNC and obtain achievable throughput estimates via lab-scale experiments. Our results show that network coding (at the ... Engineering, University of Washington, Seattle, WA, 98195 USA, e

Smooth Multicast Congestion Control for Adaptive ...
for multimedia transmission over wired and wireless networks. ... high value of the time interval between two consecutive RTCP .... (3). However, this assumption is not true for the Internet. ..... publication in the Journal of High Speed Networks.

CQIC: Revisiting Cross-Layer Congestion Control for ... - UCSD CSE
C.2.1 [Computer Communication Networks]: Network Archi- tecture and Design .... congestion-control protocols in the face of large variations [10, 17,. 20, 23]. .... is connected via USB to the host laptop on which we run Qual- comm's QXDM ...

A Novel Technique to Control Congestion in MANET using ... - IJRIT
IJRIT International Journal of Research in Information Technology, Volume 1, Issue 7, ... topology. 2. Congestion Control in MANET. To maintain and allocate network .... Tech degree in from DAV, Jalandhar and completed B-Tech in 2005 with honours fro

Congestion Control in Compartmental Network Systems
Email : (bastin, guffens)@auto.ucl.ac.be. Abstract. In many practical applications of control engineering, the dynamical system un- der consideration is described ...

TIMELY: RTT-based Congestion Control for the Datacenter
whose participation and feedback made the work and this submission possible. We thank .... TCP: Motivation, Architecture, Algorithms,. Performance. IEEE/ACM ...

TIMELY: RTT-based Congestion Control for the Datacenter
can cause a ripple effect that degrades application perfor- mance [21]. ... Moreover, delay has not been used as a congestion sig- nal in the ..... outstanding data to a static worst-case limit. 4. TIMELY .... This reasoning holds as long as there is

TIMELY: RTT-based Congestion Control for the ... - Research at Google
Aug 21, 2015 - in host software running over NICs with OS-bypass capabil- ities. We show ... ports must simultaneously deliver high bandwidth (≫Gbps) and utilization at ..... monitor the network for congestion; 2) a computation en- gine that ...

Zero-Modified Distributions for Inventory Control under ...
Three operational performances are considered: ready rate (RR), the expected number of backorders (BO) and on hand inventory levels (I). The ready rate is the ...

Adaptive Filter Techniques for Optical Beam Jitter Control
or repetitive devices (engines, actuators, electric motors, etc) onboard the platform ..... The path length of beam was approximately 1 meter, therefore μm and ...

Efficient Loop Filter Design in FPGAs for Phase Lock ...
Wireless Receivers – Theory and Case Study ... used in high-datarate wireless receivers, some or all of ...... 8th IEEE Wireless and Microwave Technology. Conf.

Energy efficient schemes for wireless sensor networks ...
Department of Computer Science. †. School of Management ... Abstract— One of the main design issues for a sensor network ..... in Sensor Information Systems.

Distributive Energy Efficient Adaptive Clustering Protocol for Wireless ...
Indian Institute of Technology, Kharagpur, India ... solutions to some of the conventional wireless ... routing protocol for wireless sensor networks, which uses a ...

An Energy Efficient OOK Transceiver for Wireless Sensor Networks
Jun 13, 2006 - for Wireless Sensor Networks. Denis C. Daly and Anantha P. Chandrakasan. Massachusetts Institute of Technology. 50 Vassar St. Room 38- ...

Multi-modal MAC Design for Energy-efficient Wireless ...
saving energy via avoiding collisions and sleeping when idle. ... tern, packet rate, and packet size), which all vary over .... highest good-bit, i.e. E/G is minimum.

Wireless snow plow control system
Oct 20, 1997 - vehicle. The ploWing system comprises a snoW ploW blade, mounting mechanism connected to the vehicle for mounting the snoW ploW blade ...

Wireless snow plow control system
Oct 20, 1997 - ecution application ?led under 37 CFR ..... vehicle 70 and an output Wiring harness [36] 36a for ... The output 36 activates one of the control.

Energy-Efficient Surveillance System Using Wireless ... - CiteSeerX
an application is to alert the military command and control unit in advance to .... to monitor events. ...... lack of appropriate tools for debugging a network of motes.