Seit der CORBA-Spezifikation 2.3 ist die Möglichkeit gegeben, Objekte nicht nur als Referenz (Object-by-Reference) zu übertragen, sondern auch mit seinem gesamten aktuellen Zustand (State). Wegen der Relevanz für diese Arbeit soll hier ein kurzer Überblick gegeben werden.
Als großer Nachteil von CORBA gegenüber RMI wurde lange Zeit das Fehlen einer Übertragungsmöglichkeit von gesamten Objekten angesehen. CORBA war nur in der Lage, primitive Datentypen als Wert zu übermitteln, sämtliche Methodenaufrufe mussten über die Referenz an das Objekt gesendet werden. Dadurch konnten kaskadierende Aufrufe mit einer hohen Netzlast entstehen.
Seit der Einführung von Object-by-Value (OBV) ist das Übertragen von ganzen Objekten möglich. Ein Objektzustand kann eingefroren und auf Klientseite kann ein entsprechendes Objekt mit diesem Zustand neu instanziert werden. Der Nachteil bei diesem Ansatz ist die Bedingung des Vorhandenseins einer entsprechenden Objektklasse (es muss in den benutzten Programmiersprachen die Objektklasse implementiert werden) was jedoch durch den Vorteil wieder ausgeglichen wird, lokal mit dem Objekt arbeiten zu können. Somit ist stets eine Abwägung zu treffen, ob der zusätzliche Implementationsaufwand den Nutzen rechtfertigt.