"DSP" is a term for an service that connects to multiple ad inventory sources (ad exchanges, ad networks, etc) and allows an advertiser to upload their creative media and targeting criteria once and then be able to buy on all the different inventory sources that the DSP integrates at once. The "demand-side" refers to the fact that DSPs (Invite Media, Turn, DataXu, etc) are used by advertisers to buy inventory, as opposed to the "supply-side", which are the publishers (web sites) or their representatives (ad networks, Rubicon, Pubmatic, etc) that have the inventory slots which the DSP is to fill. In display advertising, "supply" is code for people (they call it "audience") and "demand" is code for money.

All of this works via the magic of RTB (real-time bidding) APIs which certain ad exchanges and networks implement that allows a DSP to see and bid on each individual impression right before it is rendered in real-time. It works as follows:

* An end user loads a web page in his browser with an RTB-enabled ad tag on it

* Ad tag loads and calls back to its origin (e.g. Google AdX) for a creative to show

* The origin initiates a real-time auction with all of its partners (DSPs or Appnexus(+)) to find a creative to show

* The origin will send each partner a bid request containing such information as the origin IP address, geographical information, site on which the tag is placed, etc

* The partner searches its inventory for a matching creative(s)

* The partner picks one to bid on and chooses a bid price to offer

* It sends that back to the origin

* The origin chooses the winner of the auction and then:

* Sends the winning creative tag back to the publisher's ad tag to be shown

* Debits the winning partner's account by the amount bid (or something less, depending on the auction model)

* The ad loads in the browser and the end user is pissed off that he has yet to enable AdBlock

As for who offers RTB APIs, those are typically ad exchanges, SSPs ("supply-side platforms", also known as "yield optimizers", e.g. Rubicon, Pubmatic, AdMeld) and some ad networks. The largest ad exchange, Yahoo! RightMedia, has yet to offer an RTB API yet, although they are purported to be working on it.

DSPs will typically use the information provided in the bid request to help aid the bidding decision but also they rely heavily on third-party data sources for extra information about the user and the publisher domain/URL in order to maximize the likelihood of offering a relevant ad for the cheapest price. Proximic, BlueKai, Exelate, Bizo, TARGUSInfo and many more offer specialized data streams for this purpose.

DSPs serve as aggregators of RTB-enabled inventory sources for advertisers so that they can buy across all of them without having to manage N sets of creatives, N sets of bids, N sets of targeting criteria, N relationships, etc. This allows advertisers to concentrate on the audience they want to reach and not where to find them. Having said that, the larger brand advertisers will typically use an ad agency and not deal with DSPs directly; the agency will use a DSP on their behalf and charge a markup for the service. This is typically called "execution" in the same vein as "execution of trades". DSPs are the algo traders of the online ad world.

(+) I mention Appnexus separately because they are not technically a DSP. While they do connect to the RTB APIs of many of the inventory sources and can serve as a DSP, they are a primarily a platform on which to create a DSP or some other real-time-enabled ad processing engine. Many of the DSPs out there are just whitelabeled Appnexus, in that they use Appnexus' bidder and UI for their "DSP". Appnexus also has exchange-like properties, e.g. they have inventory exclusive to themselves (i.e. what used to be called Microsoft AdECN) that is only available by integrating with them/using their platform.

(++) Full disclosure: I was Invite Media's first Chief Architect and I continue to work in the online ad business today.