resource-allocation-system's Introduction
1. Opis implementacji Protokuł komunikacji pomiędzy węzłami został oparty o protokół TCP. Zawiera on 5 rodzaji komunikatów -PORT- Komunikat ten wysyłany jest do węzła z którym się połączyliśmy aby ten wiedział do jakich węzłów ma dostęp. Po odebraniu takiego komunikatu węzeł zapisuje do kontenera adres IP oraz port podany w komunikacie. Budowa: PORT <adres IP węzła> <port węzła> -ALLOCATED- Komunikat wysyłany w momencie poprawnej alokacji zasobów zawierający typ zasobu oraz jego ilość wraz z adresem IP oraz portem węzła na którym zasób został zaalokowany. Budowa: ALLOCATED <typ zasobu> <ilosc zasobu> <adres IP węzła> <port węzła> -MISSING- Komunikat wysyłany w momencie kiedy nie ma odpowiedniego typu zasobu lub kiedy jest za mało zasobów danego typu w węźle. Komunikat zawiera typ zasobu wraz z brakującą ilością którą trzeba gdzieś zaalokować oraz adres IP i port węzła na którym brakowało zasobów. Budowa: MISSING <typ zasobu> <ilosc brakujacego zasobu> <adres IP węzła> <port węzła> -FAILED- Komunikat wysyłany w momnecie kiedy nie da się zaalokować zasobów Budowa: FAILED -ALLGOOD- Komunikat wysyłany w momencie poprawnej alokacji wszystkich zasobów. Zawiera adres IP oraz port węzła który rozsyła komunikat ALLGOOD. Budowa: ALLGOOD <adres IP węzła> <port węzła> -Sposób działania- W momencie tworzenia węzła wysyła on komunikat PORT do węzła do którego jest podłączony. Następnie po odebraniu połączenia od klienta dokonuje on próby alokacji zasobów. Jeśli zasobów brakuje wysyła on komunikat MISSING do węzłow do których ma dostęp. Węzeł który otrzymuje komunikat MISSING dokonuje próby alokacji zasobów. Jeżeli taka próba się powiedzie odsyła on komunikat ALLOCATED. Jeżeli jednak wciąż brakuje zasobów rozsyła on dalej komunikat MISSING do wezłow do których ma dostęp. Jeżeli węzeł który otrzyma komunikat MISSING nie może dokonać alokacji zasobów a nie ma już węzła do którego może się udać, to wysyła komunikat FAILED. Węzeł który otrzyma komunikat FAILED przesyła do dalej chyba że jest to węzeł do którego jest podłączony klient. W takim wypadku komunikat FAILED jest wysyłant bezpośrednio do klienta. Jeśli węzęł który wysłał MISSING otrzyma z powrotem komunikat ALLOCATED odsyła go dalej chyba że jest to węzeł do którego jest podłączony klient. W takim wypadku komunikat ALLOCATED jest wysyłąny bezpośrednio do klienta. 2.Jak skompilowac i zainstalowac Kompilacj: javac NetworkNode.java Uruchomienie: java NetworkNode -ident <identifier> -tcpport <tcpPort> -gateway <name>:<port> <resource list> lub: java NetworkNode -ident <identifier> -tcpport <tcpPort> <resource list> 3.Co zostalo zaimplementowane Implementacja węzła sieci umożliwiającą organizacje sieci. Implementacja funkcjonalności pozwalającej na odbieranie żądań od klientów. Implementacja funkcjonalności pozwalającej na alokacje zasobów o ile to możliwe. Implementacja funkcjonalnosci pozwalającej na alokacje w dowolnym węźle. Implementacja własnego protokołu komunikacji opartego o TCP służącej do komunikacji pomiędzy węzłami. Implementacja węzłow pozwalająca na ułożenie ich w dowolnej topologi.
resource-allocation-system's People
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.