W ACL na użytek modelu komunikacji wprowadzono pojęcia klastra, procesów klastrowych, połączeń oraz kanałów.
Klaster to zbiór procesów klastrowych, dzielących się na procesy serwerowe oraz procesy klienckie o następujących właściwościach:
- proces serwerowy jest w pełni połączony z pozostałymi procesami serwerowymi należącymi do klastra,
- proces kliencki jest w pełni połączony z procesami serwerowymi danego klastra,
- pojedynczy proces serwerowy stanowi pełnoprawny klaster,
- każdy z procesów w obrębie danego klastra musi działać na innej maszynie,
- proces klastrowy może być podłączony do wielu klastrów, zarówno jako proces kliencki, jak i serwerowy,
- procesy serwerowe są równouprawnione.
Połączenie to łącze komunikacyjne pozwalające na wymianę danych pomiędzy dwoma procesami klastrowymi. Oto cechy połączeń:
- połączenie łączy dwa procesy klastrowe i składa się z niepustego zbioru kanałów,
- pomiędzy dwoma procesami w obrębie klastra istnieje co najwyżej jedno połączenie,
- wyróżnia się dwa typy połączeń:
- połączenia serwerowe, łączące dwa procesy serwerowe,
- połączenie klienckie, łączące proces kliencki z procesem serwerowym;
- połączenie danego typu w skali klastra składa się z tej samej konfiguracji kanałów, których parametry mogą być różne dla każdego procesu (w dopuszczalnych ramach),
- w obrębie tego samego połączenia może występować więcej niż jeden kanał danego typu,
- kanał w obrębie połączenia jest identyfikowany przez liczbę z zakresu
0...N (N -- maksymalna liczba kanałów w połączeniu), zwaną indeksem kanału.
Kanał to część połączenia o następujących cechach:
- kanał, w zależności od typu, udostępnia różną funkcjonalność,
- parametry kanałów oraz dopuszczalne na nich operacje mogą być asymetryczne, tzn. inne dla obu połączonych procesów,
- kanały w zależności od typu mogą być jednokierunkowe, dwukierunkowe lub konfigurowalne (jednokierunkowe albo dwukierunkowe).
Zaletą koncepcji podziału połączenia na kanały jest łatwość rozszerzenia o nową funkcjonalność, bądź też konfigurowania parametrów połączeń, w zależności od potrzeb i charakteru komunikacji pomiędzy danymi procesami w klastrze. W prototypie ACL nie było abstrakcji kanału -- połączenie udostępniało ściśle określoną funkcjonalność, ponadto połączenia były identyczne pomiędzy wszystkimi procesami.
Grzegorz Całkowski
2001-02-28