Donghwi Kim

Publications

Journal

  1. YoungGyoun Moon, Donghwi Kim, Younghwan Go, Yeongjin Kim, Yung Yi, Song Chong, and KyoungSoo Park. "Cedos: a network architecture and programming abstraction for delay-tolerant mobile apps." IEEE/ACM Transactions on Networking (TON) 25.2 (2017): 646-661.

Conference Proceedings

  1. Muhammad Asim Jamshed, YoungGyoun Moon, Donghwi Kim, Dongsu Han and KyoungSoo Park. “mOS: A Reusable Networking Stack for Flow Monitoring Middleboxes”. In Proceedings of the 14th USENIX Symposium on Networked Systems Design and Implementation (NSDI 2017), Boston, MA, USA March 2017. [Best paper]
  2. YoungGyoun Moon, Donghwi Kim, Younghwan Go, Yeongjin Kim, Yung Yi, Song Chong, and KyoungSoo Park. “Practicalizing Delay-Tolerant Mobile Apps with Cedos”. In Proceedings of the 13th ACM International Conference on Mobile Systems, Applications and Services (MobiSys 2015), Florence, Italy, May 2015.

Awards

  1. The Best TA Award, School of Computing, KAIST, Feb 2019
  2. Qualcomm-KAIST Innovation Award - Paper Competition Award ($5000), Aug 2018
  3. NMSL Labmate of the year 2017
  4. The Best TA Award, School of Computing, KAIST, Aug 2017
  5. The Best Paper Award, USENIX NSDI 2017, "mOS: A Reusable Networking Stack for Flow Monitoring Middleboxes"

Research projects

Ongoing

Recycling millions of mobile apps for giving birth to a new app

Developing a mobile app is not as easy as people usually say. Mobile app developers often waste their effort at reinventing app features that are already in existing apps. What if a cookbook app can provide the delivery dates of ingredients by searching them from a grocery app? What if an alarm app can wake you up with your favorite radio channel by using an Internet radio streaming app? In this work, we research a tool for developers to create a new app that utilizes functions in other apps that have no APIs, without understanding the internals of the apps.

Previous

mOS: Making middlebox networking stack reusable

Stateful middleboxes, such as intrusion detection systems and application-level firewalls, have provided key functionalities in operating modern IP networks. However, designing an efficient middlebox is challenging due to the lack of networking stack abstraction for TCP flow processing. Thus, middlebox developers often write the complex flow management logic from scratch, which is not only prone to errors but also wastes efforts for similar functionalities across applications. In this work, we design and implementation of mOS, a reusable networking stack for stateful flow processing in middlebox applications.

[paper] [github]

Cedos: Offloading cellular data in the urban mobile network

Delay-tolerant Wi-Fi offloading is known to improve overall mobile network bandwidth at low delay and low cost. Yet, in reality, we rarely find mobile apps that fully support opportunistic Wi-Fi access. This is mainly because it is still challenging to develop delay-tolerant mobile apps due to the complexity of handling network disruptions and delays. In this work, we present Cedos, a practical delay-tolerant mobile network access architecture in which one can easily build a mobile app.

[paper] [github]

For Fun

Street curator: Street art (graffiti) searching on Google street-view

Do you know that graffitis are not just scribbles and now perceived as a genre of modern art? Valparaiso, a small city in Chile even became UNESCO world heritage for its valuable graffitis. Graffitis have many fans who want to see and enjoy them; however, graffitis are hard to locate unlike other visual artworks as they are spread over cities. In this work, I present a graffiti search service that finds a geographic location for a graffiti image query by searching the image over the street-view of Valparaiso. This work is presented as a term project for "Introduction to Big Data Analytics" course in KAIST in spring, 2014.

[report] [source-code]

Skills

Android internals: Migrated activity manager framework and UI framework of Android from OS-level to user-level for a research prototype.

Network programming in C: Built high-speed network event processing module and elastic TCP ring buffer for mOS project. Also have experience on performance optimization on multi-10Gbps network system.

Parallel computing: Accelerated image searching by 38x with x86_64 SIMD instructions and GPU offloading for street curator project.

SPARC assembly: Developed a Linux USB driver and audio codecs for a SPARC-compatible processor.

Education

  • Ph. D. in School of Computing, KAIST, 2016 ~
  • M. S. in Department of Electrical Engineering, KAIST, 2014 ~ 2016
  • B.S. in Department of Electrical Engineering, KAIST, 2009 ~ 2014

Research Experience

Networking and Mobile Systems Laboratory, KAIST MAR. 2016 ∼

    • Ph. D. Student. Research on mobile OS & application framework

Networked and Distributed Computing Systems Laboratory, KAIST AUG. 2012 ∼ FEB. 2016

    • M.S. Student. Research on networking stack for middlebox (mOS project.)
    • Undergraduate Intern. Research on mobile networking (Cedos project.)

Electronics and Telecommunications Research Institute (ETRI) JUN. 2012 ∼ AUG. 2012

    • Undergraduate Intern. Developed Linux USB driver for a SPARC based mobile processor.

Electronics and Telecommunications Research Institute (ETRI) JUN. 2011 ∼ AUG. 2011

    • Undergraduate Intern. Developed software audio codec for a SPARC based mobile processor.