Mobilność kodu

W obliczeniach rozproszonych mobilność kodu to możliwość migracji (lub przeniesienia) uruchomionych programów , kodu lub obiektów z jednej maszyny lub aplikacji na inną. Jest to proces przenoszenia kodu mobilnego przez węzły sieci , w przeciwieństwie do obliczeń rozproszonych, w których dane są przenoszone.

Powszechną praktyką w systemach rozproszonych jest wymaganie przenoszenia kodu lub procesów między częściami systemu zamiast danych.

Przykłady mobilności kodu obejmują skrypty pobierane przez sieć (na przykład JavaScript , VBScript ), aplety Java , kontrolki ActiveX , animacje Flash , filmy Shockwave (i Xtras) oraz makra osadzone w dokumentach Microsoft Office .

Przegląd

Celem mobilności kodu jest obsługa zaawansowanych operacji. Na przykład aplikacja może wysłać obiekt do innej maszyny, a obiekt może wznowić wykonywanie wewnątrz aplikacji na maszynie zdalnej w tym samym stanie, co w pierwotnej aplikacji.

Zgodnie z klasyfikacją zaproponowaną przez Fuggettę, Picco i Vignę, mobilność kodu może być silna lub słaba: silna mobilność kodu polega na przenoszeniu zarówno kodu , danych, jak i stanu wykonania z jednego hosta na inny, w szczególności za pośrednictwem obrazu procesu (jest to ważne w przypadkach, gdy działająca aplikacja musi zachować swój stan podczas migracji z hosta na host), podczas gdy mobilność słabego kodu obejmuje przenoszenie tylko kodu i danych. Dlatego może być konieczne ponowne uruchomienie programu na hoście docelowym.

W ramach mobilności kodu istnieje kilka paradygmatów lub stylów architektonicznych :

  • Zdalna ocena — klient wysyła kod do zdalnej maszyny w celu wykonania.
  • Kod na żądanie — Klient pobiera kod ze zdalnej maszyny w celu lokalnego wykonania.
  • Agenci mobilni — Obiekty lub kod z możliwością autonomicznej migracji między maszynami.

Wirusy

Kod mobilny można również pobrać i wykonać na stacji roboczej klienta za pośrednictwem poczty elektronicznej. Kod mobilny można pobrać za pośrednictwem załącznika wiadomości e-mail (np. makro w pliku Word) lub treści wiadomości e-mail w formacie HTML (np. JavaScript). Na przykład ILOVEYOU , TRUELOVE i AnnaK zostały zaimplementowane jako kod mobilny (skrypt VBScript w załączniku do wiadomości e-mail .vbs, który był wykonywany w systemie Windows Scripting Host). W prawie wszystkich sytuacjach użytkownik nie jest świadomy, że kod mobilny jest pobierany i wykonywany na jego stacji roboczej. [ potrzebne źródło ]

Kod wynajmu

Kod mobilny odnosi się również do kodu „używanego do wypożyczenia”, sposobu na uczynienie pakietów oprogramowania bardziej przystępnymi cenowo. czyli używać na żądanie. Jest to szczególnie istotne w przypadku opracowywanych urządzeń mobilnych, którymi są telefony komórkowe, palmtopy itp. wszystko w jednym. Zamiast instalować pakiety oprogramowania, można je „dzierżawić” i płacić za użytkowanie. [ potrzebne źródło ]

Zobacz też

  1. ^ a b c d    Fuggetta, Alfonso; Gian Pietro Picco; Giovanni Vigna (1998). „Zrozumienie mobilności kodu” . Transakcje IEEE dotyczące inżynierii oprogramowania . 24 (5): 342–361. CiteSeerX 10.1.1.20.3442 . doi : 10.1109/32.685258 . ISSN 0098-5589 . Źródło 29 lipca 2009 .
  2. Bibliografia _ „Bezpieczeństwo kodu mobilnego” . Akademia Australijskich Sił Obronnych. Zarchiwizowane od oryginału w dniu 3 kwietnia 2012 r . . Źródło 23 kwietnia 2012 r .