<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/oai-pmh.xsl"?>
<OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
  <responseDate>2026-09-19T15:54:53Z</responseDate>
  <request identifier="oai:www.ideals.illinois.edu:2142/88936" metadataPrefix="etdms" verb="GetRecord">https://www.ideals.illinois.edu/oai-pmh</request>
  <GetRecord>
    <record>
      <header>
        <identifier>oai:www.ideals.illinois.edu:2142/88936</identifier>
        <datestamp>2023-07-11</datestamp>
        <setSpec>col_2142_5131</setSpec>
        <setSpec>col_2142_10761</setSpec>
        <setSpec>com_2142_5130</setSpec>
        <setSpec>com_2142_10755</setSpec>
        <setSpec>com_2142_234</setSpec>
      </header>
      <metadata>
        <thesis xmlns="http://www.ndltd.org/standards/metadata/etdms/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xsi:schemaLocation="http://www.ndltd.org/standards/metadata/etdms/1.1/ http://www.ndltd.org/standards/metadata/etdms/1.1/etdms11.xsd http://purl.org/dc/elements/1.1/ http://www.ndltd.org/standards/metadata/etdms/1.1/etdmsdc.xsd">
          <dc:contributor>Gupta, Indranil</dc:contributor>
          <dc:creator>Subramanyam, Rajath</dc:creator>
          <dc:date>2016-03-02T19:32:55Z</dc:date>
          <dc:date>2016-03-02T19:32:55Z</dc:date>
          <dc:date>2015-08-18</dc:date>
          <dc:date>2015-12</dc:date>
          <dc:description>Distributed key-value stores power the backend of high-performance web services and cloud computing applications. Key-value stores such as Cassandra rely heavily on counters to keep track of the occurrences of various kinds of events. However, today's implementations of counters do not provide exactly-once semantics. A typical scenario is that a client requests a counter increment, times out waiting for a response, and creates a duplicate request, thus resulting in a double increment on the server side. In this thesis, we address this problem by presenting, analyzing, and evaluating a novel server-side data structure called the Forgetful Bloom Filter (FBF). Like a traditional Bloom filter, an FBF is a compact representation of a set of elements (e.g., client requests). However, an FBF is more powerful than a Bloom filter in two aspects: i) it can forget older elements (e.g., requests that are too old to apply), and ii) it is self-adapting under a varying workload. We also present an adaptive variant of FBF that adapts itself to meet a desired false positive rate -- thus the error achieved in the counter can be bounded even as the workload changes. 
We present experimental results from a prototype implementation of FBFs and discuss the implications for a key-value store such as Cassandra. Our results show that the FBF is highly accurate in maintaining correct counter values.</dc:description>
          <dc:description>Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2016-03-02 without embargo terms</dc:description>
          <dc:description>The student, Rajath Subramanyam, accepted the attached license on 2015-08-18 at 07:27.</dc:description>
          <dc:description>The student, Rajath Subramanyam, submitted this Thesis for approval on 2015-08-18 at 07:48.</dc:description>
          <dc:description>This Thesis was approved for publication on 2015-08-18 at 14:19.</dc:description>
          <dc:description>DSpace SAF Submission Ingestion Package generated from Vireo submission #8663 on 2016-03-02 at 12:48:49</dc:description>
          <dc:description>Made available in DSpace on 2016-03-02T19:32:55Z (GMT). No. of bitstreams: 2
SUBRAMANYAM-THESIS-2015.pdf: 691743 bytes, checksum: 7c7193d791a9b02eb3bee930dc7193f3 (MD5)
LICENSE.txt: 4215 bytes, checksum: e47b4a88866528ba565c8ac2dd195b4b (MD5)
  Previous issue date: 2015-08-18</dc:description>
          <dc:format>application/pdf</dc:format>
          <dc:identifier>http://hdl.handle.net/2142/88936</dc:identifier>
          <dc:language>en</dc:language>
          <dc:rights>Copyright 2015 Rajath Subramanyam</dc:rights>
          <dc:subject>Distributed Key-Value/NoSQL Storage Systems</dc:subject>
          <dc:subject>Bloom Filter</dc:subject>
          <dc:subject>Exactly-once Semantics</dc:subject>
          <dc:title>Idempotent distributed counters using a Forgetful Bloom Filter</dc:title>
          <dc:type>text</dc:type>
          <dc:type>text</dc:type>
          <degree>
            <department>Computer Science</department>
            <discipline>Computer Science</discipline>
            <grantor>University of Illinois at Urbana-Champaign</grantor>
            <level>Thesis</level>
            <name>M.S.</name>
          </degree>
        </thesis>
      </metadata>
    </record>
  </GetRecord>
</OAI-PMH>
