{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-13T18:20:20.863Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC3517",
  "document": {
    "abstract": "This document presents a conservative loss recovery algorithm for TCP that is based on the use of the selective acknowledgment (SACK) TCP option. The algorithm presented in this document conforms to the spirit of the current congestion control specification (RFC 2581), but allows TCP senders to recover more effectively when multiple segments are lost from a single flight of data. [STANDARDS-TRACK]",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3517/",
      "updated": "2026-10-13T18:20:20.863Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "authors": [
      {
        "name": "Ethan Blanton"
      },
      {
        "name": "Mark Allman"
      },
      {
        "name": "Kevin Fall"
      },
      {
        "name": "Lili Wang"
      }
    ],
    "authors$meta": {
      "confidence": "high",
      "note": "Parsed from Datatracker doc page article:author (profile full names)",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3517/",
      "updated": "2026-10-13T18:20:20.863Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docId": "RFC3517",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3517/",
      "updated": "2026-10-13T18:20:20.863Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docLabel": "IETF RFC 3517",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3517/",
      "updated": "2026-10-13T18:20:20.863Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docNumber": "3517",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3517/",
      "updated": "2026-10-13T18:20:20.863Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docTitle": "A Conservative Selective Acknowledgment (SACK)-based Loss Recovery Algorithm for TCP",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3517/",
      "updated": "2026-10-13T18:20:20.863Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docType": "Standard",
    "docType$meta": {
      "confidence": "high",
      "note": "Mapped from Datatracker std_level or RFC status text",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3517/",
      "updated": "2026-10-13T18:20:20.863Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "doi": "10.17487/RFC3517",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3517/",
      "updated": "2026-10-13T18:20:20.863Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "href": "https://doi.org/10.17487/RFC3517",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3517/",
      "updated": "2026-10-13T18:20:20.863Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "keywords": [
      "TCP",
      "Retransmission",
      "Congestion Control"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3517/",
      "updated": "2026-10-13T18:20:20.863Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "pages": "13",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3517/",
      "updated": "2026-10-13T18:20:20.863Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "publicationDate": "2003-04-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3517/",
      "updated": "2026-10-13T18:20:20.863Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3517/",
      "updated": "2026-10-13T18:20:20.863Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "references": {
      "bibliographic": [
        "RFC2582",
        "RFC2914",
        "RFC2988",
        "RFC3042",
        "orphan/RFC3517/h:34c27d1e",
        "orphan/RFC3517/h:c774a667",
        "orphan/RFC3517/h:d13c20d6",
        "orphan/RFC3517/h:15c1f8a1",
        "orphan/RFC3517/h:e6b56d7a"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=15 proseBlocks=17 skippedAnchorBlocks=15",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3517/",
        "updated": "2026-10-13T18:20:20.863Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "normative": [
        "RFC793",
        "RFC2018",
        "RFC2026",
        "RFC2119",
        "RFC2581"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3517/",
        "updated": "2026-10-13T18:20:20.863Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc3517/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3517/",
      "updated": "2026-10-13T18:20:20.863Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "status": {
      "active": false,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3517/",
        "updated": "2026-10-13T18:20:20.863Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "errataExist": false,
      "errataExist$meta": {
        "confidence": "high",
        "note": "Derived from presence of errata links on RFC/Datatracker pages",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3517/",
        "updated": "2026-10-13T18:20:20.863Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "latestVersion": false,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3517/",
        "updated": "2026-10-13T18:20:20.863Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "statusNote": "Proposed Standard",
      "statusNote$meta": {
        "confidence": "high",
        "note": "Mapped from Datatracker doc.json std_level",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3517/",
        "updated": "2026-10-13T18:20:20.863Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "superseded": true,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3517/",
        "updated": "2026-10-13T18:20:20.863Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "supersededBy": [
        "RFC6675"
      ],
      "supersededBy$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3517/",
        "updated": "2026-10-13T18:20:20.863Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      }
    }
  }
}