Media transfer protocol
(MTP) is the extension to the picture transfer protocol communication respond
to the consortium of the media producers that allows media files to be
transported automatically in portable devices which require an underlying
protocol that will allow for uploading, whereas picture transfer protocol PTP
was designed for downloading pictures from digital cameras. Media transfer
protocol allows synchronization of the transfer of digital audio files that
plays media files only on windows media players and transferring this files to similar
application as personal information on personal digital assistance. Media
transfer protocol is a standard internet protocol that will follow a client
server model for communication. MTP is the key part of the windows media file
that works closely related to windows media players version of the Microsoft
windows operating system from windows XP, XP2 and Vista to support MTP. This
allows for a fast and a quick retrieval of all the available media files,
allows files for simple authenticated and efficient downloads and uploads, and
allows the distributed media servers to coordinate the available media list
when updates are made to any server. MTP devices in windows has no access to
underlying file system but gives access to each internal and SD card storage
device and helps to copy any file type contents. MTP can be supported by
smartphones, cameras, MP3 players, and many more. This protocol allows reliable
and high performance. The main purpose of this MTP is to allow the synchronization
of the media files from one transfer function on associate portable devices one
at a time. It works is to copy the media file system for a specified media file
and then copy it back as a source or a destination. It doesn’t respond to some of
the fields and functions in the protocol such as edit, open and modify. It was
originally implemented for use across USB but extended for use across TCPI in
Bluetooth. Purpose of this project is set the rules between client and server
communication to only allow single operations at a time until the previous
operation is completed and to improve security.

Details of the Protocol Assumptions

Ø  All client users are IPv6-capable,
which is the latest version of Internet protocol (IP) to exchange audio, video,
data traffic by using IP networks, through a unified communication network that
provides additional IP address space and allow the network to behave
transparently in a dual environment to support auto configuration capabilities
for devices that are connected to the network.

Ø  All signed-in users have all their
personal and credit card information preloaded on their account, and when they request
to upload, download, retrieve and updating media files via a 1-click purchase

Ø  I have named some of the media
servers after popular media services (i.e. Netflix, YouTube, Amazon Prime). For
simplicity of this protocol project.

Ø  The client will upload, download,
retrieve and update media files in an acceptable protocol format.

Ø  The upload, download, retrieve and
update will only go to the media server with which the client is interacting.

Ø  When a client user uploads,
downloads, retrieves and updates a video to his or her preferred media service,
it will automatically add a new record in the database, resulting in an updated
media list for that service provider. 
For example, when a you tube user uploads a video to you tube, you tube
database is automatically updated with URL file location and name of the





Important points to note:

All fields marked with “*” are required in all the protocol transmissions. 

the field is not required in any of the protocol transmission, it will only
activate when a function needs it in the protocol transmission.

fields that are not required in the protocol transmission will be given a “0”
and will be ignored in the protocol transmission. 

only sign of this rule is the function field in the protocol transmission. 

protocol transmission will have one client function or server function but not


Ø  ID*:
This field is
required in all protocol transmission. Basically, its job is to tell the sender
or the receiver whether the protocol transmission is a client to server or
server to client.

= 0

= 1

à server = 01

à client = 10


Ø  Date*: Displays the date of the request
in the protocol transmission with the help of “timeout” feature. Shows date in
MMDDYYYY format.

Ø  Time*: Displays the time of the request
in the protocol transmission with the help of “timeout” feature. Shows time in
HH:MM: SS format.

Ø  Timeout*: Its time limit is always set to
180 seconds in all the protocol transmission. 
If the client does not get an appropriate message back in 180 seconds,
the connection will be automatically terminated.

Ø  Authentication: Tells the server whether the user has
signed in or not to the media file it is requesting.

Signed In = 0

In = 1


Ø  Server:
the URL of the
upload, download, retrieve and update file location in IPv6 address. I gave the
name of the site rather than the IP address for understand the project more




Ø  Redirect: displays the URL of the upload,
download, retrieve and update file location from where the server is
redirecting the user in IPv6 address format. 
I gave the name of the site rather than the IP address for make the
project more understanding and easier.




Ø  Actual
Speed: This is
concerned with how fast the server sends the requested media file.  If Actual Speed more than Maximum Speed, the
connection will automatically be terminated. Displays it in Mbps format.

Ø  Max
Speed: This is
concerned with the maximum acceptable transmission speed that the client can
handle. Displays it in Mbps format.

Ø  File
Size: Server tells
the client about the size of the media file. Displays it in MB format.

Ø  Remaining
MB: Client tells
the server how many bits are left as soon as it reaches to 0, the server will
automatically terminate the connection. Displays it in MB format.

Ø  Upload
Speed: It is the
client uploading speed of the content which is measured in Mbps. The speed must
be less than server speed limit or the connection will be automatically

Ø  Server
Limit: It
is the maximum speed that the server can handle. If the upload speed exceeds the
server speed limit the connection will be automatically terminated.

Ø  Client
Directory: This is
the users upload, download, retrieve and update media file directory. Displays
it in an acceptable media file format i.e. mp4.

Ø  Replace: It is the updated media files
replaced with the new name on the server data.



v  Important points to note:

each line = $

the client or the server that the request has ended = @

of protocol transmission = #




Ø  Client
Functions & Server Functions*:
This field is required in all protocol transmission and displays what action(s)
to perform:

= client requesting for retrieval

= client requesting for download

= client requesting for upload

= client sending server updates list

= server replies to client request with all available media list

= server does not have client requested media file and ends the protocol

= server URL media file download request accepted

= client accept the URL media file download from server

= server starts sending the URL media file and displays its file size

= client accept the URL media file and displays the remaining speed

= server does not have the client requested media file and ends the protocol

= client is not signed in, therefore protocol is terminated

= server accepts user’s request and sends back server limit speed

= client starts the upload process, displays the file size and the client

= server acknowledgment to the client uploading, displays the remaining MB

= server declines clients request due to lack of authentication

= server accepts client request and displays max-speed

= client sends update file list to server and displays maximum speed

= server download the updated file list and ends the protocol transmission

= client sends it to the next server for more updates

= server does not have any latest updates and ends the protocol transmission