Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Image Compression Storage Policy for Openstack Swift

240 views

Published on

A research paper

Published in: Software
  • Be the first to comment

  • Be the first to like this

Image Compression Storage Policy for Openstack Swift

  1. 1. IMAGE COMPRESSION STORAGE POLICY FOR OPENSTACK SWIFT A Research Paper Presented to Computer Engineering Department San José State University by Ikwhan Chang December 2016
  2. 2. IMAGE COMPRESSION STORAGE POLICY FOR OPENSTACK SWIFT ii TABLE OF CONTENTS ABSTRACT....................................................................................................................... 1 Introduction....................................................................................................................... 1 Background ....................................................................................................................... 2 Description of the Project................................................................................................. 2 Goals of the Project........................................................................................................... 3 Related Works................................................................................................................... 3 Technical Aspects.............................................................................................................. 8 Environments .................................................................................................................... 8 Architecture....................................................................................................................... 8 Test Scenario ..................................................................................................................... 9 Performance .................................................................................................................... 10 Challenges........................................................................................................................ 11 Conclusion ....................................................................................................................... 12 References........................................................................................................................ 13
  3. 3. IMAGE COMPRESSION STORAGE POLICY FOR OPENSTACK SWIFT iii LIST OF TABLES Table 1. The Characteristic of Software-defined Network ..................................................... 5 Table 2. The Characteristic of Software-defined Data Center ................................................ 7 Table 3. The list of the Swift’s file to adjust custom storage policy ........................................ 9 Table 4. The Result of Test Scenario ................................................................................. 10
  4. 4. IMAGE COMPRESSION STORAGE POLICY FOR OPENSTACK SWIFT iv LIST OF FIGURES Figure 1. Average bytes per page by content type ........................................................... 3 Figure 2. Content Management System (CMS) usage statistics ...................................... 3 Figure 3. Source code within diskfile.py with image compression policy ........................ 9 Figure 4. The procedure of testing to upload/load compressed image file ..................... 10
  5. 5. IMAGE COMPRESSION STORAGE POLICY FOR OPENSTACK SWIFT 1 ABSTRACT Recently, the cloud storage service, such as SkyDrive, Google Drive, iCloud Drive, has been growing rapidly with almost unlimited capacity. In addition, to simply uploading data, users can easily share with others via the web with provided URL, and because of this feature, many people not only simply share resources such as documents, but also upload and use within their friends. Recently, Amazon Web Service (AWS) Simple Storage Service (S3) provides REST API and SDKs through various programming languages have been provided, and it can be utilized for user's web development. Therefore, the environment of web development is moving the image hosting server and so on to use the cloud storage service, which provides nearly unlimited capacity at a price lower than the cost of operating the server itself. In this paper, we create a cloud storage service for these web developers using OpenStack Swift, a private cloud similar as AWS S3, and apply the image compression policy to specific containers. Thus, when the image is uploaded, a compression file is generated. When the web server is used as an image server, the optimized image is provided. Ultimately, we hope that by using our image compression policy, the speed of the web page is increased. Keywords—Software-defined Network; Software-defined Storage; Software-defined Data Center; OpenStack; Swift; Storage resources; Image Compression; Optimization Introduction In the age of the cloud computing, there are many IaaS (Infrastructure-as-a- Service) services such as Amazon AWS (AWS, n.d.), Google Cloud (GCE, n.d.), and Microsoft Azure (Azure, n.d.), but they are expensive in terms of testing. With the emergence of a private cloud like OpenStack (OpenStack, n.d.), many people use it to install it on their bear metal server. However, for four years, OpenStack is not easy to install, and even if it is installed, it is difficult to use it because of the amount of complicated and vast source code. The OpenStack Swift (OpenStack Swift, n.d.) project has begun, and Swift provides users with the ability to use their private clouds simply as a cloud storage service, not as an image processing or account management task. For those who do not need a complicated VM (Virtual Machine), while OpenStack provides the role of cloud OS, Swift provides the role of cloud storage OS by abstracting the entire hardware at the storage level and providing it like the cloud drive. Swift is one of the Software-Defined Storage (SDxCentral, n.d.), “abstracting multiple physical storages and providing them with the same properties as SDN's basic definition” (M. David, 2014) and availability. This concept of container and storage (SDxCentral, n.d.) can be applied to each user's custom policy especially for each container. “If the size of the data center is turned on, the role of storage policy is very important.” (Thereska, 2013) In this paper, OpenStack Swift is used to providing web developers with a custom policy to automatically compress resources such as images. Recently, web developers are
  6. 6. IMAGE COMPRESSION STORAGE POLICY FOR OPENSTACK SWIFT 2 using resources that are cheaper and unlimited traffic with cloud storage service like Amazon AWS S3, which enables developers such as image servers to automatically compress resources and fix the speed of web pages thus we can increase the performance of web page. Background The answer to why you need the image compression can be found in recent Internet trends. According to the survey of Archive.org shown in Figure 1, 64% of the online content is in image files. That is, the image file plays a very important role in constituting the Internet page. Moreover, with the recent advances in display resolutions such as HD images, Apple's Retina, UHD, and 5K, web developers no longer build web pages with just one simple image. Apple's guide to providing the Retina (Apple Inc.,, 2013) suggests that “to provide high resolution, you need to provide additional images with twice the resolution apart from regular images.” Alternatively, a vector image rather than a pixel image, but it is difficult to create a vector for a typical photo file. In addition to web developers, image-related services like Instagram have become more important in recent years. Imgur (Imgur, n.d.), famous for providing Reddit (Reddit, n.d.) images, decided to use Amazon AWS S3 (Amazon S3, n.d.), which provides both loads balancing and caching while using multiple caching services. Also, many people use Amazon AWS S3 as an image server for their websites in constant and reliable terms (Jeff A., 2007). As part of our effort to increase page loading speed as well as caching and load balancing, image optimization is the most important task, just like Forbes' expert advice, but S3 does not automatically optimize images. On the other hand, image optimization sites such as Compressor.io (Compressor.io, n.d.) and Tinypng (Tinypng, n.d.) are gaining popularity, and Wordpress, which is famous for CMS (Content Management System), occupies 47.19% of CMS as shown in Figure 2, people are paying more attention to image compression, including more than 600,000 installations of plugin. (Built With, 2005) Based on this, we want to provide a service that uploads images and compresses images using OpenStack Swift, which allows users to directly construct cloud storage. Description of the Project Our project works in three main ways: 1) analyzing the source code of the complicated OpenStack Swift, how to modify the code, how to modify the individual storage policy, and what factors can see if the developer wants to develop the storage policy. 2) Identify the difference between the existing policy by putting the policy on the specific storage of the actual OpenStack Swift. 3) When the user uploads the file, if the file is an image type, develop the logic to save the compressed image. In our project, we can create and use a compressed file in the same format as [File Name]_compressed.[Extension] according to one upload request of user or developer.
  7. 7. IMAGE COMPRESSION STORAGE POLICY FOR OPENSTACK SWIFT 3 Figure 1. Average bytes per page by content type (Http Archive, 2016) Figure 2. Content Management System (CMS) usage statistics (BuiltWith® Pty Ltd, 2016) Goals of the Project Our goal is as follows: 1) Analyze the Swift source code as our first step. The OpenStack Swift source code consists of a huge amount of Python sources. The diskfile.py is composed of more than 3000 lines of source code and more than 50 methods. So, understanding Swift is our first step. 2) Analyze the swift proxy code flow. Once you have completed the primary analysis, you will understand what each method does for Swift, which consists of the actual proxy server and the object server. 3) Identify the files that we need to modify to implement an additional storage policy. Analyze the source to see where you can link the policy to the outbound. 4) Identified the most suitable image compression technique. PIL (Python Image Library), Open CV, etc. to see what image compression algorithm can be applied. 5) Modified the Swift code to add the new image compression policy and integrated the compression procedure 6) Developed a web page to demonstrate the usage of the new policy. Related Works A. Cloud Computing Cloud computing is a service that uses all the computing resources from the application to the data as much as you want in the internet environment and pays as much as you use. There are two types of services: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). Cloud-based services that take advantage of the scalability and flexibility of the cloud have different data management structures depending on the type of data serving. “To ensure the availability of data and
  8. 8. IMAGE COMPRESSION STORAGE POLICY FOR OPENSTACK SWIFT 4 services, data is duplicated, or triple managed.” (Chowdhury & Boutaba, 2010) (Thereska, et al., 2013) For example, a cloud storage service provides a certain size of volume for each cloud storage user, and the user uses it. Moreover, “the data uploaded by the user is managed in triplicate.” (Schaffrath, et al., 2009) However, there are two issues that need to be addressed in the way data is managed using an existing cloud. First, space is wasted because a certain size of the volume is allocated. Second, it is difficult to manage different types of data. B. Software-Defined Network (SDN) The software-defined network uses software technology to define and utilize networks. SDN's core philosophy is to separate network functions into hardware functions and software functions to increase programmability and increase flexibility. In the past, SDN has been responsible for data processing, policy management, and data management in the data network. Moreover, a control layer area in which a control layer is formed. The control layer area is separated so that it can be controlled by SDN controller and application program. OpenFlow (McKeown, et al., 2008) is a representative protocol for implementing SDN defined between the control layer and the data layer in SDN. With SDN, the packet path can be controlled through programming rather than network equipment. In fact, the benefits associated with this have already been suggested even though SDN is not currently discussed. However, ensuring programmability and increasing flexibility by standards that are not specific to a specific vendor is possible on a software-based rather than hardware-based basis. Therefore, SDN technology is becoming a key technology among the major software base technologies. In particular, the use of SDN has changed the characteristics of the data center as shown in Table I Currently, SDN is considered as a representative example of the combination of abstraction through network virtualization and the possibility of programming using software. C. Software-Defined Storage (SDS) Software-defined storage (SDS) configures the storage pool and stores it in the user's policy. This model increases the ease of management of storage by automatically allocating storage according to the application requirements and providing it with a single software control point. The SDS simplifies the management aspects by providing one control point. It can be implemented using existing hardware infrastructure, and various heterogeneous hardware products can be used. Also, various storage types such as blocks, files and object storage can be integrated and provided.
  9. 9. IMAGE COMPRESSION STORAGE POLICY FOR OPENSTACK SWIFT 5 D. Software-Defined Data Center (SDDC) Software-defined data centers refer to data centers that virtualize and operate IT infrastructures such as servers, storage, and networking. Software defined the assessment that datacenters can virtualize all their IT infrastructures and use them more efficiently and agile with automated software has received a great deal of attention in the IT industry today. Data centers can be deployed using OpenFlow-compatible com- modify equipment with only the necessary features, without expensive hardware with advanced networking capabilities, separated into hardware responsible for the data layer and software for controlling it. Increased value as network centrally managed software by enabling full control of the network through programming. Network complexity in the cloud environment can be solved through network virtualization using SDN. Supports automation, auto-scaling, and service chaining, such as network changes due to movement of virtual machines can be immediately confirmed through programming and software can be supported. Table I. The Characteristic of Software-defined Network E. Software-Defined Anything/Everything (SDx) As virtualization and cloud computing evolve, the software has emerged as a software-as-a-service (SaaS), a cloud-based service that is now out of the traditional simple client-server model. At the same time, the evolving part of the data center is the infrastructure that provides servers and networks with physical stability and network scalability. In the late 1990s, the data center, which was dominated by the Internet Data Center (IDC), is now equipped with a very complex infrastructure consisting of thousands and tens of thousands of servers, network and storage resources, driven by virtualization and cloud development. Software-defined Anything / Everything (SDx), one of the top 10 strategic technology trends announced by Gartner in 2014 has become a buzzword as market momentum for establishing software-based standards in these cloud computing and data center markets has become increasingly strong term. (Gartner, 2013) The concept of 'software definition,' which embodies the philosophy of using software technology to increase the agility and interoperability of areas that were directly controlled by hardware, as it has expanded to include business and services in recent years.
  10. 10. IMAGE COMPRESSION STORAGE POLICY FOR OPENSTACK SWIFT 6 Market momentum based on 'software defined' has naturally spread to storage, infrastructure, and data center as a whole, beginning with industry trends related to SDN. Just as SDN, which defines software-dependent parts of the software, has advantages such as automation, auto-scaling, and service chaining, software definitions are being evaluated as a concept of leapfrogging hardware dependencies by taking advantage of the software. This definition of software spreads not only in today's network but also in all areas of servers, storage, and infrastructures, resulting in the emergence of Software- Defined Storage (SDS) and Software-Defined Data Center (SDDC) terms. Software- defined Anything / Everything. Today, SDx is used as a business term to leverage the benefits of "software definition" not just at the level of the infrastructure such as network, storage, and data center, but also at the business and application service levels Table II explains the baseline points that can be referred to as 'software definition,' taking a software-defined data center as an example. As each of the above criteria is met and each criterion is combined to optimize the infrastructure and increase utilization at the application level, innovation in 'software definition' is accelerated. These innovations include choosing the right infrastructure to meet SLAs and dynamic configurations that optimize asset utilization. What is important here is that software definition can increase flexibility and enable programmability by standards that are not dependent on a specific vendor. Agility and interoperability are two important philosophies that represent SDx. In the case of electronics, the specific methods for each field such as network and storage are slightly different, but the flexibility is improving. On the other hand, in the latter case, there is a tendency for related companies to make various moves such as pushing the SDx initiative to strengthen the market standard. F. OpenFlow One of the biggest trends associated with SDx is standardization. OpenFlow, which is a representative example of SDN standardization, was initially led by academia, not by industry. The OpenFlow protocol, implemented and standardized by Stanford University professors and students, has been transferred to the Open Networking Foundation (ONF) since version 1.1 and released 1.4 in October 2013, and is now standardizing on version 1.5. OpenFlow standardization allows customers to break away from network vendor dependencies and form a user-driven network ecosystem that enables customers to take advantage of network pricing, scalability, reliability, performance and other requirements.
  11. 11. IMAGE COMPRESSION STORAGE POLICY FOR OPENSTACK SWIFT 7 Abstraction – the decoupling of a resource from the consumer of the resource (also commonly referred to as virtualization when talking about compute resources). This is a powerful foundation as the virtualization of these resources should enable us to define ‘models’ of infrastructure elements that can be managed without requiring management of every element individually. Instrumentation – opening up of the decoupled infrastructure elements with programmatic interfaces (typically XML-based RESTful APIs). Automation – using these APIs, wiring up the exposed elements using scripts and other automation tools to remove “human middleware” from the equation. This is an area where traditional information security tools are woefully inadequate. Orchestration – beyond script-based automation, automating the provisioning of data center infrastructure through linkages to policy-driven orchestration systems where the provisioning of compute, networking, storage, security and so on is driven by business policies such as SLAs, compliance, cost and availability. This is where infrastructure meets the business. Table II. The Characteristic of Software-defined Data Center (Gartner, 2013) G. OpenStack Various of SDx initiatives are being pursued not only on the network but also through OpenStack, Open Compute Project, and Open Rack. OpenStack is an open source project initiated by NASA and RackSpace in July 2010. (Rackspace Inc., 2010) It is a cloud infrastructure management solution project with more than 10,000 developers from 121 countries as of July 2013. The Open Compute Project (www.opencompute.org) is a Facebook-led initiative created to share data center design and related experiences in 2011, with Open Rack for energy and cost savings and scalability. One of its server rack product specifications has been announced. These SDx initiatives offer the advantage of being able to flexibly meet a wide range of customer requirements, as well as reducing operational costs (OPEX) from the operator's perspective. It also provides convenience for automation such as auto-scaling and service chaining. It is noteworthy that initiatives are underway to establish various standardizations with the direct participation of several SDx providers. Since NASA announced that it would not participate in OpenStack in May 2012 (NASA, 2012), VMware joined the OpenStack Foundation in September 2012. (Gigaom, 2012) Also, many vendors, including Cisco and HP, directly participate in OpenStack Summit will make a major announcement. Moreover, the Facebook-led Open Compute project includes hardware manufacturers such as Intel to discuss low-power mainboards and network interfaces. The main reason for existing players to participate actively in the SDx market, which has been undergoing such a change, seems to be efforts to secure software-based
  12. 12. IMAGE COMPRESSION STORAGE POLICY FOR OPENSTACK SWIFT 8 initiatives because existing operators worry about profitability deterioration and competition expansion. Technical Aspects In the case of our project, we developed using various elements of the web. First, we created the API interface through Node.js for the REST API provided by OpenStack Swift. Second, using the latest web development technologies, such as AngularJS and Bootstrap, the test client's programs have made the same experience for front-end developers. Third, by installing the Swift-All-In-One (SAIO) (SAIO, n.d.) version of OpenStack, existing users can easily install Swift and run Object Server. Fourth, we used Bower (Bower, n.d.) and NPM to manage the dependency of the test client. Finally, Github allows the source code to be easily followed when committing custom libraries to other users, depending on the commit and archive. To understand this project, it is necessary to understand basic REST API of SDN, SDS and the web, and techniques such as Node.js and AngularJS. Environments For our project, we needed to build a server environment first. The server used Google Compute Engine and used two virtual CPUs, 7.5GB of memory and two 100GB block storage hard disks. The operating system used Ubuntu Server 14.04 LTS image and OpenStack Swift 2.11.1dev46. I installed the proxy server and the storage server on one server by referring to the SAIO manual. Architecture For the development of our project, Swift itself modified the swift/obj/diskfile.py file as shown in Figure 3. First, we named the image compression policy COMP_POLICY and applied it to the file in Table III. The first time we tried to modify the proxy server, we decided to change diskfile.py to handle the actual file saving by changing the way. Therefore, first add the CompressedDiskFileManager module as shown in Figure 3, and register it in policy. Later, by defining CompressedDiskFileWriter and CompressedDiskFileReader, we create a part that can handle HTTP request / response and Swift command. Our program defines a new file writing part, so we mainly worked on CompressedDiskFileWrite, and I got the file stored in this area and uploaded the compressed file through Swift command.
  13. 13. IMAGE COMPRESSION STORAGE POLICY FOR OPENSTACK SWIFT 9 swift/obj/diskfile.py swift/common/storage_policy.py swift/proxy/controllers/obj.py Table III. The list of the Swift’s file to adjust custom storage policy Figure 3. Source code within diskfile.py with image compression policy Test Scenario As shown in Figure 4, there are two test scenarios. First, there is REST API processing when the user uploads the file and processing by the actual OpenStack Swift. Second, when the user presses the Run the Demo button after the upload is completed, the original image and the compressed image are called at the bottom of the test page It is about comparing image load speed and size with Chrome Developer Tools.
  14. 14. IMAGE COMPRESSION STORAGE POLICY FOR OPENSTACK SWIFT 10 More specifically, in a web page composed of AngularJS and Dropzone.js (Dropzone.js, n.d.), the user requests a file upload via drag-and-drop. The client invokes the file upload portion of the Node.js middleware via an Ajax request. In the middleware, the actual byte stream of the file in the multipart form is first transmitted through the Swift REST API implemented by us. The Swift server receives the request and handles file storage in CompressedDiskFileWriter in diskfile.py mentioned in the above architecture. We do the actual processing in the _finalize_put_() method with our implemented image compressor. After that, through Run the Demo, AngularJS makes a content request to middleware and shows it through REST API. Figure 4. The procedure of testing to upload/load compressed image file Performance Table IV shows our test results. A total of four images were tested, showing an average 28.28% reduction in image capacity and an average increase in page throughput of 32.46%. The result is larger in the visual area that the user can see. In fact, it takes 8 seconds to load a 15MB HD image shown in Table IV, Image#4 While the compressed HD file shows a result of 2.74 seconds, which still allows the user to view the image quite nicely. Uncompressed Compressed Reduce Rate (%) Size (KB) Load Speed (Sec) Size (KB) Load Speed (Sec) Size Load Speed Image #1 1,434 1.16 657 0.5 -45.82 -43.10 Image #2 6,554 4.13 1,011 1.12 -15.43 -27.11 Image #3 969 2.66 217 0.69 -22.39 -25.90 Image #4 15,667 8.13 4,618 2.74 -29.48 -33.70 Average -28.28 -32.46 Table IV The Result of the Test Scenario
  15. 15. IMAGE COMPRESSION STORAGE POLICY FOR OPENSTACK SWIFT 11 Challenges In the case of OpenStack Swift, the file from the HTTP request or Swift command request is divided into 500 bytes, separated into chunks, and then transmitted to the corresponding object server in order. We first tried to compress the file and send it to the server before splitting the file into chunks. However, since the number of chunk files in the compressed file differs from the number of chunks in the actual compressed file, the logic for counting transmitted chunks is so varied that it fails to analyze them. We tried to compress and then re-compress the file stored on the object server, but it also failed to fetch metadata and hash. Since we used SAIO (Swift-All-In-One), object server and proxy server existed on one server, but in practice, these servers will be separated, so it is necessary to process file compression processing in the proxy server in advance. Also, we spent a great deal of time analyzing the complex Swift source code and spent much time building test scenarios and test client environments.
  16. 16. IMAGE COMPRESSION STORAGE POLICY FOR OPENSTACK SWIFT 12 Conclusion Through this project, we created a policy from the installation of OpenStack Swift and connected and tested the actual container. In SDDC, we knew that SDS was the basis so that we could manage huge physical hardware through the policy, and once again gutted the importance of policy. As the number of users using the latest image server in Amazon AWS S3 increases, the importance of image compression is expected to increase in future S3. Thus, other services such as Google Cloud Storage are more interested in web optimization thus we need to give customization permission to in our project. Since the image compression was simply used for web optimization, we did not adopt in-depth algorithms. However, if the policy becomes a structure that adopts file optimization based on content type in future policy, SDDC we hope to do it properly.
  17. 17. IMAGE COMPRESSION STORAGE POLICY FOR OPENSTACK SWIFT 13 References 1) Amazon Web Service (AWS). (n.d.). Retrieved from http://aws.amazon.com/. 2) Amazon Simple Storage Service (S3) . (n.d.). Retrieved from http://aws.amazon.com/s3/. 3) Google Compute Engine. (n.d.). Retrieved from http://cloud.google.com. 4) Microsoft Azure. (n.d.). Retrieved from http://www.windowsazure.com/. 5) OpenStack. (n.d.). Retrieved from http://www.openstack.org/. 6) OpenStack Swift. (n.d.). Retrieved from http://swift.openstack.org/. 7) What is Software-Defined Storage? – Definition. (n.d.). In SDxCentral. Retrieved from https://www.sdxcentral.com/cloud/definitions/what-is-software-defined- storage/ 8) M. David, ‘‘Introduction to SDN (Software-defined Networking),’’ Nov. 2014. [Online]. Available: https://www.youtube.com/watch?v=DiChnu_PAzA. 9) Thereska, E., Ballani, H., O'Shea, G., Karagiannis, T., Rowstron, A., Talpey, T., ... & Zhu, T. (2013, November). IOFlow: a software-defined storage architecture. In Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles (pp. 182-196). ACM. 10) Average Byte per Page by Content Type. (Mar. 2016). In Http Archive. Retrieved from http://httparchive.org/interesting.php#bytesperpage?ictd%5Bmaster%5D=vid~72 0f2d5d-60be-46fc-92c4- 1774ba093d21&ictd%5Bil583%5D=rlt~1441669636~land~2_3853_seo_aa73a52 e6449ecff40e9a5c66e7bb93f. 11) Serving Images With Image Sets. (Sep. 2013). In Apple. Retrieved from https://developer.apple.com/library/content/documentation/NetworkingInternet/C onceptual/SafariImageDeliveryBestPractices/ServingImagestoRetinaDisplays/Ser vingImagestoRetinaDisplays.html#//apple_ref/doc/uid/TP40012449-CH3-SW1. 12) Imgur. (n.d.). Retrieved from http://imgur.com. 13) Reddit. (n.d.). Retrieved from http://www.reddit.com. 14) Alan S. (2013, June 4). TECH TUESDAY: OUR TECHNOLOGY STACK, Archived at http://blog.imgur.com/2013/06/04/tech-tuesday-our-technology-stack/.
  18. 18. IMAGE COMPRESSION STORAGE POLICY FOR OPENSTACK SWIFT 14 15) Jeff A. (2007, March 6). Using Amazon S3 as an Image Hosting Service, archived at https://blog.codinghorror.com/using-amazon-s3-as-an-image-hosting-service/. 16) Compressed.io. (n.d.). Retrieved from http://compressor.io. 17) Tinypng. (n.d.). Retrieved from http://tinypng.com. 18) Chowdhury, N. M. K., & Boutaba, R. (2010). A survey of network virtualization. Computer Networks, 54(5), 862-876. doi: dx.doi.org/10.1016/j.comnet.2009.10.017 19) Bari, M. F., Boutaba, R., Esteves, R., Granville, L. Z., Podlesny, M., Rabbani, M. G., ... & Zhani, M. F. (2013). Data center network virtualization: A survey. IEEE Communications Surveys & Tutorials, 15(2), 909-928. doi:10.1109/SURV.2012.090512.00043 20) Schaffrath, G., Werle, C., Papadimitriou, P., Feldmann, A., Bless, R., Greenhalgh, A., ... & Mathy, L. (2009, August). Network virtualization architecture: proposal and initial prototype. In Proceedings of the 1st ACM workshop on Virtualized infrastructure systems and architectures (pp. 63-72). ACM. doi:10.1145/1592648.1592659 21) McKeown, N., Anderson, T., Balakrishnan, H., Parulkar, G., Peterson, L., Rexford, J., ... & Turner, J. (2008). OpenFlow: enabling innovation in campus networks. ACM SIGCOMM Computer Communication Review, 38(2), 69-74. doi:10.1145/1355734.1355746 22) Janessa R., Gartner, (2013, October 8). Gartner Identifies the Top 10 Strategic Technology Trends for 2014 [Press release]. Retrieved from http://www.gartner.com/newsroom/id/2603623. 23) Neil M., Gartner, (2013, January 29). Software Defined Data Centers and Security–What’s in a Name?. Archived from http://blogs.gartner.com/neil_macdonald/2013/01/29/software-defined-data- centers-and-securitywhats-in-a-name/. 24) Lew M., Rackspace Inc., (2010, July 19). Opening The Rackspace Cloud [Press release]. Retrieved from http://blog.rackspace.com/open-stack. 25) Ali L., NASA, (2012, June 04). Nebula, NASA, and OpenStack [Press release]. Retrieved from https://open.nasa.gov/blog/nebula-nasa-and-openstack./ 26) Barb D., Gigaom, (2012, September 7). Finally! VMware joins the OpenStack Foundation, this time for real [Press release]. Retrieved from
  19. 19. IMAGE COMPRESSION STORAGE POLICY FOR OPENSTACK SWIFT 15 https://gigaom.com/2012/09/07/finally-vmware-joins-the-openstack-foundation- this-time-for-real/. 27) Built With. (2005). CMS Usage Trend Statistics. BuiltWith® Pty Ltd. Retrieved from https://trends.builtwith.com/cms. 28) Swift-All-In-One (SAIO) Installation Manual. (n.d.). Retrieved from http://docs.openstack.org/developer/swift/development_saio.html. 29) Bower. (n.d.). Retrieved from http://bower.io. 30) Dropzone.js. (n.d.). Retrieved from http://dropzonejs.com.

×