In terms of the extensions it added to COM, DCOM had to solve the problems of
Marshalling - serializing and deserializing the arguments and return values of method calls "over the wire".
Distributed Garbage Collection - ensuring that references held by clients of interfaces are released when, for example, the client process crashed, or the network collection was lost.
DCOM was a major competitor to CORBA. Proponents of both of these technologies saw them as one day becoming the model for code and service-reuse over the Internet.
Ironically, however, the difficulties involved in getting either of these technologies to work over Internet firewalls, and on unknown and insecure machines, meant that normal http requests in combination with web browsers won out over both of them.
External links
An article from microsoft.com explaining DCOM (http://www.microsoft.com/com/tech/DCOM.asp)
DCOM manages connections to components that are dedicated to a single client, as well as components that are shared by multiple clients, by maintaining a reference count on each component.
DCOM provides a multitude of ways to "tweak" the actual network protocol and network traffic without changing the way that clients perceive the component: Client-side caching, referrals, and replacing the network transport when necessary are but a few techniques that are possible.
DCOM on the component's machine then validates the username again using whatever authentication mechanism is configured and checks the access control list for the component (actually for the first component run in the process containing the component).