En controller er i en computerkontekst en hardwareenhed eller et softwareprogram, der administrerer eller styrer datastrømmen mellem to enheder. Inden for databehandling kan controllere være kort, mikrochips eller separate hardwareenheder til styring af en periferienhed. I en generel forstand kan en controller opfattes som noget eller nogen, der danner grænseflade mellem to systemer og styrer kommunikationen mellem dem.
Her er et par eksempler på controllere:
Et grafikkort er et integreret kredsløbskort i en computer eller i nogle tilfælde en skærm, der leverer digital-til-analog konvertering, video RAM og en videocontroller, så data kan sendes til en computerskærm.
En spilcontroller er en indgangsenhed til spil.
Et netværksinterfacekort (NIC) er et computerprintkort eller -kort, der installeres i en computer, så den kan tilsluttes et netværk.
Et WAN-interfacekort (WIC) er et specialiseret netværksinterfacekort, der gør det muligt for enheder at oprette forbindelse til et wide area network.
En flashcontroller er den del af flashhukommelsen, der kommunikerer med værtsenheden og administrerer flashfilmappen.
En application delivery controller er en netværksenhed i datacenteretværket, der hjælper med at administrere klientforbindelser til komplekse web- og virksomhedsprogrammer.
En baseboard management controller (BMC) er en specialiseret tjenesteprocessor, der overvåger den fysiske tilstand af en computer, netværksserver eller anden hardwareenhed ved hjælp af sensorer og kommunikerer med systemadministratoren via en uafhængig forbindelse.
En session border controller (SBC) er en enhed eller et program, der styrer den måde, hvorpå opkald, også kaldet sessioner, indledes, gennemføres og afsluttes i et VoIP-netværk (Voice over Internet Protocol).