Ngayon araw ay inanunsiyo ng Google Open Source Project na Chromium ang bago nilang technology, ang Chromium Courgette. Nilalayon ng Courgette na mas maging maliit ang kinakailangang i-download na data para sa mga updates ng Chrome. Nabanggit sa anunsiyo na kumpara sa bantog na BSDiff (na ngayon ay maituturing na de-facto binary differential tool), mas maliit ang nagagawa nitong pagkukumpara.

Paano ba gumagana ang mga binary differential tools?
Lahat ng mga file natin sa computer ay maikaklasipika sa dalawang punong kategorya: (1) Text; at (2) Binary. Madali lamang baguhin ang sa text dahil anuman ang posisyon na binago, yun din ang ilalahok sa lumang file sa eksaktong posisyon kung saan nangyari ang mga pagbabago. Kung nais nating mabago ang isang file, may mga paraan para hindi na kakailanganin pang ilagay ang buong file sa RAM para lamang maisulat ito sa hard disk. Kung ihahalintulad ito sa paggawa ng fruit salad, kung nais natin na maging mas matamis ito, dadagdagan lang natin ito ng asukal kaysa gumawa ulit ng isang bagong bandehado ng mga prutas at cream, saka lalahukan ng asukal. Kapag masyado itong matamis, kailangan lang itong dagdagan ng cream at makukuha na ang ninanais na pormula, kaysa gumawa ng panibago.
Ang mga delta, o mga pagbabago mula sa isang lumang estado papuntang bago ay ina-apply o ipina-patch sa lumang estado upang magbago ang file papunta sa ninanais na kalagayan. Sa panahon ngayon, ang mga updates ng mga programang ginagamit natin tulad ng Internet Explorer at QuickTime ay gumagamit ng ganitong istilo upang mabilis ang pag-download ng software at ma-update ang mga ito.
Ang BSDiff ay isang popular na paraan para makalikha ng mga delta. Bukas sa lahat ang pamamaraan (o algorithm kung tawagin) at ang source code (o ang sangkap sa paggawa ng software) nito.
Iba ang kaso sa binary.
Paano gumagana ang Courgette
Sa ngayon, ang mga binary differential tools ngayon ay gumagamit ng mathematical redundancies at patterns upang makita ang mga paulit-ulit na pattern ng code sa mga files. Sa paggawa ng isang programa, kahit maliit na mga detalye sa source code ay nagko-contribute ng mas lalong “kaguluhan” sa binary code. Kung isasaalang-alang ang ideya na lahat ng binary data ay maaaring ilatag sa isang lohikal na pamamaraan, maaari nang magkaroon ng delta na alinsunod sa mga prinsipyo ng text-differentiation. Dito umiikot ang konsepto ng Courgette, at sa pamamaraang ito mas madaling mapapaliit ang mga delta na kinakailangan sa mga software updates.
Kahalagahan sa mga Susunod na Proyekto
Matatandaang kamakailan lamang ay inanunsiyo ng Google ang Chrome OS, at hindi maitatangging maaari ring maging pundasyon ng bagong operating system ang Courgette, dahil bukod sa makakatulong ito sa pag-update ng mga software na nakalagay sa Chorme OS, maaari rin nitong matulungan ang problema ng file synchronization o pagsasalin at pagkuha ng mga files sa iyong computer papunta’t pabalik mula sa server. Isa ito sa mga magiging istratehiya ng Google upang matupad ang palagiang-online, at palagiang-reliable na Web Operating System. Kapag mas maliit ang delta, mas magiging mabilis ang tugon ng mga web applications sa isang normal file operation anuman ang bandwidth mayroon ang isang computer user.
Sa ngayon, hindi pa kasama sa anunsiyo kung gagawin itong isang Open Source Project gaya ng Chrome, ngunit dahil ito ay kabilang sa Chromium project ng Google, hindi malayong ibukas sa publiko ang Courgette.
