Sítě a komunikace
oblasti sítí a komunikace zahrnuje analýzu, návrh, realizaci a využívání místních, široký-oblast a mobilní sítě, které spojují počítače spolu. Samotný Internet je síť, která umožňuje komunikaci téměř všech počítačů na světě.
počítačová síť propojuje počítače pomocí kombinace infračervených světelných signálů, rádiových vln, telefonních linek, televizních kabelů a satelitních spojení. Výzva pro počítač vědců bylo vyvinout protokoly (standardizovaná pravidla pro formát a výměna zpráv), které umožňují procesy běžící na hostitelském počítači interpretovat signály, které obdrží, a zapojit se do smysluplné “rozhovory” za účelem plnění úkolů ve prospěch uživatelů. Síťové protokoly také obsahují flow control, která udržuje údaje odesílatele z zaplavovat přijímač s zprávy, které nemá čas zpracovat nebo prostor pro ukládání a řízení chyb, který zahrnuje přenosu, detekci chyb a automatické opakované odesílání zpráv k nápravě těchto chyb. (Pro některé technické detaily detekce a opravy chyb, viz teorie informací.)
standardizace protokolů je mezinárodní úsilí. Protože by jinak nebylo možné, aby různé druhy strojů a operačních systémů vzájemně komunikovaly, klíčovým problémem bylo, že systémové komponenty (počítače) jsou “otevřené”.”Tato terminologie pochází z komunikačních standardů open systems interconnection (OSI) stanovených Mezinárodní organizací pro normalizaci. Referenční model OSI specifikuje standardy síťového protokolu v sedmi vrstvách. Každá vrstva je definována funkcemi, na které se spoléhá z vrstvy pod ní, a službami, které poskytuje vrstvě nad ní.
ve spodní části protokolu leží fyzická vrstva, obsahující pravidla pro přenos bitů přes fyzické spojení. Datová vrstva zpracovává standardní “pakety” dat a přidává spolehlivost ve formě bitů detekce chyb a řízení toku. Síťové a transportní vrstvy rozdělují zprávy do paketů standardní velikosti a směrují je na místo určení. Vrstva relace podporuje interakce mezi aplikacemi na dvou komunikujících strojích. Například, poskytuje mechanismus, s níž chcete-li vložit kontrolní body (ukládání aktuální stav úkolu) do dlouhé přenos souborů, takže, v případě selhání, pouze data po posledním kontrolním bodu musí být znovu vysílaných. Prezentační vrstva se zabývá funkcemi, které kódují data, takže heterogenní systémy se mohou zapojit do smysluplné komunikace. Na nejvyšší úrovni jsou protokoly, které podporují konkrétní aplikace. Příkladem takové aplikace je protokol přenosu souborů (FTP), který řídí přenos souborů z jednoho hostitele na druhého.
vývoj sítí a komunikačních protokolů také vytvořil distribuované systémy, ve kterých počítače propojené v síti sdílejí data a úkoly zpracování. Distribuovaný databázový systém má například databázi rozšířenou mezi (nebo replikovanou na) různých síťových webech. Data jsou replikována na “zrcadlových webech” a replikace může zlepšit dostupnost a spolehlivost. Distribuovaný DBMS spravuje databázi, jejíž komponenty jsou distribuovány v několika počítačích v síti.
klient-server, síť je distribuovaný systém, ve kterém je databáze umístěna na jednom počítači (serveru) a uživatelům připojení k tomuto počítači přes síť z vlastních počítačů (klientů). Server poskytuje data a reaguje tak na požadavky každého klienta, přičemž každý klient přistupuje k datům na serveru způsobem, který je nezávislý a neznalý přítomnosti jiných klientů přístup ke stejné databázi. Systémy klient-server vyžadují synchronizaci jednotlivých akcí od několika klientů do stejné části databáze serveru, aby byly konflikty vyřešeny rozumným způsobem. Například rezervace leteckých společností jsou implementovány pomocí modelu klient-server. Server obsahuje všechna data o nadcházejících letech, jako jsou aktuální rezervace a přiřazení sedadel. Každý klient chce získat přístup k těmto údajům za účelem rezervace letu, získání přidělení místa a platby za let. Během tohoto procesu je pravděpodobné, že dva nebo více požadavků klientů chtějí získat přístup ke stejnému letu a že zbývá přidělit pouze jedno sedadlo. Software musí synchronizovat tyto dva požadavky tak, aby zbývající místo je účelově racionálním způsobem (obvykle pro osobu, která podala žádost dříve).
dalším populárním typem distribuovaného systému je síť peer-to-peer. Na rozdíl od sítí klient-server předpokládá síť peer-to-peer, že každý počítač (uživatel), který je k němu připojen, může fungovat jako klient i jako server; každý v síti je tedy peer. Tato strategie má smysl pro skupiny, které sdílejí zvukové sbírky na internetu a pro organizaci sociálních sítí, jako jsou LinkedIn a Facebook. Každá osoba připojená k takové síti přijímá informace od ostatních a sdílí své vlastní informace s ostatními.