Abstract—The focus of our research began with the deployment of a cloud computing system to offer resources similar to commercial vendors. Realizing the implications of deploying such a system in an environment with limited networking resources (IP addresses), we decided to find a solution that would work giving our cloud only one public IP address. Users will be able to access cloud resources through a simple web interface and maintenance of the cloud will be contained with private networking resources. Users needing resources in the local cloud will rely on a NAT router, with other functionalities, to gain access these resources. We will also demonstrate, if the need arises to have multiple geographically distributed clusters in the local cloud, how to scale in this sense with only one IP address per cluster. Index Terms— Cloud Computing, IP Networking, Resource Distribution. I. INTRODUCTION HE cloud computing architecture is becoming a dominant contender in the distributed systems paradigm. Its differences from the client/server architecture are based in its heavy use of resource elasticity. The cloud architecture uses virtualization technology in distributed data centers to allocate resources to users as they need them. Cloud computing has emerged from the previous industry standards, such as grid and cluster computing. Although cloud architectures are similar to these distributed systems, the resources are usually maintained by a single entity and might not be used by customers to complete similar goals. Depending on the level of control the user has, Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), or Software-as-a-Service (SaaS), jobs can differ greatly from customer to customer [7]. There are many implementations of the cloud architecture by various commercial vendors and open source communities. The Amazon Cloud, or collectively known as Amazon Web Services (AWS) is arguably the leader when it comes to offering customers access to hardware in the cloud (IaaS). To demonstrate this commanding lead in the field, the vendor, Netflix, Inc. (the largest on-demand movie and television streaming company) uses AWS to run mission critical customer-facing and backend applications [2]. Microsoft has entered the cloud computing paradigm with its Azure platform (PaaS) [3]. This platform allows customers to create and run applications hosted by Microsoft’s datacenters. Customers using Azure have access to Microsoft’s cloud operating system and all of the services needed to develop applications remotely. Unlike AWS, Azure does not allow the user lower level access to hardware. Google’s Docs application [4] allows users to store and edit office document related data. Users of this application have no permissions to access underlying hardware, or change the software applications presented to them (SaaS). The user consumes this resource with little or no care of how it’s implemented. In this paper, the cloud architecture will refer specifically to Infrastructure as a Service (IaaS), providing users the ability to create virtual machines. Following in the footsteps of cloud leaders such as Amazon and Google, open source communities have provided software packages that allow individuals to deploy their own local cloud. As customers become more and more dependent on retrieving data whenever they want it, they become heavily dependent on the cloud vendor’s reliability for data access. There could be many reasons for a user or organization to deploy a local cloud. One example would be the user wanting a higher utilization of their physical resources. Another example could be that some data created by local organizations cannot be stored by a public cloud vendor. Whatever the reason for a local cloud, users still need access to the data stored, which requires expensive networking resources. When a user needs to connect to a local cloud resource, each instance of that resource has to have a unique private IP address. In the case of our experiments, the resources are stateless virtual machines. The user is given a list of operating systems to choose from, and if persistent storage is needed, they have the ability to mount space located on the storage controller. The open source community is led by three prominent distributions: Eucalyptus, OpenNebula, and Nimbus [1]. Our local cloud implementation uses Eucalyptus. An overview of the Eucalyptus architecture will be given in section three. The topic of this paper is concerned with deployment of privately maintained clouds using limited networking resources. The rest of the paper is organized as follows. Section two will present the problem statement of deploying a private cloud into an environment with limited networking capabilities. Section three explains how to build the cloud using Eucalyptus. Section four gives details on deploying cloud resources with minimal interactions from users. Section Private Distributed Cloud Deployment in a Limited Networking Environment Jeffrey Galloway, Susan Vrbsky, and Karl Smith The University of Alabama jmgalloway@crimson.ua.edu, vrbsky@cs.ua.edu, smith102@crimson.ua.edu T Contact Author: Jeffrey Michael Galloway Conference: ICOMP