Direct Payment Protocol is a protocol for communication between a payment host (usually either a merchant, a payment processor, or simply the recipient’s wallet) and their customer (the sender of the funds).
The Transaction ancestors is a data structure that encapsulates a transaction along with Merkle Proofs and full transactions of confirmed ancestors.
The Merkle proof is fundamental to the Simplified Payment Verification (SPV) model that underpins bitcoin scaling.