A device may receive information identifying existing virtual network functions (VNFs) associated with an existing virtual radio access network (VRAN), and may receive information identifying proposed VNFs to deploy with the existing VRAN, wherein the information identifying the proposed VNFs includes VNF descriptors indicating interface dependencies associated with the proposed VNFs. The device may generate testing configurations, for testing the proposed VNFs, based on the interface dependencies, and may determine that a set of the proposed VNFs are validated based on testing the proposed VNFs with the testing configurations. The device may derive dependency constraints for the set of the proposed VNFs based on the information identifying the existing VNFs, and may select a new VNF that satisfies the dependency constraints, based on the set of the proposed VNFs. The device may cause the new VNF to be deployed with the existing VRAN.
|
15. A non-transitory computer-readable medium storing instructions, the instructions comprising:
one or more instructions that, when executed by one or more processors, cause the one or more processors to:
receive information identifying existing virtual network functions associated with an existing virtual radio access network;
receive information identifying proposed virtual network functions to deploy with the existing virtual radio access network,
wherein the information identifying the proposed virtual network functions includes virtual network function descriptors indicating interface dependencies associated with the proposed virtual network functions;
identify a set of proposed virtual network functions, from the proposed virtual network functions to deploy with the existing virtual radio access network, based on the interface dependencies indicated by the virtual network function descriptors;
derive dependency constraints for the set of the proposed virtual network functions based on the information identifying the existing virtual network functions;
select a plurality of new virtual network functions that satisfies the dependency constraints, based on the set of the proposed virtual network functions; and
cause the plurality of new virtual network functions to be deployed with the existing virtual radio access network.
1. A method, comprising:
receiving, by a device, information identifying existing virtual network functions associated with an existing virtual radio access network;
receiving, by the device, information identifying proposed virtual network functions to deploy with the existing virtual radio access network,
wherein the information identifying the proposed virtual network functions includes virtual network function descriptors indicating interface dependencies associated with the proposed virtual network functions;
generating, by the device, testing configurations, for testing the proposed virtual network functions, based on the interface dependencies indicated by the virtual network function descriptors;
determining, by the device, that a set of the proposed virtual network functions are validated based on testing the proposed virtual network functions with the testing configurations;
deriving, by the device, dependency constraints for the set of the proposed virtual network functions based on the information identifying the existing virtual network functions;
selecting, by the device, at least one new virtual network function that satisfies the dependency constraints, based on the set of the proposed virtual network functions,
wherein the at least one new virtual network function is to be deployed with the existing virtual radio access network; and
causing, by the device, the at least one new virtual network function to be deployed with the existing virtual radio access network.
8. A device, comprising:
one or more memories; and
one or more processors, communicatively coupled to the one or more memories, configured to:
receive information identifying existing virtual network functions associated with an existing virtual radio access network;
receive information identifying proposed virtual network functions to deploy with the existing virtual radio access network,
wherein the information identifying the proposed virtual network functions includes virtual network function descriptors indicating interface dependencies associated with the proposed virtual network functions;
generate testing configurations, for testing the proposed virtual network functions, based on the interface dependencies indicated by the virtual network function descriptors;
determine that a set of the proposed virtual network functions are validated based on testing the proposed virtual network functions with the testing configurations;
derive dependency constraints for the set of the proposed virtual network functions based on the information identifying the existing virtual network functions;
select at least one new virtual network function that satisfies the dependency constraints, based on the set of the proposed virtual network functions,
wherein the at least one new virtual network function is to be deployed with the existing virtual radio access network;
generate a new deployment layout based on the at least one new virtual network function; and
cause the new deployment layout to be implemented with the existing virtual radio access network.
2. The method of
including information identifying the interface dependencies with the information identifying the set of the proposed virtual network functions.
3. The method of
selecting, the at least one new virtual network function from a catalog identifying a plurality of predetermined virtual network functions.
4. The method of
a parameter indicating a policy rule for deployment of the at least one new virtual network function,
a parameter indicating a licensing rule for the deployment of the at least one new virtual network function, or
a parameter indicating a user preference for the deployment of the at least one new virtual network function.
5. The method of
generating a new deployment layout for the plurality of new virtual network functions; and
causing the new deployment layout to be implemented with the existing virtual radio access network.
6. The method of
an interface name,
a virtual network function name, and
a version associated with the virtual network function name.
7. The method of
causing a service, associated with the at least one new virtual network function, to be implemented.
9. The device of
constraints indicating interfaces to utilize with the existing virtual network functions,
a constraint based on a geographic location associated with the existing virtual radio access network,
a constraint based on resource availability associated with the existing virtual radio access network, or
a constraint based on slice capabilities associated with the existing virtual radio access network.
10. The device of
11. The device of
cause one or more interfaces to be established between the at least one new virtual network function and one or more of the existing virtual network functions; and
cause a service to be provided by the at least one new virtual network function and the one or more of the existing virtual network functions.
12. The device of
13. The device of
one or more virtual centralized units, and
one or more distributed units.
14. The device of
determine that a first set of the proposed virtual network functions are not validated based on testing the proposed virtual network functions with the testing configurations; and
determine that a second set of the proposed virtual network functions are validated based on testing the proposed virtual network functions with the testing configurations,
wherein the second set of the proposed virtual network functions corresponds to the set of the proposed virtual network functions.
16. The non-transitory computer-readable medium of
select, based on one or more parameters, the plurality of new virtual network functions from a catalog identifying a plurality of predetermined virtual network functions,
wherein the one or more parameters include one or more of:
a parameter indicating a policy rule for deployment of the plurality of new virtual network functions,
a parameter indicating a licensing rule for the deployment of the plurality of new virtual network functions, or
a parameter indicating a user preference for the deployment of the plurality of new virtual network functions.
17. The non-transitory computer-readable medium of
generate a new deployment layout for the plurality of new virtual network functions; and
cause the new deployment layout to be implemented with the existing virtual radio access network.
18. The non-transitory computer-readable medium of
an interface name,
a virtual network function name, and
a version associated with the virtual network function name.
19. The non-transitory computer-readable medium of
constraints indicating interfaces to utilize with the existing virtual network functions,
a constraint based on a geographic location associated with the existing virtual radio access network,
a constraint based on resource availability associated with the existing virtual radio access network, or
a constraint based on slice capabilities associated with the existing virtual radio access network.
20. The non-transitory computer-readable medium of
cause one or more interfaces to be established between the plurality of new virtual network functions and one or more of the existing virtual network functions; and
cause a service to be provided by the plurality of new virtual network functions and the one or more of the existing virtual network functions.
|
Network functions virtualization management and orchestration (NFV-MANO) is an architectural framework for managing and orchestrating virtualized network functions (VNFs) and other software components. The NFV-MANO architecture facilitates deployment and connection of services that are removed from dedicated physical devices and moved to virtual machines (VMs).
The following detailed description of example implementations refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.
The NFV-MANO architecture includes a format for a VNF descriptor (VNFD) and a format for overall VNF packaging. These formats are intended to assist with onboarding, cataloging, and deploying VNFs. However, these may unnecessarily limit the definitions to a VNF to be deployed, without considering relationships and dependency constraints associated with existing VNFs provided in a network. Such limitations significantly impact an ability to automate deployment of complex network service chains in networks, such as a fifth generation (5G) network. Without automation, a massive deployment of small cells (e.g., represented by VNFs) in a network is impractical, and on-demand topological changes to the network are impossible. This wastes computing resources (e.g., processing resources, memory resources, and/or the like), communication resources, networking resources, and/or the like associated with unsuccessfully attempting to implement changes to existing networks with VNFs, deploy new VNFs in the existing networks, generate a new network with new VNFs, and/or the like.
Some implementations described herein provide a device (e.g., an NFV-MANO) that automatically packages and deploys VNFs in a network based on network interface dependencies and/or compatibilities. For example, the NFV-MANO may receive information identifying existing VNFs associated with an existing virtual radio access network (VRAN), and may receive information identifying proposed VNFs to deploy with the existing VRAN. The information identifying the proposed VNFs may include VNF descriptors indicating interface dependencies associated with the proposed VNFs. The NFV-MANO may generate testing configurations, for testing the proposed VNFs, based on the interface dependencies indicated by the VNF descriptors, and may determine that a set of the proposed VNFs are validated based on testing the proposed VNFs with the testing configurations. The NFV-MANO may derive dependency constraints for the set of the proposed VNFs based on the information identifying the existing VNFs, and may select at least one new VNF that satisfies the dependency constraints, based on the set of the proposed VNFs. The NFV-MANO may generate a new deployment layout based on the at least one new VNF, and may cause the new deployment layout to be implemented with the existing VRAN.
In this way, by including network interface dependencies and/or compatibilities in VNF descriptors, the NFV-MANO may automatically package and deploy VNFs in a network. The NFV-MANO may provide a real-time, on-demand solution that enables proper interconnectivity of new VNFs in the network with existing VNFs for utilization efficiency, mobility support, and/or the like. Thus, the NFV-MANO conserves computing resources, communication resources, networking resources, and/or the like that would otherwise be wasted unsuccessfully attempting to implement changes to existing networks with VNFs, deploy new VNFs in the existing networks, generate a new network with new VNFs, and/or the like.
As shown in
In some implementations, the existing VNFs may include VNFs representing one or more CUs and one or more DUs. For example, the existing VNFs may include a first control plane CU (CU-CP) VNF, a second CU-CP VNF, a user plane CU (CU-UP) VNF, and a DU VNF. The DU VNF may be associated with one or more radio transmitters (e.g., base stations). Interfaces may be provided between the VNFs of VRAN 110 and between the VNFs and the radio transmitters. For example, a first interface may be provided between the first CU-CP VNF and the second CU-CP VNF (e.g., an Xn-C interface), a second interface may be provided between the second CU-CP VNF and the CU-UP VNF (e.g., an E1 interface), a third interface may be provided between the second CU-CP VNF and the DU VNF (e.g., an F1-C interface), a fourth interface may be provided between the CU-UP VNF and the DU VNF (e.g., an F1-U interface), a fifth interface may be provided between the DU VNF and the first radio transmitter (e.g., an FH interface), a sixth interface may be provided between the DU VNF and the second radio transmitter (e.g., an FH interface), and/or the like.
As further shown in
As shown in
In some implementations, each of the interface dependencies may include information identifying an interface name, a VNF name associated with the interface name, a version identifier associated with the VNF name, a plurality of VNF names associated with the interface name, a plurality of version identifiers associated with the plurality of VNF names, and/or the like. In some implementations, each interface name, VNF name, version identifier, and/or the like may be represented as a tuple or in another format. For example, each interface dependency may include an interface name and a plurality of tuples that identify a plurality of VNF names associated with the interface name and a plurality of version identifiers associated with the plurality of VNF names. When a proposed VNF that is fully compliant with a specific version of a standard (e.g., the Third Generation Partnership Project (3GPP), the Open Radio Access Network (O-RAN) Alliance, the European Telecommunications Standards Institute (ETSI), and/or the like), an interface dependency may include information indicating that a VNF that strictly complies with the specific version of the standard will be compatible with the proposed VNF.
As further shown in
As further shown in
As shown in
As shown in
As shown in
As shown in
For example, NFV-MANO 120 may determine which interfaces to utilize between the existing VNFs and the validated proposed VNFs based on determining which interfaces, identified by the interface dependencies associated with the validated proposed VNFs, are capable of being utilized between the existing VNFs and the validated proposed VNFs. In another example, NFV-MANO 120 may determine the geographic location of VRAN 110, and may determine whether the geographic location prevents utilization of any of the interfaces identified by the interface dependencies associated with the validated proposed VNFs (e.g., fourth generation (4G) network interfaces may not be utilized in a 5G network). In another example, NFV-MANO 120 may determine the resource availability of VRAN 110, and may determine whether the resource availability prevents utilization of any of the interfaces identified by the interface dependencies associated with the validated proposed VNFs.
As shown in
As further shown in
As shown in
As shown in
As further shown in
In this way, by including network interface dependencies and/or compatibilities in VNF descriptors, NFV-MANO 120 automatically packages and deploys VNFs in a network, such as a 5G network. NFV-MANO 120 provides a real-time, on-demand solution that enables proper interconnectivity of new VNFs in the network with existing VNFs for utilization efficiency, mobility support, and/or the like. Thus, NFV-MANO 120 conserves computing resources, communication resources, networking resources, and/or the like that would otherwise be wasted unsuccessfully attempting to implement changes to existing networks with VNFs, deploy new VNFs in the existing networks, generate a new network with new VNFs, and/or the like.
As indicated above,
User device 105 includes one or more devices capable of receiving, generating, storing, processing, and/or providing information, such as information described herein. For example, user device 105 can include a mobile phone (e.g., a smart phone, a radiotelephone, and/or the like), a laptop computer, a tablet computer, a desktop computer, a handheld computer, a gaming device, a wearable communication device (e.g., a smart watch, a pair of smart glasses, and/or the like), a mobile hotspot device, a fixed wireless access device, customer premises equipment, an autonomous vehicle, or a similar type of device.
VRAN 110 may support, for example, a cellular radio access technology (RAT). VRAN 110 may include multiple centralized unit (CUs), multiple distributed units (DUs), multiple radio transmitters, and/or the like. A CU may coordinate access control and communication with regard to multiple DUs. A DU may provide user devices 105 and/or other VRANs 110 with access to data network 255 via core network 115. The radio transmitters may include base stations (e.g., base transceiver stations, radio base stations, node Bs, eNodeBs (eNBs), gNodeBs (gNBs), base station subsystems, cellular sites, cellular towers, access points, transmit receive points (TRPs), radio access nodes, macrocell base stations, microcell base stations, picocell base stations, femtocell base stations, or similar types of devices) and other network entities that can support wireless communication for user device 105. VRAN 110 may transfer traffic between user device 105 (e.g., using a cellular RAT), base stations (e.g., using a wireless interface or a backhaul interface, such as a wired backhaul interface), and/or core network 115. VRAN 110 may provide one or more cells that cover geographic areas.
In some implementations, VRAN 110 may perform scheduling and/or resource management for user devices 105 covered by VRAN 110 (e.g., user devices 105 covered by a cell provided by VRAN 110). In some implementations, VRAN 110 may be controlled or coordinated by a network controller, which may perform load balancing, network-level configuration, and/or the like. The network controller may communicate with VRAN 110 via a wireless or wireline backhaul. In some implementations, VRAN 110 may include a network controller, a self-organizing network (SON) module or component, or a similar module or component. In other words, VRAN 110 may perform network control, scheduling, and/or network management functions (e.g., for uplink, downlink, and/or sidelink communications of user devices 105 covered by VRAN 110).
In some implementations, core network 115 may include an example functional architecture in which systems and/or methods described herein may be implemented. For example, core network 115 may include an example architecture of a fifth generation (5G) next generation (NG) core network included in a 5G wireless telecommunications system. While the example architecture of core network 115 shown in
As shown in
NSSF 205 includes one or more devices that select network slice instances for user device 105. By providing network slicing, NSSF 205 allows an operator to deploy multiple substantially independent end-to-end networks potentially with the same infrastructure. In some implementations, each slice may be customized for different services.
NEF 210 includes one or more devices that support exposure of capabilities and/or events in the wireless telecommunications system to help other entities in the wireless telecommunications system discover network services.
AUSF 215 includes one or more devices that act as an authentication server and support the process of authenticating user devices 105 in the wireless telecommunications system.
UDM 220 includes one or more devices that store user data and profiles in the wireless telecommunications system. UDM 220 may be used for fixed access, mobile access, and/or the like, in core network 115.
PCF 225 includes one or more devices that provide a policy framework that incorporates network slicing, roaming, packet processing, mobility management, and/or the like.
AF 230 includes one or more devices that support application influence on traffic routing, access to NEF 210, policy control, and/or the like.
AMF 235 includes one or more devices that act as a termination point for non-access stratum (NAS) signaling, mobility management, and/or the like.
SMF 240 includes one or more devices that support the establishment, modification, and release of communications sessions in the wireless telecommunications system. For example, SMF 240 may configure traffic steering policies at UPF 245, enforce user device IP address allocation and policies, and/or the like.
UPF 245 includes one or more devices that serve as an anchor point for intraRAT and/or interRAT mobility. UPF 245 may apply rules to packets, such as rules pertaining to packet routing, traffic reporting, handling user plane QoS, and/or the like.
Message bus 250 represents a communication structure for communication among the functional elements. In other words, message bus 250 may permit communication between two or more functional elements.
NFV-MANO 120 is an architectural framework for managing and orchestrating VNFs and other software components. NFV-MANO 120 facilitates deployment and connection of services that are removed from dedicated physical devices and moved to virtual machines (VMs). NFV-MANO 120 includes functional blocks, such as an NFV orchestrator, a VNF manager, a virtualized infrastructure manager (VIM), and/or the like. The functional blocks are responsible for deploying and connecting functions and services when the functions and services are needed throughout a network. The NFV orchestrator includes a service orchestration layer and a resource orchestration layer that control integration of new network services and VNFs into a virtual framework. The NFV orchestrator also validates and authorizes NFV infrastructure (NFVI) resource requests. The VNF manager oversees a lifecycle of VNF instances. The VIM controls and manages NFV infrastructure, which encompasses compute, storage, network resources, and/or the like.
NFV-MANO 120 works with templates for standard VNFs so that users can select from existing network functions virtualization infrastructure (NFVi) resources to deploy an NFV platform. NFV-MANO 120 may be integrated with application program interfaces (APIs) in existing systems in order to work with multivendor technologies across multiple network domains. In some implementations, NFV-MANO 120 may perform the functions described above in connection with
Data network 255 includes one or more wired and/or wireless data networks. For example, data network 255 may include an IP Multimedia Subsystem (IMS), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a private network such as a corporate intranet, an ad hoc network, the Internet, a fiber optic-based network, a cloud computing network, a third party services network, an operator services network, and/or the like, and/or a combination of these or other types of networks.
The number and arrangement of devices and networks shown in
Bus 310 includes a component that permits communication among the components of device 300. Processor 320 is implemented in hardware, firmware, or a combination of hardware and software. Processor 320 is a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or another type of processing component. In some implementations, processor 320 includes one or more processors capable of being programmed to perform a function. Memory 330 includes a random-access memory (RAM), a read only memory (ROM), and/or another type of dynamic or static storage device (e.g., a flash memory, a magnetic memory, and/or an optical memory) that stores information and/or instructions for use by processor 320.
Storage component 340 stores information and/or software related to the operation and use of device 300. For example, storage component 340 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optic disk, and/or a solid-state disk), a compact disc (CD), a digital versatile disc (DVD), a floppy disk, a cartridge, a magnetic tape, and/or another type of non-transitory computer-readable medium, along with a corresponding drive.
Input component 350 includes a component that permits device 300 to receive information, such as via user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, and/or a microphone). Additionally, or alternatively, input component 350 may include a sensor for sensing information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, and/or an actuator). Output component 360 includes a component that provides output information from device 300 (e.g., a display, a speaker, and/or one or more light-emitting diodes (LEDs)).
Communication interface 370 includes a transceiver-like component (e.g., a transceiver and/or a separate receiver and transmitter) that enables device 300 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communication interface 370 may permit device 300 to receive information from another device and/or provide information to another device. For example, communication interface 370 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, and/or the like.
Device 300 may perform one or more processes described herein. Device 300 may perform these processes based on processor 320 executing software instructions stored by a non-transitory computer-readable medium, such as memory 330 and/or storage component 340. A computer-readable medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.
Software instructions may be read into memory 330 and/or storage component 340 from another computer-readable medium or from another device via communication interface 370. When executed, software instructions stored in memory 330 and/or storage component 340 may cause processor 320 to perform one or more processes described herein. Additionally, or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
The number and arrangement of components shown in
As shown in
As further shown in
As further shown in
As further shown in
As further shown in
As further shown in
As further shown in
Process 400 may include additional implementations, such as any single implementation or any combination of implementations described below and/or in connection with one or more other processes described elsewhere herein.
In some implementations, the at least one new virtual network function may include a plurality of new virtual network functions, and process 400 may further include generating a new deployment layout for the plurality of new virtual network functions; and causing the new deployment layout to be implemented with the existing virtual radio access network. Causing the new deployment layout to be implemented with the existing virtual radio access network may include process 400 causing one or more interfaces to be established between the plurality of new virtual network functions and one or more of the existing virtual network functions, and causing a service to be provided by the plurality of new virtual network functions and the one or more of the existing virtual network functions. The one or more interfaces may be compatible with the one or more of the existing virtual network functions.
In some implementations, process 400 may include causing a service, associated with the at least one new virtual network function, to be implemented.
Although
The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise form disclosed. Modifications and variations may be made in light of the above disclosure or may be acquired from practice of the implementations.
As used herein, the term “component” is intended to be broadly construed as hardware, firmware, or a combination of hardware and software.
To the extent the aforementioned implementations collect, store, or employ personal information of individuals, it should be understood that such information shall be used in accordance with all applicable laws concerning protection of personal information. Additionally, the collection, storage, and use of such information can be subject to consent of the individual to such activity, for example, through well known “opt-in” or “opt-out” processes as can be appropriate for the situation and type of information. Storage and use of personal information can be in an appropriately secure manner reflective of the type of information, for example, through various encryption and anonymization techniques for particularly sensitive information.
It will be apparent that systems and/or methods, described herein, may be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and/or methods is not limiting of the implementations. Thus, the operation and behavior of the systems and/or methods were described herein without reference to specific software code—it being understood that software and hardware may be designed to implement the systems and/or methods based on the description herein.
Even though particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of various implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim listed below may directly depend on only one claim, the disclosure of various implementations includes each dependent claim in combination with every other claim in the claim set.
No element, act, or instruction used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles “a” and “an” are intended to include one or more items, and may be used interchangeably with “one or more.” Furthermore, as used herein, the term “set” is intended to include one or more items (e.g., related items, unrelated items, a combination of related and unrelated items, etc.), and may be used interchangeably with “one or more.” Where only one item is intended, the phrase “only one” or similar language is used. Also, as used herein, the terms “has,” “have,” “having,” or the like are intended to be open-ended terms. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.
Nahata, Hans Raj, Potluri, Ravi
Patent | Priority | Assignee | Title |
11394618, | Apr 09 2020 | Verizon Patent and Licensing Inc. | Systems and methods for validation of virtualized network functions |
11895002, | Nov 16 2020 | Juniper Networks, Inc | Active assurance for virtualized services |
11936548, | Nov 16 2020 | Juniper Networks, Inc | Active assurance for virtualized services |
12074780, | Nov 16 2020 | Juniper Networks, Inc | Active assurance of network slices |
Patent | Priority | Assignee | Title |
9794160, | Jan 14 2015 | AMDOCS DEVELOPMENT LIMITED; Amdocs Software Systems Limited | System, method, and computer program for testing composite services in a communication network utilizing test data |
20170272523, | |||
20180121335, | |||
20190104047, | |||
20200267072, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Oct 07 2019 | NAHATA, HANS RAJ | Verizon Patent and Licensing Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 050689 | /0924 | |
Oct 09 2019 | POTLURI, RAVI | Verizon Patent and Licensing Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 050689 | /0924 | |
Oct 10 2019 | Verizon Patent and Licensing Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Oct 10 2019 | BIG: Entity status set to Undiscounted (note the period is included in the code). |
Nov 06 2024 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
May 18 2024 | 4 years fee payment window open |
Nov 18 2024 | 6 months grace period start (w surcharge) |
May 18 2025 | patent expiry (for year 4) |
May 18 2027 | 2 years to revive unintentionally abandoned end. (for year 4) |
May 18 2028 | 8 years fee payment window open |
Nov 18 2028 | 6 months grace period start (w surcharge) |
May 18 2029 | patent expiry (for year 8) |
May 18 2031 | 2 years to revive unintentionally abandoned end. (for year 8) |
May 18 2032 | 12 years fee payment window open |
Nov 18 2032 | 6 months grace period start (w surcharge) |
May 18 2033 | patent expiry (for year 12) |
May 18 2035 | 2 years to revive unintentionally abandoned end. (for year 12) |