Content-Length: 169819 | pFad | https://www.academia.edu/28881262/Medii_virtuale_distribuite

(PDF) Medii virtuale distribuite
Academia.eduAcademia.edu

Medii virtuale distribuite

TEHNOLOGII MEDII VIRTUALE O varianta extinsa e disponibila in cartea 'Tehnologii Web', Matrix Rom, Bucuresti, 2001: http://www.infoiasi.ro/~busaco/books/web.html Medii virtuale distribuite – Sabin Corneliu Buraga ealitatea virtualã reprezintã o simulare generatã de calculator a unui mediu tridimensional în care utilizatorul este capabil sã vizualizeze ºi sã manipuleze conþinutul acestui mediu. Dacã multimedia se referã la date preasamblate ºi preprogramate, incluzând o suitã de informaþii din anumite medii, realitatea virtualã este dinamicã ºi în interacþiune permanentã cu receptorul ei. Multimedia este la bazã bidimensionalã, o serie de imagini prezentându-se, conform unui scenariu predefinit, pe ecran, pe când realitatea virtualã este tridimensionalã, mult mai maleabilã ºi intens interactivã, combinaþie avansatã de hardware ºi software multimedia. Utilizatorul unui sistem virtual are libertatea de a explora lumea creatã de calculator ºi de a interacþiona direct cu ea. Termenul de realitate virtualã se confundã deseori cu ciberspaþiul, cuvânt inventat de scriitorul SF William Gibson în celebrul roman „Neuromancer”, publicat în premierã în anul 1984. Un mediu virtual distribuit reprezintã un sistem software care permite interacþiunea în timp-real, de la distanþã, a mai multor utilizatori, încorporând graficã 3D ºi sunet stereo. R participanþii din cadrul mediului virtual trebuie sã fie controlaþi de om, o parte dintre avatari putând fi creaþi de program, având sau nu inteligenþã artificialã. (3) Iluzia timpului comun: mediul virtual distribuit permite interacþiunea în timp-real dintre utilizatori. (4) Posibilitatea comunicãrii: posibilitãþile comunicãrii includ comunicarea prin gesturi, prin text introdus de la un dispozitiv de intrare sau prin voce. (5) Partajarea informaþiilor: în afara faptului de a facilita comunicarea dintre utilizatori, sistemul oferã posibilitatea de a interacþiona cu mediul virtual (de exemplu, participanþii la o simulare virtualã pot selecta, muta, transforma obiecte care existã în mediu ºi pot sã le dea altor utilizatori). Un proiectant de mediu virtual distribuit poate oferi utilizatorilor libertatea de a construi edificii, de a desena pe o tablã sau chiar de a distruge mediul. Figura 1. Un mediu virtual distribuit simulând o cafenea: Caffeine Machine (IBM) Caracterizare Un mediu virtual distribuit se bucurã de urmãtoarele caracteristici principale: (1) Iluzia spaþiului comun: toþi participanþii au iluzia localizãrii în acelaºi spaþiu tridimensional (aceeaºi camerã sau clãdire ori acelaºi areal). De cele mai multe ori, spaþiul este fictiv, generat electronic, dar trebuie sã prezinte aceleaºi proprietãþi pentru toþi utilizatorii (aspect meteorologic, acusticã, texturã etc.). (2) iluzia prezenþei comune: Fiecare dintre participanþi ia forma unei persoane virtuale, numitã avatar, care are, printre altele, asociate urmãtoarele: • o reprezentare graficã (pe cât posibil, cât mai realistã); • un model al structurii corpului (prezenþa membrelor, antenelor etc.); • un model al deplasãrii (mulþimea miºcãrilor ºi gesturilor pe care le poate executa); • un model fizic (e.g. greutate, înãlþime etc.). Un avatar nu trebuie sã posede formã umanoidã ºi un utilizator poate avea asociate mai multe reprezentãri de tip avatar. Nu toþi 7 NET REPORT • aprilie 2001 Înainte de a intra în mediu, utilizatorul trebuie sã-ºi aleagã tipul de avatar dorit Conectarea mai multor utilizatori la sistem diferenþiazã mediile virtuale distribuite de realitatea virtualã obiºnuitã. Abilitatea de a partaja diverse obiecte ale mediului îi conferã o nouã dimensiune, faþã de serviciile conversaþionale clasice (chat-uri, sisteme de tele-conferinþe). Interactivitatea în timp-real este o altã caracteristicã suplimentarã, care nu apare la navigatoarele Web sau la serviciile de poºtã electronicã. Mediile virtuale distribuite sunt cele mai indicate pentru aplicaþii necesitând crearea tele-prezenþei. Structura Un mediu virtual distribuit prezintã urmãtoarea structurã: • motoare ºi display-ere grafice (staþii de lucru grafice, deseori suportând OpenGL, cãºti de vizualizare, ecrane retinale etc.); • dispozitive de comunicare ºi control (tastaturã, mouse, joystick, mãnuºã senzorialã, detectoare de miºcare, microfoane, boxe audio ºi altele); • sisteme de procesare distribuitã; • reþele (rapide, locale: Ethernet, Token Ring sau mondiale: ISDN (Integrated Services Distribution Network), DSI (Defense Simulation Internet), comunicarea realizându-se printr-un protocol special: VRTP (Virtual Reality Transfer Protocol) sau folosindu-se standardul Living Worlds). Problemele care pot surveni în implementarea ºi funcþionarea unui mediu virtual distribuit sunt, în principal, cele legate de managementul în timp-real al resurselor, pierderea de date, lãrgimea de bandã, eterogenitatea ºi scalabilitatea echipamentelor, configurarea ºi exploatarea software-ului. Mediile virtuale distribuite sunt, concomitent, sisteme distribuite, aplicaþii grafice ºi aplicaþii interactive, integrând sisteme de baze de date (utile pentru memorarea datelor persistente care genereazã mediul: forme ºi localizãri de obiecte, texturi, informaþii despre avatari etc.), interacþionând cu sisteme tranzacþionale (de comerþ electronic, de exemplu) ºi trebuind sã asigure autentificarea utilizatorilor ºi jurnalizarea activitãþilor. Origini Istoria mediilor virtuale distribuite începe cu ... Mediile virtuale militare. Unul dintre cele mai cunoscute este SIMNET (Simulator Networking), dezvoltat pentru DARPA începând cu 1983 ºi dat în folosinþã abia în anul 1990, jucând un rol destul de important ºi în operaþiunea „Furtunã în Deºert” de peste câþiva ani. Scopul proiectului a fost dezvoltarea unui mediu virtual distribuit ieftin pentru antrenarea unor unitãþi militare cu efectiv restrâns. Din ideile ºi succesul lui SIMNET ia fiinþã un protocol denumit Distributed Interactive Simulation (DIS), standardizat în 1993 (IEEE 1278), având un ecou rãsunãtor în domeniul militar, dar prezentând unele inconvenienþe ca numãrul redus de participanþi (maxim 300 de TEHNOLOGII O varianta extinsa e disponibila in cartea 'Tehnologii Web', Matrix Rom, Bucuresti, M E D I I V I R 2001: TUALE http://www.infoiasi.ro/~busaco/books/web.html utilizatori concomitent), mãrimea pachetelor de date ºi necesitãþi hardware destul de însemnate (pentru simulãri cu un grad mare de realism se folosesc numai staþii SGI). SIMNET ºi ulterior DIS folosesc o tehnicã specialã numitã dead-reckoning pentru evitarea inundãrii reþelei cu pachete de date. Jocurile în reþea. Una dintre primele încercãri de implementare a unui simulator realist o constituie Flight, conceput iniþial de Gary Tarolli de la Silicon Graphics Inc. (SGI), simulator de zbor disponibil în premierã în vara anului 1983 ºi inclus în software-ul oricãrei staþii grafice comercializate de SGI în perioada 1984-1992. Partea de reþea a fost adãugatã începând cu 1984, dar utilizatorii conectaþi la simulator nu puteau interacþiona unul cu altul. Acest lucru este însã posibil la programul demonstrativ Dogfight, limitat iniþial la 10 utilizatori din raþiuni de evitare a congestiei reþelei. Aceste douã aplicaþii au inspirat, peste ani, dezvoltarea mediilor virtuale distribuite, mai ales prin faptul cã SGI a fãcut sursele programelor publice (fragmente din aceste surse au fost folosite pentru proiectul NPSNET pe care-l vom descrie mai tirziu). O altã sursã de inspiraþie a constituit-o Doom (idSoftware), apãrut pe piaþã în decembrie 1993 ca aplicaþie shareware, punct de cotiturã în industria jocurilor în reþea, oferind un mediu 3D realist, zgomotos ºi populat cu monºtri. Succesorul lui, Doom II, a fost disponibil din octombrie 1994 ºi s-a vândut în peste 1,6 milioane de exemplare. A fost portat ºi pe staþii de jocuri precum Sega 32X, Super Nintendo, Sony PlayStation sau Nintendo 64. Pentru Macintosh, se poate menþiona un joc cu graficã impresionantã ºi sunet spaþial, denumit Marathon, apãrut în 1994, care oferea, ca ºi Doom, utilitare pentru editarea ºi crearea de cãtre utilizator a scenelor 3D. Mediile virtuale academice. Unul dintre eforturile timpurii ale comunitãþii academice în crearea de medii virtuale distribuite este concretizat în grupul de cercetare NPSNET, având la bazã câteva proiecte studenþeºti ca FOG-M (Fiber-Optically Guided Missile System), VEH (Vehicle Simulator) ºi MPS (Moving Platform Simulator), dezvoltate pe staþii Unix în perioada 1986-1988. NPSNET (Naval Postgraduate School Network) a avut mai multe stadii de dezvoltare. NPSNET-1, a cãrui demonstraþie publicã a avut loc la Conferinþa SIGGRAPH’91, folosea un protocol propriu de comunicare ºi putea rula într-o reþea localã. Au urmat NPSNET-2, NPSNET-3 ºi NPSNETStealth, cel din urmã, operaþional din 1993, fiind compatibil cu sistemele SIMNET. Ultima versiune, NPSNET-IV, a continuat sã fie dezvoltatã pânã în decembrie 1996, oferind marea majoritate a facilitãþilor mediilor virtuale distribuite actuale. Un alt proiect, PARADISE (Performance Architecture for Advanced Distributed Interactive Simulation Environments), a fost iniþiat în 1993 la Universitatea Stanford, focalizat în principal pe problemele de comunicare în reþea, având ca punct de plecare programul Dogfight menþionat anterior. Astfel, PARADISE utilizeazã tehnici de multicast, algoritmi performanþi dead-reckoning, posedând o arhitecturã orientatã-obiect (C++), diverse module de interfaþã fiind scrise în Tcl. Sistemul este operaþional pe staþii IBM RS/6000 cu capabilitãþi OpenGL. Institutul Suedez de Informaticã dezvoltã un mediu compatibil cu SIMNET ºi DIS, denumit Distributed Interactive Virtual Environment (DIVE). Totul a pornit în 1991, de la editorul de graficã bidimensionalã Multidraw, avându-l ca autor pe Olaf Hagsand. Acest program ulterior s-a dovedit a fi catalizatorul proiectului Telepresence, care a fost redenumit Figura 2. O sesiune DIVE 3.0 (1) Ce tipuri de informaþii trebuie transferate între sistemele care compun mediile virtuale? (2) Ce protocol trebuie ales pentru realizarea transferului? (3) Care este arhitectura software de reþea pe care poate sã ruleze în condiþii optime un astfel de sistem? Pentru primele douã întrebãri, putem rãspunde cã tipurile de date ºi, respectiv, protocoalele folosite sunt: • schimbãrile de stare ºi interacþiunile între entitãþi (transferate prin protocoale punct la punct); • elementele care compun mediul (obiecte, avatari,...) disponibile prin cereri clientserver via HTTP - HyperText Transfer Protocol sau VRTP - Virtual Reality Transfer Protocol; • pointerii ºi referinþele de reþea (reprezentate prin URI-uri); • fluxurile de date multimedia în timp-real (transmise în maniera multicast, prin protocoale ca RTP - Real-Time Protocol). Pentru cea de-a treia problemã, soluþiile se dovedesc a fi multiple. Astfel, vom da în continuare câteva exemple de medii virtuale distribuite, fiecare cu propria sa arhitecturã. DIS-Java-VRML ca DIVE în 1992. Dacã iniþial sistemul rula pe IBM/RS 6000, permiþând conectarea simultanã a numai doi utilizatori, ulterior a fost portat pe staþii Sun, ultima versiune, DIVE 3.0, folosind o interfaþã graficã utilizator conceputã complet în Tcl/Tk. Alt proiect academic este BrickNet, iniþiat la Universitatea Naþionalã din Singapore, rulând pe staþii Sun ºi SGI Indigo, apoi pe PC-uri, fiind creat în 1991 de Gurminder Singh. Dezvoltat la Naval Postgraduate School (Statele Unite ale Americii), proiectul este considerat de autorii lui drept model pentru mediile virtuale distribuite bazate pe VRML. Eforturile proiectanþilor s-au focalizat asupra transferului informaþiilor despre schimbãrile de stare ºi interacþiunile dintre entitãþile care compun mediul, dezvoltându-se o bibliotecã de clase Java ºi o arhitecturã pentru interschimbul de pachete de date DIS în Internet. Arhitectura software de reþea, la nivel general, este prezentatã în urmãtoarea ilustraþie. Figura 3. Arhitectura software generalã a unui sistem DIS-Java-VRML Medii virtuale distribuite bazate pe VRML Datoritã limitãrilor hardware ale maºinilor conectate la Internet ºi lipsei de investiþii de amploare în tehnologia VRML, relativ puþine organizaþii au realizat experimente majore în domeniul mediilor virtuale distribuite. Sistemele proiectate de obicei suportã un numãr redus de participanþi (sub 20 de utilizatori). Problemele puse în discuþie în ceea ce priveºte interoperabilitatea mediilor virtuale pe Web pot fi urmãtoarele: O metodã de implementare ar fi aceea în care browserul VRML realizeazã atât vizualizarea lumilor 3D, cât ºi procesarea codului Java. O altã abordare este cea în care sistemul constã dintr-o aplicaþie Java de sine stãtãtoare sau dintr-un applet Java, fiºierele VRML fiind prelucrate de un vizualizator VRML auxiliar. aprilie 2001 • NET REPORT 8 TEHNOLOGII O varianta extinsa e disponibila in cartea 'Tehnologii Web', Matrix Rom, Bucuresti, 2001: http://www.infoiasi.ro/~busaco/books/web.html MEDII VIRTUALE Experimentele practice efectuate au arãtat cã un mediu DIS-Java-VRML poate suporta pânã la 40 de utilizatori conectaþi simultan, în condiþii acceptabile de vitezã de transfer. Living Worlds Acest proiect este conceput de grupul de cercetare al Consorþiului Web 3D (fost Consorþiul VRML), scopul lui fiind definirea unui set de convenþii VRML 2.0 pentru realizarea interoperabilitãþii mediilor virtuale distribuite. Living Worlds nu reprezintã, aºadar, o arhitecturã completã a unui mediu virtual efectiv, ci mai mult oferã o serie de standarde privind utilizarea VRML-ului în acest context: suport pentru prezenþa virtualã a mai multor participanþi, pentru interacþiunea participantparticipant sau participant-sistem, pentru asamblarea dinamicã a mediului din diverse componente precum avatari, modele partajate, camere virtuale ºi altele. Astfel, sunt disponibile biblioteci (abstracte) conþinând scene/ noduri VRML care pot fi folosite de proiectanþii ºi programatorii de lumi 3D. Sunt definite urmãtoarele interfeþe pentru: (1) coordonarea poziþiei ºi stãrii obiectelor partajate (inclusiv avatari); (2) schimbul de informaþii între obiectele unei scene VRML; (3) asigurarea securitãþii aplicaþiilor VRML (la nivel de sistem ºi de utilizator); (4) dezvoltarea unei biblioteci de utilitare ºi extensii VRML 2.0; (5) identificarea ºi integrarea în timpul rulãrii a scripturilor VRML. Pentru asigurarea interoperabilitãþii ºi independenþei de platformã, Living Worlds impune ca limbajul de programare a sistemului sã fie Java. Aplicaþiile bazate pe specificaþiile Living Worlds (încã în stadiu de cercetare) sunt: • blaxxun Interactive - compus din clienþii blaxxun Community Client pro ºi serverele blaxxun Community Server objects, posedã propriul browser VRML 2.0 oferind suport pentru applet-uri Java externe; • Sony Community Place - are ca scop asigurarea unor condiþii bune de vizualizare a lumilor 3D virtuale chiar ºi pentru clienþii conectaþi la Internet prin modem, furnizând servicii conversaþionale de tip chat (text sau grafic), interacþiunea cu obiecte animate etc. Serverul ºi clienþii folosesc un protocol special, denumit VSCP (Virtual Society Client Protocol), bazat pe TCP/IP; • Open Community - mediu virtual distribuit dezvoltat de Mitsubishi Electric Research Lab (MERL), reprezintã ºi o bibliotecã software oferind servicii precum comunicaþiile în reþea, transportul datelor audio ºi obiectelor VRML în timp-real. Protocolul folosit este ISTP (Interactive Sharing Transfer Protocol). Sistemul este conceput în limbajul C, dar în viitor va fi rescris în Java. Unelte de dezvoltare Pentru a asigura modularizarea, portabilitatea ºi adaptarea mediului la lumea dinamicã a Internetului, s-au imaginat diverse aplicaþii pentru asistarea programatorilor ºi designerilor de sisteme virtuale distribuite. Majoritatea uneltelor de dezvoltare (toolkit-uri) sunt disponibile gratuit pe Internet. Deja existã o serie de aplicaþii ºi biblioteci care faciliteazã munca de construire a unui mediu virtual distribuit (bazat sau nu pe VRML) dintre care pot fi amintite: Bibliografie  S.Singhal, M.Zyda - „Networked Virtual Environments”, Addison-Wesley, New York, 1999  N.Teroshima - „Telesensation - Distributed Interactive Virtual Reality - Overview and Prospects”, IFIP, 1994  Q.Wang - „Networked Virtual Reality”, Master Thesis, University of Alberta, 1994  * * * - Bamboo: http://www.npsnet.nps.navy.mil/Bamboo  * * * - DIVE: http://www.sics.se/dce/dive/dive.html  * * * - HLA: http://hla.dmso.mil  * * * - NPSNET: http://www.npsnet.nps.navy.mil/npsnet  * * * - OpenGL: http://www.sgi.com/Technology/openGL/glspec1.1/glspec.html  * * * - PARADISE: http://www.dsg.stanford.edu/paradise.html  * * * - „The Virtual Reality Modeling Language”, International Standard ISO/IEC 14772-1:1997, VRML Consortium, 1997: http://www.vrml.org/Specifications/VRML97/index.html  * * * - Virtual Reality Universe: http://www.vruniverse.com 9 NET REPORT • aprilie 2001 Bamboo este un mediu de programare a sistemelor virtuale distribuite, ideea de bazã fiind asigurarea în manierã dinamicã a scalabilitãþii acestora. Modular, preluând filosofia Adobe sau Netscape de a utiliza plug-in-uri, Bamboo poate fi adaptat conform dorinþelor utilizatorilor, fiind independent de platformã (se poate încãrca maºina virtualã Java ca modul, deºi aplicaþia este conceputã în C++). Partea de reþea este inspiratã din ACE (Adaptive Communication Environment), pe baza cãruia a fost construit. High Level Architecture (HLA) iniþial a fost dezvoltat în cadrul Departamentului de Apãrare SUA ºi nu a reprezentat un standard deschis, public. În prezent, HLA se aflã în adopþia organizaþiilor IEEE ºi OMG (Object Management Group). Arhitectura este una obiectualã, fiecare simulator de lumi virtuale 3D reprezentând o componentã, denumitã federate, constituitã dintr-o colecþie de obiecte, posedând diferite atribute, capabile de a iniþia ºi rãspunde la evenimente. Un federate îºi înregistreazã obiectele prin intermediul unei componente middleware denumitã Run-Time Infrastructure (RTI). RTI colaboreazã cu instanþele RTI aflate pe alte calculatoare pentru a obþine informaþii despre ceilalþi participanþi ºi a le trimite date. Colecþia tuturor componentelor federate împreunã cu instanþele RTI asociate formeazã aºa-numita federaþie (federation). RTI oferã suport pentru managementul federaþiei, managementul obiectelor dintr-un federate, managementul datelor vehiculate în reþea, managementul proprietarilor obiectelor ºi managementul timpului. Specificaþia HTL pune la dispoziþia programatorilor interfeþe spre limbajele C++, Java ºi Ada, implementãrile RTI deja existând pe platforme precum Sun Solaris, SGI IRIX, Linux ºi Windows NT. Java Shared Data Toolkit (JSDT) este pus la dispoziþie de Sun ºi oferã un cadru de dezvoltare a aplicaþiilor Java colaborative (e.g. suport pentru sincronizarea automatã a zonelor de memorie partajatã ºi definirea de canale abstracte pentru trimiterea ºi recepþionarea evenimentelor partajate). Utilizând JSDT, se poate implementa complet HLA RTI. Shared Data Objects (SDO) reprezintã oferta gratuitã a laboratorului AlphaWorks de la IBM care pune la dispoziþie un toolkit Java, util pentru crearea mediilor virtuale distribuite, asemãnãtor cu JSDT, dar furnizând mai multe facilitãþi pentru programatori. Domnul Sabin-Corneliu Buraga este doctorand în Computer Science la Universitatea „Al.I.Cuza” din Iaºi ºi poate fi contactat la adresa busaco@infoiasi.ro sau pe Web la http://www.infoiasi.ro/~busaco. n 87








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: https://www.academia.edu/28881262/Medii_virtuale_distribuite

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy