Frank Uyeda

Frank Uyeda has worked as a software engineer at Google/Alphabet since 2011. Prior to Google, Frank received his Ph.D. in Computer Science from UC San Diego.
Authored Publications
Google Publications
Other Publications
Sort By
  • Title
  • Title, descending
  • Year
  • Year, descending
    SDN in the Stratosphere: Loon's Aerospace Mesh Network
    Marc Alvidrez
    Erik Kline
    Bryce Petrini
    Brian Barritt
    David Mandle
    Aswin Chandy Alexander
    ACM SIGCOMM 2022 Conference (SIGCOMM ’22), ACM(2022) (to appear)
    Preview abstract The Loon project orchestrated a moving mesh network of high-altitude balloons interconnected using point-to-point radio links. Each balloon carried 4G LTE base stations that provided coverage to cellular devices in emergency response and commercial mobile contexts. This paper presents insights from 3 years of operational experience above 3 continents. The challenging environment, comparable to many emerging non-terrestrial networks (NTNs), highlighted the design continuum between predictive optimization and reactive recovery. By forecasting the physical environment as a part of network planning, our novel Temporospatial SDN (TS-SDN) successfully moved from reactive to predictive recovery in many cases. We present insights on the following NTN concerns: connecting meshes of moving nodes using long distance, directional point-to-point links; employing a hybrid network control plane to balance performance and reliability; and understanding the behavior of a complex system that spanned physical and logical domains in an inaccessible environment. The paper validates TS-SDN as a compelling architecture for orchestrating networks of moving platforms and steerable beams, and it provides insights for those building similar networks in the future. View details
    Efficiently measuring bandwidth at all time scales
    Luca Foschini
    Fred Baker
    Subhash Suri
    George Varghese
    8th USENIX Symposium on Networked Systems Design and Implementation (NSDI 11), USENIX(2011)
    Preview abstract The need to identify correlated traffic bursts at various, and especially fine-grain, time scales has become pressing in modern data centers. The combination of Gigabit link speeds and small switch buffers have led to “microbursts”, which cause packet drops and large increases in latency. Our paper describes the design and implementation of an efficient and flexible end-host bandwidth measurement tool that can identify such bursts in addition to providing a number of other features. Managers can query the tool for bandwidth measurements at resolutions chosen after the traffic was measured. The algorithmic challenge is to support such a posteriori queries without retaining the entire trace or keeping state for all time scales. We introduce two aggregation algorithms, Dynamic Bucket Merge (DBM) and Exponential Bucketing (EXPB). We show experimentally that DBM and EXPB implementations in the Linux kernel introduce minimal overhead on applications running at 10 Gbps, consume orders of magnitude less memory than event logging (hundreds of bytes per second versus Megabytes per second), but still provide good accuracy for bandwidth measures at any time scale. Our techniques can be implemented in routers and generalized to detect spikes in the usage of any resource at fine time scales. View details
    What's the difference?: efficient set reconciliation without prior context
    David Eppstein
    Michael T. Goodrich
    George Varghese
    ACM SIGCOMM Computer Communication Review, 41(2011), 218–229
    Preview abstract We describe a synopsis structure, the Difference Digest, that allows two nodes to compute the elements belonging to the set difference in a single round with communication overhead proportional to the size of the difference times the logarithm of the keyspace. While set reconciliation can be done efficiently using logs, logs require overhead for every update and scale poorly when multiple users are to be reconciled. By contrast, our abstraction assumes no prior context and is useful in networking and distributed systems applications such as trading blocks in a peer-to-peer network, and synchronizing link-state databases after a partition. Our basic set-reconciliation method has a similarity with the peeling algorithm used in Tornado codes, which is not surprising, as there is an intimate connection between set difference and coding. Beyond set reconciliation, an essential component in our Difference Digest is a new estimator for the size of the set difference that outperforms min-wise sketches for small set differences. Our experiments show that the Difference Digest is more efficient than prior approaches such as Approximate Reconciliation Trees and Characteristic Polynomial Interpolation. We use Difference Digests to implement a generic KeyDiff service in Linux that runs over TCP and returns the sets of keys that differ between machines. View details