Network Working Group                                            A. Ryan
Internet-Draft                                        Limelight Networks
Updates: 8006,8008 (if approved)                            B. Rosenblum
Intended status: Standards Track                                  Vecima
Expires: January 6, 2022                                       N. Sopher
                                                                   Qwilt
                                                            July 5, 2021


       CDNI Capacity Insights Capability Advertisment Extensions
            draft-ryan-cdni-capacity-insights-extensions-00

Abstract

   Open Caching architecture is a use case of Content Delivery Networks
   Interconnection (CDNI) in which the commercial Content Delivery
   Network (CDN) is the upstream CDN (uCDN) and the ISP caching layer
   serves as the downstream CDN (dCDN).  This document supplements to
   the CDNI Capability Objects defined in RFC 8008 and CDNI Metadata
   Objects in RFC 8006.  The defined Capability Objects structure and
   interface for advertisments and managment of a downstream CDN
   capacity.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on January 6, 2022.

Copyright Notice

   Copyright (c) 2021 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of



Ryan, et al.             Expires January 6, 2022                [Page 1]


Internet-DraCDNI Capacity Insights Capability Advertisment Ex  July 2021


   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   3
     1.2.  Requirements Language . . . . . . . . . . . . . . . . . .   4
   2.  CDNI Additonal Capability Objects . . . . . . . . . . . . . .   4
     2.1.  Telemetry Capability Object . . . . . . . . . . . . . . .   4
       2.1.1.  Telemetry Source Object . . . . . . . . . . . . . . .   4
         2.1.1.1.  Telemetry Source Types  . . . . . . . . . . . . .   5
         2.1.1.2.  Telemetry Source Metric Object  . . . . . . . . .   5
       2.1.2.  Telemetry Capability Object Serialization . . . . . .   6
     2.2.  CapacityLimits Capability Object  . . . . . . . . . . . .   7
       2.2.1.  Capacity Limit Object . . . . . . . . . . . . . . . .   8
         2.2.1.1.  Capacity Limit Types  . . . . . . . . . . . . . .   9
         2.2.1.2.  Capacity Limit Telemetry Source  Object . . . . .   9
       2.2.2.  Capacity Limit Object Serialization . . . . . . . . .  10
     2.3.  RequestedCapacityLimits Object  . . . . . . . . . . . . .  11
       2.3.1.  Requsted Limits Object  . . . . . . . . . . . . . . .  11
       2.3.2.  Telemetry Capability Object Serialization . . . . . .  12
   3.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  13
     3.1.  CDNI Payload Types  . . . . . . . . . . . . . . . . . . .  13
       3.1.1.  CDNI FCI Telemetry Payload Type . . . . . . . . . . .  14
       3.1.2.  CDNI FCI Capacity Limits Payload Type . . . . . . . .  14
       3.1.3.  CDNI MI Requested Capacity Limits Payload Type  . . .  14
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .  14
   5.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  15
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  15
     6.1.  Normative References  . . . . . . . . . . . . . . . . . .  15
     6.2.  Informative References  . . . . . . . . . . . . . . . . .  15
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  16

1.  Introduction

   The Streaming Video Alliance [SVA] is a global association that works
   to solve streaming video challenges in an effort to improve end-user
   experience and adoption.  The Open Caching Working Group [OCWG] of
   the Streaming Video Alliance [SVA] is focused on the delegation of
   video delivery requests from commerical CDNs to a caching layer at
   the ISP's network.  Open Caching architecture is a specific use case
   of CDNI where the commercial CDN is the upstream CDN (uCDN) and the
   ISP caching layer is the downstream CDN (dCDN).  While delegating



Ryan, et al.             Expires January 6, 2022                [Page 2]


Internet-DraCDNI Capacity Insights Capability Advertisment Ex  July 2021


   traffic from one CDN to the other, it is important to make sure that
   an appropriate amount of traffic is delegated.  In order to achives
   that, the TBD: Open Caching Capacity Insight Specification [OC-CII]
   defines a feedback mechanism to inform the delegator how much traffic
   is appropriate to delegate.  The traffic level information provided
   by that interface will be consumed by entities, such as the Open
   Caching Request router, to help inform that entity's traffic
   delegation decisions.  This document defines and registers CDNI
   Payload Types (as defined at section 7.1 of [RFC8006]).  These
   Payload types are used for Capability Objects added to those defined
   at section 4 of [RFC8008], which are required for the Open Caching
   Capacity Insights Interface.

   For consistency with other CDNI documents this document follows the
   CDNI convention of uCDN (upstream CDN) and dCDN (downstream CDN) to
   represent the commercial CDN and ISP caching layer respectively.

   This document registers two CDNI Payload Types (section 7.1 of
   [RFC8006]) for the defined capability objects:

   o  Telemetry Payload Type: A payload type for the capability object
      which defines the supported telemetry sources, the metrics made
      available by that source, and corresponding configuration
      appropriate to the type of the source (host, port, protocol,
      etc..)

   o  CapacityLimits Payload Type: a payload type for the capability
      object which defines Capacity Limits based on a set of defined
      limit types and a mapping from those limits to corresponding
      telemetry sources for supporting real-time metrics.

1.1.  Terminology

   The following terms are used throughout this document:

   o  CDN - Content Delivery Network

   Additionally, this document reuses the terminology defined in
   [RFC6707], [RFC7336], [RFC8006], [RFC8007], [RFC8008], and [RFC8804].
   Specifically, we use the following CDNI acronyms:

   o  uCDN, dCDN - Upstream CDN and Downstream CDN respectively (see
      [RFC7336] )








Ryan, et al.             Expires January 6, 2022                [Page 3]


Internet-DraCDNI Capacity Insights Capability Advertisment Ex  July 2021


1.2.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in BCP
   14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

2.  CDNI Additonal Capability Objects

   Section 5 of [RFC8008] describes the FCI Capability Advertisement
   Object, which contains a CDNI Capability Object as well as the
   capability object type (a CDNI Paylod Type).  The section also
   defines the Capability Objects per such type.  Below we define two
   additional Capability Objects.

   Note: In the following sections, the term "mandatory-to-specify" is
   used to convey which properties MUST be included when serializing a
   given capability object.  When mandatory-to-specify is defined as
   "Yes" for an individual property, it means that if the object
   containing that property is included in an FCI message, then the
   mandatory-to-specify property MUST also be included.

2.1.  Telemetry Capability Object

   The Telemetry Capability Object is used to define a list of telemetry
   sources made available by the dCDN to the uCDN.

      Property: sources

         Description: Telemetry sources made available to the uCDN.

         Type: A JSON array of Telemetry Source objects (see
         Section 2.1.1).

         Mandatory-to-Specify: Yes.

2.1.1.  Telemetry Source Object

   The Telemetry Source Object is build of an associated type, a list of
   exposed metrics, and type-specific configuration data.

      Property: id

         Description: A unique identifier.

         Type: String.




Ryan, et al.             Expires January 6, 2022                [Page 4]


Internet-DraCDNI Capacity Insights Capability Advertisment Ex  July 2021


         Mandatory-to-Specify: Yes.

      Property: type

         Description: A valid telemetry source type.  See
         Section 2.1.1.1.

         Type: String.

         Mandatory-to-Specify: Yes.

      Property: metrics

         Description: The metrics exposed by this source.

         Type: A JSON array of Telemetry Source Metric objects (see
         Section 2.1.1.2).

         Mandatory-to-Specify: Yes.

      Property: configuration

         Description: Type specific configuration data.

         Type: TBD.

         Mandatory-to-Specify: No.

2.1.1.1.  Telemetry Source Types

   Below are listed the valid telemetry source types.  TBD: How do we
   extend this list?  Do we need a registry?

   +---------------------------------+---------------------------------+
   |   Source Type                   |   Description                   |
   +---------------------------------+---------------------------------+
   | generic                         | TBD                             |
   +---------------------------------+---------------------------------+

2.1.1.2.  Telemetry Source Metric Object

   The Telemetry Source Metric Object describe the metric to be exposed.

      Property: name

         Description: An identifier unique within this telemetry source.

         Type: String.



Ryan, et al.             Expires January 6, 2022                [Page 5]


Internet-DraCDNI Capacity Insights Capability Advertisment Ex  July 2021


         Mandatory-to-Specify: Yes.

      Property: time-granularity

         Description: Represents the time frame that the data represents
         in seconds.  I.e. is this a data set over 5 minutes, one hour,
         etc..

         Type: Float (or Integer - TBD).

         Mandatory-to-Specify: No.

      Property: data-percentile

         Description: The percentile calculation the data represents,
         i.e. 50 percentile would equate to the average over the time-
         granularity.

         Type: Float (or Integer - TBD).

         Mandatory-to-Specify: No.

      Property: latency

         Description: Time in second that the data is behind of real
         time.

         Type: Float (or Integer - TBD).

         Mandatory-to-Specify: No.

2.1.2.  Telemetry Capability Object Serialization

   The following shows an example of Telemetry Capability including 2
   sources.
















Ryan, et al.             Expires January 6, 2022                [Page 6]


Internet-DraCDNI Capacity Insights Capability Advertisment Ex  July 2021


   "capabilities": [
     {
       "capability-type": "FCI.Telemetry",
       "capability-value": {
         "sources": [
           {
             "id": "capacity_metrics_region1",
             "type": "generic",
             "metrics": [
               {
                 "name": "egress_5m",
                 "time-granularity": 300,
                 "data-percentile": 50,
                 "latency": 1500
               },
               {
                 "name": "requests_5m",
               }
             ]
           }
         ]
       },
       "footprints": [
         <footprint objects>
       ]
     }
   ]


2.2.  CapacityLimits Capability Object

   The Capacity Limits Capability Object represents the limits to be
   advertised based on a particular Telemetry element..

      Property: total-limits-host

         Description:The "Distinguished CDN-Domain" used for adjustment
         of the total limits.

         Type: String.

         Mandatory-to-Specify: No.  Required only if
         MI.RequestedCapacityLimits is supported.

      Property: total-limits

         Description: The top level limits for the footprint.




Ryan, et al.             Expires January 6, 2022                [Page 7]


Internet-DraCDNI Capacity Insights Capability Advertisment Ex  July 2021


         Type: A JSON array of Capacity Limit objects (see
         Section 2.2.1).

         Mandatory-to-Specify: Yes.

      Property: host-limits

         Description: Limits for particular CDN Domains.

         Type: A JSON array of Capcity Limit objects (see
         Section 2.2.1).

         Mandatory-to-Specify: No.

2.2.1.  Capacity Limit Object

   The Capacity Limit Object is built of TBD.

      Property: limit-type

         Description: The units of maximum-hard and maximum-soft.

         Type: String.  One of the values listed in Section 2.2.1.1.

         Mandatory-to-Specify: Yes.

      Property: maximum-hard

         Description: The maximum unit of capacity that is available for
         use.

         Type: Float (or Integer - TBD).

         Mandatory-to-Specify: Yes.

      Property: maximum-soft

         Description: A soft limit at which an upstream should consider
         deducing traffic to prevent hitting the hard limit.

         Type: Float (or Integer - TBD).

         Mandatory-to-Specify: No.

      Property: telemetry-source






Ryan, et al.             Expires January 6, 2022                [Page 8]


Internet-DraCDNI Capacity Insights Capability Advertisment Ex  July 2021


         Description: Mapping of each a particular limit to a specific
         metric with relevant real-time data provided by a telemetry
         source.

         Type: Capcity Limit Telemetry Source object (see
         Section 2.2.1.2).

         Mandatory-to-Specify: No.

      Property: host

         Description: The CDN Domain to which the limit applies.

         Type: String.

         Mandatory-to-Specify: Only when is part of the host-limits
         list.

2.2.1.1.  Capacity Limit Types

   Below are listed the valid capacity limit types.  TBD: How do we
   extend this list?  Do we need a registry?  Maybe omit this list and
   make it subject ot bootstrapping?

   +----------------------------------+--------------------------------+
   |  Limit Type                      |    Units                       |
   +----------------------------------+--------------------------------+
   | egress                           | Bits per second                |
   | requests                         | Requests per second            |
   | storage-size                     | Total bytes                    |
   | storage-objects                  | Count                          |
   | sessions                         | Count                          |
   | cache-size                       | Total bytes                    |
   +----------------------------------+--------------------------------+

2.2.1.2.  Capacity Limit Telemetry Source Object

   The Capacity Limit Telemetry Source Object refers to a specific
   metric within a Telementry Source.

      Property: id

         Description: Reference to the "id" of a telemetry source
         defined by a Telemetry Capability object.

         Type: String.

         Mandatory-to-Specify: Yes.



Ryan, et al.             Expires January 6, 2022                [Page 9]


Internet-DraCDNI Capacity Insights Capability Advertisment Ex  July 2021


      Property: metric

         Description: Reference to the "name" property of a metric as
         defined for the referenced telemetry source.

         Type: String.

         Mandatory-to-Specify: Yes.

2.2.2.  Capacity Limit Object Serialization

   The following shows an example of ... TBD.


   "capabilities": [
     {
       "capability-type": "FCI.CapacityLimits"
       "capability-value": {
         "total-limits-host": "op-b.op-a.com",
         "total-limits": [
           {
             "limit-type": "egress",
             "maximum-hard": 50000000000,
             "maximum-soft": 25000000000,
             "telemetry-source": {
               "id": "capacity_metrics_region1",
               "metric": "egress_5m"
             }
           }
         ],
         "host-limits": [
           {
             "host": "serviceA.cdn.example.com",
             "limits": [
               "limit-type": "egress",
               "maximum-hard": 20000000000,
               "maximum-soft": 10000000000,
               "telemetry-source": {
                 "id": "capacity_metrics_region1",
                 "metric": "egress_service2_5m"
               }
             ]
           },
           {
             "host": "serviceB.cdn.example.com",
             "limits": [
               "limit-type": "egress",
               "maximum-hard": 30000000000,



Ryan, et al.             Expires January 6, 2022               [Page 10]


Internet-DraCDNI Capacity Insights Capability Advertisment Ex  July 2021


               "maximum-soft": 15000000000,
               "telemetry-source": {
                 "id": "capacity_metrics_region1",
                 "metric": "egress_service2_5m"
               }
             ]
           }
         ]
       },
       "footprints": [
         <footprint objects>
       ]
     }
   ]


2.3.  RequestedCapacityLimits Object

   To enable the uCDN to request changes in the dCDN limits, a new
   metadata object is introduced.  As metadata is associated with a
   host, the total limits for the uCDN on a particular footprint are
   associated with the "Distinguished CDN-Domain" as defined by
   [RFC7336].  This will typically be a host utilized in
   FCI.RedirectTarget, though it can be any arbitrary host as long as it
   is not one of the CDN-Domains used for serving client requests.  This
   host as used for requested changes in the total limits is defined in
   the total-limits-host property of FCI.CapacityLimits.  Similarly, an
   adjustment request for any CDN-Domain may be made using the same
   metadata object associated with the corresponding host.  These
   correspond to the limits defined as host-limits in
   FCI.CapacityLimits.

      Property: requested-limits

         Description: Capacity Limits being requedted by the uCDN to the
         dCDN.

         Type: A JSON array of Requested Limits objects (see
         Section 2.3.1).

         Mandatory-to-Specify: Yes.

2.3.1.  Requsted Limits Object

   The Requested Limit Object is build of an associated type, a value
   assocaited with the type, and the footprints that the limit should be
   associated with.




Ryan, et al.             Expires January 6, 2022               [Page 11]


Internet-DraCDNI Capacity Insights Capability Advertisment Ex  July 2021


      Property: limit-type

         Description: A limit type as defined in Section 2.2.1.1.

         Type: String.

         Mandatory-to-Specify: Yes.

      Property: limit-value

         Description: A unit of capacity defined in the maximum-hard
         property of Section 2.2.1.

         Type: Float (or Integer - TBD).

         Mandatory-to-Specify: Yes.

      Property: footprints

         Description: The CDNI Footprint objects this requested limit
         are associated with.

         Type: A JSON array of CDNI Footprints (see [RFC8006]).

         Mandatory-to-Specify: Yes.

2.3.2.  Telemetry Capability Object Serialization

   The following shows an example of MI.RequestedCapacityLimits object.






















Ryan, et al.             Expires January 6, 2022               [Page 12]


Internet-DraCDNI Capacity Insights Capability Advertisment Ex  July 2021


  {
    "host": "op-b.op-a.com",
    "host-metadata": {
      "metadata": [
        ...,
        {
          "generic-metadata-type": "MI.RequestedCapacityLimits",
          "generic-metadata-value": {
            "requested-limits": [
              {
                "limit-type": "egress",
                "limit-value": 80000000000,
                "footprints": [{
                  "footprint-type": "ipv4cidr",
                  "footprint-value": ["192.0.2.0/24", "198.51.100.0/24"]
                }]
              },
              {
                ...
              }
            ]
          }
        }
      ]
    }
  }


3.  IANA Considerations

3.1.  CDNI Payload Types

   As described in section 7.1 of [RFC8006] , the "CDNI Payload Types"
   subregistry was created within the "Content Delivery Network
   Interconnection (CDNI) Parameters" registry (TBD verify name or omit
   extra info).  The created namespace defines the valid Payload Types,
   and is already populated with the types described in Section 7.1 of
   [RFC8006] as well as the types described in section 6.1 of [RFC8008].

   This document requests the registration of the two additional payload
   types:










Ryan, et al.             Expires January 6, 2022               [Page 13]


Internet-DraCDNI Capacity Insights Capability Advertisment Ex  July 2021


   +---------------------------------+---------------------------------+
   | Payload Type                    | Specification                   |
   +---------------------------------+---------------------------------+
   | FCI.Telemetry                   | RFCthis                         |
   | FCI.CapacityLimits              | RFCthis                         |
   | MI.RequestedCapacityLimits      | RFCthis                         |
   +---------------------------------+---------------------------------+

   [RFC Editor: Please replace RFCthis with the published RFC number for
   this document.]

3.1.1.  CDNI FCI Telemetry Payload Type

      Purpose: The purpose of this Payload Type is TBD (maybe: to list
      the supported telemetry sources and the metrics made available by
      each source).

      Interface: FCI.

      Encoding: See section Section 2.1.

3.1.2.  CDNI FCI Capacity Limits Payload Type

      Purpose: The purpose of this Payload Type is TBD (maybe: defines
      Capacity Limits based on a set of defined limit types and a
      mapping from those limits to corresponding telemetry sources for
      supporting real-time metrics).

      Interface: FCI.

      Encoding: See section Section 2.2.

3.1.3.  CDNI MI Requested Capacity Limits Payload Type

      Purpose: The purpose of this Payload Type is to allow a uCDN to
      request a CapacityLimit update from a dCDN

      Interface: MI.

      Encoding: See section Section 2.3.

4.  Security Considerations

   This specification is in accordance with the CDNI Request Routing:
   Footprint and Capabilities Semantics.  As such, it is subject to the
   security and privacy considerations as defined in Section 8 of
   [RFC8006] and in Section 7 of [RFC8008] respectively.




Ryan, et al.             Expires January 6, 2022               [Page 14]


Internet-DraCDNI Capacity Insights Capability Advertisment Ex  July 2021


   MORE - TBD

5.  Acknowledgements

   The authors would like to express their gratitude to TBD for TBD
   (their guidance / contribution / reviews ...)

6.  References

6.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC8006]  Niven-Jenkins, B., Murray, R., Caulfield, M., and K. Ma,
              "Content Delivery Network Interconnection (CDNI)
              Metadata", RFC 8006, DOI 10.17487/RFC8006, December 2016,
              <https://www.rfc-editor.org/info/rfc8006>.

   [RFC8007]  Murray, R. and B. Niven-Jenkins, "Content Delivery Network
              Interconnection (CDNI) Control Interface / Triggers",
              RFC 8007, DOI 10.17487/RFC8007, December 2016,
              <https://www.rfc-editor.org/info/rfc8007>.

   [RFC8008]  Seedorf, J., Peterson, J., Previdi, S., van Brandenburg,
              R., and K. Ma, "Content Delivery Network Interconnection
              (CDNI) Request Routing: Footprint and Capabilities
              Semantics", RFC 8008, DOI 10.17487/RFC8008, December 2016,
              <https://www.rfc-editor.org/info/rfc8008>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8804]  Finkelman, O. and S. Mishra, "Content Delivery Network
              Interconnection (CDNI) Request Routing Extensions",
              RFC 8804, DOI 10.17487/RFC8804, September 2020,
              <https://www.rfc-editor.org/info/rfc8804>.

6.2.  Informative References









Ryan, et al.             Expires January 6, 2022               [Page 15]


Internet-DraCDNI Capacity Insights Capability Advertisment Ex  July 2021


   [OC-CII]   Finkelman, O., Ed., Hofmann, J., Klein, E., Mishra, S.,
              Ma, K., Sahar, D., and B. Zurat, "Open Caching - Capacity
              Insights Interface Functional Specification (TBD: write it
              and fix the reference)", Version 1.1, October 2019,
              <https://www.streamingvideoalliance.org/books/open-cache-
              request-routing-functional-specification/>.

   [OCWG]     "Open Caching Home Page",
              <https://www.streamingvideoalliance.org/technical-groups/
              open-caching/>.

   [RFC6707]  Niven-Jenkins, B., Le Faucheur, F., and N. Bitar, "Content
              Distribution Network Interconnection (CDNI) Problem
              Statement", RFC 6707, DOI 10.17487/RFC6707, September
              2012, <https://www.rfc-editor.org/info/rfc6707>.

   [RFC7336]  Peterson, L., Davie, B., and R. van Brandenburg, Ed.,
              "Framework for Content Distribution Network
              Interconnection (CDNI)", RFC 7336, DOI 10.17487/RFC7336,
              August 2014, <https://www.rfc-editor.org/info/rfc7336>.

   [SVA]      "Streaming Video Alliance Home Page",
              <https://www.streamingvideoalliance.org>.

Authors' Addresses

   Andrew Ryan
   Limelight Networks

                       5177 Brandin Ct.


                       Fremont
                       ,
                       CA

                           94538


                           US


   Email:
                       andrew@andrewnryan.com







Ryan, et al.             Expires January 6, 2022               [Page 16]


Internet-DraCDNI Capacity Insights Capability Advertisment Ex  July 2021


   Ben Rosenblum
   Vecima

                       4375 River Green Pkwy #100


                       Duluth
                       ,
                       GA

                           30096


                           US


   Email:
                      ben@rosenblum.dev


   Nir B. Sopher
   Qwilt

                           6, Ha'harash


                           Hod HaSharon
                       ,

                           4524079


                           Israel


   Email:
                       nir@apache.org














Ryan, et al.             Expires January 6, 2022               [Page 17]