Tri istodobne veze odluka su o prihvatu, a da bi se na nju odgovorilo treba znati koja su mjesta upravo sada zauzeta, a ne što se dogodilo prošlog mjeseca. Usluga može odbiti četvrtu sesiju pomoću male tablice aktivnih zapisa i nikada ne izgraditi vremensku crtu. To je tvrdnja o mehanizmu, a ne o operateru, i razlika je važna kada čitate pravila privatnosti. Model u nastavku pokazuje što odluci treba i što može odbaciti.

Mehanizam: tablica mjesta, a ne dnevnik

Najjednostavnija implementacija povezuje pretplatu s najviše tri aktivna zapisa sesije. Svaka prihvaćena sesija zauzima jedno mjesto, a mjesto se oslobađa kada usluga zaključi da je ta sesija završila. Zapis treba identitet dovoljno specifičan da oslobađanje jedne veze ne oslobodi mjesto druge veze, zbog čega je identifikator sesije važniji od naziva računa.

Zauzetost i povijest različite su podatkovne strukture. Zauzetost odgovara na pitanje da ili ne o sadašnjosti i može se odbaciti u trenutku kada sesija završi. Povijest je tok događaja kojemu se samo dodaje i preživljava jer je netko odlučio čuvati ga. Usluga može imati jedno, oboje ili nijedno.

Razlika je izvana nevidljiva. Vidljivo ograničenje veza spojivo je s malim brojačem u memoriji, zajedničkom tablicom baze podataka i potpunim arhivom događaja s nadzornom pločom. Ništa u vezi s ograničenjem ne govori koje od toga radi.

What is storedWhy it exists
Active session slotsTo admit or refuse the next connection
Session event logTo investigate or bill later
Monitoring seriesTo watch capacity and error rates
Backup copiesTo restore any of the above

Zašto trenutačni model ipak treba koordinaciju

Izgubljena veza možda neće biti odmah prepoznata kao završena. Pristupnik čeka vremensko ograničenje, neuspjeh keepalivea ili zaustavljanje računovodstva, i dok ne stigne jedno od toga mjesto ostaje zauzeto. Korisnik koji se ponovno poveže u tom razdoblju vidi odbijanje koje nema nikakve veze s četvrtim uređajem.

Ponovno pokrenut poslužitelj mora uskladiti svoje stanje, a nekoliko pristupnika koji služe istom računu treba zajedničku odluku. Inače račun može premašiti svoju kvotu povezivanjem s različitih lokacija. Zajedničko ili obnovljivo stanje to rješava, a zajedničko stanje je projektni zahtjev, a ne dokaz nadzora.

Ništa u toj koordinaciji ne zahtijeva povijest pregledavanja. Pristupnik koji prosljeđuje pakete ne mora znati koje je stranice sesija posjetila da bi brojio sesije, a ta dva toka podataka obično obrađuju posve različite komponente.

Držanje brojača u memoriji također ne čini povezane činjenice anonimnim. Dok usluga radi, zapis povezan s pretplatom otkriva da račun ima aktivne veze, a i pristup tom stanju i njegov životni vijek vrijedni su pitanja.

Kamo stanje zatim odlazi

Pitanje privatnosti nije može li poslužitelj brojiti. Pitajte što se događa sa završenom sesijom: uklanja li se zapis ili postaje događaj u nizu nadzora? Zatim pitajte koje su druge komponente vidjele isti događaj, jer zapisnici autentifikacije, računovodstveni zapisi i sigurnosne kopije mogu svaki čuvati kopiju koju je put provedbe odbacio.

RADIUS računovodstvo najjasniji je primjer. Par Start i Stop postoji radi podrške naplati i kontroli sesija, i stvara zapis o vezi neovisno o tome traži li ga itko ikada kao povijest. Usluga koja provodi ograničenja putem računovodstva zato po konstrukciji čuva više od tablice mjesta.

Brisanje također ima oblik. Zapis uklonjen iz aktivne tablice može ostati u sigurnosnoj kopiji napravljenoj sat ranije, a razdoblje čuvanja te kopije vlastita je izjava o politici. Čitanje samo primarnog spremišta daje nepotpun odgovor.

Postavite pitanje u terminima polja

Smjernice za smanjenje podataka RFC 6973 povezuju prikupljene i pohranjene podatke sa svrhom kojoj služe. Primijenjeno ovdje, korisno je pitanje koja polja zadatak istodobnog prihvata doista treba i koja svrha opravdava zadržavanje svakoga nakon što taj zadatak završi.

Precizna izjava usluge odvaja trenutačno stanje veze koje se koristi za provedbu kvote od svih zapisa zadržanih nakon prekida i navodi druge sustave unutar dometa obećanja. Rečenica koja kaže samo da se provode tri veze ne utvrđuje ni da arhiv postoji ni da ne postoji.

Kada je životni ciklus nejasan, zabilježite to kao neodgovoreno pitanje zadržavanja, a ne kao presudu. Postojanje ograničenja nije dokaz skrivene povijesti, a vjerojatno objašnjenje trenutačnog stanja nije revizija pružatelja.

Povezani članci