Implementing target block commands on unstructured data storage nodes

Through the UDSF data management system, the flexible operation of data blocks is achieved on the UDSF nodes of the cellular network, which solves the shortcomings of existing storage functional nodes in data operation efficiency and flexibility, and improves the efficiency of data access and the scalability of the system.

CN119817062APending Publication Date: 2025-04-11MICROSOFT TECHNOLOGY LICENSING LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380063770.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-10-13
Filing Date
2023-08-31
Publication Date
2025-04-11

AI Technical Summary

Technical Problem

The storage functional nodes of existing cellular networks are inefficient in data reading, modification and access, and their operation types are limited, making it difficult to support various data operations on data.

Method used

The UDSF data management system is introduced, allowing network functions to interact with UDSF nodes, modify data on UDSF nodes, and execute commands on discrete sets of data blocks through operation commands, supporting the creation, modification, reading or deletion of selected data block ranges.

Benefits of technology

Improves flexibility and speed of data access on UDSF nodes, reduces API call latency, and enhances flexibility and scalability of conventional systems for data management and modification.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119817062A_ABST
    Figure CN119817062A_ABST
Patent Text Reader

Abstract

The present disclosure relates to systems, methods, and computer readable media for extending the functionality of an unstructured data storage function (UDSF) node to support features and functionality of services and applications accessible via a core network. A system described herein includes a UDSF node having a UDSF data management system that enables network functions to interact with and modify data resources individually maintained by the UDSF node (s). The network function may selectively access a discrete set of data blocks on the record without accessing the entire record and without issuing redundant application programming interface (API) calls to the USDF node (s). UDSF nodes may be implemented in a core network to enhance network functionality in 5th Generation (5G) and beyond communication environments.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] A cellular network can provide computing devices (e.g., mobile devices) with access to services available from one or more data networks. Cellular networks are typically distributed over a geographic area, which typically includes base stations, a core network, and / or an edge network that together provide various services and coverage to end-user devices (e.g., mobile devices). The devices of the cellular network provide reliable access to data networks through mobile devices over a wide geographic area. In many cases, these cellular networks provide mobile devices with access to the cloud.

[0002] As described above, a cellular network includes multiple network components. For example, a cellular network typically includes a radio access network (RAN), an edge network, and a core network. In many cases, the RAN may include a base station having components thereon that communicate wirelessly with user equipment (e.g., a mobile device or other endpoint) and facilitate interaction with other components of the core network and / or cloud computing system. In addition, the core network may include various functions and nodes that provide services to clients.

[0003] In recent years, cellular networks have provided various functions that enhance the capabilities of the services provided to end users. For example, many core networks provide data storage function nodes that provide data storage capabilities to services and applications hosted by the cellular network. Although these storage function nodes have extended services and applications provided by the cellular network, conventional methods of using storage resources have many disadvantages and limitations. For example, traditional storage functions often suffer from inefficiencies in how to read, modify or otherwise access specific data. In addition, conventional implementations of these storage function nodes are limited in the types of operations that can be applied to data resources maintained on the storage function nodes.

[0004] These and other problems exist in conjunction with implementing a data storage functional node that supports various data operations on data maintained thereon. BRIEF DESCRIPTION OF THE DRAWINGS

[0005] Figure 1 An example environment of a core network according to one or more embodiments is shown, including a core network having an Unstructured Data Storage Function (UDSF) node implemented thereon.

[0006] Figure 2 An example implementation of a network function that accesses storage resources on a UDSF node in accordance with one or more embodiments is shown.

[0007] Figure 3 is an example implementation of operational commands provided to a UDSF node in accordance with one or more embodiments.

[0008] Figure 4AExample create operation commands are shown in accordance with one or more embodiments.

[0009] Figure 4B Example read operation commands are shown in accordance with one or more embodiments.

[0010] Figure 4C Example update commands are shown in accordance with one or more embodiments.

[0011] Figure 4D An example delete command is shown in accordance with one or more embodiments.

[0012] Figure 5 A series of example acts related to receiving and processing an operation command on a UDSF node in accordance with one or more embodiments are shown.

[0013] Figure 6 Certain components may be included within a computer system. DETAILED DESCRIPTION

[0014] The present disclosure generally relates to systems, methods, and computer-readable media for extending the functionality of an unstructured data storage function (UDSF) node while supporting features and functionality of services and applications accessible via a core network. In particular, as will be discussed in further detail below, the present disclosure relates to the implementation of a UDSF node with a UDSF data management system that enables applications and services (e.g., network functions) to interact with the UDSF node and modify data on the UDSF node. For example, the UDSF data management system provides features and functionality that enable network functions (and other services or applications) to modify discrete sets of data blocks on records maintained on the UDSF node. As will be discussed below, the UDSF data management system can be implemented on a UDSF node on a core network to facilitate greater flexibility and lower latency for fifth generation (5G) and beyond communication environments.

[0015] As an illustrative example, in a third generation partnership project (3GPP) environment (e.g., a 5G cellular network), a UDSF data management system can be implemented on a UDSF node to facilitate receiving and processing various operation commands on data maintained by the UDSF node. For example, the UDSF data management system can maintain a record on a UDSF node that includes a set of blocks (e.g., data blocks). The UDSF data management system can receive an operation command from a network function with authorized access to the record, the operation command including an instruction to execute the command on an identified subset of blocks from the set of blocks of the record. The UDSF data management system can cause the command to be executed on the identified subset of blocks indicated by the operation command.

[0016] As will be discussed herein, the present disclosure includes multiple practical applications having the features described herein that provide benefits and / or solve problems associated with maintaining and modifying data maintained on UDSF nodes and providing access to the data to various services and applications. Some example benefits are discussed herein in conjunction with the various features and functionality provided by the UDSF data management system. It should be understood that the benefits discussed herein are provided as examples and are not intended to be an exhaustive list of all possible benefits of a UDSF data management system.

[0017] For example, the UDSF nodes and UDSF data management systems described herein provide access to unstructured data to various services and applications implemented on devices different from the UDSF nodes. This facilitates improvements to conventional (e.g., pre-5G) cellular environments in which services and applications (e.g., network functions) maintain data on the same server node to support the features of the functions implemented thereon. In fact, it should be understood that many previous generation (e.g., pre-5G) wireless communication environments do not support UDSF nodes at all. This previous architecture typically produces robust services that are unique to different types of services and have problems scaling resources to accommodate a growing base of end users.

[0018] In addition, the UDSF data management system enables services and applications to create, modify, or otherwise access data on UDSF nodes for sets of selectively sized data blocks. In fact, where conventional systems including UDSF nodes typically involve modifying an entire record when accessing more than one data block, the UDSF data management system provides a mechanism whereby a network function can indicate a discrete range of blocks within a single operation command. The UDSF data management system provides an interface that allows a selected range of blocks to be modified, deleted, read, or otherwise accessed without modifying or accessing the entire record or storage volume, thereby providing enhanced flexibility and faster speeds when accessing data blocks on UDSF nodes.

[0019] In addition, by indicating the range of blocks within the operation command, the UDSF data management system enables the transmission and execution of operation commands using a single application programming interface (API) call. In fact, in conventional systems, where modifying the range of blocks would typically require a separate API call for each discrete data block, the UDSF data management system provides the ability to modify multiple blocks within a single record using a single API call. This reduces latency on multiple API calls and, as described above, also enhances the flexibility and scalability of conventional systems for managing and modifying data maintained on UDSF nodes.

[0020] The features and functions of the UDSF data management system described herein may also be extended to a variety of commands and future wireless communication environments. For example, although one or more embodiments described herein specifically relate to UDSF nodes in a core network in a 5G cellular environment, the UDSF data management system may implement the features described herein in any generation of wireless communication networks where unstructured data storage nodes are used or where separate nodes are used to provide data resources to applications and services of a cloud computing system.

[0021] As shown in the foregoing discussion and as will be discussed in further detail herein, the present disclosure utilizes various terms to describe the features and advantages of the methods and systems described herein. Some of these terms will be discussed in further detail below.

[0022] As used herein, "cloud computing system" or "distributed computing system" may be used interchangeably to refer to a network of connected computing devices that provides various services to computing devices (e.g., client devices). For example, as described above, a cloud computing system may include a collection of physical server devices (e.g., server nodes) organized in a hierarchical structure that includes clusters, computing regions, virtual local area networks (VLANs), racks, fault domains, etc. In one or more embodiments described herein, a portion of a cellular network (e.g., a core network) may be implemented in whole or in part on a cloud computing system. In one or more embodiments, a data network may be implemented on the same or different cloud computing network as a portion of a cellular network.

[0023] As used herein, a "UDSF node" refers to a computing device (e.g., a server node) having storage resources thereon that are accessible by various services and / or applications on a cloud computing system. In one or more embodiments, a UDSF node refers to a server node in a core network that provides access to unstructured data to one or more network functions co-located on the core network. In one or more embodiments, a UDSF node is an unstructured data storage function defined in a current or previous iteration of a 3GPP technical specification (e.g., 3GPP document 29.598), which defines storage services for applications accessible via a wireless communication network.

[0024] In one or more embodiments described herein, operations are performed on data blocks. As used herein, a "block" or "data block" may refer to a single unit or storage of accessible data stored or otherwise maintained on a UDSF node. A block may refer to storage space, whether or not the space is occupied by readable data. For example, a block may refer to empty space before data is created on the block. The block may similarly refer to space that has data previously or currently stored thereon and is accessible (or previously accessible) by a network function.

[0025] A block can be one of a collection of blocks that constitute a larger data set. For example, as used herein, a "record" or "block record" can refer to a collection of blocks that together form a data record. Similarly, a record can be one of a plurality of records that constitute a storage volume. In addition, a storage volume can be one of a plurality of volumes that constitute a storage identifier field. Between different implementations of the UDSF data management system, these specific granularities of storage space can differ in size and scope. Additional details will be discussed below in conjunction with various examples.

[0026] As used herein, a "network function" may refer to an entity in a communication environment (e.g., a communication network) that can access storage maintained on a UDSF node. For example, a network function may refer to an application or service provided by a cloud computing system that utilizes one or more records (e.g., storage volumes) accessible via an API to the corresponding application or service. A network function may be co-located with a UDSF node on a core network. Examples of network functions include, but are not limited to, a session management function (SMF), a management function (MF), and a user plane function (UPF). In fact, a network function may refer to any function or entity in a communication environment (e.g., a 5G or beyond cellular environment) that utilizes data resources provided by a UDSF node.

[0027] As used herein, an "operation command" refers to a set of instructions that can be executed on a UDSF node for data stored thereon. According to one or more embodiments described herein, an operation command can be created and sent by a network function and provided to a UDSF node via an API. As will be discussed in further detail below, an operation command can include an identification of the type of operation to be performed on a block of data and a sequence of identifiers for identifying discrete portions of data maintained on a UDSF node.

[0028] Additional details will now be provided regarding the systems described herein with respect to the illustrative figures depicting example implementations. For example, Figure 1 An example environment 100 is shown for implementing features and functions of a UDSF data management system according to examples described herein.

[0029] like Figure 1As shown, environment 100 may illustrate a portion of a communication environment (e.g., a cellular network, such as a 5G cellular network). For example, environment 100 may include a cloud computing system 102 having a core network 104 and an internal cloud infrastructure 106. Environment 100 may additionally include a plurality of client devices 108 and a radio access network (RAN) 110. These components 104 to 110 may together form a public or private cellular network, which includes a RAN, a core network, and a data network. In addition, any portion of the cellular network may be implemented on a cloud computing system (e.g., a cloud data center) including a core network 104 and an internal cloud infrastructure 106. In one or more embodiments, components of the core network 104 and / or RAN 110 may be implemented as part of an edge network or other decentralized infrastructure, where computing nodes of the cloud computing system 102 are physically implemented at or closer to a client device 108 than other components of the cloud computing system 102 (e.g., an internal cloud infrastructure 106).

[0030] Client device 108 may refer to a variety of computing devices or device endpoints, including, for example, mobile devices such as mobile phones, smart phones, personal digital assistants (PDAs), tablet computers, or laptop computers. Alternatively, one or more of client devices 108 may refer to non-mobile devices, such as desktop computers, server devices (e.g., edge network servers), or other non-portable devices. In one or more embodiments, client device 108 more generally refers to any endpoint capable of communicating with a device on cloud computing system 102, such as an Internet of Things (IoT) device or other Internet-enabled device. In one or more embodiments, client device 108 refers to an application or software construct on a corresponding computing device.

[0031] The RAN 110 may include multiple RAN sites. In one or more embodiments, each RAN site may include one or more base stations and associated RAN components. Although the RAN 110 may include components that are completely separate from the core network 104, one or more embodiments of the environment 100 may include one or more RAN components or services that are traditionally provided by a RAN site implemented on the cloud computing system 102 (e.g., as part of the core network 104). In fact, as communication networks become more complex and further decentralized, one or more components of the RAN 110 may be implemented as virtualized components hosted by a server node of the cloud computing system 102, such as on a server node of an edge network, on the core network 104, and / or on a data center of an internal cloud infrastructure 106 (or across multiple cloud components). In one or more embodiments described herein, various network functions may refer not only to those functions that are served as part of the core network 104, but also to one or more virtualized RAN components that are implemented as services or otherwise hosted on the cloud computing system 102.

[0032] like Figure 1 As shown, the core network 104 may include a UDSF node 112 having a UDSF data management system 114 implemented thereon. The core network 104 may include any number of UDSF nodes 112 that provide access to storage resources maintained thereon. Figure 1 As shown, the core network 104 may include a plurality of network functions 116, which may refer to various entities configured to access and utilize storage resources hosted by the UDSF node(s) 112. Figure 1 Multiple network functions 116 and a single UDSF node 112 are shown, but this configuration is provided as an example. The core network 104 may include any number of network functions that communicate with any number of UDSF nodes.

[0033] As will be discussed in further detail below, in accordance with one or more embodiments described herein, the network function 116 can communicate with and provide operational commands to the UDSF node 112. In practice, as will be discussed in conjunction with various examples, the UDSF data management system 114 can interact with the network function 116 to receive operational commands that conform to a particular format and that include instructions that facilitate execution of the command on a range of data blocks maintained on the UDSF node 112. As described above, the UDSF data management system 114 can enable the network function 116 to align a particular range of blocks within a record of blocks in a manner that allows the network function 116 to fully utilize the data storage capabilities provided by the UDSF node(s) 112.

[0034] Figure 2An example implementation is shown in which a plurality of network functions 116a-n can communicate with an example UDSF node 112 to access data maintained on the UDSF node 112. As described above, the UDSF node 112 and the network functions 116a-n can be implemented on a core network within a 5G communication environment. In addition, the network functions 116a-n can refer to a variety of different network functions, each of which can access data stored on the UDSF node 112 (and other UDSF nodes). The UDSF node 112 and the network functions 116a-n may include features and functions similar to the other UDSF nodes and network functions described herein, such as those described above in conjunction with Figure 1 The network function 116 and the UDSF node 112 are discussed.

[0035] like Figure 2 As shown, the plurality of network functions 116a to n may include a first network function 116a. The first network function 116a may include a storage service manager 202 for managing interactions (eg, operation commands) between the first network function 116a and the UDSF node 112. Figure 2 As shown, the storage service manager 202 may include a command generator 204 and a communication manager 206 .

[0036] The command generator 204 may be configured to create various operation commands to be executed by the UDSF data management system 114 on the UDSF node 112. For example, the command generator 204 may create an operation command that includes an identifier of an operation to be performed on stored data and an instruction indicating a storage location of the data on which the command should be performed. Additional information associated with an operation command will be discussed below in conjunction with various examples, including different types of commands and ways in which the location of a storage device may be indicated.

[0037] like Figure 2 As shown, the storage service manager 202 may additionally include a communication manager 206. The communication manager 206 may be responsible for facilitating the communication of information between the first network function 116a and the UDSF node 112. This may include actions associated with generating data packets including operation commands and sending the operation commands for execution on the UDSF node 112. The communication manager 206 may also receive information from the UDSF node 112 that conveys knowledge of where data is stored and specification data about how the first network function 116a may access the data.

[0038] It should be understood that although the additional network functions 116-n are not shown with the storage service manager 202 thereon, a similar storage service manager may be implemented on each of the additional network functions 116b-n to provide similar features and functions associated with generating and transmitting operation commands between the plurality of network functions 116a-n and the UDSF node 112. Figure 2 Although not shown, it should be understood that the network functions 116a to n and the UDSF node 112 may communicate directly or indirectly through the network. Figure 2 The device shown can communicate via one or more networks, and one or more communication platforms or technologies suitable for sending data can be used. The network can refer to any data link that can transmit electronic data (e.g., operation commands) between the device and / or module of the components shown. The network used to promote the communication between the devices described herein can refer to a hard-wired network, a wireless network, or a combination of hard-wired and wireless networks. In one or more embodiments, the device can communicate through a network including the Internet.

[0039] Additional details will now be provided in conjunction with the UDSF data management system 114 implemented on the UDSF node 112. Figure 2 As shown, the UDSF data management system 114 may include a communication interface manager 208. The communication interface manager 208 may enable communication between the UDSF node 112 and other devices on the core network and outside. Figure 2 In the context of the illustrated environment, the communication interface manager 208 may enable communications between the UDSF node 112 and the network functions 116a-n.

[0040] In one or more embodiments, the communication interface manager 208 may enable communication by authenticating the network functions 116a-n. For example, the communication interface manager 208 may authenticate the identities of the network functions 116a-n to ensure that the network functions 116a-n are known to the UDSF node 112. In one or more embodiments, the communication interface manager 208 may transmit information associated with the location of the storage space accessible to the respective network functions 116a-n.

[0041] In one or more embodiments, the communication interface manager 208 establishes or exposes an API to the network functions 116a to n so that the network functions 116a to n can interact directly with the storage space. In fact, as will be discussed in one or more embodiments, the communication interface manager 208 can establish a protocol that enables the network functions 116a to n to access a range of data blocks based on a single API call transmitted to the communication interface manager 208.

[0042] like Figure 2As further shown, the UDSF data management system 114 may include a data block manager 210. The data block manager 210 may provide functionality related to allocating or otherwise assigning data blocks to one or more network functions 116a to n. In one or more embodiments, this may involve managing permissions associated with allowing some or all network functions to read, modify, or otherwise access certain records on the UDSF node 112. For example, the data block manager 210 may manage permissions that allow certain network functions to perform select operation commands. For example, a first network function 116a may be allowed to create, edit, delete, and read specific data records (or a selected range of data blocks), while other network functions 116b to n are only allowed to read the data records (or not access the data records at all).

[0043] like Figure 2 As further shown, the UDSF data management system 114 may include a command execution manager 212. The command execution manager 212 may provide functionality related to parsing received operational commands and executing the commands on the indicated data blocks. For example, the command execution manager 212 may receive an operational command including a sequence of identifiers, and the command execution manager 212 may parse and implement execution of the command according to the instructions indicated within the body of the operational command. Additional details related to receiving and executing operational commands will be discussed below.

[0044] like Figure 2 As shown, the UDSF node 112 includes a data storage device 214, which includes data resources accessible to one or more of the network functions 116a to n. In the example shown, the data storage device 214 includes a set of data blocks 216, which can be organized or subdivided in a certain number of ways. For example, as described above, the set of data blocks 216 can be divided into records, which can be divided into one or more storage volumes, which can be divided into storage domains. This hierarchical structure in which the set of data blocks 216 can be organized can vary between different implementations of the system described herein.

[0045] As used herein, the set 216 of data blocks may be categorized at different levels of granularity, where each level of granularity is associated with a different device and / or session between devices. As a non-limiting example, in one or more embodiments, the set 216 of data blocks may include multiple individual blocks having associated block identifiers. The multiple individual blocks may be grouped in a discrete data record. The record may refer to a grouping of blocks associated with a particular session of an application. Thus, a record may refer to any data block within a range of data blocks associated with an application or service. In one or more embodiments, a record may refer to a range of blocks associated with a particular processing entity of a network function. Figure 1In the example shown, the record can refer to a grouping of data blocks assigned to the first network function 116a, a specific session hosted by the first network function 116a (e.g., where the network function can host multiple sessions), or a specific processing entity or microservice contained within the first network function 116a.

[0046] As described above, a record may be one of multiple records contained within a storage volume (e.g., associated with a storage identifier). A storage volume may refer to a collection 216 of data blocks included within a data storage device 214. Alternatively, a storage volume may refer to a subset of multiple records included within a data storage device 214 hosted by a UDSF node 112. A storage volume may be one of multiple storage volumes available to network functions 116a to n. Multiple storage volumes (e.g., across multiple UDSF nodes) may be grouped within a single storage domain. A storage domain may refer to a collection of storage blocks across multiple UDSF nodes, such as those included within a region or within a particular core network.

[0047] As described above, each of the above examples is not intended to be limited to a specific association between the granularity of data blocks and a specific entity of the core network. In addition, it should be understood that the specific set of data blocks associated with a record, storage volume, and / or storage domain may be defined by the technical specifications of the UDSF node 112 and / or a standard that defines how various operations may be performed on a set of data blocks maintained on one or more UDSF nodes. Therefore, the specific divisions and granularity of these specific hierarchical storage levels may be different based on the specifications of the specific hardware.

[0048] Additional details will now be given in conjunction with example operation commands. Specifically, Figure 3 1 shows an example implementation of a network function 116 and a UDSF node 112 having data resources maintained thereon accessible to the network function 116. Figure 3 As shown, the network function 116 can generate an operation command 302 and provide the operation command 302 to the UDSF node 112. In one or more embodiments, the network function 116 provides the operation command 302 by making an API call via an interface exposed by the UDSF node 112.

[0049] like Figure 3 As shown, the operation command 302 includes a certain number of parts indicating instructions that enable the UDSF node 112 to receive, parse and execute the command. For example, the operation command 302 may include a command identifier 304 indicating the type of command to be performed on a portion of the data. FIG. 4A to FIG. 4DExamples of different command identifiers corresponding to some example commands are discussed. In one or more embodiments, command identifier 304 includes a single command identifier corresponding to the type of operation to be performed on the indicated range of blocks. Alternatively, in one or more specific implementations, command identifier 304 includes multiple command identifiers that can be performed on the indicated range of blocks (e.g., using a single API call for multiple commands, or alternatively, using a single API call for each of the indicated commands from operation commands 302).

[0050] The operation command 302 may also include an additional portion indicating the location of the data on which the command should be executed. For example, the operation command 302 may include a record location 306 indicating the location of the data record on which the command corresponding to the command identifier 304 is to be executed. The record identifier may include a sequence of identifiers indicating locations within a hierarchical structure where the record can be found. As described above, the record location may include a sequence of location identifiers including a domain identifier (e.g., an identifier of a UDSF node or a collection of UDSF nodes), a storage volume identifier (e.g., an identifier of a collection of specific records associated with the network function 116 or a specific process of the network function 116), and a record identifier indicating a discrete collection of data blocks associated with a specific session or service and maintained within the UDSF node 112.

[0051] The operation command 302 may further include a block list 308 indicating a subset of blocks from the identified record on which the operation will be performed. The block list 308 may identify a range of blocks within the corresponding record in various ways. For example, the block list 308 may indicate a range of blocks by identifying each relevant block on which the operation is to be performed. The block list 308 may indicate a range of blocks by identifying an endpoint block to indicate a subset of contiguous blocks on which the operation is to be performed. The block list 308 may indicate a range of blocks within a specific record, or alternatively, a range of block addresses (e.g., full block addresses) within a storage volume on the UDSF node 112. In practice, the block list 308 may indicate a specific subset of blocks according to a format specified by an API and / or specification, which defines how blocks should be identified within the operation command 302.

[0052] In addition to the illustrated portion of the operation command 302, the operation command 302 may also include a value or specific data that will be included in the corresponding data block. In particular, where the operation command 302 is a command to create or modify a block of a specific record, the operation command 302 may also include a specific value that may be included as part of the creation or modification operation. For example, in the case of a create operation, the operation command 302 may include a value that will be included in the new data block. In the case of a modify operation, the operation command 302 may include a value that replaces the previous value that occupies the indicated data block. Other operations may not necessarily include a specific value (e.g., a delete or read operation).

[0053] Based on the operation command 302, the UDSF node 112 (or the network function 116) may identify a subset of the chunks from the set 310 of records maintained on the UDSF node 112. Figure 3 In the example operation command 302 shown, the UDSF node 112 may execute a command on a specific range of data blocks within an identified record. In the example shown, the UDSF node 112 may return the identified record 312, wherein a subset 314 of blocks from the record 312 is read, modified, created, deleted, or otherwise accessed based on the command identifier 304 included in the operation command 302. In one or more embodiments, the UDSF node 112 may return only the portion of the record 312 on which the operation is performed (e.g., a subset of blocks). In one or more embodiments, the UDSF node 112 may simply provide an indication that the command has been executed (e.g., rather than returning the identified record 312 with the associated subset 314 of blocks).

[0054] Reference now FIG. 4A to FIG. 4D According to one or more embodiments described herein, various examples of operation commands may be performed on a range of selected blocks based on characteristics of the operation commands generated and provided to a USDF node. As described above, a particular operation command may refer to a variety of command types, including, for example, create commands, read commands, update commands, and delete commands. As used herein, these operation commands help provide examples of API calls that may be made when selectively performing an operation on a subset of indicated blocks of records maintained on a given UDSF node. FIG. 4A to FIG. 4D Non-limiting examples of these different command types are shown.

[0055] For example, Figure 4A An example create command 402 is shown. In this example, the create command 402 may be associated with inserting data into a subset of identified blocks and not inserting data into one or more blocks outside of the identified subset. Figure 4AAs shown, create command 402 includes a command identifier (eg, "PUT") followed by a sequence of values ​​indicating the location of a block on which create command 402 should be executed.

[0056] In the example shown, the create command 402 includes a first location identifier (realmId) that can be used to identify a specific UDSF node or a portion of data within a UDSF node that the network function can access. The create command 402 also includes a second location identifier (storageId) that can be used to identify a specific storage volume associated with the network function or a specific service or process of the network function. The create command 402 also includes record data (record), which can indicate metadata associated with operational data included in a specific record. The create command 402 may also include a third identifier (recordId) that can be used to identify a specific record of data associated with a specific session, a discrete process of the network function, a microservice, or an associated domain. As described above, the realm identifier, storage identifier, record information, and record identifier can refer to a specific portion of data according to relevant specifications associated with UDSF hardware or a defined storage structure.

[0057] In addition to the location identifier (e.g., domain ID, storage ID, record ID), the create command 402 may include an indicated block range (blockIdList). The block range may indicate a subset of blocks within the associated record. The block range may refer to a proper subset that includes some blocks but not all blocks of the associated record. The block range may be identified based on block endpoints or may include a list of all related blocks that will be affected by the command. In this example, the create command 402 may cause the UDSF to execute the command by creating values ​​for the indicated block range without creating values ​​for specific blocks outside the indicated range.

[0058] Figure 4B An example read command 404 is shown. In this example, the read command 404 may be associated with returning data currently stored in the identified subset of blocks without returning data within one or more blocks in the set of blocks outside of the identified subset. Figure 4B As shown in , the read command 404 includes a command identifier (e.g., "GET") followed by a sequence of values ​​indicating the location of the block on which the read command 404 should be executed. Figure 4B As shown, additional identifiers (e.g., realmId, storageId, records, recordId, and blockIdList) may refer to identifiers similar to the above-described create command 402. It should be appreciated that similar identifiers in the read command 404 may be similarly used to identify a subset of data blocks within a particular record on which the read command is to be executed.

[0059] Figure 4C An example update command 406 is shown. In this example, the update command 406 may be associated with updating data currently stored in the identified subset of blocks without updating data within one or more blocks in the set of blocks outside of the identified subset. Figure 4C As shown, the update command 406 includes a command identifier (e.g., "MOD") followed by a sequence of values ​​indicating the location of the block on which the update command 406 should be executed. In one or more embodiments, the command identifier of the update command is the same as the command identifier of the create command (e.g., "PUT"). Figure 4C As shown, additional identifiers (e.g., realmId, storageId, records, recordId, and blockIdList) may refer to identifiers similar to the above-described create command 402 and read command 404. It should be understood that similar identifiers in update command 406 may be similarly used to identify a subset of data blocks within a particular record on which an update command is to be performed.

[0060] Figure 4D An example delete command 408 is shown. In this example, the delete command 408 may be associated with deleting data currently stored in the identified subset of blocks without deleting data within one or more blocks in the set of blocks outside of the identified subset. Figure 4D As shown, the delete command 408 includes a command identifier (e.g., "DEL") followed by a sequence of values ​​indicating the location of the block on which the delete command 408 should be executed. Figure 4D As shown, additional identifiers (e.g., realmId, storageId, records, recordId, and blockIdList) may refer to identifiers similar to the above-described create command 402, read command 404, and update command 406. It should be understood that similar identifiers in the delete command 408 may be similarly used to identify a subset of data blocks within a particular record on which the delete command is to be executed.

[0061] As mentioned above, although FIG. 4A to FIG. 4D , but one or more of the above commands may also include a specific data value to be merged with the command. For example, where the operation command is a create command or a modify command, the corresponding command may additionally include a value that is used to create a data block or replace a value previously stored in a data block.

[0062] Now go to Figure 5 , which shows an example flow chart including a series of actions for implementing the features and functions described herein. Specifically, Figure 5A series of actions related to extending the functionality of a UDSF node to support features and functions of services and applications accessible via the core network are shown. Figure 5 Actions according to one or more embodiments are shown, but alternative embodiments may omit, add to, reorder, and / or modify Figure 5 Any action shown. Figure 5 The actions of may be performed as part of a method. Alternatively, a non-transitory computer-readable medium may include instructions thereon that, when executed by one or more processors, cause a server device and / or a client device to perform Figure 5 In a further embodiment, the system may perform Figure 5 action.

[0063] Figure 5 A series of actions 500 are shown for receiving and processing operation commands for data stored in a UDSF node (eg, within a 3GPP environment). Figure 5 As shown, a series of acts 500 includes an act 510 of maintaining a record on a UDSF node, the record including a collection of data chunks organized into a record. In one or more embodiments, act 510 includes maintaining a first record on a first UDSF node, the first record including a collection of chunks.

[0064] like Figure 5 As further shown in , the series of acts 500 includes an act 520 of receiving an operation command from a network function, the operation command including instructions to execute the command on an identified subset of blocks of a record. In one or more embodiments, act 520 includes receiving an operation command from a network function that has been authorized to access a first record, the operation command including an identifier of a subset of blocks from the set of blocks of the first record and including instructions associated with executing the command on the identified subset of blocks.

[0065] like Figure 5 As further shown in the sequence of actions 500, the sequence of actions 500 includes an action 530 of causing a command to be executed on a subset of identified blocks. In one or more embodiments, the action 530 includes causing a command to be executed on a subset of blocks identified from the operation command based on an identifier of the subset of blocks and instructions. In one or more embodiments, causing the command to be executed is based on a single API call from a network function.

[0066] In one or more embodiments, the UDSF node is implemented on a core network hosted by a cloud computing system. In one or more embodiments, the network functions and UDSF nodes are implemented in a 5G (or more) cellular network.

[0067] In one or more embodiments, a series of acts 500 includes an act of maintaining, on a first UDSF node, a second record including a second set of blocks accessible to a network function. The first record may be associated with a first session for a service provided by the network function, and the second record may be associated with a second session for the service provided by the network function. In one or more embodiments, an operation command includes a first record identifier associated with the first record, and includes a block range identifier indicating an identified subset of the blocks on which the command is to be executed.

[0068] In one or more embodiments, the operation command includes a command identifier indicating the command. The command may include a create command, the create command being associated with inserting data into the identified subset of blocks without inserting data into one or more blocks outside the identified subset in the set of blocks. The command may include a read command, the read command being associated with returning data currently stored in the identified subset of blocks without returning data in one or more blocks outside the identified subset in the set of blocks. The command may include an update command, the update command being associated with updating data currently stored in the identified subset of blocks without updating data in one or more blocks outside the identified subset in the set of blocks. The command may include a delete command, the delete command being associated with deleting data currently stored in the identified subset of blocks without deleting data in one or more blocks outside the identified subset in the set of blocks.

[0069] In one or more embodiments, the operation command includes a sequence of identifiers that, when provided within the operation command, can be used to locate an identified subset of the blocks within the first record, wherein the sequence of identifiers includes a domain identifier, a storage identifier, a record identifier, and a block range identifier that identifies a range of blocks from the corresponding record.

[0070] In one or more embodiments, a sequence of identifiers is defined based on a specification of a UDSF interface, the sequence of identifiers being usable by the network function to access data maintained on the first UDSF node. In one or more embodiments, the domain identifier is a unique node identifier associated with the first UDSF node. In one or more embodiments, the storage identifier is a unique function identifier associated with an instance of the network function. In one or more embodiments, the record identifier is a unique session identifier associating the first record with a session of the network function.

[0071] Figure 6Certain components are shown that may be included within computer system 600. One or more computer systems 600 may be used to implement the various devices, components, and systems described herein.

[0072] Computer system 600 includes processor 601. Processor 601 may be a general purpose single-chip or multi-chip microprocessor (e.g., Advanced RISC (Reduced Instruction Set Computer) Machine (ARM)), a dedicated microprocessor (e.g., a digital signal processor (DSP)), a microcontroller, a programmable gate array, etc. Processor 601 may be referred to as a central processing unit (CPU). Figure 6 Only a single processor 601 is shown in the computer system 600 , but in an alternative configuration, a combination of processors (eg, an ARM and DSP) could be used.

[0073] The computer system 600 also includes a memory 603 in electronic communication with the processor 601. The memory 603 may be any electronic component capable of storing electronic information. For example, the memory 603 may be embodied as a random access memory (RAM), a read-only memory (ROM), a magnetic disk storage medium, an optical storage medium, a flash memory device in a RAM, an on-board memory included with the processor, an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM) memory, a register, etc., including combinations thereof.

[0074] Instructions 605 and data 607 may be stored in memory 603. Instructions 605 may be executed by processor 601 to implement some or all of the functionality disclosed herein. Executing instructions 605 may involve using data 607 stored in memory 603. Any of the various examples of modules and components described herein may be implemented in part or in whole as instructions 605 stored in memory 603 and executed by processor 601. Any of the various examples of data described herein may be among the data 607 stored in memory 603 and used during execution of instructions 605 by processor 601.

[0075] The computer system 600 may also include one or more communication interfaces 609 for communicating with other electronic devices. The communication interface 609 may be based on wired communication technology, wireless communication technology, or both. Some examples of the communication interface 609 include a universal serial bus (USB), an Ethernet adapter, a wireless adapter operating according to the Institute of Electrical and Electronics Engineers (IEEE) 802.11 wireless communication protocol, a Bluetooth wireless communication adapter, and an infrared (IR) communication port.

[0076] The computer system 600 may also include one or more input devices 611 and one or more output devices 613. Some examples of input devices 611 include keyboards, mice, microphones, remote control devices, buttons, joysticks, trackballs, touchpads, and light pens. Some examples of output devices 613 include speakers and printers. One specific type of output device that is typically included in the computer system 600 is a display device 615. The display device 615 used with the embodiments disclosed herein may utilize any suitable image projection technology, such as a liquid crystal display (LCD), a light emitting diode (LED), gas plasma, electroluminescence, and the like. A display controller 617 may also be provided for converting data 607 stored in the memory 603 into text, graphics, and / or moving images (as appropriate) shown on the display device 615.

[0077] The various components of the computer system 600 may be coupled together via one or more buses, which may include a power bus, a control signal bus, a status signal bus, a data bus, etc. For clarity, the various buses are shown in FIG. Figure 6 Shown in FIG. 6 is bus system 619 .

[0078] Unless specifically described as being implemented in a particular manner, the techniques described herein may be implemented in hardware, software, firmware, or any combination thereof. Any features described as modules, components, etc. may also be implemented together in an integrated logic device, or individually as discrete but interoperable logic devices. If implemented in software, the techniques may be implemented at least in part by a non-transient processor-readable storage medium comprising instructions that, when executed by at least one processor, perform one or more of the methods described herein. Instructions may be organized into routines, programs, objects, components, data structures, etc., which may perform specific tasks and / or implement specific data types, and may be combined or distributed in various embodiments as desired.

[0079] Computer-readable media can be any available media that can be accessed by a general or special purpose computer system. A computer-readable medium that stores computer-executable instructions is a non-transient computer-readable storage medium (device). A computer-readable medium that carries computer-executable instructions is a transmission medium. Therefore, by way of example and not limitation, embodiments of the present disclosure may include at least two distinctly different types of computer-readable media: a non-transient computer-readable storage medium (device) and a transmission medium.

[0080] As used herein, non-transitory computer-readable storage media (devices) may include RAM, ROM, EEPROM, CD-ROM, solid-state drives ("SSD") (e.g., RAM-based), flash memory, phase-change memory ("PCM"), other types of memory, other optical disk storage, magnetic disk storage or other magnetic storage, or any other media that can be used to store desired program code means in the form of computer-executable instructions or data structures and that can be accessed by a general purpose or special purpose computer.

[0081] Without departing from the scope of the claims, the steps and / or actions of the methods described herein may be interchanged with each other. In other words, unless the proper operation of the described method requires a specific order of steps or actions, the order and / or use of specific steps and / or actions may be modified without departing from the scope of the claims.

[0082] The term "determining" encompasses a wide variety of actions, and thus, "determining" may include calculating, evaluating, processing, deriving, investigating, looking up (e.g., looking up in a table, a database, or another data structure), ascertaining, etc. Also, "determining" may include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory), etc. Furthermore, "determining" may include resolving, selecting, choosing, establishing, etc.

[0083] The terms "comprising," "including," and "having" are intended to be inclusive, and mean that there may be additional elements in addition to the listed elements. In addition, it should be understood that reference to "one embodiment" or "an embodiment" of the present disclosure is not intended to be interpreted as excluding the existence of additional embodiments that also include the described features. For example, any element or feature described with respect to an embodiment herein may be combined with any element or feature of any other embodiment described herein, where compatible.

[0084] Without departing from the spirit or characteristics of the present disclosure, the present disclosure may be embodied in other specific forms. The described embodiments should be considered illustrative rather than restrictive. Therefore, the scope of the present disclosure is indicated by the appended claims rather than by the foregoing description. Changes within the meaning and scope of the equivalents of the claims should be included within their scope.

Claims

1. A method for receiving and processing an operation command on data in a 3rd Generation Partnership Project (3GPP) environment including an unstructured data storage resource, the unstructured data storage resource being accessible to a functional entity, the data being stored in an unstructured data storage function (UDSF) node, the method comprising: Maintaining a first record on a first UDSF node, the first record comprising a set of blocks; receiving, from a network function that is authorized to access the first record, an operation command, the operation command comprising an identifier of a subset of blocks from the set of blocks of the first record and comprising instructions associated with executing a command on the identified subset of blocks; as well as Based on the instruction and the identifier of the subset of blocks, the command is caused to be executed on the subset of blocks identified from the operation command.

2. The method of claim 1, wherein causing the command to be executed is based on a single application programming interface (API) call from the network function. 3 . The method according to claim 1 , wherein the first UDSF node is implemented on a core network hosted by a cloud computing system. 4 .

4. The method according to any one of claims 1 to 3, wherein the network function and the UDSF node are implemented in a 5G cellular environment.

5. The method according to any one of claims 1 to 4, further comprising maintaining a second record on the first UDSF node, the second record comprising a second set of blocks accessible to the network function, and wherein the first record is associated with a first session for a service provided by the network function, and wherein the second record is associated with a second session for the service provided by the network function.

6. The method of claim 5, wherein the operation command includes a first record identifier associated with the first record and includes a block range identifier indicating a subset of the identified blocks on which the command is to be executed.

7. The method according to any one of claims 1 to 6, wherein the operation command comprises a command identifier indicating the command, and the command comprises one of the following: a create command associated with inserting data into the identified subset of blocks without inserting data into one or more blocks in the set of blocks outside of the identified subset; a read command associated with returning data currently stored in the identified subset of blocks without returning data within one or more blocks in the set of blocks outside of the identified subset; an update command associated with updating data currently stored in the identified subset of blocks without updating data within one or more blocks in the set of blocks outside of the identified subset; or A delete command is associated with deleting data currently stored in the identified subset of blocks without deleting data within one or more blocks in the set of blocks outside of the identified subset.

8. A method according to any one of claims 1 to 7, wherein the operation command includes a sequence of identifiers, which, when provided within the operation command, can be used to locate a subset of the identified blocks within the first record, wherein the sequence of identifiers includes a domain identifier, a storage identifier, a record identifier and a block range identifier, and the block range identifier identifies a range of blocks from the corresponding record.

9. The method of claim 8, wherein the sequence of identifiers is defined based on a specification of a UDSF interface, the sequence of identifiers usable by the network function to access data maintained on the first UDSF node.

10. The method of any one of claims 8 to 9, wherein the domain identifier is a unique node identifier associated with the first UDSF node.

11. The method according to any one of claims 8 to 10, wherein the storage identifier is a unique function identifier associated with the instance of the network function.

12. The method of any one of claims 8 to 11, wherein the record identifier is a unique session identifier associating the first record with a session of the network function.

13. A method for receiving and processing an operation command on data in a 3rd Generation Partnership Project (3GPP) environment including an unstructured data storage resource, the unstructured data storage resource being accessible to a functional entity, the data being stored in an unstructured data storage function (UDSF) node, the method comprising: maintaining a first record on a first UDSF node, the first UDSF node being implemented in a core network of a fifth generation (5G) cellular environment, the first record comprising a set of blocks; receiving, from a network function implemented in the core network, an operation command, the operation command comprising an identifier of a subset of blocks from the set of blocks of the first record and comprising instructions associated with executing a command on the identified subset of blocks; as well as Based on the instruction and the identifier of the subset of blocks, the command is caused to be executed on the subset of blocks identified from the operation command.

14. The method of claim 13, wherein causing the command to be executed is based on a single application programming interface (API) call from the network function.

15. A computer program which, when executed on a processor of a computing system, is configured to perform the method according to any one of claims 1 to 14.