In computer programming, specifically component models and distributed computing, the act of grouping and distributing data across a wire or connection of some sort. In most implementations, the marshaller (this functionality usually ends up in a stub) converts data parameters from procedure calls into a standardized data structure that can be transferred over the wire and decoded or "unmarshalled" by the receiver. This provides the transparency needed to work with distributed objects without losing one's sanity.