{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-20T22:12:43.396Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC9439",
  "document": {
    "abstract": "The cost metric is a basic concept in Application-Layer Traffic Optimization (ALTO), and different applications may use different types of cost metrics. Since the ALTO base protocol (RFC 7285) defines only a single cost metric (namely, the generic \"routingcost\" metric), if an application wants to issue a cost map or an endpoint cost request in order to identify a resource provider that offers better performance metrics (e.g., lower delay or loss rate), the base protocol does not define the cost metric to be used. This document addresses this issue by extending the specification to provide a variety of network performance metrics, including network delay, delay variation (a.k.a. jitter), packet loss rate, hop count, and bandwidth. There are multiple sources (e.g., estimations based on measurements or a Service Level Agreement) available for deriving a performance metric. This document introduces an additional \"cost-context\" field to the ALTO \"cost-type\" field to convey the source of a performance metric.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9439/",
      "updated": "2026-10-20T21:47:49.067Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "authors": [
      {
        "name": "Qin Wu"
      },
      {
        "name": "Y. Richard Yang"
      },
      {
        "name": "Young Lee"
      },
      {
        "name": "Dhruv Dhody"
      },
      {
        "name": "Sabine Randriamasy"
      },
      {
        "name": "Luis M. Contreras"
      }
    ],
    "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/rfc9439/",
      "updated": "2026-10-20T21:47:49.067Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docId": "RFC9439",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9439/",
      "updated": "2026-10-20T21:47:49.067Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docLabel": "IETF RFC 9439",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9439/",
      "updated": "2026-10-20T21:47:49.067Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docNumber": "9439",
    "docNumber$meta": {
      "confidence": "high",
      "note": "From the RFC index entry (rfc-index.xml <doc-id>)",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9439/",
      "updated": "2026-10-20T21:47:49.067Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docTitle": "Application-Layer Traffic Optimization (ALTO) Performance Cost Metrics",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9439/",
      "updated": "2026-10-20T21:47:49.067Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "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/rfc9439/",
      "updated": "2026-10-20T21:47:49.067Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "doi": "10.17487/RFC9439",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9439/",
      "updated": "2026-10-20T21:47:49.067Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "href": "https://doi.org/10.17487/RFC9439",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9439/",
      "updated": "2026-10-20T21:47:49.067Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "keywords": [
      "JSON",
      "ALTO"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": [
        "JSON",
        "Application-Layer Traffic Optimization"
      ],
      "overridden": true,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9439/",
      "updated": "2026-10-20T22:12:43.396Z",
      "version": "extractDocs.js@commit:301bfdf288d8"
    },
    "pages": "35",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9439/",
      "updated": "2026-10-20T21:47:49.067Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "publicationDate": "2023-08-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9439/",
      "updated": "2026-10-20T21:47:49.067Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9439/",
      "updated": "2026-10-20T21:47:49.067Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "references": {
      "bibliographic": [
        "10.1145-3366707",
        "10.1109-TNET.2020.3016838",
        "IETF.draft-corre-quic-throughput-testing-00",
        "RFC2330",
        "RFC2681",
        "RFC3393",
        "RFC5357",
        "RFC7679",
        "RFC7971",
        "RFC9000",
        "orphan/RFC9439/h:fbb06e67",
        "orphan/RFC9439/h:f5586180"
      ],
      "bibliographic$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9439/",
        "updated": "2026-10-20T21:47:49.067Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "normative": [
        "RFC2119",
        "RFC3630",
        "RFC5305",
        "RFC6390",
        "RFC7285",
        "RFC7471",
        "RFC8126",
        "RFC8174",
        "RFC8259",
        "RFC8446",
        "RFC8570",
        "RFC8571",
        "RFC8895",
        "RFC9110",
        "RFC9438",
        "orphan/RFC9439/h:799ab389"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9439/",
        "updated": "2026-10-20T21:47:49.067Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc9439/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9439/",
      "updated": "2026-10-20T21:47:49.067Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9439/",
        "updated": "2026-10-20T21:47:49.067Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "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/rfc9439/",
        "updated": "2026-10-20T21:47:49.067Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9439/",
        "updated": "2026-10-20T21:47:49.067Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "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/rfc9439/",
        "updated": "2026-10-20T21:47:49.067Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9439/",
        "updated": "2026-10-20T21:47:49.067Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      }
    }
  }
}