WEBVIEW: Un program pe Internet Scale Utilizând TAIGA

Sursă originală: http://cs.brown.edu/~spr/research/webview.html

Prezentare generală

WebView este o vizualizare a modului în care web-ul este în prezent utilizat. Acesta este conceput pentru a monitoriza site-urile Web care sunt în prezent în curs de navigare și pentru a acumula aceste informații pe categorii într-un afișaj semnificativ (și interesant). În același timp, este o demonstrație a potențialului sistemului de programare TAIGA .

Pentru ca această vizualizare să fie interesantă și eficientă, trebuie să avem oameni care să o folosească. Prin urmare, vă încurajăm să descărcați, să instalați și să executați software-ul.

Afișajul

Din punctul de vedere al utilizatorilor, webview este un script simplu care pune o afișare categorizată a ceea ce oamenii navighează în prezent. Un exemplu de afișare este prezentat mai jos:

Afișajul este format din inele concentrice, fiecare reprezentând o perioadă de timp cuprinsă între un minut și câteva zile. Fiecare inel este împărțit în regiuni care reflectă o singură categorie de pagini web. (În prezent, folosim clasificarea OpenDirectory, dar orice clasificare ar funcționa). Categoriile sunt aranjate în ordine alfabetică, mergând în sens invers acelor de ceasornic din poziția 3 (ceea ce are sens cel puțin pentru matematicieni). Culorile sunt arbitrare, dar sunt alese pentru a maximiza diferența dintre categoriile adiacente. În cadrul fiecărei categorii este o linie ondulată care codifică informații despre paginile vizitate în acea categorie. Afișajul este actualizat în fiecare minut.

Afișajul oferă utilizatorului mai multe tipuri de informații. Distanța de arc pentru fiecare categorie este proporțională cu numărul de vizualizări (paginile solicitate de un browser) de pagini din acea categorie în timpul intervalului. Culoarea regiunii denotă categoria; saturația culorii reflectă numărul relativ de vizualizări. Astfel, dacă un interval are relații relativ puține (în cazul în care relația se bazează pe timpul acoperit de intervalul de timp față de istoricul general), atunci regiunea va fi mai ușoară; dacă intervalul are o mulțime de puncte de vedere, intervalul va fi mai întunecat. Linia ondulată însăși poate codifica numărul relativ de adrese URL distincte în timpul intervalului în frecvența liniei. Astfel, dacă toate paginile vizionate pentru o singură categorie au fost dintr-o singură adresă URL, linia ar fi netedă; dacă fiecare era distinct, linia ar fi destul de ondulată. Grosimea liniei este utilizată pentru a reflecta numărul relativ de utilizatori care navighează paginile acelei categorii. Dacă toate navigarea a fost făcută de un singur utilizator, linia ar fi destul de subțire; dacă corespunde loturilor de utilizatori distinși, linia ar fi groasă.

Afișajul poate, de asemenea, să codifice informații în luminozitatea (se estompează la negru) a deschiderilor și a amplitudinii liniilor. Utilizatorul are opțiunea de a schimba diferitele proprietăți de afișare prin casetele de dialog corespunzătoare. Aceasta include modificarea statisticilor asociate fiecărei proprietăți grafice, modificarea culorilor asociate cu diferitele categorii, categoriile de cartografiere și modificarea diferitelor deschideri.

Colectarea de informații

Pentru a afișa informații despre ceea ce se întâmplă pe web, trebuie să strângem informațiile. Astfel, acest program este spyware. Acesta monitorizează istoricul navigării și raportează paginile pe care le căutați către un server central în care sunt clasificate și categoriile sunt înregistrate. Cu toate acestea, programul nu înregistrează informații identifice sau personale. “Utilizatorii” sunt reprezentați de un ID aleator unic, care este folosit numai pentru a obține numărul de utilizatori. ID-urile sunt arbitrare și nu pot fi urmărite înapoi la sursă (în măsura în care știu). Spyware-ul funcționează numai atunci când executați vizualizatorul și numai pentru utilizatorul care rulează. Sursă completă este furnizată dacă nu credeți ce se întâmplă.

Rețineți că instrumentul nostru funcționează pe ferestre, linux și Mac OS / X cu safari, mozilla, IE și Opera în diverse combinații. Dacă doriți să contribuiți la datele proiectului, dar nu doriți să rulați vizualizatorul, vă oferim un script care rulează numai monitorul istoric.

Clasificare

Sistemul nu salvează niciodată adresele URL sau ID-urile utilizatorilor. În schimb, în ​​timp ce învață despre o pagină, aceasta găsește categoria corespunzătoare și salvează periodic informații despre numărul de pagini, utilizatori și adrese URL pentru fiecare categorie. Sistemul nu se descarcă sau accesează o pagină pentru a-și găsi categoria. În schimb, încearcă să găsească categoria numai utilizând adresa URL.

Folosind cadrul TAIGA, permitem implementări multiple ale clasificatorilor. În prezent, oferim trei tipuri diferite. Primul nostru categorist a folosit serviciul web Google, solicitând Google să caute o anumită pagină și uitându-se la clasificarea Open Directory pe care Google o returnează ca parte a rezultatului. Acest lucru este limitat atât pentru că Google nu dorește să sunăm serviciul web de mai mult de 1000 de ori pe zi și pentru că nu raportează întotdeauna clasificarea chiar și pentru paginile relativ comune. O alternativă este MeURLinproiect. Avem un clasificator care vorbește cu pagina lor de demonstrație (nu au încă un serviciu web) și extrage rezultatul. Acest lucru este destul de eficient (cu grade diferite de precizie), dar este încă un pic prea lent pentru scopurile noastre. Cel de-al treilea clasificator citește baza de date a directorului deschis la pornire și construiește un arbore de clasificare pentru o adresă URL. Odată ce arborele este construit (care durează 15 minute și 2G de memorie), căutarea este destul de rapidă. În timp ce toți cei trei clasificatori sunt disponibili și TAIGA este liber să aleagă ce este mai bun la un moment dat, cea mai probabilă fiind folosită acum este cea din urmă.

Dacă cineva are un clasificator mai bun sau unul pe care ar dori să-l încerce, aș fi fericit să-l integrez rapid în sistem. Taiga permite implementarea să fie o bibliotecă, un serviciu tip client-server sau un serviciu web.

Stocare a datelor

Folosim proprietățile sistemului global de fișiere ale TAIGA pentru a furniza depozitul inițial de informații. Rezultatele acumulate din colectarea informațiilor sunt periodic atașate unui fișier de date actual. Deoarece acest fișier poate deveni destul de mare, menținem într-adevăr un set de fișiere de date în care fișierele sunt legate de unul la altul. Se oferă un server separat pentru a identifica fișierul curent pentru o anumită dată de pornire, pentru a crea fișiere noi pe măsură ce fișierele de date devin prea mari și pentru a conecta fișierele una la cealaltă. Acest serviciu va fi pornit automat (dacă nu rulează deja) pe o mașină de la Brown.

Reţea

În centrul acestui proiect se află sistemul TAIGA. Când rulați vizualizatorul, veți rula și kernelul TAIGA de pe aparat. Taiga utilizează pachetul JXTA peer-to-peer pentru a asigura comunicarea între diferitele kerneluri și servicii. La pornirea inițială, probabil veți vedea (cel puțin pentru moment) o casetă de dialog de configurare JXTA. Dacă lucrurile funcționează, trebuie doar să faceți un clic suficient. Dacă sunteți familiarizat cu jxta, nu ezitați să modificați diferitele setări. Folosind JXTA, webview ar trebui să poată rula în firewall-uri și pe mașinile arbitraj. Dacă doriți să obțineți un jurnal din kernelul TAIGA pe măsură ce rulează pe aparat, setați varianta TAIGASHOW (pe ferestre) sau setați varianta de mediu TAIGALOG pe calea completă a unui fișier jurnal corespunzător.

Hârtii

Nimic nu a fost scris încă despre acest proiect. Apreciem experiențele pe care le aveți cu privire la acest lucru și vă felicităm cu orice fel de feedback pentru momentul în care (și dacă) facem un raport.

Parere

Acest software este (foarte) experimental. Am încercat să facem o varietate de instalații diferite, dar avem doar o gamă limitată de sisteme disponibile. Există multe lucruri care pot merge prost atât în ​​kernel, în aplicație, cât și în rețea care leagă totul împreună. Vrem să reparăm lucrurile, dar pentru a face acest lucru trebuie să știm ce nu funcționează (și, eventual, ce se întâmplă). Salutam toate raspunsurile, rapoartele de bug-uri, sugestii, comentarii, intrebari etc. Trimiteti e-mail la spr@cs.brown.edu .

Software-ul

Dacă vă aflați în domeniul informaticii Brown, cea mai recentă versiune a software-ului poate fi obținută la / home / spr / tryview (Y: \ home \ spr \ tryview pe Windows).

Dacă sunteți în afara rețelei Brown CS, software-ul poate fi obținut de pe serverul nostru ftp în format (tar.gz) sau (zip) .

Instalarea este simplă: descărcați și extindeți software-ul. Rularea este simplă: executați simplu scriptul runview (sau runview.bat pe ferestre) pentru a obține vizualizatorul. (Pentru a rula numai software-ul de monitorizare utilizați scripturile runspy).

Din nou. Pentru a descărca software-ul:

DOWNLOAD webview.distrib.tar.gz

DOWNLOAD webview.distrib.zip