SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
MTP & PTP
William.L
wiliwe@gmail.com
2011-10-13
Outline
Overview
Protocol Intro
MTP & DRM
MTP & UMS
MTP/PTP in Android
Overview
PTP / MTP (1/2)
Picture Transfer Protocol
Define a common protocol of controlling and transferring
files (photographs) for digital still image devices (ex:
cameras)
PIMA / ISO 15740
Commonly implemented over the USB and FireWire
Media Transfer Protocol
An extension of PTP
USB-IF MTP 1.0
Target primarily at
Digital Still Cameras
Portable Media Players
Cellular phones
Support DRM
PTP / MTP (2/2)
PTP and MTP are application layer protocols
The term ”media” in MTP
Used to identify any binary data
Not restricted to audio/video formats
Non-audio/video objects include contacts, schedules
and text files
PTP/MTP Supported by OS (1/2)
Microsoft Windows
WIA (Windows Image Acquisition/Architecture)
A driver model and API for Windows Me and later Windows
operating systems
Enables software to communicate with imaging device such as
scanners, digital cameras and digital video equipments
Still Image Connectivity for Windows
http://msdn.microsoft.com/en-us/windows/hardware/gg463507.aspx
MTP is part of the "Windows Media" framework and thus
closely related to Windows Media Player
Built-in support : Windows Visa and Win7
WinXP with Windows-Media-Player 10 or higher
PlayForSure certification for devices
PTP/MTP Supported by OS (2/2)
Linux
mtpfs
libptp2
libgphoto2
libmtps
Tools : gMTP(GUI), mtptools(CLI), etc
MTP v.s PTP
MTP permits transfer of large(>4GByte) items
MTP allows the data to be broken into different
USB packets
This allows USB chips to process the packets more
efficiently
MTP Enhanced
From Microsoft
Based on MTP 1.0
Contains additional operations, events and responses
to enable more advanced functionality specific to
particular device classes, media types and application
scenarios
Devices designed for Windows should implement MTP
Enhanced
Specification
http://www.microsoft.com/download/en/details.aspx?id=196
78
Protocol Intro
Layered Protocol
Physical layer : USB protocol
Transport layer is taken directly from PTP (USB Still
Image Class, class ID is 6)
Command layer
PTP/MTP treat most things on devices as Objects
Most of PTP/MTP commands deal with Objects,
ex:GetObjectInfo, GetNumObjects
Device Roles in Protocol
Initiator - Responder
Initiator
Send operations/requests
Responder
Responds for requests
Fires events
Connect, identifies as using MTPConnect, identifies as using MTP
Device capabilityDevice capability
Request device informationRequest device information
Request list of contentsRequest list of contents
Request metadata describing contentRequest metadata describing content
Array of handles to contentArray of handles to content
Send metadataSend metadata
Object exchangeObject exchange
Responder Initiator
Other Transport Media (1/2)
Transport-Independent
MTP/PTP were originally implemented for use
across USB but extended for use across TCP/IP
and Bluetooth
Over TCP/IP
PTP-IP, "Picture Transfer Protocol" over TCP/IP networks
CIPA DC-005-2005 standard
Windows 7 and Windows Vista support
Ideal for devices with WiFi that can be connected and
synchronized anywhere in the home
Other Transport Media (2/2)
Over Bluetooth
Over the L2CAP (Logical Link Control and
Adaptation Protocol)
The specification is available in the Windows Portable
Device Enabling Kit
Windows 7 and Windows Vista (with the Platform
Update) support
Requires Bluetooth 1.2 or higher with the Microsoft
Bluetooth stack installed
Great for low power, low speed scenarios like
synchronizing PIM data or a quick file transfer
MTP & DRM
DRM
Digital Rights Management
The protection of licensed or purchased audio or
video content, is extemely important in the
handheld consumer market
DRM prevents a copyrighted file from being
played in another player than the one it was
originally downloaded to
But, if one place where has DRM-Unlock tools, it can
play file normally
With uncontrolled ability to transport digital
content, content provider will remain reluctant to
release digital material such as movies
DRM Support In MTP
MTP provide DRM specific properties
DRM status
Determine if an object has DRM protection
To expose whether an object will be playable after being
transferred to a different device
URL
To allow DRM to ask for money when the license rights
expire (link to the payment site)
Use count
The number of times of an object has been played or
viewed
MTP & UMS
USB Mass Storage (1/2)
USB Mass Storage
Also called USB MSC(Mass Storage Class)
An USB device that can store data
Most portable media players and still image
devices have adopted for their internal memory
where users save their media files
Lack DRM support
USB Mass Storage (2/2)
Can not be accessed by the PC and device
itself at the same time
Device Storage
USB/ATAPI Bridge
Driver Framework
USBStor
Device
Player CPU
Automatic
Switch
MSC
PCPC
DeviceDevice
With MSC,
content
Storage is
managed
by the PC
“switch” means “mount/unmount”.
When the device storage is used by
the PC, the storage will be
unmounted from the device.
Otherwise, it is mounted to the device.
MTP v.s UMS
YESNONeed specific driver to access device’s
storage on Microsoft Windows
7/Vista/XP
YESNOCan do common disk recovery
MoreLessAmount of Devices Ready to Support
YES
MTP
NODRM Support
UMS
MTP/PTP in Android
Support MTP/PTP file transfer since Android
3.0(Honeycomb)
MTP programming APIs are provided from
Android 3.1
MtpObjectInfo::getProtectionStatus()
To retrieve the DRM protection status

Mais conteúdo relacionado

Mais procurados

The Commonwealth of Independent States
The Commonwealth of Independent StatesThe Commonwealth of Independent States
The Commonwealth of Independent StatesJerome Torossian
 
Emerging Trends of Regulatory Compliance in Pharma Industry
Emerging Trends of Regulatory Compliance in Pharma IndustryEmerging Trends of Regulatory Compliance in Pharma Industry
Emerging Trends of Regulatory Compliance in Pharma IndustryCepal & Co.
 
Cloud Computing Concepts - Peer to peer systems- Napster - Gnutella
Cloud Computing Concepts - Peer to peer systems- Napster - GnutellaCloud Computing Concepts - Peer to peer systems- Napster - Gnutella
Cloud Computing Concepts - Peer to peer systems- Napster - GnutellaRootGate
 
WDM - Windows Driver Model overview
WDM - Windows Driver Model overviewWDM - Windows Driver Model overview
WDM - Windows Driver Model overviewPrasad Talekar
 
Regulations of medical devices in india
Regulations of medical devices in indiaRegulations of medical devices in india
Regulations of medical devices in indiasuspandanachowdary
 
Neutraceuticals Opportunities
Neutraceuticals OpportunitiesNeutraceuticals Opportunities
Neutraceuticals OpportunitiesSanthiNori1
 
Right to information act, 2005
Right to information act, 2005Right to information act, 2005
Right to information act, 2005ramandeepjrf
 
Pharmacy act 1948
Pharmacy act 1948Pharmacy act 1948
Pharmacy act 1948VibhaSahu5
 
Generic Products Registration: Egypt vs Saudi Arabia
Generic Products Registration: Egypt vs Saudi Arabia Generic Products Registration: Egypt vs Saudi Arabia
Generic Products Registration: Egypt vs Saudi Arabia Abdallah M. Youssof
 
Drugs and magic remedies act 1954 and rules
Drugs and magic remedies act 1954 and rules   Drugs and magic remedies act 1954 and rules
Drugs and magic remedies act 1954 and rules Rupali Bhoje
 
UDP - User Datagram Protocol
UDP - User Datagram ProtocolUDP - User Datagram Protocol
UDP - User Datagram ProtocolPeter R. Egli
 
Chile ds 03 eng
Chile ds 03 engChile ds 03 eng
Chile ds 03 engClapbio
 
European_Union.ppt.Nikhil[1].pptx
European_Union.ppt.Nikhil[1].pptxEuropean_Union.ppt.Nikhil[1].pptx
European_Union.ppt.Nikhil[1].pptxNikhilBorade5
 
Schedule M-Jurisprudence
Schedule M-JurisprudenceSchedule M-Jurisprudence
Schedule M-JurisprudenceSaiyam Agarwal
 

Mais procurados (20)

The Commonwealth of Independent States
The Commonwealth of Independent StatesThe Commonwealth of Independent States
The Commonwealth of Independent States
 
Emerging Trends of Regulatory Compliance in Pharma Industry
Emerging Trends of Regulatory Compliance in Pharma IndustryEmerging Trends of Regulatory Compliance in Pharma Industry
Emerging Trends of Regulatory Compliance in Pharma Industry
 
Windows 111
Windows 111Windows 111
Windows 111
 
Cloud Computing Concepts - Peer to peer systems- Napster - Gnutella
Cloud Computing Concepts - Peer to peer systems- Napster - GnutellaCloud Computing Concepts - Peer to peer systems- Napster - Gnutella
Cloud Computing Concepts - Peer to peer systems- Napster - Gnutella
 
WDM - Windows Driver Model overview
WDM - Windows Driver Model overviewWDM - Windows Driver Model overview
WDM - Windows Driver Model overview
 
Regulations of medical devices in india
Regulations of medical devices in indiaRegulations of medical devices in india
Regulations of medical devices in india
 
Neutraceuticals Opportunities
Neutraceuticals OpportunitiesNeutraceuticals Opportunities
Neutraceuticals Opportunities
 
Schedule m iii
Schedule m iiiSchedule m iii
Schedule m iii
 
Right to information act, 2005
Right to information act, 2005Right to information act, 2005
Right to information act, 2005
 
Pharmacy act 1948
Pharmacy act 1948Pharmacy act 1948
Pharmacy act 1948
 
Generic Products Registration: Egypt vs Saudi Arabia
Generic Products Registration: Egypt vs Saudi Arabia Generic Products Registration: Egypt vs Saudi Arabia
Generic Products Registration: Egypt vs Saudi Arabia
 
Drugs and magic remedies act 1954 and rules
Drugs and magic remedies act 1954 and rules   Drugs and magic remedies act 1954 and rules
Drugs and magic remedies act 1954 and rules
 
Drugs n cosmetics act 1940
Drugs n cosmetics act 1940Drugs n cosmetics act 1940
Drugs n cosmetics act 1940
 
UDP - User Datagram Protocol
UDP - User Datagram ProtocolUDP - User Datagram Protocol
UDP - User Datagram Protocol
 
Chile ds 03 eng
Chile ds 03 engChile ds 03 eng
Chile ds 03 eng
 
Poison act, 1919
Poison act, 1919Poison act, 1919
Poison act, 1919
 
Right to information act 2005
Right to information act 2005Right to information act 2005
Right to information act 2005
 
European_Union.ppt.Nikhil[1].pptx
European_Union.ppt.Nikhil[1].pptxEuropean_Union.ppt.Nikhil[1].pptx
European_Union.ppt.Nikhil[1].pptx
 
Schedule M-Jurisprudence
Schedule M-JurisprudenceSchedule M-Jurisprudence
Schedule M-Jurisprudence
 
Chapter 28
Chapter 28Chapter 28
Chapter 28
 

Destaque

Android Storage - Vold
Android Storage - VoldAndroid Storage - Vold
Android Storage - VoldWilliam Lee
 
Android Storage - StorageManager & OBB
Android Storage - StorageManager & OBBAndroid Storage - StorageManager & OBB
Android Storage - StorageManager & OBBWilliam Lee
 
Introducing the OSA 5335 PTP Grandmaster
Introducing the OSA 5335 PTP GrandmasterIntroducing the OSA 5335 PTP Grandmaster
Introducing the OSA 5335 PTP GrandmasterADVA
 
Asterisk (IP-PBX) CDR Log Rotation
Asterisk (IP-PBX) CDR Log RotationAsterisk (IP-PBX) CDR Log Rotation
Asterisk (IP-PBX) CDR Log RotationWilliam Lee
 
Timing over packet demarcation
Timing over packet demarcationTiming over packet demarcation
Timing over packet demarcationNir Cohen
 
Android Storage - Internal and External Storages
Android Storage - Internal and External StoragesAndroid Storage - Internal and External Storages
Android Storage - Internal and External StoragesWilliam Lee
 
Introduction to SIP(Session Initiation Protocol)
Introduction to SIP(Session Initiation Protocol)Introduction to SIP(Session Initiation Protocol)
Introduction to SIP(Session Initiation Protocol)William Lee
 
Medical Termination of Pregnancy Act
Medical Termination of Pregnancy ActMedical Termination of Pregnancy Act
Medical Termination of Pregnancy Actprajs9
 
Usage Note of Apache Thrift for C++ Java PHP Languages
Usage Note of Apache Thrift for C++ Java PHP LanguagesUsage Note of Apache Thrift for C++ Java PHP Languages
Usage Note of Apache Thrift for C++ Java PHP LanguagesWilliam Lee
 
HARYANA PREVENTION OF BEGGARY ACT 1971
HARYANA PREVENTION OF BEGGARY ACT 1971HARYANA PREVENTION OF BEGGARY ACT 1971
HARYANA PREVENTION OF BEGGARY ACT 1971Paramjit Kang
 
PictBridge 02 - PTP Overview
PictBridge 02 - PTP OverviewPictBridge 02 - PTP Overview
PictBridge 02 - PTP OverviewSteven Lin
 
Petrichor Energy (TSX.V - PTP) Corporate Presentation
Petrichor Energy (TSX.V - PTP) Corporate PresentationPetrichor Energy (TSX.V - PTP) Corporate Presentation
Petrichor Energy (TSX.V - PTP) Corporate PresentationViral Network Inc
 
Android GDB Debugging (Chinese)
Android GDB Debugging (Chinese)Android GDB Debugging (Chinese)
Android GDB Debugging (Chinese)William Lee
 
Android Debugging (Chinese)
Android Debugging (Chinese)Android Debugging (Chinese)
Android Debugging (Chinese)William Lee
 
GNOME GeoClue - The Geolocation Service in Gnome
GNOME GeoClue - The Geolocation Service in GnomeGNOME GeoClue - The Geolocation Service in Gnome
GNOME GeoClue - The Geolocation Service in GnomeWilliam Lee
 
Android Services and Managers Basic
Android Services and Managers BasicAndroid Services and Managers Basic
Android Services and Managers BasicWilliam Lee
 
Moblin2 - Window Manager(Mutter) Plugin
Moblin2 - Window Manager(Mutter) PluginMoblin2 - Window Manager(Mutter) Plugin
Moblin2 - Window Manager(Mutter) PluginWilliam Lee
 
Usage Note of Qt ODBC Database Access on Linux
Usage Note of Qt ODBC Database Access on LinuxUsage Note of Qt ODBC Database Access on Linux
Usage Note of Qt ODBC Database Access on LinuxWilliam Lee
 
CWMP TR-069 Training (Chinese)
CWMP TR-069 Training (Chinese)CWMP TR-069 Training (Chinese)
CWMP TR-069 Training (Chinese)William Lee
 

Destaque (20)

Android Storage - Vold
Android Storage - VoldAndroid Storage - Vold
Android Storage - Vold
 
Android Storage - StorageManager & OBB
Android Storage - StorageManager & OBBAndroid Storage - StorageManager & OBB
Android Storage - StorageManager & OBB
 
Introducing the OSA 5335 PTP Grandmaster
Introducing the OSA 5335 PTP GrandmasterIntroducing the OSA 5335 PTP Grandmaster
Introducing the OSA 5335 PTP Grandmaster
 
Asterisk (IP-PBX) CDR Log Rotation
Asterisk (IP-PBX) CDR Log RotationAsterisk (IP-PBX) CDR Log Rotation
Asterisk (IP-PBX) CDR Log Rotation
 
Timing over packet demarcation
Timing over packet demarcationTiming over packet demarcation
Timing over packet demarcation
 
MGCP Overview
MGCP OverviewMGCP Overview
MGCP Overview
 
Android Storage - Internal and External Storages
Android Storage - Internal and External StoragesAndroid Storage - Internal and External Storages
Android Storage - Internal and External Storages
 
Introduction to SIP(Session Initiation Protocol)
Introduction to SIP(Session Initiation Protocol)Introduction to SIP(Session Initiation Protocol)
Introduction to SIP(Session Initiation Protocol)
 
Medical Termination of Pregnancy Act
Medical Termination of Pregnancy ActMedical Termination of Pregnancy Act
Medical Termination of Pregnancy Act
 
Usage Note of Apache Thrift for C++ Java PHP Languages
Usage Note of Apache Thrift for C++ Java PHP LanguagesUsage Note of Apache Thrift for C++ Java PHP Languages
Usage Note of Apache Thrift for C++ Java PHP Languages
 
HARYANA PREVENTION OF BEGGARY ACT 1971
HARYANA PREVENTION OF BEGGARY ACT 1971HARYANA PREVENTION OF BEGGARY ACT 1971
HARYANA PREVENTION OF BEGGARY ACT 1971
 
PictBridge 02 - PTP Overview
PictBridge 02 - PTP OverviewPictBridge 02 - PTP Overview
PictBridge 02 - PTP Overview
 
Petrichor Energy (TSX.V - PTP) Corporate Presentation
Petrichor Energy (TSX.V - PTP) Corporate PresentationPetrichor Energy (TSX.V - PTP) Corporate Presentation
Petrichor Energy (TSX.V - PTP) Corporate Presentation
 
Android GDB Debugging (Chinese)
Android GDB Debugging (Chinese)Android GDB Debugging (Chinese)
Android GDB Debugging (Chinese)
 
Android Debugging (Chinese)
Android Debugging (Chinese)Android Debugging (Chinese)
Android Debugging (Chinese)
 
GNOME GeoClue - The Geolocation Service in Gnome
GNOME GeoClue - The Geolocation Service in GnomeGNOME GeoClue - The Geolocation Service in Gnome
GNOME GeoClue - The Geolocation Service in Gnome
 
Android Services and Managers Basic
Android Services and Managers BasicAndroid Services and Managers Basic
Android Services and Managers Basic
 
Moblin2 - Window Manager(Mutter) Plugin
Moblin2 - Window Manager(Mutter) PluginMoblin2 - Window Manager(Mutter) Plugin
Moblin2 - Window Manager(Mutter) Plugin
 
Usage Note of Qt ODBC Database Access on Linux
Usage Note of Qt ODBC Database Access on LinuxUsage Note of Qt ODBC Database Access on Linux
Usage Note of Qt ODBC Database Access on Linux
 
CWMP TR-069 Training (Chinese)
CWMP TR-069 Training (Chinese)CWMP TR-069 Training (Chinese)
CWMP TR-069 Training (Chinese)
 

Semelhante a MTP & PTP

Protection and distribution Systems, part B of 2
Protection and distribution Systems, part B of 2Protection and distribution Systems, part B of 2
Protection and distribution Systems, part B of 2Paolo Nesi
 
Computer network unit 1 notes
Computer network unit  1 notesComputer network unit  1 notes
Computer network unit 1 notesRavi Rajput
 
Video calling and remote accessing
Video calling and remote accessingVideo calling and remote accessing
Video calling and remote accessingsyed Farhan Rizvi
 
INTRODUCTION TO INTERNET PROTOCOL BY SAIKIRAN PANJALA
INTRODUCTION TO INTERNET PROTOCOL BY SAIKIRAN PANJALAINTRODUCTION TO INTERNET PROTOCOL BY SAIKIRAN PANJALA
INTRODUCTION TO INTERNET PROTOCOL BY SAIKIRAN PANJALASaikiran Panjala
 
Application layer and protocols of application layer
Application layer and protocols of application layerApplication layer and protocols of application layer
Application layer and protocols of application layerTahmina Shopna
 
computer network NCC l4dc assingment
computer network NCC l4dc assingment computer network NCC l4dc assingment
computer network NCC l4dc assingment David Parker
 
Chapter 1.2 OSI Layer.pptx
Chapter 1.2 OSI Layer.pptxChapter 1.2 OSI Layer.pptx
Chapter 1.2 OSI Layer.pptxNetworkRhinos
 
Multimedia on android
Multimedia on androidMultimedia on android
Multimedia on androidRamesh Prasad
 
Chapter 1. introduction to tcpip networking
Chapter 1. introduction to tcpip networkingChapter 1. introduction to tcpip networking
Chapter 1. introduction to tcpip networkingVishnu Vardhan
 
Osi model slides
Osi model slidesOsi model slides
Osi model slidesSaba Aslam
 

Semelhante a MTP & PTP (20)

Cloud computing protocol
Cloud computing protocolCloud computing protocol
Cloud computing protocol
 
Techology2
Techology2Techology2
Techology2
 
Protection and distribution Systems, part B of 2
Protection and distribution Systems, part B of 2Protection and distribution Systems, part B of 2
Protection and distribution Systems, part B of 2
 
Computer network unit 1 notes
Computer network unit  1 notesComputer network unit  1 notes
Computer network unit 1 notes
 
Video calling and remote accessing
Video calling and remote accessingVideo calling and remote accessing
Video calling and remote accessing
 
INTRODUCTION TO INTERNET PROTOCOL BY SAIKIRAN PANJALA
INTRODUCTION TO INTERNET PROTOCOL BY SAIKIRAN PANJALAINTRODUCTION TO INTERNET PROTOCOL BY SAIKIRAN PANJALA
INTRODUCTION TO INTERNET PROTOCOL BY SAIKIRAN PANJALA
 
Application layer and protocols of application layer
Application layer and protocols of application layerApplication layer and protocols of application layer
Application layer and protocols of application layer
 
HTTP Streaming of MPEG Media
HTTP Streaming of MPEG MediaHTTP Streaming of MPEG Media
HTTP Streaming of MPEG Media
 
computer network NCC l4dc assingment
computer network NCC l4dc assingment computer network NCC l4dc assingment
computer network NCC l4dc assingment
 
Chapter 1.2 OSI Layer.pptx
Chapter 1.2 OSI Layer.pptxChapter 1.2 OSI Layer.pptx
Chapter 1.2 OSI Layer.pptx
 
Multimedia on android
Multimedia on androidMultimedia on android
Multimedia on android
 
Inferno O.S.
Inferno O.S.Inferno O.S.
Inferno O.S.
 
K2presentation
K2presentationK2presentation
K2presentation
 
Network security
Network securityNetwork security
Network security
 
Chapter 1. introduction to tcpip networking
Chapter 1. introduction to tcpip networkingChapter 1. introduction to tcpip networking
Chapter 1. introduction to tcpip networking
 
Chapter 1.2 OSI Layer.pdf
Chapter 1.2 OSI Layer.pdfChapter 1.2 OSI Layer.pdf
Chapter 1.2 OSI Layer.pdf
 
P2PFile
P2PFileP2PFile
P2PFile
 
Osi model slides
Osi model slidesOsi model slides
Osi model slides
 
Multimedia Technology
Multimedia TechnologyMultimedia Technology
Multimedia Technology
 
Basics of Computer Networks
Basics of Computer NetworksBasics of Computer Networks
Basics of Computer Networks
 

Mais de William Lee

Usage Note of SWIG for PHP
Usage Note of SWIG for PHPUsage Note of SWIG for PHP
Usage Note of SWIG for PHPWilliam Lee
 
Upgrade GCC & Install Qt 5.4 on CentOS 6.5
Upgrade GCC & Install Qt 5.4 on CentOS 6.5 Upgrade GCC & Install Qt 5.4 on CentOS 6.5
Upgrade GCC & Install Qt 5.4 on CentOS 6.5 William Lee
 
Usage Notes of The Bro 2.2 / 2.3
Usage Notes of The Bro 2.2 / 2.3Usage Notes of The Bro 2.2 / 2.3
Usage Notes of The Bro 2.2 / 2.3William Lee
 
Viewing Android Source Files in Eclipse (Chinese)
Viewing Android Source Files in Eclipse  (Chinese)Viewing Android Source Files in Eclipse  (Chinese)
Viewing Android Source Files in Eclipse (Chinese)William Lee
 
Usage Note of Microsoft Dependency Walker
Usage Note of Microsoft Dependency WalkerUsage Note of Microsoft Dependency Walker
Usage Note of Microsoft Dependency WalkerWilliam Lee
 
Usage Note of PlayCap
Usage Note of PlayCapUsage Note of PlayCap
Usage Note of PlayCapWilliam Lee
 
Qt4 App - Sliding Window
Qt4 App - Sliding WindowQt4 App - Sliding Window
Qt4 App - Sliding WindowWilliam Lee
 
GTK+ 2.0 App - Desktop App Chooser
GTK+ 2.0 App - Desktop App ChooserGTK+ 2.0 App - Desktop App Chooser
GTK+ 2.0 App - Desktop App ChooserWilliam Lee
 
GTK+ 2.0 App - Icon Chooser
GTK+ 2.0 App - Icon ChooserGTK+ 2.0 App - Icon Chooser
GTK+ 2.0 App - Icon ChooserWilliam Lee
 
Note of CGI and ASP
Note of CGI and ASPNote of CGI and ASP
Note of CGI and ASPWilliam Lee
 
L.A.M.P Installation Note --- CentOS 6.5
L.A.M.P Installation Note --- CentOS 6.5L.A.M.P Installation Note --- CentOS 6.5
L.A.M.P Installation Note --- CentOS 6.5William Lee
 
C Program Runs on Wrong Target Platform(CPU Architecture)
C Program Runs on Wrong Target Platform(CPU Architecture)C Program Runs on Wrong Target Platform(CPU Architecture)
C Program Runs on Wrong Target Platform(CPU Architecture)William Lee
 
Internationalization(i18n) of Web Page
Internationalization(i18n) of Web PageInternationalization(i18n) of Web Page
Internationalization(i18n) of Web PageWilliam Lee
 
Notes for SQLite3 Usage
Notes for SQLite3 UsageNotes for SQLite3 Usage
Notes for SQLite3 UsageWilliam Lee
 
Cygwin Install How-To (Chinese)
Cygwin Install How-To (Chinese)Cygwin Install How-To (Chinese)
Cygwin Install How-To (Chinese)William Lee
 
Study of Chromium OS
Study of Chromium OSStudy of Chromium OS
Study of Chromium OSWilliam Lee
 
Introdunction To Network Management Protocols SNMP & TR-069
Introdunction To Network Management Protocols SNMP & TR-069Introdunction To Network Management Protocols SNMP & TR-069
Introdunction To Network Management Protocols SNMP & TR-069William Lee
 
More Details about TR-069 (CPE WAN Management Protocol)
More Details about TR-069 (CPE WAN Management Protocol)More Details about TR-069 (CPE WAN Management Protocol)
More Details about TR-069 (CPE WAN Management Protocol)William Lee
 
Qt Development Tools
Qt Development ToolsQt Development Tools
Qt Development ToolsWilliam Lee
 
Introdunction to Network Management Protocols - SNMP & TR-069
Introdunction to Network Management Protocols - SNMP & TR-069Introdunction to Network Management Protocols - SNMP & TR-069
Introdunction to Network Management Protocols - SNMP & TR-069William Lee
 

Mais de William Lee (20)

Usage Note of SWIG for PHP
Usage Note of SWIG for PHPUsage Note of SWIG for PHP
Usage Note of SWIG for PHP
 
Upgrade GCC & Install Qt 5.4 on CentOS 6.5
Upgrade GCC & Install Qt 5.4 on CentOS 6.5 Upgrade GCC & Install Qt 5.4 on CentOS 6.5
Upgrade GCC & Install Qt 5.4 on CentOS 6.5
 
Usage Notes of The Bro 2.2 / 2.3
Usage Notes of The Bro 2.2 / 2.3Usage Notes of The Bro 2.2 / 2.3
Usage Notes of The Bro 2.2 / 2.3
 
Viewing Android Source Files in Eclipse (Chinese)
Viewing Android Source Files in Eclipse  (Chinese)Viewing Android Source Files in Eclipse  (Chinese)
Viewing Android Source Files in Eclipse (Chinese)
 
Usage Note of Microsoft Dependency Walker
Usage Note of Microsoft Dependency WalkerUsage Note of Microsoft Dependency Walker
Usage Note of Microsoft Dependency Walker
 
Usage Note of PlayCap
Usage Note of PlayCapUsage Note of PlayCap
Usage Note of PlayCap
 
Qt4 App - Sliding Window
Qt4 App - Sliding WindowQt4 App - Sliding Window
Qt4 App - Sliding Window
 
GTK+ 2.0 App - Desktop App Chooser
GTK+ 2.0 App - Desktop App ChooserGTK+ 2.0 App - Desktop App Chooser
GTK+ 2.0 App - Desktop App Chooser
 
GTK+ 2.0 App - Icon Chooser
GTK+ 2.0 App - Icon ChooserGTK+ 2.0 App - Icon Chooser
GTK+ 2.0 App - Icon Chooser
 
Note of CGI and ASP
Note of CGI and ASPNote of CGI and ASP
Note of CGI and ASP
 
L.A.M.P Installation Note --- CentOS 6.5
L.A.M.P Installation Note --- CentOS 6.5L.A.M.P Installation Note --- CentOS 6.5
L.A.M.P Installation Note --- CentOS 6.5
 
C Program Runs on Wrong Target Platform(CPU Architecture)
C Program Runs on Wrong Target Platform(CPU Architecture)C Program Runs on Wrong Target Platform(CPU Architecture)
C Program Runs on Wrong Target Platform(CPU Architecture)
 
Internationalization(i18n) of Web Page
Internationalization(i18n) of Web PageInternationalization(i18n) of Web Page
Internationalization(i18n) of Web Page
 
Notes for SQLite3 Usage
Notes for SQLite3 UsageNotes for SQLite3 Usage
Notes for SQLite3 Usage
 
Cygwin Install How-To (Chinese)
Cygwin Install How-To (Chinese)Cygwin Install How-To (Chinese)
Cygwin Install How-To (Chinese)
 
Study of Chromium OS
Study of Chromium OSStudy of Chromium OS
Study of Chromium OS
 
Introdunction To Network Management Protocols SNMP & TR-069
Introdunction To Network Management Protocols SNMP & TR-069Introdunction To Network Management Protocols SNMP & TR-069
Introdunction To Network Management Protocols SNMP & TR-069
 
More Details about TR-069 (CPE WAN Management Protocol)
More Details about TR-069 (CPE WAN Management Protocol)More Details about TR-069 (CPE WAN Management Protocol)
More Details about TR-069 (CPE WAN Management Protocol)
 
Qt Development Tools
Qt Development ToolsQt Development Tools
Qt Development Tools
 
Introdunction to Network Management Protocols - SNMP & TR-069
Introdunction to Network Management Protocols - SNMP & TR-069Introdunction to Network Management Protocols - SNMP & TR-069
Introdunction to Network Management Protocols - SNMP & TR-069
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 

Último (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

MTP & PTP

  • 2. Outline Overview Protocol Intro MTP & DRM MTP & UMS MTP/PTP in Android
  • 4. PTP / MTP (1/2) Picture Transfer Protocol Define a common protocol of controlling and transferring files (photographs) for digital still image devices (ex: cameras) PIMA / ISO 15740 Commonly implemented over the USB and FireWire Media Transfer Protocol An extension of PTP USB-IF MTP 1.0 Target primarily at Digital Still Cameras Portable Media Players Cellular phones Support DRM
  • 5. PTP / MTP (2/2) PTP and MTP are application layer protocols The term ”media” in MTP Used to identify any binary data Not restricted to audio/video formats Non-audio/video objects include contacts, schedules and text files
  • 6. PTP/MTP Supported by OS (1/2) Microsoft Windows WIA (Windows Image Acquisition/Architecture) A driver model and API for Windows Me and later Windows operating systems Enables software to communicate with imaging device such as scanners, digital cameras and digital video equipments Still Image Connectivity for Windows http://msdn.microsoft.com/en-us/windows/hardware/gg463507.aspx MTP is part of the "Windows Media" framework and thus closely related to Windows Media Player Built-in support : Windows Visa and Win7 WinXP with Windows-Media-Player 10 or higher PlayForSure certification for devices
  • 7. PTP/MTP Supported by OS (2/2) Linux mtpfs libptp2 libgphoto2 libmtps Tools : gMTP(GUI), mtptools(CLI), etc
  • 8. MTP v.s PTP MTP permits transfer of large(>4GByte) items MTP allows the data to be broken into different USB packets This allows USB chips to process the packets more efficiently
  • 9. MTP Enhanced From Microsoft Based on MTP 1.0 Contains additional operations, events and responses to enable more advanced functionality specific to particular device classes, media types and application scenarios Devices designed for Windows should implement MTP Enhanced Specification http://www.microsoft.com/download/en/details.aspx?id=196 78
  • 11. Layered Protocol Physical layer : USB protocol Transport layer is taken directly from PTP (USB Still Image Class, class ID is 6) Command layer PTP/MTP treat most things on devices as Objects Most of PTP/MTP commands deal with Objects, ex:GetObjectInfo, GetNumObjects
  • 12. Device Roles in Protocol Initiator - Responder Initiator Send operations/requests Responder Responds for requests Fires events Connect, identifies as using MTPConnect, identifies as using MTP Device capabilityDevice capability Request device informationRequest device information Request list of contentsRequest list of contents Request metadata describing contentRequest metadata describing content Array of handles to contentArray of handles to content Send metadataSend metadata Object exchangeObject exchange Responder Initiator
  • 13. Other Transport Media (1/2) Transport-Independent MTP/PTP were originally implemented for use across USB but extended for use across TCP/IP and Bluetooth Over TCP/IP PTP-IP, "Picture Transfer Protocol" over TCP/IP networks CIPA DC-005-2005 standard Windows 7 and Windows Vista support Ideal for devices with WiFi that can be connected and synchronized anywhere in the home
  • 14. Other Transport Media (2/2) Over Bluetooth Over the L2CAP (Logical Link Control and Adaptation Protocol) The specification is available in the Windows Portable Device Enabling Kit Windows 7 and Windows Vista (with the Platform Update) support Requires Bluetooth 1.2 or higher with the Microsoft Bluetooth stack installed Great for low power, low speed scenarios like synchronizing PIM data or a quick file transfer
  • 16. DRM Digital Rights Management The protection of licensed or purchased audio or video content, is extemely important in the handheld consumer market DRM prevents a copyrighted file from being played in another player than the one it was originally downloaded to But, if one place where has DRM-Unlock tools, it can play file normally With uncontrolled ability to transport digital content, content provider will remain reluctant to release digital material such as movies
  • 17. DRM Support In MTP MTP provide DRM specific properties DRM status Determine if an object has DRM protection To expose whether an object will be playable after being transferred to a different device URL To allow DRM to ask for money when the license rights expire (link to the payment site) Use count The number of times of an object has been played or viewed
  • 19. USB Mass Storage (1/2) USB Mass Storage Also called USB MSC(Mass Storage Class) An USB device that can store data Most portable media players and still image devices have adopted for their internal memory where users save their media files Lack DRM support
  • 20. USB Mass Storage (2/2) Can not be accessed by the PC and device itself at the same time Device Storage USB/ATAPI Bridge Driver Framework USBStor Device Player CPU Automatic Switch MSC PCPC DeviceDevice With MSC, content Storage is managed by the PC “switch” means “mount/unmount”. When the device storage is used by the PC, the storage will be unmounted from the device. Otherwise, it is mounted to the device.
  • 21. MTP v.s UMS YESNONeed specific driver to access device’s storage on Microsoft Windows 7/Vista/XP YESNOCan do common disk recovery MoreLessAmount of Devices Ready to Support YES MTP NODRM Support UMS
  • 23. Support MTP/PTP file transfer since Android 3.0(Honeycomb) MTP programming APIs are provided from Android 3.1 MtpObjectInfo::getProtectionStatus() To retrieve the DRM protection status