Internet Communications Engine, w skrócie ICE – protokół zdalnego wywoływania procedur i obiektowe oprogramowanie pośredniczące stworzone przez ZeroC i podwójnie licencjonowane jako GNU GPL z możliwością wykupienia licencji komercyjnej. Twórcy założyli stworzenie rzeczywistego systemu bez przesadnej złożoności jednak cechującego się wysoką wydajnością i skalowalnością. Systemu można używać na różnorodnych platformach, takich jak: C++, Java, .NET, Visual Basic, Python, Ruby oraz PHP, jak również na większości głównych systemów operacyjnych takich jak Linux, Solaris, Windows i OS X. Powstała również wersja ICE o nazwie Ice-e, która jest przeznaczona dla telefonów komórkowych.
Jak sama nazwa wskazuje, middleware (oprogramowanie pośredniczące) może być używane dla aplikacji internetowych bez konieczności korzystania z protokołu HTTP i jest w stanie przejść przez zapory sieciowe w przeciwieństwie do większości innych programów tego typu.
ICE i CORBA ICE cechuje podobieństwo do CORBA, został stworzony przez kilku developerów CORBA włączając w to Michi Henninga. Od CORBA różni go to, że jest dużo mniejszy i mniej rozbudowany.