{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-17T00:36:33.031Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC7149",
  "document": {
    "abstract": "Software-Defined Networking (SDN) has been one of the major buzz words of the networking industry for the past couple of years. And yet, no clear definition of what SDN actually covers has been broadly admitted so far. This document aims to clarify the SDN landscape by providing a perspective on requirements, issues, and other considerations about SDN, as seen from within a service provider environment. It is not meant to endlessly discuss what SDN truly means but rather to suggest a functional taxonomy of the techniques that can be used under an SDN umbrella and to elaborate on the various pending issues the combined activation of such techniques inevitably raises. As such, a definition of SDN is only mentioned for the sake of clarification.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7149/",
      "updated": "2026-10-16T20:45:58.562Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "authors": [
      {
        "name": "Mohamed Boucadair"
      },
      {
        "name": "Christian Jacquenet"
      }
    ],
    "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/rfc7149/",
      "updated": "2026-10-16T20:45:58.562Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "docId": "RFC7149",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7149/",
      "updated": "2026-10-16T20:45:58.562Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "docLabel": "IETF RFC 7149",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7149/",
      "updated": "2026-10-16T20:45:58.562Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "docNumber": "7149",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7149/",
      "updated": "2026-10-16T20:45:58.562Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "docTitle": "Software-Defined Networking: A Perspective from within a Service Provider Environment",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7149/",
      "updated": "2026-10-16T20:45:58.562Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "docType": "Informational",
    "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/rfc7149/",
      "updated": "2026-10-16T20:45:58.562Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "doi": "10.17487/RFC7149",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7149/",
      "updated": "2026-10-16T20:45:58.562Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "href": "https://doi.org/10.17487/RFC7149",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7149/",
      "updated": "2026-10-16T20:45:58.562Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "keywords": [
      "Network Automation",
      "Connectivity Provisioning",
      "Service Parameter Exposure",
      "Dynamic Negotiation",
      "Dynamic Service Provisioning",
      "Autonomic"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": [
        "Network Automation",
        "Policy Management",
        "Connectivity Provisioning",
        "Service Parameter Exposure",
        "Dynamic Negotiation",
        "Dynamic Service Provisioning",
        "Autonomic",
        "Programmable Networks"
      ],
      "overridden": true,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7149/",
      "updated": "2026-10-17T00:36:33.031Z",
      "version": "extractDocs.js@commit:e15f05a0bdbb"
    },
    "pages": "20",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7149/",
      "updated": "2026-10-16T20:45:58.562Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "publicationDate": "2014-03-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7149/",
      "updated": "2026-10-16T20:45:58.562Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7149/",
      "updated": "2026-10-16T20:45:58.562Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "references": {
      "bibliographic": [
        "RFC1383",
        "RFC2622",
        "RFC2753",
        "RFC3084",
        "RFC4655",
        "RFC5440",
        "RFC5810",
        "RFC5812",
        "RFC6241",
        "RFC6291",
        "orphan/RFC7149/h:1844c77e",
        "orphan/RFC7149/h:82a4778f",
        "orphan/RFC7149/h:396128ac",
        "orphan/RFC7149/h:53471d36",
        "orphan/RFC7149/h:054a4ce8",
        "orphan/RFC7149/h:af89f792",
        "orphan/RFC7149/h:5a8a249b",
        "orphan/RFC7149/h:cf332cf5"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=18 proseBlocks=26 skippedAnchorBlocks=20",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7149/",
        "updated": "2026-10-16T20:45:58.562Z",
        "version": "extractDocs.js@commit:2c3b1db1b97b"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc7149/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7149/",
      "updated": "2026-10-16T20:45:58.562Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7149/",
        "updated": "2026-10-16T20:45:58.562Z",
        "version": "extractDocs.js@commit:2c3b1db1b97b"
      },
      "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/rfc7149/",
        "updated": "2026-10-16T20:45:58.562Z",
        "version": "extractDocs.js@commit:2c3b1db1b97b"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7149/",
        "updated": "2026-10-16T20:45:58.562Z",
        "version": "extractDocs.js@commit:2c3b1db1b97b"
      },
      "statusNote": "Informational",
      "statusNote$meta": {
        "confidence": "high",
        "note": "Mapped from Datatracker doc.json std_level",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7149/",
        "updated": "2026-10-16T20:45:58.562Z",
        "version": "extractDocs.js@commit:2c3b1db1b97b"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7149/",
        "updated": "2026-10-16T20:45:58.562Z",
        "version": "extractDocs.js@commit:2c3b1db1b97b"
      }
    }
  }
}