Biography:
I am currently a Ph.D. candidate at the CS department at the University of Illinois at Urbana-Champaign. I am a member of the MONET research group and my advisor is Prof. Klara Nahrstedt.
I received my BE degree from the University of Science and Technology of China in 1998 and ME degree from the Institute of Software, Chinese Academy of Sciences in 2001, both in computer science.
I have graduated in August 2007 and joined Google.
Research:
My research interest is broadly in the area of distributed computing systems, operating systems and multimedia networking. Currently my research focuses on achieving scalability, reliability, dependability and QoS/performance for various large scale applications, using peer-to-peer (P2P) or hybrid approaches. Two specific applications I have looked are distributed system/application management and P2P live media streaming.
-
Management Overlay Networks (MON)
MON is a simple, lightweight and reliable system for dynamic distributed application management. The goal is to provide application managers the ability to dynamically set up an overlay network among an existing set of nodes to carry out some unplanned, unforeseen management tasks such as instant status query and control. To support such tasks, MON adopts a novel on-demand approach. An overlay is built only when some tasks need to be executed, and it is discarded as soon as the tasks are finished. This allows MON to be extremely simple, since there is no need to repair complex failures.
To make on-demand overlays dependable, we have designed a novel two phase overlay construction algorithm and several additional techniques that can achieve more than 99% coverage for more than 300 nodes on the PlanetLab, with a response time of just a couple of seconds.
MON is currently deployed on the PlanetLab and is listed as one of the infrastructure services on the PlanetLab. - Self-Configuring Information Management (InfoEye)
Large distributed systems may have huge amount of dynamic information that is useful for system management. Continuously monitoring all information may result in high management overhead. InfoEye is a system that utilizes application query patterns for efficient information management. Specifically, it dynamically infers the application query patterns, and adaptively configures the monitoring daemons to only push the frequently queried information. For less popular information, some on-demand approaches (e.g., MON) are used to obtain the information whenever needed. This can greatly reduce the information management overhead and improve the scalability of the management system. - Locality Aware and Failure Resilient P2P Streaming (DagStream)
DagStream is a live P2P streaming system based on DAG (direct acyclic graph) overlays. A DAG overlay combines the benefits of trees and meshes, which are commonly used in existing systems. Compared with a tree, a DAG allows nodes to simultaneously stream media data from multiple parents. Thus it is resilient to individual parent failures. Compared with a mesh, a DAG overlay has provable network connectivity and path diversity. As a result, peers can individually choose parents based on network locality without fearing network partitioning. This allows DagStream to be network efficient, since most media data are streamed from nearby peers. Remote peers are contacted only when nearby peers cannot provide the necessary bandwidth. - QoS Aware Membership Service for P2P Applications (RandPeer)
RandPeer is a control plane service that manages membership information in a QoS aware fashion for P2P applications. Specifically, peers in a P2P application can register their information with RandPeer, which in turn clusters the peers based on their QoS characteristics. When a peer experiences neighbor failure, it can query RandPeer to quickly locate an alternative neighbor with desirable QoS characteristics, thus minimizing the impact of neighbor failures, which is common in P2P environment.
The use of control plane services represents a hybrid design approach that is no longer pure P2P. Such an approach has several advantages, including simplification of the application design and sharing of the same service among multiple applications. The Chubby lock service designed by Google is in fact a control plane service used by multiple Google applications.
Publications:
A complete list is available here.- Jin Liang, Xiaohui Gu and Klara Nahrstedt, "Self-Configuring Information Management for Large-Scale Service Overlays", the IEEE 26th Annual Computer and Communications Conference (INFOCOM 2007), May 2007 (18%)
- Jin Liang and Klara Nahrstedt, "RandPeer: Membership Management for QoS Sensitive Peer-to-Peer Applications", the IEEE 25th Annual Computer and Communications Conference (INFOCOM 2006), April 2006 (18%)
- Jin Liang and Klara Nahrstedt, "DagStream: Locality Aware and Failure Resilient Peer-to-Peer Streaming", the 13th SPIE/ACM Multimedia Computing and Networking Conference (MMCN'06), January 2006 (20%)
- Jin Liang, Steven Ko, Indranil Gupta and Klara Nahrstedt, "MON: On-demand Overlays for Distributed System Management", the 2nd USENIX Workshop on Real, Large Distributed Systems (WORLDS'05) December 2005
- Jin Liang and Klara Nahrstedt, "Service Composition for Advanced Multimedia Applications", the 12th SPIE/ACM Multimedia Computing and Networking (MMCN'05), January 2005 (24%)
- Jin Liang, Klara Nahrstedt and Yuanyuan Zhou, "Adaptive Multi-Resource Prediction in a Distributed Resource Sharing Environment", the 4th IEEE/ACM Symposium on Cluster Computing and the Grid (CCGrid'04), April 2004 (27%)
Software and Services:
- MON is currently running on the PlanetLab. We have a web interface for dynamic PlanetLab status query using MON. It is also listed as one of the infrastructure services on the PlanetLab.
- InfoEye also has a web interface for resource discovery on the PlanetLab. This is mainly for range queries, and no overlay network is involved.
- Most of my projects are implemented using a single thread, event-driven framework called PPF (Protocol Plug-in Framework). Using this framework, application developers only need to write the protocol code once, and it can run in both simulation and real world mode. In simulation mode, time and network can be separately simulated. The source code of PPF will be available here soon.