In string theory, D-branes are a class of extended objects upon which open strings can end with Dirichlet boundary conditions, after which they are named, D-branes were discovered by Dai, Leigh and which American theoretical physicist, and string theorist?