Transparent Integration of Distributed Resources within Object-Oriented Database Grid - PowerPoint PPT Presentation

1 / 38
About This Presentation
Title:

Transparent Integration of Distributed Resources within Object-Oriented Database Grid

Description:

Przezroczysta integracja rozproszonych zasob w wewn trz obiektowego bazodanowego gridu Kamil Kuliberda Promotor: prof. dr hab. in . Kazimierz Subieta – PowerPoint PPT presentation

Number of Views:70
Avg rating:3.0/5.0
Slides: 39
Provided by: edup136
Category:

less

Transcript and Presenter's Notes

Title: Transparent Integration of Distributed Resources within Object-Oriented Database Grid


1
Transparent Integration of Distributed Resources
within Object-Oriented Database Grid
Przezroczysta integracja rozproszonych zasobów
wewnatrz obiektowego bazodanowego gridu
Kamil Kuliberda Promotor prof. dr hab. inz.
Kazimierz Subieta
2
Plan prezentacji
  • Wprowadzenie
  • Tezy pracy
  • Automatyczna, przezroczysta integracja
    rozproszonych zasobów wewnatrz obiektowego gridu
    bazodanowego
  • Architektura zaimplementowanego obiektowego gridu
    baz danych
  • Prototyp ODRA-GRID
  • Weryfikacja koncepcji
  • Podsumowanie

2
3
Wprowadzenie
4
Integracja rozproszonych zasobów
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
4
5
Prezroczystosc w gridzie baz danych
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
5
6
Grid bazodanowy glówne zagadnienia
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
  • Rozproszone i równolegle przetwarzanie danych o
    specyficznej strukturze,
  • W konteksie integracji
  • Przezroczystosc danych,
  • Wirtualizacja danych w gridzie,
  • Skalowalnosc gridu,
  • Ciaglosc pracy gridu.

6
7
Tezy pracy
8
Tezy
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
I. Mozliwe jest skonstruowanie rozproszonego
systemu bazodanowego pracujacego w architekturze
przetwarzania równoleglego (grid) przy
wykorzystaniu obiektowej bazy danych opartej na
teorii podejscia stosowego oraz aktualizowanych
perspektywach.
II. Mozliwa jest integracja zasobów lokalnych do
wirtualnego repozytorium przy wykorzystaniu
mechanizmu wirtualnych obiektowych
aktualizowanych perspektyw.
  • III. Mozliwe jest zrealizowanie wirtualnej
    warstwy transportowej dla rozproszonego systemu
    bazodanowego w oparciu o architekture P2P i
    zapewnienie przezroczystosci przetwarzania danych
    przy jej wykorzystaniu.

8
9
Motywacja
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
  • Brak rozwiazan gridowych dla baz danych
    obiektowych.
  • Istniejace rozwiazania oparte o systemy relacyjne
    nie rozwiazuja problemu przezroczystej,
    automatycznej integracji danych CORBA (1991),
    UNICORE (1997), EDUTELLA (2002), OGSA-DAI/DQP
    (2007).

9
10
Koncepcja data grid
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
Wirtualne Repozytorium certyfikacja,
transakcje, indeksowanie, sterowanie przeplyw
danych
Dostep do danych wirtualnych
Dostep do danych wirtualnych
User
User
Kontrybucja danych
Kontrybucja danych
Dostep do danych wirtualnych
Relational Database
Object-Oriented Database

10
11
Wirtualne repozytorium
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie

11
12
Automatyczna, przezroczysta integracja
rozproszonych zasobów wewnatrz obiektowego gridu
bazodanowego
13
Zalozenia integracji w modelu obiektowym
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
  • Fragmentacja pozioma
  • kontrybucja1.obiekt
  • union
  • kontrybucja2.obiekt
  • union
  • kontrybucja3.obiekt
  • Fragmentacja pionowa
  • (
  • ((kontrybucja1.obiekt where exist(podobiekt1))
    as k1
  • join
  • ((kontrybucja2.obiekt where exist(podobiekt2))
    as k2
  • where k1.identyfikator k2.identyfikator
  • ) join (
  • (kontrybucja2.obiekt where exist(podobiekt3))
    as k3
  • where k3.identyfikator k1.identyfikator
  • )

13
14
Automatyczna, przezroczysta integracja 3-warstwowy
model integracji do gridu
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
Wirtualne dane globalne Perspektywy globalne
Uzytkownik gridu
Wirtualne dane integracyjne Perspektywy
integracyjny
Administrator gridu
Wirtualne dane kontrybucyjne Perspektywy
kontrybucyjny
Zarzadca kontrybucji
Baza danych
14
15
Proces przezroczystej integracji zasobów
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
Teza II Mozliwa jest integracja zasobów
lokalnych do wirtualnego repozytorium przy
wykorzystaniu mechanizmu wirtualnych obiektowych
aktualizowanych perspektyw.
Teza II Mozliwa jest integracja zasobów
lokalnych do wirtualnego repozytorium przy
wykorzystaniu mechanizmu wirtualnych obiektowych
aktualizowanych perspektyw.
Kontrybucja do gridu zasobu A
Informacja Kontrybucyjna A
Schemat kontrybucyjny
CMU Peer
Schematy -integracyjny -globalny
Schemat globalny
Schematy -Integracyjny -globalny
Schematy -Integracyjny -globalny
Schematy -Integracyjny -globalny
Index zasobów
Propagacja schematu integracyjnego AB
Schemat integracyjny
Schematy -integracyjny -globalny
Schemat kontrybucyjny
Kontrybucja do gridu zasobu B
Informacja Kontrybucyjna B

15
15
16
Architektura zaimplementowanego obiektowego gridu
baz danych
17
Architektura warstwowa z middleware
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
Teza III Mozliwe jest zrealizowanie wirtualnej
warstwy transportowej dla rozproszonego systemu
bazodanowego w oparciu o architekture P2P i
zapewnienie przezroczystosci przetwarzania danych
przy jej wykorzystaniu.
Teza III Mozliwe jest zrealizowanie wirtualnej
warstwy transportowej dla rozproszonego systemu
bazodanowego w oparciu o architekture P2P i
zapewnienie przezroczystosci przetwarzania danych
przy jej wykorzystaniu.

17
18
Prototyp ODRA-GRID
19
Srodowisko ODRA-GRID
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
  • ODRA-GRID - pakiet odra-p2p-1.0-dev.jar
  • Podlaczenie do gridu jointogrid
  • jointogrid ltmodulepathgt
  • Odlaczenie od gridu removefromgrid
  • removefromgrid ltmodulepathgt
  • dblink gt p2plink
  • add p2plink ltlinknamegt ltusernamegt.ltmodulenamegt/ltp
    asswordgt_at_ltpeernamegt
  • np. add p2plink WarsawEmployees
    admin.pu1/admin_at_CUPeer1

19
20
Struktura modulów w ODRZE
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
20
21
Generator perspektyw
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
  • Pracuje w instancji ODRY zarzadzajacej gridem
  • Do pracy potrzebuje nastepujacych skryptów
  • integrationscript.xml
  • integrationconfig.xml
  • integrationscript.xsl
  • globalviewscript.xml

21
22
Perspektywa integracyjna integrationscript.xml
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
lt?xml version"1.0" encoding"UTF-8"?gt ltIntegratio
nScriptgt ltview name"EmployeeIntegrDef"gt ltmainVie
wgt view EmployeeIntegrDef virtual
EmployeeIntegr record idIntegr integer
nameIntegr string surnameIntegr string
worksInIntegr DepartmentIntegr 0..
seedrecord eltseedNamegtlt/seedNamegt.EmployeeC
ontrib 0.. return ( ltcontributions
count"0"gt ltoperator id"0"gtlt/operatorgt ltc
ontibutedPeerName id"0"gtlt/contibutedPeerNamegt
ltvirtObjPathWithDot id"0"gt .EmployeeContrib
lt/virtObjPathWithDotgt lt/contributionsgt
) as e on_retrieve ... on_update
... on_new ... on_delete
... on_navigate ... lt/mainViewgt ltsubViewgt..
.lt/subViewgt lt/viewgt lt/IntegrationScriptgt
lt?xml version"1.0" encoding"UTF-8"?gt ltIntegratio
nScriptgt ltview name"EmployeeIntegrDef"gt ltmainVie
wgt view EmployeeIntegrDef virtual
EmployeeIntegr record idIntegr integer
nameIntegr string surnameIntegr string
worksInIntegr DepartmentIntegr 0..
seedrecord eltseedNamegtlt/seedNamegt.EmployeeC
ontrib 0.. return ( ltcontributions
count"0"gt ltoperator id"0"gtlt/operatorgt ltc
ontibutedPeerName id"0"gtlt/contibutedPeerNamegt
ltvirtObjPathWithDot id"0"gt .EmployeeContrib
lt/virtObjPathWithDotgt lt/contributionsgt
) as e on_retrieve ... on_update
... on_new ... on_delete
... on_navigate ... lt/mainViewgt ltsubViewgt..
.lt/subViewgt lt/viewgt lt/IntegrationScriptgt
22
23
Perspektywa integracyjna cd. integrationscript.xml
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
on_retrieve return e.( idContrib as
idIntegr, nameContrib as nameIntegr,
surnameContrib as surnameIntegr), (DepartmentIn
tegr where idIntegr e.worksInContrib.Departm
entContrib.idContrib) as worksInIntegr on_upda
te e value.( idIntegr as
idContrib, nameIntegr as nameContrib,
surnameIntegr as surnameContrib, ref( (
ltcontributions count"0"gt ltoperator
id"0"gtlt/operatorgt ltcontibutedPeerName
id"0"gtlt/contibutedPeerNamegt ltvirtObjPathWithD
ot id"0"gt .DepartmentContrib lt/virtObjPa
thWithDotgt lt/contributionsgt ) where
idContrib worksInIntegr.idIntegr ) as
worksInContrib )
23
24
Perspektywa integracyjna cd. integrationscript.xml
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
on_new create permanent EmployeeContrib(value.(
idIntegr as idContrib, nameIntegr as
nameContrib, ref(DepartmentContrib where
idContrib worksInIntegr.idIntegr) as
worksInContrib) ) on_delete delete
e ltsubViewgt /virtual pointer/ view
worksInIntegrDef virtual worksInIntegr
DepartmentIntegr0.. seed record
_worksIn DepartmentIntegr 0.. return
(DepartmentIntegr where idIntegr
(e.worksInContrib.DepartmentContrib.idContrib
)) as _worksIn on_retrieve return
_worksIn on_navigate return
_worksIn lt/subViewgt
24
25
Perspektywa integracyjna - konfiguracja
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
integrationconfig.xml lt?xml version"1.0"
encoding"UTF-8"?gt ltIntegrationConfiggt   ltView
name"EmployeeIntegrDef" proc"contributions"/gt lt
View name"DepartmentIntegrDef"
proc"contributions"/gt ltView name"LocationIntegr
Def" proc"contributions"/gt   lt/IntegrationConfiggt

25
26
Perspektywa integracyjna - transformacja
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
integrationscript.xsl ltxslstylesheet
version"1.0" xmlnsxsl"http//www.w3.org/1999/XS
L/Transform"gt ltxsltemplate match"/"gt ltxsla
pply-templates/gt lt/xsltemplategt lt/xslstylesheet
gt
26
27
Weryfikacja koncepcji
28
Testy wykonanego prototypu
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
  • Do uruchomienia srodowiska ODRA-GRID wykorzystano
    4 komputery,
  • Do weryfikacji dzialania uzyto 8 zapytan o
    zróznicowanym stopniu ewaluacji w srodowisku
    rozproszonym,
  • Wykonano dodatkowe test spawdzajace wydajnosc
    warstwy transportowej,
  • Pozytwywna ewaluacja zapytan wykazala poprawnosc
    Tezy I.

Teza I Mozliwe jest skonstruowanie
rozproszonego systemu bazodanowego pracujacego w
architekturze przetwarzania równoleglego (grid)
przy wykorzystaniu obiektowej bazy danych opartej
na teorii podejscia stosowego oraz
aktualizowanych perspektywach.
28
29
Testowy schemat danych
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
  • Uzyty schemat obiektowy danych
  • Schemat zmodyfikowny bez wyrazen sciezkowych

29
30
Przykladowe zapytania testowe (1)
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
  • Obliczyc sume wynagrodzen pracowników ze
    wszystkich oddzialów o nazwie MAGAZYN.
  • W gridzie testowym znajdowaly sie 3 kontrybucje
    zawierajace po jednym oddziale MAGAZYN.
    Zapytanie bylo ewaluowane we wszystkich
    lokalizacjach gridu.

sum( (EmployeeGlobal where worksInGlobal.Departmen
tGlobal.nameGlobal "MAGAZYN) .salaryGlobal)
sum( (DepartmentGlobal where nameGlobal
"MAGAZYN).(deref(idGlobal)) as
d .(EmployeeGlobal where worksInGlobal
d).salaryGlobal)
30
31
Przykladowe zapytania testowe (2)
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
  • Przeniesc pracowników odzialu PRODUKCJA z Lodzi
    do oddzialu MAGAZYN w Warszawie. Wyswietlic
    imiona i nazwiska pracowników wraz z ich id.

(EmployeeGlobal where (worksInGlobal.DepartmentGlo
bal.nameGlobal "PRODUKCJA" and
worksInGlobal.DepartmentGlobal.isLocatedInGlobal.L
ocationGlobal .nameGlobal "Lodz")) .((worksInGlo
bal (DepartmentGlobal where (nameGlobal
"MAGAZYN" and isLocatedInGlobal.LocationGlobal.nam
eGlobal "Warszawa"))), deref(idGlobal),
deref(nameGlobal), deref(surnameGlobal))
(DepartmentGlobal where (nameGlobal
"PRODUKCJA and isLocatedInGlobal
(LocationGlobal where nameGlobal
"Lodz").deref(idGlobal))).(deref(idGlobal)) as
d .(EmployeeGlobal where worksInGlobal
d) .(deref(worksInGlobal (DepartmentGlobal
where (nameGlobal "MAGAZYN and
isLocatedInGlobal (LocationGlobal where
nameGlobal "Warszawa").deref(idGlobal))).(deref(
idGlobal))), deref(nameGlobal),
deref(surnameGlobal))
31
32
Wyniki ewaluacji zapytan
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
CUPeer1 Query 1 ms Query 2 ms Query 3 ms Query 4 ms Query 5 ms Query 6 ms Query 7 ms Query 8 ms
Test 1 3410 8120 955
Test 2 1846 3504 51260 5875 565 3939 5849 12834
Test 3 581 1283 13898 1397 147 869 1487 2513
Test 4 349 441 5190 569 59 363 617 1511
CUPeer2 Query 1 ms Query 2 ms Query 3 ms Query 4 ms Query 5 ms Query 6 ms Query 7 ms Query 8 ms
Test 1 3245 8049 920
Test 2 1810 3401 49312 5693 514 3541 5569 12574
Test 3 562 1021 12339 1280 140 843 1358 2371
Test 4 312 405 5054 546 53 359 593 1279
CUPeer3 Query 1 ms Query 2 ms Query 3 ms Query 4 ms Query 5 ms Query 6 ms Query 7 ms Query 8 ms
Test 1 3451 8219 981
Test 2 1894 3589 53134 6092 593 4142 6112 13072
Test 3 599 1398 14402 1510 161 884 1611 2683
Test 4 496 465 5921 673 72 436 717 1769
Platforma transportowa zaimplementowana z uzyciem
JXTA jest srednio 4 krotnie wolniejsza niz
wbudowany w ODRE mechanizm linków.
32
33
Podsumowanie
34
Ograniczenia rozwiazania
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
  • Mozliwa integracja baz danych z danymi o
    fragmentacji poziomej.
  • Niska wydajnosc platformy transportowej gridu.
  • Brak obslugi wyrazen sciezkowych przez
    perspektywy wymusilo realizacje zapytan przez
    predykaty selekcji.

34
35
Dalsze prace
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
  • Realizacja integracji danych z uwzglednienieniem
    fragmentacji pionowej oraz mieszanej zasobów
    danych,
  • Integracja danych nadmiarowych (redundantnych),
  • Integracja replikacji danych,
  • Opracowanie platformy transportowej dedykowanej
    dla gridu,
  • Rozwój implementacji w nowym prototypie.

35
36
Publikacje
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
  • ISI/DBLP 8
  • Kowalski T.M., Kuliberda K., Wislicki J., Adamus
    R. Auto-updatable Index Approach for OODBMSs,
    On the Move to Meaningful Internet Systems 2009,
    ODBASE (Ontologies, DataBases, and Applications
    of Semantics) International Conference 2009,
    Villamoura, Portugal, November 1-6, 2009,
    Springer 2009 LNCS 5872, ISSN 0302-9743, pp.
    15-16
  • Kowalski T.M., Kuliberda K., Wislicki J. Adamus
    R., Generic Approach to Automatic Index Updating
    in OODBMS , 11th International Conference on
    Enterprise Information Systems (ICEIS), Volume
    DISI, Milan, Italy, 2009, ISBN
    978-989-8111-84-5, pp. 255-260
  • Kuliberda K., Adamus R., Wislicki J., Kaczmarski
    K., Kowalski T.M., Subieta K., A Generic Proposal
    for a Transparent Integration of Distributed Data
    by an Autonomous Layer in a Virtual Repository ,
    Multiagent and Grid Systems (MAGS) 2007 Volume 3,
    Number 4, IOS Press, Netherlands 2007, ISSN
    1574-1702, 393-410
  • Kuliberda K., Wislicki J., Kowalski T.M., Adamus
    R., Kaczmarski K., Subieta K., Procedures of
    Integration of Fragmented Data in a P2P Data Grid
    Virtual Repository, 4th International Conference
    on Service-Oriented Computing (ICSOC'06),
    Chicago, USA, December 4-7, 2006, Springer 2006
    LNCS 4294, Chicago, USA, 2006, 557-568
  • Kuliberda K., Adamus R., Wislicki J., Kaczmarski
    K., Kowalski T.M., Subieta K., Autonomous Layer
    for Data Integration in a Virtual Repository, On
    the Move to Meaningful Internet Systems 2006, 3th
    International Conference on Grid computing,
    high-performAnce and Distributed Applications
    (GADA'06), Springer 2006 LNCS 4276, Montpellier,
    France, 2006, 1290-1304
  • Kuliberda K., Blaszczyk P., Balcerzak G.,
    Kaczmarski K., Adamus R., Subieta K. Virtual
    Repository Supporting Integration of Pluginable
    Resources, 17th DEXA 2006 and 2nd International
    Workshop on Data Management in Global Data
    Repositories (GRep 2006), Krakow, Polska,
    September 4 - 8, 2006, Proceedings in IEEE
    Computer Society ISBN-13 978-0-7695-2641-6 /
    ISBN-10 0-7695-2641-1 / ISSN 1529-4188, 657-661
  • Kuliberda K., Wislicki J., Adamus R., Subieta K.
    Object-Oriented Wrapper for Semistructured Data
    in a Data Grid Architecture, 9th International
    Conference on Business Information Systems in
    cooperation with ACM SIGMIS 2006 (BIS 2006),
    Klagenfurt, Austria, May 31 Â June 2, 2006,
    Proceedings in Lecture Notes in Informatics (LNI)
    vol. P-85, GI-Edition 2006, ISBN 3-88579-179-X /
    ISSN 1617-5468, 528-542
  • Kuliberda K., Wislicki J., Adamus R., Subieta K.
    Object-Oriented Wrapper for Relational Databases
    in the Data Grid Architecture, On the Move to
    Meaningful Internet Systems 2005 (GADA'05, Agia
    Napa, Cyprus, October 31 Â November 4, 2005,
    Springer 2005 LNCS 3762, ISBN 3-540-29739-1 /
    ISSN 0302-9743, 367 - 376
  • Pozostale miedzynarodowe 6
  • Rozdzialy w ksiazce 1
  • Krajowe 26

36
37
Granty krajowe i miedzynarodowe
Wprowadzenie Tezy pracy Automatyczna
integracja rozproszonych zasobów Architektura
obiektowego gridu baz danych Prototyp
Weryfikacja Podsumowanie
  • Advanced eGovernment Information Service Bus
    (FP6-IST-4-026727-STP)
  • Stypendium celowe WIDDOK-Praca wspólfinansowana
    ze srodków Europejskiego Funduszu Spolecznego
    oraz Budzetu Panstwa w ramach programu Mechanizm
    WIDDOK (numer umowy Z/2.10/II/2.6/04/05/U/2/06)

37
38
Dziekuje za uwage
Write a Comment
User Comments (0)
About PowerShow.com