Ho-Leung Chan
University of Hong Kong
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Ho-Leung Chan.
symposium on discrete algorithms | 2009
Nikhil Bansal; Ho-Leung Chan; Kirk Pruhs
All of the theoretical speed scaling research to date has assumed that the power function, which expresses the power consumption P as a function of the processor speed s, is of the form P = sα, where α > 1 is some constant. Motivated in part by technological advances, we initiate a study of speed scaling with arbitrary power functions. We consider the problem of minimizing the total flow plus energy. Our main result is a (3+e)-competitive algorithm for this problem, that holds for essentially any power function. We also give a (2+e)-competitive algorithm for the objective of fractional weighted flow plus energy. Even for power functions of the form sα, it was not previously known how to obtain competitiveness independent of α for these problems. We also introduce a model of allowable speeds that generalizes all known models in the literature.
ACM Transactions on Algorithms | 2007
Ho-Leung Chan; Wing-Kai Hon; Tak Wah Lam; Kunihiko Sadakane
Let <i>T</i> be a string with <i>n</i> characters over an alphabet of constant size. A recent breakthrough on compressed indexing allows us to build an index for <i>T</i> in optimal space (i.e., <i>O</i>(<i>n</i>) bits), while supporting very efficient pattern matching [Ferragina and Manzini 2000; Grossi and Vitter 2000]. Yet the compressed nature of such indexes also makes them difficult to update dynamically. This article extends the work on optimal-space indexing to a dynamic collection of texts. Our first result is a compressed solution to the <i>library management</i> problem, where we show an index of <i>O</i>(<i>n</i>) bits for a text collection <i>L</i> of total length <i>n</i>, which can be updated in <i>O</i>(|<i>T</i>| log <i>n</i>) time when a text <i>T</i> is inserted or deleted from <i>L</i>; also, the index supports searching the occurrences of any pattern <i>P</i> in all texts in <i>L</i> in <i>O</i>(|<i>P</i>| log <i>n</i> + <i>occ</i> log<sup>2</sup> <i>n</i>) time, where <i>occ</i> is the number of occurrences. Our second result is a compressed solution to the <i>dictionary matching</i> problem, where we show an index of <i>O</i>(<i>d</i>) bits for a pattern collection <i>D</i> of total length <i>d</i>, which can be updated in <i>O</i>(|<i>P</i>| log<sup>2</sup> <i>d</i>) time when a pattern <i>P</i> is inserted or deleted from <i>D</i>; also, the index supports searching the occurrences of all patterns of <i>D</i> in any text <i>T</i> in <i>O</i>((|<i>T</i>| + <i>occ</i>)log<sup>2</sup> <i>d</i>) time. When compared with the <i>O</i>(<i>d</i> log <i>d</i>)-bit suffix-tree-based solution of Amir et al. [1995], the compact solution increases the query time by roughly a factor of log <i>d</i> only. The solution to the dictionary matching problem is based on a new compressed representation of a suffix tree. Precisely, we give an <i>O</i>(<i>n</i>)-bit representation of a suffix tree for a dynamic collection of texts whose total length is <i>n</i>, which supports insertion and deletion of a text <i>T</i> in <i>O</i>(|<i>T</i>| log<sup>2</sup> <i>n</i>) time, as well as all suffix tree traversal operations, including forward and backward suffix links. This work can be regarded as a generalization of the compressed representation of static texts. In the study of the aforementioned result, we also derive the first <i>O</i>(<i>n</i>)-bit representation for maintaining <i>n</i> pairs of balanced parentheses in <i>O</i>(log <i>n</i>/log log <i>n</i>) time per operation, matching the time complexity of the previous <i>O</i>(<i>n</i> log <i>n</i>)-bit solution.
Theory of Computing | 2012
Nikhil Bansal; Ho-Leung Chan; Dmitriy Katz; Kirk Pruhs
Speed scaling is a power management technology that involves dynamically changing the speed of a processor. This technology gives rise to dual-objective scheduling problems, where the operating system both wants to conserve energy and optimize some Quality of Service (QoS) measure of the resulting schedule. In the most investigated speed scaling problem in the literature, the QoS constraint is deadline feasibility, and the objective is to minimize the energy used. The standard assumption is that the processor power is of the form s^a where s is the processor speed, and a>1 is some constant; a˜3 for CMOS based processors. In this paper we introduce and analyze a natural class of speed scaling algorithms, that we call qOA. The algorithm qOA sets the speed of the processor to be q times the speed that the optimal offline algorithm would run the jobs in the current state. When a=3, we show that qOA is 6.7-competitive, improving upon the previous best guarantee of 27 achieved by the algorithm Optimal Available (OA). We also give almost matching upper and lower bounds for qOA for general a. Finally, we give the first non-trivial lower bound, namely e^(a-1) / a, on the competitive ratio of a general deterministic online algorithm for this problem.
international symposium on parallel architectures algorithms and networks | 2004
Eric Yt Chan; Ho-Leung Chan; K. M. Chan; Vivien P. S. Chan; Samuel T. Chanson; Matthew M. H. Cheung; C. F. Chong; K. P. Chow; Albert K. T. Hui; Lucas Chi Kwong Hui; Luke C. K. Lam; Wing‐fai Lau; Kevin K. H. Pun; Anthony Y. F. Tsang; Wai Wan Tsang; Sam C. W. Tso; Dit Yan Yeung; Kwun Yin Yu
Distributed denial-of-service (DDoS) attack has turned into one of the major security threats in recent years. Usually the only solution is to stop the services or shut down the victim and then discard the attack traffic only after the DDoS attack characteristics (such as the destination ports of the attack packets) are known. In this paper, we introduce a generic DDoS attack detection mechanism as well as the design and setup of a testbed for performing experiments and analysis. Our results showed that the mechanism can detect DDoS attack. This enables us to proceed to the next steps of packet classification and traffic control.
wireless communications and networking conference | 2005
Ai Fen Sui; Lucas Chi Kwong Hui; Siu-Ming Yiu; K. P. Chow; Wai Wan Tsang; C. F. Chong; Kevin K. H. Pun; Ho-Leung Chan
To provide secure communication for mobile devices, an authenticated key agreement protocol is an important primitive for establishing session keys. However, most existing authenticated key agreement protocols are not designed for wireless mobile communication for which bandwidth and device storage capacity are limited. Also, as mobile devices are more vulnerable to attack, providing forward secrecy becomes an essential element in the protocol. Based on Seo and Sweeneys simple authenticated key agreement algorithm (SAKA), we develop an improved authenticated key agreement protocol that eliminates the disadvantages of SAKA and provides identity authentication, key validation, and perfect forward secrecy. Also, our protocol can foil man-in-the-middle attacks. We also show how our proposed protocol can be included in the current 3GPP2 specifications for OTASP to improve A-key (authentication key) distribution, which is the master key in IS-95 and cdma2000 mobile networks. The proposed protocol requires significantly less bandwidth, and less computational and storage overhead, while having higher security compared to 3GPP2 specifications. The proposed protocol can also be applied to other wireless communication scenarios.
ACM Transactions on Algorithms | 2009
Ho-Leung Chan; Joseph Chan; Tak Wah Lam; Lap-Kei Lee; Kin-Sum Mak; Prudence W. H. Wong
This article extends the study of online algorithms for energy-efficient deadline scheduling to the overloaded setting. Specifically, we consider a processor that can vary its speed between 0 and a maximum speed T to minimize its energy usage (the rate is believed to be a cubic function of the speed). As the speed is upper bounded, the processor may be overloaded with jobs and no scheduling algorithms can guarantee to meet the deadlines of all jobs. An optimal schedule is expected to maximize the throughput, and furthermore, its energy usage should be the smallest among all schedules that achieve the maximum throughput. In designing a scheduling algorithm, one has to face the dilemma of selecting more jobs and being conservative in energy usage. If we ignore energy usage, the best possible online algorithm is 4-competitive on throughput [Koren and Shasha 1995]. On the other hand, existing work on energy-efficient scheduling focuses on a setting where the processor speed is unbounded and the concern is on minimizing the energy to complete all jobs; O(1)-competitive online algorithms with respect to energy usage have been known [Yao et al. 1995; Bansal et al. 2007a; Li et al. 2006]. This article presents the first online algorithm for the more realistic setting where processor speed is bounded and the system may be overloaded; the algorithm is O(1)-competitive on both throughput and energy usage. If the maximum speed of the online scheduler is relaxed slightly to (1+&epsis;)T for some &epsis; > 0, we can improve the competitive ratio on throughput to arbitrarily close to one, while maintaining O(1)-competitiveness on energy usage.
symposium on theoretical aspects of computer science | 2009
Ho-Leung Chan; Jeff Edmonds; Tak Wah Lam; Lap-Kei Lee; Alberto Marchetti-Spaccamela; Kirk Pruhs
We study online nonclairvoyant speed scaling to minimize total flow time plus energy. We first consider the traditional model where the power function is
international conference on parallel and distributed systems | 2005
Ai Fen Sui; Sherman S. M. Chow; Lucas Chi Kwong Hui; Siu-Ming Yiu; K. P. Chow; Wai Wan Tsang; C. F. Chong; Kevin K. H. Pun; Ho-Leung Chan
P(s)=s^\alpha
combinatorial pattern matching | 2004
Ho-Leung Chan; Wing-Kai Hon; Tak Wah Lam
. We give a nonclairvoyant algorithm that is shown to be
symposium on discrete algorithms | 2004
Ho-Leung Chan; Tak Wah Lam; Kar-Keung To
O(\alpha^3)