The proxy has the same interface as the remote object. Your local objects talk to the proxy using the usual in-process message sends. The proxy then is responsible for passing any messages on to the real object, wherever it might reside. A UML class diagram of the Proxy design pattern. Proxy is a design pattern, for it describes a design technique.
Patterns can also exist in other areas.
Say you are designing a system for managing risk in financial markets. You need to understand how the value of a portfolio of stocks changes over time. You could do this by keeping a price for the stock and time-stamping the price. To do this you can create a Scenario that contains a whole set of prices for stocks. Then you can have separate scenarios for the prices last week, my best guess for next week, next week if oil prices collapse, and so on.