Abstrak
USB/IP merupakan teknologi yang menawarkan mekanisme berbagi sumber daya perangkat USB mem-
iliki masalah terkait mekanisme pengaksesan yang dimilikinya. Masalah tersebut yaitu tidak terdapatnya
sistem pencarian perangkat yang membuat mekanisme pengaksesan perangkat USB tidak efisien. Hal
tersebut menyebabkan pengguna harus mengetahui persis alamat IP perangkat penyedia dan melewati
proses konfigurasi yang bersifat sangat teknis. Masalah tersebut dapat diselesaikan dengan pengimple-
mentasian sistem pencarian perangkat pada protokol USB/IP dengan memanfaatkan sistem manajemen
grup yang terdapat dalam jaringan IP multicast. Selain menyelesaikan masalah informasi alamat IP
perangkat penyedia, sistem juga memberikan batasan ruang lingkup layanan USB/IP ketika beroperasi.
Pada penelitian ini, terdapat 4 komponen penting untuk mewujudkan sistem pencarian perangkat terse-
but, yaitu pembatasan ruang lingkup, metode komunikasi, metode observasi sistem, dan metode pemili-
han dan permintaan akses perangkat USB. Dari keseluruhan mekanisme tersebut, pembaruan daftar
perangkat USB yang termasuk dalam observasi sistem membutuhkan waktu yang paling lama di antara
mekanisme lainnya, yaitu 569,033±6,036 milidetik. Hal ini disebabkan oleh serangkaian proses yang
perlu dijalankan secara betahap, baik di sisi penyedia perangkat USB maupun di sisi pengguna, seperti
proses deteksi perangkat USB, proses pencarian perangkat kembali, dan proses pembaruan antarmuka
aplikasi pengguna. Selain itu, sistem dapat diimplementasikan tanpa mengubah spesifikasi asli dari
USB/IP.
Kata kunci: pencarian perangkat, alamat IP, soket, USB/IP, pengumuman, multicast
Abstract
USB/IP is a technology that proposes a USB device sharing mechanism has some problems related to
their access mechanisms. The problem is there are no service discovery system that makes USB device
sharing mechanism is inefficient. This causes the user has to know exactly the IP address of USB/IP
provider and through a highly technical configuration process. The problem can be solved by imple-
menting a service discovery system to USB/IP protocol by utilizing group management system in the IP
multicast network. Not only resolved IP address problems, we also provide limits on the scope of USB/IP
services when it operates. In this research, there are 4 important components to realize the discovery
system, there are limitation of scope, communication method, system observation method, and method
of selecting and requesting access of USB device. Based on implementation, updating the list of USB
devices (based on system observation method) takes the longest time among other mechanisms, which
is 569,033±6,036 milliseconds. This is due to sequence of processes that need to be run, both on the
USB/IP provider as well as on the user application. Moreover, the service discovery system can be
implemented without changing the original specifications of USB/IP.
Keywords: service discovery, IP address, socket, USB/IP, announcement, multicast
yang berbasis personal ke tren komputasi yang pesan sederhana UDP berbasis event-driven
lebih kolaboratif dalam hal berbagi sumber daya. membuat sistem pencarian perangkat USB ber-
USB yang mengikuti model master-slave mem- basis protokol USB/IP dapat diimplementasikan
iliki kekurangan dalam hal portabilitas ketika secara efisien serta tidak membebani sumber
berbagi sumber daya, yang mana akses daya pengguna maupun penyedia. Alamat IP
perangkat USB (slave) tidak dapat dilakukan penyedia diperoleh melalui proses dekapsulasi
tanpa adanya sebuah host (master) seperti kom- paket UDP yang dikirimkan oleh penyedia ke
puter personal atau laptop (USB Implementers pengguna.
Forum, 2013). Pada penelitan ini dijelaskan proses imple-
Salah satu teknologi yang menawarkan so- mentasi sistem pencarian perangkat USB ber-
lusi untuk masalah portabilitas adalah USB/IP basis protokol USB/IP dalam satu jaringan IP
(Hirofuchi, et al., 2005). Konsep USB/IP yaitu multicast serta tahapan pengujian dan analisis
memanipulasi transaksi data protokol USB un- kinerja berdasarkan waktu respon yang diberi-
tuk dapat diteruskan ke jaringan komputer se- kan oleh sistem dalam menyajikan akses
hingga perangkat USB dapat diakses oleh host perangkat USB ke pengguna. Penelitan ini di-
lain yang berada dalam satu jaringan berbasis IP harapkan dapat meningkatkan layanan yang dita-
(Internet Protocol). USB/IP yang mengikuti warkan oleh protokol USB/IP pada aspek mobil-
model client-server memiliki ketergantungan itasnya.
pada alamat IP untuk dapat beroperasi, ditambah
tidak terdapatnya suatu mekanisme pencarian 2. DESAIN DAN IMPLEMENTASI LING-
perangkat di dalamnya membuat pengguna harus KUNGAN SISTEM
mengetahui atau meminta alamat IP perangkat
USB/IP dari penyedia. 2.1. Lingkungan IP Multicast
Beberapa teknologi terkait sistem pencarian
perangkat dalam jaringan komputer telah di-
usulkan, seperti SLP (Service Location Protocol)
(IETF, 1999), Jini (Apache River, n.d.), UPnP
(Universal Plug and Play) (UPnP Forum, 2015),
dan Bonjour (Apple Inc., 2013). Akan tetapi,
protokol-protokol tersebut memiliki spesifikasi
yang kurang efisien jika diterapkan pada proto-
kol USB/IP. Jini dan SLP kurang efisien karena
mekanisme pencarian perangkatnya membutuh-
kan sebuah sentral (Lookup Service pada Jini
dan Directory Agent pada SLP) berbasis
direktori sebagai antarmuka dan penyedia infor-
masi tentang layanan/perangkat yang dibagikan.
Berbeda dengan Jini dan SLP, Bonjour dan
UPnP termasuk protokol yang tidak berbasis
direktori. Walaupun demikian, setiap perangkat
Gambar 1. Interaksi antara pengguna dan penyedia
yang ingin dibagikan ke jaringan perlu menerap-
kan spesifikasi dari protokol-protokol tersebut, Sistem dapat terdiri atas beberapa perangkat
yang mana pengimplementasiannya tidak penyedia dan beberapa perangkat pengguna
generik di setiap perangkat. Oleh karena itu, yang terhubung dalam satu titik akses. Perangkat
protokol-protokol ini kurang efisien jika diterap- pengguna dan penyedia memanfaatkan pesan IP
kan pada USB/IP yang sifatnya generik dan telah multicast untuk memperoleh alamat IP dari mas-
memiliki mekanisme tersendiri dalam ing-masing perangkat tersebut dan saling mem-
pengaksesan layanannya. beritahukan perubahan kondisi dari perangkat
Solusi yang lebih sederhana dan efisien di- USB yang terpasang di masing-masing
perlukan oleh protokol USB/IP. IP multicast perangkat. Setiap perangkat pengguna maupun
adalah salah satu teknologi yang dapat penyedia layanan wajib mengetahui alamat IP
digunakan untuk menyelesaikan masalah ob- grup multicast yang digunakan dalam pengi-
servasi alamat IP (Zhu, Mutka, & Ni, 2005) riman pesan IP multicast antar perangkat. Untuk
penyedia pada protokol USB/IP. Dengan me- transfer data antar perangkat akan dikelola oleh
manfaatkan sistem grup pada IP multicast dan protokol USB/IP yang terdapat di sistem operasi
Fakultas Ilmu Komputer, Universitas Brawijaya
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3356
GNU/Linux penyedia layanan maupun lingkungan sistem dalam penelitian ini dengan
pengguna. Gambar 1 menunjukkan interaksi an- menggunakan alamat IP multicast 239.255.0.1.
tara pengguna dan penyedia yang terhubung da-
lam jaringan IP multicast melalui sebuah titk 2.2. Metode Komunikasi
akses (ruter).
Hal yang perlu diperhatikan dalam
penelitan ini adalah ruang lingkup di mana sis-
tem akan beroperasi. Sistem dirancang untuk
beroperasi dalam jaringan lokal dengan batasan
satu titik akses, artinya lalu lintas pesan mul-
ticast cuman terjadi dalam ruang lingkup titik
akses tersebut dan tidak diteruskan ke titik akses
lain (jika ada) walapun masih berada dalam satu
jaringan. Untuk mempermudah dalam
pengimplementasiannya, maka penelitan ini cu-
man menggunakan satu ruter sebagai titik
aksesnya. Dengan ruang lingkup yang telah Gambar 3. Transisi antar mode komunikasi
ditentukan, maka selanjutnya adalah penentuan
alamat IP multicast yang akan digunakan oleh Metode komunikasi yang digunakan pada
sistem. penelitan ini adalah multicast dan dan unicast.
Perangkat penyedia layanan maupun pengguna
memanfaatkan pesan multicast untuk saling
memberitahukan lokasi berupa alamat IP dan
juga sebagai indikator bahwa telah terjadi
penambahan/pelepasan perangkat USB di sisi
penyedia layanan. Ketika alamat IP telah
diketahui oleh masing-masing perangkat, maka
metode komunikasi beralih ke unicast sehingga
perangkat-perangkat tersebut dapat berkomu-
nikasi secara langsung. Gambar 3 menunjukkan
perubahan metode komunikasi yang terjadi baik
di aplikasi pengguna maupun perangkat penye-
dia.
dengan yang lain. Pada sistem operasi pengguna yang berada dalam suatu jaringan IP
GNU/Linux, antarmuka jaringan diperlukan un- multicast. USB Metadata Server adalah kompo-
tuk memperoleh informasi tentang perangkat nen yang bertugas untuk memproduksi data ter-
jaringan yang sedang digunakan, seperti alamat sebut dalam bentuk JSON (Gambar 8). Informasi
MAC, alamat IP, dan jenis perangkat yang terdapat dalam JSON tersebut akan
(kabel/nirkabel). Semua program berbasis jarin- diekstrak oleh perangkat pengguna dan ditampil-
gan yang terdapat dalam penelitan ini membu- kan ke pengguna melalui antarmuka aplikasi.
tuhkan alamat IP sehingga diperlukannya algo- Gambar 9 menunjukkan teks JSON yang
ritma untuk mendeteksi perangkat jaringan nirk- diterima oleh aplikasi pengguna.
abel secara otomatis dan untuk memperoleh in-
formasi alamat IP dari perangkat tersebut.
Tabel 1. Pseudocode Algoritma Perolehan Alamat
IP
Kode Sumber
def get_ip_address_device:
there_is_interface = False
for interface in all_intefaces_in_de-
vice: Gambar 8. Rancangan struktur data JSON
if interface is wireless_interface:
there_is_interface = True
return ip_address from interface
endif
endfor
if there_is_interface is False:
return null
endif
end
0,593±0,386 detik untuk perangkat dilakukan dengan dua perangkat penyedia. Pen-
192.168.88.247 dan 0,493±0,263 detik untuk gujian ini dilakukan untuk mengetahui kinerja
perangkat 192.168.88.246. Dengan selisih rata- pencarian lebih dari satu perangkat.
rata waktu eksekusi sekitar 0,1 detik, baik hasil Berdasarkan hasil pengujian, perangkat
pengujian yang berasal dari perangkat pengguna membutuhkan rata-rata waktu sebesar
192.168.88.247 maupun 192.168.88.246 tidak 6,05±0,242 milidetik untuk mengetahui alamat
memiliki perbedaan yang berarti. Selain itu, IP seluruh perangkat penyedia. Dapat dilihat
dapat disimpulkan juga bahwa kebutuhan pada setiap percobaan terdapat jeda hanya seki-
fungsional untuk prosedur ini telah terpenuhi, tar 0,005 – 0,008 milidetik di sisi aplikasi
hal ini dibuktikan dengan cuplikan layar (Gam- pengguna untuk memproses alamat IP perangkat
bar 15) saat program berjalan dan nilai waktu penyedia berikutnya. Jeda yang sangat cepat ini
eksekusi yang didapatkan dari setiap percobaan terjadi karena paket-paket yang berasal dari
yang telah dilakukan. perangkat penyedia ditampung dalam suatu pen-
yangga yang dikelola oleh sistem operasi. Oleh
karenanya, jeda tersebut adalah waktu yang
dibutuhkan oleh aplikasi untuk mengambil infor-
masi yang terdapat dalam penyangga tersebut.
Secara fungsional, prosedur ini telah terpenuhi,
dibuktikan dengan cuplikan layar saat aplikasi
dijalankan (Gambar 17) dan nilai waktu eksekusi
yang didapatkan dari setiap percobaan yang te-
lah dilakukan.
Hal kedua yang diuji adalah mengukur Gambar 17. Aplikasi pengguna menemukan dua
waktu yang dibutuhkan untuk mencari lokasi perangkat penyedia
penyedia layanan. Lokasi perangkat penyedia
direpresentasikan dalam bentuk alamat IPv4. 4.2. Pengenalan Perangkat USB
Berdasarkan hasil pengujian diketahui bahwa
perangkat pengguna membutuhkan waktu rata- Untuk dapat mengetahui informasi
rata 6,117±1,335 milidetik untuk mengetahui perangkat USB yang disediakan oleh perangkat
alamat perangkat penyedia 192.168.88.247, se- penyedia, maka perangkat pengguna perlu
dangkan 5,918±0,181 milidetik untuk perangkat mengunduh informasi tersebut dalam bentuk
penyedia 192.168.88.246. Dengan selisih rata- teks JSON. Berdasarkan hasil pengujian, ap-
rata waktu eksekusi sekitar 0,199 milidetik, baik likasi pengguna membutuhkan rata-rata waktu
hasil pengujian yang berasal dari perangkat sebesar 11,464±1,779 milidetik untuk menerima
192.168.88.247 maupun 192.168.88.246 tidak JSON (216 byte) dari perangkat penyedia
memiliki perbedaan yang berarti. Secara 192.168.88.247 dan 11,091±1,335 milidetik dari
fungsional, prosedur ini telah terpenuhi, dibuk- perangkat penyedia 192.168.88.246 (210 byte).
tikan dengan cuplikan layar saat program ber- Kinerja yang dihasilkan oleh masing-masing
jalan (Gambar 16) dan nilai waktu eksekusi yang perangkat penyedia tidak jauh berbeda satu sama
didapatkan dari setiap percobaan yang telah dil- lain, hal ini ditunjukkan oleh selisih rata-rata
akukan. waktu penerimaan JSON hanya sekitar 0,373 mi-
lidetik dari kedua perangkat penyedia tersebut.
Perbedaan kinerja yang tidak signifikan ini di-
pengaruhi oleh besar ukuran teks JSON yang
dikirimkan. Ukuran JSON yang disediakan oleh
Gambar 16. Aplikasi pengguna menemukan satu perangkat penyedia 192.168.88.247 dan
perangkat penyedia 192.168.88.246 hanya memiliki selisih 6 byte
saja. Secara fungsional, aplikasi pengguna
Selain mengukur kinerja pencarian satu sukses menerima teks JSON dari masing-masing
perangkat penyedia, uji kinerja juga dilakukan perangkat penyedia dengan utuh. Gambar 9
dengan jumlah perangkat penyedia lebih dari menunjukkan aplikasi pengguna menerima teks
satu perangkat, yang di mana di pengujian ini
JSON yang berasal dari perangkat penyedia, se- Berdasarkan hasil pengujian, dapat ketahui
dangkan Gambar 12 menunjukkan informasi rata-rata waktu yang diperlukan oleh pengguna
perangkat USB yang telah disajikan dalam ben- untuk memperbarui daftar perangkat USB yaitu
tuk antarmuka aplikasi. sebesar 569,033±6,036 milidetik. Secara
fungsional, aplikasi pengguna sukses melakukan
4.3. Pengaksesan Perangkat USB pembaruan daftar USB dengan nilai deviasi yang
Pengguna dapat mengakses perangkat USB sangat kecil dari setiap percobaan yang telah dil-
melalui tombol Attach dan Detach yang terdapat akukan. Gambar 11 menunjukkan pembaruan
di antarmuka aplikasi. Berdasarkan Tabel 6.5, daftar perangkat USB yang disebabkan oleh
pengguna membutuhkan rata-rata waktu sebesar pelepasan Acer Keyboard dari perangkat penye-
26,923±1,781 milidetik untuk sukses menjalin dia 192.168.88.247.
akses Toshiba Transmemory dari perangkat
5. KESIMPULAN
penyedia ke perangkat pengguna melalui proto-
kol USB/IP. Sedangkan untuk mengakses Berdasarkan hasil pengujian beserta ana-
perangkat Acer Keyboard dibutuhkan rata-rata lisis yang telah dilakukan, maka dapat disimpul-
waktu sebesar 28,052±2,345 milidetik. Dengan kan bahwa sistem pencarian perangkat USB ber-
selisih sekitar 1,129 milidetik, perbedaan kinerja basis protokol USB/IP dapat diimplementasikan
yang dirasakan pengguna saat mengakses dengan memanfaatkan sistem manajemen grup
Toshiba Transmemory dan Acer Keyboard tidak yang terdapat dalam jaringan IP multicast. Baik
begitu berarti. Gambar 13 menunjukkan aplikasi perangkat penyedia maupun pengguna perlu
pengguna berhasil meminta akses perangkat melakukan registrasi ke jaringan IP multicast
USB yang disediakan oleh perangkat penyedia dengan alamat IP grup yang telah ditentukan.
192.168.88.247. Pengguna dapat mengetahui alamat IP dengan
Setelah berhasil mengakses perangkat USB, mengekstrak datagram IPv4 yang berasal dari
pengguna dapat memutuskan akses perangkat pesan multicast yang dikirimkan oleh perangkat
tersebut dengan menekan tombol Detach. Ber- penyedia.
dasarkan hasil pengujian, rata-rata waktu yang Pengguna dapat mengakses perangkat USB
dibutuhkan pengguna untuk sukses memutuskan melalui protokol USB/IP berdasarkan informasi
akses perangkat USB yaitu sebesar 1,408±0,329 dalam teks JSON yang disediakan oleh
milidetik untuk Toshiba Transmemory dan perangkat penyedia. Informasi tersebut akan
1,402±0,372 milidetik untuk Acer Keyboard. selalu diperbarui berdasarkan kondisi perangkat
Gambar 14 menunjukkan aplikasi pengguna ber- USB yang berada di sisi penyedia. Kondisi ter-
hasil memutuskan akses perangkat USB yang sebut dapat berupa terjadinya penambahan atau
disediakan oleh perangkat penyedia pelepasan perangkat USB.
192.168.88.246. Secara fungsional, baik Dari keseluruhan mekanisme yang terdapat
pengaksesan maupun pemutusan perangkat USB dalam penelitian ini, mekanisme pembaruan
berhasil dilakukan oleh perangkat pengguna dan daftar perangkat USB membutuhkan waktu yang
dapat disimpulkan juga bahwa waktu yang dibu- paling lama di antara mekanisme lainnya, yaitu
tuhkan pengguna untuk memutus akses 569,033±6,036 milidetik. Hal ini disebabkan
perangkat USB lebih cepat dibandingkan waktu oleh serangkaian proses yang perlu dijalankan
yang dibutuhkan saat pengguna mengaksesnya. secara betahap, baik di sisi penyedia perangkat
USB maupun di sisi pengguna, seperti proses de-
4.4. Pembaruan Daftar dan Status Perangkat teksi perangkat USB, proses pencarian
USB perangkat kembali, dan proses pembaruan
Pembaruan daftar perangkat USB diper- antarmuka aplikasi pengguna
lukan saat kondisi perangkat USB di sisi penye-
DAFTAR PUSTAKA
dia mengalami perubahan, seperti terjadinya
penambahan atau pelepasan perangkat USB. Apache River, n.d.. Jini Architecture Specifica-
Waktu yang diperlukan untuk melakukan pem- tion, Version 1.0. [online] Apache Software
baruan dimulai saat perangkat pengguna Foundation. Tersedia di:
mendeteksi adanya pesan multicast yang berasal <https://river.apache.org/release-doc/cur-
dari perangkat penyedia hingga aplikasi rent/specs/html/jini-spec.html> [Diakses 15
pengguna menampilkan daftar perangkat USB Februari 2017]
yang baru.
Apple, Inc., 2013. Bonjour Concepts. [online] Zhu, F., Mutka, M.W., & Ni, L.M., 2005. Ser-
Apple, Inc.. Tersedia di: <https://devel- vice Discovery in Pervasive Computing En-
oper.apple.com/library/content/documenta- vironments. IEEE Pervasive Computing,
tion/Cocoa/Conceptual/NetServices/Arti- 4(4), pp.81-90.
cles/about.html#//ap-
ple_ref/doc/uid/TP40002458-SW1> [Di-
akses 16 Februari 2017]
Hirofuchi, T., Kawai, E., Fujikawa, K. & Suna-
hara, H., 2005. USB/IP: A Transparent De-
vice Sharing Technology over IP Network.
IPSJ Digital Courier Volume 1 (2005),
[online] Tersedia di:
<https://www.ipsj.or.jp/08editt/dc/data/vol
_01.html> [Diakses 31 Desember 2016]
The Internet Engineering Task Force, 1998. RFC
2365: Administratively Scoped IP Mul-
ticast. IETF RFC [online] Tersedia melalui:
IETF Tools
<https://tools.ietf.org/html/rfc2365> [Di-
akses 20 April 2017]
The Internet Engineering Task Force, 1999. RFC
2608: Service Location Protocol, Version 2.
IETF RFC [online] Tersedia melalui: IETF
Tools
<https://www.ietf.org/rfc/rfc2608.txt> [Di-
akses 15 Februari 2017]
The Internet Engineering Task Force, 2010. RFC
5771: IANA Guidelines for IPv4 Multicast
Address Assignments. IETF RFC [online]
Tersedia melalui: IETF Tools
<https://tools.ietf.org/html/rfc5771> [Di-
akses 8 Maret 2017]
Transparency Market Research, 2016. USB Ca-
ble Market - Global Industry Analysis, Size,
Share, Growth, Trends and Forecast 2016 -
2024. [online] Tersedia di:
<https://www.transparencymarket-
research.com/usb-cable-market.html> [Di-
akses 1 Maret 2017]
UPnP Forum, 2015. UPnP Device Architecture
2.0. [pdf] Open Connectivity Foundation,
Inc.. Tersedia di:
<http://upnp.org/specs/arch/UPnP-arch-
DeviceArchitecture-v2.0.pdf> [Diakses 15
Februari 2017]
USB Implementers Forum, 2013. Universal Se-
rial Bus 3.1 Specification, Revision 1.0.
[online] Tersedia melalui: USB Implement-
ers Forum Documents
<http://www.usb.org/developers/docs>
[Diakses 10 Februari 2017]