0% found this document useful (0 votes)
39 views5 pages

Many-To-Many Traffic Grooming in WDM Networks

This document discusses traffic grooming approaches for many-to-many communication in WDM mesh networks. It introduces two approaches: 1. For non-splitting networks, it generalizes a previous MILP formulation to optimize lightpath provisioning for many-to-many sessions. 2. For splitting networks, it proposes a novel hub-based approach where traffic is routed from members to a central hub using a many-to-one tree, undergoes network coding at the hub, and is sent back to members using a multicast tree. It formulates an MILP model for the hub-based approach and provides numerical results comparing the performance of the two approaches.

Uploaded by

gejjesumangala
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views5 pages

Many-To-Many Traffic Grooming in WDM Networks

This document discusses traffic grooming approaches for many-to-many communication in WDM mesh networks. It introduces two approaches: 1. For non-splitting networks, it generalizes a previous MILP formulation to optimize lightpath provisioning for many-to-many sessions. 2. For splitting networks, it proposes a novel hub-based approach where traffic is routed from members to a central hub using a many-to-one tree, undergoes network coding at the hub, and is sent back to members using a multicast tree. It formulates an MILP model for the hub-based approach and provides numerical results comparing the performance of the two approaches.

Uploaded by

gejjesumangala
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Many-to-Many Traffic Grooming in WDM Mesh

Networks
Mohammad A. Saleh Ahmed E. Kamal
Department of Electrical and Computer Engineering, Iowa State University, Ames, IA 50011
Email: {msaleh,kamal}@iastate.edu

Abstract—In many-to-many communication, a session consists and collaborative processing are some of the applications.
of group of users (we call them members) where each one of Since WDM networks provide the capacity to accommodate
the members transmits its traffic to all other members in the these high-bandwidth applications, finding efficient ways of
group. This paper studies the problem of provisioning many-
to-many sessions with sub-wavelength granularities in WDM provisioning these applications at the optical layer has become
mesh networks. Our objective is to minimize the number of prominent.
transceivers required. We study the problem in networks with Traffic grooming for multicast and many-to-one traffic types
and without optical splitting capabilities. For networks without has been studied in the literature [5], [6], [8]. For an account
optical splitting capabilities, we use an optimal approach which of recent advances in multicast traffic grooming, the reader is
is an extension of that introduced in [8] for the many-to-one
traffic grooming problem. For networks with optical splitting referred to [7]. To the best of our knowledge, the problem
capabilities, we introduce a novel hub-based approach where each of many-to-many traffic grooming in WDM networks has
session is routed through a many-to-one tree from the members not been addressed before. In this problem, one is given a
to a central hub node, and then through a multicast tree from the set of many-to-many sessions with arbitrary sub-wavelength
hub node back to the members. At the hub node, network coding traffic demands and the objective is to minimize the number
is performed by linearly combining the traffic units received
from the members. These combinations are then groomed and of electronic ports which are used to add or drop a certain
delivered back to the members using light-tree(s). Numerical wavelength at a node (e.g., number of transceivers).
results from both approaches are presented and compared. In order to effectively support multicast and many-to-many
traffic types, nodes in a WDM network must be able to
I. I NTRODUCTION
duplicate incoming traffic into multiple copies each going to
In optical wavelength division multiplexing (WDM) net- a different output port. Two main node architectures were
works, traffic grooming was introduced to reduce the huge proposed in the literature to implement this functionality. In
gap between bandwidth requirements of user sessions and the the first one, nodes can only duplicate an incoming optical
bandwidth of a wavelength channel. For example, an MPEG signal by applying optical-electronic-optical (O/E/O) conver-
compressed HDTV channel requires less than 20 Mbps of sion to the signal and duplication takes place in the electronic
bandwidth while the bandwidth of a wavelength channel may domain, we refer to networks with these nodes as non-splitting
reach 10 Gbps. In addition to determining the virtual topology networks. In the second one, nodes are capable of splitting the
and the routing and wavelength assignment of each of the incoming signal in the optical domain. Therefore, duplication
wavelength channels, the traffic grooming problem deals with can take place in the optical domain, we refer to networks
the intelligent assignment of sub-wavelength traffic demands with these nodes as splitting networks. In this paper, we study
onto the existing wavelength channels. Most of the work in the many-to-many traffic grooming problem in both splitting
this area has focused on unicast traffic [1], [2], [3]. For a and non-splitting networks.
survey of advances in unicast traffic grooming, the reader is The rest of the paper is organized as follows. In Section
referred to [4]. II, we propose the lightpath approach and the hub-based
In the recent years, more and more of the traffic in high approach to solve the many-to-many traffic grooming problem
performance networks is becoming of the multipoint type. in non-splitting and splitting WDM networks, respectively. In
This traffic type includes multicast, many-to-one and many-to- Section III, we formulate an MILP as an analytical model
many. In many-to-many, a session consists of group of users for the hub-based approach. Numerical results from both
(we call them members) where each one of these members approaches are presented and compared in Section IV, while
transmits its traffic to all other members in the group. On- the paper is concluded in Section V.
demand video distribution and file distribution are examples of
multicast applications, while resource discovery and data col- II. MANY- TO - MANY TRAFFIC GROOMING : NON - SPLITTING
lection are examples of many-to-one applications. In the case VERSUS SPLITTING NETWORKS
of many-to-many where several users interact together, multi-
media conferencing, distance learning, distributed simulations, A. Many-to-Many Traffic Grooming in non-Splitting Networks

This research was supported in part by grant CNS-0626741 from the In non-splitting networks, lightpaths will be the only optical
National Science Foundation. communication channels available to provision many-to-many
sessions. To optimally solve the many-to-many traffic groom- than the lightpath approach. On the other hand, if a, b and
ing problem, we have generalized the many-to-one MILP in c are two units of traffic instead of one, then the optimal
[8] to accommodate sessions of multiple sources and multiple provisioning by the lightpath approach, in the non-splitting
destinations. Each source in the source set transmits its traffic network case, is shown in Figure 1.(c), which requires a total
to all destinations in the destination set. Accordingly, a many- of 12 transceivers. However, in the splitting network case, the
to-many session will simply be represented as a session whose hub-based approach, as shown in Figure 1.(d), requires a total
source set and destination set are the same and they correspond of 10 transceivers, which saves 2 transceivers compared to the
to the members of the many-to-many session. In this model, lightpath approach.
a many-to-many session can traverse multiple lightpaths from
a,c a,b a c
any member to any other member in the group, while the
A B C A B C
lightpath itself can traverse multiple fibers. The objective is to b,a+c b,a+c
b,c
minimize the total number of transceivers. For the rest of the Transceiver
(a) (b) Lightpath
paper, we refer to this approach as the lightpath approach and c
a
b
a
Light-tree
a c
refer to the generalized MILP as LP-MILP. We do not include A B C A B C
the LP-MILP in this paper due to space limitations; however, a+c a+c
b b b
c
it is available online [10] for interested readers.
(c) (d)
B. Many-to-Many Traffic Grooming in Splitting Networks Fig. 1. Lightpath Approach vs. Hub-based Approach

In splitting networks, light-trees, in addition to lightpaths,


can be used to provision many-to-many sessions. In this III. HUB - BASED APPROACH : MILP FORMULATION
section, we introduce a novel hub-based approach to provision
The many-to-many traffic grooming problem under the hub-
many-to-many sessions in splitting networks. In this approach,
based approach is formally defined as follows: Given the
all of the members, in a session with N members, send their
network topology, number of wavelengths per fiber, groom-
traffic units to a central hub node which can be any node in
ing factor and a set of many-to-many session requests with
the network including the members themselves. This hub node
arbitrary sub-wavelength traffic demands, determine, for each
then linearly combines the traffic units received to generate
session, how to:
N −1 linearly independent combinations (A process known as
network coding [9]). These combinations must also be linearly 1) Optimally select a hub node.
independent from the original traffic units received from the 2) Optimally find a many-to-one tree to deliver the traffic
members. Afterwards, the N − 1 combinations are groomed from the members to the hub node, we call it members-
and delivered back to the members using light-tree(s). Each to-hub journey.
of the members will be able to recover the original traffic 3) Optimally find a multicast tree to deliver the linear
units by linearly combining its own traffic unit with the combinations from the hub node back to the members,
received combinations (e.g., solving N linearly independent we call it hub-to-members journey.
combinations), see Fig. (1.b). For simplicity, we assume that The members-to-hub journey may traverse multiple lightpaths
the linear combinations are performed using coefficients taken from each of the members to the hub, while the hub-to-
from a field of size 2. Also we make the assumption that all members journey may traverse multiple light-tree(s) from the
the members in a session have the same traffic demand. This hub to the members. We note that a light-tree in our model
assumption is needed to facilitate network coding at the hub is associated with a session, e.g, when we say ”light-tree
node by performing bitwise XOR on equal sized data units. belonging to session sa ” we mean a light-tree that it is rooted
at the hub of sa and its leaves are the members of sa .
C. A Comparative Example Lightpaths and light-trees may groom traffic from different
Consider the example shown in Fig. 1, where nodes A, B sessions and traffic from different members within a session.
and C are members of a many-to-many session. Each one of The objective of the optimization procedure is to minimize the
the members needs to send one unit of traffic denoted as a, b total number of transceivers required.
and c respectively to the other two members. For the sake of In this section, we formulate an MILP, which we refer to as
this example, we assume that the capacity of a wavelength the HUB-MILP, to solve the many-to-many traffic grooming
channel (grooming factor) is two units of traffic. In the non- problem in splitting networks under the hub-based approach.
splitting network case, Figure 1.(a) illustrates the optimal The following notations are used in the MILP:
provisioning of the session by the lightpath approach, which
requires a total of 6 transceivers. In the splitting network case, N total number of nodes in the network.
Figure 1.(b) illustrates the provisioning of the session by the Pmn binary number equals to 1 if there is a directed fiber
hub-based approach. Note that each of the members A and C link from node m to node n.
will be able to recover the original traffic units by adding a+c W number of wavelengths per fiber, which we set large
with their own traffic unit modulo 2. This approach requires enough to guarantee a feasible solution.
a total of 7 transceivers, which costs one more transceiver g grooming factor.
K total number of sessions in the network. of each light-tree there is a transceiver present.
m sa the set of members in session sa , where 1 ≤ a ≤ K. X X
Nsa number of members in session sa ; Nsa = |msa |. T Ri ≥ (LPij + LPji ) + LTsa Bisa
j:j6=i sa
t sa number of units of traffic demanded by each of the X (1)
members in session sa , where 1 ≤ tsa ≤ g. + Asi a ∀i
Blsa binary number equals to 1 if session sa has l as one sa :i∈m
/ sa

of its members. The nonlinear term Asi a can be computed using the
Q A very large integer; Q≥ K · N . following set of linear constraints (together with the
T Rn number of transceivers at node n. minimization in the objective function):
LPijw number of lightpaths from node i to node j on
Asi a ≥ QIisa − Q + LTsa ∀sa , i (2)
wavelength w.
LPij number of lightpaths P from node i to node j on all Asi a ≤ LTsa ∀sa , i (3)
wavelengths; LPij = w LPijw .
ij,w • Lightpath level constraints:
Fmn binary number equals to 1 if there is a lightpath
X X
from i to j that uses fiber mn on wavelength w. ij,w
Fmi = ij,w
Fjn =0 ∀i, j, w
sa ,k (4)
Zij binary number equals to 1 if the traffic stream m:Pmi =1 n:Pjn =1
originating from member k ∈ msa and terminating X ij,w
X ij,w
at the hub of sa is using a lightpath from i to j. Fin = Fmj = LPijw ∀i, j, w (5)
sa n:Pin =1 m:Pmj =1
Xij real number equals to the amount of traffic carried X X
on lightpath(s) from i to j due to all k ∈ msa . ij,w
Fmx = ij,w
Fxn ∀i, j, w, x 6= (i, j) (6)
Ihsa binary number equals to 1 if node h is the hub node m:Pmx =1 n:Pxn =1

for session sa . Constraints (4), (5) and (6) together ensure that
Essba ,h binary number equals to 1 if sessions sa and sb share for each lightpath from i to j there is a corresponding
node h as their hub node. physical path from i to j not using fibers coming into i or
Essba binary number equals to 1 if sessions sa and sb outgoing from j and satisfying the wavelength continuity.
share the same hub node. We note that this is the
disjunction of Essba ,h for all values of h; Essaa = 1. • Light-tree level constraints:
LTswa number of light-trees belonging to session sa on In this set of constraints, we visualize a light-tree belong-
wavelength w. ing to session sa as a set of paths, each originating from
LTsa number of light-trees belonging
P to session sa on all the root of the light-tree (hub of sa ) and terminating at
wavelengths; LTsa = w LTswa . one of its leaves (one of the members of sa ). We refer to
Asha real number equals to the product of LTsa and Ihsa . these paths as root-to-leaf paths. The following constraint
sa ,l,w
Rmn binary number equals to 1 if there is a light-tree ensures that no root-to-leaf path is routed on a fiber link
belonging to session sa with root (hub of sa ) to coming into the root.
leaf (member l ∈ msa ) path that uses fiber mn on X sa ,l,w
wavelength w. Rmh ≤ (1 − Ihsa )Q ∀sa , l ∈ msa , h, w (7)
sa ,w m:pmh =1
Rmn binary number equals to 1 if at least one of the
root (hub of sa ) to leaf (member l ∈ msa ) paths of The following constraint ensures that no root-to-leaf path
a light-tree belonging to session sa uses fiber link is routed on a fiber link outgoing from the leaf.
mn on wavelength w. X sa ,l,w
Rln =0 ∀sa , l ∈ msa , w (8)
Ussba binary number equals to 1 if session sa is routed on n:pln =1
a light-tree belonging to session sb .
Tssba real number equals to the amount of traffic carried The following constraints ensure that for each leaf of a
on light-tree(s) belonging to session sb due to all light-tree there should be a root-to-leaf path originating
members in session sa . from the root.
∀sa , l ∈ msa , h 6= l, w :
X sa ,l,w
Rhn ≥ LTswa − (1 − Ihsa )Q (9)
Objective Function: n:phn =1
X X
Minimize: T Rn sa ,l,w
Rhn ≤ LTswa + (1 − Ihsa )Q (10)
n n:phn =1

Subject to: The following constraints ensure that for each leaf of a
• Number of transceivers: light-tree there should be a root-to-leaf path terminating
The following constraint ensures that at the source and at the leaf.
X
at the destination of each lightpath there is a transceiver sa ,l,w
Rml ≥ LTswa − QIlsa ∀sa , l ∈ msa , w (11)
present. Also, it ensures that at the root and at the leaves m:pml =1
X sa ,l,w
Rml ≤ LTswa + QIlsa ∀sa , l ∈ msa , w (12) Each of these streams, which we refer to as member-to-
m:pml =1 hub streams, may traverse multiple lightpaths from the
The following constraints ensure the wavelength continu- member to the hub. The following constraint ensures that
ity of a root-to-leaf path. a member-to-hub stream cannot be routed on a lightpath
coming into the member.
∀sa , l ∈ msa , w, x 6= l : X
X X sa ,k
sa ,l,w sa ,l,w Zik =0 ∀sa , k ∈ msa (25)
Rmx ≤ Rxn (13) i:i6=k
m:pmx =1 n:pxn =1
X sa ,l,w
X sa ,l,w
The following constraint ensures that a member-to-hub
Rmx ≥ Rxn − QIxsa (14) stream cannot be routed on a lightpath outgoing from the
m:pmx =1 n:pxn =1
hub.
The following constraints ensure that the same wave- X sa ,k
Zhi ≤ (1 − Ihsa )Q ∀sa , k ∈ msa , h 6= k (26)
length is used on all root-to-leaf paths that belong to the
i:i6=h
same light-tree.
The following constraint ensures that for each member-
∀sa , (l, k) ∈ msa , w :
to-hub stream, there is a lightpath originating from the
X X
sa ,l,w
Rml ≥ sa ,k,w
Rmk − (Ilsa + Iksa )Q (15) member unless it is the hub.
m:pml =1 m:pmk =1
X sa ,k
Zki = 1 − Iksa ∀sa , k ∈ msa (27)
X sa ,l,w
X sa ,k,w
Rml ≤ Rmk + (Ilsa + Iksa )Q (16) i:i6=k

m:pml =1 m:pmk =1
The following constraint ensures that for each member-
sa ,w to-hub stream, there is a lightpath terminating at the hub.
The following constraints set the variable Rmn as the
sa ,l,w X
disjunction of Rmn for all values of l . sa ,k
X Zih ≥ Ihsa ∀sa , k ∈ msa , h 6= k (28)
sa ,w sa ,l,w
Rmn ≥ Rmn /Q ∀sa , w, m, n : pmn = 1 (17) i:i6=h
l∈msa
The following constraint ensures the continuity of a
X
sa ,w
Rmn ≤ sa ,l,w
Rmn ∀sa , w, m, n : pmn = 1 (18) member-to-hub stream on multiple lightpaths.
l∈msa X sa ,k
X sa ,k
Zix = Zxj + Ixsa ∀sa , k ∈ msa , x 6= k
The following constraint ensures that for any wavelength i:i6=x j:j6=(x,k)
w on any fiber link mn no more than one lightpath or (29)
light-tree can be present. The following constraint determines the exact amount of
X XX
sa ,w
Rmn + ij,w
Fmn ≤1 ∀w, m, n : pmn = 1 (19) traffic carried on lightpath(s) from node i to node j due
sa i j to all members k ∈ msa .
X
• Hub node selection constraints: sa
Xij = tsa × sa ,k
Zij ∀sa , i, j (30)
The following constraint ensures that there is exactly one k∈msa
hub node for each session.
X The following constraint determines the total number of
Ihsa = 1 ∀sa (20) lightpath(s) needed from node i to node j .
h
X s
LPij ≥ ( Xija )/g ∀i, j
The following constraints set the variable Essba ,h as the (31)
sa
conjunction of the variables Ihsa and Ihsb .
s
• Hub-to-members journey constraints:
Essba ,h ≤ (Ihsa + Ihb )/2 ∀sa , sb , h (21) In this set of constraints, we determine which light-tree(s)
Essba ,h ≥ Ihsa + Ihb − 1
s
∀sa , sb , h (22) are used in the hub-to-members journey of a session.
The following constraint ensures that the hub-to-members
The following constraints set the variable Essba as the journey of a session cannot be routed on a light-tree of
disjunction of Essba ,h for all values of h. another session unless the two sessions share the same
X hub node.
Essba ≥ Essba ,h /Q ∀sa , sb (23)
h Ussba ≤ Essba ∀sa , sb (32)
X
Essba ≤ Essba ,h ∀sa , sb (24)
h
The following constraint ensures that each member of a
session must be reached by at least one of the light-trees
• Members-to-hub journey constraints:
used in the hub-to-members journey of the session.
In this set of constraints, we visualize the members-
X
to-hub journey of a session as a set of streams, each Ussba ≥ 1 ∀sa , l ∈ msa
(33)
originating from a member and terminating at the hub. sb :l∈msb
The following constraint determines the exact amount of splitting networks, we have introduced the hub-based approach
traffic carried on light-tree(s) belonging to session sb due that combines optical splitting and network coding to provision
to all members in session sa . the sessions. We have concluded that the lightpath approach is
a better choice when traffic demands of sessions are relatively
Tssba = Ussba × tsa × (Nsa − 1) ∀sa , sb (34)
low (t < g/2) while the hub-based approach is a better choice
This represents the total amount of traffic after coding when traffic demands of sessions are relatively high (t > g/2).
the traffic units transmitted by the members of session sa
at the hub node of session sb . The following constraint
determines the total number of light-trees needed for
session sa .
X s
LTsa ≥ ( Tsab )/g ∀sa (35)
sb

IV. N UMERICAL R ESULTS


In this section, we compare the lightpath approach and
the hub-based approach using LP-MILP and HUB-MILP,
respectively. In our experiments, we consider the network
shown in Fig. 2 which is based on the Abilene Research Fig. 2. Abilene Research Network (with two additional links): Provisioning
Network [11]. Each link is composed of two unidirectional of s1 and s4 in Exp. #1 using the HUB-MILP. Note that the two sessions
fibers in opposite directions, and the number of wavelength are groomed on lightpath 3 → 5 and on light-tree 5 → (3, 9) where
hub(s1 )=hub(s4 )=5
channels in each fiber, W , is set to 4. Traffic demands are
integer multiples of OC-3 rates, while a wavelength channel TABLE I
has a capacity of OC-48; hence, the grooming factor, g, is 16. NUMBER OF TRANSCEIVERS (TR) COMPARISON BETWEEN THE
LIGHTPATH AND THE HUB - BASED APPROACHES
We run 6 random experiments as follows, each experiment
has 5 many-to-many sessions where the size of each session Exp # 1 2 3 4 5 6
is randomly selected between [2,4]. The members in each t 8.3 11.8 9.8 7.5 5.3 4.4
LP-MILP(TR) 28 36 38 30 20 18
session are randomly selected between [0,9] and the traffic HUB-MILP(TR) 28 32 34 29 23 22
demanded by each of the members in a session is randomly
selected
P between [1,16]. P For each experiment, we define TABLE II
t = sa N sa ∗ t sa / sa Nsa , to be the average amount
I NPUT PARAMETERS FOR EXPERIMENT #1
of traffic demanded by a member in this experiment. The
Session Members Traffic Demands
optimal solution from LP-MILP and HUB-MILP for each of s1 (3,5) 3
these experiments is obtained using the CPLEX solver [12]. s2 (1,2,7) 14
s3 (0,6,8) 7
The number of transceivers (T R) required by each of the s4 (3,5,9) 5
experiments is shown in Table I. Due to space limitations, s5 (4,9) 12
we do not show the actual provisioning of sessions in the 6
experiments. However, Fig. 2 illustrates the provisioning of
sessions 1 and 4 in Exp. #1 (shown in Table II) using the R EFERENCES
HUB-MILP. [1] E. Modiano, “Traffic Grooming in WDM Networks” IEEE Communica-
From the results we conclude that the lightpath approach is tions pp. 124-129, July 2001.
[2] O. Gerstel, R. Ramaswami, and G. Sasaki, “Cost-effective Traffic Groom-
a better choice when traffic demands of sessions are relatively ing in WDM Rings,” IEEE/ACM Transactions on Networking, Oct. 2000.
low (t < g/2), see Exps. 5 and 6, while the hub-based [3] K. Zhu and B. Mukherjee,“Traffic Grooming in a WDM Mesh Network,”
approach is a better choice when traffic demands of sessions IEEE Journal on Selected Areas in Communications, Jan 2002.
[4] R. Dutta and G. N. Rouskas,“Traffic grooming in WDM networks: past
are relatively high (t > g/2), see Exps. 2 and 3. The reason for and future,” IEEE Network, vol. 16, no. 6, pp. 4656, Nov./Dec. 2002.
this is that light-trees are not efficient in grooming traffic and [5] R. Ul-Mustafa and A. E. Kamal,“Design and provisioning of WDM net-
therefore when traffic demands are relatively low (t < g/2), works with multicast traffic grooming,” IEEE J. Select. Areas Commun.,
vol. 24, no. 4, pp. 3753, Apr. 2006.
the hub-based approach do not perform well. On the other [6] G. Chowdhary and C. S. R. Murthy,“Grooming of multicast sessions in
hand, lightpaths are very efficient in grooming traffic and wdm mesh networks,” in Workshop on Traffic Grooming, 2004.
therefore the lightpath approach performs better when traffic [7] Kamal, A. E., “Algorithms for Multicast Traffic Grooming in WDM Mesh
Networks,” IEEE Communications Nov. 2006.
demands are relatively low (t < g/2). [8] R. Ul-Mustafa and A. E. Kamal,“Many-to-one Traffic Grooming with
Aggregation in WDM Networks ” IEEE Journal on Selected Areas in
V. C ONCLUSIONS Communication, vol. 24, no. 8, August 2006.
In this paper, we have studied the many-to-many traffic [9] R. Ahlswede, N. Cai, S. R. Li, and R. W. Yeung,“Network information
flow” IEEE Trans. Inf. Theory vol. 46, no. 4, pp. 12041216, Jul. 2000.
grooming problem in both splitting and non-splitting WDM [10] http://ecpe.ece.iastate.edu/lan/downloads/LP-MILP.pdf
networks. In non-splitting networks, we have generalized the [11] The Abilene Research Network, http://abilene.internet2.edu/.
model in [8] to provide an optimal lightpath approach. In [12] http://www.ilog.com/products/cplex/

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy