Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Young-Woo Kwon is active.

Publication


Featured researches published by Young-Woo Kwon.


international conference on distributed computing systems | 2012

Energy-Efficient and Fault-Tolerant Distributed Mobile Execution

Young-Woo Kwon; Eli Tilevich

Although battery capacities keep increasing, the execution demands of modern mobile devices continue to outstrip their battery lives. As a result, battery life is bound to remain a key constraining factor in the design of mobile applications. To save battery power, mobile applications are often partitioned to offload parts of their execution to a remote server. However, partitioning an application renders it unusable in the face of network outages. In this paper, we present a novel approach that reduces the energy consumption of mobile applications through server offloading without partitioning. The functionality that consumes energy heavily is executed in the cloud, with the programs state check pointed and transferred across the mobile device and the cloud. Our approach is portable, as it introduces the offloading functionality through byte code enhancement, without any changes to the runtime system. The check pointed states size is minimized through program analysis. In the case of a network outage, the offloading interrupts and the application reverts to executing locally from the latest checkpoint. Our case studies demonstrate how our approach can reduce energy consumption for third-party Android applications. Transformed through our approach, the applications consume between 30% and 60% fewer Joules than their original versions. Our results indicate that portable offloading can improve the battery life of modern mobile applications while maintaining their resilience to network outages.


Science Advances | 2016

MyShake: A smartphone seismic network for earthquake early warning and beyond.

Qingkai Kong; Richard M. Allen; Louis Schreier; Young-Woo Kwon

MyShake is a crowdsourcing approach to earthquake early warning that harnesses the sensors in private smartphones. Large magnitude earthquakes in urban environments continue to kill and injure tens to hundreds of thousands of people, inflicting lasting societal and economic disasters. Earthquake early warning (EEW) provides seconds to minutes of warning, allowing people to move to safe zones and automated slowdown and shutdown of transit and other machinery. The handful of EEW systems operating around the world use traditional seismic and geodetic networks that exist only in a few nations. Smartphones are much more prevalent than traditional networks and contain accelerometers that can also be used to detect earthquakes. We report on the development of a new type of seismic system, MyShake, that harnesses personal/private smartphone sensors to collect data and analyze earthquakes. We show that smartphones can record magnitude 5 earthquakes at distances of 10 km or less and develop an on-phone detection capability to separate earthquakes from other everyday shakes. Our proof-of-concept system then collects earthquake data at a central site where a network detection algorithm confirms that an earthquake is under way and estimates the location and magnitude in real time. This information can then be used to issue an alert of forthcoming ground shaking. MyShake could be used to enhance EEW in regions with traditional networks and could provide the only EEW capability in regions without. In addition, the seismic waveforms recorded could be used to deliver rapid microseism maps, study impacts on buildings, and possibly image shallow earth structure and earthquake rupture kinematics.


international conference on software maintenance | 2013

Reducing the Energy Consumption of Mobile Applications Behind the Scenes

Young-Woo Kwon; Eli Tilevich

As energy efficiency has become a key consideration in the engineering of mobile applications, an increasing number of perfective maintenance tasks are concerned with optimizing energy consumption. However, optimizing a mobile application to reduce its energy consumption is non-trivial due to the highly volatile nature of mobile execution environments. Mobile applications commonly run on a variety of mobile devices over mobile networks with divergent characteristics. Therefore, no single, static energy consumption optimization is likely to yield across-the-board benefits, and may even turn to be detrimental in some scenarios. In this paper, we present a novel approach to perfective maintenance of mobile applications to reduce their energy consumption. The maintenance programmer declaratively specifies the suspected energy consumption hotspots in a mobile application. Based on this input, our approach then automatically transforms the application to enable it to offload parts of its functionality to the cloud. The offloading is highly adaptive, being driven by a runtime system that dynamically determines both the state-to-offload and its transfer mechanism based on the execution environment in place. In addition, the runtime system continuously improves its effectiveness due to a feedback-loop mechanism. Thus, our approach flexibly reduces the energy consumption of mobile applications behind the scenes. Applying our approach to third- party Android applications has shown that it can effectively reduce the overall amount of energy consumed by these applications, with the actual numbers ranging between 25% and 50%. These results indicate that our approach represents a promising direction in developing pragmatic and systematic tools for the perfective maintenance of mobile applications.


automated software engineering | 2014

Cloud refactoring: automated transitioning to cloud-based services

Young-Woo Kwon; Eli Tilevich

Using cloud-based services can improve the performance, reliability, and scalability of a software application. However, transitioning an application to use cloud-based services is difficult, costly, and error-prone. The required re-engineering effort includes migrating to the cloud the functionality to be accessed as remote cloud-based services and re-targeting the client code accordingly. In addition, the client must be able to detect and handle the faults raised in the process of invoking the services. As a means of streamlining this transitioning, we developed a set of refactoring techniques—automated, IDE-assisted program transformations that eliminate the need to change programs by hand. In particular, we show how a programmer can extract services, add fault tolerance functionality, and adapt client code to invoke cloud services via refactorings integrated with a modern IDE. As a validation, we have applied our approach to automatically transform two third-party Java applications to use cloud-based services. We have also applied our approach to re-engineer a suite of services operated by General Electric to use cloud-based resources to better satisfy the GE business requirements.


Information & Software Technology | 2013

The impact of distributed programming abstractions on application energy consumption

Young-Woo Kwon; Eli Tilevich

Abstract With battery capacities remaining a key physical constraint for mobile devices, energy efficiency has become an important software design consideration. Distributed programming abstractions (e.g., sockets, RPC, messages, etc.) are an essential component of modern software, but their energy consumption characteristics are poorly understood. The programmer has few practical guidelines to choose the right abstraction for energy-constrained scenarios. In this article, we report on the findings of a systematic study we conducted to compare and contrast major distributed programming abstractions in terms of their energy consumption patterns. By varying the abstractions with the rest of the functionality fixed, we measure and analyze the impact of distributed programming abstractions on application energy consumption. Based on our findings, we present a set of practical guidelines for the programmer to select an abstraction that satisfies the energy consumption constraints in place. Our other guidelines can steer future efforts in creating energy efficient distributed programming abstractions.


IEEE Computer | 2014

Cloud-Based Execution to Improve Mobile Application Energy Efficiency

Eli Tilevich; Young-Woo Kwon

Cloud offloading--a popular energy optimization technique--executes a mobile applications energy-intensive functionality via a cloud-based server. To maximize efficiency, systems must determine the functionality to offload at runtime, which will require innovation in both automated program transformation and systematic runtime adaptation.


computer software and applications conference | 2016

An Assessment of Internet of Things Protocols for Resource-Constrained Applications

Dae-Hyeok Mun; Minh Le Dinh; Young-Woo Kwon

With the resource constraints of Internet of Things (IoT) devices, performance and energy efficiency have become an important IoT software design consideration while minimizing resource usages. To provide efficient communication for resource-constrained applications, several IoT protocols have been introduced, and yet there are few existing guidelines to help the programmer choose an appropriate communication protocol. To address this limitation, we evaluate five different communication protocols including CoAP, MQTT, MQTT-SN, WebSocket, and TCP. Our result can help IoT application programmers make informed decision when choosing communication protocols for their applications.


ieee international conference on services computing | 2010

An Assessment of Middleware Platforms for Accessing Remote Services

Young-Woo Kwon; Eli Tilevich; William R. Cook

Due to the shift from software-as-a-product (SaaP) to software-as-a-service (SaaS), software components that were developed to run in a single address space must increasingly be accessed remotely across the network. Distribution middleware is frequently used to facilitate this transition. Yet a range of middleware platforms exist, and there are few existing guidelines to help the programmer choose an appropriate middleware platform to achieve desired goals for performance, expressiveness, and reliability. To address this limitation, in this paper we describe a case study of transitioning an Open Service Gateway Initiative (OSGi) service from local to remote access. Our case study compares five remote versions of this service, constructed using different distribution middleware platforms. These platforms are implemented by widely-used commercial technologies or have been proposed as improvements on the state of the art. In particular, we implemented a service-oriented version of our own Remote Batch Invocation abstraction. We compare and contrast these implementations in terms of their respective performance, expressiveness, and reliability. Our results can help remote service programmers make informed decisions when choosing middleware platforms for their applications.


service oriented computing and applications | 2001

Which middleware platform should you choose for your next remote service

Young-Woo Kwon; Eli Tilevich; William R. Cook

Due to the shift from software-as-a-product to software-as-a-service, software components that were developed to run in a single address space must increasingly be accessed remotely across the network. Distribution middleware is frequently used to facilitate this transition. Yet a range of middleware platforms exist, and there are few existing guidelines to help the programmer to choose an appropriate middleware platform to achieve desired goals for performance, conciseness, intuitiveness, and reliability. To address this limitation, in this article, we describe a case study of transitioning an Open Service Gateway Initiative service from local to remote access. In our case study, we evaluate five remote versions of this service, constructed using different distribution middleware platforms. These platforms are implemented by widely-used commercial technologies or have been proposed as improvements on the state of the art. In particular, we implemented a service-oriented version of our own Remote Batch Invocation abstraction. We compare and contrast these implementations in terms of their respective performance, conciseness, complexity, and reliability. Our results can help remote service programmers make informed decisions when choosing middleware platforms for their applications.


acm ifip usenix international conference on middleware | 2009

DR-OSGi : hardening distributed components with network volatility resiliency

Young-Woo Kwon; Eli Tilevich; Taweesup Apiwattanapong

Because middleware abstractions remove the need for low-level network programming, modern distributed component systems expose network volatility (i.e., frequent but intermittent outages) as application-level exceptions, requiring custom manual handling. Unfortunately, handling network volatility effectively is nontrivial---the programmer must consider not only the specifics of the application, but also of its target deployment environment. As a result, to make a distributed component application resilient against network volatility, programmers commonly create custom solutions that are ad-hoc, tedious, and error-prone. In addition, these solutions are difficult to customize for different networks and to reuse across different applications. To address these challenges, this paper presents a systematic approach to hardening distributed components to become resilient against network volatility. Specifically, we present an extensible framework for enhancing a distributed component application with the ability to continue executing in the presence of network volatility. To accommodate the diverse hardening needs of various combinations of networks and applications, our framework not only provides a collection of hardening strategies, but also simplifies the creation of new strategies. Our reference implementation, built on top of the R-OSGi infrastructure, is called DR-OSGi. DR-OSGi imposes a very low overhead on the hardened applications, requires no changes to their source code, and is plug-in extensible. Applying DR-OSGi to several realistic distributed applications has hardened them with resiliency to effectively withstand network volatility.

Collaboration


Dive into the Young-Woo Kwon's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Minh Le

Utah State University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

William R. Cook

University of Texas at Austin

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

JongWon Kim

Gwangju Institute of Science and Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Haeyong Chung

University of Alabama in Huntsville

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Qingkai Kong

University of California

View shared research outputs
Researchain Logo
Decentralizing Knowledge