4. Systemy rozproszone

4.11. Założenia ogólne

Podstawowym zadaniem oprogramowania tak skonfigurowanego systemu jest umożliwienie komunikacji między wirtualnym laboratorium, a jego użytkownikami, zapewnienie dostępu do urządzeń pomiarowych i innych zasobów systemu oraz nadzorowanie przebiegającej komunikacji, czyli zarządzanie udostępnianymi zasobami oraz organizacja i kontrola użytkowników.

Zadania organizacyjne i kontrolne polegają na tworzeniu grup użytkowników i określaniu warunków, na jakich może odbywać się korzystanie przez nich z zasobów, na przydzielaniu grupom praw do określonych urządzeń i ich funkcji oraz ograniczaniu bądź rozszerzaniu nadanych uprawnień.

Użytkownicy podlegają autentykacji i autoryzacji. Autentykacja polega na sprawdzeniu (np. na podstawie hasła), czy dany użytkownik lub system jest tym, za kogo się podaje. Po uwierzytelnieniu następuje autoryzacja, czyli proces przydzielania dostępu do zasobów według określonych wcześniej uprawnień i priorytetów.

Oprogramowanie serwera umożliwia dokonywanie pomiarów na żądanie i pomiarów, odbywających się w czasie rzeczywistym. Pomiar na żądanie odbywa się na zasadzie: pytanie - odpowiedź. Użytkownik określa parametry pomiaru, a następnie wysyła żądanie jego wykonania i odesłania otrzymanego wyniku. Podczas pomiaru w czasie rzeczywistym użytkownik wchodzi w interakcję z wirtualnym przyrządem, jak z realnym. W czasie pomiaru ma możliwość na bieżąco zmieniać dowolne parametry i obserwować występujące zmiany.

Oprogramowanie musi składać się z dwóch zasadniczych aplikacji: aplikacji serwera i aplikacji klienta oraz ewentualnie, pomocniczej aplikacji, umożliwiającej testowanie programu. Oprogramowanie klienta uzewnętrznia panel z wirtualnymi przyrządami pomiarowymi. Klient może podłączyć się do serwera, stanowiącego bramę, udostępniającą mu część sprzętową zasobów wirtualnego laboratorium. Po zalogowaniu się, klient tworzy sesję, która umożliwia mu sterowanie urządzeniami oraz odbiór danych. Program powinien być wyposażony w „kreatory”, dzięki czemu obsługa jest dla użytkownika bardzo prosta, niemal intuicyjna.

Funkcją serwera jest kontrola uprawnień, zapewnienie bezpieczeństwa i przekazywanie danych od urządzeń do klientów (np. instrukcji sterujących, komunikatów o błędach itp.) oraz w odwrotnym kierunku (np. danych dotyczących parametrów pomiarowych). Serwer umożliwia pełną współbieżną pracę wielu użytkownikom na wielu urządzeniach, czyli wielodostęp.