Yeah, we're on. Hey, everyone. Welcome to our session on orchestrating forwarding graphs using Tacker, Neutron, and Open Daylight. Let me introduce myself. I'm Shri Priya Sitaram from Brocade. Today, I'm filling in for Shridhar Ramaswamy here, who would not make it to the summit this time. Right. Hello. I'm Brady Johnson. I work at Ericsson. Working at Open Daylight SFC, also an OPN of ESFC. I'm Sridhar Ramaswamy. Are you on? Am I on? I think I'm on. Yeah. Sridhar Ramaswamy, working at Parway. And I'm going to be talking about the Neutron Networking SFC. You're saying you're not on. All right, let's get started. On the agenda items today, we are first going to quickly go through some of the basic service-staying concepts. We are then going to look into the TOSCA data model, how we can use the TOSCA data model to describe some of the SFC constructs, and then use the TOSCA template itself to onboard and deploy a forwarding graph. Using TACRA as an NFV orchestrator, Lewis is going to talk more on the Neutron Networking SFC project. And finally, Brady is going to talk more on the Open Daylight SFC and the IETF SFC information. And finally, we will wrap the session with the demo and take some questions at the end of the session. So what is service function chaining? So given a source and a destination VM on the two hosts, now here, the source and the destination VM are connected directly using the OVS. Now, when we bring in a third VM on a different host, let's say it is hosting some network functions, such as firewall. And then when we use the VNF or the VM itself to connect between the source and the destination, for some NFV use cases, we want to classify and steer the traffic through this VNF and then forward it to the destination. This is called a service function chaining in very basic terms. So of course, the forwarding graph itself can be very complex. Here, you're just seeing a single VNF that is stitched together with the source and the destination. A forwarding graph can contain more than one VNF. The VNF itself can span across multiple hosts. And the VNF's themselves can be part of multiple forwarding multiple service function chain. And finally, the chain can have multiple classifiers based on different classification requirements. Here, we have used the etsy terminologies to represent the network function. We call it the etsy calls it as a VNF. And the actual chain that gets deployed between the source and the destination is called as a VNF forwarding graph. We can learn more about this confidence when we talk about the TOSCA forwarding graph descriptor. So how do we model this forwarding graphs? So the forwarding graph itself has complex requirements. There are different classification requirements and there are different path that needs to be created in order to deploy the service function chain. So how do we model this forwarding graphs using the TOSCA data model? So there are three main elements to a forwarding graph as defined by the etsy to create or to represent a service function chain. The first one is the VNF forwarding graph. It basically defines how certain traffic meeting certain criteria needs to be steered through a set of network functions in a given network connectivity topology. The second one is the forwarding graph descriptor. This is the main TOSCA template that is used to represent the SFC policies and to represent the networking forwarding graph itself in the template. And finally, we have the forwarding path. So the forwarding path is an ordered list of connection points belonging to the VNFs that are part of the outer forwarding graph. A forwarding graph can have more than one forwarding path and that is used to describe the service function chain. So here in the last slide, we understood some of the components that are part of the forwarding graph. Here we see the TOSCA forwarding graph descriptor, which is basically used to represent the service function chain using some of the components which we just saw in the previous slide. In this network topology, there is VNF1, VNF2, and VNF3 that are interconnected using the virtual links. And there are three traffic that is flowing into the service function chain. So there is the green and the blue lines which represent the first forwarding graph. They basically represent two forwarding paths. The first forwarding path goes through VNF1, VNF2, and VNF3. And then there is a second forwarding path, which basically just goes through VNF1 and VNF3. And then we represent a second forwarding graph, which we call here as a VNFG2, which just has one forwarding path. And this goes through the VNF1 and VNF3. Here we can see that we can represent different kinds of forwarding graph using the TOSCA descriptor based on some of the forwarding graph components. Now how do we describe this SFC policies in the TOSCA template? The two main node types what we use in describing the SFC is the groups and the forwarding path node type. If you zoom in on the forwarding graph, forwarding group node type itself, it contains the metadata information which you want to represent for the forwarding graph. And it also includes information such as the connection points, the constituted VNFs that are going to be part of the service function chain. And finally, it has the members, which is an important piece of this forwarding group node type, which here it is basically having one forwarding path, which is called as a forwarding path one. And when we look into the forwarding path one node type itself, it contains the actual SFC information here represented using the policy key. The policy key has the criteria section, which basically defines the matching criteria that needs to be applied on the ingress traffic. We can include many ACL matching criteria. I think right now the networking SFC project supports on eight ACL match criteria. But we can add more number of, any number of match criteria types into this section and ask that the ingress traffic be classified based on this requirements. And then we have the path section, which basically represents the actual connection points that are going to be stitched together to create the service function chain. They're represented as an ordered set of forwarder capability information. Here we have two forwarders. Basically, the chain is created using the two VNFs, which has the exposed capabilities using CP124 and CP224, which are basically the two connection points represented by the two VNFs. So now that we have seen the forwarding graph descriptors of the YAML template, where we have defined the SFC policies, now here is the end to end workflow where all the three projects are in action to create and deploy the forwarding graph. So the user first creates and onboards the forwarding graph template in Tacker using the NFE orchestrator component. So once the template is onboarded, the user can go ahead and deploy the forwarding graph within Tacker. So the forwarding graph is first validated to see that the node types are matched with the TOSCA NFE profile. The node types are belonging to the forwarding group type and to the forwarding path node type. Once the validation is done, the VNFs, which are represented as abstract types within the template, are then mapped to the actual VNF instances. This information is then internally queried. And the corresponding ports are associated, represented as capabilities for the VNF. The port ID information is also queried. And the request body is built from Tacker NFE orchestrator and sent downstream to the Neutron Networking SFC component. The Networking SFC component further sends the request to the back-end driver. So the Networking SFC component has a pluggable back-end driver where it can use any driver as a back-end. Here we are using the open daylight as a back-end component for networking SFC. So this request is then sent to the ODL SFC driver, which basically acts as a shim layer between Neutron and the open daylight itself. Does the call or the REST comp calls for the Neutron node prompt residing in the open daylight? The open daylight SFC and network components do the job of translating this request and creating the actual service function chain and also the forwarder functions. The SFC component is responsible for creating the service function forwarder on the VNF. And then we have the network component, which goes ahead and creates the tunnel for the end-to-end deployment of the service function chain. So here is the high-level overview of the interacting components for the deployment of a service function chain. In summary, from the NFE orchestrator point of view, in order to deploy a forwarding graph, there are just two commands required to deploy this forwarding graph. The first one is the tacker VNFGD create, which basically is used to onboard a template, what we saw. And then there's a VNFG create command, where you just specify a name for the VNFG and use the onboarded forwarding graph template to go ahead and deploy a forwarding graph. So that's on the NFE orchestrator piece of the whole workflow. Now, Luis is going to talk more on the Neutron Networking SFC side. Right, so I'm gonna talk about Neutron Networking SFC, which is currently a stadium project as part of Neutron. So the way we model this as an API is we have a set of resources that are available as extensions to Neutron, and essentially what they do is allow you to create what we call a port chain, which consists of an audit list of port pair groups and classifiers. So if you look at the bottom of the diagram, we actually have, we show the different instances of service functions or VNFs that run from the source to a destination. And the way we actually set up the service chain is that we have the port pairs that actually represent the service functions, and each port pair represents an ingress and egress to the service function.  So there you see several stages of port pairs and VNFs in the service chain, and then in addition to that we have a classifier that allows you to select the traffic that actually goes into the port chain. So the port chains are a unidirectional port chain, rather, that represent the networking forwarding path that's shown in the previous diagrams. The port pairs are based on neutron ports. So as I said, there's ingress and an egress port. We group them together in port pair groups, which allows us to do scaling and load balancing across all the similar port pairs with service functions within a group. We can also do a dynamic update of those port pair groups. So we can add and remove port pairs or service functions in the group, so that allows us to address or varying traffic loads. We can also do a dynamic update of the port chains themselves to add and remove port pairs. So you can actually reconfigure the chain to add in or remove various service functions from that chain. We also support multiple classifiers, so you can actually add and remove and select the traffic that you want to have going into the chain. And then in addition to that, we have the abstract API, which is essentially the neutron API that supports arrest requests. And then we have the back end that supports multiple different drivers. So we can interface the southbound to, say, ODL, OVS, ODN, ODL, et cetera. So this is just briefly the resources. So this is the API at the northbound interface and handles crud or create and delete requests to allow you to create the port chain, to update the port chain and delete it and for each one of the different resources that are available. So we have port chain resources, port pair group resources to do the load balancing, and then also port pairs and the flow classifiers. We have a number of parameters that are associated with these different resources. For example, the port chain parameters allow you to select, say, symmetric chains or allow you to select the kind of correlation or encapsulation that you're gonna be using in the data plane. This is briefly the architecture. So the northbound essentially is the API that we have for port chaining and this would interface with the Tacker driver and support the requests coming from the Tacker driver, which these would be to add and remove port chains or any of the other resources. Sitting below that, we have the plugin, the neutron service chain plugin manager and into that manager, that common service chain API, we can add different drivers for backend implementations. At the bottom, it shows you the compute nodes and the actual chaining through, say, for example, an OVS switch. This is a bit more detailed. This is really looking at the data plane and this is how ITF has defined the data plane. Essentially, we have the service function forwarders. We have the classifiers. So service function forwarders sort of essentially implemented as OVS switch and it handles the traffic in the data plane. So what happens at the classifier, the network service header is attached to the packets. That's the network service header includes a chain ID and also an index to indicate which hop the packet or the service function is through the chain and you can see there, for example, you have a blue chain and a red chain with the IDs one and seven and the 255, 254, et cetera are the hop counts or the index that's decremented as you go through each service function. And essentially, you can see the chains there is a couple of interesting aspects that we have to deal with is the fact that you either have NSH aware service functions where the header is actually delivered to the service function itself or you have to go through a proxy in the case where the service function is unaware of NSH. I think that's probably what I have for now. I think Brady will talk to the ODL aspects. Thank you. Okay, so I'm going to cover the open daylight aspects of service function chaining, how it's implemented. Here I'm talking about what SFC is and we've basically covered that already. So basically you define an abstract ordered list of network services. These services are then switched together to create the chain and open daylight SFC is giving us the infrastructure to configure this chain and create end user applications. The main important point in this slide is this open daylight SFC is an implementation of the IETF, SFC and NSH RFCs. You have the links there. So what are the features that we get in the open daylight SFC application? So in the top left here, you can see currently we're integrating with the open daylight genius project and what that will give us, first of all, something we call application coexistence. We already have that implemented in previous releases but with the integrating with genius that will improve this integration. What application coexistence is, it allows multiple applications to exist on the same open flow switch. So you can have something like SFC, the classifier in our case would be net vert on the same open flow switch and we're coordinating the tables that get written to we're not stomping on each other. That's actually not a trivial thing to achieve. So we'll have an improved application coexistence. This will simplify the configuration for the service function, service function forwarders, dynamic service function insertion, load balancing, failover, all those sorts of neat use cases. Also with the open daylight SFC, we have what we call a pluggable classifier. And I think that's, it's pretty important to point out that it's pluggable. Ideally, I would imagine that the classifier would be some sort of like a DPI or something that's kind of traffic aware that you can do some cool things there. You can say, all right, bit torrent for instance, I want to put on one particular service chain and HTTP on a different service chain. And there's no point in sending bit torrent traffic to HTTP service functions, et cetera. So we can achieve that with the pluggable classifiers that we have. Basically, SFC, the internals of it doesn't really need to know about the classifier. You can have pretty much any sort of classifier as long as it can encapsulate NSH and send the packets to our service function forwarders, then we can work with that. So right now, as I mentioned here, we have as classifiers, we're using open daylight net vert, which is basically a neutron back end. We have group based policy as a classifier. And then we have an SFC standalone classifier. Two other important points here, switch independence. As of now, we are kind of tied to OVS, but that's gonna change very soon. We're gonna be able to use OVS and FIDO. FIDO is this fast data IO. It's a new virtual switch. It's an open source project. It's also called VPP, Vector Packet Processing. So it's not only just OVS. If you look in the OPNV project area, there's a fast data stacks project, which is basically integrating FIDO with open stack. And then in the current release of OPNV and VSFC, we're going to integrate with this fast data stacks and be able to use FIDO. So it's not just OVS. And as you see there, we can also have an iOS XE render. Then virtual infrastructure independence. There's nothing that says we have to be an open stack. I mean, currently we are only an open stack, but we could use any virtual infrastructure. So here's a bit more, some detail about the OpenDale at SSE Data Model. I tried to capture here, for instance, the first concept, the service function chain. You have an abstract ordered list of service function types. So if you look in the blue box here, you have SFType, SFType, SFType, that should be actually be SFType 1, 2, and 3. Whatever you could say, I want a DPI, a firewall and an act. Then in the service function path, you get into concrete details about that, service function chain. For instance, here in the second row of the light blue boxes, I mentioned concrete service functions. And then also in the SFP you would specify the concrete service function forwarders. Then you have the rendered service path, which is the actual service chain. It's a combination of the SSE and the SFP, but also can include dynamic runtime information if you're doing things like load balancing or failover and such. And then another important thing I mentioned here, the service chain classification. And I mentioned that in the previous slide, the pluggable classifier. But basically what you're doing in the classifier is just mapping from subscriber or tenant traffic to a particular service chain, to a particular pre-configured service chain. So we use different transports. We could use VxLineGPE, Ethernet, MPLS as transports. And then what we call the service chain encapsulation is NSH is what we have implemented now. So here's a kind of a complicated use case, something that kind of shows the power of SFC and where we can go with this. Notice I have three different service functions here. I have a DPI, a quality of service, and an HTTP. Could be whatever, header enrichment or whatever. And so I used to work in DPI. And the biggest push in DPI is to make it faster. And I always said that the easiest way to make DPI faster is don't do DPI. And here's how you can achieve that. So you could initially map all of your tenant traffic to the green service chain there, which would go through your DPI, right? Then it would go through the DPI until it's able to figure out what type of traffic it is. Let's say they're a bit torrent or HTTP. Once it determines the type of traffic that it is, you can send feedback into SFC.  I was scolded earlier by, there's an IETF author out here. It's not actually reclassification, but kind of a mix of reclassification. Reclassification is where the actual service function would be changing on the fly and then sending information service function forwarder. But this is a different way of looking at reclassification. You're sending feedback back to SFC, which then would feedback into the classifier. So once I determine that the traffic, for instance, is peer to peer, for that particular five tuple, for instance, that flow, I could send the feedback to the classifier and tell him, okay, he's no longer on the green chain, now send him to the blue chain. And then likewise with HTTP. So I think that's a pretty powerful use case that we can achieve with SFC. Yeah, so now some future improvements. I mean, this is actually really cool that what we can do here with attacker VNF manager and with OpenStack, integrating that with Open Daylight. But there's some things that we need to take care of in the future. And I have kind of a long list here, but it all boils down to the fact that we're starting with a feature rich API, which is the VNF forwarding graphs, which then the attacker comes down into, lots of times I call it like a funnel, comes down into networking SFC, which is a bit still getting started, but it has less information available. So from VNF forwarding graph down to networking SFC, you're losing some information there. It doesn't, all the information doesn't map directly. Then on the other end, you're coming back to Open Daylight SFC. And there's certain fields there that we're not sure exactly how to fill out. So these are some future improvements we have to take care. For instance, how do you specify the transport? Is it Ethernet plus NSH or VXLAN, GPE plus NSH, et cetera. And there's another list here, different things that we need to be able to specify. How to specify, I call it an SFC proxy, an NSH proxy. How do we expose the random service paths, load balancing and such. It's important though that we are, the different communities are working together on this. And is it Thursday or Friday? It's Friday. We have a meeting where we're gonna get together and say, okay, these gaps have been identified. We're all on the same page. I mean, this is the goal, that there's some gaps have been identified and work together to... Yeah, to add to that, there's a meeting on Thursday for next steps in the networking SFC. Yeah, yeah. So, okay. That's all I have. Should we open up for questions now or after the demo? I think we should do the demo. Yeah, go ahead. So this is the setup we have for running this demo. So we have like a simple client VM and server VM. The server is a simple HTTP server listening on port 80. And the client can hear the client and server are connected directly. And the client can talk to the server and send some get request. And once we have the, these two are already created the VMs. And now we will try to create a VNF, a simple VNF, which acts as a forwarder between the client and the server. And then we use this VNF to deploy a service function chain between the source and destination. And we can see how the packets are forwarded on the VNF as a forwarder. And then finally it reaches the destination. So we'll just run the no less command. So we already have created the client and server VMs here. So they're just basic, simple bare metal running the client and server instances. And now let's go ahead and, here we have the VNF decatalog list containing a simple VNF. We will now go ahead and use this VNF descriptor to create a VNF, which is basically a simple instance again connected to a network. Here we have all the three instances running. One is the client, the server, and the actual VDU instance. The VNF just contain one VDU. So that is spawned here in the NOVA. And we can see all the three instances running here. And let's go ahead and access the console of all the three instances now. And try to see if we can reach from the client to the server first. So here on the server we are simply running a simple HTTP server listening on port 80 on the server side. And then on the client we will try to do a call, get request onto the server. We should be able to receive the connection back from the server. And if we go back to the server itself, we are seeing that the get request from the client was received in the server itself. Now this is the, here the client and server are directly talking to each other. Then there's no forwarding graph yet. And now let's access the VNF console which we have just created. Here we'll just run a simple VX line tool which acts like a forwarder. Listen to the incoming traffic, dumps it on the console, and also forwards it back to the egress port. So we have the tool running here and basically to listen for the packets and dump it here on the terminal at any time it receives any packets and then forwards it back onto the egress. So now we have all the three VMs in place. Let's go ahead and now create a forwarding graph descriptor as a Tosca template. Here we can see the Tosca template for the forwarding graph. So the two main components as we already discussed here, the first one is the groups. The group contains the forwarding graph metadata information, and then it also contains the important piece, the forwarding path one, which is the only member here as part of the forwarding graph. It's a simple setup here what we have. So when we look into the forwarding path one information itself, we have the main policy section here which contains the criteria and the path information. The criteria basically does on what kind of traffic the forwarding graph needs to be acted upon and steer it to the VNF that has changed between the source and the destination. Here in the criteria section, we are putting in some parameters, the source port range, the destination port range and some other parameters like IP destination prefix and so on. And in the path section, we have the forwarder and capability information. Here we have a single VNF running which has exposed the CP12 as the connecting port for the forwarding graph and to create the chain. So now once we have provided these requirements as SFC policies in the TOSCA template, we can go ahead and onboard this template using the attacker VNFGD create command. This will allow us to onboard this created template into the attacker NFV or orchestrator. So here we see that the template has been onboarded successfully and now we can go ahead and use this onboarded forwarding graph template to deploy the actual forwarding graph. So we use the VNFG create command here and provide the onboarded template as an input and give a name for the forwarding graph. And here we are running the command VNFG create to deploy the forwarding graph and we can see that the forwarding graph has been initiated from the attacker side. So what happens in the background as the attacker validates the template as we already saw it finds all the information necessary to provide the port information to the networking SFC like validate the abstract VNF types find the actual VNF instances that are running and then find the port information for the capability and the forwarding information we have specified in the template and once this information is fetched it would create a DBN tree to perform for the lifecycle management of the forwarding graph and then forwards this request to the networking SFC and calls the underlying neutron commands such as the port pairs, the port pair groups and the SFC creation. Now once the forwarding graph is initiated from the attacker side we can now go into the client terminal and see if the packets are now getting forwarded through the VNF and the client tries to send some traffic to the server. So let's go ahead and initiate the curl command again from the client. So we see that the connection was received and we also see in the server side that the get request from the client was received and now in the VNF console itself we are able to see that the packets have now been forwarded to the, have been received at the VNF and then we see that the, we are basically seeing that the packets are getting dumped onto the terminal here but then these packets are received and just forwarded back onto the egress. So we now know that the VNF actually has been created as part of the chain and it is now receiving packets and forwarding back onto the egress. So now let's try to create, send more requests from the client and see if the packet count increased on the console here in the VNF itself. So if I do a curl request again from the client to the server we see that the packet count has now increased like you see the packet index has gone up to 10 now. So we see, we can, this way we can see that the packets are just forwarded from the client to the VNF itself based on some of the classification requirements we provided like the destination port range and the destination IP, IP subnet. With this information, the traffic was stayed into this VNF and it was able to forward the packets to the server itself. Now this, we saw now how the VNFG could create command could be used to deploy a forwarding graph in one single command. Now when we go in and delete this forwarding graph the system should be reset back to its initial state and all the open floor rules should be deleted and the client and server should be able to talk to each other directly which was the initial state of the system. Now let's go ahead and run the tackle VNFG delete command. What this basically does is provide all the necessary lower layer calls to delete the service function chain to delete the classifier functions and to delete all the open floor rules that were created across all these three machines. Now let's try to send a request again from the client to the server and we should not be seeing any packets now flowing through the VNF and the connection should be directly hitting the server. You see that there are no packets here that are received on the VNF and the client and the server were able to talk to each other directly and that's a wrap on the demo. Okay, so thank you. I'd like to open the floor for questions. Do you want to? Go ahead. I'm skipping the summary. Sorry, sorry. That's all right. Good. So to wrap this session, like some of the takeaways we want to provide for everyone is that deploying complex forwarding graphs with a simple, easy to read Tosca template, using attacker as an NFE orchestrator with just the two commands we can now do it. And again, when the user initiates the SFC request, the user themselves, the user need not worry about what is the backend driver that is used to actually create this SFC here. The networking SFC itself can handle multiple backend drivers like ODL, as we saw here, the OVS, and there are other backend drivers that are getting integrated into networking SFC. And finally, the forwarding graph descriptors of what we saw is based on the Tosca NFE profile. This is based on the open standards which is accepted by the NFE community. And this will help us to evolve this forwarding graph further in future iterations. Thank you. Then take some questions. Go ahead. Is there a microphone? Anyone? Do we have a microphone? Hello? Yes. Nice presentation, guys. A small question. In the Tosca YAML template and in the SFC APIs, there's a discontinuity about how you talk about things. Is there any work to try and make it similar? So, when building a Tosca template, you talk about port pairs or port chains or vice versa, it seems a little incongruous. Yeah, I think we're certainly gonna start looking at trying to resolve those differences in future versions of the port chain. So, like I say, there's gonna be a meeting on Thursday at I think it's 11 o'clock where we're gonna be talking about future directions for networking SFC. And that's probably part of the discussion. Okay, I have a question about the... Okay, you talked about the classifier and you said in a commercial deployment, it might be a DPI box. And in my organization, we are doing this guarantee and assessment how to utilize the service function chain. But we found that most of the vendors like doing the DPI or doing the gateways, they are not yet ready for the NSH. So, how do you comment on that? Who was cooperating with you? Yeah, that's an excellent question. I mean, that's the main problem. You know, OBS does not support NSH yet. And yeah, lots of operators aren't supporting it yet either. That's one of the main reasons we decided to start using FIDO. The FIDO VPP, which already does have NSH implemented.  I wouldn't call it bleeding edge, but the thing is, if you don't implement NSH, you have to ask yourself, how are we gonna do service chaining without NSH? I mean, you can do it.  And depending on how many tenants or subscribers you have, that's not gonna scale very well. I mean, you'll have to classify it every hop. Every time you come into the SFF, every time you come back from a service function, et cetera. If you don't have some sort of, what we call service chaining encapsulation, you're gonna have to classify everywhere. And that gets expensive real quick. So, that's a trade-off. Yeah, I think it was, you know, that proxy that we saw there is really the device that's going to deal with any legacy service functions that don't understand NSH. So, hopefully over time, we're gonna see NSH implemented by service functions. So, the need for those proxies with the, you know, reclassification that each hop's gonna go away. Okay, just one comment, a long question, because normally we do the classification. I'm coming from Telco background, so, for a mobile broadband, users have different services, different packages. So, classification is not done based on the IP report. It's based on the subscriber or subscription profile. Yeah. So, how can we map this into reality? I mean... Yeah, also, ideally, I think I mentioned the slide, but I didn't explicitly say it. I mean, another way to do it is you can have, you can have PCRF interface, which you're referring to, right?  So, that's one way to do it. More questions, please. Go ahead. Over here. Yes. Yeah, so, great presentation. Thank you. Thank you. So, some of the slides seem to show the V-switch being controlled directly from network F and S and C, and some from ODL. Do you support both methods? And if you do, do you characterize the advantages or disadvantages between the two approaches? I didn't understand the question. You were cutting out a lot. So, the control of the V-switch, OBS V-switch. Yes. Some of the slides seem to show they were controlled via ODL, and some seem to show they were being controlled by networking at SFC directly without the ODL. So, do you support both paths? And what are the advantages and disadvantages if you support both? I think in a typical deployment, you should only be supporting one method. So, you'd likely maybe just go through SDN controller to control all the devices in the network. Maybe in a different deployment, you might go directly to switches controlled by directly from the networking SFC to the OBS switches. So, I think it really depends on each deployment. So, and what the carrier has in mind for their SDN controllers, is the usage of SDN controllers. Yeah, he also asked the pros and cons. Does that understand maybe the networking SFC driver? It's more of an API-driven and it's not as much implementation. Right, I mean, so. It is indeed tended to have some sort of an SDN controller back end. Right, right. Yeah, so the reason we have the OBS, we focused initially on the OBS back end is that it's needed as a reference implementation within OpenStack. So, that doesn't mandate that you have to have an OBS driver. You could just as easily use some other back end driver, say an Onus controller or an ODL controller. That's perfectly feasible. Yeah, I think it's just one driver at any point of time that is controlling the whole workflow. It's not like networking SFC controlling some component and the ODL controlling some of the OBS related actions. So, if we have the ODL as a back end driver, it's ODL that's going to manage all of this classifier functions and the actual service function chain that gets deployed on all these nodes. There's a question here. I have a question. I know we're in the age of abstractions, but this whole technology is made to improve and give us the ability to handle complex networking, new networking services, et cetera. And this whole abstraction layer where a attacker is talking to, what was it called, SFC networking and so on, means that we're hiding the functionalities that are available in ODL, OBS, Onus, et cetera.  What is the reason? Well, I can sort of understand the reason, but I still find it a bit strange that attacker isn't talking directly to ODL and then exposing all the capabilities. Yeah, that's my question, Norris, whatever. Yeah, I agree that there is an issue there with not being able to expose all the functionality, but on the other side of that is the issue of why do you want to expose all the feature specific, you know, controller specific features up to attacker. So you have to decide, you know, what you want to do there. So we are aware of the capabilities that are provided by Open Daylight or any other backend driver. So for us, from the attacker side, it's how we expose these capabilities to the user in the templated cell. So right now, since attacker is going through the neutron, the networking SFC interface, which is still evolving, the capabilities what you can provide or the requirements what you can provide in the templated cell is very constrained. But going forward when the networking SFC wants to support more capabilities and to interact with more backends, which has all the potentials of supporting complex requirements, that's when attacker can also in coordination translate, get this request handled in the Tosca template and push down those requests to the downstream networking SFC to handle it in the lower layers. So from attacker side, it should not limit us from exposing any of those capabilities that are provided by the backend. So we are aware of those capabilities that ODL or any other backend provides, but it's up to how we can translate and provide it to the networking SFC itself because networking SFC is a interface between attacker and Open Daylight, given that it provides the neutron abstracts in OpenStack. Yeah, I would like to mention though, I mean, if you take a look at the Open AV SFC project today, attacker is indeed talking separately to Open Daylight and to OpenStack. And it's working quite well. There are other projects that we're considering for Open AV SFC. I don't know if we'll be able to get to it in the D release now or in the E release, which is Open O. And Open O is an orchestrator, which I consider more of a complete orchestrator, and it talks separately to attacker as a VNF manager, spin up VMs and such, and then to, it can have several different SDN controller backends. That's another possibility. And then you would have a little driver per SDN controller back end that, depending on how you look at it, sorry, seems to make a bit more sense to me to go with something like Open O where you'd have that division. Any other questions? More questions, please. Yeah. Okay. I think we wrap this up. All right, thank you guys. Thank you.


OTAN, Outreach and Technical Assistance Network. Good morning everyone and welcome to Placer School for Adults' midterm projects report. I would like to thank the OTAN team for selecting our school to participate in the 2022 D-LAC project. My name is Adish Mohsen. I'm the CTE coordinator. Our D-LAC project is supported by our principal, Eric Veracan, assistant principal Stephen Kasparite, and our mentor Blair Roy. Our D-LAC team members are Chrissy Agee, ESL instructor and department chair, Beth Lanning, counselor, Chris Anderson, site system administrator and CTE instructor, Michelle Raymond, senior administrative assistant and CTE instructor. Placer School for Adults has a robust career technical education program. Every teacher in our program is an expert in their field and hold California teaching credentials. Our team's primary goal is to help our ESL students transition into career pathways, employment and secondary education by helping them to develop academic, digital literacy and workforce readiness skills, i.e. LCE. Our second goal is for our team to utilize technology and staff expertise to develop a student onboarding system that focuses on pathways for students. And creation for an online individualized pathway plan emphasizing digital literacy and career readiness in a specific industry sector that aligns with industry sectors and provides courses for career pathways. As you can see from the list, we have five major industry sectors and under each sector we have career pathways. The first one is business and finance. Second is building and construction trades, health science and medical technology, manufacturing and product development. And then last but not least workforce preparation. The next slide will show our construction pre-apprenticeship program and that's of course pre-COVID as you can see they're not wearing masks. This was a healthy and good class that led to jobs after the end of class. Michelle. PSA has several locations. Our main office is in Auburn. We also serve Rockland, Lincoln, Placer, Nevada County Jails, our program areas are high school diploma, GED, ESL and CTE. Pre-COVID in 1819 PSA's enrollment was 4,390 students. Our current enrollment is 679 students. That's an 85% decrease in enrollment. Here is a chart that you can see of the students we are now serving. Here we're looking at a chart and as you can see our CTE program has always been pretty robust even during COVID. It's still our leading program as far as serving students. Delac 101 really helped our team come together with an effective plan to integrate our ESL students with our technology courses. Lack of technology skills and lack of technology equipment is a barrier for many of our ESL students. Implementing a plan to interface students with technology while they are learning English language has been our primary goal. Delac helped us organize and build our program by providing tools for implementation. It has been networking with other schools as well as we gain ideas and knowledge from other programs. Next slide. This year we just started implementing a new tool to help students plan and reach their goals. The tool for it is an individualized employment academic plan to help students navigate goals and write down action steps to reach their goals. When students are on the pathway to success, they are faced with potholes and discuss the detours used to get around any barriers. If a student is planning to go to college, they need finances and a lot of my students say a good way, a good detour to get around that pothole is for them to get a side job to help them fund their college. Revision of this plan is also included in goal for it. We use this process when we enroll students. Teachers are also able to view the plan and discuss with each student. When a student completes our program they discuss and review this process again during their exit interview. This is the first year of goal for it and we are excited to see the enthusiasm students have displayed while discussing their goals. While reviewing goals, we discuss educational plans and refer them to our own transition counselor who works with our local community college, which is Sierra College here in the Sacramento region. And she is employed both by Sierra College and us and she works with the students to plan their future in the educational system and then ultimately their long term goal, which is hopefully a really good successful career. Arish. And like any other school we face some challenges. First one was COVID. It affected our enrollment. So as you saw from the slides that Michelle presented our enrollment drop down quite a bit. And also another challenge was students didn't understand our career pathways so we had to educate students create flyers to pass it on to other programs in the school and educate teachers about the career pathways so we can transition students from ESL and other programs into the career pathways and the industry sector programs that we had to actually challenge this as well was not so much for our teachers but it was mostly for our students. So we had a loaner program to loan students who didn't have computers at home, some laptops to be able to take online classes. And then the other thing was unable to market the program to our students like I said we didn't have students on our campus so it was hard to go in and talk about the programs and pass the flyers out to educate them about what we have. So today, no ESL students have enrolled in a workforce training program. That was a big challenge for us and we're hoping by next year that will change. As a DLAC team, we have learned more about the different programs we represent and how we can collaborate to better support those programs. ESL teachers also started meeting as a PLC this year and focused on developing common assessments, as well as transitioning in person classes to online. The DLAC team also worked to bridge the gap between ESL and CTE classes. ESL teachers invited our counselors and CTE teachers to visit our classes and share about the career pathways that our school offers. Flyers for all the CTE classes were also created and shared with the ESL students. Next. For the first time ESL teachers offered blended online and online classes. I also taught an ESL and digital literacy class that incorporated the G Suite apps into the ESL curriculum. All the ESL classes completed EL Civics Unit 48 online communication to focus on teaching digital literacy skills. We also used the online resources News4U, Learning Upgrade, Read Theory, and Quizlet. Since some of the ESL students did not have a personal computer or laptop at home, the adult school created a Chromebook loaner program so those students could also access our classes. Next. The DLAC team created a technology and career interest survey for the ESL students. The results of the survey showed us that ESL students wanted to continue learning how to use the G Suite apps, as well as Microsoft Office applications. ESL students we surveyed also said they were interested in career pathways for health, health science, human services, hospitality, office environment, and accounting to manage their businesses. The ESL department also wanted to see more costs as pre and post test matches for our students. So we offered more in person testing opportunities for the ESL students this semester. And as we plan for fall 2021, we're intentionally scheduling ESL and CTE classes, so the days and times do not conflict. Our goal is that ESL students will concurrently enroll in ESL and CTE classes next year. Next. Through DLAC training, Placer School for Adults was able to streamline our recruitment process, assessments and surveys to help our students, modified orientations to both in person and both online. We needed, we're needed, we've implemented costs as pre testing as well. Through this process, we were able to focus our goals to help collaborate among teachers and unify our, our programs. That led to advancement of our IELCE training program. Next. We all know the team building is huge and DLAC training has helped here as well. PSA leadership and staff embrace a great culture of working together. In our monthly staff meetings, we read culture code by Daniel Coyle, and then reviewed the chapters among the staff. We then tried to correlate that into our daily operations. Regarding conflict, we all completed the Myers-Briggs personality type indicator and use that to help build our strengths and inform others of our strengths to be better as a whole. Next slide. Continuing with team building, we as a team met weekly to help in communication and formed a leadership team to collaborate with one another. As we collaborated, we used each other's strengths per person, which are a reach for leadership, Chrissy for leadership, knowledge, experience, ESL, and digital leaders, digital leaders, literacy instructor. I was in the director of technology and CTE instructor. Beth is counseling and working with students and Michelle with G Suite and being a CTE instructor as well. Chrissy back to you. Okay, here's a picture from when some of the ESL students visited the clinical medical assistant program earlier this semester. The ESL students for the patients for the CMA students, and they got to meet the CMA program instructor as well. They had a great time, and it got them excited about the CMA program. As we move forward with promoting CTE classes and career pathways, we'll be arranging more visits like this for the ESL students. My ESL and digital literacy class will continue to be offered next year, and I'm planning on including more workforce preparation instruction. Also, Arish. So I made it a point to visit all ESL classes and speak with the students about the career pathways. And also, I encouraged our CTE instructors to be guest speakers in ESL classes so they can educate them about the career pathways that they're teaching to encourage more ESL students transition into workforce readiness and career pathways. We also implemented the goal, we're piloting the goal for it with our students so we each CTE teacher picked one student to work with this semester, and next semester we'll be implementing that in all of our CTE classes. Next. So in closing, working with OTAN team, D-LAC teams, industry partners, and our consortium has helped us increase our enrollment and student growth. My team and I are glad to have been selected or given the opportunity to participate in D-LAC program and would like to thank our administrators Eric Veracan and Stephen Castwright for their support. OTAN team, Penny, Neda, Destiny, and Dr. Puder, and in particular our coach and mentor, Blair Roy, for their continuous support during this past year. We are looking forward to another year. Thank you all for listening and if you have any questions, please let us know.


But we do have some results. We had five tournaments last week four results are in let's go to the results from last week So starting with Andre Rublev winning another ATP 500 event. He is the king of the ATP 500 He took out Vessely the big V the big vessel in Straight set 6364 who was a bit of a surprise to get to the final Let's go to Acapulco where Rafa he wanted again. He won Acapulco yet again He wanted two years ago. He's wanted two years later And he looked very good didn't drop a set for the entire tournament He beat Nori in the final 6464 of course beat Medvedeva along the way Egas Fiontech she won the Doha open and she won her second WTA 1000 event massive event over in Doha The equivalent to Indian Wells which is happening in a couple of weeks and she demolished Conturbating the final 626 love very very good performance from Ega. She played well all week but also we have another result from Chile and it's Martinez beating Baez in the final over in Santiago Chile on a clay court 466464 so a little bit closer than the results that we've seen over the last 24 hours So now there are still matches happening right now So let's just say that because Sloane Stevens hasn't started so she's still asked to play her match By the time this video comes out or by the time you watch this replay. It's probably already happened So congratulations to the winner. All right now some of the other rankings Let's go and start with the top 10 for the women and also the race to the finals massive changes Around the top 10 this week both for the men and the women Starting with the women's here. We have Barty staying at number one. She is well and truly the best player We say that every week, but she's the 3,000 points ahead of number two But we have a new world number two Kredger Kovar Going up to number two in the world after Sabalenka failed to defend all the points She won in Doha two years ago Sabalenka goes down number three and And Kredger Kovar goes up to number two career high for her and you got Shriyantak She went up four spots from from number eight to number four That's a career equaling for her and she might be able to overtake Sabalenka in the next couple of weeks If she does well at Indian Wells, then you also had Contovate She went up two spots to a career high number five in the world So good stuff there from both the ladies who played well last week Very very good ranking boost for all of them pushing down Padosa. She goes down to number six in the world Two spots lower than last week. Sarko goes down to number seven and Pushkarva who we haven't seen yet in 2022 She goes down to number eight in the world three spots lower than last week and Mughal Rutha She stays at number nine and then we've got Jabour at number ten rounding at the top ten for this week Now having a look at the race to the finals and Barty still number one no doubt about it She won the Australian Open she won a tournament beforehand She's got a lot of points in her pocket But Shriontek she goes up two spots into the second spot with that win over in Doha So she gets a lot of ranking points for that Then you've also got Contovate going up four spots number three after doing a couple of having a couple of big weeks over in St. Petersburg, and then of course making the final Here yesterday in Doha pushing down Collins to number four Osta Panko she continues her rise in the ranks She goes up one more spot to number five in the race to the finals Madison Keys though She drops down three spots from number three to number six in the world Sarkari she rockets into the top eight or the top ten of the race to the finals for sport I than last week after a good week in Doha Kretchen Kovac despite being world number two This week getting to a career high ranking She hasn't really added many points and she's gone down three spots From last week, so she's hanging on to that eight spot also, but also pushes down to number nine and Halop goes down to number ten with Kudamatova getting pushed out of the top ten completely Okay, it's time to check out the men's top ten because we have big changes the big change at the top Daniel Medvedev he goes up to number one in the world the first time ever The third Russian male to get to number one in the world. He pushes Djokovic out Of course, we know that Djokovic hasn't played that much So that's mainly the reason why we are in this position But hey Medvedev deserves it. He won a slam last year He's played very well this year and he gets the number one in the world Djokovic to number two is Vera stays at number three despite having a Okay start to the year not the greatest start, but he stays at number number three Rafa he goes up to number four in the world after winning Akapalko pushing City pass down to number five And after winning in Dubai Rubelev gets to number seven six in the world One spot higher than last week taking over Baratini who goes down to number seven rude He stays at number eight for this week with Ojalia seem staying at number nine and who be her catch after a very good week Last week in Dubai. He goes up to number ten back into the top ten pushing out sinner So very good stuff there from all players in the top ten But some big changes, you know big changes especially at the top having a look at the race the finals now and Rafa He's still at number one. No surprise there with Medvedev still at number two the two finals of Australia doing very well Since then as well Ojalia seem he stays at number three very good stuff there from FAA despite pulling out of Dubai this week I got city passer number four after another semi-final week and then Rubelev he gets into the top ten We haven't seen him yet into the race to the finals He goes up seven spots higher than last week after that win in Dubai Shapo also had a good week in Dubai. He goes up two spots number six in the world both pushing down The likes of Baratini who goes down to number seven RBA who goes down to number eight and Schwartzman Who goes down to number nine and Cam Norrie he jumps into the top ten after getting to the final of Acapulco He goes up 13 spots higher than last week a very good week from Norrie By the way, Alcares and as Monfees both got pushed out of the top ten because of those Two results from Rubelev and Norrie. Let me know in the chat Who are you most surprised about or let me know in the description if you're watching this video later Who are you most surprised about I mean probably a lot of you are surprised at Medvedev's number one Maybe I don't know He definitely deserves to be there, but who else are you surprised about maybe some of the players outside the top ten That is surprised about he's surprised that Kovitiv has gone down to number 30, you know after you know what two years ago making a final of Australian Open or three years ago


The argument for market failure. A public good, as economists define the concept, is any good from whose enjoyment non-contributors cannot be excluded. The theory of public goods is of interest to libertarians for two reasons. First, because a great many things we care about – highways, education, law enforcement, fire protection, national defence, etc. – are widely thought to be public goods, or to have public good characteristics. And second, because the majority of economists are convinced that such public goods cannot be supplied on the free market. The argument for the inadequacy of markets in this area runs as follows. Suppose there is some good X that 200 people value, but if X is produced, each of those 200 will be able to benefit from it, whether or not they contributed to its production. If you are one of the 200, what is your reaction if you are asked to contribute? According to the orthodox theory of public goods, you reason as follows. Either the other 199 are going to raise a sufficient amount of money to fund X, or they aren't. Suppose they do raise enough, then the good will be funded whether I pay or not, so I might as well not pay, so I can take advantage of the benefits without paying the costs. This is the free rider problem. On the other hand, suppose they don't raise enough, then the good won't be funded even if I do contribute, so there's no point in throwing my money away. This is the assurance problem. The chance that my contributing or not will make a decisive difference to X's being funded or not is so minuscule as to be quite properly ignored, so either way, regardless of what others do, it's in my interest not to contribute. So I won't. And you don't. The problem is that the other 199 people in the group are reasoning the same way and so X never gets funded, despite the fact that everyone would be better off by their own standards if X were funded. It's in everybody's collective interest to cooperate, but in everyone's individual interest to defect, and since it is individuals not collectives who make decisions, the result is that no one cooperates and the public good is never produced. The market system of voluntary cooperation appears to have failed. Solution one, force. There is a way of solving this public goods problem. Make contribution compulsory. If everyone is forced to contribute, then the public good will be funded and everyone will be better off in respect of that public good that is. They will of course be worse off in another respect. They will no longer be free. Nevertheless, coercive force is widely endorsed as the sole possible solution of the public goods problem. Forced contribution, whether of labour or of property, is certainly the solution of choice in the modern state. Taxation, military conscription, eminent domain and jury impanelment are among the obvious cases. But is force the only possible solution? By no means. Throughout history, countless so-called public goods have been produced through non-coercive means, thus rendering the public goods problem no more than a bogey from the economist's fantasy. Economists who proclaim from their ivory towers that non-coercive solutions to public goods problems are inconceivable, without ever bothering to examine the empirical facts of private production all around us every day, are in effect demanding that the rest of us be held hostage to their lack of imagination and observation. Perhaps entrepreneurs who stand to make a profit from solving public goods problems have more incentive to discover solutions than economists whose income is unaffected by their failure to solve such problems. Leaving governmental coercion aside as both unethical and dangerous, I here offer five other solutions to the funding of public goods. My list here is not meant to be exhaustive and I welcome further suggestions. As I go along, I will consider in particular how each solution might apply to what is generally considered the most difficult public goods problem, national defence. Solution two, conscience. Public goods can be funded through reliance on custom, morality and non-material rewards. Many public goods are already so funded.  A less obvious example perhaps is churches. One can walk into a church, listen to the sermon, ignore the collection plate and walk out. Indeed anyone who wants to hear the sermon could free ride in the same way, hence the economists thought to predict that no churches would ever be built and no ministers paid, yet somehow this is not the case. A still less obvious example of a public good is tipping. Waiters and waitresses provide better service in the hope of getting a tip, so the practice of tipping has the beneficial result of producing better service. At least I'll assume for the sake of argument that this is true. I don't actually know that countries without the practice of tipping really have worse service. But why should I leave a tip in a restaurant to which I have no plan to return? I benefit from the tips of other diners and they benefit from mine, but in this case I could free ride enjoying the benefits without tipping. Why don't I? The power of custom. Morality, the conviction that we are obligated to do our part, also plays an important role in overcoming free rider problems. When we consider the millions that are contributed to charity, telephones, etc. there is no reason to doubt that there would be at least as much voluntary support forthcoming for the funding of public goods. Indeed as Robert Axelrod shows in his book The Evolution of Cooperation, both biological and cultural evolution tend to promote the emergence of cooperative dispositions, because those who manifest such dispositions acquire a reputation as a cooperator, and thereby attract other cooperators. As these cooperators flourish by reaping the benefits of increased cooperation, the cooperative impulse is further selected for. The live aid telethon concert generated impressive contributions to feed the starving Ethiopians. Would not people also contribute money to defend their country? Keep in mind that a military confine to national defence, as opposed to foreign adventuring, would be quite a bit cheaper. And have not people always volunteered their labour as soldiers in great numbers when their country was attacked? A citizen's militia manned by volunteers and funded by charity has been the standard form of national defence throughout human history. Solution 3. Delegation The third solution is really a variation on the second, but it is distinctive enough to warrant separate mention. Those wishing to solicit contributions to some worthy cause will raise much more money if they devolve responsibility by assigning local people to collect from friends, family and co-workers. This strategy is employed with great effectiveness by the United Way. Social pressure and the desire to look good in front of one's peers are powerful incentives. Incentives that might well serve to motivate contributions to the patriotic defence of one's homeland. Solution 4. Guarantee In his book The Limits of Government – An Essay on the Public Goods Problem, David Schmitz suggests offering money-back guarantees as a way of increasing the incentive to contribute. Remember that a public goods problem comprises two elements – the free rider problem – the temptation to free ride if others contribute enough – and the assurance problem – the fear that one will end up a sucker if one contributes and others end up not contributing. If those soliciting funds offer to refund the contributor's money if insufficient funds are raised to fund the public good, the assurance problem is diffused. The free rider problem still remains, of course, but once the incentive to defect has been cut in half, the non-monetary incentives to cooperate may be enough to overwhelm it. War bonds could be offered in this way. Solution 5. Privatisation The problem with funding public goods is that non-contributors are not excluded from enjoying the good. An obvious solution then is to try to invent some way of excluding those non-contributors, thus privatising the public good. For example, although highways are supposed to be a paradigm case of a public good, we all know about toll roads – if you don't pay, you can't drive. At one time in this country, fire protection was offered in the same way that insurance is now. Firemen only saved houses whose owners had paid their premiums. This obviously works better if houses are not too close together. Methods of exclusion may also be discovered as technology progresses. It was once impossible to exclude anyone from viewing television transmissions, but we now have cable TV and broadcast scramblers. In addition, any good that can only be enjoyed in a particular location can be turned into a private good by making the location private property. It is difficult to apply this solution to national defence. If you defend my fellow citizens from foreign invasion, you Ipso facto defend me too, whether I contributed or not. There's no way to let enemy missiles through to hit just the houses of non-contributors while leaving those of contributors alone. But there are at least ways of slicing the problem up into more manageable pieces. If we consider defence of the continental United States as a whole, it becomes clear that local areas that are net non-contributors can certainly be excluded from that good. So we implement solution 5 by decomposing national defence into a plurality of regional defences and then allow the other solutions to operate within those regions. Solution 3 in particular will naturally work better at the regional than at the national level. Solution 6. Packaging One way to fund public goods is to package them with private goods, from which non-contributors can be excluded. In 19th century England, private roads were built that were not toll roads. They were completely free and anyone could use them. Why was it in the road builders interest to supply this public good then? Because the road builders owned property, a private good, alongside the site of the proposed road, and once the road was built increased traffic brought increased commerce and the value of their property was increased. I learned of this example from Stephen Davies. Lighthouses are another example. For decades standard economic textbooks had loftily explained that lighthouses could never be supplied privately, because ships at sea benefit from the light whether or not they pay. But one day free market economist Ronald Coase decided to do some research and discovered that in fact lighthouses in Britain had in the past been supplied privately for many years. True it was impossible to exclude non-contributors from the light of the lighthouse, but it was possible to exclude non-contributors from using the harbour. So the lighthouse fees were simply packaged with the harbour fees. Once again entrepreneurs who stood to make a profit were motivated to devise innovations undreamt of by pessimistic academic economists. Coase's article may be found in Tyler Cowan's anthology Public Goods and Market Failures, also published under the title The Theory of Market Failure. Broadcast TV is another classic public good. Viewers can receive the signals whether or not they pay. If we had never had broadcast TV, if we had started with cable to begin with, economists would no doubt predict the impossibility of broadcast TV unless financed by tax revenues. But TV broadcasters and radio broadcasters before them managed to pay for the broadcast by packaging them with a private good, advertising. Providers of goods and services value advertising airtime and this definitely is a good from which they can be excluded and for which they are consequently willing to pay. Advertising revenue is then used to fund the broadcasts. A public good for the viewers is funded by being packaged with a private good for the advertisers. Could the public good of national defence be funded by advertising as well? Perhaps so. How much money would Coca-Cola be willing to donate to national defence? In exchange for the right to advertise, Coca-Cola, we defend America. Quite a bit, I would bet. Private weapons ownership also represents a kind of packaging, one that operates on its own with no entrepreneurship needed. In a free society, people will have the right to own weapons and will buy them for the sake of a private good, defence of their own homes and families. But this pursuit of private good brings along with it an important public good. An armed society, formidable to any would-be conqueror, itself represents a powerful deterrent and thus to that extent serves as a means of national defence. Perhaps another packaging strategy might work as follows. Suppose a group of private protection agencies, individually specialising in domestic law enforcement, were to make binding and enforceable contracts with one another to form a consortium, pooling their resources for the purpose of national defence. These protection agencies could then sell a package of protection services, domestic law enforcement and national defence, and refuse to sell the former to anyone who would not pay for the latter. At this point, of course, a new entrepreneur in the security field could come along and try to undersell the consortium by charging for domestic law enforcement only. But at this point, solution six might be combined with solution two. Just as many people today practice socially responsible investing, refusing to invest in companies with bad environmental records or poor employment conditions, many might refuse to deal with any protection agencies other than consortium members. All these ideas are only armchair speculations, of course. Once again, I expect that entrepreneurs, alert for profit opportunities, would be a lot more imaginative than I have been here. Thus, I am optimistic about the ability of the market to supply even such public goods as national defence.


And civic society organisations have carried out effective monitoring of the implementation of a tripartite agreement on the sharing, transposition and management of certain forfeited asset forms worth $311.8 million dollars.  The acting executive director of Clean Foundation, Mrs. Ruth Orloffing, during a press conference in the Bujak set, the project is progressing at each project location and workers are on site, constructive activities around going, and each of the project officers is staffed and operational. The foundation drew in our monitoring visitations to the project site locations. Since June 2021, in relation to the forfeited assets observed, that work is progressing at these three site locations. Workers were on site, construction activities are ongoing, and each of the project officers are staffed and operational. The monitoring team was met timely and without incident by the EPC contractors, who were mainly prepared and offered appropriate comprehensive updates on the nature and progress of works at each of the site locations. The quality of work observed appeared to be consistent with acceptable standards. There were simultaneous ongoing construction activities on both side of the dual carriage way of the Bujak panel road, and also section of the second river land bridge and the Lagos Ibadon expressway. Hello, hope you enjoyed the news, please do subscribe to our YouTube channel and don't forget to hit the notification button, so you get notified about fresh news updates.


Well, hey there, it's Sandy Alnach and I'm an artist and crafter here on YouTube. And today I'm going to be making this card that has a double blended light source. So it's got two places where the light's coming from. I don't usually do that kind of thing, but I thought this would be helpful because if you look at any of the old masters, the baby Jesus glowed. There's always light coming from the baby Jesus. So there's also light coming from the star, which in this case happens to be on the barn instead of behind the barn in the sky. So I have two light sources and I'm just going to use the same series of colors to create these highlights around them. Some people will go from the darkest colors on the outside to the lightest colors on the inside. And in many cases and possibly even in this case that would have been the smarter way to go. Because one of the things that happens when you start adding the darker colors around it is depending on your decisions about how dark you're going to go, which I kept changing my mind how dark I wanted to go, then you're going to keep closing in on the highlight. It's going to get smaller and smaller, which I was fine with because that original yellow had gotten really large. But every time you add one of those extra colors on the outside, you're going to have to do a little bit of blending as you get toward the inside. So in some instances, and this might be one of them, it may have been easier to start from the outside, get those darks in there and then blend your way inside. But you know, I'm not known for doing the easy way. So I went from the inside to the outside and then kept going back in with some of the previous colors to create this double highlight. And I'm not really worried about coloring over some of the parts of the barn or everything. A lot of that's going to just be really dark color and disappear and just cover right over top of those reds and yellows. I'm not really concerned about that at all. Being a little bit careful around the animals and things and the holy family because I didn't want to mess them up. But again, a lot of that's going to get really dark because the lighting is going to be really strong in a lot of nativity scenes that you can make. If you make your lighting really dramatic, then there's really only a few areas you have to worry about coloring, which is leaving some highlight around the main figures in the picture because everything else becomes unimportant. It doesn't matter if it's a sheep or a, you know, donkey or a duck, it can be anything as long as it's a lumpy shape that makes you think animal because people in their mind fill in with everything is. So a lot of my colors on those things are going to get very dark and very rich because they don't matter that much. Just having a little highlights on them to make them look like animal shapes is going to be enough. I'm still working on darkening my colors. You can see how I'm going to have to now go back in and do blending again because I decided I was really going to go dark red. I didn't at the beginning of this, I didn't know how dark I was going to end up. I almost thought I was going to go purple. But I ended up kicking the purple out the window because I thought red is going to be really striking because I don't see this kind of coloration very much on a Christmas card and it'll make it really unique. So that would be a good thing. And I also wasn't sure when I showed you the acetate card at the beginning what I was going to do if this was just going to be the card front or not, but this stamp set has the magi, the three kings. And I did figure out a way to show you how you can use them on an acetate card. But you can watch very slowly. The center is just getting pulled in closer and closer because I have to keep blending all those darker richer colors in and lightening up. I'm just going from the outside R89 back to the R37 back to the R14 and the YR04 just working my way through that cycle until I get back down to that center. And with something like this, in some ways, having really small glowing areas is actually going to be better than having a wide blend because it's going to put more focus on each one of those highlights. If they're both really, really big, then it doesn't necessarily look like those are the things that are glowing. It just looks like there's an overall glow if they're joined to each other. But having this definite separation between them makes them look like two separate glows. So even though a lot of you may have been looking at this and thinking, she's insane, she's spending a lot of time working on this glow for no benefit. It ends up coming out pretty nice in the end anyway. So there you go. It just takes some time and I have nothing but time. It's just something I have a lot of. So I do love spending a lot of time on my Christmas cards anyway though because I send out a ton of them and it's one time of the year that I reach out to some people that I normally don't get to reach out to. I don't write to them very often. So since it's the one time of year they're going to get a card, I'm going to send them a really nice one. So I keep working back into some of these colors. I wanted that red to be really rich. And you may notice that over time, or not even very much time, in the few minutes that it took for that to dry, the red colors were kind of starting to fade and not necessarily fade. But when the paper is wet because it's filled with color, then it's got a lot of moisture in it. And as that moisture dries up, that's where some of the blotchiness appears. So you may find that your work looked really fine. And then all of a sudden, once you got the image colored, everything looked blotchy again. Well, don't worry about it. It happens to all of us because of the fact of all that paper drying. So I'm speeding this up now because we're done with the crazy, blendy, blendy, double-blend sky. And I'm just going to start working on the rest of the elements. And the rest of these, I'm going to make anything that's close up to the light source.  And I'm going to put some strategic highlights in just a few areas, like those two side poles on the bar are going to have the two verticals are going to have highlights on them. And then each of the characters is going to have highlights just like on the top of their heads and that sort of thing. But a lot of the rest of it is going to disappear into a mush of color because I don't really need a whole lot of details or anything on all of the rest of it. Anybody who looks at this card in the Christmas season is going to know that this is a nativity scene, that there's two people, a man, a woman, and a baby, and that there's animals around it. That's just the assumption they're going to make even if they can't see what's going on here if all of this gets really dark. It's not going to matter at all. So this is like a really dark robe. Most people would use a really pale blue for Mary. I'm just making it nice and dark. I want all of this stuff to be just rich, dark shapes that don't really matter a whole lot. I don't want the emphasis to be on them because the emphasis is on the light. And that's one of the main things that you can work on in your cards is figure out what is the most important thing on the card. If everything is important, then nothing is seen. So here I'm just knocking these animals back until they practically don't exist. This white sheep, I'm coloring with a very dark gray. I'll go in and lighten it with a lighter gray a little bit, but I want it really dark. I want it to practically look black because all I need is that little glow on the face. That's it. I don't need anything else. I'm going to have a little bit of yellow coming out from the baby Jesus that's going to hit the ground down there, the hay. And since I, at this point, had decided that I was going to make this the inside of the acetate card, I left the bottom so that I could write or stamp a message down there if I wanted to. And I'm also going to put a white panel on the back of the card as well. So I'll be able to write on that as well. Now, as for the three kings, what I decided to do was to color them very richly again with just some highlights. So I put yellow in the places where I thought the yellow might touch each of them if it was coming from the baby and they were, they're facing the light source, then they're going to have some yellow, maybe up on the crowns on their heads, maybe a little bit on each one of the things they're holding. And everything else will just be a mush of color for the most part again. And I wanted dark, rich colors on each of their clothing so that they kind of become just a blob of a unit. And we have just a hint of the things that they're holding in their hands so that you get the idea that they're the magi, but not necessarily getting lost in any of the details because they're not the important part of this card. They're just an adjunct part of the story. But I did realize I was going to cut these out and hand cut them out for a specific reason. So I wasn't really worried about staying in the lines at this point. And in a couple of details, dulled a few things out, darkened up some colors so that they would feel nice and dark. And then that was going to lead to cutting them out. So I held two pieces of paper together and fussy cut them so I could have one piece that is the stamped image and the other one is going to be the reverse image. If you've ever tried attaching something onto an acetate card, you end up seeing all the glue on the backside of it because it's clear, right? If you glue these little magi in the front, you're going to see all that adhesive as soon as you turn it around. But if you have two of them, then you can have one on one side and one on the other and glue them together as a sandwich. So I flipped it the opposite way left right so that when I glue them on either side of the acetate, they're going to hide the acetate. But this side is going to be the silhouettes of them with just a little tiny yellow highlight on them because they're facing now toward the light. This is the backside of them. And you're going to see a little glow around them and that's it. So I started with very dark in the center and I'm working my way out with a lighter gray and then a little lighter gray and that sort of thing until I have just barely that warm glow around the edges of each one of the shapes. And then I've already got the thing cut out. It's super easy to assemble this and put it together on the card itself because now I've got two sides to the same figures and the camel even sits in the same place. And unfortunately on this side he looks like he's in front and on the other side he looks like he's behind but it is what it is. You can see how they assemble together on either side of that acetate. So here's the card that on the back I put another panel so that I could write a note back there. And then I have the acetate on the front I've put the adhesive on the underside of my picture here I'm gonna glue the other one on the other side and you won't see the adhesive from either one of them when the card is open the magi are facing the baby Jesus and when it's closed you just see the back of them walking up to the manger. So that is my card. I hope that you got something out of this. The main focus was that double lighting but the acetate trick was a little bonus for you. You can do that with a lot of different kinds of images on other cards too. Thank you for joining me. If you like this video, if you got anything out of it please click the like button, subscribe if you haven't and I'll see you again very soon with another video. Thanks, bye bye.


Hey gang, hope everyone's having an awesome week so far. I just got back from sort of yesterday. Not sure when this video's gonna be posted though, but it wasn't too healthy of a week. Anyway, I got home, I'm starving. I didn't do an entire grocery haul, but I went and got some things that I am just craving and that I love to eat. And people keep asking me about what these things are. What do I grab and go with? So I'm gonna show you a mini grocery haul of some of my faves. All right, gluten-free wraps made with spinach. These are all from one of those healthier grocery stores here in Burlington. I got some salt reduced butterball bacon style turkey. I know, I know really not the healthiest for you in terms of a little bit of nitrates going on in there, but don't you judge me. Delicious, so I'm gonna make a wrap with these. Some turkey, I got organic butter lettuce, butter lettuce. One of my most favorite things. Is there anything better than butter? I love butter lettuce. You can never have too much butter. It's delicious, unsweetened vanilla almond milk.  Side note, spoiler alert. The next video on Friday is going to be how to create your own DIY healthy version of a Wendy's Frosty at home. So stay tuned and please don't forget to subscribe. I got one of the biggest avocados I think I've ever seen. Avocados every day, all the time. You can blend them into smoothies. They absolutely disappear. They make a really nice texture. They're also great in the wrap so I'm putting some in my wrap. This is my favorite hickory smoked natural selections, turkey breast, yum, it's good. So that's going in the wrap. Tzatziki, I have this thing with tzatziki lately. I just love it. It's delicious. I use it in my salads. I use it on pretty much everything. Couple of little tomatoes and not for right now on the side, but if I'm super hungry on the side, I will make sweet potato fries. In the air fryer, if you wanna know how to do this, there is a video on the channel all about that. But anyway, I'm gonna make this and I'm gonna show you what it's like when it's done. Close an expert here. Is such a thing even possible? I don't really know how to do this. So don't judge, but hope down there for me. That really helps me know what kind of content to keep producing for you. If you have any suggestions of future videos you'd like, please let me know and I'd be happy to create that content for you. Please check out the other videos on this channel because there are videos on this channel that can help heal more than 90% of any health wellness or body image challenge. Please share the channel because people could use this info and it's free. Please, please subscribe. It's just like having a favorites tab on the internet for a website you like, it's 100% free and that is really where the support does come from for me. If you would like notifications of when future videos are posted, please hit that little bell notification icon down there and you will be sent a notification each time I post a new video. Until next time, have super amounts of fun in your life. Have super amounts of fun making your own fast food hack meal, whatever you like, easy, easy, way less expensive, way healthier, awesome for weight loss and I'll catch you next time. Bye.