SlideShare a Scribd company logo
1 of 20
Download to read offline
Final Project
Image Compression Storage Policy for Openstack Swift
Group 7
Ikwhan Chang / PriyaVishnu / Prashanth Iyengar
Prof.Younghee Park
12-Dec 2016
1
Team
Ikwhan Chang
Class ID: 4
Student ID: 010754103
Priya Vishnu
Class ID: 25
Student ID: 010739261
Prashanth Iyengar
Class ID: 9
Student ID: 010711233
2
From Computer Engineering..
INDEX
• Background
• Our Approach
• Project Flow
• Image CompressionTechnique
• Challenges
• Testing
• Demo
• Performance
• Future Scope
• Q&A
3
Background
• Why Image Compression Storage Policy?
• Recently, individuals have started using cloud storage services to back up their personal files
including images.
• 64% percent of the website content are image types [Source: http://httparchive.org ]
• Cloud platform has been used as Storage as a Service to store the web page image contents
4
Why Image Optimization is needed?
5
KeyCDN - 18 Tips for Website Performance Optimization
Forbes - How To OptimizeYour Website's
Performance And Keep Customers Happy
Many expert recommend image optimization to increase web performance
Our Approach
• Analyzed the Swift Code as our first step
• Understood the swift proxy code flow
• Identified the files that we need to modify to
implement an additional storage policy
• Identified the most suitable image
compression technique
• Modified the Swift code to add the new
image compression policy and integrated the
compression procedure
• Developed a web page to demonstrate the
usage of the new policy
6
_finalize_put_()
Image Object Upload Flow
7
Image Object Download Flow
8
Image Compression Technique
• Ref: https://pillow.readthedocs.io/en/3.4.x/handbook/overview.html
9
• We have made use of the Pillow library to achieve image
compression
• It is a free Python Imaging Library (PIL) that adds image
processing capabilities to the Python
• PIL supports multiple image file formats
• It is efficient and has many powerful features to support the
manipulation of the image files
Challenges
• Understand the swift proxy server code flow
• Understand how the existing storage policy has been implemented
• Understand the swift code base to identify the files that needed to be modified
to implement the compression policy
• Integration of the compression policy with the existing storage policy
• Developing the web page to demonstrate the usage
10
Flow Diagram Comparison
11
Swift Proxy
File Upload
Zone
Ring
Storage Server #1

without Image
compression policy
Container #2
Container #3
Container #1
Region
Response:

image1.png
500 MB
500MB
curl -v -X PUT image1.png http://10.240.0.5/v1/AUTH_test/Normal
Swift Proxy
File Upload
Zone
Ring
Storage Server #1

with Image compression
policy
Container #2
Container #3
Container #1
Region
125MB
curl -v -X PUT image1.png http://10.240.0.5/v1/AUTH_test/Compressed
Request:

image1.png
500 MB Response:

image1_compressed.png
125MB
Request:

image1.png
500 MB
Request:

image1.png
500 MB
500MB
1.Test Upload 2. Middleware
3. Save image into Swift 

with Compression Policy
4. Run the demo
5. Check the loading speed of resources
/etc/swift/swift.conf
Swift stat
Demo
15
https://www.youtube.com/watch?v=lqAnk5Hf4xM
Performance
16
Reduced Size: 6.4MB -> 1011KB (-85%)
Page Loading Speed: 4.85 -> 1.01 (-80%)
Original (6.4MB) Reduced (1011KB)
Future Scope
• Read the chunk file within the proxy server and compress the
chunk and then send the compressed chunk to Object Server
• Deduplication can be added as an enhancement to the storage
policy
• Support multiple/widely-used image format
17
References
• Swift All In One http://docs.openstack.org/developer/swift/
development_saio.html
• Swift Command Line http://docs.openstack.org/cli-reference/swift.html
• Adding Storage Policies to an Existing SAIO http://docs.openstack.org/
developer/swift/policies_saio.html
• OpenStack Object Storage (Swift) Essentials by Amar Kapadia;
SreedharVarma; Kris Rajana, Published by Packt Publishing, 2015
• Uday’s swift policy code https://github.com/udaykd09/swift
18
19
Questions??
• Source Code
• Swift: https://github.com/ikwhan-chang/swift
• Test Client: https://github.com/ikwhan-chang/
OpenStack_Swift_Image_Compression.git
Thank You 20

More Related Content

Viewers also liked

Image compression using dpcm with lms algorithm ranbeer
Image compression using dpcm with lms algorithm ranbeerImage compression using dpcm with lms algorithm ranbeer
Image compression using dpcm with lms algorithm ranbeerRanbeer Tyagi
 
Fusion Imaging Overview
Fusion Imaging OverviewFusion Imaging Overview
Fusion Imaging OverviewKelly Taylor
 
SOC Application Studies: Image Compression
SOC Application Studies: Image CompressionSOC Application Studies: Image Compression
SOC Application Studies: Image CompressionA B Shinde
 
IMAGE COMPRESSION AND DECOMPRESSION SYSTEM
IMAGE COMPRESSION AND DECOMPRESSION SYSTEMIMAGE COMPRESSION AND DECOMPRESSION SYSTEM
IMAGE COMPRESSION AND DECOMPRESSION SYSTEMVishesh Banga
 
[토크아이티] 프런트엔드 개발 시작하기 저자 특강
[토크아이티] 프런트엔드 개발 시작하기 저자 특강 [토크아이티] 프런트엔드 개발 시작하기 저자 특강
[토크아이티] 프런트엔드 개발 시작하기 저자 특강 우영 주
 
M.Tech project on Haar wavelet based approach for image compression
M.Tech project on Haar wavelet based approach for image compressionM.Tech project on Haar wavelet based approach for image compression
M.Tech project on Haar wavelet based approach for image compressionVeerendra B R Revanna
 
Seminar Report on image compression
Seminar Report on image compressionSeminar Report on image compression
Seminar Report on image compressionPradip Kumar
 
Image compression: Techniques and Application
Image compression: Techniques and ApplicationImage compression: Techniques and Application
Image compression: Techniques and ApplicationNidhi Baranwal
 
image compression using matlab project report
image compression  using matlab project reportimage compression  using matlab project report
image compression using matlab project reportkgaurav113
 
comparision of lossy and lossless image compression using various algorithm
comparision of lossy and lossless image compression using various algorithmcomparision of lossy and lossless image compression using various algorithm
comparision of lossy and lossless image compression using various algorithmchezhiyan chezhiyan
 
IMAGE FUSION IN IMAGE PROCESSING
IMAGE FUSION IN IMAGE PROCESSINGIMAGE FUSION IN IMAGE PROCESSING
IMAGE FUSION IN IMAGE PROCESSINGgarima0690
 
Django로 쇼핑몰 만들자
Django로 쇼핑몰 만들자Django로 쇼핑몰 만들자
Django로 쇼핑몰 만들자Kyoung Up Jung
 
React in Native Apps - Meetup React - 20150409
React in Native Apps - Meetup React - 20150409React in Native Apps - Meetup React - 20150409
React in Native Apps - Meetup React - 20150409Minko3D
 

Viewers also liked (20)

Image compression using dpcm with lms algorithm ranbeer
Image compression using dpcm with lms algorithm ranbeerImage compression using dpcm with lms algorithm ranbeer
Image compression using dpcm with lms algorithm ranbeer
 
Fusion Imaging Overview
Fusion Imaging OverviewFusion Imaging Overview
Fusion Imaging Overview
 
SOC Application Studies: Image Compression
SOC Application Studies: Image CompressionSOC Application Studies: Image Compression
SOC Application Studies: Image Compression
 
IMAGE COMPRESSION AND DECOMPRESSION SYSTEM
IMAGE COMPRESSION AND DECOMPRESSION SYSTEMIMAGE COMPRESSION AND DECOMPRESSION SYSTEM
IMAGE COMPRESSION AND DECOMPRESSION SYSTEM
 
[토크아이티] 프런트엔드 개발 시작하기 저자 특강
[토크아이티] 프런트엔드 개발 시작하기 저자 특강 [토크아이티] 프런트엔드 개발 시작하기 저자 특강
[토크아이티] 프런트엔드 개발 시작하기 저자 특강
 
M.Tech project on Haar wavelet based approach for image compression
M.Tech project on Haar wavelet based approach for image compressionM.Tech project on Haar wavelet based approach for image compression
M.Tech project on Haar wavelet based approach for image compression
 
Seminar Report on image compression
Seminar Report on image compressionSeminar Report on image compression
Seminar Report on image compression
 
FUSION IMAGING
FUSION IMAGINGFUSION IMAGING
FUSION IMAGING
 
Image compression: Techniques and Application
Image compression: Techniques and ApplicationImage compression: Techniques and Application
Image compression: Techniques and Application
 
Image compression .
Image compression .Image compression .
Image compression .
 
image compression using matlab project report
image compression  using matlab project reportimage compression  using matlab project report
image compression using matlab project report
 
Presentation on Image Compression
Presentation on Image Compression Presentation on Image Compression
Presentation on Image Compression
 
JPEG Image Compression
JPEG Image CompressionJPEG Image Compression
JPEG Image Compression
 
Image compression
Image compression Image compression
Image compression
 
comparision of lossy and lossless image compression using various algorithm
comparision of lossy and lossless image compression using various algorithmcomparision of lossy and lossless image compression using various algorithm
comparision of lossy and lossless image compression using various algorithm
 
IMAGE FUSION IN IMAGE PROCESSING
IMAGE FUSION IN IMAGE PROCESSINGIMAGE FUSION IN IMAGE PROCESSING
IMAGE FUSION IN IMAGE PROCESSING
 
Django로 쇼핑몰 만들자
Django로 쇼핑몰 만들자Django로 쇼핑몰 만들자
Django로 쇼핑몰 만들자
 
React in Native Apps - Meetup React - 20150409
React in Native Apps - Meetup React - 20150409React in Native Apps - Meetup React - 20150409
React in Native Apps - Meetup React - 20150409
 
Signals and Systems Notes
Signals and Systems Notes Signals and Systems Notes
Signals and Systems Notes
 
Image compression
Image compressionImage compression
Image compression
 

More from Matthew Chang

Research and Analysis of SSH
Research and Analysis of SSH Research and Analysis of SSH
Research and Analysis of SSH Matthew Chang
 
Digital Certified Mail (PPT)
Digital Certified Mail (PPT)Digital Certified Mail (PPT)
Digital Certified Mail (PPT)Matthew Chang
 
Digital Certified Mail
Digital Certified MailDigital Certified Mail
Digital Certified MailMatthew Chang
 
Twitter Trend Analyzer
Twitter Trend AnalyzerTwitter Trend Analyzer
Twitter Trend AnalyzerMatthew Chang
 
The implementation of Banker's algorithm, data structure and its parser
The implementation of Banker's algorithm, data structure and its parserThe implementation of Banker's algorithm, data structure and its parser
The implementation of Banker's algorithm, data structure and its parserMatthew Chang
 
Image Compression Storage Policy for Openstack Swift
Image Compression Storage Policy for Openstack SwiftImage Compression Storage Policy for Openstack Swift
Image Compression Storage Policy for Openstack SwiftMatthew Chang
 
Analyze of Tumblr.com
Analyze of Tumblr.comAnalyze of Tumblr.com
Analyze of Tumblr.comMatthew Chang
 
A new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr codeA new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr codeMatthew Chang
 
Logic Circuit Project Final Presentation
Logic Circuit Project Final PresentationLogic Circuit Project Final Presentation
Logic Circuit Project Final PresentationMatthew Chang
 
Programming Language Final PPT
Programming Language Final PPTProgramming Language Final PPT
Programming Language Final PPTMatthew Chang
 
모바일 앱 개발 최종 발표 Proposal
모바일 앱 개발 최종 발표 Proposal모바일 앱 개발 최종 발표 Proposal
모바일 앱 개발 최종 발표 ProposalMatthew Chang
 
Capstone Project Final Presentation
Capstone Project Final PresentationCapstone Project Final Presentation
Capstone Project Final PresentationMatthew Chang
 
Project Avalon Online(Game) Final Report
Project Avalon Online(Game) Final ReportProject Avalon Online(Game) Final Report
Project Avalon Online(Game) Final ReportMatthew Chang
 
Project NGX - Proposal
Project NGX - ProposalProject NGX - Proposal
Project NGX - ProposalMatthew Chang
 
Report : Android Simple Bug Catch Game(Korean)
Report : Android Simple Bug Catch Game(Korean)Report : Android Simple Bug Catch Game(Korean)
Report : Android Simple Bug Catch Game(Korean)Matthew Chang
 
Capstone Project Last Demonstration
Capstone Project Last DemonstrationCapstone Project Last Demonstration
Capstone Project Last DemonstrationMatthew Chang
 
Db설계 프로젝트 1조 _중간제출
Db설계 프로젝트 1조 _중간제출Db설계 프로젝트 1조 _중간제출
Db설계 프로젝트 1조 _중간제출Matthew Chang
 

More from Matthew Chang (20)

Research and Analysis of SSH
Research and Analysis of SSH Research and Analysis of SSH
Research and Analysis of SSH
 
Digital Certified Mail (PPT)
Digital Certified Mail (PPT)Digital Certified Mail (PPT)
Digital Certified Mail (PPT)
 
Digital Certified Mail
Digital Certified MailDigital Certified Mail
Digital Certified Mail
 
Twitter Trend Analyzer
Twitter Trend AnalyzerTwitter Trend Analyzer
Twitter Trend Analyzer
 
The implementation of Banker's algorithm, data structure and its parser
The implementation of Banker's algorithm, data structure and its parserThe implementation of Banker's algorithm, data structure and its parser
The implementation of Banker's algorithm, data structure and its parser
 
Image Compression Storage Policy for Openstack Swift
Image Compression Storage Policy for Openstack SwiftImage Compression Storage Policy for Openstack Swift
Image Compression Storage Policy for Openstack Swift
 
Urhyme introduction
Urhyme introductionUrhyme introduction
Urhyme introduction
 
SDN Project PPT
SDN Project PPTSDN Project PPT
SDN Project PPT
 
Analyze of Tumblr.com
Analyze of Tumblr.comAnalyze of Tumblr.com
Analyze of Tumblr.com
 
Project Avalon
Project AvalonProject Avalon
Project Avalon
 
A new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr codeA new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr code
 
Logic Circuit Project Final Presentation
Logic Circuit Project Final PresentationLogic Circuit Project Final Presentation
Logic Circuit Project Final Presentation
 
Programming Language Final PPT
Programming Language Final PPTProgramming Language Final PPT
Programming Language Final PPT
 
모바일 앱 개발 최종 발표 Proposal
모바일 앱 개발 최종 발표 Proposal모바일 앱 개발 최종 발표 Proposal
모바일 앱 개발 최종 발표 Proposal
 
Capstone Project Final Presentation
Capstone Project Final PresentationCapstone Project Final Presentation
Capstone Project Final Presentation
 
Project Avalon Online(Game) Final Report
Project Avalon Online(Game) Final ReportProject Avalon Online(Game) Final Report
Project Avalon Online(Game) Final Report
 
Project NGX - Proposal
Project NGX - ProposalProject NGX - Proposal
Project NGX - Proposal
 
Report : Android Simple Bug Catch Game(Korean)
Report : Android Simple Bug Catch Game(Korean)Report : Android Simple Bug Catch Game(Korean)
Report : Android Simple Bug Catch Game(Korean)
 
Capstone Project Last Demonstration
Capstone Project Last DemonstrationCapstone Project Last Demonstration
Capstone Project Last Demonstration
 
Db설계 프로젝트 1조 _중간제출
Db설계 프로젝트 1조 _중간제출Db설계 프로젝트 1조 _중간제출
Db설계 프로젝트 1조 _중간제출
 

Recently uploaded

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Recently uploaded (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Image Compression Storage Policy for Openstack Swift

  • 1. Final Project Image Compression Storage Policy for Openstack Swift Group 7 Ikwhan Chang / PriyaVishnu / Prashanth Iyengar Prof.Younghee Park 12-Dec 2016 1
  • 2. Team Ikwhan Chang Class ID: 4 Student ID: 010754103 Priya Vishnu Class ID: 25 Student ID: 010739261 Prashanth Iyengar Class ID: 9 Student ID: 010711233 2 From Computer Engineering..
  • 3. INDEX • Background • Our Approach • Project Flow • Image CompressionTechnique • Challenges • Testing • Demo • Performance • Future Scope • Q&A 3
  • 4. Background • Why Image Compression Storage Policy? • Recently, individuals have started using cloud storage services to back up their personal files including images. • 64% percent of the website content are image types [Source: http://httparchive.org ] • Cloud platform has been used as Storage as a Service to store the web page image contents 4
  • 5. Why Image Optimization is needed? 5 KeyCDN - 18 Tips for Website Performance Optimization Forbes - How To OptimizeYour Website's Performance And Keep Customers Happy Many expert recommend image optimization to increase web performance
  • 6. Our Approach • Analyzed the Swift Code as our first step • Understood the swift proxy code flow • Identified the files that we need to modify to implement an additional storage policy • Identified the most suitable image compression technique • Modified the Swift code to add the new image compression policy and integrated the compression procedure • Developed a web page to demonstrate the usage of the new policy 6 _finalize_put_()
  • 9. Image Compression Technique • Ref: https://pillow.readthedocs.io/en/3.4.x/handbook/overview.html 9 • We have made use of the Pillow library to achieve image compression • It is a free Python Imaging Library (PIL) that adds image processing capabilities to the Python • PIL supports multiple image file formats • It is efficient and has many powerful features to support the manipulation of the image files
  • 10. Challenges • Understand the swift proxy server code flow • Understand how the existing storage policy has been implemented • Understand the swift code base to identify the files that needed to be modified to implement the compression policy • Integration of the compression policy with the existing storage policy • Developing the web page to demonstrate the usage 10
  • 11. Flow Diagram Comparison 11 Swift Proxy File Upload Zone Ring Storage Server #1
 without Image compression policy Container #2 Container #3 Container #1 Region Response:
 image1.png 500 MB 500MB curl -v -X PUT image1.png http://10.240.0.5/v1/AUTH_test/Normal Swift Proxy File Upload Zone Ring Storage Server #1
 with Image compression policy Container #2 Container #3 Container #1 Region 125MB curl -v -X PUT image1.png http://10.240.0.5/v1/AUTH_test/Compressed Request:
 image1.png 500 MB Response:
 image1_compressed.png 125MB Request:
 image1.png 500 MB Request:
 image1.png 500 MB 500MB
  • 12. 1.Test Upload 2. Middleware 3. Save image into Swift 
 with Compression Policy 4. Run the demo 5. Check the loading speed of resources
  • 14.
  • 16. Performance 16 Reduced Size: 6.4MB -> 1011KB (-85%) Page Loading Speed: 4.85 -> 1.01 (-80%) Original (6.4MB) Reduced (1011KB)
  • 17. Future Scope • Read the chunk file within the proxy server and compress the chunk and then send the compressed chunk to Object Server • Deduplication can be added as an enhancement to the storage policy • Support multiple/widely-used image format 17
  • 18. References • Swift All In One http://docs.openstack.org/developer/swift/ development_saio.html • Swift Command Line http://docs.openstack.org/cli-reference/swift.html • Adding Storage Policies to an Existing SAIO http://docs.openstack.org/ developer/swift/policies_saio.html • OpenStack Object Storage (Swift) Essentials by Amar Kapadia; SreedharVarma; Kris Rajana, Published by Packt Publishing, 2015 • Uday’s swift policy code https://github.com/udaykd09/swift 18
  • 19. 19 Questions?? • Source Code • Swift: https://github.com/ikwhan-chang/swift • Test Client: https://github.com/ikwhan-chang/ OpenStack_Swift_Image_Compression.git