Názory k článku
Nové paradigma internetových aplikací
Jen tak pro zahřátí
celé vláknoPrvní otázka je opravdu jen zahřívací. Nemusím o tom příliš přemýšlet a napadají mě desítky možností, kde lze z dat vyseparovat stručnou, jednoznačnou informaci. Jsou to především všechna katalogová čísla čehokoli - ať jsou to ISBN kódy knih, o kterých chci právě teď diskutovat, kódy akcií, s kterými chci právě teď obchodovat, návratový chybový kód v určitém programu, s kterým chci právě teď poradit atd atd...
Drobný problém samozřejme je v tom, kde ta katalogová čísla vzít. Chci-li si s někým vyměnit dojmy o knize Nicholase Monsarrata Kruté moře, chci si vyměnit dojmy právě o "knize Kruté moře", nikoli o "knize s ISBN 80-7257-231-8". Proměnit název v katalogové číslo však může nějaká aplikace.
Problém je někde úplně jinde: jak vytvořit obecný nástroj, tedy nástroj, který mi umí nejen najít někoho, s kými si popovídám nějaké knize, ale i někoho, od koho koupím akcie, návod jak si poradit s programem a především cokoli dalšího, na co teď nemyslím. A v obecném případě pravděpodobně stručnou informaci z objemných dat vypreparovat nelze.
Přeji dobrý den
Distribuovane zpracovani
celé vláknoze clanku jasne vydime ze sila Napsteru je v tom ze nejvetsi cast indexace je provadena klientem na lokalnim disku. V pripade MP3 je vse umocneno tim ze neni treba indexovat obsah strany ale pouze jeji hlavicku.
Otazka znela : Dalsi mozne implementace.
Odpoved je jednoducha : Veskere hledace.
Zacnu u nejrozsirenejsiho - WWW : Budu uvazovat takto - jsem hledaci server.Pro to abych mel velkou navstevnost (a penize) potrebuji aktualni a velke mnozstvi informaci. To v soucasnosti znamena vytvorit indexovaci farmu a mit silne pripojeni pro stahovani web stranek. A prave toto lze distribuci ala Napster prakticky zrusit. Napadaji me dva modely :
1. Jsem provider obsahu a chci aby me stranky byly nachazeny v databazi hledace (a pokud mozno aktualizovany okamzite a ne jednou za tejden nebo i vic). Pak budu i ochoten neco pro to udelat - napr. poustet klienta ktery bude indexovat me stranky.Ten provede lokalni indexaci, kompresi dat, zasifrovani a odeslani hledaci. Ten pouze zaradi data do databaze a zpristupni je k hledani.
2.moznost - princip SetiHome - udelam klienta (napr. ve forme screen saveru) a reknu, kazdy kdo me zindexuje urcite mnozstvi stranek na webu dostane x dolaru (nebo jine vyhody).
Vyhody jsou jasne : Kompresovana data po zpracovani jsou mnohem mensi (napr. staci vyhazet html tagy) a jsou na server dopravovana zabezpecene a po davkach (napr. nebudu posilat data ze sveho serveru v noci pri nizsim provozu serveru).
Pokud pudeme dal a vytvorime inkrementalni zpracovani muzeme posilat index informaci o kazde strance (ktera bude opravdu mala) a po zabudovani do publikacniho systemu webu je to cinnost automaticka.
V pripade SetiHome modelu si pak vlastne pronajimam strojovy cas od uzivatelu site (a myslim si ze bych se jich naslo hodne).
V pripade aplikace tohoto modelu na obchodni databaze (mate obchod - udelejte jeden SQL select kde budou polozky jmeno zbozi,cena,druh , ten zabalte a poslete hledaci)
Pokud se zamyslime zjistime ze neni nutno ani data indexovat na lokale - staci je predpripravit (treba vyhozenim tagu) a zabalit , a i tak dojde k obrovske uspore komunikace.
Hledaci tak odpadne nutnost prolejzat i neexistujici stranky. V klientu pak muze byt uvedeno nekolik desitek cilovych serveru (v pripade vypadku jednoho se data poslou na druhy a po najeti si servery vymeni prijata data napr. po LAN).
Pokud si vemu ze do teto akce by se zapojily servery jako Geocities nebo MujWeb muze dojit celkove ke snizeni provozu na Inetu a i odlehceni samotnych serveru.
Radek Voltr
BTW : Pokud by nekdo do toho nekdo z nasich hledacu chtel jit , jsem k disposici.
BTW2 : To LUPA : Please , trochu vetsi okenko na psani.
Re: Distribuovane zpracovani
celé vláknoNa druhou stranu myšlenka on-line prohledávání, založená na tom, že by majitel dat automaticky při každé změně odeslal zaindexovaná změněná data, je také zajímavá.
Ad BTW: proč jen NAŠI hledači?
Re: Distribuovane zpracovani
celé vláknoJedine mozne reseni je vytvorit lokalniho klienta ktery by postupne kontaktoval vsechny servery a hledal na nich data. To vsak znamena napsat klienta pro vsechny mozne platformy. Myslim si ze reseni nekolika center (s velkou databazi) je schudnejsi.
To BTW: Protoze nepredpokladam ze by nekdo z altavisty tento clanek cetl. Ale pokud vis o nekom ze zahranicnich hledacu , klidne at se ozve.
Napster
celé vláknoV tvorbe klienta pro vsechny mozne platformy nevidim zasadni problem (Netscape je take pro vsechny mozne platformy a pokud ma nejaky problem, tak je to jinde). Navic klient muze byt napsan treba v Jave.
Reseni s nekolika centry s velkou databazi je samozrejme mnohem schudnejsi. Plne dstribuovane reseni je vsak mnohem pokrocilejsi a take (pro me) lakavejsi. Jen je dnes asi jeste jeho obecna varianta technicky nepruchodna :(
Re: Napster
celé vláknoPokud by se ale podarilo prosadit plne distribuovany system, povazoval bych jej za zajimavy predevsim z hlediska moznosti vymeny informaci. Vzdy mne fascinovala utopicka vize "metamana" -- tedy jakehosi spolecneho vedomi lidstva, jehoz vznik byl predpokladan do obdobi rozvoje internetu. Avsak prave diky technicky centralizovane a informacne decentralizovane podstate internetu k naplneni teto vize nikdy nedoslo. Bylo by tedy treba vytvorit pravy opak dnesniho internetu -- technicky decentralizovanou a informacne centralizovanou (nikoli ovladanou z jednoho mista!) aplikaci. "Mentalni upgrade" internetu.
Re: Napster
celé vláknoPřiznám se, že od počátku nerozumím tomu, kde Jiří Donát vidí ony miliardy. V prodeji klientů určitě ne - ty musí být zadarmo. Že by klienti předávali výrobci nějaké exkluzivní informace? To by neprošlo. Že by mu předávaly informace nikoli exkluzivní, ale volně dostupné a výhoda by byla jen v jejich komplexnosti? Ani to se mi nezdá, byť to je asi jediná cesta k penězům, která mě napadá.
Musí to ale být o penězích? Vždyť první průkopníci a "vynálezci" Internetu také nepatří mezi nejbohatší lidi na světě (že by jim něco uteklo?).
BTW: Nechce někdo napsat na Lupu úvahu o tom, proč je ausgerecht Gates nejbohatší člověkem na světě a proč za některé myšlenky platíme a jiné jsou zadatmo?
Re: Napster
celé vláknoRe: Napster
celé vláknoRe: Distribuovane zpracovani
celé vláknoRe: Distribuovane zpracovani
celé vláknoRe: Distribuovane zpracovani
celé vláknoZacit muzeme ihned.
Re: Distribuovane zpracovani
celé vláknoRe: Distribuovane zpracovani
celé vláknoRe: Distribuovane zpracovani
celé vláknoRe: Distribuovane zpracovani
celé vláknoRe: Distribuovane zpracovani
celé vláknoTakhle velké stačí? (60x16)
Je to skor o paradigme spolocnosti
celé vláknoLebo architektura ludskych nastrojov (aj IT) je zrkadlom vztahov. Centralizovane struktury sa lahsie riadia a menezuju. Sprava decentralizovanych struktur vyzaduje kvalitne nastroje a vysoku mieru delegovania.
Popisovana architektura vyzaduje ochotu zdielat. Ale zaroven ju aj podporuje. Ponuka nieco za nieco. Napster sa pohyboval v oblasti, kde tato ochota existovala, pretoze ludia si vymienali cosi, do coho nemuseli temer nic investovat. Je velky problem, vytvorit podobnu komunitu v komercnej oblasti. Ale verim, ze to je buducnost. Vyzaduje to vsak isty "Shift in mind".
Z ineho konca sa k rovnakemu cielu blizi paradigma Outsourcingu. Robim len to co viem, na to sa sustredim a ostatne posuvam inym.
Napster nam naznacuje, ze sa mame pripravit na eru otvorenosti a zdielania. Ked bude pripravena poda, samotna implementacia je bezproblemova. Pristup pana Donata (aj v Debatach) naznacuje, ze to chape. Lebo nebude miliardar ten, kto urobi silnu Napster-like aplikaciu teraz, ale ten, kto ju urobi v spravnu chvilu. Identifikaciu spravnej chvile povazujem za rozhodujuci problem.
Alternativ hromady
celé vláknoKrome jineho, co jde od klientu, v tom mohou byt podvody (viz treba Napster, kde to, co o sobe rika, ze je necim, tim neni).
Site peer-to-peer se s prohledavanim perou ruzne. Napster je neaktualizovany po dobu, po kterou je klient pripojen - lze resit cyklickymi dotazy ze serveru Napsteru, podobne jako to resi ICQ pri zjistovani pritomnosti klientu (a propos - pokud jste zkouseli server ICQ, prisli jste na nedostatek teto komunikace - pocitac je zahlcovan cyklickymi dotazy spolu s rostoucim poctem ucastniku).
Nejhorsi v prohledavani je Gnutella (jde se po klientech), ale je aktualni. O velky stupen lepsi je Freenet - prohledavaji se servery, k nimz jsou pripojeny skupinky klientu (neboli nodes). Bohuzel k hledani je nutno znat klice. Jeste lepsi je vyvijeny Mojo Nation s kategorizaci, cili oddelovanim dat podle typu/zajmu/druhu - jde hybrid Freenetu s dynamickyou distribuci dat a mnohym jinym. Zcela aktualni.
A nakonec - jsou soubory s "pevnym" obsahem, jako jsou hudebni skladby, at uz v jakemkoli formatu ci kompresi. To nabizi moznosti jejich notne zkracene charakteristiky, viz muj vcerejsi clanek o zvukovych otiscich. Samotny textovy popis nic neresi (podvody, neurcitosti). Jednoznacnou identifikaci technickymi prostredky lze zajistit i u filmu apod. Jejich hledani je (bude) pak snadne i s vyvolavanim pridanych informaci z nejruznejsich databazi.
Pak jsou soubory s promennym obsahem, jako je vetsina webovskych stranek. Myslim, ze tam se obrim indexum nevyhneme (aspon pokud budeme chtit indexovat kompletni obsahy stranek). Prohledavace davaji odpovedi rychle, takze no problem (i kdyz nemohou mapovat vsechno a odpovedi jsou holt ruzne). Neco jineho by byl semanticky prohledavac, ale k nemu je jeste daleko. Pomohl by napr. i s oddelenim idexovanych dat do kategorii.
P.S. Lupo, zmen mi v clanku, co's do nej nandala, a co jsem zadal navratit do puvodniho stavu, ale kde nic, tu nic. Za slovy "viz" nechci tvoje tecky. To je hrubka! "Viz" znamena "pohled", neni to zadna zkratka. slovaci maji sve "vid". ...tahle tecka je az za vetou:)
P.P.S. Ctenarum Lupy - nekdo na Lupe mi meni Inet na Internet, inetovy na internetovy apod. Komu vadi Inet? Pokud se dohodneme na zakazu Inetu na Lupe, budiz. Pokud ne, nemel by to nejaky "zuslechtovac" likvidovat. Na dotaz zaslany Lupe jsem opet nedostal odpoved, tak to davam do placu.
Distribuovane zpracovani
celé vláknoKazdy balik software by mohl mit dve slozky (indexovaci a vyhledavaci). Pokud by se system dokazal transparentne vyrovnat s navazanim spojeni (multicasting?) v pripade padu komunikacnich partneru, mohl by mit kazdy altavistu na svem WWW serveru :-)))
Distribuovana databaze
celé vláknoNebo si myslite, ze se jedna o nerealizovatelny nesmysl?
Re: Distribuovana databaze
celé vláknoPro diskutovane ucely tedu nehledame distribuovanou databazi, spise potrebujeme databaze replikovanou - takove, kde kazda kopie je identicka a kazdy stroj ma plnou funkci. Popravde receno, kdyz se mluvi o "datovem centru", nenapadlo me, ze by se mluvilo o jednotlivem pocitaci ve fyzickem slova smyslu, ale prave o jednom logickem centru, ktere muze byt realizovano v mnoha fyzickych kopiich.
Re: Distribuovana databaze
celé vláknonepotrebujeme exaktni dotaz, ale spis fuzzy logiku :-) V opacnem pripade je toliz klient zahlcen prilisnym mnozstvim informaci ;-)
Proto se priklanim k distribuovane databazi, nehlede na to, ze replikace prinasi dost nerovnomerne datove toky v siti ...
Re: Distribuovana databaze
celé vláknoZadne univerzalni reseni pro vsechno nikdy existovat nebude, protoze samo velike Universum je diverzifikovane.
Re: Distribuovana databaze
celé vláknoDruha myslienka, ktora ma v tomto kontexte napada, je ze by to mohlo byt dalej clenene hierarchicky, nieco ako trie. Tieto riesenia vsak predpokladaju, ze budu stroje (centra), kotre budu pritomne stale, teda nie dynamicky sa meniacu strukturu, ide skor o to, ze sa zataz i spolahlivost celeho systemu rozlozi na velku skupinu spolupracujucich serverov. Samozrejme redundanciou mozeme zabezpecit, ze danu informaciu nebude drzat len jeden server, ale i jeho sekundar (ako u DNS).
Re: Distribuovana databaze
celé vláknoMozna premyslim o daleko obecnejsim informacne - vyhledavacim systemu a tim vznikaji rozpory - takovyhle system se bude opravdu pomerne slozite distribuovat - ledaze by se skutecne pouzil model "DNS" - ten muze byt distribuovany vice mene proto, ze kazda databaze (BIND) zaroven obsahuje logiku pro vyrizovani dotazu (i kdyz treba jen systemem odkazu na jiny BIND). Vratime-li se ale zpet k nasemu systemu zjistime, ze logika vyrizovani dotazu je velice komplikovana nato, aby bylo ucelne mit ji na kazde databazi. Budou tedy existovat "pristupove dotazovaci body", ktere jsou navzajem plne zamenne, ktere mohou dotazy vyrizovat pomoci libovolne databazove struktury, vcetne distribuovane a ty (nikoli klient) budou plne vyrizovat jak a kde ziskaji informace pro vyrizeni dotazu.
V teto casti oz vlastne spise reaguji na Michala a p. Zajicka - panove, kdyz to naformuluji takto, odstranil jsem rozpor o tom, zda databaze muze nebo nemuze byt distribuovana ?
pár myšlenek narychlo...
celé vláknoUdělat distribuovanou síť vzájemně spolupracujících, částečně redundantních vyhledávacích, indexovacích či jiných serverů mi připadá jako čistě technický problém, jistě již mnohokrát vyřešený. Zajímavější je vymyslet co konkrétně, proč, jak pro to lidi zaujmout, jak to ufinancovat, jak na tom případně i vydělat.
Napadla mě zajímavá myšlenka: nejrozšířenějším webovým serverem je Apache. Apache je dostupný včetně zdrojáků. Kdyby k němu někdo napsal modul, který by, jsa triviálním způsobem nakonfigurován, automaticky indexoval svůj vlastní obsah a přispíval jím do sítě vyhledávačů zmíněné v předchozím odstavci... A v ideálním případě, kdyby tento modul byl časem zařazen do oficiální distribure Apache... Časem, kdyby se toto rozšířilo, bychom měli možná nejúplnější a nejaktuálnější možný index a vyhledávač.
Navíc, každý takto přispívající server by měl pro indexování k dispozici daleko více kapacity, než centrální server, a mohl by tedy nad obsahem provádět složitější operace. Například... Dnes jsem (díky jiné diskusi zde na Lupě :-) ) narazil na Ústav českého národního korpusu, ucnk.ff.cuni.cz. Byl jsem fascinován zjištěním, co všechno to umožňuje - ve stručnosti, zadáte české slovo a dostanete jeho základní tvar, popis původního tvaru a několik různých významů s popisem. Zadáte slovo i s kontextem, a dostanete vybraný ten správný význam!
BTW: Připojuji se k tomu "viz". Je to normální sloveso v přikazovacím způsobu, za ním se nepíše tečka ani první pád, nýbrž čtvrtý pád! (Viz koho/co, slyš koho/co.)
Uf, to mělo být "narychlo"... :-)
Re: pár myšlenek narychlo...
celé vláknorelevance
celé vláknoZajimavy clanek vysel ve Svete Namodro - autor radi prijit na chat (mozn amyslel treba na xchat ;-) a tam zacit otravovat lidi a ze se pry nekdo chytne a odpovi. Tolik jednou vetou clanek, k jehoz stylu podani a i z casti i k obsahu se stavim kriticky - http://svet.namodro.cz/go/r-art.asp?id=1000809157
Muze to fungovat na nejake "obycejne" veci. Ve sve podstate kdyby existovala sit expertu a kazdy by si sebral tu svoji "parketu", mohlo by to teoreticky fungovat. Otazka je, zda by to nekdo delal za solidaritu ostatnich, jako funguje distribuce hudby pres Napster atd. Preci jen, kdyz jsem odbornik na ekonomicke informace, proc sedet u webu a radit nekomu kam s penezi - nebo kde najde weby, jak na to? Za to, ze mi pak doktor, ktery sedi u webu, rekne, co mam delat, kdyz mam tam a tam takovou a takovou vyrazku nebo mi padaji vlasy /z toho sezeni u webu :o)/?
Hudba za hudbu menit jde, ale znalosti za znalosti - kdyz nektere jsou vyrazne ekonomicky hodnotnejsi - nevidim v tom technicky, ale lidsky problem.
kulturni rozpor a Gozilla
celé vláknoMam dojem, ze tomu odporuje zrejme funkcni model Gozilly - tedy ta jeho soucast s kanaly. Ty umoznuji kazdemu oznamit ostatnim, ze u nich je ke stazeni to a to. No a oni si to stahnou Gozillou a pritom se juknou na reklamku (za kterouz shrabnou penize tvurci gozilly).
(ciste teoreticky jim nekdo muze vypalit rybnik vyvinutim neceho chytrejsiho, co by cetlo gozilli format channelu).
System odolavajici DoS
celé vláknoZbyva posledni zpusob - rozeznat uziti sluzby od zneuziti sluzby. Bez toho, ze bych byl schopen sve tvrzeni dokazat rikam, ze tento problem neni plne algoritmizovatelny - to znamena, ze se nepodari najit jasny algoritmus, ktery by nad prichazejici zadosti o poskytnuti sluzby dokazal jednoznacne rozhodnout, zda jde o uziti nebo o zneuziti - a to ani v pripade, ze bude mit kompletni stavovou informaci o vsech minulych vyrizenych zadostech. DoS utoku se tedy muzeme branit pouze heuristicky a tedy s nikoli zajistenou uspesnosti.
Pokud jde o utok necileny proti konkretni organizaci ci sluzbe, pak muze pomoci proste - sluzbu zajistuje vice ruznych stroju, pricemz uzivatele jsou na ne smerovani podle urciteho algoritmu. Takovyto princip "zaloznich" ci "konkurujicich si" stroju je zatim jednoduse realizovatelny pouze pro SMTP a to pomoci MX zaznamu v DNS. Obecny mechanismus, pouzitelny pro prakticky veskere sluzby je sice jiz take na svete (SRV zaznam v DNS), zatim vsak neni v praxi pouzivan, protoze na jeho pouzivani nejsou pripraveny "resolver" knihovny. Ani tento mechanismus vsak neresi smerovany utok proti konkretni sluzbe nebo organizaci, protoze utocnik si samozrejme najde vsechny dostupne servery a utocit bude proti vsem.
Dalsim zajimavym mechanismem by mohlo byt teritorialni rozdeleni kdy pozadavky prichazejici z urcite oblasti vyrizuje konkretni skupina serveru, kdezto dotaz odjinud jina. Tim bychom dosahli toho, ze DoS utok z jedne oblasti by narusil poskytovani sluzby pouze do teto oblasti. Bohuzel, nejprve by ale muselo byt prijato opatreni, ktere by zabranovalo falsovat identitu (napr. IP adresu) tazatele a muselo by take (a to celosvetove) dojit k zmenam v DNS systemu (aby cloveku z urcite oblasti podaval jine informace nez cloveku odjinud).
Zakladni obranou proti DoS utokum tak stale zustava brutalni sila - priste mit tolik a tak dobre vybavenych serveru, aby k vycerpani zdroju nemohlo tojit nijak lehce. A krome toho se muzeme branit proti kazdemu konkretnimu DoS utoku, obvykle ale az pote, co byl nekde (uspesne) pouzit. Znovu tedy jde o obranu silou, v tomto pripade je vsak "silou" velice schopny spravce systemu.
DoS utoky vsak podle meho nazoru zustanou (na Internetu v soucasnem slova smyslu) nikdy nerozhodnutou bitvou sestavajicich se z bitev v pretlacovani "kdo je chytrejsi". To samozrejme nerika, ze si nemame pokouset branit - a nektere zpusoby obrany jsem zde nabidnul k diskusi, jine jiste doplni nekdo dalsi.
Re: System odolavajici DoS
celé vláknoMusíme se smířit s tím, že pomocí mechanismů, jako je útok DoS, lze vyřadit libovolný počítač sítě. Proti tomu nemůžeme bojovat.
Můžeme ale dosáhnout toho, že aplikace nebude záviset na funkci několika (relativně málo) počítačů a nezmizí spolu se zmizením těchto počítačů ze sítě. Kolik už není "málo"? Inu, 20 miliónů klientů Napsteru se už odstranit nedá, ale řekněme řádově tisíce by měly bohatě stačit (protože - stejně jako u lupy - těžko sestrojíme takové zvětšovací sklo, které nám zapálí najednou předmět o velikosti fotbalového hřiště).
Re: System odolavajici DoS
celé vláknoRe: System odolavajici DoS
celé vláknoDomnivam se tedy, ze stav, kdy je sluzba takrka absolutne odolna proti ztrate funkcnosti je spise vyjimecny a takovych aplikaci je v soucasne dobe minimum nikoli jen proto, ze teprve vznikaji, ale proto, ze v pripade mnoha sluzeb nelze "gnutella princip" vubec pouzit. A konecne, ani gnutella neni celosvetova nenapadnutelna sit - zejmena neni prilis dobre odolna proti utoku statni moci, pokud se takova moc k utoku odhodla. To je ale na trochu delsi samostatne povidani - a tento clanek nam i s diskusi uz pomerne rychle ujizdi do archivu starsich clanku ...