Edge Cloud Application Backup

The use of 5G RLC channels for selective data snapshot management in edge cloud environments addresses the need for efficient application snapshot management, optimizing storage and computation by ensuring accurate data tracking and backup while enhancing user control over edge computing.

JP2024546598AActive Publication Date: 2024-12-26INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2024530406
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2021-12-10
Filing Date
2022-11-21
Publication Date
2024-12-26
Estimated Expiration
2042-11-21

AI Technical Summary

Technical Problem

Existing 5G telecommunications networks lack effective methods for managing application snapshots in a selective and efficient manner, particularly for edge cloud environments, which are crucial for data backup and recovery, as well as testing new application versions.

Method used

Utilizing fifth-generation Radio Link Control (RLC) channels for in-band selective data snapshot management, where RLC channels are allocated and managed by a virtual network function module to create application-level snapshots based on defined policies, enabling selective data tracking and storage optimization.

Benefits of technology

This approach enhances data storage efficiency by minimizing storage requirements and computational overhead, ensuring critical data is accurately tracked and backed up, while providing a seamless user experience and enabling user-defined control over edge computing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2024546598000001_ABST
    Figure 2024546598000001_ABST
Patent Text Reader

Abstract

In a methodology for in-band selective data snapshot using fifth generation (5G) radio link control (RLC) channels for edge-cloud application backup, a processor creates one or more RLC channels for forwarding network data packets in a telecommunications network using network slicing techniques. The processor assigns the one or more RLC channels to one or more applications in a user device for dedicated packet routing requirements. The processor maps the corresponding RLC channels and applications to respective corresponding identifiers. The processor monitors the one or more applications for backup. In response to receiving a backup request for the application, the processor creates a copy of a data store associated with the application based on changes monitored in the one or more applications.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates generally to the field of application backup, and more particularly, to in-band selective data snapshots using fifth-generation (5G) radio link control (RLC) channels for edge-to-cloud application backup. [Background technology]

[0002] In telecommunications, 5G is the fifth generation technology standard for broadband cellular networks. 5G networks are cellular networks whose service areas are divided into small geographic areas called cells. All 5G wireless devices within a cell will be connected to the Internet and telephone networks by radio waves through local antennas in the cell. The main advantage of the new networks is that they will have a higher bandwidth, resulting in faster download speeds, eventually up to 10 gigabits per second. Due to the increased bandwidth, 5G networks may increasingly be used as general Internet service providers for laptop and desktop computers and may enable new applications in the fields of the Internet of Things (IoT) and machine-to-machine.

[0003] Edge computing is achieved by computing servers located closer to the end user. Edge computing may reduce latency and data traffic congestion. One definition of edge computing is any type of computer program that achieves low latency closer to the request. Edge computing may be defined as broadly as any computing outside the cloud that takes place at the edge of the network, more specifically, any computing in applications where real-time processing of data is required. Cloud computing may operate on big data, whereas edge computing may operate on "instant data", which is real-time data generated by sensors or users. Data stores may be repositories for persistent storage and management of collections of data, including database-like repositories as well as simpler store types such as simple files, emails, etc. Summary of the Invention

[0004] Aspects of an embodiment of the present disclosure disclose an in-band selective data snapshot technique using fifth generation (5G) radio link control (RLC) channels for edge-cloud application backup, in which a processor creates one or more RLC channels for forwarding network data packets in a telecommunications network using network slicing techniques. The processor assigns the one or more RLC channels to one or more applications in a user device for dedicated packet routing requirements. The processor maps the corresponding RLC channels and applications to respective corresponding identifiers. The processor monitors the one or more applications for backup. In response to receiving a backup request for the application, the processor creates a copy of a data store associated with the application based on changes monitored in the one or more applications. [Brief description of the drawings]

[0005] [Figure 1] FIG. 1 is a functional block diagram illustrating an edge cloud application backup environment according to one embodiment of the present disclosure. [Diagram 2] 2 is a flow diagram illustrating operational steps of a virtual network function module in the computing device of FIG. 1 according to one embodiment of the present disclosure. [Diagram 3] FIG. 2 is an exemplary functional diagram of a virtual network function module within the computing device of FIG. 1 in accordance with the present disclosure. [Figure 4] FIG. 1 is an exemplary functional diagram of a user device according to one embodiment of the present disclosure. [Diagram 5] FIG. 2 is an exemplary functional diagram of a data store according to one embodiment of the present disclosure. [Figure 6] FIG. 2 illustrates an example service path for a virtual network function module in the computing device of FIG. 1 in accordance with one embodiment of the present disclosure. [Figure 7]FIG. 2 is an exemplary functional diagram of a virtual network function module within the computing device of FIG. 1 in accordance with one embodiment of the present disclosure. [Figure 8] FIG. 2 is a block diagram of components of the user device and computing device of FIG. 1 in accordance with one embodiment of the present disclosure. [Figure 9] FIG. 1 illustrates one embodiment of a cloud computing environment according to the present disclosure. [Figure 10] FIG. 1 illustrates one embodiment of abstraction model layers of a cloud computing environment according to the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0006] The present disclosure is directed to systems and methods for in-band selective data snapshots using fifth-generation (5G) radio link control (RLC) channels for edge-to-cloud application backup.

[0007] The embodiments of the present disclosure recognize the need to provide effective application snapshot management in 5G telecommunication networks. Snapshot techniques may propose to create multiple copies of data that can be used to restore content if the most recent copy detects a failure or application level inconsistency. Furthermore, snapshots may also serve additional purposes such as testing new versions of an application with dummy data captured in older snapshots. The embodiments of the present disclosure disclose providing application data snapshots in a selective manner that is controllable by an application. The embodiments of the present disclosure disclose that an application controls selective elements that participate in remote snapshots based on defined policies. The embodiments of the present disclosure disclose identifying snapshot requirements in an internal 5G core cloud network by engaging a logical RLC channel. The embodiments of the present disclosure disclose monitoring applications that require a snap and managing triggering, restoring, and refining chain element operations accordingly using virtual network function calls. When a snapshot of any application is triggered, an empty data store is created and all subsequent changes are tracked. When any new write packets arrive in the same application data store, the old data grains may be moved to a copy data store and the incoming packet data may be written to the original location.

[0008] Embodiments of the present disclosure disclose methods and systems that operate in conjunction with 5G radio link control channel management and payload processing in an end user device to provide a method of selective snapshot of an application based on a radio link control channel parameter handshake. Embodiments of the present disclosure disclose a thin device driver layer implemented in an end user system that has knowledge of applications and RLC channel mappings to the applications. Embodiments of the present disclosure disclose creating multiple radio link control channels from an end user device and allocating the multiple radio link control channels to applications for dedicated packet routing requirements. Embodiments of the present disclosure disclose using the multiple radio link control channels to determine snapshots on data grains in a virtual network function of a 5G telecommunications network. Embodiments of the present disclosure disclose a virtual network function of a 5G network that maintains an allowed list of snapshot-enabled channels that communicate from the air interface and are extended to bearers (e.g., S1 bearers). The S1 bearers may provide connectivity between a base station (e.g., an evolved Node B or eNodeB) and a home serving gateway. An eNodeB may be a hardware connected to a cellular network that communicates wirelessly directly with cellular handsets, such as a base transceiver station in the network. The virtual network function may maintain a map of all logical IDs for which application-level snapshots are activated, and accordingly triggers the initial (e.g., denoted as T0) data copy management in the core / edge cloud when any new write packet is received for the respective application. An end-user level instance may manage all applications subscribed to 5G application selective space-saving snapshots (e.g., FlashCopy), and the routing of incoming packets to the Service Data Adaptation Protocol (SDAP) layer is managed.When an application packet reaches the SDAP layer in the end user device, it may first check the workload type, such as read or write. Data read operations over the network do not affect the internal copy, so the internal copy may be routed to the normal path. If the application is writing data to a remote data store allocation, the instance in the end user device queries the application's copy management requirements for the received grain pack. The application may keep its own data structures with policies defined for specific data where snapshot (e.g., FlashCopy) requirement is "yes" or "no". This information applies in case of application level radio link control channel. In case of radio link control channel allocation on a system without a base operating system or installed applications (e.g., bare metal), the packet data may be handed over to the SDAP with an additional system flag indicating the requirement of copy management action on the internal cloud system.

[0009] The embodiments of the present disclosure disclose an RLC channel selection that may be performed by an application based on whether the initiated write pack requires data retention in an application level packet transmission approach. If the newly written data location is not important for tracking changes, the RLC channel selection may select a designated non-traceable RLC channel for the packet. The packet may be sent to the RLC layer with a defined RLC identifier that may have a setting to not track application level snapshot changes in the cloud. On the other hand, if the application is writing sensitive information that must be tracked, the packet may be wrapped in a designated RLC header with a defined identifier for tracking enablement. In the case of bare metal channel allocation policy, when the message and packet are received at the SDAP, the RLC channel selection may select an RLC instance based on the nature of the tracking requirements and stale data retention policy sent by the application to the SDAP via the platform interface.

[0010] An embodiment of the present disclosure discloses creating an RLC channel. An embodiment of the present disclosure discloses exchanging additional parameters for tracking state stored by each party participating in the communication. When any write packet is received by the virtual network function, the write packet may extract an application identifier and a respective RLC channel identifier from the packet header. Once the channel identifiers are located, these identifiers may be mapped to a local virtual network function data structure for trace enablement. If an RLC identifier for trace enablement is detected, the source data may be overwritten with new application data and the original data may be stored in the target data store. The source and target copies may be used for various purposes by various applications. In this case, since a particular RLC channel is designed to send data to a data store, the data trace is calculated and the FlashCopy of each grain is updated by the copy data management system in the virtual network function accordingly. Furthermore, chaining and tracing of application data may be enabled. The virtual network function may understand the SADP header for the RLC identifiers that belong to the list for which the data needs to be tracked in the dependency chaining. Meanwhile, data that is not critical and does not require copy data management may be received on another set of RLC channels. In such a case, the data block may be discarded and the new data may be stored in the same grain location as before without invoking the copy data management system. Since the data is not moved to another store, the data is saved in the storage requirements of the data store, which provides space advantages for remote storage for managing application data. Furthermore, embodiments of the present disclosure disclose improving the effectiveness of the copy management function of the virtual network function by saving the computational requirements for managing dependency chaining between data store objects during addition / removal of intermediate objects and optimizing the overall workload using 5G RLC tunnels of application write packs.

[0011] Embodiments of the present disclosure disclose eliminating starvation of critical application data traffic because the correct data sets are moved to the edge cloud with the correct snapshot requirements. Embodiments of the present disclosure disclose providing a pleasant user experience that saves storage space in telecommunication networks. Embodiments of the present disclosure disclose enabling a user-defined method to control edge computing beneficial to applications. Embodiments of the present disclosure disclose cognitive system enablement for additional information capture and user-based service propagation in the cloud.

[0012] Embodiments of the present disclosure disclose controlling selective elements that participate in remote snapshots based on defined policies. Embodiments of the present disclosure disclose selectively controlling data to internal elements managed by a virtual network function that are not accessible over the air. Embodiments of the present disclosure disclose exchanging additional parameters to track state saved by each party participating in the communication. Embodiments of the present disclosure disclose maintaining a map of all logical ids for which application level snapshots are activated.

[0013] The present disclosure will now be described in detail with reference to the drawings, in which: Figure 1 is a functional block diagram illustrating an edge cloud application backup environment, generally designated 100, in accordance with one embodiment of the present disclosure.

[0014] In the illustrated embodiment, the edge cloud application backup environment 100 includes a computing device 102, a base station 104, a user device 110, a data store 106, and a network 108. In one or more embodiments of the present disclosure, the base station 104 may be a node in a telecommunications network. In one example, the telecommunications network may be a 5G network. In one example, the base station 104 may be referred to as an evolved Node B or eNodeB. The base station 104 is a critical part of the wireless network and may perform network control functions in addition to creating coverage for the mobile network. In the illustrated example, only one base station is shown. However, in other examples, there may be multiple base stations in the telecommunications network. In one example, an S1 bearer (not shown) may provide connectivity between the base station 104 and a serving gateway.

[0015] In one or more embodiments of the present disclosure, the data store 106 may be a repository for storing and managing a collection of data. In one example, the data store 106 may be a database or a repository of databases. In one example, the data store 106 may store data from the user device 110 and the computing device 102. In the illustrated embodiment, the data store 106 is located externally and accessed through a communication network, such as the network 108. However, in other embodiments, the data store 106 may be located on the user device 110 and the computing device 102. In one embodiment, the data store 106 may store a snapshot backup or other suitable backup (e.g., FlashCopy®). In one example, the snapshot backup may be either a full copy snapshot or a space-efficient snapshot. The type of snapshot backup may depend on the storage environment. During a full copy snapshot, all blocks of data on the source volume may be copied to the target volume. During a space-efficient snapshot, only blocks of data written to the source volume after the snapshot is created may be copied to the target volume.

[0016] In various embodiments of the present disclosure, the user device 110 may be a laptop computer, a tablet computer, a netbook computer, a personal computer (PC), a desktop computer, a mobile phone, a smartphone, a smart watch, a wearable computing device, a personal digital assistant (PDA), or a server. In one embodiment, the user device 110 is a mobile device. In general, the user device 110 may be any computing device or combination of devices that has access to the network 108 and may communicate with the base station 104. The user device 110 may include internal and external hardware components, as shown and described in further detail with respect to FIG. 8.

[0017] Further, in the illustrated embodiment, the user device 110 includes an RLC channel management 112 and an application 114. In the illustrated embodiment, the RLC channel management 112 and the application 114 are located on the user device 110. However, in other embodiments, the RLC channel management 112 and the application 114 may be located externally and accessed through a communication network, such as the network 108. In one or more embodiments, the RLC channel management 112 is configured to manage in-band selective data snapshots using an RLC channel for edge cloud application backup. The RLC channel management 112 may provide a method for selective snapshots of applications based on an RLC channel parameter handshake. The RLC channel management 112 may include a thin device driver layer implemented in the user device 110 that has knowledge of the applications 114 and the RLC channel mappings to the applications 114. The RLC channel management 112 may provide services to the RLC layer control in the form of logical channels. These logical channels are virtualized communication network interfaces used to transfer input / output commands (network data packets) and control instructions over the radio interface and the network 108. Logical channels may be defined by the type of information they carry. In one example, a logical channel may be a control channel used for the transmission of control and configuration information. In another example, a logical channel may be a traffic channel used for user data. The RLC channel management 112 may create multiple logical channels on a single radio bearer network using a network slicing model. The RLC channel management 112 may use logical channels to carry specialized traffic from the user device 110 to the network 108. The RLC channel management 112 may create multiple channels from a single device (e.g., the user device 110) to the network 108.The RLC channel management 112 can provide channels with parallelism in packet transmission and can reduce exclusive locking of network resources, which can provide performance benefits. The RLC channel management 112 can generate multiple RLC channels and assign multiple RLC channels to applications 114 for dedicated packet routing requirements. The RLC channel management 112 can determine data grain snapshots (e.g., FlashCopy®) in the virtual network function of the network 108.

[0018] In various embodiments of the present disclosure, the computing device 102 may be a laptop computer, a tablet computer, a netbook computer, a PC, a desktop computer, a mobile phone, a smartphone, a smart watch, a wearable computing device, a PDA, or a server. In another embodiment, the computing device 102 represents a computing system utilizing clustered computers and components to act as a single pool of seamless resources. In other embodiments, the computing device 102 may represent a server computing system utilizing multiple computers as a server system, such as in a cloud computing environment. In general, the computing device 102 may be any computing device or combination of devices having access to the virtual network function module 120 and the network 108 and capable of processing program instructions and executing the virtual network function module 120 in accordance with embodiments of the present disclosure. The computing device 102 may include internal and external hardware components, as shown and described in further detail with respect to FIG. 8.

[0019] Additionally, in the illustrated embodiment, the computing device 102 includes a virtual network function module 120. In the illustrated embodiment, the virtual network function module 120 is located on the computing device 102. However, in other embodiments, the virtual network function module 120 may be located externally and accessed through a communications network, such as the network 108. The communications network may be, for example, a local area network (LAN), a wide area network (WAN) such as the Internet, or a combination of the two, and may include wired connections, wireless connections, fiber optic connections, or any other connections known in the art. In general, the communications network may be any combination of connections and protocols that support communications between the computing device 102 and the virtual network function module 120 in accordance with the desired embodiment of the present disclosure.

[0020] In one or more embodiments, the virtual network function module 120 is configured to create one or more RLC channels for forwarding network data packets within the network 108 using network slicing techniques. In one example, network slicing may be a network architecture that allows multiplexing of independent logical networks that are virtualized on the same physical network infrastructure. Each network slice may be a separate end-to-end network tailored to meet diverse requirements demanded by a particular application. In one example, an RLC channel is a logical channel of the virtualized communication network interface that is used to forward input / output commands (network data packets) and control instructions over the radio interface and the network 108. A logical channel may be defined by the type of information that the logical channel carries. In one example, a logical channel may be used as a control channel for the transmission of control and configuration information. In another example, a logical channel may be used as a traffic channel for user data. The virtual network function module 120 may create multiple logical channels on a single radio bearer network using the network slicing model. These channels are used to carry specialized traffic from user devices 110 to the network 108. Because multiple channels are created from a single device to the network 108, the channels provide parallelism in packet transmission and reduce exclusive locking of network resources, which provides performance benefits.

[0021] The virtual network function module 120 may exchange additional parameters to track the state saved by each party participating in the communication. The virtual network function module 120 may maintain an allowed list of snapshot-enabled channels communicating from the radio interface and extending to the S1 bearer as well. The virtual network function module 120 may maintain a map of all logical identifiers for which application-level snapshots (e.g., FlashCopy®) are activated, and thus trigger the data copy management in the core / edge cloud when any new write packet for the respective application is received. The virtual network function module 120 may manage all applications registered with the selective space-saving FlashCopy® of the application 114, and the routing of incoming packets to the Service Data Adaptation Protocol (SDAP) layer. The SDAP layer may be responsible for mapping between quality of service flows and data radio bearers from the 5G core network, as well as marking quality of service flow identifiers in uplink and downlink packets. In telecommunications, a bearer service or data service is a service that allows the transmission of information signals between network interfaces. These services provide subscribers with the capacity needed to transmit the appropriate signals between certain access points, i.e. user network interfaces.

[0022] The virtual network function module 120 may activate processing of network data and control protocol data units. The virtual network function module 120 may activate a respective list of RLC channels for selective point-in-time data copy of application data. The virtual network function module 120 may create data traffic channels. The virtual network function module 120 may open RLC channels from the user device 110 and may issue application bindings associated with the respective RLC channels. The virtual network function module 120 may initiate a thin device driver layer in the user device 110 that has knowledge of the applications 114 and the RLC channel mappings to the applications 114.

[0023] In one or more embodiments, the virtual network function module 120 is configured to allocate one or more RLC channels to the application 114 in the user device 110. The virtual network function module 120 may allocate multiple RLC channels to the application 114 for dedicated packet routing requirements. The virtual network function module 120 may use the multiple RLC channels to determine snapshots on a data grain in a virtual network function of the network 108. The virtual network function module 120 may control selective elements in the application 114 that participate in the remote snapshot based on defined policies. The virtual network function module 120 may identify snapshot requirements in the network 108 (e.g., an internal 5G core cloud network). The virtual network function module 120 can eliminate starvation of critical application data traffic because the correct data set is moved to an edge cloud with the correct snapshot requirements. The virtual network function module 120 can provide a user experience that conserves storage space in the network 108 (e.g., a 5G core cloud network). The virtual network function module 120 may enable a user-defined method for controlling edge computing beneficial to the application 114. The virtual network function module 120 may control selective elements participating in remote snapshots based on defined policies. The virtual network function module 120 may selectively control data to internal elements managed by the virtual network function that are not accessible over the air. The virtual network function module 120 may allocate multiple RLC channels to the application 114 for dedicated packet routing requirements.The virtual network function module 120 may select an RLC channel for taking snapshot (e.g., FlashCopy®) decisions of data grains in a virtual network function of the network 108 (e.g., a 5G telecommunications network). The virtual network function module 120 may maintain an allowed list of snapshot-enabled channels communicating from the air interface and extending to the S1 bearer.

[0024] In one or more embodiments, the virtual network function module 120 is configured to map the corresponding RLC channel and application 114 to the corresponding identifier. The virtual network function module 120 may maintain a map of all logical identifiers for which application-level snapshots are activated. When any write packet is received by the virtual network function, the write packet may extract the application identifier and the respective RLC channel identifier from the packet header. Once the channel identifiers are located, these identifiers may be mapped to a local virtual network function data structure for trace enablement. If an RLC identifier for trace enablement is detected, the source data may be overwritten with new application data and the original data may be saved to the data store 106. The source and target copies may be used for various purposes by various applications. In this case, since a particular RLC channel is designed to send data to the data store 106, the data trace is calculated and the FlashCopy of each grain is updated by the copy data management system in the virtual network function accordingly. Furthermore, chaining and tracking of application data may be enabled since the virtual network function may understand the SADP header for the RLC identifiers that belong to the list for which the data needs to be tracked in the dependency chaining. Meanwhile, data that is not critical and does not require copy data management may be received on another set of RLC channels. In such a case, the initial data block (e.g., denoted as T0) may be discarded and the new data may be stored in the same grain location as before without invoking the copy data management system. Since the T0 data is not moved to a separate store, the T0 data saves on the storage requirements of the data store 106, which provides a space advantage for remote storage for managing application data.Additionally, the virtual network function module 120 can save on computational requirements for managing dependency chaining between data store objects during addition / removal of intermediate objects and can improve the effectiveness of the copy management function of the virtual network function by optimizing the overall workload using application write pack RLC channels.

[0025] In one or more embodiments, the virtual network function module 120 is configured to monitor applications 114 that require snapshots. The virtual network function module 120 may manage triggering, restoring, and refining chain element operations using virtual network function calls. When a snapshot of any application is triggered, an empty data store is created and all subsequent changes are tracked. When any new write packet arrives in the same application data store, the old data grains may be moved to the copy data store and the incoming packet data may be written to the original location. The virtual network function module 120 may maintain a map of all logical identifiers for which application-level snapshots are activated and accordingly trigger the first (e.g., denoted as T0) data copy management of the core / edge cloud when any new write packet is received for the respective application. The end-user level instance may manage all applications 114 registered for selective space-saving snapshots (e.g., FlashCopy) of the application 114 and the routing of incoming packets to the SDAP layer. When an application packet reaches the SDAP layer in the user device 110, the virtual network function module 120 may first check the workload type, such as read or write. If the application is writing data to a remote data store allocation, the instance in the user device 110 queries the application's copy management requirements for the received grain pack. The virtual network function module 120 may maintain an application-specific data structure with policies defined for specific data that has snapshot requirements. This information is applied in case of application-level radio link control channels. The virtual network function module 120 may apply the application-specific data structure to the application-level RLC channel.For systems without a base operating system or installed applications (e.g., bare metal), the virtual network function module 120 may allocate an RLC channel for packet data to the SDAP with an additional system flag indicating the requirement for copy management actions in the internal cloud system.

[0026] In one or more embodiments, the virtual network function module 120 is configured to create a copy of a data store associated with the application 114 based on changes monitored in the application in response to a snapshot request of the application. The virtual network function module 120 may perform an RLC channel selection by the application 114 based on whether an initiated packed write requires data preservation. For example, if the newly written data location is not important to track changes, the virtual network function module 120 may perform an RLC channel selection with a non-traceable RLC channel specified for the packet. The virtual network function module 120 may send the packet to the RLC layer with a defined RLC identifier with a setting to not track changes for application-level snapshots (e.g., FlashCopy) in the cloud. The virtual network function module 120 may determine whether the application 114 is writing information that must be tracked. If the virtual network function module 120 determines that the application 114 is writing information that must be tracked, the virtual network function module 120 may wrap the packet in a specified RLC header with a defined identifier for tracking enablement. Upon receiving any write packet, the virtual network function module 120 may extract the application identifier and the respective RLC channel identifier from the packet header. The virtual network function module 120 may map the RLC channel identifier to a local data structure for tracking enablement. The virtual network function module 120 may determine whether the RLC channel identifier matches the tracking enablement. If the virtual network function module 120 determines that the RLC channel identifier matches the tracking enablement, the virtual network function module 120 may overwrite the source data with the new application data in the data store 106. The virtual network function module 120 may save the original data to the target data in the data store 106.The virtual network function module 120 may activate data tracking and update the respective grains. The virtual network function module 120 may perform copy-on-write. The virtual network function module 120 may deliver an acknowledgement to the source data store 106. In the case of bare metal channel allocation policy, when messages and packets are received at the SDAP layer, the virtual network function module 120 may select an RLC instance based on the nature of the tracking requirements and stale data retention policy sent to the SDAP layer via the platform interface.

[0027] Further, in the illustrated embodiment, the virtual network function module 120 includes an extraction module 122, a mapping module 124, and a data copy module 126. In the illustrated embodiment, the extraction module 122, the mapping module 124, and the data copy module 126 are located on the computing device 102 and the virtual network function module 120. However, in other embodiments, the extraction module 122, the mapping module 124, and the data copy module 126 may be located externally and accessed through a communication network, such as the network 108. In one or more embodiments, the extraction module 122 is configured to extract an application identifier and a respective RLC channel identifier from the packet header when the virtual network function module 120 receives any write packet. The extraction module 122 may locate the RLC channel identifier. The extraction module 122 may validate the asynchronous event request. The extraction module 122 may extract read or write type of information from the received data packet. The extraction module 122 may detect the RLC channel identifier for trace enablement. The extraction module 122 may overwrite the new application data or may save the original data in the target data store target. The source and target copies may be used by different applications for different purposes. The extraction module 122 may calculate a data trace as a particular RLC channel can send data to the data store 106. The extraction module 122 may enable chaining and tracking of the application data. The extraction module 122 may recognize the SDAP header for the RLC identifier that belongs to the list that needs to track the data in the dependency chaining. Meanwhile, data that is not important and does not need to be copied may be assigned to another set of RLC channels.In such a case, the original data block (e.g., denoted T0) may be discarded and the new data may be stored in the same grain location as before without invoking a copy data management system. Because the T0 data is not moved to a separate store, the extraction module 122 may conserve storage requirements in the data store 106, thereby providing space advantages for remote storage to manage application data.

[0028] In one or more embodiments, the mapping module 126 is configured to map the corresponding RLC channel and application 114 to the corresponding identifier, respectively. The mapping module 126 may maintain a map of all logical identifiers for which application-level snapshots are activated. When any write packet is received by the virtual network function, the write packet may extract the application identifier and the respective RLC channel identifier from the packet header. Once the channel identifier is located, the channel identifier may be mapped to a local virtual network function data structure for tracking enablement. If an RLC identifier for tracking enablement is detected, the source data may be overwritten with new application data and the original data may be stored in the data store 106. The source and target copies may be used for various purposes by various applications. In this case, since a particular RLC channel is designed to send data to the data store 106, the data tracking is calculated and each grain is updated accordingly by the copy data management system in the virtual network function. Furthermore, the mapping module 126 may enable chaining and tracking of application data. The mapping module 126 may recognize the SDAP header for the RLC identifier that belongs to the list where the data needs to be tracked in the dependency chain. On the other hand, the mapping module 126 may allocate another set of RLC channels for the application data that is not important and does not need to be copied. In such a case, the t0 data block may be discarded and the new data may be stored in the same grain location as before without invoking the copy data management system. Since the T0 data is not moved to a separate store, it saves on the storage requirements of datastore0_tx, which provides a space advantage for remote storage to manage application data.Additionally, embodiments of the present disclosure disclose improving the effectiveness of copy management functionality of virtual network functions by saving computational requirements for managing dependency chaining between data store objects during addition / removal of intermediate objects and optimizing the overall workload using application write pack RLC channels.

[0029] In one or more embodiments, the data copy module 128 is configured to create a copy of a data store associated with an application based on changes monitored in the application in response to a snapshot request of the application. The data copy module 128 may perform an RLC channel selection by the application 114 based on whether an initiated packed write requires data preservation. For example, if the newly written data location is not important to track changes, the data copy module 128 may perform an RLC channel selection with a non-traceable RLC channel specified for the packet. The virtual network function module 120 may send the packet to the RLC layer with a defined RLC identifier with a setting to not track changes for application-level snapshots (e.g., FlashCopy) in the cloud. The data copy module 128 may determine whether the application 114 is writing information that must be tracked. If the data copy module 128 determines that the application 114 is writing information that must be tracked, the data copy module 128 may wrap the packet in a specified RLC header with a defined identifier for tracking enablement. Upon receiving any write packet, the virtual network function module 120 may extract the application identifier and the respective RLC channel identifier from the packet header. The virtual network function module 120 may map the RLC channel identifier to a local data structure for trace enablement. The data copy module 128 may determine whether the RLC channel identifier matches the trace enablement. If the data copy module 128 determines that the RLC channel identifier matches the trace enablement, the data copy module 128 may overwrite the source data with the new application data in the data store 106. The data copy module 128 may save the original data to the target data in the data store 106.The data copy module 128 may activate data tracking and may update the respective grains. The data copy module 128 may perform copy-on-write. The data copy module 128 may deliver an acknowledgement to the source data store 106. In the case of bare metal channel allocation policies, when messages and packets are received at the SDAP layer, the data copy module 128 may select an RLC instance based on the nature of the tracking requirements and stale data retention policy submitted by the application to the SDAP via the platform interface.

[0030] FIG. 2 is a flow diagram 200 illustrating the operational steps of the virtual network function module 120 according to one embodiment of the present disclosure.

[0031] The virtual network function module 120 operates to create one or more RLC channels for forwarding network data packets within the network 108 using network slicing techniques. The virtual network function module 120 also operates to assign one or more RLC channels to applications 114 within the user device 110. The virtual network function module 120 operates to map corresponding RLC channels and applications 114 to their respective corresponding identifiers. The virtual network function module 120 operates to monitor applications 114 that require a snapshot. The virtual network function module 120 operates to create a copy of a data store associated with the application 114 based on changes monitored in the application in response to the application's snapshot request.

[0032] In step 202, the virtual network function module 120 creates one or more RLC channels for forwarding network data packets within the network 108 using network slicing techniques. In one example, network slicing may be a network architecture that allows multiplexing of independent logical networks virtualized on the same physical network infrastructure. Each network slice may be a separate end-to-end network tailored to meet diverse requirements demanded by a particular application. In one example, an RLC channel is a logical channel of the virtualized communication network interface used to forward input / output commands (network data packets) and control instructions over the radio interface and the network 108. A logical channel may be defined by the type of information it carries. In one example, a logical channel may be used as a control channel for the transmission of control and configuration information. In another example, a logical channel may be used as a traffic channel for user data. The virtual network function module 120 may create multiple logical channels on a single radio bearer network using the network slicing model. These channels are used to carry specialized traffic from user devices 110 to the network 108. Because multiple channels are created from a single device to the network 108, the channels provide parallelism in packet transmission and reduce exclusive locking of network resources, which provides performance benefits.

[0033] The virtual network function module 120 may exchange additional parameters to track the state saved by each party participating in the communication. The virtual network function module 120 may maintain an allowed list of snapshot-enabled channels communicating from the radio interface and extending to the S1 bearer as well. The virtual network function module 120 may maintain a map of all logical identifiers for which application-level snapshots (e.g., FlashCopy®) are activated, and thus trigger the data copy management in the core / edge cloud when any new write packet for the respective application is received. The virtual network function module 120 may manage all applications that have registered with the selective space-saving FlashCopy® of the application 114, and the routing of incoming packets to the Service Data Adaptation Protocol (SDAP) layer. The SDAP layer may be responsible for mapping between quality of service flows and data radio bearers from the 5G core network, as well as marking quality of service flow identifiers in uplink and downlink packets. In telecommunications, a bearer service or data service may be a service that allows the transmission of information signals between network interfaces. These services provide subscribers with the capacity needed to transmit the appropriate signals between certain access points, i.e. user-network interfaces.

[0034] The virtual network function module 120 may activate processing of network data and control protocol data units. The virtual network function module 120 may activate a respective list of RLC channels for selective point-in-time data copy of application data. The virtual network function module 120 may create data traffic channels. The virtual network function module 120 may open RLC channels from the user device 110 and may issue application bindings associated with the respective RLC channels. The virtual network function module 120 may initiate a thin device driver layer in the user device 110 that has knowledge of the applications 114 and the RLC channel mappings to the applications 114.

[0035] In step 204, the virtual network function module 120 allocates one or more RLC channels to the application 114 in the user device 110. The virtual network function module 120 may allocate multiple RLC channels to the application 114 to align with dedicated packet routing requirements. The virtual network function module 120 may use the multiple RLC channels to determine snapshots on a data grain in a virtual network function of the network 108. The virtual network function module 120 may control selective elements in the application 114 that participate in the remote snapshot based on defined policies. The virtual network function module 120 may identify snapshot requirements in the network 108 (e.g., an internal 5G core cloud network). The virtual network function module 120 can eliminate starvation of critical application data traffic because the correct data set is moved to an edge cloud with the correct snapshot requirements. The virtual network function module 120 can provide a user experience that conserves storage space in the network 108 (e.g., a 5G core cloud network). The virtual network function module 120 may enable a user-defined method for controlling edge computing beneficial to the application 114. The virtual network function module 120 may control selective elements participating in remote snapshots based on defined policies. The virtual network function module 120 may selectively control data to internal elements managed by the virtual network function that are not accessible over the air. The virtual network function module 120 may allocate multiple RLC channels to the application 114 for dedicated packet routing requirements.The virtual network function module 120 may select an RLC channel for taking snapshot (e.g., FlashCopy®) decisions of data grains in a virtual network function of the network 108 (e.g., a 5G telecommunications network). The virtual network function module 120 may maintain an allowed list of snapshot-enabled channels communicating from the air interface and extending to the S1 bearer.

[0036] In step 206, the virtual network function module 120 maps the corresponding RLC channel and application 114 to the corresponding identifiers, respectively. The virtual network function module 120 may maintain a map of all logical identifiers for which application-level snapshots are activated. When any write packet is received by the virtual network function, the write packet may extract the application identifier and the respective RLC channel identifier from the packet header. Once the channel identifiers are located, these identifiers may be mapped to a local virtual network function data structure for trace enablement. If an RLC identifier for trace enablement is detected, the source data may be overwritten with new application data and the original data may be stored in the data store 106. The source and target copies may be used for various purposes by various applications. In this case, since a particular RLC channel is designed to send data to the data store 106, the data trace is calculated and the FlashCopy of each grain is updated by the copy data management system in the virtual network function accordingly. Furthermore, chaining and tracking of application data may be enabled since the virtual network function may understand the SADP header for the RLC identifiers that belong to the list for which the data needs to be tracked in the dependency chaining. Meanwhile, data that is not critical and does not require copy data management may be received on another set of RLC channels. In such a case, the initial data block (e.g., denoted as T0) may be discarded and the new data may be stored in the same grain location as before without invoking the copy data management system. Since the T0 data is not moved to a separate store, the T0 data saves on the storage requirements of the data store 106, which provides a space advantage for remote storage for managing application data.Additionally, the virtual network function module 120 can save on computational requirements for managing dependency chaining between data store objects during addition / removal of intermediate objects and can improve the effectiveness of the copy management function of the virtual network function by optimizing the overall workload using application write pack RLC channels.

[0037] In step 208, the virtual network function module 120 monitors the applications 114 that require snapshots. The virtual network function module 120 may manage triggering, restoring, and refining chain element operations using virtual network function calls. When a snapshot of any application is triggered, an empty data store is created and all subsequent changes are tracked. When any new write packet arrives in the same application data store, the old data grains may be moved to the copy data store and the incoming packet data may be written to the original location. The virtual network function module 120 may maintain a map of all logical identifiers for which application level snapshots are activated and accordingly trigger the first (e.g., denoted as T0) data copy management in the core / edge cloud when any new write packet is received for the respective application. The end user level instance may manage all applications 114 registered for selective space saving snapshots (e.g., FlashCopy) of the application 114 and the routing of incoming packets to the SDAP layer. When an application packet reaches the SDAP layer in the user device 110, the virtual network function module 120 may first check the workload type, such as read or write. If the application is writing data to a remote data store allocation, the instance in the user device 110 queries the application's copy management requirements for the received grain pack. The virtual network function module 120 may maintain an application-specific data structure with policies defined for specific data that has snapshot requirements. This information is applied in case of application-level radio link control channels. The virtual network function module 120 may apply the application-specific data structure to the application-level RLC channel.For systems without a base operating system or installed applications (e.g., bare metal), the virtual network function module 120 may allocate an RLC channel for packet data to the SDAP with an additional system flag indicating the requirement for copy management actions in the internal cloud system.

[0038] In step 210, the virtual network function module 120 creates a copy of the data store associated with the application 114 based on changes monitored in the application in response to the application's snapshot request. The virtual network function module 120 may perform RLC channel selection by the application 114 based on whether the initiated packed write requires data preservation. For example, if the newly written data location is not important to track changes, the virtual network function module 120 may perform RLC channel selection with a non-traceable RLC channel specified for the packet. The virtual network function module 120 may send the packet to the RLC layer with a defined RLC identifier with a setting to not track changes for application-level snapshots (e.g., FlashCopy) in the cloud. The virtual network function module 120 may determine whether the application 114 is writing information that must be tracked. If the virtual network function module 120 determines that the application 114 is writing information that must be tracked, the virtual network function module 120 may wrap the packet in a specified RLC header with a defined identifier for tracking enablement. Upon receiving any write packet, the virtual network function module 120 may extract the application identifier and the respective RLC channel identifier from the packet header. The virtual network function module 120 may map the RLC channel identifier to a local data structure for tracking enablement. The virtual network function module 120 may determine whether the RLC channel identifier matches the tracking enablement. If the virtual network function module 120 determines that the RLC channel identifier matches the tracking enablement, the virtual network function module 120 may overwrite the source data with the new application data in the data store 106. The virtual network function module 120 may save the original data to the target data in the data store 106.The virtual network function module 120 may activate data tracking and update the respective grains. The virtual network function module 120 may perform copy-on-write. The virtual network function module 120 may deliver an acknowledgement to the source data store 106. In the case of bare metal channel allocation policy, when messages and packets are received at the SDAP layer, the virtual network function module 120 may select an RLC instance based on the nature of the tracking requirements and stale data retention policy sent to the SDAP layer via the platform interface.

[0039] FIG. 3 illustrates an example functional diagram of a virtual network function module 120 according to the present disclosure.

[0040] In the example of Figure 3, the virtual network function module 120 may communicate with the base station 104 (denoted as E-Node B), the edge cloud 302, and the core cloud 304. A virtual machine (VM) 306 may execute programs, store data, and connect to the edge cloud 302 and the core cloud 304. Data 314 may be transmitted between the edge cloud 302 and the core cloud 304. The data 314 may be stored in the data store 106, such as a solid state drive (SSD) 308, a hard disk drive (HDD) 310, and a near-line storage 312.

[0041] FIG. 4 illustrates an exemplary functional diagram of a user device 110 according to one embodiment of the present disclosure.

[0042] 4, the user device 110 may be a mobile device used by a user 402. The user device 110 may include an SDAP layer 404, a Packet Data Convergence Protocol (PDCP) layer 406, an RLC layer 408, and a Medium Access Control (MAC) layer 410. The SDAP layer 404 may include an RLC locator and multiplexing logic 412, requirements gathering and mapping 414, application tunnel allocation 416, a user-driven consent manager 418, a snapshot requirements manager 420, a copy data manager 422, an asynchronous event request / response 424, and an RLC decoder 426.

[0043] FIG. 5 illustrates an exemplary functional diagram of the data store 106 according to one embodiment of the present disclosure.

[0044] 5, the user device 110 may have a datastore access path to the datastore 106. In one example, the datastore 106 (e.g., the integrated storage pool 520) may be shown to include datastore0-master 502, datastore0-aux_t1 504, datastore0-aux_t2 506, datastore0-aux_t3 508, datastore0-aux_t4 510, datastore0-aux_t5 512, etc.

[0045] Figure 6 illustrates an example service path for a virtual network function module 120 in accordance with one embodiment of the disclosure. Figure 6 illustrates an access path from a user device 110 to a base station 104, and from the base station 104 to a service gateway (S-GW) 602. Figure 6 also illustrates a service path 604 from the S-GW 602 to the virtual network function module 120, and then to an end point 606.

[0046] FIG. 7 illustrates an example functional diagram of a virtual network function module 120 according to one embodiment of the present disclosure.

[0047] In the example of FIG. 7, at block 702, the virtual network function module 120 may allocate an RLC channel upon packet reception. The virtual network function module 120 may perform header decoding logic. At block 704, the virtual network function module 120 may validate the asynchronous event response. The virtual network function module 120 may extract the header of the packet. The virtual network function module 120 may extract the read / write type information of the packet. At block 706, the virtual network function module 120 may extract the RLC identifier and perform policy mapping. The virtual network function module 120 may perform remote data management. The virtual network function module 120 may perform RLC tunnel and data store policy mapping. The virtual network function module 120 may perform data copy management based on application data store timeline and dependency chaining. At block 708, the virtual network function module 120 may perform delta tracking. The virtual network function module 120 may perform bitmap management. The virtual network function module 120 may perform packed write updates. The virtual network function module 120 may perform copy-on-write. In block 710, the user data may include a contagion range. The logical address and information may be stored in the grain header.

[0048] 8 illustrates a block diagram 400 of components of a computing device 102 and a user device 110 in accordance with an exemplary embodiment of the present disclosure. It should be understood that FIG. 8 is intended to be only an example of one implementation and is not intended to suggest any limitations with respect to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made.

[0049] The computing device 102 and the user device 110 may include a communications fabric 802 that provides communication between cache 816, memory 806, persistent storage 808, communications units 810, and input / output (I / O) interfaces 812. The communications fabric 802 may be implemented using any architecture designed to pass data and / or control information between a processor (such as a microprocessor, communications and network processor, etc.), system memory, peripheral devices, and any other hardware components in the system. For example, the communications fabric 802 may be implemented using one or more buses or crossbar switches.

[0050] Memory 806 and persistent storage 808 are computer readable storage media. In this embodiment, memory 806 includes random access memory (RAM). In general, memory 806 may include any suitable volatile or non-volatile computer readable storage medium. Cache 816 is a high-speed memory that improves the performance of computer processor 804 by holding recently accessed data from memory 806 and data close to the accessed data.

[0051] The virtual network function modules 120 may be stored in persistent storage 808 and memory 806 for execution by one or more of the respective computer processors 804 via cache 816. In one embodiment, persistent storage 808 includes a magnetic hard disk drive. As an alternative or in addition to a magnetic hard disk drive, persistent storage 808 may include a solid state hard drive, a semiconductor storage device, a read only memory (ROM), an erasable programmable read only memory (EPROM), a flash memory, or any other computer readable storage medium capable of storing program instructions or digital information.

[0052] The media used by persistent storage 808 may be removable. For example, a removable hard drive may be used for persistent storage 808. Other examples include optical and magnetic disks, thumb drives, and smart cards that are inserted into a drive for transfer to another computer-readable storage medium that is also part of persistent storage 808.

[0053] The communications unit 810, in these examples, provides for communication with other data processing systems or devices. In these examples, the communications unit 810 includes one or more network interface cards. The communications unit 810 may provide for communication by using either or both physical and wireless communications links. The virtual network function modules 120 may be downloaded to the persistent storage 808 through the communications unit 810.

[0054] The input / output interface 812 allows for the input and output of data with other devices that may be connected to the computing device 102 and the user device 110. For example, the input / output interface 812 may provide a connection to an external device 818, such as a keyboard, a keypad, a touch screen, or any other suitable input device or combination thereof. The external device 818 may also include portable computer-readable storage media, such as, for example, thumb drives, portable optical or magnetic disks, and memory cards. Software and data used to practice embodiments of the present invention, such as the virtual network function module 120, may be stored on such portable computer-readable storage media and loaded into the persistent storage 808 via the input / output interface 812. The input / output interface 812 also connects to a display 820.

[0055] Display 820 provides a mechanism for displaying data to a user and may be, for example, a computer monitor.

[0056] The programs described herein are identified based on the application for which they are implemented in a particular embodiment of the invention. It should be understood, however, that any particular program nomenclature herein is used merely for convenience and thus should not be construed as limiting the invention to use only with the particular application identified and / or implied by such nomenclature.

[0057] The present invention may be a system, method, and / or computer program product integrated at any possible level of technical detail. The computer program product may include a computer readable storage medium (or multiple computer readable storage media) having computer readable program instructions for causing a processor to implement aspects of the present invention.

[0058] A computer readable storage medium may be a tangible device capable of holding and storing instructions for use by an instruction execution device. A computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the above. A non-exhaustive list of more specific examples of computer readable storage media includes portable computer diskettes, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, mechanically encoded devices such as punch cards or raised structures in grooves with instructions recorded thereon, and any suitable combination of the above. As used herein, a computer-readable storage medium should not be construed as a transitory signal per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses through a fiber optic cable), or electrical signals transmitted over electrical wires.

[0059] The computer readable program instructions described herein may be downloaded from a computer readable storage medium to the respective computing / processing device or to an external computer or storage device via a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may include copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer readable program instructions from the network and forwards the computer readable program instructions to a computer readable storage medium within the respective computing / processing device for storage.

[0060] The computer readable program instructions for carrying out the operations of the present invention may be either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, configuration data for an integrated circuit, or source or object code written in any combination of one or more programming languages, including object oriented programming languages ​​such as Python®, C++, and procedural programming languages ​​such as the “C” programming language or similar programming languages. The computer readable program instructions may be executed entirely on the user's computer as a standalone software package, partially on the user's computer, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may execute computer readable program instructions to perform aspects of the invention by utilizing state information of the computer readable program instructions to personalize the electronic circuitry.

[0061] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions.

[0062] These computer readable program instructions may be provided to a processor of a computer or other programmable data processing apparatus to produce a machine, such that the instructions, executed by the processor of the computer or other programmable data processing apparatus, produce means for performing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer readable program instructions may also be stored on a computer readable medium, such that the computer readable storage medium on which the instructions are stored comprises an article of manufacture including instructions implementing aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams, and can direct a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner.

[0063] The computer readable program instructions may also be loaded into a computer, other programmable data processing apparatus, or other device to produce a computer-implemented process that causes a series of operational steps to be performed on the computer, other programmable apparatus, or other device, such that the instructions, which execute on the computer, other programmable apparatus, or other device, perform the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0064] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may in fact be accomplished as one step, or may be executed simultaneously, substantially simultaneously, partially or fully in a time-overlapping manner, or in some cases, the blocks may be executed in the reverse order, depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented by a dedicated hardware-based system that performs the specified functions or actions, or a combination of dedicated hardware and computer instructions.

[0065] The description of various embodiments of the present invention is presented for illustrative purposes, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the present invention. The terms used in this specification are selected to best explain the principles of the embodiments, practical applications, or technical improvements beyond the technology found in the market, or to enable those skilled in the art to understand the embodiments disclosed herein.

[0066] Although this disclosure includes detailed descriptions of cloud computing, it should be understood that implementation of the teachings described herein is not limited to a cloud computing environment. Rather, embodiments of the invention may be implemented in conjunction with any other type of computing environment now known or later developed.

[0067] Cloud computing is a service delivery model that enables convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) and enables these computing resources to be rapidly provisioned and released with minimal administrative effort or interaction with a service provider. The cloud model may include at least five characteristics, at least three service models, and at least four deployment models.

[0068] Its features are as follows:

[0069] On-Demand Self-Service: Cloud consumers can unilaterally provision computing capacity, such as server time and network storage, automatically as needed, without the need for human interaction with the provider of the service.

[0070] Pervasive Network Access: Functionality is available over the network and accessed through standard mechanisms that facilitate use by heterogeneous thin- or thick-client platforms (e.g., cell phones, laptops, and PDAs).

[0071] Resource Pooling: Providers' computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically allocated and reallocated as required. There is location independence in that consumers generally have no control or knowledge of the exact location of the provided resources, although it may be possible to specify the location at a higher level of abstraction (e.g., country, state, or data center).

[0072] Rapid Elasticity: Capabilities can be rapidly and elastically provisioned, sometimes automatically, to rapidly scale out and rapidly release to rapidly scale in. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time.

[0073] Service Metering: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at a certain level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both providers and consumers of the services utilized.

[0074] The service model is as follows:

[0075] Software as a Service (SaaS): The capability offered to a consumer to use a provider's applications running on a cloud infrastructure. The applications are accessible from a variety of client devices through thin-client interfaces such as web browsers (e.g., web-based email). With the possible exception of limited user-specific application configuration settings, the consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, storage, or individual application features.

[0076] Platform as a Service (PaaS): The capability offered to a consumer to deploy applications that the consumer creates or acquires, written using programming languages ​​and tools supported by the provider, onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, such as networks, servers, operating systems, or storage, but does control the deployed applications and, in some cases, the application hosting environment configuration.

[0077] Infrastructure as a Service (IaaS): The capability offered to consumers to provision processing, storage, network, and other basic computational resources on which the consumer can deploy and run any software, which may include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but does control the operating systems, storage, deployed applications, and possibly limited control over selected network components (e.g., host firewalls).

[0078] The deployment model is as follows:

[0079] Private Cloud: The cloud infrastructure is operated exclusively for an organization. This cloud infrastructure may be managed by the organization or a third party and may reside on-premise or off-premise.

[0080] Community Cloud: Cloud infrastructure is shared by multiple organizations to support a specific community of shared concerns (e.g., mission, security requirements, policies, and compliance considerations). This cloud infrastructure may be managed by the organizations or a third party and may reside on-premise or off-premise.

[0081] Public Cloud: The cloud infrastructure is available to the general public or large industry groups and is owned by organizations that sell cloud services.

[0082] Hybrid Cloud: A cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are tied together by standardized or proprietary technologies that allow for data and application portability (e.g., cloud bursting for load balancing between clouds).

[0083] Cloud computing environments are service-oriented with an emphasis on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure that includes a network of interconnected nodes.

[0084] 9, an exemplary cloud computing environment 50 is shown. As shown, the cloud computing environment 50 includes one or more cloud computing nodes 10 with which a local computing device used by a cloud consumer, such as, for example, a personal digital assistant (PDA) or mobile phone 54A, a desktop computer 54B, a laptop computer 54C, or an automobile computer system 54N, or combinations thereof, may communicate. The nodes 10 may communicate with each other. They may be physically or virtually grouped in one or more networks, such as a private cloud, a community cloud, a public cloud, or a hybrid cloud, or combinations thereof, as described herein above (not shown). This enables the cloud computing environment 10 to provide infrastructure, platform, and / or software as a service without the cloud consumer having to maintain resources on a local computing device. It should be understood that the types of computing devices 54A-54N shown in FIG. 9 are intended as examples only, and that the computing node 10 and cloud computing environment 50 can communicate with any type of computerized device via any type of network and / or network addressable connections (e.g., using a web browser).

[0085] Referring now to Figure 10, a set of functional abstraction layers provided by cloud computing environment 50 (Figure 9) is shown. It should be understood in advance that the components, layers, and functions shown in Figure 10 are intended to be illustrative only, and embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:

[0086] Hardware and software layer 60 includes hardware and software components. Examples of hardware components include mainframes 61, RISC (reduced instruction set computer) architecture based servers 62, servers 63, blade servers 64, storage devices 65, and networks and networking components 66. In some embodiments, software components include network application server software 67 and database software 68.

[0087] The virtualization layer 70 provides an abstraction layer from which the following examples of virtual entities may be provided: virtual servers 71, virtual storage 72, virtual networks including virtual private networks 73, virtual applications and operating systems 74, and virtual clients 75.

[0088] In one example, the management layer 80 may provide the functions described below: Resource provisioning 81 provides dynamic procurement of computational and other resources utilized to execute tasks within the cloud computing environment. Metering and pricing 82 provides cost tracking as resources are utilized within the cloud computing environment and charging or billing for the consumption of these resources. In one example, these resources may include application software licenses. Security provides identity verification for cloud consumers and tasks, and protection for data and other resources. User portal 83 provides consumers and system administrators with access to the cloud computing environment. Service level management 84 provides allocation and management of cloud computational resources such that requested service levels are met. Service level agreement (SLA) planning and fulfillment 85 provides pre-positioning and procurement of cloud computational resources anticipated to be required in the future according to SLAs.

[0089] The workload tier 90 provides examples of functions for which a cloud computing environment may be utilized. Examples of workloads and functions that may be provided from this tier include mapping and navigation 91, software development and lifecycle management 92, virtual classroom instructional delivery 93, data analytics processing 94, transaction processing 95, and modules 96, including, for example, virtual network function module 120 as described above with respect to edge cloud application backup environment 100.

[0090] Although specific embodiments of the present invention have been described, those skilled in the art will recognize that there are other embodiments that are equivalent to the described embodiments. It is therefore to be understood that the present invention is not limited by the specific embodiments illustrated, but is limited only by the scope of the appended claims.

Claims

1. 1. A computer-implemented method, comprising: creating, by one or more processors, one or more radio link control (RLC) channels for transporting network data packets in a telecommunications network using network slicing techniques; allocating, by one or more processors, the one or more RLC channels to one or more applications in a user device according to dedicated packet routing requirements; mapping, by one or more processors, the corresponding RLC channels and applications to their respective corresponding identifiers; monitoring, by one or more processors, the one or more applications for backup; creating, by one or more processors in response to receiving a backup request for an application, a copy of a data store associated with the application based on changes monitored in the one or more applications; 4. A computer-implemented method comprising:

2. 2. The computer-implemented method of claim 1, wherein the one or more RLC channels are logical channels of a virtualized communication network interface used to transfer input / output command and control instructions, the logical channels carrying traffic in parallel from the user device to the telecommunications network.

3. 2. The computer-implemented method of claim 1, wherein mapping the corresponding RLC channels and applications comprises maintaining a map of all the corresponding identifiers for which an application-level snapshot is activated.

4. monitoring the one or more applications, maintaining an allowed list of snapshot-enabled channels from said RLC channels communicating from an air interface and bearers; Controlling selective elements within the one or more applications that participate in the snapshot based on defined policies; The computer-implemented method of claim 1 , comprising:

5. 10. The computer-implemented method of claim 1, further comprising: performing, by the one or more processors, an RLC channel selection based on whether the data packet requires data storage.

6. In response to receiving the write data packet, extracting, by the one or more processors, an application identifier and a respective RLC channel identifier from the packet header; determining, by one or more processors, that the RLC channel identifier matches an application identifier for tracking enablement; overwriting, by one or more processors, the source data with new application data in said data store; The computer-implemented method of claim 1 , further comprising:

7. performing, by one or more processors, a copy-on-write on the source data; delivering, by one or more processors, an acknowledgment to said source data store; The computer-implemented method of claim 6 , further comprising:

8. 1. A computer program product comprising: one or more computer readable storage media and program instructions collectively stored on the one or more computer readable storage media, the program instructions comprising: program instructions for creating one or more RLC channels for transporting network data packets in a telecommunications network using network slicing techniques; program instructions for allocating the one or more RLC channels to one or more applications in a user device for dedicated packet routing requirements; program instructions for mapping the corresponding RLC channels and applications to their respective identifiers; program instructions for monitoring the one or more applications for backup; program instructions for, in response to receiving a backup request for an application, creating a copy of a data store associated with the application based on changes monitored in the one or more applications; 2. A computer program product comprising:

9. 9. The computer program product of claim 8, wherein the one or more RLC channels are logical channels of a virtualized communication network interface used to transfer input / output command and control instructions, the logical channels carrying traffic in parallel from the user device to the telecommunications network.

10. 9. The computer program product of claim 8, wherein the program instructions for mapping the corresponding RLC channels and applications include program instructions for maintaining a map of all the corresponding identifiers for which an application level snapshot is activated.

11. program instructions for monitoring the one or more applications, program instructions for maintaining an allowed list of snapshot-enabled channels from said RLC channels communicating from an air interface and bearers; program instructions for controlling selective elements within the one or more applications that participate in the snapshot based on defined policies; 9. The computer program product of claim 8, comprising:

12. 10. The computer program product of claim 8, further comprising program instructions for performing RLC channel selection based on whether the data packet requires data storage.

13. program instructions for, in response to receiving a write data packet, extracting an application identifier and a respective RLC channel identifier from the packet header; program instructions for determining that the RLC channel identifier matches an application identifier for tracking enablement; program instructions for overwriting source data with new application data in said data store; 9. The computer program product of claim 8, further comprising:

14. program instructions for performing a copy-on-write on the source data; program instructions for delivering an acknowledgment to the source data store; 9. The computer program product of claim 8, further comprising:

15. 1. A computer system comprising: one or more computer processors; one or more computer readable storage media; and program instructions stored on the one or more computer readable storage media for execution by at least one of the one or more computer processors, the program instructions comprising: program instructions for creating one or more RLC channels for transporting network data packets in a telecommunications network using network slicing techniques; program instructions for allocating the one or more RLC channels to one or more applications in a user device for dedicated packet routing requirements; program instructions for mapping the corresponding RLC channels and applications to their respective identifiers; program instructions for monitoring the one or more applications for backup; program instructions for, in response to receiving a backup request for an application, creating a copy of a data store associated with the application based on changes monitored in the one or more applications; 1. A computer system comprising:

16. 16. The computer system of claim 15, wherein the one or more RLC channels are virtualized communication network interface logical channels used to transfer input / output command and control instructions, the logical channels carrying traffic in parallel from the user device to the telecommunications network.

17. 16. The computer system of claim 15, wherein the program instructions for mapping the corresponding RLC channels and applications include program instructions for maintaining a map of all the corresponding identifiers for which an application level snapshot is activated.

18. program instructions for monitoring the one or more applications, program instructions for maintaining an allowed list of snapshot-enabled channels from said RLC channels communicating from an air interface and bearers; program instructions for controlling selective elements within the one or more applications that participate in the snapshot based on defined policies; 16. The computer system of claim 15, comprising:

19. 16. The computer system of claim 15, further comprising program instructions for performing RLC channel selection based on whether a data packet requires data storage.

20. program instructions for, in response to receiving a write data packet, extracting an application identifier and a respective RLC channel identifier from the packet header; program instructions for determining that the RLC channel identifier matches an application identifier for tracking enablement; program instructions for overwriting source data with new application data in said data store; 16. The computer system of claim 15, further comprising:

Citation Information

Patent Citations

  • Multi-cloud security storage dynamic balance backup method and system

    CN108733516A

  • Side cloud collaborative software backup recovery method

    CN112579354A

  • Single agent backup for cloud networks

    US10664357B1

  • Point-in-time copy on write for golden image

    US20170083404A1

  • Network Architecture, Methods, and Devices for a Wireless Communications Network

    US20170331577A1