NFV Infrastructure Manager with High Performance Software Switch Lagopus

Similar documents
Intel, OpenStack, & Trust in the Open Cloud. Intel Introduction

Upcoming Services in OpenStack Rohit Agarwalla, Technical DEVNET-1102

Quantum, network services for Openstack. Salvatore Orlando Openstack Quantum core developer

Fast packet processing in the cloud. Dániel Géhberger Ericsson Research

SDN Software Switch Lagopus enables SDN/NFV transformation

Design and Implementation of Virtual TAP for Software-Defined Networks

Introduction To OpenStack. Haim Ateya Group Manager, EMC

Build Cloud like Rackspace with OpenStack Ansible

Network Function Virtualization Using Data Plane Developer s Kit

OpenStack and OVN What s New with OVS 2.7 OpenStack Summit -- Boston 2017

Building a Platform Optimized for the Network Edge

Dataplane Networking journey in Containers

MWC 2015 End to End NFV Architecture demo_

BRKDCT-1253: Introduction to OpenStack Daneyon Hansen, Software Engineer

DPDK Roadmap. Tim O Driscoll & Chris Wright Open Networking Summit 2017

OpenStack Networking Services and Orchestration 2015 BROCADE COMMUNICATIONS SYSTEMS, INC. COMPANY PROPRIETARY INFORMATION

QorIQ Intelligent Network Interface Card (inic) Solution SDK v1.0 Update

OpenContrail Overview Architecture & Demo

NET1821BU THE FUTURE OF NETWORKING AND SECURITY WITH NSX-T Bruce Davie CTO, APJ 2

Achieve Low Latency NFV with Openstack*

It's kind of fun to do the impossible with DPDK Yoshihiro Nakajima, Hirokazu Takahashi, Kunihiro Ishiguro, Koji Yamazaki NTT Labs

OPENSTACK Building Block for Cloud. Ng Hwee Ming Principal Technologist (Telco) APAC Office of Technology

Accelerating Contrail vrouter

Agilio CX 2x40GbE with OVS-TC

Introduction to Neutron. Network as a Service

Accelerating vrouter Contrail

SmartNIC Programming Models

OSDC.de 2013 Introduction to OpenStack. Justin Clift Open Source & Standards RH 17 April 2013

vnetwork Future Direction Howie Xu, VMware R&D November 4, 2008

NephOS. A Single Turn-key Solution for Public, Private, and Hybrid Clouds

Huawei FusionSphere 6.0 Technical White Paper on OpenStack Integrating FusionCompute HUAWEI TECHNOLOGIES CO., LTD. Issue 01.

Next Gen Virtual Switch. CloudNetEngine Founder & CTO Jun Xiao

Agile OpenStack Networking with Cisco solutions Rohit Agarwalla, Technical DEVNET-1107

Data Path acceleration techniques in a NFV world

Cloud Networking (VITMMA02) Network Virtualization: Overlay Networks OpenStack Neutron Networking

Enabling DPDK Accelerated OVS in ODL and Accelerating SFC

DPDK Summit 2016 OpenContrail vrouter / DPDK Architecture. Raja Sivaramakrishnan, Distinguished Engineer Aniket Daptari, Sr.

SmartNIC Programming Models

Architecture and terminology

CS-580K/480K Advanced Topics in Cloud Computing. OpenStack

Ethernet Fabrics- the logical step to Software Defined Networking (SDN) Frank Koelmel, Brocade

Dynamic Resource Allocation and Management Using OpenStack

New Approach to OVS Datapath Performance. Founder of CloudNetEngine Jun Xiao

Application Centric Microservices Ken Owens, CTO Cisco Intercloud Services. Redhat Summit 2015

NTT Com Press Conference March 1, 2016 #enterprisecloud

OpenStack Operation Under a Multi-tenant and Multi-customer Public Cloud Environment

Comparing Open vswitch (OpenFlow) and P4 Dataplanes for Agilio SmartNICs

Flexible NFV WAN interconnections with Neutron BGP VPN

OpenStack and OpenDaylight, the Evolving Relationship in Cloud Networking Charles Eckel, Open Source Developer Evangelist

Actual Agility with SDN: Weaving SDN into Data Center Automation May 6, John Burke Principal Research Analyst & CIO

1. What is Cloud Computing (CC)? What are the Pros and Cons of CC? Technologies of CC 27

Getting started with O3 Project Achievement ~ Innovating Network Business through SDN WAN Technologies~

DEPLOYING NFV: BEST PRACTICES

WIND RIVER TITANIUM CLOUD FOR TELECOMMUNICATIONS

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

School of Software / Soongsil University Prof. YOUNGJONG KIM, Ph.D. Soongsil University

Minimal OpenStack Starting Your OpenStack Journey

Infrastructure-as-Code and CI Infrastructure at Open Stack A look at one of the largest CI systems and system administration

"Charting the Course... H8Q14S HPE Helion OpenStack. Course Summary

TITANIUM CLOUD VIRTUALIZATION PLATFORM

DPDK, Collectd and Ceilometer

NephOS. A Single Turn-key Solution for Public, Private, and Hybrid Clouds

Open vswitch in Neutron

KVM as The NFV Hypervisor

Configuring and Benchmarking Open vswitch, DPDK and vhost-user. Pei Zhang ( 张培 ) October 26, 2017

Accelerate Service Function Chaining Vertical Solution with DPDK

DPDK Summit China 2017

vswitch Acceleration with Hardware Offloading CHEN ZHIHUI JUNE 2018

Programmable NICs. Lecture 14, Computer Networks (198:552)

ADVA FSP 150 ProVMe. Performance and Functionality Test Report. Introduction. VNF Lifecycle Management

An Introduction to Red Hat Enterprise Linux OpenStack Platform. Rhys Oxenham Field Product Manager, Red Hat

Customize OpenStack for Telco NFV

Best Practice Deployment of F5 App Services in Private Clouds. Henry Tam, Senior Product Marketing Manager John Gruber, Sr. PM Solutions Architect

Survey of ETSI NFV standardization documents BY ABHISHEK GUPTA FRIDAY GROUP MEETING FEBRUARY 26, 2016

Thomas Lin, Naif Tarafdar, Byungchul Park, Paul Chow, and Alberto Leon-Garcia

Oracle Solaris Virtualization: From DevOps to Enterprise

OpenStack Networking: Where to Next?

OpenStack Cloud Storage. PRESENTATION TITLE GOES HERE Sam Fineberg HP Storage

OPEN CONTRAIL ARCHITECTURE GEORGIA TECH SDN EVENT

Cloud Networking Solutions:

OPENSTACK: THE OPEN CLOUD

Distributed Systems. 31. The Cloud: Infrastructure as a Service Paul Krzyzanowski. Rutgers University. Fall 2013

A Brief Guide to Virtual Switching Franck Baudin (Red Hat) Billy O Mahony (Intel)

File system, 199 file trove-guestagent.conf, 40 flavor-create command, 108 flavor-related APIs list, 280 show details, 281 Flavors, 107

OpenStack Network Design using Cisco Solutions Shannon McFarland CCIE #5245 Principal

End to End SLA for Enterprise Multi-Tenant Applications

Alternatives for Improving OpenStack Networking to Address NFV Needs

SDN+NFV Next Steps in the Journey

Ryu: Network Operating System

Road to Private Cloud mit OpenStack Projekterfahrungen

Huawei CloudFabric and VMware Collaboration Innovation Solution in Data Centers

Layer 7 Visibility for vcpe Services

Introduction to OpenStack

DPDK Summit China 2017

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Implementing a TCP Broadband Speed Test in the Cloud for Use in an NFV Infrastructure

OpenStack Ceilometer. Tong Li (IBM) Brad Topol (IBM)

White Paper The Storage System Best Suited for OpenStack FUJITSU Storage ETERNUS DX S4/S3 series and ETERNUS AF series

OpenStack Mitaka Release Overview

VMware + OpenStack. Dan Wendlandt Director of Product Management VMware VMware Inc. All rights reserved.

Transcription:

NFV Infrastructure Manager with High Performance Software Switch Lagopus Hirofumi Ichihara NTT Software Innovation Center Collaborator: Tomoya Hibi(NTT), Hiroki Kumazaki(NTT) Copyright 2015 NTT corp. All Rights Reserved.

Agenda NFV NFV Infrastructure Manager OpenStack Performance requirement for NFV OpenvSwitch and Lagopus Lagopus vs OVS Lagopus advantage Demo(video) Copyright 2015 NTT corp. All Rights Reserved. 2

Who Hirofumi Ichihara Engineer at NTT Software Innovation Center OpenStack developer Neutron and Devstack contributor in OpenStack projects Copyright 2015 NTT corp. All Rights Reserved. 3

What is NFV? NFV(Network Function Virtualization) Rapid development Reducing CAPEX Reducing OPEX Avoiding vendor lock in ref: https://portal.etsi.org/nfv/nfv_ white_ paper.pdf Copyright 2015 NTT corp. All Rights Reserved. 4

ETSI NFV Today main topic ref: http://www.etsi.org/deliver/etsi_ gs/nfv/001_ 099/002/01.01.01_ 60/gs_ nfv002v010101p.pdf Copyright 2015 NTT corp. All Rights Reserved. 5

NFV Infrastructure Manager Manage infrastructure for VNF Compute Network Storage IaaS Softwares OpenStack CloudStack Eucalyptus VMware VM VM VM VM Hypervisor Virtual Network FW Network LR LR Physical Switch Storage FW Firewall LR Logical Router VM Virtual Machine LV LV LV LV Logical Volume Copyright 2015 NTT corp. All Rights Reserved. 6

OpenStack Cloud Operating System Provides API to users Multi Hypervisor support KVM, QEMU, Xen, VMware, Hyper- V, LXC and others Integrated many network appliance and storage appliance Ref: http://www.openstack.org/software/ Copyright 2015 NTT corp. All Rights Reserved. 7

OpenStack Conceptual Architecture Ref: http://docs.openstack.org/admin- guide- cloud/content/conceptual- architecture.html Copyright 2015 NTT corp. All Rights Reserved. 8

OpenStack Release Schedule 1 release / half a year Apr 30, 2015 Kilo release 2010 2011 2012 2013 2014 Major release Oct 21 Austin Feb 3 Bexar Apr 15 Cactus Sep 22 Diablo Apr 5 Essex Sep 27 Folsom Apr 4 Grizzly Oct 17 Havana Apr 17 Icehouse Oct 16 Juno Apr 30 Kilo Provided functions Virtual environment provisioning Virtual network Block storage Horizon Web user interface Metering/Monitoring Quantum Cinder Horizon Quantum Cinder Horizon Database Heat Ceilometer Neutron Cinder Horizon Hadoop Trove Heat Ceilometer Neutron Cinder Horizon Sahara Trove Heat Ceilometer Neutron Cinder Horizon Neutron Cinder Horizon Authentication service Keystone Keystone Keystone Keystone Keystone Keystone Keystone Glance Virtual machine image Glance Glance Glance Glance Glance Glance Glance Swift Swift Object storage Swift Swift Swift Swift Swift Swift Swift Nova Nova Virtual machine Nova Nova Nova Nova Nova Nova Nova Copyright 2015 NTT corp. All Rights Reserved. 9

OpenStack Nova Provides API enables to define Virtual Machine Supporting a wide variety of virtualization technologies, including KVM, Xen, Docker, etc VM VM Container VM VM Container VM VM Container KVM Host Docker Host Copyright 2015 NTT corp. All Rights Reserved. 10

OpenStack Neutron Provides API enables to define virtual network Neutron core resources Network: Virtual network (L2 Switch) Subnet: Manage IP address assign to network Port: Port connected with network Service plugin resources Router(include Floating IP) Load balancer VPN Firewall Router VPN Firewall L2 Switch Virtual Machine Tenant A Load balancer Tenant B Copyright 2015 NTT corp. All Rights Reserved. 11

NFV History in OpenStack OpenStack has been designed for Data Center use cases Past Telco and vendor expect to use OpenStack to build NFV infrastructure They didnʼ t realized Hong Kong Summit 2014 They realized OpenStack NOT NFV orchestrator for CARRIER What is NFV requirement? Present Cloud Provider Telco Carrier Copyright 2015 NTT corp. All Rights Reserved. 12

Gaps between Cloud and Telco What is NFV requirement? Cloud Provider Canʼ t help failure User must HA A few network down User gets angry Guaranteed by service contract Sometimes Fail Telco Carrier Must help failure Provider must HA Donʼ t down network Government gets angry too Guaranteed by law 24/365 on Ready! Copyright 2015 NTT corp. All Rights Reserved. 13

NFV Telco Requirements Performance Packet processing speed with short packet Low latency High Availability Interface for management Stable Monitoring Fault detection Security Fault tolerance Copyright 2015 NTT corp. All Rights Reserved. 14

NFV History in OpenStack OpenStack has been designed for Data Center use cases Past Telco and switch vendor expects to use OpenStack to build NFV infrastructure They didnʼ t realized Hong Kong Summit 2014 After Summit Oct. 2014 Juno, Kilo release They realized OpenStack NOT NFV orchestrator for CARRIER Telco Working Group and NFV subteam was organized OPNFV was organized Some NFV requirements was merged in OpenStack Present Copyright 2015 NTT corp. All Rights Reserved. 15

OpenStack Activity for NFV Proposed in OpenStack VLAN aware VM VM Scheduler High Availability method Service chaining API Driver for network high performance Liberty summit sessions related to NFV 41 sessions (my grep) OPNFV Days Copyright 2015 NTT corp. All Rights Reserved. 16

# of packet to be proceeded for 10Gbps with 1 CPU core # of packets per seconds 16,000,000 14,000,000 12,000,000 10,000,000 8,000,000 6,000,000 4,000,000 2,000,000 0 Short packet 64Byte 14.88 MPPS, 67.2 ns 2Ghz: 134 clocks 3Ghz: 201 clocks Computer packet 1KByte 1.2MPPS, 835 ns 2Ghz: 1670 clocks 3Ghz: 2505 clocks 0 256 512 768 1024 1280 Packet size (Byte) Copyright 2015 NTT corp. All Rights Reserved. 17

OpenvSwitch/Lagopus OpenvSwitch Multilayer software switch Supports OpenFlow 1.4 protocol Including DPDK implement Source code: https://github.com/openvswitch/ovs Lagopus High performance software switch with DPDK Supports OpenFlow 1.3 protocol Source code: https://github.com/lagopus/lagopus Copyright 2015 NTT corp. All Rights Reserved. 18

OpenFlow Conventional NW node OpenFlow OpenFlow controller Control plane (Routing / switching) Control plane (routing/ switching) OpenFlow Protocol Data- plane (ASIC, FPGA) Flow match OpenFlow switch OpenFlow switch agent Flow Table action Data- plane counter Flow match action counter Flow Table #2 Flow Table #3 Flexible flow match pattern (Port #, VLAN ID, MAC addr, IP addr, TCP port #) Action (frame processing) (output port, drop, modify/pop/push header) Flow statistics (# of packet, byte size, flow duration, ) Copyright 2015 NTT corp. All Rights Reserved. 19

high- performance user- space packet processing with Intel DPDK Userspace packet processing (Event- based) vswitch agent Dataplane User space DPDK apps (polling- based) vswitch DPDK agent dataplane Socket API 2. system call (read) 3. system call (write) Socket API sk_ buf Kernel space 1. DMA Write 2. DMA READ 1. Interrupt & DMA Ethernet Driver API 4. DMA Ethernet Driver API NIC packet buffer Driver packet NIC buffer Copyright 2015 NTT corp. All Rights Reserved. 20

Issues about high performance packet processing on x86 Many rx interrupt causes overhead Polling- based packet receiving Lock with multiple thread causes bottleneck Thread local storage and lockless- queue High TLB miss rates causes slowing performance Huge DTLB for miss of memory controller Context switch and memory copy causes overhead Direct data copy from NIC buffer to CPU Kernel stack bypass of network Copyright 2015 NTT corp. All Rights Reserved. 21

About Lagopus OpenFlow software switch Run on x86 server High performance packet processing > 10Gbps Multiple protocol Conform OpenFlow1.3 Protocol(MPLS, PBB) for WAN OSS OpenFlow Controller Control Plane OpenFlow Protocol Flow Pattern Flow Table OpenFlow Switch Action Data Plane Counter Flow Pattern Action Counter Flow Table #2 Flow Table #3 Flow Table #4 Copyright 2015 NTT corp. All Rights Reserved. 22

Switch Performance Conditions OVS- DPDK master Back for DPDK 1.8.0 commit 66cabc46ecc09eeae536277a0fc7d5e44836f845 Lagopus v0.1.2 DPDK 1.8.0 System CPU: Xeon E5-2697v2@ 2.70GHz(12 cores to switch) Memory: 64GB(hugepages: 1GBx8) NIC: Intel X520 10GNIC OpenFlow Controller Ryu (https://github.com/osrg/ryu) Traffic Generator IXIA commit 543342a41cbceffaac30ace2c66b6e489eb359c8 Author: Mark Kavanagh <mark.b.kavanagh@intel.com> Date: Mon Apr 20 12:37:14 2015-0700 DPDK: add support for v2.0.0 Update relevant artifacts to add support for DPDK v2.0.0 - INSTALL.DPDK.md - travis build script - acinclude.m4: add 'mssse3' flag to OVS_ CFLAGS - netdev- dpdk: fix build with unified offload types in DPDK v2.0.0 Note that this breaks compatibility with DPDK v1.8.0 Copyright 2015 NTT corp. All Rights Reserved. 23

DPDK config diff - - git a/config/common_ linuxapp b/config/common_ linuxapp index 2f9643b..78738dc 100644 - - - a/config/common_ linuxapp +++ b/config/common_ linuxapp @@ - 81,7 +81,7 @@ CONFIG_ RTE_ BUILD_ SHARED_ LIB=n # # Combine to one single library # - CONFIG_ RTE_ BUILD_ COMBINE_ LIBS=n +CONFIG_ RTE_ BUILD_ COMBINE_ LIBS=y CONFIG_ RTE_ LIBNAME="intel_ dpdk" # @@ - 160,7 +160,7 @@ CONFIG_ RTE_ LIBRTE_ IXGBE_ DEBUG_ TX_ FREE=n CONFIG_ RTE_ LIBRTE_ IXGBE_ DEBUG_ DRIVER=n CONFIG_ RTE_ LIBRTE_ IXGBE_ PF_ DISABLE_ STRIP_ CRC=n CONFIG_ RTE_ LIBRTE_ IXGBE_ RX_ ALLOW_ BULK_ ALLOC=y - CONFIG_ RTE_ IXGBE_ INC_ VECTOR=y +CONFIG_ RTE_ IXGBE_ INC_ VECTOR=n CONFIG_ RTE_ IXGBE_ RX_ OLFLAGS_ ENABLE=y # @@ - 372,7 +372,7 @@ CONFIG_ RTE_ KNI_ VHOST_ DEBUG_ TX=n # fuse- devel is needed to run vhost. # fuse- devel enables user space char driver development # - CONFIG_ RTE_ LIBRTE_ VHOST=n +CONFIG_ RTE_ LIBRTE_ VHOST=y CONFIG_ RTE_ LIBRTE_ VHOST_ DEBUG=n # Copyright 2015 NTT corp. All Rights Reserved. 24

Test scenario Full route Set about 51,000 flow rule (IPv4) packets: 1flow, random ipv4_ dst 100000flow Port VLAN Set port VLAN to two port (2 flow rule for round trip) packets: 1flow, random ipv4_ dst 10000flow Copyright 2015 NTT corp. All Rights Reserved. 25

Evaluation - full route Lagopus wins with 1flow packets OVS- DPDK wins with 100000flow packets Result 1flow packets Result 100000flow packets 10 512 1024 1500 10 512 1024 1500 9 8 7 64 9 8 7 64 Wire- rate Gbps 6 5 4 3 Wire- rate OVS- DPDK Lagopus Gbps 6 5 4 3 OVS- DPDK Lagopus 2 2 1 1 0 0 500 1000 1500 byte/packet 0 0 500 1000 1500 byte/packet Copyright 2015 NTT corp. All Rights Reserved. 26

Evaluation port VLAN Lagopus wins with 1flow packets Lagopus wins with 10000flow packets Result 1flow packets Result 10000flow packets 10 512 1024 1500 10 512 1024 1500 Gbps 9 8 7 6 5 4 3 2 1 0 64 Wire- rate OVS- DPDK Lagopus 0 500 1000 1500 byte/packet Gbps 9 8 7 6 5 4 3 2 1 0 64 Wire- rate OVS- DPDK Lagopus 0 500 1000 byte/packet 1500 Copyright 2015 NTT corp. All Rights Reserved. 27

Lagopus vs OVS- DPDK Lagopus has some advantages Telco friendly network protocol QinQ, PBB, MPLS Comfortable more OpenFlow protocols than OVS Important protocol is Meter for NFV OVS is used by general services but lagopus is designed for network services Copyright 2015 NTT corp. All Rights Reserved. 28

OpenFlow 1.3 Conformance Status Type Action Set field Match Group Meter Total # of test scenario (mandatory, optional) Lagopus 2015.3.19 OVS (kernel) 2014.08.08 OVS (netdev) 2014.11.05 IVS 2015.02.11 ofswitch 2015.01.08 LINC 2015.01.29 Trema 2014.11.28 56 (3, 53) 56 (3, 53) 34 (3, 31) 34 (3, 31) 17 (3, 14) 50 (3, 47) 24 (3, 21) 50 (3, 47) 161 (0, 161) 161 (0, 161) 96 (0, 96) 102 (0, 102) 46 (0, 46) 100 (0, 100) 68 (0, 68) 159 (0, 159) 714 (108, 606) 714 (108, 606) 534 (108, 426) 467 (93, 374) 323 (108, 229) 708 (108, 600) 428 (108, 320) 708 (108, 600) 15 (3, 12) 15 (3, 12) 6 (3, 3) 8 (3, 5) 3 (0, 2) 15 (3, 12) 3 (3, 0) 15 (3, 12) http://osrg.github.io/ryu/certification.html 30 (0, 30) 30 (0, 30) 0 (0, 0) 0 (0, 0) 0 (0, 0) 30 (0, 30) 4 (0, 4) 34 (0, 34) 991 (114, 877) 976 (114, 862) 670 (114, 556) 611 (99, 556) 402 (111, 291) 962 (114, 848) 523 (114, 409) 966 (114, 854) Copyright 2015 NTT corp. All Rights Reserved. 29

Meter Demo System Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz Memory 16GB(hugepages: 1GBx8) NIC Intel X520 10GNIC Traffic Generator Pktgen DPDK(master 2015.4.28) Lagopus Pktgen DPDK Flow Pattern Data Plane Flow Table Action in:port1 Meter 100000kbps out:port2 port1 port2 Copyright 2015 NTT corp. All Rights Reserved. 30

Using Lagopus for NFV How do we setup lagopus for NFV? Lagopus is designed as network switch not switch for VM on hypervisor Big issue Canʼ t add/delete port OpenFlow controller essential Canʼ t try easily Copyright 2015 NTT corp. All Rights Reserved. 31

Gondola Made by me + other developers Tomoya Hibi: Lagopus developer Hiroki Kumazaki: Lock free master What is Gondola? Manage KVM and Docker with Hybrid tenants and support for various tunneling protocols(vlan, MPLS) Try to run Lagopus as Hypervisor switch easily Exhibited in SDN/Cloud Program Contest 2014 Okinawa Not OSS yet Copyright 2015 NTT corp. All Rights Reserved. 32

Gondola Architecture Using etcd for DB and notification Master node REST/GUI Scheduler Alive monitoring Manage agent nodes Agent node Manage VMs and containers Docker API gondola agent Libvirt API GUI NW IF API REST API gondola gondola gondola master management etcd db Gondola SW App. Ryu heart beat User App write VM Virtual/Phisical port Physical machine Network change notification Container VM HV KVM+Docker HV KVM+Docker HV KVM+Docker HV KVM+Docker HV KVM+Docker lagopus DC Network Copyright 2015 NTT corp. All Rights Reserved. 33

Demo video Demo1 Create VM/Container and ping/ssh between them Isolation between multi- tenant networks Demo2 Host (ubuntu02) kvm- test 192.168.0.10 OpenStack Integration OpenStack API/GUI lagopus Host (ubuntu03) docker- test2 192.168.0.5 docker- test 192.168.0.5 lagopus Host (ubuntu02) docker- kvm Host (ubuntu03) kvm- openstack2 docker- openstack mistake -> kvm-openstack lagopus lagopus Copyright 2015 NTT corp. All Rights Reserved. 34

Summary OpenStack as NFV Infrastructure Manager NFV requirements discussion DPDK for high performance packet processing Advantage of Lagopus Copyright 2015 NTT corp. All Rights Reserved. 35