Microfinance for Sustainable Development
Microfinance plays a crucial role in uplifting low-income individuals, particularly women, by providing financial services and opportunities for economic growth. This system empowers vulnerable populations in rural and urban areas, aiming to improve their living standards through access to credit, savings, insurance, and funds. With a focus on women-centric sustainable development, microfinance projects have the potential to bring positive social change by influencing household income, education, and overall family well-being.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
PacketScope PacketScope: Monitoring the Packet : Monitoring the Packet Lifecycle Within a Switch Lifecycle Within a Switch Ross Teixeira (Princeton) Rob Harrison (United States Military Academy) Arpit Gupta (UC Santa Barbara) Jennifer Rexford (Princeton)
Outline Outline 1. Peeking Inside the Switch 2. Packet Lifecycle Query Language 3. Efficient Query Compilation 4. PacketScope Prototype 2
Outline Outline 1. Peeking Inside the Switch 2. Packet Lifecycle Query Language 3. Efficient Query Compilation 4. PacketScope Prototype 3
Packets are modified in the switch Multiple pipelines Access Control List (ACL) drops Queues cause delays and loss Queues Ingress Egress 4
Switch monitoring is important Want to adapt dataflow monitoring systems map, filter, reduce operators on incoming tuples Prior systems only capture arriving packets[1,3] Or only provide queuing delay info[2] Queues Ingress Switch Pipeline Egress 5 [1] Sonata (SIGCOMM 18), [2] Marple (SIGCOMM 17), [3] Gigascope (SIGMOD 03)
Monitoring the packet lifecycle Packet modifications ACL drops Queuing delays/loss Switch Fabric + Queues Ingress Egress Queues 6
Outline Outline 1. Peeking Inside the Switch 2. Packet Lifecycle Query Language 3. Efficient Query Compilation 4. PacketScope Prototype 7
Switch Fabric + Queues Ingress Egress Queues port_in, headers_in, time_in port_intent, headers_mid port_out, headers_out queuing _in/_out (length, time) (Could be modified/ dropped!) (Could be modified/ dropped!) (Could be delayed!) Ingress() tuples Egress() tuples 8
Count un-dropped SSH packets that traverse a NAT undropped_SSH_NAT = egress() .filter(tcp.srcPort_in == 22) .filter(ipv4.srcIP_in != ipv4.srcIP_out) .filter(port_out != -1) 1 2 3 4 9
Queues X Ingress Loss happens outside ingress/egress processing We can t process individual packets But over time, we can track aggregate counts by keeping state .lost(groupby_fields, epoch_ms) operator count packets grouped by groupby_fields every epoch_ms 10
Outline Outline 1. Peeking Inside the Switch 2. Packet Lifecycle Query Language 3. Efficient Query Compilation 4. PacketScope Prototype 11
Execute Switch Fabric + Queues Ingress Egress Queues Metadata: ipv4.srcIP_in = X E.g. Queries across ports? .filter(ipv4.srcIP_in != ipv4.srcIP_out) A: Tag packet with metadata 12
Switch Fabric + Queues Ingress Egress Queues Metadata: ipv4.srcIP_in ? Metadata: Metadata: Where to place computation? .filter(ipv4.srcIP_in != ipv4.srcIP_mid) A: As early as possible! 13
Execute Switch Fabric + Queues Ingress Egress Queues Metadata: ipv4.srcIP_in Metadata: Where to place computation? .filter(ipv4.srcIP_in != ipv4.srcIP_mid) A: As early as possible! Metadata can be reused for future processing. 14
Queues X Ingress Egress .lost([ipv4.srcIP], 10ms) Compile as a join of two queries: Count by ipv4.srcIP on ingress Count by ipv4.srcIP on egress Report difference every 10ms of packet arrival times Gory details in paper 15
Outline Outline 1. Peeking Inside the Switch 2. Packet Lifecycle Query Language 3. Efficient Query Compilation 4. PacketScope Prototype 16
PacketScope PacketScope Prototype Prototype We built a prototype[1] in Python and P4 with: Support for packet modifications, queuing delays Tag little, compute early compilation We also built a queuing loss query prototype Uses the BMv2 software model More details and future work in paper [1] As an extension to Sonata (SIGCOMM 18) 17
Conclusion Conclusion PacketScope is a network telemetry system Using a dataflow programming model (map, filter, reduce) That supports queries on the full packet lifecycle: Packet modifications ACL drops Queuing delays/loss And compiles efficiently to programmable switches Switch Fabric + Queues Ingress Egress Queues