Hey there lads and ladies, it is PatchflyingPumpkins here and I am back with a PSVR2 update video. This one is all about the new Fresnel lenses that are going to be in the PSVR2 headset. Now we did get confirmation recently thanks to the official PSVR2 website that Sony put up that the PSVR2 is indeed going to be using Fresnel lenses. These do come with some advantages in terms of being light-waste and what not. And most of the major headsets are actually using these. One big downside of Fresnel lenses is apparently god rays. They can introduce this artifact in situations where there's a high contrast between maybe black and white. There's streaks of light that kind of come from the lenses and that can be distracting. It can ruin the image quality to a degree and it doesn't matter how many pixels or how high the resolution is. You can't fix that because it's a hardware issue with the lenses. So this is something I was a little bit concerned about with PSVR2 when they confirmed that it was Fresnel lenses. But thanks to this article from UploadVior which has discovered a patent which was filed by Sony all the way back in 2020 which isn't that long ago really. It looks like Sony has something in store up its sleeve to combat god rays. So I'm just going to read this article the important bits anyway. And this is as I said Road to Vior and it was written by Ben Lang. So we learned last week that PSVR2 will use Fresnel lenses which have a range of advantages over the traditional lenses but also come with a big downside god rays. However Sony may have a trick up its sleeve that could give the headsets Fresnel lenses a big advantage over the competition. So are we forever doomed to suffer god rays in Vior headsets with Fresnel lenses? Maybe not. And PlayStation 2 although I assume he means PlayStation VR2 might be the first headset to truly address the problem. A patent granted to Sony in 2020 proposes a method of manufacturing the Fresnel lens which can suppress god rays. The patent describes adding a lice absorbing portion to the surface of the Fresnel lens that don't actually contribute to the overall shape of the lens. This would in theory reduce god rays by preventing lice from being scattered by those parts of the lens. The patent shows several arrangements for the lice absorbing portion both on the surface of the lens and embedded within us. So here's the actual patent itself. Now don't ask me what the hell is going on here. I'm guessing all these little lines these little dots. These are the parts that maybe scatter the lice or something like that to prevent the god rays. I'm not an optometrist but I trust Sony have done their homework here. Sony's patent proposes several different methods for manufacturing such a lens. One of which involves applying a mask which blocks lice over the entire lens surface and then using some kind of exposure technique removing only portion, only that portion where lice is desired to pass through. Another method proposes starting with the lice absorbing material already shaped and then forming the lens around it so that the ridges align just right with the lice absorbing structure. This is another method I guess. We won't know obviously which method they go for until it's actually out. As ever big companies like Sony fly lots of patents and many of them never become products. There's no telling whether the method is described or even practical for mass manufacturing so it's tough to say if this might end up in PS4 or 2 but the option is on the table. So yeah that is important to mention. We could actually end up with shitty Fresno lenses that still have god rays just because they've made these patents. Doesn't mean these patents are going to actually be a reality which is always the case anytime we're talking about patents which is you know a lot. It's unlikely that we'll get any more details on PS4 or 2 lenses before the company reveals the final design which is expected sometime this year. So this is a good article from Ben Lang over at Road to VR and I will leave the source for that in the description so you can check it out yourself if you want to go into more details. Also worth noticing recently is that there's another story going around that Sony has not finalized the eye tracking system in the PS4 or 2 and instead they've reached out to this other company this Tobi company which I've never heard of before but apparently they specialize in this kind of thing and they're very good. So the word on the street is that they're in negotiations with them over this which seems very bizarre to me because how is this kind of thing not finalized? I understand it may be software based therefore it's possible it could be added in a patch later on if it's not negotiated in time for the launch of the PS4 or 2 headsets. Plus in terms of game developers developing a game where you're focusing on eye tracking and foveasit rendering if the eye tracking isn't working the foveasit rendering can't work and then your design is kind of gimped until this is confirmed. I don't know it's all up in the air. On that one I maybe should do a whole video on that one or maybe we'll wait for a live stream and go into more detail. Honest but anyway this one is mainly about these Fresno lenses. The Fresno lenses was the big concern I had. Of course now this is a new concern about the eye tracking and what's going on there but let's cross that bridge when we get to it. Let me know what you think about these Fresno lenses. Are you concerned? Do you think Sony you know they've got this Sony do have a reputation of you know excellent hardware workarounds. If you look at PS4 or 1 they had the sub pixels the RGB sub pixels that really minimized the screen door effect compared to other higher resolution headsets so Sony do have like a lot of expertise in that area. Anyway thanks again for watching. Thank you Decepticon for letting me use your music in all of my videos. You can find him in the description also and with that I will end this video. Please stay moist. We're getting closer and closer to PS4 or 2 every day. We're ancient closer to us. Okay. Bye bye.


Child Life Essentials is a line of award-winning supplements formulated for the uniquely daily nutritional requirements of infants, toddlers and children. Necessary for proper bone, muscle, organ, immune, neuronal and brain development, Child Life Essentials, tried and true, formulations provide meticulously chosen, pure, high-quality vitamins, minerals, amino acids, and essential fatty acids. Some popular products from Child Life Essentials include multivitamin and mineral. This liquid full-spectrum formula provides 16 essential vitamins, along with primary minerals that support proper nutrition, as children develop physically, mentally, and emotionally. First, defense immune formula. This well-researched liquid nutritional formulation provides hand-selected herbs and minerals known to help support the body's natural immune response. Vitamin D3, one serving, provides the American Academy of Pediatrics' recommended daily requirement of Vitamin D3 in support of respiratory and heart health and a healthy functioning immune system. If you have any questions, please call, visit, or email the Professional Supplement Center and one of our knowledgeable staff members will be happy to assist you.


You're not in it, you're not in it, you're not in it. Hi! Is it recording? Yeah! Do I got on? The mic is on! I know, I wish I was in 2000. Yeah, you did. Okay, come on. It's cold out here. Yeah, where you getting in the car? All right, what's your foot? You're very welcome. I look good. Yeah, you do. There you go. You're very good. You're very good. Bye. She gave me something and I checked. I'm so sorry. I'm so sorry. I'm so sorry. I'm so sorry. I'm so sorry. I'm so sorry. And I checked. Balls. Balls! I was very cheering sad. Alright. Can I see water? I'm sitting. She says you can eat and drink. No, you can't do that. Water? Yeah, water. Oh, I don't care. That's great. It's great. It's great. It's great. Perfect. Okay, the foot is stuck but we are working through it.


dweud o cywm mwy o'r Newtechnawe, Gwlaff Mwbl Cymru, Ieithaf Yn Gwlaff, Mae yna ychydig yn ysgol o g nanwysgol, Yn Gwlaff Cymru, Mae'r newydd ar yr ydym ni, Both at our events and other industry events and a contributor to several online journals. In fact we had a little online fan club going for Dr Harding a few years ago I seem to remember. He began his career in research, communications and software research and development. Spent nine years as a consultant specialising in voice and data communications before joining us at the open group. In this session Chris will look at the challenges faced by companies doing digital business today. So over to you Chris. Thank you very much Steve and good morning everybody. I have a microphone here and now I'm armed with the mouse pointer. So it's great to be here in San Francisco and at the open group conference and to see you all. It's something of a change for me. I live in a small, I think you can maybe call it a hamlet in the country in England. It's got a population of three and you can't get a lot smaller than that. But I think I see people from a lot of different countries which is very normal for an open group conference and I suspect a lot of different backgrounds and ways of living also. So it's great that we can all get together here. But actually for those of us who grew up in the 1950s and 60s, probably a select but shrinking number, but probably some of us, international travel really is something that we were brought up to be accustomed to. So we had all these stories of space travel and science fiction and interstellar journeys and crossing the galaxy to meet creatures with four heads. So crossing the Atlantic to meet people who say tomato instead of tomato or maybe have a skin of a slightly different colour is really just a snip. So we were prepared for that. But what no one told us about and we were totally unprepared for was the rise of the internet and the worldwide web. And these have arguably made as big or maybe even as bigger difference to our lives as international travel has done. Not just the web but the whole set of digital technology. And to the way we live, to the way we work and to the way that we do business. So and that's really what I'm going to talk about in this session. How digital technology is transforming business and more particularly what are the kind of implications for that for enterprise architects. What is this doing to enterprise architecture? How can we architect systems, some of the considerations for how we can architect systems to deliver better customer experience in the digital age. And finally to say a few words about the DBCX work group which is joint work group of the open platform 3.0 forum and the architecture forum and which is working to establish guidelines in this area. So I live in a small hamlet and one of these things that this gives me a problem with is internet connectivity. So connecting via the telephone line is really pretty hopeless. But I do have, I've stuck an aerial up on the top of my house and with a long cable from that I can get a reasonable signal. But it's not sort of used as much as you can in the way that a phone line is. So I have some questions about it. I asked this question to try and clarify my usage. It took me actually a little while to find out how to ask questions. The supplier site was mostly concerned with selling me new things. But in the end tucked away in a corner I did find the ability to ask this question. So I sent it off and got an instant response saying we are considering it and we'll get back to you and sure enough in a day or so I did get a response. But it didn't actually give me a complete answer to the question I'd asked. So I tried to clarify further. I sent off another question and I got the instant yes we are considering it and then in a day or so I got a response to that. And this didn't really answer the question I'd asked either as far as I could tell. So I was beginning to wonder actually because of the way it was all phrased. Who I was talking to. I started my reply to that with the following question. And the answer I got back was as follows. So I'm still actually not sure whether I was talking to or exchanging information with real people or with an artificial intelligence program. And I'm actually in two minds about this. First of all, if it was an artificial intelligence program it wasn't a very good one. It didn't really give the answers to my questions and it sort of didn't have a look and feel that made me feel it was a good thing to interact with. On the other hand, if it was real people I have to say that a good AI program would have done a better job of answering my questions and directing me to the information that I needed to know. So it's really all about how you set these things up. It's a mix of maybe FAQs, maybe intelligent reasoning based on the questioning and having people who really do know their stuff somewhere in the background. The architecture of how you arrange that is very important in setting up the customer experience and giving a good customer experience. So people have been doing business for thousands of years buying and selling things and until very recently this is mostly being done face to face. So if you want to buy fabrics for example you probably have questions. Is this cloth really made from the high quality thread that the guy tells me it's made from? I've told him that I'm probably going to want to buy some more of the same stuff next week. Is he really going to be back in this place and be able to sell it to me? Or is this just a sort of quick job lot that he's got that he's getting rid of quickly and I'll never see him again? Is he the kind of guy that I can trust to help me if something goes wrong with what I've bought from him? And if you're buying something in the street like that you can look the guy in the face and you can form your conclusions and the conclusions you form about how far you can trust someone are a very important decision thing for you as to whether you're going to hand over the money to him. If you buy something on the web it's rather different. You can't look anyone in the eye. You are in fact interacting with the systems of engagement of the corporation that you are dealing with. And it may be quite a complex interaction. You may have got to that web page because those systems have been looking at your purchasing habits. Maybe they know more about you. Maybe they've been analysing your social media interactions.  This could be of interest to you. But you still have a lot of the same kind of questions. Is this a supplier I can trust? Will the quality be good? Will things be okay? If something goes wrong? And you can't look anybody in the eye but there may be are other ways. You can look to see if there are customer reviews, for example, that might help you. If this is a website that you've used in the past, you will have a history there. If it isn't one that you've used in the past, you may still, from the way it behaves, get a sort of kind of feel of is this a good company to do business with to buy cloth from. The dictionary defines the word persona as the way you behave, talk, etc. with other people that causes them to see you as a particular kind of person. The image or personality that a person presents to other people. And corporations actually have personas too. So a bank, for example, has buildings made of solid stone. You open that solid wooden door and go inside and you will find fittings of good quality, people smartly dressed, everything that gives you the feeling, yes, this is a solid and reliable institution.  And maybe you could say that a corporate persona is the corporation, interacts with other people and with its customers that causes them to see it as a particular kind of corporation. And that helps us really to define the challenge for the enterprise architect. How do we architect systems of, and that should say systems of engagement, I'm sorry about that. How do we architect systems of engagement to deliver the corporate persona that we want to project the persona that indicates that this is the kind of corporation, the solid corporation that we are that customers would want to do business with. So that's the challenge for architects today. And in some ways we are fortunate because although you could say digital technology is throwing up this problem that we are no longer able to do business face to face and gain a feeling of trust and confidence through personal interactions, it's also putting up a lot of things that can help us overcome this, like the ability for example to analyze data, analyze social interactions on social media and gain an understanding of the customer. So it's really two ways. But there are a lot of exciting things happening in architecture just at the moment. So microservices are what you might call the latest twist in the long running saga of the SOA revolution. Service orientation was introduced as an architectural principle over 10 years ago now. And it's been gradually gaining ground, it's gradually evolved. And it's now at the point where a lot of services or a lot of systems are service based, they present APIs and these are the ways that you interact with them. Microservices, which I've heard defined as SOA done right on a small scale, the idea that you will break things down into very small business oriented blocks of functionality, each of which will be a self contained service that is gaining ground as a popular way now of architecting systems. If you are around on Wednesday, you can hear not about microservices architecture, but about mainstream SOA and standard architectures for that. Heather Krieger is giving a presentation on that on Wednesday and also by the way on cloud architecture standards. So we're seeing architectural practices evolve, service orientation evolving as a movement and then changing itself to microservices and then maybe more things beyond that. We're also hearing about interesting things with cloud architecture. This afternoon there will I hope be a very interesting presentation on the use of fabric based modern architectures. I say I hope because the presenters are from the US East Coast and it will be a question of whether they have local colleagues I think who can deliver if we are going to get that presentation. If by any chance they can't deliver it, I will try and see if we can get it arranged as a webinar. We have had in fact internally within the open group a members only web presentation on this topic. So that's how I know what it's about I guess. So we could organise a public webinar if the presentation can't go ahead this afternoon, but I hope it will be able to. So again the idea of fabrics threads we woven together based on cloud computing is a way that architecture is evolving. Open Business Data Lake. So this is the concept that you put all your data into a lake or a big collection of data and then you develop actionable insights not only from the data that you have stored in the lake but from incoming streams of events and information. And this is a concept that I think is going to revolutionise the way we think about information perhaps to the same extent as service orientation has revolutionised the way we think about application processing. And we currently have in the platform 3.0 a fast track of the open business data lake technical standard which is being fast tracked by Capgemini and we will hear more about this at the next conference in London in three months time. So the Open Platform 3.0 forum was founded on the vision that we want to help enterprises to gain business value from new digital technologies particularly from cloud computing, from mobile computing, from social computing, from big data analysis and from the internet of things. These are mainstream digital technologies which are changing the way that we do business and we architect systems to do business. So the forum was founded to help enterprises to gain business value from those technologies and we are doing work in the individual areas of the technologies as for example the open business data lake in the area of big data but we are also working to develop a interoperability standard for digital platforms. So increasingly applications or what traditionally would have been applications are being delivered as sets of services running on digital platforms. And the challenge for interoperability if you are developing a solution that doesn't go outside one of those platforms it's very easy. But if you as is often the case want to develop a solution that uses capabilities from multiple digital platforms then you need them to interoperate and typically you will look at a catalogue of services exposed on each of those platforms that you will want to integrate. Enterprises and wider business ecosystems because enterprises typically exist within wider business ecosystems will maintain cross application service catalogs and that would enable users to compose interoperable solutions by combining those services. And the interoperability standard that we are in process of defining will facilitate that. So that's a part of the way that the architectural platform is developing to support digital business. And of course the Togaf architecture development framework remains I think a constant within the open group. Some of these new techniques may change the way we think about for example application systems, for example data systems, for example technology systems. Or maybe we will be referring to them as information fabrics, intelligence fabrics and infrastructure fabrics. So there may be changes in the way we think at that level but the overall framework that enables collaborative teamwork that enables the key characteristic that the architecture is driven by the business needs, the business considerations. This will I think remain as a constant when we develop architectures for new digital technologies and systems based on them. For example the definition of principles which is a key feature of Togaf and the insistence on the conformance to those principles is going to be I think a key thing when you're talking about architectures based on microservices or threads or whatever which are developed by different teams and have to work together to give a consistent experience to the customer, a consistent way of supporting the business. So I now want to say a little about the DBCX work group. DBCX stands for, and this is something of a mouthful, digital business strategy and customer experience. It is about working out how to do architecture for digital business and in particular for digital business that delivers a good customer experience. I'm actually not going to say too much about it because the two speakers following will, they represent two of the key members of this work group PA Consulting and Hawaii and they will be talking about giving their ideas which are the ideas that the work group is discussing and this is kind of giving some introductory thoughts here to that. So I'm not going to say too much about it but I will just mention that we are a joint work group of the Open Platform 3.0 forum and the architecture. The Open Platform 3.0 forum because the content of what we're looking at is very much based on these digital technologies. The architecture forum because it's about how you develop a particular sort of architecture in this context. The work group has in fact developed a white paper and the draft of that is currently in its final review and we hope that that will be published in a few weeks time and available from the Open Group Publications catalogue. It's also working on a reference model which will help people to understand how to do this kind of architecture and I'm sure will be developing other guidance that will help to do that too. So it's an important work group. There are a lot of very good ideas being exchanged in that work group resulting well you'll see the white paper but hopefully the ideas will result in good guidance when the work group has completed its more substantial deliverables and that is something that any member of the Open Platform 3.0 or the architecture forum can participate in. If you want to find out more about what that group has been up to, there are a couple of webinars that is done and recordings of these are available. The customer experience journey and digital disruptive business models and creating great customer experiences in a digital world. The second of those actually was delivered only last week so that's right up to the minute and those recordings are available through the Open Group Bookstore and I'll give you another way of finding them before I finish. So I encourage everyone to have a look at those and get involved in the work of the work group. So to conclude and there will be time for questions which I'm happy to take. We've looked at how digital technology is transforming business about how the face-to-face way of doing business is being replaced by the customer interacting with systems of engagement in a complex way and that presents challenges to the architect in how can the customer be given the kind of customer journey that the enterprise wants the customer to have and how will the customer come to trust the enterprise and have a loyalty to the enterprise so that they will be a repeat customer and continue to do business with the enterprise. So we've looked at that. We've looked at how we architect systems of engagement to deliver corporate persona. We've set that as the key challenge. We've looked at some of the new architecture techniques that are available for the architect to use in doing that and we've mentioned briefly the DBCX work group which is working on architecture for digital business and will be developing the more precise how those techniques can and should be deployed to obtain the architecture that will meet the need. So if you want to find out more, if you visit that website there will be pointers on that too. Amongst other things, the webinars, the webinar recordings there will be, if you are a member of the architecture forum or the Open Platform 3.0 forum, you can log into that page you can find out the work in progress that the group is doing and also if you want to get in touch with me you should find contact details there too. So thank you very much for your attention and I'm happy to take questions. Thank you Chris. You've got one question but my guess is that we have others from the audience first. Let me quickly introduce myself. I'm Dave Lownds, I'm Chief Technical Officer at the Open Group. Chris, thank you very much for that great presentation on this exciting area. Let me first ask anybody else who got any question comments for Chris. In the back there, I know it's a bit hard to move around and my colleague Steve will pick those up for you. Let's get started Chris, we've got one question and that is that Open Platform 3.0 will require new legal arrangements and security for achieving interoperability. What are the main topics for the legal domain? Do you have any thoughts on that? The main topics for the legal domain and that is a very pertinent question both the legal and the security aspects are important to Open Platform 3.0. We have in fact in our member's meeting on Thursday a joint meeting with the security forum with whom we will be discussing some of the security issues and not only, well you can sometimes class identity management as a branch of security. I personally think it's something a little bit separate but clearly digital identity and the ability to have interoperability between different platforms that have different concepts of digital identity is a key issue that needs to be taken into account in defining the platform standard. There are other considerations obviously with ensuring that the digital identities can only access the information that they need to and that the information that they have is secure and the other security considerations which I'm sure people are very much aware of. Now unfortunately the Open Group does not have similarly a legal forum that we could similarly discuss the legal questions with but those questions actually are very important. We are touching on them in some respects in that in the work we did we developed a business scenario as part of our understanding of the need for the platform and the platform requirements and one of the things that identified was the need to be concerned about the preservation of intellectual property rights. So that is clearly one legal aspect if information is to be shared between components of a solution then understanding the intellectual property rights is one legal aspect that we do have on board that we are trying to think through. But I won't say that we do have a, as I say we don't have a legal forum so it may be that there are some other legal aspects that we're not fully aware of that we should be taking on board and if you feel that there are things that are missing in this respect then we would like to hear from you on that. Thank you Chris. A couple more here. I want to ask myself, I heard what you were talking about and the concept of SOA where customers would assemble solutions. That sounds very similar to some of the things that are going on with demand driven soft IT that's happening in the IT for IT forum. Do you see synergies between those two and how are we going to exploit them? Well I do see synergies to answer the second question first. It's likely that we'll have a small liaison group that's one of the things that we'll be discussing in the members meeting at the end of this meeting and we did in fact have a substantial joint meeting with the IT for IT forum in the Edinburgh conference three months ago. So yes there are synergies we will liaise with and work with the IT for IT people to explore those and in some cases there could be common threads to what we're doing so microservices I think will be a topic of interest to both of us but we are I think approaching these things from very different perspectives IT for IT is what it says Open Platform 3.0 is about the provision of a digital platform and the definition of a digital platform so they're not the same thing so we will continue to approach them separately but talk to each other. Next question. How do you see doing digital business effect or change or transform traditional business models to a digital experience business model? That's not an easy question to answer. It is a good question. I mean I think we've all seen some of the changes in business models with the rise of companies whose business is selling things on the web or maybe increasingly moving to being a marketplace on the web through which other companies can sell things. We've seen taxi companies that don't own any taxes to quote another famous example so we have seen a lot of new ways of doing business emerging new business models emerging a result of the availability of digital technology but the thing about business ideas is that they are genuinely creative things and they are not obvious. If I knew what the next big disruptive digital business idea was I'd form a company and get rich. So I'm sure there will be but I couldn't hazard a guess on exactly what they are but history certainly shows that they have recently been these transformative things. You may have to settle for being famous they're not just rich, right? Well, even that would be good. One more question here, Chris. Doesn't the customer experience also include the store? Apologies for whoever asks this. I think you're talking about a physical store here. How do you determine what a customer will want as they enter the store? That could be a virtual store or a physical store. Well, no, actually physical store is a valid point to make because we're talking about a business architecture and that includes bricks and mortars physical stores as well as web presence and a lot of companies actually are finding that the combination of the two you can order online, click and collect in your local physical store is a good business model. So the idea of the physical store being part of the digital business model and being part of a new way of doing digital business is a valid idea and companies are exploring that. When the customer walks into the store, was that the question? How do you understand the customer? That is something that is part of the practice that we're trying to develop, if you like, of architecture. Clearly there are ways of understanding customers through social media. For example, if you can find a customer what they're doing on social media a lot of companies make that analysis. You can track their progress through sites on the web using cookies that's a well-known technique. So there are established ways in which you can find out about the customer. So understand your customer is a good thing. I think we have a long way to go before we get good at that. My thoughts about the kind of understanding that a lot of websites have of me they're about as good as the AI system or whatever it might have been was that I talked about. But yes, that is a part of how to develop customer experience that we will explore. That's actually a great place to wind up because it leads very nicely into our next speaker. I'll introduce him in the second year. Thank you very much, Chris. A big round for Chris.


People have been asking why a new retirement system for service members starting in 2018. We've asked these Marines to help with a little demonstration. One objective of the new system is expanding the pool of service members who receive government retirement benefits. You see, under the current high three system, you must stay in the military a minimum of 20 years in order to receive a government retirement benefit. But only about 20% of service members make it to a 20-year retirement. That's like 8 out of 10, walking away with no government retirement benefits. So, enter the blended retirement system. Under BRS, service members are eligible to receive government retirement benefits after just two years of service. Under the BRS, about 8 out of 10 service members will receive government retirement benefits, putting service members in step with their civilian counterparts. Because you're there for us. Your retirement should be there for you. And that's a fact.


Now finally I do want to cover Netflix because Netflix has moved so much and if you look at MarketWatch and if you remember we had taken Netflix when Netflix was in the bullish category and not the very bullish but now I believe it has moved into the very bullish here. Netflix should be in very bullish if I'm not mistaken. Let me just see right here Netflix has moved into very bullish. So if somebody wants to stay in on the trade that's fine. As far as I'm concerned I had to triple down on it. I went in on two, I added two more and then now it's two more. So I'm actually completely satisfied with this and this is about a 20-22% return. I'm not sure what the return is but I think it's about 20-22%. I'm going to close Netflix right now and I will be sending this alert right here. All right, we are out on Netflix and that's it. So we are done with Netflix. Thanks. To sign up for the SwingSignal service please go to this bit.ly link. It's bit.ly slash swing 25 and you can get a 25% discount on the price there. Again the bit.ly link is bit.ly slash swing 25. Thank you.


We are considering stability of various methods. So, single step methods such as Euler's method or Runge-Kutta method will not have any problem about stability, because when we consider an approximate method, initial value problem is a differential equation of order 1. So, that differential equation you replace by difference equation. So, in case of single step methods, you replace differential equation of first order by difference equation of the first order. Whereas, for multi-step method such as say midpoint method, you were differential equation of order 1 is replaced by difference equation of order 2. So, then the difference equation will have solutions and this creates some problem. So, we are going, we are studying those things. So, as a representative case, we are looking for a differential equation looking at the initial value problem y dash is equal to lambda y with y of 0 is equal to 1. So, we know it is exact solution, the exact solution is going to be e raise to lambda x. For this particular differential equation, we want to see what happens when you apply say Euler's method, Runge-Kutta method or midpoint method. So, y dash is equal to lambda y, y at 0 is equal to 1. Let us look at solution over interval 0 to b. The interval 0 to b will be subdivided into n equal parts. So, h is going to be equal to b by n, x n point is going to be equal to n h because our x 0 is equal to 0. In the Euler's method, we have got y n plus 1 is equal to y n plus h times f of x n y. Our f x y is lambda times y. So, that is why you have y n plus h lambda y n. So, that means it is equal to 1 plus h lambda y n.  So, this is what I was talking that y dash is equal to lambda y. It is a differential equation of first order. Here you have got y n plus 1 is equal to 1 plus h lambda y n. So, again it is a difference equation of first order. Look at the Range-Kutta method.  Function f x y is lambda y. So, that is why k 1 becomes h times lambda y n and k 2 will be h, then lambda times y n plus k 1, but y n k 1 is h lambda y n. So, that is why k 2 becomes h lambda into 1 plus h lambda y n. Substitute in this formula. So, we have got y n plus 1 is equal to y n plus h lambda y n plus h square lambda square by 2 y n. So, again it is a difference equation of first order. y n plus 1 is going to be equal to 1 plus h lambda plus h square lambda square by 2 into y n and the solution will be given by this. Now, let us look at the difference or let us look at the error. So, in order to find the error, we look at expansion of e raise to x. So, e raise to x function is equal to 1 plus x plus x square by 2 plus x cube by 3 factorial and so on. Hence, I can say that e raise to x is equal to 1 plus x plus terms of higher order that means terms of the order of x square. If I written three terms, then e raise to x will be 1 plus x plus x square by 2 plus terms of the order of x cube. So, when we want to compare the exact terms of the order solution with the approximation which we have obtained by using Euler's method, we are going to retain two terms e raise to x is equal to 1 plus x. When we want to compare the error in the Runge-Kutta method, we will keep three terms. So, we have e raise to x is equal to 1 plus x plus higher order terms. So, that gives you e raise to n x will be equal to 1 plus x raise to n and then again terms of the order of x square. So, this is what one uses and one gets e raise to n x is 1 plus x raise to n plus term of the order of x square e raise to put x is equal to n h or put x is equal to h lambda. So, you are going to have e raise to n h lambda is equal to 1 plus h lambda raise to n plus term of the order of h square lambda square. This 1 plus h lambda raise to n that is the approximation in the Euler's method. So, that is our y n our x n is n h. So, e raise to n h lambda because this exact solution is e raise to lambda x, this is nothing but y at x n. So, we have y at x n minus y n is equal to term of the order of x square lambda square. So, this is consistent with what we have been saying that the local discretization error in Euler's method is going to be h square. In Runge-Kutta method of order 2 the local discretization error will be of the order of h cube. So, now, let us look at the error in the Runge-Kutta method. So, in case of Runge-Kutta method you have got y n to be 1 plus h lambda plus h square lambda square by 2 whole thing raise to n that is what we obtained y n plus 1 is equal to 1 plus h lambda plus h square lambda square by 2 raise to n plus 1. So, if I consider y n then it is going to be nth power of this bracket. So, thus this is going to be your y n e raise to n h lambda as before it is going to be y at x n. So, y x n minus y n is of the order of h cube lambda cube. So, truncation error to be of the order of h cube as one expect. So, these are the single step methods and now let us look at the midpoint method. We are looking at disinitial value problem. The midpoint method is y n plus 1 is equal to y n minus 1 plus 2 h f of x n y n very much similar to the Euler's method where instead of y n we have got y n minus 1 and instead of h f of x n y n we are saying 2 h f of x n y n and last time we saw that the local discretization error is h cube. So, in the case of Euler's method it is h square for midpoint method it is h cube, but as we will see that there are some problems with this method. Now, look at this formula. So, you have got y n plus 1 is equal to y n minus 1 plus 2 h lambda y n. If I take it on the other side you have got y n plus 1 minus 2 h lambda y n minus y n minus 1 is equal to 0. So, this is the difference equation and in the difference equation y n plus 1 is in terms of y n and y n minus 1. So, this is differential equation of first order, this difference equation of the second order. In order to determine the solution of this uniquely you will need two conditions like in the case of differential equation. If you have got differential equation of first order then the unique solution is determined by one condition. If you have got differential equation of second order then you need two conditions. These two conditions they can be initial conditions or they can be boundary conditions. So, now, we have got a difference equation of second order. So, we will need two conditions. One condition is going to be y 0 is equal to 1 the same as in the case of initial value problem. Now, here we need to supply one more condition. Now, since in this initial value problem we know the exact solution. The exact solution is e raised to lambda x. What is y 1? y 1 is approximation to y at x 1. Our interval is 0 to b. We are subject to x 1. So, we are dividing it into n equal parts. So, our x 0 is 0, x 1 is going to be equal to h. So, then y 1 which is approximation to y at x 1 that is going to be where we will supply it to be e raised to lambda h. So, now, let us find solution of this difference equation with two conditions y 0 to be equal to 1 and y at 1 to be equal to e raised to lambda h. Now, the solution of the difference equation assume that it is of the form r raised to n where r is to be determined. Then, y n plus 1 will be r raised to n plus 1 will be minus 1 minus 2 h lambda y n is r raised to n minus y n minus 1 which is r raised to n minus 1. This will be equal to 0. This will imply that r square minus 2 h lambda here there should be r minus 1 is equal to 0. So, it is a quadratic equation r square minus 2 h lambda r minus 1 is equal to 0 and our y n is r raised to n. So, the solution the roots of this quadratic equation they are given by r 1 is equal to 2 h lambda plus square root of 4 h square lambda square plus 4 divided by 2 which is nothing but h lambda plus 1 plus square root of 1 plus h square lambda square. The second root will be given by h lambda minus square root of 1 plus h square lambda square. General solution y n is given by beta 1 r 1 raised to n plus beta 2 r 2 raised to n. Beta 1 and beta 2 they will be determined by the conditions y 0 is equal to 1, y 1 is equal to e raised to h lambda. So, thus in case of midpoint method the solution is given by y n is equal to beta 1 r 1 raised to n plus beta 2 r 2 raised to n out of which one part beta 1 r 1 raised to n plus beta 1 r 1 raised to n is going to correspond to our exact solution. Our y n is approximation to y at x n, y is the exact solution. The solution of our difference equation is given by beta 1 r 1 raised to n plus beta 2 r 2 raised to n. One part corresponds to the exact solution, other part is extraneous solution. It appears because you are replacing differential equation of first order by difference equation of the second order. So, this extraneous solution this is this is what causes the problem like depending on the value of lambda it corresponds to the exact solution. Now, how this happens let us look at it in more detail. So, we have y n is equal to beta 1 r 1 raised to n plus beta 2 r 2 raised to n, y 0 is equal to 1, y 1 is equal to e raised to h lambda. We have seen that r 1 the first root is given by h lambda plus square root of 1 plus h square lambda square and this is the second root, y 0 is equal to 1, put n is equal to 0. So, this will become beta 1 plus beta 2 is equal to 1, then put n is equal to 1. So, y 1 that means beta 1 r 1 plus beta 2 r 2 will be equal to y 1. So, the constants beta 1 and beta 2 they are determined by these two condition. So, the first condition tells us that beta 2 is going to be equal to 1 minus beta 1. The second equation tells us when I substitute for beta 2 I will get beta 1 into r 1 minus r 2 plus r 2 is equal to y 1 that gives us beta 1 is equal to y 1 take r 2 on the other side.  So, when I consider r 1 minus r 2 h lambda will get cancelled and you are left with 2 into square root of 1 plus h square lambda square. Now, as h tends to 0, so when h tends to 0, what is going to happen is y 1 is e raise to h lambda. So, when h tends to 0 e raise to 0 will tend to 1 then r 2 this part will tend to 0 this part will tend to minus 1 and hence when I consider y 1 minus r 2 that is going to converge to 2 in the denominator you have got term 2 into square root of 1 plus h square lambda square. So, that will tend to 2, so beta 1 will tend to 1 as h tends to 0 and beta 2 will tend to 0. So, our by n which consists of 2 parts the part beta 1 r 1 raise to n that corresponds to our exact solution and this is something extra. Now, let us look at this in more detail carefully. What is our r 1? r 1 is h lambda plus square root of 1 plus h square lambda square as we did in case of e raise to x we can do for f x is equal to root of 1 plus x its derivative is given by 1 upon 2 square root of 1 plus x.  So, what I am interested is saying that square root of 1 plus x is 1 plus terms of the order of x then our r 1 r 1 will be h lambda plus square root of 1 plus h square lambda square. So, this I can say that this is the derivative of r 1 r 1 is equal to 1 plus terms of the order of h square lambda square. So, r 1 is equal to h lambda plus square root of 1 plus h square lambda square. So, that is h lambda plus 1 plus higher order terms for r 2 the second root we have h lambda minus square root of 1 plus h square lambda square. So, using similar argument you will get this to be equal to h lambda minus 1 plus higher order terms. Now, r 1 raise to n that is 1 plus h lambda raise to n plus higher order terms r 2 raise to n will be minus 1 raise to n minus 1 raise to n 1 minus h lambda raise to n plus the higher order terms. So, now our solution is beta 1 r 1 raise to n plus beta 2 r 2 raise to n. So, let us substitute in that we are trying to look at what our y n looks like when we considered Euler's method or Runge-Kutta method things very easier. We got a formula for y n plus 1 in terms of y n then the same formula tells us the relation between y n and y n minus 1. So, like that we could go up to y 0 y 0 is equal to 1 that is given to us. So, that is how in case of Euler's method we got y n to be equal to 1 plus h lambda raise to n. Similar was the case with Runge-Kutta method for the midpoint method we have to solve a quadratic equation get its roots and then our solution is y n is equal to beta 1 r 1 raise to n plus beta 2 r 2 raise to n. Now, this r 1 raise to n and r 2 raise to n we have shown that r 1 raise to n will be 1 plus h lambda raise to n plus higher order terms. Our exact solution is E raise to lambda x. So, when I consider y at x n. So, this is the exact solution x n is going to be n times h. So, y at x n is E raise to lambda n h. So, as we compared in case of Euler's method or Runge-Kutta method y at x n minus y n we want to do similar thing here. So, that is why r 1 raise to n we write as 1 plus h lambda raise to n. So, then one can compare E raise to lambda n h and 1 plus h lambda raise to n. So, that is the idea. So, we have y n to be beta 1 r 1 raise to n plus beta 2 r 2 raise to n r 1 raise to n is 1 plus h lambda raise to n plus terms of the order of h square lambda square. For r 2 raise to n we have got minus 1 raise to n and 1 minus h lambda raise to n. This 1 plus h lambda raise to n will be equal to E raise to n h lambda plus terms of the order of h square lambda square. Similarly, here you will get E raise to minus n h lambda and thus our y n is equal to beta 1 E raise to lambda x n plus beta 2 minus 1 raise to n E raise to minus lambda x n plus terms of the higher order. So, we have this is our initial value problem. This is the exact sum of the solution y x is equal to E raise to lambda x y n is approximation to y at x n. So, y at x n is going to be equal to E raise to lambda x n. So, this presence of this term is normal y n is approximation E raise to lambda x n is the exact solution you have got this error h square lambda square, but this term beta 2 minus 1 raise to n E raise to minus lambda x n. Now, if 1 is doing exact calculations then the initial value problem our initial values they take care like you have got 2 terms, but the coefficient of the term is extra which should not be there its coefficient tends to 0 as h tends to 0. So, when h is small enough the second term should not matter because we have got beta 1 E raise to lambda x n plus beta 2 E raise to minus lambda x n plus term which is of the order of h square lambda square. We have shown that beta 1 will tend to 1 as h tends to 0 the term order of h square lambda square as h tends to 0 that term also will tend to 0. The second term is beta 2 E raise to minus lambda x n of which the coefficient beta 2 is tending to 0. So, the exact computations will not pose any problem, but we do the computations in finite precision. So, that is why there are going to be round off error and when you look at the term beta 2 E raise to minus lambda x n. Suppose your lambda is less than 0 we are looking at y dash is equal to lambda y. So, if lambda is less than 0 E raise to minus lambda x n that becomes significant. So, we have y n is equal to beta 1 E raise to lambda x n plus beta 2 minus 1 raise to n E raise to minus lambda x n which is extraneous solution and the terms of the higher order. If lambda is less than 0 E raise to minus lambda x n will increase you are going away from 0 you are looking at the interval 0 to b. So, the term will increase exponentially our beta 2 because of the round off error it will not tend to 0. So, this term will start dominating this term our approximate solution consists of two parts. So, this is the part which corresponds to the exact solution, but if lambda is less than 0 then this solution becomes dominant which is corresponding to the error and you will get the error to be increasing. Last time we looked at a specific example it was y dash is equal to minus 2 y plus 1 and there I have shown you the numerical results where the Euler's method if you apply to that particular example the error goes on decreasing. Whereas in the case of midpoint method the error instead of decreasing it went on increasing we had looked at the interval to be 0 to 4. So, this is the problem with the midpoint method to the same problem whether lambda is less than 0 or lambda greater than 0 Euler's method Dranke-Kutta method there will not be any such problem. So, that is why if your lambda is bigger than 0 then you should use midpoint method because then in that case even though you have extraneous solution beta 2 e raise to minus lambda x n your beta 2 whether it tends to 0 or not e raise to lambda x n with lambda bigger than 0 that will become smaller and smaller and then it would not have it would not affect our true solution. Now, I want to consider or I want to rather state result for the Adams-Bashford method and then we will go to boundary value problem. So, in case of Adams-Bashford method again it is a multi step formula. So, let us look at the formula. So, we have y n plus 1 is equal to y n plus h by 24 55 g n minus 59 g n minus 1 plus 37 g n minus 2 minus 9 g n minus 3 where g n is value of g at x n g is our function f x y. So, it is f x n y n. So, here we have got a formula for y n plus 1 in terms of y n then y n minus 1 y n minus 2 y n minus 3. So, this is going to be or if we if you consider y dash is equal to lambda y you will get a difference equation of order 4. In case of midpoint method we had difference equation of order 2. So, we got a solution of the type beta 1 r 1 raise to n plus beta 2 r 2 raise to n. In this case it is equal to 0. So, it is going to be difference equation of order 4. So, that is why our solution will be of this type beta 1 r 1 raise to n plus beta 2 r 2 raise to n plus beta 3 r 3 raise to n plus beta 4 r 4 raise to n of which one corresponds to the true solution. All the three remaining terms they are extraneous they should not be there, but in this case what happens is what one can show is modulus of r 2 modulus of r 3 and modulus of r 4 they are less than 1 for h small enough. And then because they are less than 1 their effect will go on diminishing when you increase n and it they would not affect our true solution. So, the Adams-Bashforth method that is going to be stable for this y dash is equal to lambda y y at 0 is equal to 1. So, now this completes our study of initial value problem. Now, we want to consider boundary value problem. So, as the name suggests the boundary value problem will be the conditions will be given at the two end points of the intervals or at the boundary. So, we are going to look at second order differential equation with two boundary conditions given. Now, what I am going to do is just describe what is the finite difference method. So, it is a classical method. So, we will describe the finite difference method and then that will complete our solution of a progress. And then that will complete our solution of approximate solution of differential equation. There are other methods for solving the boundary value problems which we will not be considering. So, we have got this is our boundary value problem y double dash x plus f x y dash x plus g x y x is equal to r x for x belonging to interval a b. You need to have two conditions. So, the conditions are y a is equal to alpha y b is equal to beta y dash is d y by d x y double dash is second derivative d 2 y by d x square. So, our assumption is the coefficient functions f and g and the right hand side are these are going to be continuous functions on interval a to b. So, this is second order boundary value problem. We can have fourth order boundary value problem which can have the fourth derivative or the derivatives up to order 4 appearing and then the boundary conditions they will involve not only the function values, but may be also the derivative values or their combination. So, now, here is our boundary value problem where the derivatives they are appearing. Once again our aim will be to find approximation to the exact solution y at finite number of points. As we had done before we will divide our interval a b into n equal parts and our aim is to find approximation at these n plus 1 discrete points. So, we have this is the uniform partition of interval a b, h is the length of sub interval b minus a by n and interior mesh points they are given by x n is equal to x 0 plus n h, n is equal to 1 2 up to n minus 1. When x n is equal to x 0, it is x 0 is equal to a the end point. When n is equal to capital N then it is going to be the right end point b. The value of our function y is given at a and at b. So, those values they are known. So, our aim will be to find approximation to y at x n at these interior mesh points. Now, this is satisfied for every x belonging to a b. So, in particular it will be satisfied at x n. So, we have got y double dash x n plus f of x n y dash x n plus g x n y x n is equal to r x n, n is equal to 1 2 up to n minus 1. I do not write for the end points because we already know what is y at x 0 and y at x n. So, now the idea in the finite difference method is this y dash x n and y double dash x n these are the derivative values. So, you replace these derivative values by finite difference. We have considered numerical differentiation. So, if you have got a function f it is derivative at a. So, we looked at the forward difference formula that is f dash a is approximately equal to f of a plus h minus f a divided by f of a minus h divided by 2 h. So, you choose a point a plus h a minus h and then look at the values there, take their difference and divide by 2 h. Now, the advantage is in that case the error was of the order of h square whereas, you get a error to be of the better order if you consider central difference formula. Same thing is true for the second derivative f double dash a will be approximately equal to f of a plus h minus 2 of f of a plus f of a minus h divided by h square. So, what we are going to do is this y dash at x n and y double dash at x n we will replace the values by central difference formula and that is going to give us a tridiagonal system. So, our unknown is going to be y n which is approximation to y at x n. So, here is our equation. So, this equation is exact there is no approximation. So, y x n its approximate value we denote by y n this is the central difference formula. So, we have got y dash x n to be approximately equal to y at x n plus h minus y at x n minus h divided by 2 h.  So, this is for the first derivative for the second derivative y double dash x n will be approximately equal to y at x n plus h minus 2 times y x n minus y at x n minus h whole thing divided by h square. So, this will be equal to y n plus 1 minus 2 y n here it should be plus plus y n minus 1 divided by h square. So, these are the values we substitute in this formula. So, when you substitute you you are going to have a relation which involves y n y n minus 1 and y n plus 1. So, we have this is the substitution for y double dash x n y n minus 1 minus 2 y n plus y n plus 1 divided by h square plus f x n and then y dash x n. So, that is y n plus 1 minus y n minus 1 divided by 2 h plus g x n plus y n y at x n. So, that is y n is equal to r x n n is equal to 1 2 up to n minus 1.  Let us simplify multiply throughout by h square collect the coefficients of y n minus 1 y n and y n plus 1. So, it will become y n minus 1 you are multiplying by h square. So, from here it will be 1 from here it will be minus h by 2 f n f n is nothing but f of x n into y n minus 1 plus coefficient of y n from here it will be minus 2 and from here it will be h square g n plus coefficient of y n plus 1 from here it is 1 and from here it is going to be h by 2 f n y n plus 1 is equal to h square r n n varying from h square minus 1 2 up to n minus 1. So, thus this for the sake of simplicity let me call this as a n the diagonal entries as d n and these values as c a. So, we have got a system of the type a n y n minus 1 plus d n y n plus c n y n plus 1 is equal to h square r n. If I look at n is equal to 1 when n is equal to 1 y 0 is given to us it is alpha. So, I can take it on the other side. So, I get for n is equal to 1 it becomes d 1 y 1 plus c 1 y 2 is equal to h square r 1 minus a 1 times alpha. Similarly, when I consider n is equal to capital N minus 1 y n plus 1 will be y capital N and y capital N is given to us y capital N is y at b that is equal to beta. So, let me take it on the other side.  So, in each equation you have got diagonal entry and then two more entries and that is it. So, thus our system is going to be tridiagonal. So, you have got this is going to be your coefficient matrix along the diagonal d 1 d 2 d 3 up to d n minus 1. You will have one super diagonal and then you will have one sub diagonal and then we have looked at various methods of solving system of linear equations. So, one solves this system after solving the system you will get y 1 y 2 up to y n minus 1 that was our aim in solving that we said that y is our unknown solution and then we will try to find its approximation at some discrete points. So, y at x n we wanted to find. So, when you replace the derivatives by the difference formula or by numerical differentiation then you get a system of linear equation and then by solving that you will get the approximate values. Now, I just want to recall the result about numerical differentiation. For numerical differentiation what we had done was f x is going to be equal to f of a minus h plus divided difference based on a minus h a plus h into x minus a plus h. So, this is a linear polynomial which interpolates the given function at a minus h and a plus h and this is going to be the error term. You take the derivative. So, f dash x will be equal to f of a minus h a plus h. The derivative of this is given by f of a minus h a plus h x x multiplied by the product of these two terms plus the divided difference and then you have to take the derivative of this. So, that is x minus a minus h plus x minus a plus h when you put x is equal to a this term will go away.  So, thus f dash a is approximately equal to this with the error to be of the order of h square and then similar is the case for the second derivative f double dash a plus h a plus h a. So, if you consider the central difference formula then again the error is of the order of h square. Now, here is the example y double dash plus y is equal to 0, y at 0 is equal to 0, y at 1 is equal to 1. So, that means in our notation f x is identically 0 there is no y dash term g x which is coefficient of y that is 1 and q x is equal to 0. So, the diagonal entries they are going to be equal to 0 d n they are going to be equal to h square g n minus 2. So, that will be nothing but h square minus 2 whereas a n and c n these are equal to 1. So, that is our tridiagonal system. So, thus so we have looked at now solution of differential equation the boundary value problem by finite difference method finite difference method is a classical method. Now, there is a finite element method. So, which has been now used successfully it competes now with finite difference method. The finite difference method has advantage of simplicity that you just replace the derivatives by numerical differentiation. Here what we have done is we have replaced the derivatives by numerical differentiation with the error to be of the order of h square. So, whatever approximations y in which we obtain again the error is going to be of the order of h square. So, y at x n minus y n will be of the order of h square. So, if you want whatever accuracy you want you may have to choose h very small. If you choose h small it increases the size of your system of linear equations. So, then other way is use some better formulae. So, for the numerical differentiation use some better formulae but then that becomes complicated. Now, the finite element method it is one of the important method, but we will not be doing it in this course. So, now our next topic is going to be Eigen value problem. Eigen value problems like when you consider matrix of size 5 or bigger you cannot have a formula for Eigen values. So, that is why one tries to find as much information of Eigen values as possible indirectly that is without finding and then we are going to consider some approximate methods for finding Eigen values and Eigen vectors. So, that is the topic which we will start in our next lecture. So, thank you.


My name is Farthi and I work for UX and I am involved in open source, especially with the open source project called open platform for network functions virtualization which deals with integration of open source components. And Yolanda. I work at Red Hat, I am an NFE partner engineer, so we use health partners, customers, telcos in the NFE area with open stack integration, taking all the NFE features and integrating to the products, especially on open stack. So, since the beginning of this track, you have been listening different talks that are mainly talking about different STNN and NFE technologies such as VPP, DPDK, ONUP and so on. And all these components are developed, integrated and tested by different open source communities and they are all doing great job and they all try hard to make sure these components work fine. But in open source, there are not many communities that are dealing with integrating of these components, integration of these components and there was a gap there which needed to be solved. And especially when it comes to network functions virtualization and if you look at traditional networks, how they are built, it was obvious that the traditional networks are not possible to scale or not possible to build using open technologies and it wasn't so easy to innovate in that space in traditional networks. And based on these concerns, it's NFE came up with this NFE architecture in 2012, about five years ago, to see how the networks can be developed and built up using these new technologies such as cloud virtualization and lately containers and cloud native. And as we all know, standards do a great job but sometimes, standard work takes a bit longer than some might want it to be. And based on these concerns or thinking, this open source project, open platform for network functions virtualization in short of NFE was established around the end of 2014. So it's about three and a half years ago to do integration work using these different technologies in parallel to standards work to see if the idea, the architecture works and at the same time if the components developed by different open source communities work well together to build this platform up. So basically open platform for network functions virtualization project aims to create a reference platform for NFE using open source components, open source technologies. And this is kind of very challenging because when you look at NFE stack and NFE architecture, you see many different things that like NFEI itself or compute.  So it's really challenging work to bring up this platform using open source components. And since the day one of NFE has been trying to do this by bringing different technologies together such as OpenStack or OVS, DBTK and lately Kubernetes. And while doing this, all NFE tried to be on the server side, meaning that we started with using stable released versions of all these different technologies components. Once it comes to OpenStack, we wait for OpenStack to do their official release. After six months, we take that release into open NFE and try to integrate it with other technologies such as SDN controllers. And it's similar to SDN controllers as well. We have OpenDaylight on us and OpenContrail there. And we take stable official release of SDN controllers as well and we integrate released version of OpenStack with released version of OpenDaylight, for example. And we do this for all the different components we get from open source communities. In SDN space, we have, as I mentioned, OpenDaylight, OpenContrail on us. We have virtual switching like OVS and VPP there. We have nano components such as OpenButton or lately ONUP. And we take all these components and try to put together and hopefully improve all quality of all these components for anyone who wants to use these components for different purposes. Now, since we are using stable versions of these components, it is a bit slow to provide these feedback to upstream communities. For example, if you look at our latest release in open NFE, we did that around October. Let's see if, yeah. We did the release around October and we used Okata as part of our release. By that time, OpenStack already released Pyke. Pyke was released around September and we released open NFE in October with Okata, so we were at least six months late then upstream. And since the point of open NFE is integrating these components and finding what works and what doesn't from type of point of view, when you find problems with these components and how they work together and go back to those communities, it's pretty late already. It's six plus months. And all the communities we work with, they are pretty helpful and friendly and so on, but if you put yourself in their situation, if someone comes to you after half a year, and asks you, okay, we have this problem. How can we fix this? You might have already moved on to another item in your backlog and you might not have time and interesting fixing that thing. Or maybe that thing might have gone out from your stack, so you might not have any possibility to fix that either. So this speed we have been doing things in our Pyke NFE is kind of became, it became challenging for us because we are not talking about single community open stack. We are talking about more than 10 communities maybe. And if you put all these delays, months of delays together, it's like years of delays when it comes to feedback time we are getting out of our integration efforts. And based on these findings, we started thinking about how we can make things faster and become more relevant to communities we are working with. And then we started talking with Open Daylight community originally, and we said, guys, we are getting officially this from you, but can we get more recent versions of your technology or component with faster than how we are doing? And they started working on this to get with us to enable continuous delivery in their community so we can do continuous integration in our Pyke NFE. And as one of our friends Daniel Ferrell says, like, our Pyke NFE can go as fast as slows it off its upstream. So if someone is very slow, we can't be faster than that community because we depend on them. And by using this thinking and using Open Daylight as our first community to go after this continuous delivery idea, we brought up these continuous delivery pipelines from Open Daylight, which basically means that whenever they build something in their CI using their auto release process from their master branch, it should be possible to get that latest built and tested artifact into open environment. So we can basically integrate latest and greatest version of Open Daylight into our NFE platform. And that looked very positive, and we started to know how we can do the same thing for the other communities we are working with. And as I mentioned, many times we are working with Open Staggers as well, and Open Staggers is pretty important in NFE. And we started with Open Stack community saying, OK, guys, we want to do what we have been doing with Open Daylight community. And we want to consume the latest and greatest versions of Open Stack from master branch. And based on those conversations, maybe we can go here this, let me, yeah, based on those conversations, we came to a conclusion that, OK, we can find an easy way to get the Open Stack version from Trunk. And we started working on this about a year ago, and we now have a way to deploy Open Stack from Trunk, which basically means that whatever Open Stack community has been working during this lease cycle, in this case, it's Queens, we get that version at least in worst case in a week later, which basically costs the feedback time from six months to a week, which is a great improvement. And again, if you look at all these different components in NFE Stack, you can see how big difference this could make. Instead of waiting for months for different communities to send fixes to us, we can get those fixes in a week's time and hopefully later on, on a daily basis. And you see all these different things on this slide, and it's really a complicated thing to do this work, integrate these components. And obviously, we are not doing this manually. We have a CI machinery for Open Fee, and which basically goes through different compositions of the platform, because some of the components can't be collocated together, and some of the components are more people are looking after them, or more people are interested in them. Based on those things, we create different combinations which we call scenarios. And first thing we do is basically we provision our machines with three different links, one of three different links distributions open to send us, or open to say, and then we put either Open Stack or Kubernetes on them. And then we put different STN controls instead of Neutron, for example, we put Open Daylight or Onos. And then we construct different features like service function chaining or BGP VPN. And finally, once we construct or compose this combination, we run testing against this integrated stack, which is a big difference comparing to Open Stack or Open Daylight or other communities, because they mainly deal with their own components in very small scale. And in our case, we put all these components and try to find what works and what doesn't. And as I said, this is impossible to do manually, and we have a CI machinery for Open Fee, which uses distributed bare metal labs all around the world. And currently, it's like, I think, 15 labs that are providing resources, and we have more than 200 bare metal nodes supporting two architectures, X86 and ARM. And as part of our latest release, we had more than 50 scenarios, more than 50 different combinations of components, and we deployed Open Stack more than 8,000 times in six months time, because we continue to try deploying things and try to see if they work. And we started Open Daylight when it comes to XCI, consuming things from master branches, and then we have been working with Open Stack, which we can deploy both Open Stack and Open Daylight from trunk, and Fido has been handled in a similar way, but in different scale in Open Fee, because that only dealt with Fido and Open Stack. In our case, we are dealing with all the components we have or aiming to deal with, and hopefully we will include on up into this as well. And these are CI pipelines. These are upstream project CI pipelines. They all have their patch set verification, daily master jobs and so on, and we continue to track the master branches to find working versions, and once we find working versions on them, we pin those versions in Open Fee repos and then run, create the scenarios using those pinned versions and run testing against them on bare metal nodes. Okay, so now I'm going to talk a bit about the tooling that we are using for that. So we are having different components here. We have Zool, Bifrost, Open Stack Ansible and Cubespray. So Zool is what we are using for project gating. We are using that for project gating. It means that all the changes that are created in a project, they go through these two components, and it will pass a set of pipelines to verify that the jobs are working and that they are in a good state to be merged. So once Zool is doing all the jobs, they pass through the gate pipeline that is the one that is used for merging, passes a lot of checks there, and after that it goes and merges into the code and you can trigger another set of jobs to the package building or publishing or whatever. And then we are using Bifrost that is used for hardware provisioning. So if you have a set of bare metal servers or VMs, we are going to use Bifrost. So Bifrost is just a set of Ansible playbooks to deploy a standalone Ironic. So Ironic is a component of Open Stack that is in charge of provisioning virtual machines or bare metal servers especially. So it is in protein and Ansible and it supports three major distros like it is Ubuntu, CentOS and OpenSource. To use Bifrost, it is very easy to use. It is just installing a set of Ansible playbooks and you basically have four steps. So first one, you need to create an inventory that is collecting the data from your servers like the IP address user and password you are going to use to connect. You put that on a file. After that, you run the second step that is installing Bifrost. So it is a set of playbooks that will install Bifrost on your server. And once you have it running, you will do the enroll state that it means it will collect all the information from your inventory. It will run on your machines and it will collect the info of the machines like hardware, type of disk, all the information you need to introspect the data and it will pass to a database. Once you have it stored on the database, it is the final step to deploy. So what the deploy means, it means that it will take all the bare metal servers. It will install the operating system that you want. You can install CentOS Ubuntu. Also, you can customize the image that you are going to install. So you can add custom packages or extra configs, extra projects. So you will have all the servers in the same state, the desired state after that. It will also add you a basic network config. So all the bare metal servers will be accessible in the network the way you choose. And it will also copy SSH keys. You will have SSH keys that you decide and you could access the servers with that after it. It is very solid. I mean, it has been used in all OpenStack distros, so all OpenStack that they are using bare metal and mostly using Ionic. And we are running third-party CI test on it. It means that all the changes that go on Bifros, that it is an OpenStack project, are gated also against our OpenFV testing. So we validate that any changes in Bifros is breaking the OpenFV CI setup. So it's really good for that. We can trust in Bifros. Okay, next step is OpenStack Ansible. It is a tooling for installing OpenStack. Basically, there are several toolings, like triple-O, but we choose this one because it's easy to customize. It's based on Ansible as well and it's very, very flexible. You can choose the way you want to deploy OpenStack there. You can use it in containers, using LXC, or you can deploy directly on bare metal. It is very, very easy to integrate and very flexible. You can decide the type of roles you want to include in your deployment, if you want to include Nova, Keystone, HA or not, or even if, especially for OpenFV, you can write your own roles. So you can decide. I need to put an extra layer on top of OpenStack. It also has several ways of deploying. So you can deploy on developer mode and production with HA, with NFS. You can complicate it as much as you want. And then we support also major distros, like Subuntu, CentOS and OpenSource as well. Okay, so final one. Use KubeSprite. So we started also to work a bit on Kubernetes. So we are starting to use KubeSprite. It is a set of Ansible tool playbooks again to install a Kubernetes cluster that is created inside Kubernetes community. It can be created on multiple platforms. You can deploy on, for example, you can deploy bare metal virtual machines like with Ansible or there is also a possibility to do it on OpenStack on Amazon. So it's quite flexible for that. It's also very composable. So you can decide, for example, the kind of network plugin you want to bring. It has different options there. It's supporting CoreOS, Ubuntu, Debian, CentOS. So you have flexibility there. And it's solid because it has, like, end-to-end integration testing, like, perform it on different platforms as well, so it's reliable. And, well, we are starting to do it as a proof of concept. So we have mostly OpenStack down there, but we're starting to get Kubernetes integrated into OpenSV as well. Okay, so I think most of you have... Let's give five minutes for questions. Before we move to questions, I want to highlight, now we talked about NFV, STN, and tooling, and CI, and stuff here. The main thing we are trying to achieve is basically to increase the awareness in Open Source communities when it comes to integrating all these components together and creating a platform. Because some communities are pretty good when it comes to continuous delivery of stuff, but some communities are starting, just starting now. And there's not much we have been trying to do. Different communities started understanding what we are trying to do. And I think first time in CI CD space, many different communities coming together to have a workshop during OMS to talk about these things, to see how we can establish continuous delivery of work in Open Source. So it is more than just what we talk about here. It is about a cultural social change. Now we can take one or two questions maybe. So would you be interested in CI integration with OMS? We have been trying to reach out to OMS, and I suppose we have done that right now. We can start talking now. OMS was part of Open Source like one or two release ago, and then they disappeared and we want them to come back. So we are interested. One last question? Just say it and I'll repeat the question. So are all the pipelines fully automated, or is there some human interaction needed for failures? Now you need the mic. Yeah, all our deployment and testing are automated, but since we are running quite complicated testing, sometimes it requires human intervention to see what went wrong and reproduce issue and find the problem. Okay, no more time. Thank you very much, Fatih and Yolanda. Our next presentation is from Emma Foley, who is going to present the Barometer Project, which is an OP NFE project for collection of platform metrics and telemetry. We have been having some AV issues, Emma.


For more than two centuries, soldiers and sailors have teamed up to protect the American way of life. These guardians of freedom operate in environments across the world, spanning continents and oceans far and wide. But there is one day of the year that these guardians of freedom compete with each other in a different operational environment. A gridiron, where this collaborative team of soldiers and sailors go to war with each other, fighting for glory and the commander's cup. The army has dominated this gridiron for three years running. Will the Navy be able to contest this indomitable land force, or will army reign supreme as four-time champions of this annual rivalry? The Iron Soldiers of America's Tank Division believe the lab.