Vad är ett aktivt meddelande?
Ett aktivt meddelande (AM) är en typ av interprocesskommunikation som används vid datoranvändning, varigenom ett datorprograms subroutin eller funktion kan utföras av en helt annan dator än där den finns. Denna typ av meddelanden är av ett sådant grundläggande format att det möjliggör ett större utnyttjande av nätverksbandbredd över standardinternetprotokoll (IP). Det betraktas också som ett asynkront meddelandedrivande system, i det att det verkar omedelbart istället för att vänta på ett visst ögonblick för att synkronisera med programmet.
Med den aktiva meddelandekommunikationsmodellen sker mycket av arbetet på hårdvarunivå där hårdvaran interagerar med operativsystemets drivrutiner. Eftersom den här lägre nivån normalt är reserverad för operativsystemets verksamhet, är meddelandena konstruerade på ett sådant sätt att de kan bära instruktioner för åtkomst till en sekvens av användarfunktioner på övre nivå. Inuti rubriken på en AM finns adressen till det som kallas en hanterare. Hanteraren är en speciell instruktion på användarnivå som gör det möjligt att behandla meddelandekroppen genom en beräkning som går igenom processorn. Kroppen för ett aktivt meddelande är då funktionens argument, eller de data som beräkningen behöver agera på.
Med tanke på den väsentliga karaktären i konstruktionen av ett aktivt meddelande kan det överföra befintliga IP-nätverkskommunikationsprotokoll. Den primära skillnaden är emellertid att det handlas omedelbart vid mottagandet, i motsats till att det krävs en flerfasad, skicka, kvittera kvitto, leveransmetod. På detta sätt anser ett aktivt meddelande att nätverket helt enkelt är ett öppet rör för genomgång. Dess enda begränsningar är det fysiska nätverkets avstånd, där avståndet mellan noder kan påverka meddelandets latens.
Ett aktivt meddelandesystem fungerar är att en avsändare fyller nätverket med meddelanden. Det finns ingen buffring i den mottagande änden, vars enda svar på en AM är att kort avbryta beräkningen för meddelandets hanterare, ta tag i meddelandet från nätverket och gå vidare med sin verksamhet. Den enda gången meddelandebuffring sker sker vid avsändarens slut, där meddelanden hålls upp baserade på om nätverket når sina gränser. En enkätmetod håller flikar i nätverket så att systemet vet när man ska injicera fler meddelanden. Aktiva meddelanden möjliggör därmed en kontinuerlig överlappning av meddelanden som skickas med beräkningarna som sker på fjärrmaskiner, samt håller dem alla samordnade.
Medan den aktiva meddelandemetoden kan ha enkel karaktär står den inför några problem med avseende på implementering. Även om de är av sådan primitiv konstruktion krävs ofta specialdesignade gränssnittsdrivrutiner för att hantera meddelanden för ett datorsystem. De aktiva meddelandena är också utformade för att fungera bland datornoder som alla kör samma program. På detta sätt är anvisningarna som skickas och mottagits specifika för det program som redan körs på destinationsdatorn.
På grund av sin karaktär har aktiva meddelanden funnits omfattande användning i parallella datormiljöer, såsom SPMD-applikationer med en enda process, flera data. Dessa program körs på stora nätverk av datorsystem där aktiva meddelanden används för att skicka instruktioner och data mellan maskinerna. Sådana distribuerade system använder metoden för att effektivt behandla enorma mängder data som annars skulle ta för lång tid på en enda maskin.