ΗΥ360 Αρχεία και Βάσεις εδοµένων

Σχετικά έγγραφα
ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης

Επαναληπτικές ασκήσεις

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙI

Έλεγχος Ταυτοχρονισμού

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Προχωρημένα Θέματα Βάσεων Δεδομένων

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. Πληροφοριακά Συστήματα και Βάσεις Δεδομένων. Δρ. Κωνσταντίνος Χ.

Βάσεις Δεδομένων 2. Φροντιστήριο Δοσοληψίες Τεχνικές ελέγχου συνδρομικότητας. Ημερ: 05/5/2009 Ακ.Έτος

Επεξεργασία οσοληψιών

Βάσεις Δεδομένων ΙΙ Ενότητα 2

Επεξεργασία οσοληψιών (συνέχεια)

Έλεγχος συγχρονικότητας Μέρος 1 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη

Έλεγχος συγχρονικότητας Μέρος 2 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη

Χρονοδιάγραμμα/Χρονοπρόγραμμα

Βάσεις Δεδομένων ΙΙ. Διάλεξη 2 η Tεχνικές Ελέγχου Συνδρομικότητας

ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Επεξεργασία οσοληψιών. το πώς βλέπει το Σ Β τα προγράµµατα των χρηστών. οσοληψία (transaction)

Επεξεργασία οσοληψιών

Βάσεις Δεδομένων ΙΙ. Διάλεξη 1 η Επεξεργασία Δοσοληψιών. Σύστημα Επεξεργασίας Δοσοληψιών

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Θεµατολόγιο. Α) Πρακτικά Θέµατα στον Έλεγχο Ταυτοχρονισµού

Θεµατολόγιο. Πώς ελέγχουµε σειριοποιησιµότητα στην πράξη;

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Σχετικά µε το µάθηµα: Αξιολόγηση. Σχετικά µε το µάθηµα:faq ΟΧΙ ΝΑΙ. Λιγότερος! (ας πούµε το 1/3-1/4)

Επεξεργασία οσοληψιών

ΚΕΦΑΛΑΙΟ 1 ΣΥΝΑΛΛΑΓΕΣ ΚΑΙ ΕΛΕΓΧΟΣ ΤΑΥΤΟΧΡΟΝΙΣΜΟΥ

Δοσοληψίες Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη

Επεξεργασία οσοληψιών (συνέχεια)

Συναλλαγές. Εαρινό Εξάμηνο Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών. Συναλλαγές. Βάσεις Δεδομένων ΙΙ

Επεξεργασία οσοληψιών

Βάσεις Δεδομένων ΙΙ Ενότητα 2

Μάθημα Βάσεις Δεδομένων ΙΙ - Ασκήσεις Επανάληψης. 01 Εκφώνηση

ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε:

Τεχνικές Ελέγχου Συνδροµικότητας

Κεφάλαιο 13 Δοσοληψίες

Έλεγχος Ταυτοχρονισμού

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

Κατανεμημένα Συστήματα με Java. Ενότητα # 7: Ατομικές συναλλαγές Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

Επεξεργασία Ερωτήσεων

Πλειάδες φαντάσματα (phantoms)

Έλεγχος Συγχρονικότητας. (Concurrency Control)

Δοσοληψίες. Κατανεμημένα Συστήματα

Δοσοληψίες. Κατανεμημένα Συστήματα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

HY Λογική Διδάσκων: Δ. Πλεξουσάκης Εαρινό Εξάμηνο. Φροντιστήριο 6

Διαχείριση Δοσοληψιών

Τεχνικές Ανάκαµψης. Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε

ΕΥΧΑΡΙΣΤΙΕΣ. της εφαρµογής που υλοποιήσαµε, αλλά και προτάσεις για µελλοντικές εφαρµογές µε βάση την τεχνογνωσία που αποκτήσαµε.

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Έλεγχος Ταυτοχρονισμού

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Βάσεις Δεδομένων ΙΙ. Διάλεξη 3 η Tεχνικές Aνάκαμψης. Ιδιότητες Δοσοληψιών

Θέματα Υλοποίησης Σχεσιακών ΣΔΒΔ

Διδάσκων: Κωνσταντίνος Κώστα

9. Κόκκινα-Μαύρα Δέντρα

Δένδρα. Μαθηματικά (συνδυαστικά) αντικείμενα. Έχουν κεντρικό ρόλο στην επιστήμη των υπολογιστών :

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

ΚΕΦΑΛΑΙΟ 8: Αφαίρεση δεδοµένων

Επεξεργασία Ερωτήσεων

Φραγή σε πολλαπλά επίπεδα λεπτομέρειας Τι αντικείμενα κλειδώνουμε?

Άσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός)

Το εσωτερικό ενός Σ Β

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

Βάσεις Δεδομένων ΙΙ Ενότητα 1

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

Τεχνικές Ανάκαµψης. Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε

Βάσεις Δεδομένων Ι. 4 ο Φροντιστήριο. Πέρδικα Πολίνα [perdika]

Παράδειγµα: Προσοµοίωση µιας ουράς FIFO Οι λειτουργίες που υποστηρίζονται από µια ουρά FIFO είναι: [enq(q,x), ack(q)] [deq(q), return(q,x)] όπου x είν

Λογική Δημήτρης Πλεξουσάκης Φροντιστήριο 6: Προτασιακός Λογισμός: Μέθοδος Επίλυσης Τμήμα Επιστήμης Υπολογιστών

Δώστε έναν επαγωγικό ορισμό για το παραπάνω σύνολο παραστάσεων.

Βασικές δοµές δεδοµένων. Ορολογία λιστών. 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας

Επίλυση προβληµάτων. Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης Αλγόριθµοι τυφλής αναζήτησης Αλγόριθµοι ευρετικής αναζήτησης

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

Αλγόριθμοι και πολυπλοκότητα Μελανέρυθρα δεντρα

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βασιλική

Ουρές προτεραιότητας

έντρα ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

Transactions Management. (Διαχείριση Δοσοληψιών)

Γέφυρες σε Δίκτυα. Μας δίνεται ένα δίκτυο (κατευθυνόμενο γράφημα) αφετηριακός κόμβος. Γέφυρα του (με αφετηρία τον ) :

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

K r i t i k i P u b l i s h i n g - d r a f t

ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Αποκατάσταση συστήματος Βάσεις Δεδομένων

Q π (/) ^ ^ ^ Η φ. <f) c>o. ^ ο. ö ê ω Q. Ο. o 'c. _o _) o U 03. ,,, ω ^ ^ -g'^ ο 0) f ο. Ε. ιη ο Φ. ο 0) κ. ο 03.,Ο. g 2< οο"" ο φ.

D = / Επιλέξτε, π.χ, το ακόλουθο απλό παράδειγμα: =[IA 1 ].

Στοιχεία Θεωρίας Γραφηµάτων (4) - έντρα

Γράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΕΡΩΤΗΣΕΩΝ

Ευρετήρια. Το ευρετήριο αρχείου είναι ένα διατεταγµένο αρχείο µε σταθερού µήκους εγγραφές

Ευρετήρια. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια. Ευρετήρια. Ευρετήρια

Ευρετήρια. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια. Ευρετήρια. Ευρετήρια

FUHR FUHR MULTISAFE. Αυτόμ ατη προστασία για αίσθηση ασφάλειας. Ο αυτόματος μηχανισμός κλειδώματος, που δεν αντιγράφεται

Transcript:

1 ΗΥ360 Αρχεία και Βάσεις εδοµένων ιαχείριση Συναλλαγών II - Tree Protocols Αυγουστάκη Αργυρώ

2 Διαχείριση Συναλλαγών - Επανάληψη Συναλλαγή (Τ) είναι ένα σύνολο από ενέργειες σε κάποιο αντικείμενο της ΒΔ Μπορεί να περιέχει ενέργειες Read(R), Write (W), ommit (), Abort (A) Οι συναλλαγές πρέπει να εναλλάσσονται στην εκτέλεση τους για λόγους απόδοσης της ΒΔ εξασφαλίζοντας πάντα τις ιδιότητες AI Χρονοπρόγραμμα (schedule) είναι μια σειρά από ενέργειες (R, W,, A) μιας ομάδας δοσοληψιών όπου εμφανίζονται όλες οι ενέργειες αυτών των δοσοληψιών διατηρώντας τη σειρά με την οποία εμφανίζονται σε κάθε δοσοληψία Σειριακό χρονοπρόγραμμα: όταν οι συναλλαγές εκτελούνται εξ ολοκλήρου η μία μετά την άλλη

3 Διαχείριση Συναλλαγών - Επανάληψη Πλήρες χρονοπρόγραμμα: ένα χρονοπρόγραμμα που συμπεριλαμβάνει abort ή commit στο τέλος της κάθε δοσοληψίας Ισοδύναμα χρονοπρογράμματα: όταν δύο χρονοπρογράμματα οδηγούν στα ίδια αποτελέσματα ανεξάρτητα από την αρχική κατάσταση Σειριακοποιήσιµο χρονοπρόγραµµα: όταν είναι ισοδύναµο µε ένα πλήρες σειριακό χρονοπρόγραµµα Με το πρωτόκολλο 2PL εξασφαλίζουµε την σειριοποιησιµότητα, θεωρώντας ότι κάθε αντικείµενο είναι ανεξάρτητο από τα άλλα.

4 Διαχείριση Συναλλαγών - Επανάληψη Άσκηση Θεωρήστε το παρακάτω χρονοπρόγραμμα S = R1() R2() W2() R2(A) R3(A) W2(A) W3() R1(). Δείξτε πως θα εκτελεστεί με βάση το πρωτόκολλο 2PL. Απάντηση T1 T2 T3 SL1(), R1() SL1(), WAIT SL1(), R1() U1(), U1() SL2(), R2() XL2(), W2() SL2(A), R2(A) XL2(A), WAIT XL2(A), W2(A) U2(), U2(A) SL3(A), R3(A) XL3(), W3() U3(A), U3()

5 ιαχείριση Συναλλαγών Tree Protocols Μια ΒΔ µπορεί να περιέχει και ομαδοποιημένες περιοχές δεδομένων µε διαφορετικό βαθµό ομαδοποίησης ή να υπάρχει µια µερική διάταξη των δεδομένων. Για να εφαρμόσουμε πρωτόκολλα χρειάζεται να έχουµε γνώση αυτής της διάταξης ή ομαδοποίησης Ασχολούμαστε µε ομαδοποιήσεις ή διατάξεις που αποτελούν ένα δέντρο TP#1 όταν έχουµε µερική διάταξη των δεδοµένων TP#2 όταν έχουµε οµαδοποίηση των δεδοµένων

6 ιαχείριση Συναλλαγών TP#1 Εφαρμόζεται σε δεδομένα = {d 1, d 2,, d h } τα οποία είναι μερικώς διατεταγμένα (άρα μπορούν να αναπαρασταθούν ως δέντρο). Αν d i -> d j, τότε κάθε συναλλαγή που απαιτεί πρόσβαση και στο d i και στο d j, θα πρέπει να επισκέπτεται πρώτα το d i και μετά το d j Έχουµε µόνο αποκλειστικά κλειδώματα XL Το πρώτο κλείδωµα γίνεται σε οποιοδήποτε στοιχείο του δέντρου. Ένα κλείδωµα σε ένα στοιχείο γίνεται µόνο αν ο γονέας είναι ήδη κλειδωµένος από την ίδια συναλλαγή Κάθε στοιχείο κλειδώνεται µόνο µία φορά στην διάρκεια της συναλλαγής. Καθοδική πορεία κλειδώµατος προς τα φύλλα Το ξεκλείδωµα µπορεί να γίνει οποιαδήποτε στιγµή εν υπάρχει φάση ανάπτυξης, συρρίκνωσης

7 ιαχείριση Συναλλαγών TP#1 T1 L1(), R1() L1(), R1() T2 L2() R2() Παράδειγµα 1: Πως θα εκτελεστεί µε το ΤP#1? S: R1() R1() R2() R2(H) W2() R1() W1() W1() W2(H) R1(G) W1(G) R2(K) L1(), R1() W1(),U1() L2(H), R2(H) W2(), U2() Επιτρέπεται γιατί το Η έχει ήδη κλειδωθεί παραπάνω πριν το U2() Α W1(), U1() W2(H) L1(G), R1(G) L2(K), R2(K), U2(H), U2(K) G H I J U1() W1(G),U1(G) K L

8 ιαχείριση Συναλλαγών TP#1 L1(A), NO L1(A), R1(A) L1(), R1(), U1(A) W1(), U1() T1 T2 T3 L2(A), NO L2(A) R2(A) L2(), R2(), U2(), L2(), W2(), U2() R2(A),U2(A) L3(A), W3(A) L3(), R3() U3(A), U3() Παράδειγµα 2: Πως θα εκτελεστεί µε ΤP#1? S: W3(A) R1(A) R1() R2(A) W1() R2() W2() R3() R2(A) G K H Α I L J

9 ιαχείριση Συναλλαγών TP#1 T1 L1(), R1() L1(), R1(), U1() T2 L2(A) R2(A) L2() NO Παράδειγµα 3: Φτιάξτε χρονοπρόγραµµα S χρησιμοποιώντας TP#1 T1: L1(), R1(), L1(), R1(), U1(), L1(), R1(), U1(), W1(), L1(I), R1(I), U1(), U1(I) T2: L2(A), R2(A), L2(), U2(A), L2(), U2(), R2(), U2() L1(), R1(), U1() Α L2(), U2(A), L2(), U2() W1(), L1(I) R2(), U2() R1(I), U1(), U1(I) G H I J K L

10 ιαχείριση Συναλλαγών TP#1 T1 L1(), R1() L1(), R1(), U1() L1(), R1(), U1() W1(), L1(I) R1(I), U1(), U1(I) T2 L2(A) R2(A) L2() NO L2(), U2(A), L2(),U2() R2(), U2() Παράδειγµα 4: Φτιάξτε χρονοπρόγραµµα χρησιμοποιώντας TP#1 T1: L1(), R1(), L1(), R1(), U1(), L1(), R1(), U1(), W1(), L1(I), R1(I),U1(),U1(I) T2: L2(A), R2(A), L2(), U2(A), L2(), U2(), R2(), U2() Α G H I J K L

11 ιαχείριση Συναλλαγών TP#1 T1 L1(), R1() L1(), R1(), U1() L1(), R1(), U1() T2 L2(A) R2(A) L2(), U2(A), L2(),U2() Παράδειγµα 5: Φτιάξτε χρονοπρόγραµµα χρησιμοποιώντας TP#1 T1: L1(), R1(), L1(), R1(), U1(), L1(), R1(), U1(), W1(),L1(I), R1(I),U1(),U1(I) T2: L2(A),R2(A), L2(), U2(A) L2(), U2(), R2(), U2() Α W1(), L1(I) R1(I), U1(), U1(I) R2(), U2() G K H I L J

12 ιαχείριση Συναλλαγών TP#2 Έχουµε διαµοιραζόµενα ή αποκλειστικά κλειδώµατα και προειδοποιήσεις Το κλείδωµα ενός κόµβου κλειδώνει και όλους τους απογόνους του στην ίδια κατάσταση Για να αποφύγω πολλαπλό κλείδωµα από συναλλαγές θέτω στους προγόνους µια προειδοποίηση(warning) πριν το κλείδωµα (ξεκινάµε από την ρίζα προς τα φύλλα ) Κλειδώνω κόµβο µόνο αν δεν υπάρχει ήδη κλείδωµα ή προειδοποίηση Ξεκλειδώνω ή αφαιρώ προειδοποίηση αν δεν υπάρχει κλείδωµα ή προειδοποίηση σε απόγονο ( ξεκλείδωµα ή αφαίρεση προειδοποιήσεων από τα φύλλα προς την ρίζα)

14 ιαχείριση Συναλλαγών TP#2 Συμβολισμοί: Η τοποθέτηση στον κόµβο µιας προειδοποίησης διαµοιραζόµενου κλειδώµατος: IS Η τοποθέτηση στον κόµβο µιας προειδοποίησης αποκλειστικού κλειδώµατος: IΧ To κλείδωµα ενός κόµβου από µια διεργασία: Χ για αποκλειστικό και S για διαµοιραζόµενο Για να ξεκλειδώσω ένα κόμβο ή να αποσύρω μια προειδοποίηση: U

15 ιαχείριση Συναλλαγών TP#2 Παράδειγµα 1 T1: R1(), W1(G),W1(H) T2: R2(), W2(I), W2(J) Ένα χρονοπρόγραµµα: S: R1(), R2(), W1(G), W2(I), W2(J), W1(H), A G H I J K L Δείξτε την εκτέλεση του με βάση το Tree Protocol #2

16 ιαχείριση Συναλλαγών TP#2 Παράδειγµα 1 S: R1(), R2(), W1(G), W2(I), W2(J), W1(H), Κάνουμε IX1( ), X1() γιατί έχουμε εγγραφή στα G, H T1 IX1(A), IX1(), IX1(), X1(), R1() W1(G) T2 IX2(A), IX2(), IX2(), X2(), R2() A W1(H), U1(H), U1(G), U1(), U1(), U1(A) W2(I), W2(J), U2(I), U2(J), U2(), U2(), U2(A) G H I J K L

17 ιαχείριση Συναλλαγών TP#2 Παράδειγµα 2 T1: R1(Β), R1(), R1(G), R1(H), R1(), R1(J), T2: R2(), W2(G), W2(H) Ένα χρονοπρόγραµµα είναι: S: R1(), R2() W2(G), W2(H), R1(), R1(G) R1(H), R1(), R1(J) A G H I J K L Δείξτε την εκτέλεση του με βάση το Tree Protocol #2

18 ιαχείριση Συναλλαγών TP#2 Παράδειγµα 2 S: R1(), R2() W2(G), W2(H), R1(), R1(G) R1(H), R1(), R1(J) T1 IS1(A), IS1(), S1(), R1(), IS1() S1(), R1(), R1(G),R1(H) U1(G), U1(H), U1() T2 IX2(A), IX2(), IX2(), X2(), NO A X2(), R2() W2(G), W2(H) R1(), R1(J) U1(J), U1(), U1(), U1(A) U2(G), U2(H), U2(),U2(), U2(A) G H I J K L