Open Airinterface Towards Truly OpenSource Solutions for 5

  • Slides: 33
Download presentation
Open. Airinterface - Towards Truly Open-Source Solutions for 5 G 31/07/2015 Mobile Communications Department

Open. Airinterface - Towards Truly Open-Source Solutions for 5 G 31/07/2015 Mobile Communications Department Eurecom

Agenda § Testing Methodology – Focus only on openairinterface 5 g but need a

Agenda § Testing Methodology – Focus only on openairinterface 5 g but need a similar strategy for openair-CN § Bash script – Compilation, oaisim, § Automated Gitlab CI – Python based for the moment – Migration towards Ju. Ju/Open. Stack based environment § To. Do: – Lionel’s work in openair-CN on scenario player OAI - Open-Source Solutions for 5 G

Testing philosophy of OAI § Split the code in modules § Write module tests

Testing philosophy of OAI § Split the code in modules § Write module tests for small pieces of the code § Test small modules before committing to develop – Need a definition of modules ? – Some hint provided in slides from Laurent (NOKIA) § Need to develop this further with the team… OAI - Open-Source Solutions for 5 G

Test files location (openairinterface 5 g) § README. txt for overview of all the

Test files location (openairinterface 5 g) § README. txt for overview of all the tests – Openairinterface 5 g/cmake_targets/autotests/README. txt § Test_case_list. xml for description of all the tests – Openairinterface 5 g/cmake_targets/autotests/test_case_list. xml § Log/ dir for output of test results – Openairinterface 5 g/cmake_targets/autotests/log § Test case classes: – Compilation: Test cases to test compilation – Execution: test cases to test oaisim, NAS secuirity tests, dlsim, ulsim tests – Lte-softmodem: test cases for dynamic e. NB/UE/EPC interaction h. EPC can be OAI/Commercial h. UE can be COTS UE OAI - Open-Source Solutions for 5 G

Test_case_list. xml (global params) Items in RED are comments/explanations <Machine. List>mozart calisson stevens nano

Test_case_list. xml (global params) Items in RED are comments/explanations <Machine. List>mozart calisson stevens nano amerique</Machine. List > List of all machines <NFSResults. Share>/mnt/sradio/TEST_RESULTS/</NFSResults. Share> NFS Results directory <Git. OAI 5 GRepo>https: //gitlab. eurecom. fr/oai/openairinterface 5 g. git</ Git. OAI 5 GRepo> Git Location of openairinterface 5 g repo <Git. Openair-cn. Repo>https: //gitlab. eurecom. fr/oai/openair-cn. git</Git. Openair-cn. Repo > Git location of openair-cn repo <Git. OAI 5 GRepo. Branch>develop</Git. OAI 5 GRepo. Branch > Branch to test of openairinterface 5 g <Git. Openair-cn. Repo. Branch>develop</Git. Openair-cn. Repo. Branch > Branch to test of openair-CN <Clean. Up. Old. Progs>oaisim* oaisim_nos 1* lte-softmodem-nos 1* mme_gw* run_epc* run_hss* hss_sim configure_cots_bandrich_ue* wvdial* iperf_script ping tshark</Clean. Up. Old. Progs> List of old programs to kill before running every test case <Clean. Up. Alu. Lte. Box>sudo -S -E /opt/ltebox/tools/stop_ltebox</Clean. Up. Alu. Lte. Box > Command to stop ALU LTE EPC <Exmimo. Rf. Stop>$OPENAIR_DIR/cmake_targets/build_oai -w EXMIMO -c; sudo -S -E $OPENAIR_DIR/cmake_targets/tools/stop_exmimo 2; dmesg|tail</Exmimo. Rf. Stop > Command to stop EXMIMO RF Card <Timeout_execution>36000</Timeout_execution > Total duration of ssh commands <Test. Case. Exclusion. List>0104+ 015506 015507 015508 015509 015510 015511 015602 015605 015702 015705 015802 015805 016002 016005 016102 016105 016302 016305</Test. Case. Exclusion. List > Test cases excluded because they do not work properly (for ex 20 MHz) <nruns_lte-softmodem>3</nruns_lte-softmodem > Number of runs for lte-softmodem (overrides the parameter in lte-softmodem test cases) OAI - Open-Source Solutions for 5 G

Test_case_list. xml (class: compilation) Items in RED are comments/explanations <test. Case id="010101" > Test

Test_case_list. xml (class: compilation) Items in RED are comments/explanations <test. Case id="010101" > Test case number (must match to that in README. txt) <class>compilation</class> Test case class <desc>Build oaisim. Rel 8</desc> Description <pre_compile_prog></pre_compile_prog> Program to run before compilation <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> Compile Program to run <compile_prog_args>--oaisim -r Rel 8 -c </compile_prog_args> Compile Program arguments <compile_prog_out>$OPENAIR_DIR/cmake_targets/oaisim_build_oai/build/oaisim $OPENAIR_DIR/cmake_targets/at_commands/build/at_nas_ue $OPENAIR_DIR/cmake_targets/nas_sim_tools/build/usim $OPENAIR_DIR/cmake_targets/nas_sim_tools/build/nvram</compile_prog_out> Compile Program results <pre_exec></pre_exec> Ignored for “compilation” class <pre_exec_args></pre_exec_args> Ignored for “compilation” class <main_exec></main_exec> Ignored for “compilation” class <main_exec_args></main_exec_args> Ignored for “compilation” class <search_expr_true></search_expr_true> Ignored for “compilation” class <search_expr_false></search_expr_false> Ignored for “compilation” class <tags>oaisim. Rel 8</tags> tags to be displayed in results xml file <nruns>1</nruns> Number of runs </test. Case> OAI - Open-Source Solutions for 5 G

Test_case_list. xml (class: execution) Items in RED are comments/explanations <test. Case id="010200"> Test case

Test_case_list. xml (class: execution) Items in RED are comments/explanations <test. Case id="010200"> Test case number (must match to that in README. txt) <class>execution</class>Test case class <desc>Run OAISIM Rel 10 TDD, 1 e. NB + 1 UE (5 MHz/10 MHz/20 MHz), (TM 1, 2) and search for errors, segmentation fault or exit</desc>Description <pre_compile_prog></pre_compile_prog>Program to run before compilation <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> Compile Program to run <compile_prog_args>--oaisim --no. S 1 -c </compile_prog_args> Compile Program arguments <pre_exec>$OPENAIR_DIR/cmake_targets/tools/init_nas_nos 1</pre_exec> Pre-Executable to run to install missing kernel modules, etc <pre_exec_args></pre_exec_args>Pre-Executable args to run to install missing kernel modules, etc <main_exec>$OPENAIR_DIR/cmake_targets/oaisim_no. S 1_build_oai/build/oaisim_nos 1</main_exec> Main executable <main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb. band 7. generic. oaisim. local_no_mme. conf -A AWGN -b 1 -u 1 -n 100 -R 25 -x 1 </main_exec_args>Main executable arguments <tags>oaisim_no. S 1. tdd. 5 MHz. TM 1</tags> Tags of the tes t case <search_expr_true>"Received RRCConnection. Reconfiguration. Complete from UE 0"</search_expr_true>search expression for test case to pass <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>search expression for test case to fail <nruns>3</nruns> Number of runs </test. Case> OAI - Open-Source Solutions for 5 G

Test_case_list. xml (class: lte-softmodem) (1/3) <test. Case id="015500" > Test case number (must match

Test_case_list. xml (class: lte-softmodem) (1/3) <test. Case id="015500" > Test case number (must match to that in README. txt) <class>lte-softmodem</class> Test case class <desc></desc>Test case description <e. NB>calisson</e. NB> e. NB machine <UE>stevens</UE> UE machine <EPC>amerique</EPC> EPC machine <Time. Out_cmd>390</Time. Out_cmd> Duration of test case <e. NB_working_dir>/tmp</e. NB_working_dir> e. NB working directory <e. NB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb. band 7. tm 1. usrpb 210. epc. remote. conf tracking_area_code "1" </e. NB_config_file> e. NB configuration files that need updating <e. NB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</e. NB_compile_prog> e. NB compile program <e. NB_compile_prog_args>--e. NB -w USRP -x -c </e. NB_compile_prog_args> e. NB compile program arguments <e. NB_pre_exec></e. NB_pre_exec> e. NB pre-executable <e. NB_pre_exec_args></e. NB_pre_exec_args> e. NB pre-executable arguments <e. NB_main_exec>$OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</e. NB_main_exec> e. NB main executable <e. NB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb. band 7. tm 1. usrpb 210. epc. remote. conf -W </e. NB_main_exec_args> e. NB main executable arguments <e. NB_traffic_exec></e. NB_traffic_exec> executable for running traffic <e. NB_traffic_exec_args></e. NB_traffic_exec_args> arguments for executable for running traffic <e. NB_search_expr_true></e. NB_search_expr_true> search expresession for test case to pass <e. NB_search_expr_false></e. NB_search_expr_false> search expression for test case to fail <e. NB_terminate_missing_procs>False</e. NB_terminate_missing_procs> terminate all the e. NB processes (if set to TRUE) if at least one of the processes fails OAI - Open-Source Solutions for 5 G

Test_case_list. xml (class: lte-softmodem) (2/3) <UE_working_dir>/tmp</UE_working_dir> UE working directory <UE_config_file></UE_config_file> UE config files that

Test_case_list. xml (class: lte-softmodem) (2/3) <UE_working_dir>/tmp</UE_working_dir> UE working directory <UE_config_file></UE_config_file> UE config files that must be changed <UE_compile_prog></UE_compile_prog> UE compile program <UE_compile_prog_args></UE_compile_prog_args> UE compile program arguments <UE_pre_exec></UE_pre_exec> UE pre-executable to run before main executable <UE_pre_exec_args></UE_pre_exec_args> UE pre-executable arguments <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue. py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue. py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue. py --start-ue </UE_main_exec> UE main executable <UE_main_exec_args></UE_main_exec_args> UE main executable arguments <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp 0 -u -c 192. 172. 0. 1 -b 10 Mbits/s -B 192. 172. 0. 2</UE_traffic_exec> Traffic script to run on UE <UE_traffic_exec_args></UE_traffic_exec_args> Traffic script arguments <UE_search_expr_true></UE_search_expr_true> Search expression for test case to pass <UE_search_expr_false></UE_search_expr_false> search expression for test case to fail <UE_terminate_missing_procs>False</UE_terminate_missing_procs> Terminate UE background processes (if TRUE) if one of them fails <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue. py --stop-ue </UE_stop_script> script to stop the UE from transmitting OAI - Open-Source Solutions for 5 G

Test_case_list. xml (class: lte-softmodem) (2/3) <EPC_working_dir>/tmp</EPC_working_dir> EPC working directory <EPC_config_file></EPC_config_file> EPC config file that

Test_case_list. xml (class: lte-softmodem) (2/3) <EPC_working_dir>/tmp</EPC_working_dir> EPC working directory <EPC_config_file></EPC_config_file> EPC config file that needs to be changed <EPC_compile_prog></EPC_compile_prog> EPC compile program <EPC_compile_prog_args></EPC_compile_prog_args> EPC compile program arguments <HSS_compile_prog></HSS_compile_prog> HSS compile program <HSS_compile_prog_args></HSS_compile_prog_args> HSS compile program arguments <EPC_pre_exec></EPC_pre_exec> EPC pre-executable <EPC_pre_exec_args></EPC_pre_exec_args> EPC pre-executable arguments <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> <EPC_main_exec_args></EPC_main_exec_args> EPC start arguments <HSS_main_exec>/opt/hss_sim 0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> HSS main executable <HSS_main_exec_args></HSS_main_exec_args> HSS main executable arguments <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m -B 192. 172. 0. 1</EPC_traffic_exec> EPC traffic script <EPC_traffic_exec_args></EPC_traffic_exec_args> EPC traffic script arguments <EPC_search_expr_true>throughput_test min=1. 0 Mbits/sec max=1. 0 Mbits/sec average=1. 0 Mbits/sec </EPC_search_expr_true> Search expression which must be true for test case to fail <EPC_search_expr_false></EPC_search_expr_false> Search expression which must be fail for test case to pass <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> Terminate EPC processes in background (if set to TRUE) if one of them terminates early <tags>USRPb 210. ALU_EPC. Bandrich. 5 MHz. FDD. Band_7. UL. 1 TX. 1 RX</tags> tags of the test case <nruns>10</nruns> number of runs </test. Case> OAI - Open-Source Solutions for 5 G

Test Framework Architecture (Git. Lab CI) Setup All Machines (Clone Git Repo, test sudo,

Test Framework Architecture (Git. Lab CI) Setup All Machines (Clone Git Repo, test sudo, mount NFS, Kill Old Processes) Temp Dir: /tmp/OAITest. Frame. Work-__USER_NAME/ For Each test case Clean Up Test case Call handle_testcaseclass_generic () Call handle_testcaseclass_softmodem () NO If class=lte-softmodem? OAI - Open-Source Solutions for 5 G YES

Bash script tests (to be run on locally by dev) § Basic tests to

Bash script tests (to be run on locally by dev) § Basic tests to run from shell using build_oai §. /build_oai –s –run-group “ 0101* 0102*” – Run tests matching 0101* 0102*. – Only run test cases class (compilation, execution) – All tests involving dynamic e. NB/UE/EPC interaction are skipped (test case class: lte-softmodem) OAI - Open-Source Solutions for 5 G

Python script (to be run only by Gitlab CI) § Can run all the

Python script (to be run only by Gitlab CI) § Can run all the test classes on remote machines python cmake_targets/autotets/run_exec_lte-softmodem_tests. py –h § Number of arguments argc = 2 § -s: This flag *MUST* be set to start the test cases § -r: Remove the log directory in autotests § -g: Run test cases in a group § -c: Run cleanup scripts on remote machines and exit § -5 GRepo. Branch: Branch for OAI 5 G Repository to run tests (overrides the branch in test_case_list. xml) § -5 GRepo. Head. Version: Head commit on which to run tests (overrides the branch in test_case_list. xml) § -u: use the user name passed as argument § -p: use the password passed as an argument § -n: Set the NFS share passed as an argument § --nrun_lte_softmodem: Set the number of runs for lte-softmodem test case class § -Machine. List : overrides the Machine. List parameter in test_case_list. xml § -Machine. List. Generic : overrides the Machine. List. Generic parameter in test_case_list. xml § --skip-git-head-check: skip checking of Git. Head remote/local branch (only for debugging) § --timeout_cmd: Override the default parameter (timeout_cmd) in test_case_list. xml. This parameter is in seconds and should be > 120 OAI - Open-Source Solutions for 5 G

Run tests on Gitlab CI § curl -X POST -F token=xxx -F "variables[OAI_TEST_CASE_GROUP]="0101+ 0102+

Run tests on Gitlab CI § curl -X POST -F token=xxx -F "variables[OAI_TEST_CASE_GROUP]="0101+ 0102+ 0103+ 0104+ 0150+ 0151+ 0155+ 0161+ " " https: //gitlab. eurecom. fr/ci/api/v 1/projects/1/refs/develop/trigger -> Gitlab CI on develop branch § Token is present in Gitlab CI settings, https: //gitlab. eurecom. fr/oai/openairinterface 5 g/triggers § Every “developer” should have access to token § Look at the existing variables that are passed to Gitlab CI by default, https: //gitlab. eurecom. fr/oai/openairinterface 5 g/variables § Run cmake_targets/autotests/run_exec_lte-softmodem_tests. py -h for options Ø print "-s: This flag *MUST* be set to start the test cases" Ø print "-r: Remove the log directory in autotests" Ø print "-g: Run test cases in a group" Ø print "-c: Run cleanup scripts on remote machines and exit" Ø print "-5 GRepo. Branch: Branch for OAI 5 G Repository to run tests (overrides the branch in test_case_list. xml)" Ø print "-5 GRepo. Head. Version: Head commit on which to run tests (overrides the branch in test_case_list. xml)" Ø print "-u: use the user name passed as argument" Ø print "-p: use the password passed as an argument" Ø print "-n: Set the NFS share passed as an argument" Ø print "--nrun_lte_softmodem: Set the number of runs for lte-softmodem test case class" Ø print "-Machine. List : overrides the Machine. List parameter in test_case_list. xml" Ø print "-Machine. List. Generic : overrides the Machine. List. Generic parameter in test_case_list. xml" Ø print "--skip-git-head-check: skip checking of Git. Head remote/local branch (only for debugging)" Ø print "--timeout_cmd: Override the default parameter (timeout_cmd) in test_case_list. xml. This parameter is in seconds and should be > 120" OAI - Open-Source Solutions for 5 G

Test Results Output (class: compilation/execution) § Cmake_targets/autotests/log/010101 – Compile_log: Directory that contains all the

Test Results Output (class: compilation/execution) § Cmake_targets/autotests/log/010101 – Compile_log: Directory that contains all the logfiles of compilation – Test. 010101. log. txt: logfiles produced by bash script (cmake_targets/autotests/run_exec_autotests. bash) – Test. 010101. xml: xml result of test case h testcase classname='compilation' name='010101. oaisim. Rel 8' Run_result=' Run_1 = PASS' time='50. 025046056 s' RESULT='PASS'></testcase> – test_task_010101_. log: script that is executed on remote machine for the test case. Only present for gitlab-CI – test_task_out_010101_. log: Output of script (test_task_010101_. log) that is deployed on remote machine. Only present for gitlab-CI OAI - Open-Source Solutions for 5 G

Test Results Output (class: lte-softmodem) § Cmake_targets/autotests/log/015500 – – – Run_0 : Directory contains

Test Results Output (class: lte-softmodem) § Cmake_targets/autotests/log/015500 – – – Run_0 : Directory contains results for run ‘ 0’ e. NB_compile_0. log : logfile for e. NB compilation e. NB_exec_0. log: logfile for e. NB execution e. NB_task_0. log: e. NB script deployed on remote machine e. NB_task_out_0. log: e. NB script output on remote machine e. NB_task_compile_0. log: e. NB compile script deployed on remote machine e. NB_task_compile_out_0. log: e. NB compile script output on remote machine e. NB_tshark_0_. log: e. NB wireshark capture script on all interfaces e. NB_tshark_0_. pcap. zip: e. NB wireshark pcap file (zipped) Similar files are generated for UE, EPC Test. 015500. xml: Results of all the runs of test case. It also includes (min, max, avg ) throughput and duration of traffic OAI - Open-Source Solutions for 5 G

A look at Gitlab CI build § https: //gitlab. eurecom. fr/oai/openairinterface 5 g/build s/97

A look at Gitlab CI build § https: //gitlab. eurecom. fr/oai/openairinterface 5 g/build s/97 § Results are copied to – /mnt/sradio/TEST_RESULTS/develop/4 c 31 f 2 a 18784 b 5 eb 57347 4 aee 917336 cc 73 b 689 c – The hash is the commit ID – /mnt/sradio is mounted on NFS Share – In future, we can have this share also mounted on Google Drive/Dropbox OAI - Open-Source Solutions for 5 G

BACKUP SLIDES OAI - Open-Source Solutions for 5 G

BACKUP SLIDES OAI - Open-Source Solutions for 5 G

A bit about EURECOM § Research and Teaching Institute – Location: Sophia Antipolis Technopole,

A bit about EURECOM § Research and Teaching Institute – Location: Sophia Antipolis Technopole, French Riviera (near Nice, Cannes …) – Main areas: Mobile Communications, Network and Security, Multimedia, Embedded Systems – Affiliations: Telecom Paris. Tech, Tech. Univ. Munich, Torino, Helsinki, Trondheim, Chalmers. – Industrial members: Orange, SFR, Monaco Telecom, BMW, SAP, STMicroelectronics, Symantech, IABG. § ~100 permanent employees, 80 research, 20 admin § Combination of applied and fundamental research OAI - Open-Source Solutions for 5 G

Overview § Open. Air. Interface. org today and Ecosystem § Open-source for 5 G

Overview § Open. Air. Interface. org today and Ecosystem § Open-source for 5 G § Software Alliance – Membership – License – Strategic member areas OAI - Open-Source Solutions for 5 G

Openairinterface. org § Opensource software-based implementation of 4 G LTE (Rel 10) – Spanning

Openairinterface. org § Opensource software-based implementation of 4 G LTE (Rel 10) – Spanning the full protocol stack of 3 GPP standard h. E-UTRAN (e. NB, partial UE) h. EPC (MME, S+P-GW, HSS) – Realtime RF and scalable emulation platforms § Objectives – Bring academia closer to complex real-world systems – Open-source tools to ensure a common R&D and prototyping framework for rapid proof-of-concept designs § Playground – – – – Commercial UE OAI e. NB + Commercial EPC * Commercial UE OAI e. NB + OAI EPC * Commercial UE Commercial e. NB + OAI EPC * OAI UE Commercial e. NB + Commercial EPC * OAI UE OAI e. NB + Commercial EPC OAI UE OAI e. NB + OAI EPC OAI - Open-Source Solutions for 5 G *only Realtime RF

Industrial Users Today § Alcatel-Lucent Bell Labs (Paris, New Jersey, Stuttgart) § China. Mobile

Industrial Users Today § Alcatel-Lucent Bell Labs (Paris, New Jersey, Stuttgart) § China. Mobile CRAN Project (Beijing) – Building demonstrator with OAI software for Cloud. RAN proof-of-concept, live real-time deployment, 20 MHz TD-LTE – OAI software on commodity computing equipment (IBM x 86 servers) + commercial remote radio-heads – Keysight China (ex Agilent): interop testing for China Mobile CRAN § National Instruments / Ettus Research – Support for porting OAI software to Ettus USRP platforms (B 210, X 310) – Roadmap for integration on PXIe high-end industrial platforms § Air-Lynx (SME, Paris) – Rapidly (and less rapidly)-deployable e. NB/EPC h. Currently evaluating EURECOM HW and OAI e. NB/EPC/UE for publicsafety applications § Software has been analyzed independently by Intel for maturity in Cloud. RAN context. OAI - Open-Source Solutions for 5 G

OSA Members OAI - Open-Source Solutions for 5 G

OSA Members OAI - Open-Source Solutions for 5 G

Ecosystem OAI - Open-Source Solutions for 5 G

Ecosystem OAI - Open-Source Solutions for 5 G

Ecosystem (current mailing list) Asia Europe ALU (Villarceaux) - Industry **** Thales (Colombes) -

Ecosystem (current mailing list) Asia Europe ALU (Villarceaux) - Industry **** Thales (Colombes) - Industry * Air-Lynx (Velizy) - Industry ** IFFSTAR (Lille) - Research UBO (Brest) - Research * Orange (Issy-les-Moulineaux) - Industry Fraunhofer Erlanagen (Germany) - Research Fraunhofer Munich (Germany) - Research TU Berlin (Germany) - Research ** IMST (Kamp-Lintfort, Germany) - Research ** Nat. Inst (Dresden, Germany) - Industry ** TNO (Holland) - Research *** KCL (UK) - Research ** IMINDS (Belgium) - Research UMalaga (Malaga, Spain) - Research * CERTH (Greece) - Research * IASA (Greece) - Research * Inov (Portugal) - Research * NSN (Poland) - Industry * Kaist (Korea) - Research KHU (Korea) - Research * Malaysia Telecom (Malaysia) - Industry TCS (India) - Industry * IIT Madras (India) - Research * IIT Hyderabad (India) - Research * BUPT (Beijing, China) - Research Geeflex (China) - Industry ** China Mobile (China) - Industry **** Keysight (ex Agilent), (China) - Industry **** CASIA (China) - Research Various undisclosed institutions (China) -Research/Industry ** North America Nat. Inst/Ettus (USA) - Industry ** Intel (Oregon, USA, Vancouver Canada) – Industry ** NEC-Labs (Princeton, USA) – Industry ** Rutgers Univ. (Rutgers New Jersey, USA) - Research ALU (Murray Hill - USA) - Industry ** Idaho National Laboratory (USA) – Research ** University of Alberta (Calgary, Canada) Univ. Michigan (Ann Arbour, USA) - Research * OAI - Open-Source Solutions for 5 G

OSA Use Cases OAI - Open-Source Solutions for 5 G

OSA Use Cases OAI - Open-Source Solutions for 5 G

Open-source for 5 G § Economics of mobile are changing towards a Commoditization of

Open-source for 5 G § Economics of mobile are changing towards a Commoditization of RAN – – Cloud SDN/NFV (Op. NFV, Ju. Ju + Ubuntu Open. Stack + MAAS) Emergence of Open. Stack in vicinity of RAN Lots of (cheap) open-source hardware starting to emerge More generic computing equipment right down to PHY (x 86/ARM) (even maybe PHY) h open. BTS, Open. Air. Interface – Canonical (Ubuntu!) providing orchestration and OS solutions (at least for prototyping today) for cellular networks § Example – OAI: Full experimental LTE implementation (Rel 10) h real time and with interworking functions: EUTRAN, EPC, UE h RAN + EPC in Ubuntu Ju. Ju Open. Stack offering! F In a position to provide a full LTE network with Vo. LTE in 2015! Open-source end-to-end (OAI EPC, Clear. Water IMS, Free. PCRF) OAI - Open-Source Solutions for 5 G

Open-source for 5 G § Emergence of hackers in radio networks (or leveraging their

Open-source for 5 G § Emergence of hackers in radio networks (or leveraging their work) – § Emergence of fully functional 4 G solutions on equipment that can be bought at the supermarket (almost, with a bit of help from National Instruments or Lime Microsystems) – § Or from Crowdfunding projects (e. g. Novena-RF) Mainstream 4. 5 G/5 G will need cheap, easily extensible devices at the edge (for below 6 GHz systems) – – § Yates. BTS, Fairwaves: deploying commercial 2 G nets based on open-source radio HW and SW small (cheap) form-factor but ubiquitous high-quality RAN access Example: cheap RRH with Cloud. RAN (Rel 12 RRH, 25 d. Bm < 500 euros) commodity Ethernet + 1588 solutions instead of CPRI, sampling synchronization is an issue, but solvable Support potentially of dynamic switching between RATs in the same RRH DSP split between RRH and BBU for fronthaul optimization – – Mobile Edge Computing (ETSI MEC ISG) – provision IT and cloud-computing capabilities within the radio access network (RAN) in close proximity to mobile subscribers h compute/storage able to perform functions such as content delivery, lowlatency Io. T functions h “edge” or at least RAN-aggregate and process Io. T data from a range of media (both cellular and non-cellular) – Mix of cloud and RAN technologies (RRH-to-Data. Center approach) OAI - Open-Source Solutions for 5 G

Next Steps for OAI § Ensure a path 4 G 5 G through open-source

Next Steps for OAI § Ensure a path 4 G 5 G through open-source policy Reference implementation of Rel 13/14 5 G § Work with new carrier candidates now (e. g. UFMC), short packet low-latency carriers, contention-based access § VRAN, NFV, MEC architectures § Rapidly-deployable EPC/e. NB (with LTE or other backhaul) § Serious contributors from outside Eurecom – Combination of hackers, academics, SMEs and major industry – OAI Software Alliance launched at the end of 2014 § « ready to use » for anybody on commodity hardware (PCs + National Instruments) – and industrial platforms ! § GPLv 3 APACHE v 2. 0 § More global adoption for innovation and research (Vendor labs, University Labs, etc. ) common tool between industrial and academic research – Can also be used in 3 GPP process for study items § Business adoption in test/prototyping market OAI - Open-Source Solutions for 5 G

Anybody can build a 4 G/5 G network Serious contributors from outside Eurecom §

Anybody can build a 4 G/5 G network Serious contributors from outside Eurecom § Software Alliance (“Fonds de Dotation”) around the current Open. Air. Interface. org development § Make trusted environment – Contributors and users need to secure themselves – Clear open source rules – Any individual person or non-profit organization can become a member for free – Membership conditions for companies § Increase quality & simplify access – Simple and well described binary build procedures for all the LTE components – Friendly to various RF systems (RRH, Small. Cell, etc. ) – Anybody can build a fully open-source 4 G network comprising a couple of e. NBs + EPC for less than 10 K€ and 1 human week of effort OAI - Open-Source Solutions for 5 G

Example Membership Models (a la Open. Stack/Eclipse) § Strategic members – ~100 k€ per

Example Membership Models (a la Open. Stack/Eclipse) § Strategic members – ~100 k€ per year (reduced to 40 k€ with agreed effort) – Strong voice in decision process (limited number of members, e. g. 8) – Ability to run projects (e. g. porting for industrial HW targets) – Ability to attend and host meetings § Associate members – ~10 k€ per year, free for non-profit organizations – limited voice or no voice in decision process (only if merit warrants this) – Use of logo / SW certification – Attend meetings § Ordinary (Individual) members – Free – Main “workforce”, can commit to codebase – Can attend meetings and join projects OAI - Open-Source Solutions for 5 G

OSA Licensing Model § FRAND License allows committing software with patent rights into OSA

OSA Licensing Model § FRAND License allows committing software with patent rights into OSA and still keep licensing rights -> Inline with 3 GPP fair use licensing policy § We are working closely with ETSI for licensing/certification § Future 5 G Core Network developed within e. NB/UE will inherit FRAND license (subject to approval from OSA Board) OAI - Open-Source Solutions for 5 G

Conclusion § OAI is all software, all IP, and open § Integrated tools for

Conclusion § OAI is all software, all IP, and open § Integrated tools for a complete experiment life-cycle § Flexibility to architect, instantiate, and configure the network components (at the edge, core, or cloud) – E. g. The network can be packed into a single commodity server/PC or virtualized as a cloud service § Rapid prototyping of 3 GPP compliant and noncompliant use-cases – E. g. Software-define networking or mobile edge services OAI - Open-Source Solutions for 5 G 34