Over time the Internet has evolved from a network that interconnects hosts to a network that interconnects information objects broadly defined; these objects range from movie files, Facebook content, twitter messages, to sensor data and authenticated device actuation commands.As a newly proposed architecture to meet this new usage, Named Data Networking (NDN) replaces the host-based addressing scheme by names of information objects in moving packets through the network. In an NDN network consumers send Interest packets carrying application-level names to request information objects, and the network returns the requested Data packets reversing the path of the Interests. As a new way of doing networking, NDN introduces new design patterns for applications. To make the content available in the network, one needs to consider multiple design choices, which range from name structure and security model to more basic issues such as data segmentation. To fetch content, This dissertation addresses the above challenges with the design of a new Consumer / Producer API and its associated protocol suite that can play socketequivalent roles in an NDN network. We demonstrate how the API can be used to invoke the most fundamental communication patterns in an NDN network and also show how stand-alone and web-based applications can be designed on top of the API. While the architecture of NDN is still a subject to the changes, we believe that the Consumer / Producer API framework can be successfully extended to accommodate new protocols, communication patterns and applications.iii The dissertation of Ilya Moiseenko is approved.