<?xml version="1.0" encoding="UTF-8"?>
<rfc ipr="trust200902"
     category="info"
     submissionType="independent"
     docName="draft-sogomonian-aiip-architecture-00"
     version="3">

  <front>
    <title xml:lang="en" abbrev="AIIP Architecture">Architecture for the AI Internet Protocol (AIIP)</title>
    <author fullname="Aram Sogomonian" initials="A." surname="Sogomonian">
      <organization>Artificial Intelligence Internet Foundation (AIIF)</organization>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>waterbottling@icloud.com</email>
      </address>
    </author>
    <date year="2025" month="September" day="28"/>
    <abstract>
      <t>
        This document describes a non-normative architecture for the AI Internet Protocol (AIIP),
        centered on the "ai" URI scheme. It focuses on a direct connection model for robots,
        devices, and software agents to communicate natively over AIIP.
      </t>
    </abstract>
  </front>

  <middle>
    <section anchor="introduction" title="Introduction">
      <t>
        This document introduces the architecture for the AI Internet Protocol (AIIP),
        which defines mechanisms and naming structures for AI-centric communication
        using the "ai" URI scheme. It outlines the motivation, scope, and structure
        of the protocol and provides a foundation for discussion and refinement within
        the IETF. The AIIP aims to enable standardized AI-native addressing and
        interaction models on top of existing Internet infrastructure.
      </t>
      <t>
        AI-enabled systems such as robots, devices, and intelligent software agents
        connect to and interact with Internet resources by initiating interactions
        using "ai://" identifiers. Resources and capabilities are identified and
        resolved using the AIIP model, allowing a consistent, verifiable invocation
        flow across heterogeneous networks and deployments.
      </t>
      <t>
        This work aligns with the URI framework defined in <xref target="RFC3986"/>
        and follows the URI scheme registration procedures in <xref target="RFC7595"/>.
      </t>
      <t>
        The key words <strong>MUST</strong>, <strong>MUST NOT</strong>, <strong>REQUIRED</strong>, <strong>SHALL</strong>,
        <strong>SHALL NOT</strong>, <strong>SHOULD</strong>, <strong>SHOULD NOT</strong>, <strong>RECOMMENDED</strong>,
        <strong>MAY</strong>, and <strong>OPTIONAL</strong> in this document are to be interpreted as described in BCP 14
        <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.
      </t>
    </section>

    <section anchor="terminology" title="Terminology">
      <t><strong>AIIP:</strong> The AI Internet Protocol described in this document.</t>
      <t><strong>AI System:</strong> A robot, device, or software agent that produces or consumes AI capabilities.</t>
      <t><strong>Manifest:</strong> Signed metadata describing identity, capabilities, and endpoints for invocation.</t>
    </section>

    <section anchor="direct-connection" title="AI Systems and Robots Direct Connection">
      <t>
        AI systems (robots, devices, agents) <strong>SHOULD</strong> initiate interactions using "ai://" identifiers.
        Implementations treat the identifier as the primary handle for discovery and invocation and avoid
        embedding deployment-specific hostnames in application logic. This improves portability and enables
        consistent policy enforcement and auditing.
      </t>
      <t>
        AIIP operates at the application or protocol layer and is transport-agnostic. Implementations
        <strong>MAY</strong> use any suitable underlying network transport, including wired broadband, 4G or 5G cellular,
        satellite constellations, or private networks, provided the chosen transport satisfies deployment
        requirements for latency, throughput, and security.
      </t>
      <t>
        Devices <strong>SHOULD</strong> embed a resolver client, maintain trust anchors for verifying manifest signatures,
        and implement local policy for consent when capabilities imply risk (for example, payments, physical actuation,
        or signing). Implementations <strong>SHOULD</strong> define canonicalization and percent-encoding rules to avoid
        confusion during signature verification and policy checks.
      </t>
    </section>

    <section anchor="example-flow" title="Example Connection Flow">
      <t>The following illustrative flow shows direct connection and resolution:</t>
      <figure>
        <artwork><![CDATA[
AI System (robot123)     Resolution Service      Service Endpoint
---------------------     -----------------      -----------------
1) ai://robot123.factory/global-task
2) Resolve -> Signed Manifest
3) Invoke per manifest
        ]]></artwork>
      </figure>
      <t>
        Example identifier (non-normative):
      </t>
      <figure>
        <artwork><![CDATA[
ai://robot123.factory/global-task
        ]]></artwork>
      </figure>
      <t>
        Resolution yields a signed manifest describing publisher identity, verification keys,
        capabilities (for example, "actuate", "inspect"), and one or more endpoints
        (for example, HTTPS URL or MQTT topic). The client verifies the manifest, selects
        an endpoint, and proceeds with invocation according to local policy.
      </t>
    </section>

    <section anchor="security" title="Security Considerations">
      <t>
        Manifests <strong>SHOULD</strong> be integrity-protected and attributable (for example, JOSE or COSE signatures).
        Clients maintain trust anchors, perform expiry and revocation checks, and log resolutions
        and invocations for audit where appropriate. User interfaces for human-in-the-loop scenarios
        <strong>SHOULD</strong> present verified publisher identity and capability prompts when risk is material.
      </t>
      <t>
        Implementers <strong>SHOULD</strong> avoid embedding personal data in clear-text identifier components
        and prefer passing sensitive attributes within protected session channels. Canonicalization
        rules <strong>SHOULD</strong> be defined to mitigate spoofing and confusion attacks.
      </t>
    </section>

    <section anchor="iana" title="IANA Considerations">
      <t>This document makes no requests of IANA.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <reference anchor="RFC3986" target="https://www.rfc-editor.org/info/rfc3986">
        <front>
          <title>Uniform Resource Identifier (URI): Generic Syntax</title>
          <author initials="T." surname="Berners-Lee" fullname="Tim Berners-Lee"/>
          <author initials="R." surname="Fielding" fullname="Roy T. Fielding"/>
          <author initials="L." surname="Masinter" fullname="Larry Masinter"/>
          <date year="2005" month="January"/>
        </front>
        <seriesInfo name="RFC" value="3986"/>
      </reference>
      <reference anchor="RFC7595" target="https://www.rfc-editor.org/info/rfc7595">
        <front>
          <title>Guidelines and Registration Procedures for URI Schemes</title>
          <author initials="D." surname="Thaler" fullname="Dave Thaler"/>
          <author initials="T." surname="Hansen" fullname="Tony Hansen"/>
          <author initials="T." surname="Hardie" fullname="Ted Hardie"/>
          <date year="2015" month="June"/>
        </front>
        <seriesInfo name="RFC" value="7595"/>
      </reference>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author initials="S." surname="Bradner" fullname="Scott Bradner"/>
          <date year="1997" month="March"/>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
      </reference>
      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author initials="B." surname="Leiba" fullname="Barry Leiba"/>
          <date year="2017" month="May"/>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
      </reference>
    </references>
  </back>
</rfc>
