Tech Kaizen

passion + usefulness = success .. change is the only constant in life

Search this Blog:

Showing posts with label 5G. Show all posts
Showing posts with label 5G. Show all posts

Principles of Cloud-native Architecture

Cloud-native architecture is the design or plan for applications and services built specifically to exist in the cloud. Most resources emphasize the role of microservices in cloud-native architecture.The major advantage of cloud-native architecture over legacy systems is its flexibility.

Cloud-native architectures aren’t built on on-premise physical servers but are instead deployed on a cloud platform and leverage the cloud philosophy of distributed systems. This enables cloud-native architectures to take full advantage of the latest and best technologies around distributed systems. They are specifically designed to utilize the versatility and scalability benefits of the cloud.

The best way to understand cloud-native architecture is to take a closer look at cloud-native applications. Cloud-native apps are built on a fundamentally different approach than monolithic applications. Rather than developing and deploying the application as a whole, cloud-native apps are based on microservices that are self-contained and independently deployable.

Microservices are the core of cloud-native application architecture. They are essentially small, self-sufficient mini-programs, each with their own data store and application logic, built to execute a single business function. Cloud-native architecture will consist of many small pieces that work together. You can change, add, or replace one without potentially breaking the entire system.

Cloud-native architecture typical components include:

  • Containers
  • Immutable infrastructure
  • Microservices
  • Service meshes

These pieces work together, but you can tinker with them independently without taking down the entire system. Your final build is scalable, resilient, and available to all consumers.

Traditional vs Cloud Computing Environments:

    In a traditional computing environment, a company needs to provision capacity based of their best guess of a maximum peak traffic (for instance - Black Friday). Which means that for extended periods of time, a vast majority of your capacity is essentially wasted.

    This is more or less why Cloud Computing was born - you get to use other's extra capacity for your own purposes. Servers, databases, storage etc. can be started and shut down within hours or even minutes based on the requirements.

5 Principles of cloud-native Architecture:

Principle 1: Design for automation
    1. Continuous Integration/Continuous Delivery

    2. Scale up and scale down
    
    3. Monitoring and automated recovery - black-box monitoring and white-box monitoring

Principle 2: Be smart with state
    1. Stateless components(containers) - Stateless means that any state (persistent data of any kind) is stored outside of a container
     
    2. Immutable components(containers) - Immutable means that a container won't be modified during its life: no updates, no patches, no configuration changes.

Principle 3: Favor managed services

Principle 4: Practice defense in depth - Adopt an approach of defense-in-depth by applying authentication between each component, and by minimizing the trust between those components (even if they are 'internal'). As a result, there is no 'inside' and 'outside'.

Principle 5: Always be architecting - Always seek to refine, simplify and improve the architecture of the system, as the needs of the organization change, the landscape of your IT systems change, and the capabilities of your cloud provider itself change.

ref: 
 
Cloud-Native Architecture - https://www.okta.com/identity-101/what-is-cloud-native-architecture/
 
5 Principles for cloud-native architecture - https://cloud.google.com/blog/products/application-development/5-principles-for-cloud-native-architecture-what-it-is-and-how-to-master-it  

7 Best Cloud Architecture Practices You Must Know - https://medium.com/@ranosys/7-best-cloud-architecture-practices-you-must-know-d2051c2007fa

Best practices for operating containers - https://cloud.google.com/solutions/best-practices-for-operating-containers#immutability
 
Design components to be stateless and immutable - https://cloud.google.com/solutions/best-practices-for-operating-containers#immutability
 
Architecting for the Cloud(AWS Best Practices) -  
 
    1.  https://d1.awsstatic.com/whitepapers/AWS_Cloud_Best_Practices.pdf
    
    2. https://tlakomy.com/architecting-for-the-cloud-aws-best-practices-part-1

Posted by Krishna Kishore Koney
Labels: 5G, CLOUD COMPUTING, LATEST TECHNOLOGY

5G Protocol Stack

Protocol Stack is a group of protocols that all work together to allow software or hardware to perform a function. TCP/IP protocol stack is a good example.

5G Protocol Stack =>

     Layer-1 (L1)   -   PHYSICAL Layer
     Layer-2 (L2)   -   MAC, RLC and PDCP layers
     Layer-3 (L3)   -   RRC layer

The Figure below depicts 5G Protocol Stack consisting of both User Plane and Control Plane protocol layers.







ref:

5G NR Architecture -
 
  • https://red-colmena.com/f/JyY1ajY1JmhhZSFpdC91JGcmIyEsYGU/18/08/cw_5g_training_v3_slides.pdf
  • https://5g-ppp.eu/wp-content/uploads/2018/01/5G-PPP-5G-Architecture-White-Paper-Jan-2018-v2.0.pdf
5G Protocol Stack - http://www.rfwireless-world.com/Terminology/5G-Protocol-Stack-Layer-1-Layer-2-and-Layer-3.html

5G Protocol Stack (User Plane and Control Plane) - 
  • https://www.netmanias.com/en/post/oneshot/14103/5g/5g-protocol-stack-user-plane-control-plane
  • http://www.techplayon.com/5g-nr-radio-protocol-stack-layer-2-layer-3/
5G network architecture - http://www.rfwireless-world.com/Tutorials/5G-network-architecture.html

Misc -
  • https://5g-ppp.eu/wp-content/uploads/2018/01/5G-PPP-5G-Architecture-White-Paper-Jan-2018-v2.0.pdf
  • http://std-share.itri.org.tw/Content/Files/Event/Files/2.%205G%20core%20network%20standardization(%20%E7%9A%87%E7%94%AB%E5%BB%BA%E5%90%9B).pdf
  • https://www.sdxcentral.com/5g/definitions/5g-architecture/

Posted by Krishna Kishore Koney
Labels: 5G

5G Quality of Service(QoS)

5G promises a range of capabilities from downloading a movie fast(example: under 5 seconds) to supporting real-time low-latency of Industrial IoT(Internet of Things), factory automation or self-driving cars. This range of capabilities requires that the Quality of Service (QoS) characteristics, such as delay, error rate, and priority be specified and enforced. 5G enhances the QoS options compared to 4G LTE.

The concept of QoS in 5G is flow based. Packets are classified and marked using QFI (QoS Flow Identifier). The 5G QoS flows are mapped in the AN (Access Network) to DRBs (Data Radio Bearers) unlike 4G LTE where mapping is one to one between EPC and radio bearers. It supports following QoS flow types. 

QoS flow is identified by QFI within PDU session. This QFI is carried in an encapsulation header over NG-U. For each UE, 5GC establishes one or more PDU sessions and NG-RAN establishes at least one DRB together with PDU session. Additional DRBs are configured for QoS flows of that PDU session consecutively.
 

• GBR(Guaranteed Bit Rate) QoS flow, requires guaranteed flow bit rate   
• Non-GBR QoS flow, does not require guaranteed flow bit rate    




Following are the benefits or advantages of 5G QoS in NR =>
  • It delivers critical communication services for mission critical users/organizations.   
  • It provides different prioritization levels for different applications as per users preset requirements with the operators.   
  • It provides help to people during disasters and emergency situations such as floods, earthquake etc.
  • The service is always available for emergency callers

ref:

Quality of Service (QoS) for 5G Networks -   
  • http://www.ijfcc.org/vol6/483-GS0004.pdf
  • https://www.awardsolutions.com/portal/shareables/what-is-5G/5G-Training-Online/quality-service-model-5g-prasad-govindarajan
5G NR QoS - http://www.rfwireless-world.com/5G/5G-NR-QoS.html

5G NR User Plane Protocol - http://www.techplayon.com/5g-nr-radio-protocol-user-plane-whats-new-lte-5g-nr/ 

Quality of Service (QoS) concept and architecture (Specification #: 23.107) -
  • https://www.etsi.org/deliver/etsi_ts/123100_123199/123107/10.01.00_60/ts_123107v100100p.pdf
  • https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=783
AT command set for User Equipment (UE): Specification #: 27.007 -
  • https://www.etsi.org/deliver/etsi_ts/127000_127099/127007/10.03.00_60/ts_127007v100300p.pdf
  • https://portal.3gpp.org/desktopmodules/Specification/SpecificationDetails.aspx?specificationId=1515
5G Session Management Spec - https://www.etsi.org/deliver/etsi_ts/129500_129599/129512/15.00.00_60/ts_129512v150000p.pdf

Enabling ICN in 3GPP's 5G NextGen Core Architecture  - https://tools.ietf.org/id/draft-ravi-icnrg-5gc-icn-03.html

Misc - 
https://www.researchgate.net/figure/5G-NG-RAN-Protocol-Stack-and-5G-QoS-Architecture_fig6_323184543

Posted by Krishna Kishore Koney
Labels: 5G

Porting Linux Applications to VxWorks RTOS

Tips for Porting Linux Application to VxWorks: 

1. There is no notion of a process (in the POSIX sense), there is no notion of sharing of locks (mutexes) and condition variables between processes.  As a result, the POSIX symbol _POSIX_THREAD_PROCESS_SHARED is not defined in this implementation, and the routines pthread_condattr_getpshared( ), pthread_condattr_setpshared( ), pthread_mutexattr_getpshared( ) are not implemented.

2. There are NO processes in VxWorks, fork( ), wait( ), and pthread_atfork( ) are unimplemented. If you need to spawn a task for that using the 'taskSpawn' routine.

3. VxWorks does NOT have password, user, or group databases, therefore there are no implementations of getlogin( ), getgrgid( ), getpwnam( ), getpwuid( ), getlogin_r( ), getgrgid_r( ), getpwnam_r( ), and getpwuid_r( )

4. VxWorks programming discourages to use global variables and if in case you need to use the global variables ( global scope ,file scope ) make sure you initialize those before your application program starts and make sure use to use the unique variable names.This is because of the fact that vxWorks memory model is flat,so you need to be extra careful in using the global variables.

5. The 'main' routine does not work in vxWorks case, We need to write your own wrapper function to parse the command line arguments that you pass to your program from the interactive shell.

6. It is recommended to use the separate memory partition for your application if your application demands more frequent use of dynamic memory allocations and frees.

7. It is better to use the static memory for small memory allocations because vxWorks mem library does not use best fit  algorithm for its memory allocations and it can lead to memory fragmentation.

ref:

http://www.vxdev.com/docs/vx55man/vxworks/ref/pthreadLib.html

https://groups.google.com/forum/#!topic/comp.os.vxworks/PVGKsSaGxtw

Porting RTOS drivers to Linux - http://www.linuxjournal.com/article/7355

VxWorks API to Linux - http://v2lin.sourceforge.net/

Migrating legacy VxWorks applications to Linux - http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.466.7007&rep=rep1&type=pdf

Posted by Krishna Kishore Koney
Labels: 5G, EMBEDDED SYSTEMS, LINUX

5G Network Overview

5G is a new network system that has much higher speeds and capacity, and much lower latency, than existing cellular systems. 5G networks will use a type of encoding called OFDM(Orthogonal Frequency Division Multiplexing), which is similar to the encoding that LTE uses.  The magic number here for 5G is in fact a floor of 1 Gbps, with numbers as high as 10 Gbps(circa).

The new technology is expected to use “millimeter wave” radio spectrum or wavelengths above 24 gigahertz. Higher frequencies carry significantly more data but they are also far more easily blocked by buildings, foliage, and even rain, making their use for mobile communications quite challenging.


5G New Radio (NR), the global 5G standard for a new OFDM-based air interface designed to support the wide variation of 5G device-types, services, deployments and spectrum.


1G, 2G, 3G, 4G


The G in 5G means it's a generation of wireless technology. While most generations have technically been defined by their data transmission speeds, each has also been marked by a break in encoding methods, or "air interfaces," which make it incompatible with the previous generation.

  • 1G was analog cellular. 
  • 2G technologies, such as CDMA, GSM, and TDMA, were the first generation of digital cellular technologies. 
  • 3G technologies, such as EVDO, HSPA, and UMTS, brought speeds from 200kbps to a few megabits per second. 
  • 4G technologies, such as WiMAX and LTE, were the next incompatible leap forward, and they are now scaling up to hundreds of megabits and even gigabit-level speeds.
      CN
     /    \
       RAN    RAN
    / \          / \

    UE  UE  UE UE

CN => Core Network
RAN => Radio Access Network (eNodeB)
UE => User Equipment(Mobile Phone)

ref:


3gpp specs - 

  • http://www.3gpp.org/
  • http://www.3gpp.org/DynaReport/38-series.htm
  • http://www.3gpp.org/news-events/3gpp-news/1614-sa_5g

5g NR - 

  • https://www.qualcomm.com/invention/technologies/5g-nr
  • http://niviuk.free.fr/store_fiveg.php

Misc -

  • https://www.tutorialspoint.com/lte/lte_protocol_stack_layers.htm
  • http://lteuniversity.com/
  • http://www.telecomhall.com
  • http://www.telecomdocs.com/
  • http://www.rfwireless-world.com/
  • http://www.telecomhall.com/what-is-rrc-and-rab.aspx
  • https://www.csie.ntu.edu.tw/~hsinmu/courses/_media/wn_11fall/ofdm_new.pdf
  • https://www.networkworld.com/article/3203489/lan-wan/what-is-5g-wireless-networking-benefits-standards-availability-versus-lte.html
  • https://cdn.rohde-schwarz.com/fr/general_37/local_webpages/LTE-A_IoT_On-the_road_to_5G_RS_France_March2017_5G.pdf

Videos -
  • https://www.youtube.com/watch?v=CI9No9Ci9Ro
  • https://www.youtube.com/watch?v=ZlQkHQbHQ_E
  • https://www.youtube.com/watch?v=oP0QgcCXF1Y
  • https://www.youtube.com/watch?v=7y75iBuW_6s
  • https://www.youtube.com/watch?v=E7GnlmxGhXc&list=PLDFUXqDBoC1jOq8cKqNLy6XtsoGNsrpkc
  • https://www.eventhelix.com/
  • https://www.eventhelix.com/RealtimeMantra/#.Wi8D_EqnFPZ

Posted by Krishna Kishore Koney
Labels: 5G, MOBILE APPLICATION DEVELOPMENT, TECHNOLOGY INTEGRATION
Older Posts Home
Subscribe to: Posts (Atom)

The Verge - YOUTUBE

Loading...

Hard Fork Podcast

Loading...

Dwarkesh Patel Podcast

Loading...

SemiAnalysis Podcast (Dylan Patel)

Loading...

Andrej Karpathy Youtube Channel

Loading...

Microsoft Research

Loading...

Hugging Face - Blog

Loading...

AI at Wharton

Loading...

Stanford Online

Loading...

MIT OpenCourseWare - YOUTUBE

Loading...

NPTEL IISC BANGALORE - YOUTUBE

Loading...

HackerRank - YOUTUBE

Loading...

FREE CODE CAMP - YOUTUBE

Loading...

BYTE BYTE GO - YOUTBUE

Loading...

GAURAV SEN INTERVIEWS - YOUTUBE

Loading...

Tanay Pratap - YOUTUBE

Loading...

Ashish Pratap Singh - YOUTUBE

Loading...

Kantan Coding - YOUTUBE

Loading...

SUCCESS IN TECH INTERVIEWS - YOUTUBE

Loading...

IGotAnOffer: Engineering - YOUTUBE

Loading...

DEEPLEARNING AI - YOUTUBE

Loading...

MIT News - Artificial intelligence

Loading...
My photo
Krishna Kishore Koney
View my complete profile
" It is not the strongest of the species that survives nor the most intelligent that survives, It is the one that is the most adaptable to change "

View krishna kishore koney's profile on LinkedIn


Failure is not falling down, it is not getting up again. Success is the ability to go from failure to failure without losing your enthusiasm.

Where there's a Will, there's a Way. Keep on doing what fear you, that is the quickest and surest way to to conquer it.

Vision is the art of seeing what is invisible to others. For success, attitude is equally as important as ability.

Monthly Blog Archives

  • ▼  2026 (7)
    • ▼  July (2)
      • REST vs GraphQL
      • Nautobot: Opensource Network Source of Truth (NSoT...
    • ►  May (1)
    • ►  April (1)
    • ►  March (3)
  • ►  2025 (4)
    • ►  October (1)
    • ►  August (1)
    • ►  May (1)
    • ►  April (1)
  • ►  2024 (18)
    • ►  December (1)
    • ►  October (2)
    • ►  September (5)
    • ►  August (10)
  • ►  2022 (2)
    • ►  December (2)
  • ►  2021 (2)
    • ►  April (2)
  • ►  2020 (18)
    • ►  November (1)
    • ►  September (8)
    • ►  August (1)
    • ►  June (8)
  • ►  2019 (18)
    • ►  December (1)
    • ►  November (2)
    • ►  September (3)
    • ►  May (8)
    • ►  February (1)
    • ►  January (3)
  • ►  2018 (3)
    • ►  November (1)
    • ►  October (1)
    • ►  January (1)
  • ►  2017 (2)
    • ►  November (1)
    • ►  March (1)
  • ►  2016 (5)
    • ►  December (1)
    • ►  April (3)
    • ►  February (1)
  • ►  2015 (15)
    • ►  December (1)
    • ►  October (1)
    • ►  August (2)
    • ►  July (4)
    • ►  June (2)
    • ►  May (3)
    • ►  January (2)
  • ►  2014 (13)
    • ►  December (1)
    • ►  November (2)
    • ►  October (4)
    • ►  August (5)
    • ►  January (1)
  • ►  2013 (5)
    • ►  September (2)
    • ►  May (1)
    • ►  February (1)
    • ►  January (1)
  • ►  2012 (19)
    • ►  November (1)
    • ►  October (2)
    • ►  September (1)
    • ►  July (1)
    • ►  June (6)
    • ►  May (1)
    • ►  April (2)
    • ►  February (3)
    • ►  January (2)
  • ►  2011 (20)
    • ►  December (5)
    • ►  August (2)
    • ►  June (6)
    • ►  May (4)
    • ►  April (2)
    • ►  January (1)
  • ►  2010 (41)
    • ►  December (2)
    • ►  November (1)
    • ►  September (5)
    • ►  August (2)
    • ►  July (1)
    • ►  June (1)
    • ►  May (8)
    • ►  April (2)
    • ►  March (3)
    • ►  February (5)
    • ►  January (11)
  • ►  2009 (113)
    • ►  December (2)
    • ►  November (5)
    • ►  October (11)
    • ►  September (1)
    • ►  August (14)
    • ►  July (5)
    • ►  June (10)
    • ►  May (4)
    • ►  April (7)
    • ►  March (11)
    • ►  February (15)
    • ►  January (28)
  • ►  2008 (61)
    • ►  December (7)
    • ►  September (6)
    • ►  August (1)
    • ►  July (17)
    • ►  June (6)
    • ►  May (24)
  • ►  2006 (7)
    • ►  October (7)

Blog Archives Categories

  • .NET DEVELOPMENT (38)
  • 5G (5)
  • AI (Artificial Intelligence) (16)
  • AI/ML (10)
  • ANDROID DEVELOPMENT (7)
  • BIG DATA ANALYTICS (6)
  • C PROGRAMMING (7)
  • C++ PROGRAMMING (24)
  • CAREER MANAGEMENT (6)
  • CHROME DEVELOPMENT (2)
  • CLOUD COMPUTING (47)
  • CODE REVIEWS (3)
  • CYBERSECURITY (12)
  • DATA SCIENCE (4)
  • DATABASE (14)
  • DESIGN PATTERNS (9)
  • DEVICE DRIVERS (5)
  • DIY (3)
  • DOMAIN KNOWLEDGE (14)
  • EDGE COMPUTING (4)
  • EMBEDDED SYSTEMS (9)
  • ENTERPRISE ARCHITECTURE (10)
  • IMAGE PROCESSING (3)
  • INTERNET OF THINGS (2)
  • J2EE PROGRAMMING (10)
  • KERNEL DEVELOPMENT (6)
  • KUBERNETES (20)
  • LATEST TECHNOLOGY (25)
  • LINUX (9)
  • MAC OPERATING SYSTEM (2)
  • MOBILE APPLICATION DEVELOPMENT (14)
  • PORTING (4)
  • PYTHON PROGRAMMING (6)
  • RESEARCH AND DEVELOPMENT (1)
  • SCRIPTING LANGUAGES (8)
  • SERVICE ORIENTED ARCHITECTURE (SOA) (10)
  • SOFTWARE DESIGN (13)
  • SOFTWARE QUALITY (5)
  • SOFTWARE SECURITY (24)
  • SYSTEM and NETWORK ADMINISTRATION (4)
  • SYSTEM PROGRAMMING (4)
  • TECHNICAL MISCELLANEOUS (32)
  • TECHNOLOGY INTEGRATION (5)
  • TEST AUTOMATION (5)
  • UNIX OPERATING SYSTEM (4)
  • VC++ PROGRAMMING (44)
  • VIRTUALIZATION (8)
  • WEB PROGRAMMING (8)
  • WINDOWS OPERATING SYSTEM (13)
  • WIRELESS DEVELOPMENT (5)
  • XML (3)

Popular Posts

  • REST vs GraphQL
  • DACL - Discretionary Access Control List
  • Uninstall Kubernetes on CentOS Shell Script
  • Nautobot: Opensource Network Source of Truth (NSoT) and Network Automation Platform

My Other Blogs/Channels

  • Career Management: Invest in Yourself
  • A la carte: Color your Career
  • Attitude is everything(Telugu language)
  • "Invest in Yourself" Youtube Channel (Telugu language)
WINNING vs LOSING

Hanging on, persevering, WINNING
Letting go, giving up easily, LOSING

Accepting responsibility for your actions, WINNING
Always having an excuse for your actions, LOSING

Taking the initiative, WINNING
Waiting to be told what to do, LOSING

Knowing what you want and setting goals to achieve it, WINNING
Wishing for things, but taking no action, LOSING

Seeing the big picture, and setting your goals accordingly, WINNING
Seeing only where you are today, LOSING

Being determined, unwilling to give up WINNING
Gives up easily, LOSING

Having focus, staying on track, WINNING
Allowing minor distractions to side track them, LOSING

Having a positive attitude, WINNING
having a "poor me" attitude, LOSING

Adopt a WINNING attitude!

Total Pageviews

Who am I

My photo
Krishna Kishore Koney

Blogging is about ideas, self-discovery, and growth. This is a small effort to grow outside my comfort zone.

Most important , A Special Thanks to my parents(Sri Ramachandra Rao & Srimathi Nagamani), my wife(Roja), my lovely daughter (Hansini) and son (Harshil) for their inspiration and continuous support in developing this Blog.

... "Things will never be the same again. An old dream is dead and a new one is being born, as a flower that pushes through the solid earth. A new vision is coming into being and a greater consciousness is being unfolded" ... from Jiddu Krishnamurti's Teachings.

Now on disclaimer :
1. Please note that my blog posts reflect my perception of the subject matter and do not reflect the perception of my Employer.

2. Most of the times the content of the blog post is aggregated from Internet articles and other blogs which inspired me. Due respect is given by mentioning the referenced URLs below each post.

Have a great time

My LinkedIn Profile
View my complete profile

Aryaka Insights

Loading...

Reid Hoffman - YOUTUBE

Loading...

Martin Fowler's Bliki - BLOG

Loading...

The Pragmatic Engineer

Loading...

AI Workshop

Loading...

CYBER SECURITY - YOUTUBE

Loading...

CYBER SECURITY FUNDAMENTALS PROF MESSER - YOUTUBE

Loading...