In this paper, we present algorithms and lower bounds for the Longest Increasing Subsequence (LIS) and Longest Common Subsequence (LCS) problems in the data streaming model. For the problem of deciding whether the LIS of a given stream of integers drawn from {1, . . . , m} has length at least k, we discuss a one-pass streaming algorithm using O(k log m) space, with update time either O(log k) or O(log log m). For the problem of returning the actual longest increasing subsequence itself, we give a log(1 + 1/ε) -pass streaming algorithm with update time O(log k) or O(log log m) that uses space O(k1+ε log m), for any ε > 0. We also prove a lower bound of Ω(k) on the space required for any streaming algorithm for LIS, even when the input stream is a permutation of {1, . . . , m}. We discuss a simple LIS-based algorithm for LCS, and we also give several lower bounds on this problem, of which the strongest is the following: when the elements of two n-element streams are presented in...