Distributed Device Bus
MetadataShow full item record
Peripheral devices are hardware components that are connected to a computer and they supplement the functionality of a computer. Over the years, a huge improvement has been observed both in variety and capabilities of peripheral devices. Starting from the input/output and storage devices of early days, today's peripheral devices support all aspects of a computer, with peripherals like Graphical Processing Units (GPUs) even supplementing the computational capabilities of a processor. At the same time, the support for peripheral devices in computers has vastly improved. While the earlier computers only supported static configuration of devices, the plug-and-play capabilities in present day computers allow devices to be added or removed at run time, thus reducing the complexity of managing peripheral devices. Today, it is not an exaggeration to state that, beyond the computational capability of a computer, it is the peripheral devices that define the user experience. With the advancements in networking and distributed computing, the definition of what constitutes a computer has been blurred: Mainframes and Supercomputing clusters support batch processing, where processors/cores are treated as resources, and number of processors/cores available for a specific computation can be requested on demand. With cloud computing, users access services hosted across the Internet. However, usage models for peripheral devices have not caught up accordingly. For the most part, Peripheral devices are still limited to the computers they are physical attached to. Device virtualization solutions exist that can extend the device protocols over the network, enabling users to access devices connected to a different computer. However, these device virtualization solutions still need direct access to both the computer that has the device plugged in (Device Server) and to the computer that intends to use the device (Device Client) and they do not support remote plug-and-play. So, there is a need for a device consolidation framework that supports new device usage models that are in line with the evolving models of computation. In this thesis, we propose a framework called "Distributed Device Bus", which extends the concept of a conventional peripheral bus to include in its scope, the ports of all the computers that are connected over a network. Like a peripheral bus, a Distributed Device Bus is also associated with a computer called Master node. A Distributed Device Bus supports dynamic addition/deletion of ports and each of these ports can physically belong to any computer in the network. Computers that contribute ports to a Distributed Device Bus are called Provider nodes. A device plugged into any port that is assigned to a Distributed Device Bus is immediately made accessible to applications on master node. This device consolidation framework treats devices as a resource and access to a device is configurable rather than being limited to the computer the device is physically attached to.
Juturu, Amruth Kumar (2015). Distributed Device Bus. Master's thesis, Texas A & M University. Available electronically from