A remote library runs on another computer and its assets are accessed via [[remote procedure call]] (RPC) over a network. This maximizes[[Distributed operatingcomputing|distributed systemarchitecture]] re-use:allows thefor codeminimizing neededinstallation to supportof the library isand thesupport samefor codeit beingon usedeach toconsuming provide application supportsystem and securityensuring for every otherconsistent programversioning. Additionally,A suchsignificant systemsdownside dois notthat require theeach library tocall existentails onsignificantly themore sameoverhead machine,than butfor cana forwardlocal the requests over the networklibrary.
However, such an approach means that every library call requires a considerable amount of overhead. RPC calls are much more expensive than calling a shared library that has already been loaded on the same machine. This approach is commonly used in a [[Distributed computing|distributed architecture]] that makes heavy use of such remote calls, notably client-server systems and [[application server]]s such as [[Enterprise JavaBean]]s.