Protokol omogoča napravam, da ena drugo naučijo, kako komunicirati med seboj - po zvezi si pošiljajo kodo, ki omogoči komunikacijo. Programska oprema naj bi bila neodvisna od strojne, programske in sistemske opreme, a vendar rabi nekakšen navidezni stroj za poganjanje.