| rfc9817v1.txt | rfc9817.txt | |||
|---|---|---|---|---|
| Internet Research Task Force (IRTF) I. Kunze | Internet Research Task Force (IRTF) I. Kunze | |||
| Request for Comments: 9817 K. Wehrle | Request for Comments: 9817 K. Wehrle | |||
| Category: Informational RWTH Aachen | Category: Informational RWTH Aachen | |||
| ISSN: 2070-1721 D. Trossen | ISSN: 2070-1721 D. Trossen | |||
| Huawei | DaPaDOT Tech | |||
| M-J. Montpetit | M-J. Montpetit | |||
| McGill | SLICES-RI | |||
| X. de Foy | X. de Foy | |||
| InterDigital Communications, LLC | InterDigital Communications, LLC | |||
| D. Griffin | D. Griffin | |||
| M. Rio | M. Rio | |||
| UCL | UCL | |||
| July 2025 | August 2025 | |||
| Use Cases for In-Network Computing | Use Cases for In-Network Computing | |||
| Abstract | Abstract | |||
| Computing in the Network (COIN) comes with the prospect of deploying | Computing in the Network (COIN) comes with the prospect of deploying | |||
| processing functionality on networking devices such as switches and | processing functionality on networking devices such as switches and | |||
| network interface cards. While such functionality can be beneficial, | network interface cards. While such functionality can be beneficial, | |||
| it has to be carefully placed into the context of the general | it has to be carefully placed into the context of the general | |||
| Internet communication, and it needs to be clearly identified where | Internet communication, and it needs to be clearly identified where | |||
| skipping to change at line 99 ¶ | skipping to change at line 99 ¶ | |||
| 11. Informative References | 11. Informative References | |||
| Acknowledgements | Acknowledgements | |||
| Authors' Addresses | Authors' Addresses | |||
| 1. Introduction | 1. Introduction | |||
| The Internet was designed as a best-effort packet network, forwarding | The Internet was designed as a best-effort packet network, forwarding | |||
| packets from source to destination with limited guarantees regarding | packets from source to destination with limited guarantees regarding | |||
| their timely and successful reception. Data manipulation, | their timely and successful reception. Data manipulation, | |||
| computation, and more complex protocol functionalities are generally | computation, and more complex protocol functionalities are generally | |||
| provided by the end hosts, while network nodes are traditionally kept | provided by the end hosts, while network nodes are commonly kept | |||
| simple and only offer a "store and forward" packet facility. This | simple and only offer a "store and forward" packet facility. This | |||
| simplicity of purpose of the network has shown to be suitable for a | simplicity of purpose of the network has shown to be suitable for a | |||
| wide variety of applications and has facilitated the rapid growth of | wide variety of applications and has facilitated the rapid growth of | |||
| the Internet. However, introducing middleboxes with specialized | the Internet. However, introducing middleboxes with specialized | |||
| functionality for enhancing performance has often led to problems due | functionality for enhancing performance has often led to problems due | |||
| to their inflexibility. | to their inflexibility. | |||
| However, with the rise of new services, some of which are described | However, with the rise of new services, some of which are described | |||
| in this document, there is a growing number of application domains | in this document, there is a growing number of application domains | |||
| that require more than best-effort forwarding, including strict | that require more than best-effort forwarding, including strict | |||
| skipping to change at line 159 ¶ | skipping to change at line 159 ¶ | |||
| is another objective of the use case descriptions. To achieve this, | is another objective of the use case descriptions. To achieve this, | |||
| the following taxonomy is proposed to describe each of the use cases: | the following taxonomy is proposed to describe each of the use cases: | |||
| Description: A high-level presentation of the purpose of the use | Description: A high-level presentation of the purpose of the use | |||
| case and a short explanation of the use case behavior. | case and a short explanation of the use case behavior. | |||
| Characterization: An explanation of the services that are being | Characterization: An explanation of the services that are being | |||
| utilized and realized as well as the semantics of interactions in | utilized and realized as well as the semantics of interactions in | |||
| the use case. | the use case. | |||
| Existing Solutions: A description of current methods that may | Existing solutions: A description of current methods that may | |||
| realize the use case (if they exist), though not claiming to | realize the use case (if they exist), though not claiming to | |||
| exhaustively review the landscape of solutions. | exhaustively review the landscape of solutions. | |||
| Opportunities: An outline of how COIN capabilities may support or | Opportunities: An outline of how COIN capabilities may support or | |||
| improve on the use case in terms of performance and other metrics. | improve on the use case in terms of performance and other metrics. | |||
| Research questions: Essential questions that are suitable for | Research questions: Essential questions that are suitable for | |||
| guiding research to achieve the identified opportunities. The | guiding research to achieve the identified opportunities. The | |||
| research questions also capture immediate capabilities for any | research questions also capture immediate capabilities for any | |||
| COIN solution addressing the particular use case whose development | COIN solution addressing the particular use case whose development | |||
| skipping to change at line 185 ¶ | skipping to change at line 185 ¶ | |||
| for any COIN solution addressing the particular use case; we limit | for any COIN solution addressing the particular use case; we limit | |||
| these capabilities to those directly affecting COIN, recognizing | these capabilities to those directly affecting COIN, recognizing | |||
| that any use case will realistically require many additional | that any use case will realistically require many additional | |||
| capabilities for its realization. We omit this dedicated section | capabilities for its realization. We omit this dedicated section | |||
| if relevant capabilities are already sufficiently covered by the | if relevant capabilities are already sufficiently covered by the | |||
| corresponding research questions. | corresponding research questions. | |||
| This document discusses these six aspects along a number of | This document discusses these six aspects along a number of | |||
| individual use cases to demonstrate the diversity of COIN | individual use cases to demonstrate the diversity of COIN | |||
| applications. It is intended as a basis for further analyses and | applications. It is intended as a basis for further analyses and | |||
| discussions within the wider research community. This document | discussions within the wider research community. This document has | |||
| represents the consensus of COINRG. | received review comments at different stages of its development, by | |||
| experts within and out of COINRG, as detailed in the Acknowledgements | ||||
| section. This document represents the consensus of COINRG. | ||||
| 2. Terminology | 2. Terminology | |||
| This document uses the terminology defined below. | This document uses the terminology defined below. | |||
| Programmable Network Devices (PNDs): network devices, such as | Programmable Network Devices (PNDs): network devices, such as | |||
| network interface cards and switches, which are programmable | network interface cards and switches, which are programmable | |||
| (e.g., using P4 [P4] or other languages). | (e.g., using P4 [P4] or other languages). | |||
| (COIN) execution environment: a class of target environments for | COIN execution environment: a class of target environments for | |||
| function execution, for example, an execution environment based on | function execution, for example, an execution environment based on | |||
| the Java Virtual Machine (JVM) that can run functions represented | the Java Virtual Machine (JVM) that can run functions represented | |||
| in JVM byte code. | in JVM byte code. | |||
| COIN system: the PNDs (and end systems) and their execution | COIN system: the PNDs (and end systems) and their execution | |||
| environments, together with the communication resources | environments, together with the communication resources | |||
| interconnecting them, operated by a single provider or through | interconnecting them, operated by a single provider or through | |||
| interactions between multiple providers that jointly offer COIN | interactions between multiple providers that jointly offer COIN | |||
| capabilities. | capabilities. | |||
| COIN capability: a feature enabled through the joint processing of | COIN capability: a feature enabled through the joint processing of | |||
| computation and communication resources in the network. | computation and communication resources in the network. | |||
| (COIN) program: a monolithic functionality that is provided | COIN program: a monolithic functionality that is provided according | |||
| according to the specification for said program and which may be | to the specification for said program and which may be requested | |||
| requested by a user. A composite service can be built by | by a user. A composite service can be built by orchestrating a | |||
| orchestrating a combination of monolithic COIN programs. | combination of monolithic COIN programs. | |||
| (COIN) program instance: one running instance of a program. | COIN program instance: one running instance of a program. | |||
| COIN experience: a new user experience brought about through the | COIN experience: a new user experience brought about through the | |||
| utilization of COIN capabilities. | utilization of COIN capabilities. | |||
| 3. Providing New COIN Experiences | 3. Providing New COIN Experiences | |||
| 3.1. Mobile Application Offloading | 3.1. Mobile Application Offloading | |||
| 3.1.1. Description | 3.1.1. Description | |||
| This scenario can be exemplified in an immersive gaming application, | This scenario can be exemplified in an immersive gaming application, | |||
| where a single user plays a game using a Virtual Reality (VR) | where a single user plays a game using a Virtual Reality (VR) | |||
| headset. The headset hosts several (COIN) programs. For instance, | headset. The headset hosts several COIN programs. For instance, the | |||
| the display (COIN) program renders frames to the user, while other | display COIN program renders frames to the user, while other programs | |||
| programs are realized for VR content processing and to incorporate | are realized for VR content processing and to incorporate input data | |||
| input data received from sensors (e.g., in bodily worn devices | received from sensors (e.g., in bodily worn devices including the VR | |||
| including the VR headset). | headset). | |||
| Once this application is partitioned into its constituent (COIN) | Once this application is partitioned into its constituent COIN | |||
| programs and deployed throughout a COIN system, utilizing a COIN | programs and deployed throughout a COIN system utilizing a COIN | |||
| execution environment, only the display (COIN) program may be left in | execution environment, only the display COIN program may be left in | |||
| the headset, while the compute intensive real-time VR content | the headset. Meanwhile, the CPU-intensive real-time VR content | |||
| processing (COIN) program can be offloaded to a nearby resource rich | processing COIN program can be offloaded to a nearby resource rich | |||
| home PC or a Programmable Network Device (PND) in the operator's | home PC or a Programmable Network Device (PND) in the operator's | |||
| access network, for a better execution (faster and possibly higher | access network for a better execution (i.e., faster and possibly | |||
| resolution generation). | higher resolution generation). | |||
| 3.1.2. Characterization | 3.1.2. Characterization | |||
| Partitioning a mobile application into several constituent (COIN) | Partitioning a mobile application into several constituent COIN | |||
| programs allows for denoting the application as a collection of | programs allows for denoting the application as a collection of COIN | |||
| (COIN) programs for a flexible composition and a distributed | programs for a flexible composition and a distributed execution. In | |||
| execution. In our example above, most capabilities of a mobile | our example above, most capabilities of a mobile application can be | |||
| application can be categorized into any of three groups: receiving, | categorized into any of three groups: receiving, processing, and | |||
| processing, and displaying. | displaying. | |||
| Any device may realize one or more of the (COIN) programs of a mobile | Any device may realize one or more of the COIN programs of a mobile | |||
| application and expose them to the (COIN) system and its constituent | application and expose them to the COIN system and its constituent | |||
| (COIN) execution environments. When the (COIN) program sequence is | COIN execution environments. When the COIN program sequence is | |||
| executed on a single device, the outcome is what you traditionally | executed on a single device, the outcome is what you commonly see | |||
| see with applications running on mobile devices. | with applications running on mobile devices. | |||
| However, the execution of a (COIN) program may be moved to other | However, the execution of a COIN program may be moved to other (e.g., | |||
| (e.g., more suitable) devices, including PNDs, which have exposed the | more suitable) devices, including PNDs, which have exposed the | |||
| corresponding (COIN) program as individual (COIN) program instances | corresponding COIN program as individual COIN program instances to | |||
| to the (COIN) system by means of a service identifier. The result is | the COIN system by means of a service identifier. The result is the | |||
| the equivalent to mobile function offloading, for possible reduction | equivalent to mobile function offloading, in that it offers the | |||
| of power consumption (e.g., offloading CPU-intensive process | possible reduction of power consumption (e.g., offloading CPU- | |||
| functions to a remote server) or for improved end-user experience | intensive process functions to a remote server) or an improved end- | |||
| (e.g., moving display functions to a nearby smart TV) by selecting | user experience (e.g., moving display functions to a nearby smart TV) | |||
| more suitably placed (COIN) program instances in the overall (COIN) | by selecting more suitably placed COIN program instances in the | |||
| system. | overall COIN system. | |||
| We can already see a trend toward supporting such functionality with | We can already see a trend toward supporting such functionality that | |||
| relyiccng on dedicated cloud hardware (e.g., gaming platforms | relies on dedicated cloud hardware (e.g., gaming platforms rendering | |||
| rendering content externally). We envision, however, that such | content externally). We envision, however, that such functionality | |||
| functionality is becoming more pervasive through specific facilities, | is becoming more pervasive through specific facilities, such as | |||
| such as entertainment parks or even hotels, in order to deploy needed | entertainment parks or even hotels, in order to deploy needed edge | |||
| edge computing capabilities to enable localized gaming as well as | computing capabilities to enable localized gaming as well as non- | |||
| non-gaming scenarios. | gaming scenarios. | |||
| Figure 1 shows one realization of the above scenario, where a "DPR | Figure 1 shows one realization of the above scenario, where a "DPR | |||
| app" is running on a mobile device (containing the partitioned COIN | app" is running on a mobile device (containing the partitioned COIN | |||
| programs Display (D), Process (P) and Receive (R)) over a | programs Display (D), Process (P) and Receive (R)) over a | |||
| programmable switching network, e.g., a Software-Defined Network | programmable switching network, e.g., a Software-Defined Network | |||
| (SDN) here. The packaged applications are made available through a | (SDN) here. The packaged applications are made available through a | |||
| localized "playstore server". The mobile application installation is | localized "playstore server". The mobile application installation is | |||
| realized as a service deployment process, combining the local app | realized as a service deployment process, combining the local app | |||
| installation with a distributed deployment (and orchestration) of one | installation with a distributed deployment (and orchestration) of one | |||
| or more (COIN) programs on most suitable end systems or PNDs (here, a | or more COIN programs on most suitable end systems or PNDs (here, a | |||
| "processing server"). | "processing server"). | |||
| +----------+ Processing Server | +----------+ Processing Server | |||
| Mobile | +------+ | | Mobile | +------+ | | |||
| +---------+ | | P | | | +---------+ | | P | | | |||
| | App | | +------+ | | | App | | +------+ | | |||
| | +-----+ | | +------+ | | | +-----+ | | +------+ | | |||
| | |D|P|R| | | | SR | | | | |D|P|R| | | | SR | | | |||
| | +-----+ | | +------+ | Internet | | +-----+ | | +------+ | Internet | |||
| | +-----+ | +----------+ / | | +-----+ | +----------+ / | |||
| skipping to change at line 319 ¶ | skipping to change at line 321 ¶ | |||
| |+-------+| /+--+ | |+-------+| /+--+ | |||
| || SR || +---------+ | || SR || +---------+ | |||
| |+-------+| |Playstore| | |+-------+| |Playstore| | |||
| +---------+ | Server | | +---------+ | Server | | |||
| TV +---------+ | TV +---------+ | |||
| Figure 1: Application Function Offloading Example | Figure 1: Application Function Offloading Example | |||
| Such localized deployment could, for instance, be provided by a | Such localized deployment could, for instance, be provided by a | |||
| visiting site, such as a hotel or a theme park. Once the processing | visiting site, such as a hotel or a theme park. Once the processing | |||
| (COIN) program is terminated on the mobile device, the "service | COIN program is terminated on the mobile device, the "service routing | |||
| routing (SR)" elements in the network route (service) requests | (SR)" elements in the network route (service) requests instead to the | |||
| instead to the (previously deployed) processing (COIN) program | (previously deployed) processing COIN program running on the | |||
| running on the processing server over an existing SDN network. Here, | processing server over an existing SDN network. Here, capabilities | |||
| capabilities and other constraints for selecting the appropriate | and other constraints for selecting the appropriate COIN program, in | |||
| (COIN) program, in case of having deployed more than one, may be | case of having deployed more than one, may be provided both in the | |||
| provided both in the advertisement of the (COIN) program and the | advertisement of the COIN program and the service request itself. | |||
| service request itself. | ||||
| As an extension to the above scenarios, we can also envision that | As an extension to the above scenarios, we can also envision that | |||
| content from one processing (COIN) program may be distributed to more | content from one processing COIN program may be distributed to more | |||
| than one display (COIN) program (e.g., for multi- and many-viewing | than one display COIN program (e.g., for multi- and many-viewing | |||
| scenarios). Here, an offloaded processing program may collate input | scenarios). Here, an offloaded processing program may collate input | |||
| from several users in the (virtual) environment to generate a | from several users in the (virtual) environment to generate a | |||
| possibly three-dimensional render that is then distributed via a | possibly three-dimensional render that is then distributed via a | |||
| service-level multicast capability towards more than one display | service-level multicast capability towards more than one display COIN | |||
| (COIN) program. | program. | |||
| 3.1.3. Existing Solutions | 3.1.3. Existing Solutions | |||
| The ETSI Mobile Edge Computing (MEC) [ETSI] suite of technologies | The ETSI Multi-access Edge Computing (MEC) [ETSI] suite of | |||
| provides solutions for mobile function offloading by allowing mobile | technologies provides solutions for mobile function offloading by | |||
| applications to select resources in edge devices to execute functions | allowing mobile applications to select resources in edge devices to | |||
| instead of the mobile device directly. For this, ETSI MEC utilizes a | execute functions instead of the mobile device directly. For this, | |||
| set of interfaces for the selection of suitable edge resources, | ETSI MEC utilizes a set of interfaces for the selection of suitable | |||
| connecting to so-called MEC application servers, while also allowing | edge resources, connecting to so-called MEC application servers, | |||
| for sending data for function execution to the application server. | while also allowing for sending data for function execution to the | |||
| application server. | ||||
| However, the technologies do not utilize microservices | However, the technologies do not utilize microservices | |||
| [Microservices]; they mainly rely on virtualization approaches such | [Microservices]; they mainly rely on virtualization approaches such | |||
| as containers or virtual machines, thus requiring a heavier | as containers or virtual machines, thus requiring a heavier | |||
| processing and memory footprint in a COIN execution environment and | processing and memory footprint in a COIN execution environment and | |||
| the executing intermediaries. Also, the ETSI work does not allow for | the executing intermediaries. Also, the ETSI work does not allow for | |||
| the dynamic selection and redirection of (COIN) program calls to | the dynamic selection and redirection of COIN program calls to | |||
| varying edge resources rather than a single MEC application server. | varying edge resources; it does allow for them to a single MEC | |||
| application server. | ||||
| Also, the selection of the edge resource (the app server) is | Also, the selection of the edge resource (the app server) is | |||
| relatively static, relying on DNS-based endpoint selection, which | relatively static, relying on DNS-based endpoint selection, which | |||
| does not cater to the requirements of the example provided above, | does not cater to the requirements of the example provided above, | |||
| where the latency for redirecting to another device lies within a few | where the latency for redirecting to another device lies within a few | |||
| milliseconds for aligning with the frame rate of the display | milliseconds for aligning with the frame rate of the display | |||
| microservice. | microservice. | |||
| Lastly, MEC application servers are usually considered resources | Lastly, MEC application servers are usually considered resources | |||
| provided by the network operator through its MEC infrastructure, | provided by the network operator through its MEC infrastructure, | |||
| skipping to change at line 383 ¶ | skipping to change at line 386 ¶ | |||
| case, some of which have been realized in an Android-based | case, some of which have been realized in an Android-based | |||
| realization of the microservices as a single application, which is | realization of the microservices as a single application, which is | |||
| capable of dynamically redirecting traffic to other microservice | capable of dynamically redirecting traffic to other microservice | |||
| instances in the network. This capability, together with the | instances in the network. This capability, together with the | |||
| underlying path-based forwarding capability (using SDN), was | underlying path-based forwarding capability (using SDN), was | |||
| demonstrated publicly (e.g., at the Mobile World Congress 2018 and | demonstrated publicly (e.g., at the Mobile World Congress 2018 and | |||
| 2019). | 2019). | |||
| 3.1.4. Opportunities | 3.1.4. Opportunities | |||
| * The packaging of (COIN) programs into existing mobile application | * The packaging of COIN programs into existing mobile application | |||
| packaging may enable the migration from current (mobile) device- | packaging may enable the migration from current (mobile) device- | |||
| centric execution of those mobile applications toward a possible | centric execution of those mobile applications toward a possible | |||
| distributed execution of the constituent (COIN) programs that are | distributed execution of the constituent COIN programs that are | |||
| part of the overall mobile application. | part of the overall mobile application. | |||
| * The orchestration for deploying (COIN) program instances in | * The orchestration for deploying COIN program instances in specific | |||
| specific end systems and PNDs alike may open up the possibility | end systems and PNDs alike may open up the possibility for | |||
| for localized infrastructure owners, such as hotels or venue | localized infrastructure owners, such as hotels or venue owners, | |||
| owners, to offer their compute capabilities to their visitors for | to offer their compute capabilities to their visitors for improved | |||
| improved or even site-specific experiences. | or even site-specific experiences. | |||
| * The execution of (current mobile) app-level (COIN) programs may | * The execution of (current mobile) app-level COIN programs may | |||
| speed up the execution of said (COIN) program by relocating the | speed up the execution of said COIN program by relocating the | |||
| execution to more suitable devices, including PNDs that may reside | execution to more suitable devices, including PNDs that may reside | |||
| better located in relation to other (COIN) programs and thus | better located in relation to other COIN programs and thus improve | |||
| improve performance, such as latency. | performance, such as latency. | |||
| * The support for service-level routing of requests (such as service | * The support for service-level routing of requests (such as service | |||
| routing in [APPCENTRES]) may support higher flexibility when | routing in [APPCENTRES]) may support higher flexibility when | |||
| switching from one (COIN) program instance to another (e.g., due | switching from one COIN program instance to another (e.g., due to | |||
| to changing constraints for selecting the new (COIN) program | changing constraints for selecting the new COIN program instance). | |||
| instance). Here, PNDs may support service routing solutions by | Here, PNDs may support service routing solutions by acting as | |||
| acting as routing overlay nodes to implement the necessary | routing overlay nodes to implement the necessary additional lookup | |||
| additional lookup functionality and also possibly support the | functionality and also possibly support the handling of affinity | |||
| handling of affinity relations (i.e., the forwarding of one packet | relations (i.e., the forwarding of one packet to the destination | |||
| to the destination of a previous one due to a higher level service | of a previous one due to a higher level service relation as | |||
| relation as discussed and described in [SarNet2021]). | discussed and described in [SarNet2021]). | |||
| * The ability to identify service-level COIN elements will allow for | * The ability to identify service-level COIN elements will allow for | |||
| routing service requests to those COIN elements, including PNDs, | routing service requests to those COIN elements, including PNDs, | |||
| therefore possibly allowing for a new COIN functionality to be | therefore possibly allowing for a new COIN functionality to be | |||
| included in the mobile application. | included in the mobile application. | |||
| * The support for constraint-based selection of a specific (COIN) | * The support for constraint-based selection of a specific COIN | |||
| program instance over others (e.g., constraint-based routing in | program instance over others (e.g., constraint-based routing in | |||
| [APPCENTRES], showcased for PNDs in [SarNet2021]) may allow for a | [APPCENTRES], showcased for PNDs in [SarNet2021]) may allow for a | |||
| more flexible and app-specific selection of (COIN) program | more flexible and app-specific selection of COIN program | |||
| instances, thereby allowing for better meeting the app-specific | instances, thereby allowing for better meeting the app-specific | |||
| and end-user requirements. | and end-user requirements. | |||
| 3.1.5. Research Questions | 3.1.5. Research Questions | |||
| * RQ 3.1.1: How to combine service-level orchestration frameworks, | * RQ 3.1.1: How to combine service-level orchestration frameworks, | |||
| such as TOSCA orchestration templates [TOSCA], with app-level | such as TOSCA orchestration templates [TOSCA], with app-level | |||
| (e.g., mobile application) packaging methods, ultimately providing | (e.g., mobile application) packaging methods, ultimately providing | |||
| the means for packaging microservices for deployments in | the means for packaging microservices for deployments in | |||
| distributed networked computing environments? | distributed networked computing environments? | |||
| * RQ 3.1.2: How to reduce latencies involved in (COIN) program | * RQ 3.1.2: How to reduce latencies involved in COIN program | |||
| interactions where (COIN) program instance locations may change | interactions where COIN program instance locations may change | |||
| quickly? Can service-level requests be routed directly through | quickly? Can service-level requests be routed directly through | |||
| in-band signaling methods instead of relying on out-of-band | in-band signaling methods instead of relying on out-of-band | |||
| discovery, such as through the DNS? | discovery, such as through the DNS? | |||
| * RQ 3.1.3: How to signal constraints used for routing requests | * RQ 3.1.3: How to signal constraints used for routing requests | |||
| towards (COIN) program instances in a scalable manner (i.e., for | towards COIN program instances in a scalable manner (i.e., for | |||
| dynamically choosing the best possible service sequence of one or | dynamically choosing the best possible service sequence of one or | |||
| more (COIN) programs for a given application experience through | more COIN programs for a given application experience through | |||
| chaining (COIN) program executions)? | chaining COIN program executions)? | |||
| * RQ 3.1.4: How to identify (COIN) programs and program instances so | * RQ 3.1.4: How to identify COIN programs and program instances so | |||
| as to allow routing (service) requests to specific instances of a | as to allow routing (service) requests to specific instances of a | |||
| given service? | given service? | |||
| * RQ 3.1.5: How to identify a specific choice of a (COIN) program | * RQ 3.1.5: How to identify a specific choice of a COIN program | |||
| instance over others, thus allowing pinning the execution of a | instance over others, thus allowing pinning the execution of a | |||
| service of a specific (COIN) program to a specific resource (i.e., | service of a specific COIN program to a specific resource (i.e., a | |||
| a (COIN) program instance in the distributed environment)? | COIN program instance in the distributed environment)? | |||
| * RQ 3.1.6: How to provide affinity of service requests towards | * RQ 3.1.6: How to provide affinity of service requests towards COIN | |||
| (COIN) program instances (i.e., longer-term transactions with | program instances (i.e., longer-term transactions with ephemeral | |||
| ephemeral state established at a specific (COIN) program | state established at a specific COIN program instance)? | |||
| instance)? | ||||
| * RQ 3.1.7: How to provide constraint-based routing decisions that | * RQ 3.1.7: How to provide constraint-based routing decisions that | |||
| can be realized at packet forwarding speed (e.g., using techniques | can be realized at packet forwarding speed (e.g., using techniques | |||
| explored in [SarNet2021] at the forwarding plane or using | explored in [SarNet2021] at the forwarding plane or using | |||
| approaches like [Multi2020] for extended routing protocols)? | approaches like [Multi2020] for extended routing protocols)? | |||
| * RQ 3.1.8: What COIN capabilities may support the execution of | * RQ 3.1.8: What COIN capabilities may support the execution of COIN | |||
| (COIN) programs and their instances? | programs and their instances? | |||
| * RQ 3.1.9: How to ensure real-time synchronization and consistency | * RQ 3.1.9: How to ensure real-time synchronization and consistency | |||
| of distributed application states among (COIN) program instances, | of distributed application states among COIN program instances, in | |||
| in particular, when frequently changing the choice for a | particular, when frequently changing the choice for a particular | |||
| particular (COIN) program in terms of executing a service | COIN program in terms of executing a service instance? | |||
| instance? | ||||
| 3.2. Extended Reality and Immersive Media | 3.2. Extended Reality and Immersive Media | |||
| 3.2.1. Description | 3.2.1. Description | |||
| Extended Reality (XR) encompasses VR, Augmented Reality (AR) and | Extended Reality (XR) encompasses VR, Augmented Reality (AR) and | |||
| Mixed Reality (MR). It provides the basis for the metaverse and is | Mixed Reality (MR). It provides the basis for the metaverse and is | |||
| the driver of a number of advances in interactive technologies. | the driver of a number of advances in interactive technologies. | |||
| While initially associated with gaming and immersive entertainment, | While initially associated with gaming and immersive entertainment, | |||
| applications now include remote diagnosis, maintenance, telemedicine, | applications now include remote diagnosis, maintenance, telemedicine, | |||
| skipping to change at line 496 ¶ | skipping to change at line 497 ¶ | |||
| fog computing for local information processing, the edge for | fog computing for local information processing, the edge for | |||
| aggregation, and the cloud for image processing. | aggregation, and the cloud for image processing. | |||
| XR stands to benefit significantly from computing capabilities in the | XR stands to benefit significantly from computing capabilities in the | |||
| network. For example, XR applications can offload intensive | network. For example, XR applications can offload intensive | |||
| processing tasks to edge servers, considerably reducing latency when | processing tasks to edge servers, considerably reducing latency when | |||
| compared to cloud-based applications and enhancing the overall user | compared to cloud-based applications and enhancing the overall user | |||
| experience. More importantly, COIN can enable collaborative XR | experience. More importantly, COIN can enable collaborative XR | |||
| experiences, where multiple users interact in the same virtual space | experiences, where multiple users interact in the same virtual space | |||
| in real time, regardless of their physical locations, by allowing | in real time, regardless of their physical locations, by allowing | |||
| resource discovery and re-rerouting of XR streams. While not a | resource discovery and re-routing of XR streams. While not a feature | |||
| feature of most XR implementations, this capability opens up new | of most XR implementations, this capability opens up new | |||
| possibilities for remote collaboration, training, and entertainment. | possibilities for remote collaboration, training, and entertainment. | |||
| Furthermore, COIN can support dynamic content delivery, allowing XR | Furthermore, COIN can support dynamic content delivery, allowing XR | |||
| applications to seamlessly adapt to changing environments and user | applications to seamlessly adapt to changing environments and user | |||
| interactions. Hence, the integration of computing capabilities into | interactions. Hence, the integration of computing capabilities into | |||
| the network architecture enhances the scalability, flexibility, and | the network architecture enhances the scalability, flexibility, and | |||
| performance of XR applications by supplying telemetry and advanced | performance of XR applications by supplying telemetry and advanced | |||
| stream management, paving the way for more immersive and interactive | stream management, paving the way for more immersive and interactive | |||
| experiences. | experiences. | |||
| Indeed, XR applications require real-time interactivity for immersive | Indeed, XR applications require real-time interactivity for immersive | |||
| skipping to change at line 525 ¶ | skipping to change at line 526 ¶ | |||
| 3.2.2. Characterization | 3.2.2. Characterization | |||
| As mentioned above, XR experiences, especially those involving | As mentioned above, XR experiences, especially those involving | |||
| collaboration, are difficult to deliver with a client-server cloud- | collaboration, are difficult to deliver with a client-server cloud- | |||
| based solution. This is because they require a combination of | based solution. This is because they require a combination of | |||
| multistream aggregation, low delays and delay variations, means to | multistream aggregation, low delays and delay variations, means to | |||
| recover from losses, and optimized caching and rendering as close as | recover from losses, and optimized caching and rendering as close as | |||
| possible to the user at the network edge. Hence, implementing such | possible to the user at the network edge. Hence, implementing such | |||
| XR solutions necessitates substantial computational power and minimal | XR solutions necessitates substantial computational power and minimal | |||
| latency, which, for now, has spurred the development of better | latency, which, for now, has spurred the development of better | |||
| headsets not networked or distributed solutions as factors like | headsets, rather than spurring networked or distributed solutions, as | |||
| distance from cloud servers and limited bandwidth can still | factors like distance from cloud servers and limited bandwidth can | |||
| significantly lower application responsiveness. Furthermore, when XR | still significantly lower application responsiveness. Furthermore, | |||
| deals with sensitive information, XR applications must also provide a | when XR deals with sensitive information, XR applications must also | |||
| secure environment and ensure user privacy, which represent | provide a secure environment and ensure user privacy, which represent | |||
| additional burdens for delay-sensitive applications. Additionally, | additional burdens for delay-sensitive applications. Additionally, | |||
| the sheer amount of data needed for and generated by XR applications, | the sheer amount of data needed for and generated by XR applications, | |||
| such as video holography, put them squarely in the realm of data- | such as video holography, put them squarely in the realm of data- | |||
| driven applications that can use recent trend analysis and | driven applications that can use recent trend analysis and | |||
| mechanisms, as well as machine learning, in order to find the optimal | mechanisms, as well as machine learning, in order to find the optimal | |||
| caching and processing solution and ideally reduce the size of the | caching and processing solution and ideally reduce the size of the | |||
| data that needs transiting through the network. Other mechanisms, | data that needs transiting through the network. Other mechanisms, | |||
| such as data filtering and reduction, and functional distribution and | such as data filtering and reduction, and functional distribution and | |||
| partitioning, are also needed to accommodate the low delay needs for | partitioning, are also needed to accommodate the low delay needs for | |||
| the same applications. | the same applications. | |||
| skipping to change at line 585 ¶ | skipping to change at line 586 ¶ | |||
| the purpose of this document, it is important to note that the use of | the purpose of this document, it is important to note that the use of | |||
| COIN for XR does not imply a specific protocol but targets an | COIN for XR does not imply a specific protocol but targets an | |||
| architecture enabling the deployment of the services. In this | architecture enabling the deployment of the services. In this | |||
| context, similar considerations as for Section 3.1 apply. | context, similar considerations as for Section 3.1 apply. | |||
| 3.2.3. Existing Solutions | 3.2.3. Existing Solutions | |||
| The XR field has profited from extensive research in the past years | The XR field has profited from extensive research in the past years | |||
| in gaming, machine learning, network telemetry, high resolution | in gaming, machine learning, network telemetry, high resolution | |||
| imaging, smart cities, and the Internet of Things (IoT). | imaging, smart cities, and the Internet of Things (IoT). | |||
| Information-centric networking (and related) approaches that combine, | Information-Centric Networking (ICN) (and related) approaches that | |||
| publish, subscribe, and distribute storage are also very suited for | combine publish-subscribe and distributed storage are also very | |||
| the multisource-multidestination applications of XR. New AR and VR | suited for the multisource-multidestination applications of XR. New | |||
| headsets and glasses have continued to evolve towards autonomy with | AR and VR headsets and glasses have continued to evolve towards | |||
| local computation capabilities, increasingly performing much of the | autonomy with local computation capabilities, increasingly performing | |||
| processing that is needed to render and augment the local images. | much of the processing that is needed to render and augment the local | |||
| Mechanisms aimed at enhancing the computational and storage | images. Mechanisms aimed at enhancing the computational and storage | |||
| capacities of mobile devices could also improve XR capabilities as | capacities of mobile devices could also improve XR capabilities, as | |||
| they include the discovery of available servers within the | they include discovering available servers within the environment and | |||
| environment and using them opportunistically to enhance the | using them opportunistically to enhance the performance of | |||
| performance of interactive applications and distributed file systems. | interactive applications and distributed file systems. | |||
| While there is still no specific COIN research in AR and VR, the need | While there is still no specific COIN research in AR and VR, the need | |||
| for network support is important to offload some of the computations | for network support is important to offload some of the computations | |||
| related to movement, multiuser interactions, and networked | related to movement, multiuser interactions, and networked | |||
| applications, notably in gaming but also in health [NetworkedVR]. | applications, notably in gaming but also in health [NetworkedVR]. | |||
| This new approach to networked AR and VR is exemplified in [eCAR] by | This new approach to networked AR and VR is exemplified in [eCAR] by | |||
| using synchronized messaging at the edge to share the information | using synchronized messaging at the edge to share the information | |||
| that all users need to interact. In [CompNet2021] and | that all users need to interact. In [CompNet2021] and | |||
| [WirelessNet2024], the offloading uses Artificial Intelligence (AI) | [WirelessNet2024], the offloading uses Artificial Intelligence (AI) | |||
| to assign the 5G resources necessary for the real-time interactions, | to assign the 5G resources necessary for the real-time interactions, | |||
| skipping to change at line 622 ¶ | skipping to change at line 623 ¶ | |||
| In summary, some XR solutions exist, and headsets continue to evolve | In summary, some XR solutions exist, and headsets continue to evolve | |||
| to what is now claimed to be spatial computing. Additionally, with | to what is now claimed to be spatial computing. Additionally, with | |||
| recent work on the metaverse, the number of publications related to | recent work on the metaverse, the number of publications related to | |||
| XR has skyrocketed. However, in terms of networking, which is the | XR has skyrocketed. However, in terms of networking, which is the | |||
| focus of this document, current deployments do not take advantage of | focus of this document, current deployments do not take advantage of | |||
| network capabilities. The information is rendered and displayed | network capabilities. The information is rendered and displayed | |||
| based on the local processing but does not readily discover the other | based on the local processing but does not readily discover the other | |||
| elements in the vicinity or in the network that could improve its | elements in the vicinity or in the network that could improve its | |||
| performance either locally, at the edge, or in the cloud. Yet, there | performance either locally, at the edge, or in the cloud. Yet, there | |||
| are still very few interactive and immersive media applications over | are still very few interactive and immersive media applications over | |||
| networks that allow for federating systems capabilities. | networks that allow for the federation of systems capabilities. | |||
| 3.2.4. Opportunities | 3.2.4. Opportunities | |||
| While delay is inherently related to information transmission, if we | While delay is inherently related to information transmission, if we | |||
| continue the analogy of the computer board to highlight some of the | continue the analogy of the computer board to highlight some of the | |||
| COIN capabilities in terms of computation and storage but also | COIN capabilities in terms of computation and storage but also | |||
| allocation of resources, there are some opportunities that XR could | allocation of resources, there are some opportunities that XR could | |||
| take advantage of: | take advantage of: | |||
| * Round trip time: 20 ms is usually cited as an upper limit for XR | * Round trip time: 20 ms is usually cited as an upper limit for XR | |||
| skipping to change at line 671 ¶ | skipping to change at line 672 ¶ | |||
| * RQ 3.2.1: Can current PNDs provide the speed required for | * RQ 3.2.1: Can current PNDs provide the speed required for | |||
| executing complex filtering operations, including metadata | executing complex filtering operations, including metadata | |||
| analysis for complex and dynamic scene rendering? | analysis for complex and dynamic scene rendering? | |||
| * RQ 3.2.2: Where should PNDs equipped with these operations be | * RQ 3.2.2: Where should PNDs equipped with these operations be | |||
| located for optimal performance gains? | located for optimal performance gains? | |||
| * RQ 3.2.3: Can the use of distributed AI algorithms across both | * RQ 3.2.3: Can the use of distributed AI algorithms across both | |||
| data center and edge computers be leveraged for creating optimal | data center and edge computers be leveraged for creating optimal | |||
| function allocation and the creation of semi-permanent datasets | function allocation? Can the creation of semi-permanent datasets | |||
| and analytics for usage trending and flow management resulting in | and analytics for usage trending and flow management result in | |||
| better localization of XR functions? | better localization of XR functions? | |||
| * RQ 3.2.4: Can COIN improve the dynamic distribution of control, | * RQ 3.2.4: Can COIN improve the dynamic distribution of control, | |||
| forwarding, and storage resources and related usage models in XR, | forwarding, and storage resources and related usage models in XR, | |||
| such as to integrate local and fog caching with cloud-based pre- | such as to integrate local and fog caching with cloud-based pre- | |||
| rendering, thus jointly optimizing COIN and higher layer protocols | rendering? Could this jointly optimize COIN and higher layer | |||
| to reduce latency and, more generally, manage the quality of XR | protocols to reduce latency and, more generally, manage the | |||
| sessions (e.g., through reduced in-network congestion and improved | quality of XR sessions (e.g., through reduced in-network | |||
| flow delivery by determining how to prioritize XR data)? | congestion and improved flow delivery by determining how to | |||
| prioritize XR data)? | ||||
| * RQ 3.2.5: Can COIN provide the necessary infrastructure for the | * RQ 3.2.5: Can COIN provide the necessary infrastructure for the | |||
| use of interactive XR everywhere? Particularly, how can a COIN | use of interactive XR everywhere? Particularly, how can a COIN | |||
| system enable the joint collaboration across all segments of the | system enable the joint collaboration across all segments of the | |||
| network (fog, edge, core, and cloud) to support functional | network (fog, edge, core, and cloud) to support functional | |||
| decompositions, including using edge resources without the need | decompositions, including using edge resources without the need | |||
| for a (remote) cloud connection? | for a (remote) cloud connection? | |||
| * RQ 3.2.6: How can COIN systems provide multistream efficient | * RQ 3.2.6: How can COIN systems provide multistream efficient | |||
| transmission and stream combining at the edge, including the | transmission and stream combining at the edge, including the | |||
| skipping to change at line 730 ¶ | skipping to change at line 732 ¶ | |||
| performers receive live feedback from the audience, which may also be | performers receive live feedback from the audience, which may also be | |||
| conveyed to other audience members. | conveyed to other audience members. | |||
| There are two main aspects: | There are two main aspects: | |||
| i. to emulate as closely as possible the experience of live | i. to emulate as closely as possible the experience of live | |||
| performances where the performers, audience, director, and | performances where the performers, audience, director, and | |||
| technicians are co-located in the same physical space, such as a | technicians are co-located in the same physical space, such as a | |||
| theater; and | theater; and | |||
| ii. to enhance traditional physical performances with features such | ii. to enhance conventional physical performances with features such | |||
| as personalization of the experience according to the | as personalization of the experience according to the | |||
| preferences or needs of the performers, directors, and audience | preferences or needs of the performers, directors, and audience | |||
| members. | members. | |||
| Examples of personalization include: | Examples of personalization include: | |||
| * Viewpoint selection, such as choosing a specific seat in the | * Viewpoint selection, such as choosing a specific seat in the | |||
| theater or for more advanced positioning of the audience member's | theater or for more advanced positioning of the audience member's | |||
| viewpoint outside of the traditional seating (i.e., amongst, | viewpoint outside of the conventional seating (i.e., amongst, | |||
| above, or behind the performers, but within some limits that may | above, or behind the performers, but within some limits that may | |||
| be imposed by the performers or the director for artistic | be imposed by the performers or the director for artistic | |||
| reasons); | reasons); | |||
| * Augmentation of the performance with subtitles, audio description, | * Augmentation of the performance with subtitles, audio description, | |||
| actor tagging, language translation, advertisements and product | actor tagging, language translation, advertisements and product | |||
| placement, and other enhancements and filters to make the | placement, and other enhancements and filters to make the | |||
| performance accessible to audience members who are disabled (e.g., | performance accessible to audience members who are disabled (e.g., | |||
| the removal of flashing images for audience members who have | the removal of flashing images for audience members who have | |||
| epilepsy or alternative color schemes for those who have color | epilepsy or alternative color schemes for those who have color | |||
| blindness). | blindness). | |||
| 3.3.2. Characterization | 3.3.2. Characterization | |||
| There are several chained functional entities that are candidates for | There are several chained functional entities that are candidates for | |||
| being deployed as (COIN) programs: | being deployed as COIN programs: | |||
| * Performer aggregation and editing functions | * Performer aggregation and editing functions | |||
| * Distribution and encoding functions | * Distribution and encoding functions | |||
| * Personalization functions | * Personalization functions | |||
| - to select which of the existing streams should be forwarded to | - to select which of the existing streams should be forwarded to | |||
| the audience member, remote performer, or member of the | the audience member, remote performer, or member of the | |||
| production team | production team | |||
| skipping to change at line 786 ¶ | skipping to change at line 788 ¶ | |||
| audience head position) when this processing has been offloaded | audience head position) when this processing has been offloaded | |||
| from the viewer's end system to the COIN function due to | from the viewer's end system to the COIN function due to | |||
| limited processing power in the end system or due to limited | limited processing power in the end system or due to limited | |||
| network bandwidth to receive all of the individual streams to | network bandwidth to receive all of the individual streams to | |||
| be processed. | be processed. | |||
| * Audience feedback sensor processing functions | * Audience feedback sensor processing functions | |||
| * Audience feedback aggregation functions | * Audience feedback aggregation functions | |||
| These are candidates for deployment as (COIN) programs in PNDs rather | These are candidates for deployment as COIN programs in PNDs rather | |||
| than being located in end systems (at the performers' site, the | than being located in end systems (at the performers' site, the | |||
| audience members' premises, or in a central cloud location) for | audience members' premises, or in a central cloud location) for | |||
| several reasons: | several reasons: | |||
| * Personalization of the performance according to viewer preferences | * Personalization of the performance according to viewer preferences | |||
| and requirements makes it infeasible to be done in a centralized | and requirements makes it infeasible to be done in a centralized | |||
| manner at the performer premises: the computational resources and | manner at the performer premises: the computational resources and | |||
| network bandwidth would need to scale with the number of | network bandwidth would need to scale with the number of | |||
| personalized streams. | personalized streams. | |||
| skipping to change at line 821 ¶ | skipping to change at line 823 ¶ | |||
| processing capabilities at centralized data centers. | processing capabilities at centralized data centers. | |||
| 3.3.3. Existing Solutions | 3.3.3. Existing Solutions | |||
| Note: Existing solutions for some aspects of this use case are | Note: Existing solutions for some aspects of this use case are | |||
| covered in Section 3.1, Section 3.2, and Section 5.1. | covered in Section 3.1, Section 3.2, and Section 5.1. | |||
| 3.3.4. Opportunities | 3.3.4. Opportunities | |||
| * Executing media processing and personalization functions on-path | * Executing media processing and personalization functions on-path | |||
| as (COIN) programs in PNDs can avoid detour/stretch to central | as COIN programs in PNDs can avoid detour/stretch to central | |||
| servers, thus reducing latency and bandwidth consumption. For | servers, thus reducing latency and bandwidth consumption. For | |||
| example, the overall delay for performance capture, aggregation, | example, the overall delay for performance capture, aggregation, | |||
| distribution, personalization, consumption, capture of audience | distribution, personalization, consumption, capture of audience | |||
| response, feedback processing, aggregation, and rendering should | response, feedback processing, aggregation, and rendering should | |||
| be achieved within an upper bound of latency (the tolerable amount | be achieved within an upper bound of latency (the tolerable amount | |||
| is to be defined, but in the order of 100s of ms to mimic | is to be defined, but in the order of 100s of ms to mimic | |||
| performers perceiving audience feedback, such as laughter or other | performers perceiving audience feedback, such as laughter or other | |||
| emotional responses in a theater setting). | emotional responses in a theater setting). | |||
| * Processing of media streams allows (COIN) programs, PNDs, and the | * Processing of media streams allows COIN programs, PNDs, and the | |||
| wider (COIN) system/environment to be contextually aware of flows | wider COIN system/environment to be contextually aware of flows | |||
| and their requirements, which can be used for determining network | and their requirements, which can be used for determining network | |||
| treatment of the flows (e.g., path selection, prioritization, | treatment of the flows (e.g., path selection, prioritization, | |||
| multiflow coordination, synchronization, and resilience). | multiflow coordination, synchronization, and resilience). | |||
| 3.3.5. Research Questions | 3.3.5. Research Questions | |||
| * RQ 3.3.1: In which PNDs should (COIN) programs for aggregation, | * RQ 3.3.1: In which PNDs should COIN programs for aggregation, | |||
| encoding, and personalization functions be located? Close to the | encoding, and personalization functions be located? Close to the | |||
| performers or close to the viewers? | performers or close to the viewers? | |||
| * RQ 3.3.2: How far from the direct network path from performer to | * RQ 3.3.2: How far from the direct network path from performer to | |||
| viewer should (COIN) programs be located, considering the latency | viewer should COIN programs be located, considering the latency | |||
| implications of path-stretch and the availability of processing | implications of path-stretch and the availability of processing | |||
| capacity at PNDs? How should tolerances be defined by users? | capacity at PNDs? How should tolerances be defined by users? | |||
| * RQ 3.3.3: Should users decide which PNDs should be used for | * RQ 3.3.3: Should users decide which PNDs should be used for | |||
| executing (COIN) programs for their flows, or should they express | executing COIN programs for their flows, or should they express | |||
| requirements and constraints that will direct decisions by the | requirements and constraints that will direct decisions by the | |||
| orchestrator/manager of a COIN system? In case of the latter, how | orchestrator/manager of a COIN system? In case of the latter, how | |||
| can users specify requirements on network and processing metrics | can users specify requirements on network and processing metrics | |||
| (such as latency and throughput bounds)? | (such as latency and throughput bounds)? | |||
| * RQ 3.3.4: How to achieve synchronization across multiple streams | * RQ 3.3.4: How to achieve synchronization across multiple streams | |||
| to allow for merging, audio-video interpolation, and other cross- | to allow for merging, audio-video interpolation, and other cross- | |||
| stream processing functions that require time synchronization for | stream processing functions that require time synchronization for | |||
| the integrity of the output? How can this be achieved considering | the integrity of the output? How can this be achieved considering | |||
| that synchronization may be required between flows that are: | that synchronization may be required between flows that are: | |||
| skipping to change at line 879 ¶ | skipping to change at line 881 ¶ | |||
| This RQ raises issues associated with synchronization across | This RQ raises issues associated with synchronization across | |||
| multiple media streams and substreams [RFC7272] as well as time | multiple media streams and substreams [RFC7272] as well as time | |||
| synchronization between PNDs/routers on multiple paths [RFC8039]. | synchronization between PNDs/routers on multiple paths [RFC8039]. | |||
| * RQ 3.3.5: Where will COIN programs be executed? In the data plane | * RQ 3.3.5: Where will COIN programs be executed? In the data plane | |||
| of PNDs, in other on-router computational capabilities within | of PNDs, in other on-router computational capabilities within | |||
| PNDs, or in adjacent computational nodes? | PNDs, or in adjacent computational nodes? | |||
| * RQ 3.3.6: Are computationally intensive tasks, such as video | * RQ 3.3.6: Are computationally intensive tasks, such as video | |||
| stitching or media recognition and annotation (cf. Section 3.2), | stitching or media recognition and annotation (cf. Section 3.2), | |||
| considered as suitable candidate (COIN) programs or should they be | considered as suitable candidate COIN programs or should they be | |||
| implemented in end systems? | implemented in end systems? | |||
| * RQ 3.3.7: If the execution of COIN programs is offloaded to | * RQ 3.3.7: If the execution of COIN programs is offloaded to | |||
| computational nodes outside of PNDs (e.g., for processing by | computational nodes outside of PNDs (e.g., for processing by | |||
| GPUs), should this still be considered as COIN? Where is the | GPUs), should this still be considered as COIN? Where is the | |||
| boundary between COIN capabilities and explicit routing of flows | boundary between COIN capabilities and explicit routing of flows | |||
| to end systems? | to end systems? | |||
| 3.3.6. Additional Desirable Capabilities | 3.3.6. Additional Desirable Capabilities | |||
| In addition to the capabilities driven by the research questions | In addition to the capabilities driven by the research questions | |||
| above, there are a number of other features that solutions in this | above, there are a number of other features that solutions in this | |||
| space might benefit from. In particular, if users are indeed | space might benefit from. In particular, if users are indeed | |||
| empowered to specify requirements on network and processing metrics, | empowered to specify requirements on network and processing metrics, | |||
| one important capability of COIN systems will be to respect these | one important capability of COIN systems will be to respect these | |||
| user-specified requirements and constraints when routing flows and | user-specified requirements and constraints when routing flows and | |||
| selecting PNDs for executing (COIN) programs. Similarly, solutions | selecting PNDs for executing COIN programs. Similarly, solutions | |||
| should be able to synchronize flow treatment and processing across | should be able to synchronize flow treatment and processing across | |||
| multiple related flows, which may be on disjoint paths, to provide | multiple related flows, which may be on disjoint paths, to provide | |||
| similar performance to different entities. | similar performance to different entities. | |||
| 4. Supporting New COIN Systems | 4. Supporting New COIN Systems | |||
| 4.1. In-Network Control / Time-Sensitive Applications | 4.1. In-Network Control / Time-Sensitive Applications | |||
| 4.1.1. Description | 4.1.1. Description | |||
| The control of physical processes and components of industrial | The control of physical processes and components of industrial | |||
| production lines is essential for the growing automation of | production lines is essential for the growing automation of | |||
| production and ideally allows for a consistent quality level. | production and ideally allows for a consistent quality level. | |||
| Traditionally, the control has been exercised by control software | Commonly, the control has been exercised by control software running | |||
| running on Programmable Logic Controllers (PLCs) located directly | on Programmable Logic Controllers (PLCs) located directly next to the | |||
| next to the controlled process or component. This approach is best | controlled process or component. This approach is best suited for | |||
| suited for settings with a simple model that is focused on a single | settings with a simple model that is focused on a single or a few | |||
| or a few controlled components. | controlled components. | |||
| Modern production lines and shop floors are characterized by an | Modern production lines and shop floors are characterized by an | |||
| increasing number of involved devices and sensors, a growing level of | increasing number of involved devices and sensors, a growing level of | |||
| dependency between the different components, and more complex control | dependency between the different components, and more complex control | |||
| models. A centralized control is desirable to manage the large | models. A centralized control is desirable to manage the large | |||
| amount of available information, which often has to be preprocessed | amount of available information, which often has to be preprocessed | |||
| or aggregated with other information before it can be used. As a | or aggregated with other information before it can be used. As a | |||
| result, computations are increasingly spatially decoupled and moved | result, computations are increasingly spatially decoupled and moved | |||
| away from the controlled objects, thus inducing additional latency. | away from the controlled objects, thus inducing additional latency. | |||
| Instead, moving compute functionality onto COIN execution | Instead, moving compute functionality onto COIN execution | |||
| skipping to change at line 966 ¶ | skipping to change at line 968 ¶ | |||
| latencies are essential, there is an even greater need for stable and | latencies are essential, there is an even greater need for stable and | |||
| deterministic levels of latency, because controllers can generally | deterministic levels of latency, because controllers can generally | |||
| cope with different levels of latency if they are designed for them, | cope with different levels of latency if they are designed for them, | |||
| but they are significantly challenged by dynamically changing or | but they are significantly challenged by dynamically changing or | |||
| unstable latencies. The unpredictable latency of the Internet | unstable latencies. The unpredictable latency of the Internet | |||
| exemplifies this problem if, for example, off-premise cloud platforms | exemplifies this problem if, for example, off-premise cloud platforms | |||
| are included. | are included. | |||
| 4.1.3. Existing Solutions | 4.1.3. Existing Solutions | |||
| Control functionality is traditionally executed on PLCs close to the | Control functionality is commonly executed on PLCs close to the | |||
| machinery. These PLCs typically require vendor-specific | machinery. These PLCs typically require vendor-specific | |||
| implementations and are often hard to upgrade and update, which makes | implementations and are often hard to upgrade and update, which makes | |||
| such control processes inflexible and difficult to manage. Moving | such control processes inflexible and difficult to manage. Moving | |||
| computations to more freely programmable devices thus has the | computations to more freely programmable devices thus has the | |||
| potential of significantly improving the flexibility. In this | potential of significantly improving the flexibility. In this | |||
| context, directly moving control functionality to (central) cloud | context, directly moving control functionality to (central) cloud | |||
| environments is generally possible, yet only feasible if latency | environments is generally possible, yet only feasible if latency | |||
| constraints are lenient. | constraints are lenient. | |||
| Early approaches such as [RÜTH] and [VESTIN] have already shown the | Early approaches such as [RÜTH] and [VESTIN] have already shown the | |||
| skipping to change at line 1018 ¶ | skipping to change at line 1020 ¶ | |||
| * RQ 4.1.3: How to find suitable tradeoffs regarding simplicity of | * RQ 4.1.3: How to find suitable tradeoffs regarding simplicity of | |||
| the control function ("accuracy of the control") and | the control function ("accuracy of the control") and | |||
| implementation complexity ("implementability")? | implementation complexity ("implementability")? | |||
| * RQ 4.1.4: How to (dynamically) distribute simplified versions of | * RQ 4.1.4: How to (dynamically) distribute simplified versions of | |||
| the global (control) function among COIN execution environments? | the global (control) function among COIN execution environments? | |||
| * RQ 4.1.5: How to (dynamically) compose or recompose the | * RQ 4.1.5: How to (dynamically) compose or recompose the | |||
| distributed control functions? | distributed control functions? | |||
| * RQ 4.1.6: Can there be different control levels, e.g., "quite | * RQ 4.1.6: Can there be different control levels? For example, | |||
| inaccurate & very low latency" (PNDs, deep in the network), "more | "quite inaccurate & very low latency" for PNDs deep in the | |||
| accurate & higher latency" (more powerful COIN execution | network; "more accurate & higher latency" for more powerful COIN | |||
| environments, farther away), "very accurate & very high latency" | execution environments that are farther away; and "very accurate & | |||
| (cloud environments, far away)? | very high latency" for cloud environments that are far away. | |||
| * RQ 4.1.7: Who decides which control instance is executed and which | * RQ 4.1.7: Who decides which control instance is executed and which | |||
| information can be used for this decision? | information can be used for this decision? | |||
| * RQ 4.1.8: How do the different control instances interact and how | * RQ 4.1.8: How do the different control instances interact and how | |||
| can we define their hierarchy? | can we define their hierarchy? | |||
| 4.1.6. Additional Desirable Capabilities | 4.1.6. Additional Desirable Capabilities | |||
| In addition to the capabilities driven by the research questions | In addition to the capabilities driven by the research questions | |||
| skipping to change at line 1106 ¶ | skipping to change at line 1108 ¶ | |||
| or sampling frequency is often larger than required. Consequently, | or sampling frequency is often larger than required. Consequently, | |||
| it is likely that more data is transmitted than is needed or desired, | it is likely that more data is transmitted than is needed or desired, | |||
| prompting the deployment of filtering techniques. For example, COIN | prompting the deployment of filtering techniques. For example, COIN | |||
| programs deployed in the on-premise network could filter out | programs deployed in the on-premise network could filter out | |||
| redundant or undesired data before it leaves the premise using simple | redundant or undesired data before it leaves the premise using simple | |||
| traffic filters, thus reducing the required (upload) bandwidths. The | traffic filters, thus reducing the required (upload) bandwidths. The | |||
| available sensor data could be scaled down using standard statistical | available sensor data could be scaled down using standard statistical | |||
| sampling, packet-based sub-sampling (i.e., only forwarding every n-th | sampling, packet-based sub-sampling (i.e., only forwarding every n-th | |||
| packet), or using filtering as long as the sensor value is in an | packet), or using filtering as long as the sensor value is in an | |||
| uninteresting range while forwarding with a higher resolution once | uninteresting range while forwarding with a higher resolution once | |||
| the sensor value range becomes interesting (cf. [KUNZE-SIGNAL]). | the sensor value range becomes interesting (cf. [KUNZE-SIGNAL] and | |||
| While the former variants are oblivious to the semantics of the | [TIRPITZ-REDUCIO]). While the former variants are oblivious to the | |||
| sensor data, the latter variant requires an understanding of the | semantics of the sensor data, the latter variant requires an | |||
| current sensor levels. In any case, it is important that end hosts | understanding of the current sensor levels. In any case, it is | |||
| are informed about the filtering so that they can distinguish between | important that end hosts are informed about the filtering so that | |||
| data loss and data filtered out on purpose. | they can distinguish between data loss and data filtered out on | |||
| purpose. | ||||
| In practice, the collected data is further processed using various | In practice, the collected data is further processed using various | |||
| forms of computation. Some of them are very complex or need the | forms of computation. Some of them are very complex or need the | |||
| complete sensor data during the computation, but there are also | complete sensor data during the computation, but there are also | |||
| simpler operations that can already be done on subsets of the overall | simpler operations that can already be done on subsets of the overall | |||
| dataset or earlier on the communication path as soon as all data is | dataset or earlier on the communication path as soon as all data is | |||
| available. One example is finding the maximum of all sensor values, | available. One example is finding the maximum of all sensor values, | |||
| which can either be done iteratively at each intermediate hop or at | which can either be done iteratively at each intermediate hop or at | |||
| the first hop where all data is available. Using expert knowledge | the first hop where all data is available. Using expert knowledge | |||
| about the exact computation steps and the concrete transmission path | about the exact computation steps and the concrete transmission path | |||
| skipping to change at line 1163 ¶ | skipping to change at line 1166 ¶ | |||
| context of general stream processing systems. | context of general stream processing systems. | |||
| * RQ 4.2.1: How can the overall data processing pipeline be divided | * RQ 4.2.1: How can the overall data processing pipeline be divided | |||
| into individual processing steps that could then be deployed as | into individual processing steps that could then be deployed as | |||
| COIN functionality? | COIN functionality? | |||
| * RQ 4.2.2: How to design COIN programs for (semantic) packet | * RQ 4.2.2: How to design COIN programs for (semantic) packet | |||
| filtering and which filtering criteria make sense? | filtering and which filtering criteria make sense? | |||
| * RQ 4.2.3: Which kinds of COIN programs can be leveraged for | * RQ 4.2.3: Which kinds of COIN programs can be leveraged for | |||
| (pre)processing steps and what complexity can they have? | preprocessing and processing steps and what complexity can they | |||
| have? | ||||
| * RQ 4.2.4: How to distribute and coordinate COIN programs? | * RQ 4.2.4: How to distribute and coordinate COIN programs? | |||
| * RQ 4.2.5: How to dynamically reconfigure and recompose COIN | * RQ 4.2.5: How to dynamically reconfigure and recompose COIN | |||
| programs? | programs? | |||
| * RQ 4.2.6: How to incorporate the (pre)processing and filtering | * RQ 4.2.6: How to incorporate the preprocessing, processing, and | |||
| steps into the overall system? | filtering steps into the overall system? | |||
| * RQ 4.2.7: How can changes to the data by COIN programs be signaled | * RQ 4.2.7: How can changes to the data by COIN programs be signaled | |||
| to the end hosts? | to the end hosts? | |||
| 4.2.6. Additional Desirable Capabilities | 4.2.6. Additional Desirable Capabilities | |||
| In addition to the capabilities driven by the research questions | In addition to the capabilities driven by the research questions | |||
| above, there are a number of other features that such large-volume | above, there are a number of other features that such large-volume | |||
| applications could benefit from. In particular, conforming to | applications could benefit from. In particular, conforming to | |||
| standard application-level syntax and semantics likely simplifies | standard application-level syntax and semantics likely simplifies | |||
| skipping to change at line 1195 ¶ | skipping to change at line 1199 ¶ | |||
| the performance of any approach developed based on the above research | the performance of any approach developed based on the above research | |||
| questions. | questions. | |||
| 4.3. Industrial Safety | 4.3. Industrial Safety | |||
| 4.3.1. Description | 4.3.1. Description | |||
| Despite an increasing automation in production processes, human | Despite an increasing automation in production processes, human | |||
| workers are still often necessary. Consequently, safety measures | workers are still often necessary. Consequently, safety measures | |||
| have a high priority to ensure that no human life is endangered. In | have a high priority to ensure that no human life is endangered. In | |||
| traditional factories, the regions of contact between humans and | conventional factories, the regions of contact between humans and | |||
| machines are well defined and interactions are simple. Simple safety | machines are well defined and interactions are simple. Simple safety | |||
| measures like emergency switches at the working positions are enough | measures like emergency switches at the working positions are enough | |||
| to provide a good level of safety. | to provide a good level of safety. | |||
| Modern factories are characterized by increasingly dynamic and | Modern factories are characterized by increasingly dynamic and | |||
| complex environments with new interaction scenarios between humans | complex environments with new interaction scenarios between humans | |||
| and robots. Robots can directly assist humans, perform tasks | and robots. Robots can directly assist humans, perform tasks | |||
| autonomously, or even freely move around on the shop floor. Hence, | autonomously, or even freely move around on the shop floor. Hence, | |||
| the intersect between the human working area and the robots grows, | the intersect between the human working area and the robots grows, | |||
| and it is harder for human workers to fully observe the complete | and it is harder for human workers to fully observe the complete | |||
| skipping to change at line 1289 ¶ | skipping to change at line 1293 ¶ | |||
| Delivery of content to end users often relies on Content Delivery | Delivery of content to end users often relies on Content Delivery | |||
| Networks (CDNs). CDNs store said content closer to end users for | Networks (CDNs). CDNs store said content closer to end users for | |||
| latency-reduced delivery as well as to reduce load on origin servers. | latency-reduced delivery as well as to reduce load on origin servers. | |||
| For this, they often utilize DNS-based indirection to serve the | For this, they often utilize DNS-based indirection to serve the | |||
| request on behalf of the origin server. Both of these objectives are | request on behalf of the origin server. Both of these objectives are | |||
| within scope to be addressed by COIN methods and solutions. | within scope to be addressed by COIN methods and solutions. | |||
| 5.1.2. Characterization | 5.1.2. Characterization | |||
| From the perspective of this draft, a CDN can be interpreted as a | From the perspective of this draft, a CDN can be interpreted as a | |||
| (network service level) set of (COIN) programs. These programs | (network service level) set of COIN programs. These programs | |||
| implement a distributed logic for first distributing content from the | implement a distributed logic for first distributing content from the | |||
| origin server to the CDN ingress and then further to the CDN | origin server to the CDN ingress and then further to the CDN | |||
| replication points, which ultimately serve the user-facing content | replication points, which ultimately serve the user-facing content | |||
| requests. | requests. | |||
| 5.1.3. Existing Solutions | 5.1.3. Existing Solutions | |||
| CDN technologies have been well described and deployed in the | CDN technologies have been well described and deployed in the | |||
| existing Internet. Core technologies like Global Server Load | existing Internet. Core technologies like Global Server Load | |||
| Balancing (GSLB) [GSLB] and Anycast server solutions are used to deal | Balancing (GSLB) [GSLB] and Anycast server solutions are used to deal | |||
| skipping to change at line 1320 ¶ | skipping to change at line 1324 ¶ | |||
| Studies such as those in [FCDN] have shown that content distribution | Studies such as those in [FCDN] have shown that content distribution | |||
| at the level of named content, utilizing efficient (e.g., Layer 2 | at the level of named content, utilizing efficient (e.g., Layer 2 | |||
| (L2)) multicast for replication towards edge CDN nodes, can | (L2)) multicast for replication towards edge CDN nodes, can | |||
| significantly increase the overall network and server efficiency. It | significantly increase the overall network and server efficiency. It | |||
| also reduces indirection latency for content retrieval as well as | also reduces indirection latency for content retrieval as well as | |||
| required edge storage capacity by benefiting from the increased | required edge storage capacity by benefiting from the increased | |||
| network efficiency to renew edge content more quickly against | network efficiency to renew edge content more quickly against | |||
| changing demand. Works such as those in [SILKROAD] utilize | changing demand. Works such as those in [SILKROAD] utilize | |||
| Application-Specific Integrated Circuits (ASICs) to replace server- | Application-Specific Integrated Circuits (ASICs) to replace server- | |||
| based load balancing with significant cost reductions, thus | based load balancing with significant cost reductions, thus | |||
| showcasing the potential for in-network CN operations. | showcasing the potential for in-network operations. | |||
| 5.1.4. Opportunities | 5.1.4. Opportunities | |||
| * Supporting service-level routing of requests (such as service | * Supporting service-level routing of requests (such as service | |||
| routing in [APPCENTRES]) to specific (COIN) program instances may | routing in [APPCENTRES]) to specific COIN program instances may | |||
| improve on end-user experience in retrieving faster (and possibly | improve on end-user experience in retrieving faster (and possibly | |||
| better quality) content. | better quality) content. | |||
| * COIN instances may also be utilized to integrate service-related | * COIN instances may also be utilized to integrate service-related | |||
| telemetry information to support the selection of the final | telemetry information to support the selection of the final | |||
| service instance destination from a pool of possible choices. | service instance destination from a pool of possible choices. | |||
| * Supporting the selection of a service destination from a set of | * Supporting the selection of a service destination from a set of | |||
| possible (e.g., virtualized, distributed) choices, e.g., through | possible choices (virtualized and distributed) in COIN program | |||
| constraint-based routing decisions (see [APPCENTRES]) in (COIN) | instances (e.g., through constraint-based routing decisions as | |||
| program instances to improve the overall end-user experience by | seen in [APPCENTRES]) to improve the overall end-user experience | |||
| selecting a "more suitable" service destination over another, | by selecting a "more suitable" service destination over another | |||
| e.g., avoiding/reducing overload situations in specific service | (e.g., avoiding/reducing overload situations in specific service | |||
| destinations. | destinations). | |||
| * Supporting L2 capabilities for multicast (compute interconnection | * Supporting L2 capabilities for multicast (compute interconnection | |||
| and collective communication in [APPCENTRES]), e.g., through in- | and collective communication as seen in [APPCENTRES]) may reduce | |||
| network/switch-based replication decisions (and their | the network utilization and therefore increase the overall system | |||
| optimizations) based on dynamic group membership information, may | efficiency. For example, this support may be through in-network, | |||
| reduce the network utilization and therefore increase the overall | switch-based replication decisions (and their optimizations) based | |||
| system efficiency. | on dynamic group membership information. | |||
| 5.1.5. Research Questions | 5.1.5. Research Questions | |||
| In addition to the research questions in Section 3.1.5: | In addition to the research questions in Section 3.1.5: | |||
| * RQ 5.1.1: How to utilize L2 multicast to improve on CDN designs? | * RQ 5.1.1: How to utilize L2 multicast to improve on CDN designs? | |||
| How to utilize COIN capabilities in those designs, such as through | How to utilize COIN capabilities in those designs, such as through | |||
| on-path optimizations for fanouts? | on-path optimizations for fanouts? | |||
| * RQ 5.1.2: What forwarding methods may support the required | * RQ 5.1.2: What forwarding methods may support the required | |||
| multicast capabilities (see [FCDN]) and how could programmable | multicast capabilities (see [FCDN]) and how could programmable | |||
| COIN forwarding elements support those methods (e.g., extending | COIN forwarding elements support those methods (e.g., extending | |||
| current SDN capabilities)? | current SDN capabilities)? | |||
| * RQ 5.1.3: What are the constraints, reflecting both compute and | * RQ 5.1.3: What are the constraints, reflecting both compute and | |||
| network capabilities, that may support joint optimization of | network capabilities, that may support joint optimization of | |||
| routing and computing? How could intermediary (COIN) program | routing and computing? How could intermediary COIN program | |||
| instances support, for example, the aggregation of those | instances support, for example, the aggregation of those | |||
| constraints to reduce overall telemetry network traffic? | constraints to reduce overall telemetry network traffic? | |||
| * RQ 5.1.4: Could traffic steering be performed on the data path and | * RQ 5.1.4: Could traffic steering be performed on the data path and | |||
| per service request (e.g., through (COIN) program instances that | per service request (e.g., through COIN program instances that | |||
| perform novel routing request lookup methods)? If so, what would | perform novel routing request lookup methods)? If so, what would | |||
| be performance improvements? | be performance improvements? | |||
| * RQ 5.1.5: How could storage be traded off against frequent, | * RQ 5.1.5: How could storage be traded off against frequent, | |||
| multicast-based replication (see [FCDN])? Could intermediary/in- | multicast-based replication (see [FCDN])? Could intermediary/in- | |||
| network (COIN) elements support the storage beyond current | network COIN elements support the storage beyond current endpoint- | |||
| endpoint-based methods? | based methods? | |||
| * RQ 5.1.6: What scalability limits exist for L2 multicast | * RQ 5.1.6: What scalability limits exist for L2 multicast | |||
| capabilities? How to overcome them, e.g., through (COIN) program | capabilities? How to overcome them, e.g., through COIN program | |||
| instances serving as stateful subtree aggregators to reduce the | instances serving as stateful subtree aggregators to reduce the | |||
| needed identifier space (e.g., for bit-based forwarding)? | needed identifier space (e.g., for bit-based forwarding)? | |||
| 5.2. Compute-Fabric-as-a-Service (CFaaS) | 5.2. Compute-Fabric-as-a-Service (CFaaS) | |||
| 5.2.1. Description | 5.2.1. Description | |||
| We interpret connected compute resources as operating at a suitable | We interpret connected compute resources as operating at a suitable | |||
| layer, such as Ethernet, InfiniBand, but also at Layer 3 (L3), to | layer, such as Ethernet, InfiniBand, but also at Layer 3 (L3), to | |||
| allow for the exchange of suitable invocation methods, such as those | allow for the exchange of suitable invocation methods, such as those | |||
| exposed through verb-based or socket-based APIs. The specific | exposed through verb-based or socket-based APIs. The specific | |||
| invocations here are subject to the applications running over a | invocations here are subject to the applications running over a | |||
| selected pool of such connected compute resources. | selected pool of such connected compute resources. | |||
| Providing such a pool of connected compute resources (e.g., in | Providing such a pool of connected compute resources (e.g., in | |||
| regional or edge data centers, base stations, and even end-user | regional or edge data centers, base stations, and even end-user | |||
| devices) opens up the opportunity for infrastructure providers to | devices) opens up the opportunity for infrastructure providers to | |||
| offer CFaaS-like offerings to application providers, leaving the | offer CFaaS-like offerings to application providers, leaving the | |||
| choice of the appropriate invocation method to the app and service | choice of the appropriate invocation method to the app and service | |||
| provider. Through this, the compute resources can be utilized to | provider. Through this, the compute resources can be utilized to | |||
| execute the desired (COIN) programs of which the application is | execute the desired COIN programs of which the application is | |||
| composed, while utilizing the interconnection between those compute | composed, while utilizing the interconnection between those compute | |||
| resources to do so in a distributed manner. | resources to do so in a distributed manner. | |||
| 5.2.2. Characterization | 5.2.2. Characterization | |||
| We foresee those CFaaS offerings to be tenant-specific, with a tenant | We foresee those CFaaS offerings to be tenant-specific, with a tenant | |||
| here defined as the provider of at least one application. For this, | here defined as the provider of at least one application. For this, | |||
| we foresee an interaction between the CFaaS provider and tenant to | we foresee an interaction between the CFaaS provider and tenant to | |||
| dynamically select the appropriate resources to define the demand | dynamically select the appropriate resources to define the demand | |||
| side of the fabric. Conversely, we also foresee the supply side of | side of the fabric. Conversely, we also foresee the supply side of | |||
| skipping to change at line 1433 ¶ | skipping to change at line 1437 ¶ | |||
| 5.2.3. Existing Solutions | 5.2.3. Existing Solutions | |||
| There exist a number of technologies to build non-local (wide area) | There exist a number of technologies to build non-local (wide area) | |||
| L2 as well as L3 networks, which in turn allows for connecting | L2 as well as L3 networks, which in turn allows for connecting | |||
| compute resources for a distributed computational task. For | compute resources for a distributed computational task. For | |||
| instance, 5G-LAN [SA2-5GLAN] specifies a cellular L2 bearer for | instance, 5G-LAN [SA2-5GLAN] specifies a cellular L2 bearer for | |||
| interconnecting L2 resources within a single cellular operator. The | interconnecting L2 resources within a single cellular operator. The | |||
| work in [ICN-5GLAN] outlines using a path-based forwarding solution | work in [ICN-5GLAN] outlines using a path-based forwarding solution | |||
| over 5G-LAN as well as SDN-based LAN connectivity together with an | over 5G-LAN as well as SDN-based LAN connectivity together with an | |||
| Information-Centric Network (ICN) based naming of IP and HTTP-level | ICN-based naming of IP and HTTP-level resources. This is done in | |||
| resources. This is done in order to achieve computational | order to achieve computational interconnections, including scenarios | |||
| interconnections, including scenarios such as those outlined in | such as those outlined in Section 3.1. L2 network virtualization | |||
| Section 3.1. L2 network virtualization (see [L2Virt]) is one of the | (see [L2Virt]) is one of the methods used for realizing so-called | |||
| methods used for realizing so-called "cloud-native" applications for | "cloud-based" applications for applications developed with "physical" | |||
| applications developed with "physical" networks in mind, thus forming | networks in mind, thus forming an interconnected compute and storage | |||
| an interconnected compute and storage fabric. | fabric. | |||
| 5.2.4. Opportunities | 5.2.4. Opportunities | |||
| * Supporting service-level routing of compute resource requests | * Supporting service-level routing of compute resource requests | |||
| (such as service routing in [APPCENTRES]) may allow for utilizing | (such as service routing in [APPCENTRES]) may allow for utilizing | |||
| the wealth of compute resources in the overall CFaaS fabric for | the wealth of compute resources in the overall CFaaS fabric for | |||
| execution of distributed applications, where the distributed | execution of distributed applications, where the distributed | |||
| constituents of those applications are realized as (COIN) programs | constituents of those applications are realized as COIN programs | |||
| and executed within a COIN system as (COIN) program instances. | and executed within a COIN system as COIN program instances. | |||
| * Supporting the constraint-based selection of a specific (COIN) | * Supporting the constraint-based selection of a specific COIN | |||
| program instance over others (such as constraint-based routing in | program instance over others (such as constraint-based routing in | |||
| [APPCENTRES]) will allow for optimizing both the CFaaS provider | [APPCENTRES]) will allow for optimizing both the CFaaS provider | |||
| constraints as well as tenant-specific constraints. | constraints as well as tenant-specific constraints. | |||
| * Supporting L2 and L3 capabilities for multicast (such as compute | * Supporting L2 and L3 capabilities for multicast (such as compute | |||
| interconnection and collective communication in [APPCENTRES]) will | interconnection and collective communication in [APPCENTRES]) will | |||
| allow for decreasing both network utilization but also possible | allow for decreasing both network utilization but also possible | |||
| compute utilization (due to avoiding unicast replication at those | compute utilization (due to avoiding unicast replication at those | |||
| compute endpoints), thereby decreasing total cost of ownership for | compute endpoints), thereby decreasing total cost of ownership for | |||
| the CFaaS offering. | the CFaaS offering. | |||
| * Supporting the enforcement of trust relationships and isolation | * Supporting intermediary COIN program instances to allow for the | |||
| policies through intermediary (COIN) program instances, e.g., | enforcement of trust relationships and isolation policies (e.g., | |||
| enforcing specific traffic shares or strict isolation of traffic | enforcing specific traffic shares or strict isolation of traffic | |||
| through differentiated queueing. | through differentiated queueing). | |||
| 5.2.5. Research Questions | 5.2.5. Research Questions | |||
| In addition to the research questions in Section 3.1.5: | In addition to the research questions in Section 3.1.5: | |||
| * RQ 5.2.1: How to convey tenant-specific requirements for the | * RQ 5.2.1: How to convey tenant-specific requirements for the | |||
| creation of the CFaaS fabric? | creation of the CFaaS fabric? | |||
| * RQ 5.2.2: How to dynamically integrate resources into the compute | * RQ 5.2.2: How to dynamically integrate resources into the compute | |||
| fabric being utilized for the app execution (those resources | fabric being utilized for the app execution (those resources | |||
| include, but are not limited to, end-user provided resources), | include, but are not limited to, end-user provided resources), | |||
| particularly when driven by tenant-level requirements and changing | particularly when driven by tenant-level requirements and changing | |||
| service-specific constraints? How can those resources be exposed | service-specific constraints? How can those resources be exposed | |||
| through possible (COIN) execution environments? | through possible COIN execution environments? | |||
| * RQ 5.2.3: How to utilize COIN capabilities to aid the availability | * RQ 5.2.3: How to utilize COIN capabilities to aid the availability | |||
| and accountability of resources, i.e., what may be (COIN) programs | and accountability of resources, i.e., what may be COIN programs | |||
| for a CFaaS environment that in turn would utilize the distributed | for a CFaaS environment that in turn would utilize the distributed | |||
| execution capability of a COIN system? | execution capability of a COIN system? | |||
| * RQ 5.2.4: How to utilize COIN capabilities to enforce traffic and | * RQ 5.2.4: How to utilize COIN capabilities to enforce traffic and | |||
| isolation policies for establishing trust between tenant and CFaaS | isolation policies for establishing trust between tenant and CFaaS | |||
| provider in an assured operation? | provider in an assured operation? | |||
| * RQ 5.2.5: How to optimize the interconnection of compute | * RQ 5.2.5: How to optimize the interconnection of compute | |||
| resources, including those dynamically added and removed during | resources, including those dynamically added and removed during | |||
| the provisioning of the tenant-specific compute fabric? | the provisioning of the tenant-specific compute fabric? | |||
| skipping to change at line 1596 ¶ | skipping to change at line 1600 ¶ | |||
| network programming of individual virtual switches. To our | network programming of individual virtual switches. To our | |||
| knowledge, no complete solution has been developed for deploying | knowledge, no complete solution has been developed for deploying | |||
| virtual COIN programs over mobile or data center networks. | virtual COIN programs over mobile or data center networks. | |||
| 5.3.4. Opportunities | 5.3.4. Opportunities | |||
| Virtual network programming by tenants could bring benefits such as: | Virtual network programming by tenants could bring benefits such as: | |||
| * A unified programming model, which can facilitate porting COIN | * A unified programming model, which can facilitate porting COIN | |||
| programs between data centers, 5G networks, and other fixed and | programs between data centers, 5G networks, and other fixed and | |||
| wireless networks, as well as sharing controller, code and | wireless networks, as well as sharing controllers, code, and | |||
| expertise. | expertise. | |||
| * Increasing the level of customization available to customers/ | * Increasing the level of customization available to customers/ | |||
| tenants of mobile networks or data centers compared to typical | tenants of mobile networks or data centers compared to typical | |||
| configuration capabilities. For example, 5G network evolution | configuration capabilities. For example, 5G network evolution | |||
| points to an ever-increasing specialization and customization of | points to an ever-increasing specialization and customization of | |||
| private mobile networks, which could be handled by tenants using a | private mobile networks, which could be handled by tenants using a | |||
| programming model similar to P4. | programming model similar to P4. | |||
| * Using network programs to influence underlying network services | * Using network programs to influence underlying network services | |||
| skipping to change at line 1669 ¶ | skipping to change at line 1673 ¶ | |||
| 6.1.1. Description | 6.1.1. Description | |||
| There is a growing range of use cases demanding the realization of AI | There is a growing range of use cases demanding the realization of AI | |||
| training capabilities among distributed endpoints. One such use case | training capabilities among distributed endpoints. One such use case | |||
| is to distribute large-scale model training across more than one data | is to distribute large-scale model training across more than one data | |||
| center (e.g., when facing energy issues at a single site or when | center (e.g., when facing energy issues at a single site or when | |||
| simply reaching the scale of training capabilities at one site, thus | simply reaching the scale of training capabilities at one site, thus | |||
| wanting to complement training with the capabilities of another or | wanting to complement training with the capabilities of another or | |||
| possibly many sites). From a COIN perspective, those capabilities | possibly many sites). From a COIN perspective, those capabilities | |||
| may be realized as (COIN) programs and executed throughout a COIN | may be realized as COIN programs and executed throughout a COIN | |||
| system, including in PNDs. | system, including in PNDs. | |||
| 6.1.2. Characterization | 6.1.2. Characterization | |||
| Some solutions may desire the localization of reasoning logic (e.g., | Some solutions may desire the localization of reasoning logic (e.g., | |||
| for deriving attributes that better preserve privacy of the utilized | for deriving attributes that better preserve privacy of the utilized | |||
| raw input data). Quickly establishing (COIN) program instances in | raw input data). Quickly establishing COIN program instances in | |||
| nearby compute resources, including PNDs, may even satisfy such | nearby compute resources, including PNDs, may even satisfy such | |||
| localization demands on the fly (e.g., when a particular use is being | localization demands on the fly (e.g., when a particular use is being | |||
| realized, then terminated after a given time). | realized, then terminated after a given time). | |||
| Individual training "sites" may not be a data center, but may instead | Individual training "sites" may not be a data center, but may instead | |||
| consist of powerful, yet stand-along devices that federate computing | consist of powerful, yet stand-along devices that federate computing | |||
| power towards training a model, captured as "federated training" and | power towards training a model, captured as "federated training" and | |||
| provided through platforms such as [FLOWER]. Use cases here may be | provided through platforms such as [FLOWER]. Use cases here may be | |||
| that of distributed training on (user) image data, the training over | that of distributed training on (user) image data, the training over | |||
| federated social media sites [MASTODON], or others. | federated social media sites [MASTODON], or others. | |||
| skipping to change at line 1711 ¶ | skipping to change at line 1715 ¶ | |||
| A number of activities on distributed AI training exist in the area | A number of activities on distributed AI training exist in the area | |||
| of developing the 5th and 6th generation mobile network, with various | of developing the 5th and 6th generation mobile network, with various | |||
| activities in the 3GPP Standards Development Organization (SDO) as | activities in the 3GPP Standards Development Organization (SDO) as | |||
| well as use cases developed for the ETSI MEC initiative mentioned in | well as use cases developed for the ETSI MEC initiative mentioned in | |||
| previous use cases. | previous use cases. | |||
| 6.1.4. Opportunities | 6.1.4. Opportunities | |||
| * Supporting service-level routing of training requests (such as | * Supporting service-level routing of training requests (such as | |||
| service routing in [APPCENTRES]), with AI services being exposed | service routing in [APPCENTRES]) with AI services being exposed to | |||
| to the network, where (COIN) program instances may support the | the network, and where COIN program instances may support the | |||
| selection of the most suitable service instance based on control | selection of the most suitable service instance based on control | |||
| plane information, e.g., on AI worker compute capabilities, being | plane information (e.g., on AI worker compute capabilities being | |||
| distributed across (COIN) program instances. | distributed across COIN program instances). | |||
| * Supporting the collective communication primitives, such as all- | * Supporting the collective communication primitives, such as all- | |||
| to-all, scatter-gather, utilized by the (distributed) AI workers | to-all and scatter-gather, utilized by the (distributed) AI | |||
| to increase the overall network efficiency, e.g., through avoiding | workers may increase the overall network efficiency (e.g., through | |||
| endpoint-based replication or even directly performing, e.g., | avoiding endpoint-based replication or even directly performing | |||
| reduce, collective primitive operations in (COIN) program | collective primitive operations in COIN program instances placed | |||
| instances placed in topologically advantageous places. | in topologically advantageous places). | |||
| * Supporting collective communication between multiple instances of | * Supporting collective communication between multiple instances of | |||
| AI services (i.e., (COIN) program instances) may positively impact | AI services (i.e., COIN program instances) may positively impact | |||
| network but also compute utilization by moving from unicast | network but also compute utilization by moving from unicast | |||
| replication to network-assisted multicast operation. | replication to network-assisted multicast operation. | |||
| 6.1.5. Research Questions | 6.1.5. Research Questions | |||
| In addition to the research questions in Section 3.1.5: | In addition to the research questions in Section 3.1.5: | |||
| * RQ 6.1.1: What are the communication patterns that may be | * RQ 6.1.1: What are the communication patterns that may be | |||
| supported by collective communication solutions, where those | supported by collective communication solutions, where those | |||
| solutions directly utilize (COIN) program instance capabilities | solutions directly utilize COIN program instance capabilities | |||
| within the network (e.g., reduce in a central (COIN) program | within the network (e.g., perform Reduce options in a central COIN | |||
| instance)? | program instance)? | |||
| * RQ 6.1.2: How to achieve scalable collective communication | * RQ 6.1.2: How to achieve scalable collective communication | |||
| primitives with rapidly changing receiver sets (e.g., where | primitives with rapidly changing receiver sets (e.g., where | |||
| training workers may be dynamically selected based on energy | training workers may be dynamically selected based on energy | |||
| efficiency constraints [GREENAI])? | efficiency constraints [GREENAI])? | |||
| * RQ 6.1.3: What COIN capabilities may support the collective | * RQ 6.1.3: What COIN capabilities may support the collective | |||
| communication patterns found in distributed AI problems? | communication patterns found in distributed AI problems? | |||
| * RQ 6.1.4: How to support AI-specific invocation protocols, such as | * RQ 6.1.4: How to support AI-specific invocation protocols, such as | |||
| MPI or Remote Direct Memory Access (RDMA)? | MPI or Remote Direct Memory Access (RDMA)? | |||
| * RQ 6.1.5: What are the constraints for placing (AI) execution | * RQ 6.1.5: What are the constraints for placing (AI) execution | |||
| logic in the form of (COIN) programs in certain logical execution | logic in the form of COIN programs in certain logical execution | |||
| points (and their associated physical locations), including PNDs, | points (and their associated physical locations), including PNDs, | |||
| and how to signal and act upon them? | and how to signal and act upon them? | |||
| 7. Preliminary Categorization of the Research Questions | 7. Preliminary Categorization of the Research Questions | |||
| This section describes a preliminary categorization of the research | This section describes a preliminary categorization of the research | |||
| questions illustrated in Figure 4. A more comprehensive analysis has | questions illustrated in Figure 4. A more comprehensive analysis has | |||
| been initiated by members of the COINRG community in [USE-CASE-AN] | been initiated by members of the COINRG community in [USE-CASE-AN] | |||
| but has not been completed at the time of writing this memo. | but has not been completed at the time of writing this memo. | |||
| +--------------------------------------------------------------+ | +--------------------------------------------------------------+ | |||
| + Applicability Areas + | + Applicability Areas + | |||
| + .............................................................+ | + .............................................................+ | |||
| + Transport | App | Data | Routing & | (Industrial) + | + Transport | App | Data | Routing & | (Industrial) + | |||
| + | Design | Processing | Forwarding | Control + | + | Design | Processing | Forwarding | Control + | |||
| +--------------------------------------------------------------+ | +--------------------------------------------------------------+ | |||
| +--------------------------------------------------------------+ | +--------------------------------------------------------------+ | |||
| + Distributed Computing FRAMEWORKS and LANGUAGES to COIN + | + Distributed Computing Frameworks and Languages to COIN + | |||
| +--------------------------------------------------------------+ | +--------------------------------------------------------------+ | |||
| +--------------------------------------------------------------+ | +--------------------------------------------------------------+ | |||
| + ENABLING TECHNOLOGIES for COIN + | + Enabling Technologies for COIN + | |||
| +--------------------------------------------------------------+ | +--------------------------------------------------------------+ | |||
| +--------------------------------------------------------------+ | +--------------------------------------------------------------+ | |||
| + VISION(S) for COIN + | + Vision(s) for COIN + | |||
| +--------------------------------------------------------------+ | +--------------------------------------------------------------+ | |||
| Figure 4: Research Questions Categories | Figure 4: Research Questions Categories | |||
| The "VISION(S) for COIN" category is about defining and shaping the | The "Vision(s) for COIN" category is about defining and shaping the | |||
| exact scope of COIN. In contrast to the "ENABLING TECHNOLOGIES" | exact scope of COIN. In contrast to the "Enabling Technologies" | |||
| category, these research questions look at the problem from a more | category, these research questions look at the problem from a more | |||
| philosophical perspective. In particular, the questions center | philosophical perspective. In particular, the questions center | |||
| around where to perform computations, which tasks are suitable for | around where to perform computations, which tasks are suitable for | |||
| COIN, for which tasks COIN is suitable, and which forms of deploying | COIN, for which tasks COIN is suitable, and which forms of deploying | |||
| COIN might be desirable. This category includes the research | COIN might be desirable. This category includes the research | |||
| questions 3.1.8, 3.2.1, 3.3.5, 3.3.6, 3.3.7, 5.3.3, 6.1.1, and 6.1.3. | questions 3.1.8, 3.2.1, 3.3.5, 3.3.6, 3.3.7, 5.3.3, 6.1.1, and 6.1.3. | |||
| The "ENABLING TECHNOLOGIES for COIN" category digs into what | The "Enabling Technologies for COIN" category digs into what | |||
| technologies are needed to enable COIN, which of the existing | technologies are needed to enable COIN, which of the existing | |||
| technologies can be reused for COIN, and what might be needed to make | technologies can be reused for COIN, and what might be needed to make | |||
| the "VISION(S) for COIN" a reality. In contrast to the "VISION(S) | the "Vision(s) for COIN" a reality. In contrast to the "Vision(s) | |||
| for COIN", these research questions look at the problem from a | for COIN", these research questions look at the problem from a | |||
| practical perspective (e.g., by considering how COIN can be | practical perspective (e.g., by considering how COIN can be | |||
| incorporated in existing systems or how the interoperability of COIN | incorporated in existing systems or how the interoperability of COIN | |||
| execution environments can be enhanced). This category includes the | execution environments can be enhanced). This category includes the | |||
| research questions 3.1.7, 3.1.8, 3.2.3, 4.2.7, 5.1.1, 5.1.2, 5.1.6, | research questions 3.1.7, 3.1.8, 3.2.3, 4.2.7, 5.1.1, 5.1.2, 5.1.6, | |||
| 5.3.1, 6.1.2, and 6.1.3. | 5.3.1, 6.1.2, and 6.1.3. | |||
| The "Distributed Computing FRAMEWORKS and LANGUAGES to COIN" category | The "Distributed Computing Frameworks and Languages to COIN" category | |||
| focuses on how COIN programs can be deployed and orchestrated. | focuses on how COIN programs can be deployed and orchestrated. | |||
| Central questions arise regarding the composition of COIN programs, | Central questions arise regarding the composition of COIN programs, | |||
| the placement of COIN functions, the (dynamic) operation and | the placement of COIN functions, the (dynamic) operation and | |||
| integration of COIN systems as well as additional COIN system | integration of COIN systems as well as additional COIN system | |||
| properties. Notably, COIN diversifies general distributed computing | properties. Notably, COIN diversifies general distributed computing | |||
| platforms such that many COIN-related research questions could also | platforms such that many COIN-related research questions could also | |||
| apply to general distributed computing frameworks. This category | apply to general distributed computing frameworks. This category | |||
| includes the research questions 3.1.1, 3.2.4, 3.3.1, 3.3.2, 3.3.3, | includes the research questions 3.1.1, 3.2.4, 3.3.1, 3.3.2, 3.3.3, | |||
| 3.3.5, 4.1.1, 4.1.4, 4.1.5, 4.1.8, 4.2.1, 4.2.4, 4.2.5, 4.2.6, 4.3.3, | 3.3.5, 4.1.1, 4.1.4, 4.1.5, 4.1.8, 4.2.1, 4.2.4, 4.2.5, 4.2.6, 4.3.3, | |||
| 5.2.1, 5.2.2, 5.2.3, 5.2.5, 5.3.1, 5.3.2, 5.3.3, 5.3.4, 5.3.5, and | 5.2.1, 5.2.2, 5.2.3, 5.2.5, 5.3.1, 5.3.2, 5.3.3, 5.3.4, 5.3.5, and | |||
| skipping to change at line 1869 ¶ | skipping to change at line 1873 ¶ | |||
| systems typically work on unencrypted data and often customize packet | systems typically work on unencrypted data and often customize packet | |||
| payload, while concepts such as homomorphic encryption could serve as | payload, while concepts such as homomorphic encryption could serve as | |||
| workarounds, allowing PNDs to perform simple operations on the | workarounds, allowing PNDs to perform simple operations on the | |||
| encrypted data without having access to it. All these approaches | encrypted data without having access to it. All these approaches | |||
| introduce the same or very similar security implications as any | introduce the same or very similar security implications as any | |||
| middlebox operating on unencrypted traffic or having access to | middlebox operating on unencrypted traffic or having access to | |||
| encryption: a middlebox can itself have malicious intentions (e.g., | encryption: a middlebox can itself have malicious intentions (e.g., | |||
| because it got compromised or the deployment of functionality offers | because it got compromised or the deployment of functionality offers | |||
| new attack vectors to outsiders). | new attack vectors to outsiders). | |||
| However, similar to middlebox deployments, risks for privacy and data | However, similar to middlebox deployments, risks for privacy and the | |||
| exposure have to be carefully considered in the context of the | risk of data exposure have to be carefully considered in the context | |||
| concrete deployment. For example, exposing data to an external | of the concrete deployment. For example, exposing data to an | |||
| operator for mobile application offloading leads to a significant | external operator for mobile application offloading leads to a | |||
| privacy loss of the user in any case. In contrast, such privacy | significant privacy loss of the user in any case. In contrast, such | |||
| considerations are not as relevant for COIN systems where all | privacy considerations are not as relevant for COIN systems where all | |||
| involved entities are under the same control, such as in an | involved entities are under the same control, such as in an | |||
| industrial context. Here, exposed data and functionality can instead | industrial context. Here, exposed data and functionality can instead | |||
| lead to stolen business secrets or the enabling of DoS attacks, for | lead to stolen business secrets or the enabling of DoS attacks, for | |||
| example. Hence, even in fully controlled scenarios, COIN | example. Hence, even in fully controlled scenarios, COIN | |||
| intermediaries, and middleboxes in general, are ideally operated in a | intermediaries, and middleboxes in general, are ideally operated in a | |||
| least-privilege mode, where they have exactly those permissions to | least-privilege mode, where they have exactly those permissions to | |||
| read and alter payload that are necessary to fulfill their purpose. | read and alter payload that are necessary to fulfill their purpose. | |||
| Research on granting middleboxes access to secured traffic is only in | Research on granting middleboxes access to secured traffic is only in | |||
| its infancy, and a variety of different approaches are proposed and | its infancy, and a variety of different approaches are proposed and | |||
| skipping to change at line 1915 ¶ | skipping to change at line 1919 ¶ | |||
| process. Moreover, such deployments can become central entities | process. Moreover, such deployments can become central entities | |||
| that, if paralyzed (e.g., through extensive requests), can be | that, if paralyzed (e.g., through extensive requests), can be | |||
| responsible for large-scale outages. In particular, some deployments | responsible for large-scale outages. In particular, some deployments | |||
| could be used to amplify DoS attacks. Similar to other middlebox | could be used to amplify DoS attacks. Similar to other middlebox | |||
| deployments, these potential risks must be considered when deploying | deployments, these potential risks must be considered when deploying | |||
| COIN functionality and may influence the selection of suitable | COIN functionality and may influence the selection of suitable | |||
| security protocols. | security protocols. | |||
| Additional system-level security considerations may arise from | Additional system-level security considerations may arise from | |||
| regulatory requirements imposed on COIN systems overall, stemming | regulatory requirements imposed on COIN systems overall, stemming | |||
| from regulation regarding, lawful interception, data localization, or | from regulation regarding lawful interception, data localization, or | |||
| AI use, for example. These requirements may impact, for example, the | AI use, for example. These requirements may impact, for example, the | |||
| manner in which (COIN) programs may be placed or executed in the | manner in which COIN programs may be placed or executed in the | |||
| overall system, who can invoke certain (COIN) programs in what PND or | overall system, who can invoke certain COIN programs in what PND or | |||
| COIN device, and what type of (COIN) program can be run. These | COIN device, and what type of COIN program can be run. These | |||
| considerations will impact the design of the possible implementing | considerations will impact the design of the possible implementing | |||
| protocols but also the policies that govern the execution of (COIN) | protocols but also the policies that govern the execution of COIN | |||
| programs. | programs. | |||
| 9. IANA Considerations | 9. IANA Considerations | |||
| This document has no IANA actions. | This document has no IANA actions. | |||
| 10. Conclusion | 10. Conclusion | |||
| This document presents use cases gathered from several application | This document presents use cases gathered from several application | |||
| domains that can and could profit from capabilities that are provided | domains that can and could profit from capabilities that are provided | |||
| skipping to change at line 2026 ¶ | skipping to change at line 2030 ¶ | |||
| server-load-balancing-gslb/>. | server-load-balancing-gslb/>. | |||
| [ICN-5GC] Ravindran, R., Suthar, P., Trossen, D., Wang, C., and G. | [ICN-5GC] Ravindran, R., Suthar, P., Trossen, D., Wang, C., and G. | |||
| White, "Enabling ICN in 3GPP's 5G NextGen Core | White, "Enabling ICN in 3GPP's 5G NextGen Core | |||
| Architecture", Work in Progress, Internet-Draft, draft- | Architecture", Work in Progress, Internet-Draft, draft- | |||
| ravi-icnrg-5gc-icn-04, 31 May 2019, | ravi-icnrg-5gc-icn-04, 31 May 2019, | |||
| <https://datatracker.ietf.org/doc/html/draft-ravi-icnrg- | <https://datatracker.ietf.org/doc/html/draft-ravi-icnrg- | |||
| 5gc-icn-04>. | 5gc-icn-04>. | |||
| [ICN-5GLAN] | [ICN-5GLAN] | |||
| Trossen, D., Wang, C., Robitzsch, S., Reed, M., AL-Naday, | Trossen, D., Robitzsch, S., Essex, U., AL-Naday, M., and | |||
| M., and J. Riihijarvi, "IP-based Services over ICN in 5G | J. Riihijarvi, "Internet Services over ICN in 5G LAN | |||
| LAN Environments", Work in Progress, Internet-Draft, | Environments", Work in Progress, Internet-Draft, draft- | |||
| draft-trossen-icnrg-ip-icn-5glan-00, 6 June 2019, | trossen-icnrg-internet-icn-5glan-04, 1 October 2020, | |||
| <https://datatracker.ietf.org/doc/html/draft-trossen- | <https://datatracker.ietf.org/doc/html/draft-trossen- | |||
| icnrg-ip-icn-5glan-00>. | icnrg-internet-icn-5glan-04>. | |||
| [KUNZE-APPLICABILITY] | [KUNZE-APPLICABILITY] | |||
| Kunze, I., Glebke, R., Scheiper, J., Bodenbenner, M., | Kunze, I., Glebke, R., Scheiper, J., Bodenbenner, M., | |||
| Schmitt, R., and K. Wehrle, "Investigating the | Schmitt, R., and K. Wehrle, "Investigating the | |||
| Applicability of In-Network Computing to Industrial | Applicability of In-Network Computing to Industrial | |||
| Scenarios", 2021 4th IEEE International Conference on | Scenarios", 2021 4th IEEE International Conference on | |||
| Industrial Cyber-Physical Systems (ICPS), pp. 334-340, | Industrial Cyber-Physical Systems (ICPS), pp. 334-340, | |||
| DOI 10.1109/icps49255.2021.9468247, May 2021, | DOI 10.1109/icps49255.2021.9468247, May 2021, | |||
| <https://doi.org/10.1109/icps49255.2021.9468247>. | <https://doi.org/10.1109/icps49255.2021.9468247>. | |||
| skipping to change at line 2129 ¶ | skipping to change at line 2133 ¶ | |||
| [RÜTH] Rüth, J., Glebke, R., Wehrle, K., Causevic, V., and S. | [RÜTH] Rüth, J., Glebke, R., Wehrle, K., Causevic, V., and S. | |||
| Hirche, "Towards In-Network Industrial Feedback Control", | Hirche, "Towards In-Network Industrial Feedback Control", | |||
| Proceedings of the 2018 Morning Workshop on In-Network | Proceedings of the 2018 Morning Workshop on In-Network | |||
| Computing, pp. 14-19, DOI 10.1145/3229591.3229592, August | Computing, pp. 14-19, DOI 10.1145/3229591.3229592, August | |||
| 2018, <https://doi.org/10.1145/3229591.3229592>. | 2018, <https://doi.org/10.1145/3229591.3229592>. | |||
| [SA2-5GLAN] | [SA2-5GLAN] | |||
| 3GPP-5glan, "SP-181129, Work Item Description, | 3GPP-5glan, "SP-181129, Work Item Description, | |||
| Vertical_LAN(SA2), 5GS Enhanced Support of Vertical and | Vertical_LAN(SA2), 5GS Enhanced Support of Vertical and | |||
| LAN Services", 3GPP , 2021, | LAN Services", 3GPP , 2021, | |||
| <http://www.3gpp.org/ftp/tsg_sa/TSG_SA/Docs/SP- | <https://www.3gpp.org/ftp/tsg_sa/TSG_SA/TSGS_82/Docs/SP- | |||
| 181120.zip>. | 181120.zip>. | |||
| [SarNet2021] | [SarNet2021] | |||
| Glebke, R., Trossen, D., Kunze, I., Lou, D., Ruth, J., | Glebke, R., Trossen, D., Kunze, I., Lou, D., Ruth, J., | |||
| Stoffers, M., and K. Wehrle, "Service-based Forwarding via | Stoffers, M., and K. Wehrle, "Service-based Forwarding via | |||
| Programmable Dataplanes", 2021 IEEE 22nd International | Programmable Dataplanes", 2021 IEEE 22nd International | |||
| Conference on High Performance Switching and Routing | Conference on High Performance Switching and Routing | |||
| (HPSR), pp. 1-8, DOI 10.1109/hpsr52026.2021.9481814, June | (HPSR), pp. 1-8, DOI 10.1109/hpsr52026.2021.9481814, June | |||
| 2021, <https://doi.org/10.1109/hpsr52026.2021.9481814>. | 2021, <https://doi.org/10.1109/hpsr52026.2021.9481814>. | |||
| skipping to change at line 2159 ¶ | skipping to change at line 2163 ¶ | |||
| Rodriguez, P., and P. Steenkiste, "Multi-Context TLS | Rodriguez, P., and P. Steenkiste, "Multi-Context TLS | |||
| (mcTLS): Enabling Secure In-Network Functionality in TLS", | (mcTLS): Enabling Secure In-Network Functionality in TLS", | |||
| ACM SIGCOMM Computer Communication Review, vol. 45, no. 4, | ACM SIGCOMM Computer Communication Review, vol. 45, no. 4, | |||
| pp. 199-212, DOI 10.1145/2829988.2787482, August 2015, | pp. 199-212, DOI 10.1145/2829988.2787482, August 2015, | |||
| <https://doi.org/10.1145/2829988.2787482>. | <https://doi.org/10.1145/2829988.2787482>. | |||
| [Stoyanov] Stoyanov, R. and N. Zilberman, "MTPSA: Multi-Tenant | [Stoyanov] Stoyanov, R. and N. Zilberman, "MTPSA: Multi-Tenant | |||
| Programmable Switches", Proceedings of the 3rd P4 Workshop | Programmable Switches", Proceedings of the 3rd P4 Workshop | |||
| in Europe, pp. 43-48, DOI 10.1145/3426744.3431329, | in Europe, pp. 43-48, DOI 10.1145/3426744.3431329, | |||
| December 2020, | December 2020, | |||
| <https://eng.ox.ac.uk/media/6354/stoyanov2020mtpsa.pdf>. | <https://dl.acm.org/doi/10.1145/3426744.3431329>. | |||
| [Sultana] Sultana, N., Sonchack, J., Giesen, H., Pedisich, I., Han, | [Sultana] Sultana, N., Sonchack, J., Giesen, H., Pedisich, I., Han, | |||
| Z., Shyamkumar, N., Burad, S., DeHon, A., and B. T. Loo, | Z., Shyamkumar, N., Burad, S., DeHon, A., and B. T. Loo, | |||
| "Flightplan: Dataplane Disaggregation and Placement for P4 | "Flightplan: Dataplane Disaggregation and Placement for P4 | |||
| Programs", | Programs", | |||
| <https://flightplan.cis.upenn.edu/flightplan.pdf>. | <https://flightplan.cis.upenn.edu/flightplan.pdf>. | |||
| [TIRPITZ-REDUCIO] | ||||
| Tirpitz, L., Kunze, I., Niemietz, P., Gerhardus, A. K., | ||||
| Bergs, T., Wehrle, K., and S. Geisler, "Reducio: Data | ||||
| Aggregation and Stability Detection for Industrial | ||||
| Processes Using In-Network Computing", DEBS '25: | ||||
| Proceedings of the 19th ACM International Conference on | ||||
| Distributed and Event-based Systems, pp. 98-109, | ||||
| DOI 10.1145/3701717.3730547, June 2025, | ||||
| <https://doi.org/10.1145/3701717.3730547>. | ||||
| [TLSSURVEY] | [TLSSURVEY] | |||
| de Carné de Carnavalet, X. and P. van Oorschot, "A Survey | de Carné de Carnavalet, X. and P. van Oorschot, "A Survey | |||
| and Analysis of TLS Interception Mechanisms and | and Analysis of TLS Interception Mechanisms and | |||
| Motivations: Exploring how end-to-end TLS is made 'end-to- | Motivations: Exploring how end-to-end TLS is made 'end-to- | |||
| me' for web traffic", ACM Computing Surveys, vol. 55, no. | me' for web traffic", ACM Computing Surveys, vol. 55, no. | |||
| 13s, pp. 1-40, DOI 10.1145/3580522, July 2023, | 13s, pp. 1-40, DOI 10.1145/3580522, July 2023, | |||
| <https://doi.org/10.1145/3580522>. | <https://doi.org/10.1145/3580522>. | |||
| [TOSCA] Rutkowski, M., Ed., Lauwers, C., Ed., Noshpitz, C., Ed., | [TOSCA] Rutkowski, M., Ed., Lauwers, C., Ed., Noshpitz, C., Ed., | |||
| and C. Curescu, Ed., "TOSCA Simple Profile in YAML Version | and C. Curescu, Ed., "TOSCA Simple Profile in YAML Version | |||
| skipping to change at line 2242 ¶ | skipping to change at line 2256 ¶ | |||
| Email: kunze@comsys.rwth-aachen.de | Email: kunze@comsys.rwth-aachen.de | |||
| Klaus Wehrle | Klaus Wehrle | |||
| RWTH Aachen University | RWTH Aachen University | |||
| Ahornstr. 55 | Ahornstr. 55 | |||
| D-52074 Aachen | D-52074 Aachen | |||
| Germany | Germany | |||
| Email: wehrle@comsys.rwth-aachen.de | Email: wehrle@comsys.rwth-aachen.de | |||
| Dirk Trossen | Dirk Trossen | |||
| Huawei Technologies Duesseldorf GmbH | DaPaDOT Tech UG (haftungsbeschränkt) | |||
| Riesstr. 25C | Palestrinastr. 7A | |||
| D-80992 Munich | D-80639 Munich | |||
| Germany | Germany | |||
| Email: Dirk.Trossen@Huawei.com | Email: dirk@dapadot-tech.eu | |||
| Marie-Jose Montpetit | Marie-Jose Montpetit | |||
| McGill University | SLICES-RI | |||
| 680 Sherbrooke Street W. | Paris | |||
| Montreal H3A 3R1 | France | |||
| Canada | Email: marie-jose.montpetit@slices-ri.eu | |||
| Email: marie-jose.montpetit@mcgill.ca | ||||
| Xavier de Foy | Xavier de Foy | |||
| InterDigital Communications, LLC | InterDigital Communications, LLC | |||
| 1000 Sherbrooke West | 1000 Sherbrooke West | |||
| Montreal H3A 3G4 | Montreal H3A 3G4 | |||
| Canada | Canada | |||
| Email: xavier.defoy@interdigital.com | Email: xavier.defoy@interdigital.com | |||
| David Griffin | David Griffin | |||
| University College London | University College London | |||
| End of changes. 108 change blocks. | ||||
| 260 lines changed or deleted | 273 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||