This application is related to wired and/or wireless communications, including, for example, procedures in connection with transaction management in blockchain-enabled wireless systems.
A more detailed understanding may be had from the detailed description below, given by way of example in conjunction with drawings appended hereto. Figures in such drawings, like the detailed description, are examples. As such, the Figures and the detailed description are not to be considered limiting, and other equally effective examples are possible and likely. Furthermore, like reference numerals (“ref.”) in the Figures indicate like elements, and wherein:
In the following detailed description, numerous specific details are set forth to provide a thorough understanding of embodiments and/or examples disclosed herein. However, it will be understood that such embodiments and examples may be practiced without some or all of the specific details set forth herein. In other instances, well-known methods, procedures, components and circuits have not been described in detail, so as not to obscure the following description. Further, embodiments and examples not specifically described herein may be practiced in lieu of, or in combination with, the embodiments and other examples described, disclosed or otherwise provided explicitly, implicitly and/or inherently (collectively “provided”) herein. Although various embodiments are described and/or claimed herein in which an apparatus, system, device, etc. and/or any element thereof carries out an operation, process, algorithm, function, etc. and/or any portion thereof, it is to be understood that any embodiments described and/or claimed herein assume that any apparatus, system, device, etc. and/or any element thereof is configured to carry out any operation, process, algorithm, function, etc. and/or any portion thereof.
The methods, apparatuses and systems provided herein are well-suited for communications involving both wired and wireless networks. Wired networks are well-known. An overview of various types of wireless devices and infrastructure is provided with respect to
As shown in
The communications systems 100 may also include a base station 114a and/or a base station 114b. Each of the base stations 114a, 114b may be any type of device configured to wirelessly interface with at least one of the WTRUs 102a, 102b, 102c, 102d, e.g., to facilitate access to one or more communication networks, such as the CN 106/115, the Internet 110, and/or the networks 112. By way of example, the base stations 114a, 114b may be any of a base transceiver station (BTS), a Node-B (NB), an eNode-B (eNB), a Home Node-B (HNB), a Home eNode-B (HeNB), a gNode-B (gNB), a NR Node-B (NR NB), a site controller, an access point (AP), a wireless router, and the like. While the base stations 114a, 114b are each depicted as a single element, it will be appreciated that the base stations 114a, 114b may include any number of interconnected base stations and/or network elements.
The base station 114a may be part of the RAN 104/113, which may also include other base stations and/or network elements (not shown), such as a base station controller (BSC), a radio network controller (RNC), relay nodes, etc. The base station 114a and/or the base station 114b may be configured to transmit and/or receive wireless signals on one or more carrier frequencies, which may be referred to as a cell (not shown). These frequencies may be in licensed spectrum, unlicensed spectrum, or a combination of licensed and unlicensed spectrum. A cell may provide coverage for a wireless service to a specific geographical area that may be relatively fixed or that may change over time. The cell may further be divided into cell sectors. For example, the cell associated with the base station 114a may be divided into three sectors. Thus, in one embodiment, the base station 114a may include three transceivers, i.e., one for each sector of the cell. In an embodiment, the base station 114a may employ multiple-input multiple output (MIMO) technology and may utilize multiple transceivers for each or any sector of the cell. For example, beamforming may be used to transmit and/or receive signals in desired spatial directions.
The base stations 114a, 114b may communicate with one or more of the WTRUs 102a, 102b, 102c, 102d over an air interface 116, which may be any suitable wireless communication link (e.g., radio frequency (RF), microwave, centimeter wave, micrometer wave, infrared (IR), ultraviolet (UV), visible light, etc.). The air interface 116 may be established using any suitable radio access technology (RAT).
More specifically, as noted above, the communications system 100 may be a multiple access system and may employ one or more channel access schemes, such as CDMA, TDMA, FDMA, OFDMA, SC-FDMA, and the like. For example, the base station 114a in the RAN 104/113 and the WTRUs 102a, 102b, 102c may implement a radio technology such as Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access (UTRA), which may establish the air interface 115/116/117 using wideband CDMA (WCDMA). WCDMA may include communication protocols such as High-Speed Packet Access (HSPA) and/or Evolved HSPA (HSPA+). HSPA may include High-Speed Downlink Packet Access (HSDPA) and/or High-Speed Uplink Packet Access (HSUPA).
In an embodiment, the base station 114a and the WTRUs 102a, 102b, 102c may implement a radio technology such as Evolved UMTS Terrestrial Radio Access (E-UTRA), which may establish the air interface 116 using Long Term Evolution (LTE) and/or LTE-Advanced (LTE-A) and/or LTE-Advanced Pro (LTE-A Pro).
In other embodiments, the base station 114a and the WTRUs 102a, 102b, 102c may implement radio technologies such as IEEE 802.16 (i.e., Worldwide Interoperability for Microwave Access (WiMAX)), CDMA2000, CDMA2000 1×, CDMA2000 EV-DO, Interim Standard 2000 (IS-2000), Interim Standard 95 (IS-95), Interim Standard 856 (IS-856), Global System for Mobile communications (GSM), Enhanced Data rates for GSM Evolution (EDGE), GSM EDGE (GERAN), and the like.
In an embodiment, the base station 114a and the WTRUs 102a, 102b, 102c may implement a radio technology such as NR Radio Access, which may establish the air interface 116 using New Radio (NR).
In an embodiment, the base station 114a and the WTRUs 102a, 102b, 102c may implement multiple radio access technologies. For example, the base station 114a and the WTRUs 102a, 102b, 102c may implement LTE radio access and NR radio access together, for instance using dual connectivity (DC) principles. Thus, the air interface utilized by WTRUs 102a, 102b, 102c may be characterized by multiple types of radio access technologies and/or transmissions sent to/from multiple types of base stations (e.g., an eNB and a gNB).
In other embodiments, the base station 114a and the WTRUs 102a, 102b, 102c may implement radio technologies such as IEEE 802.11 (i.e., Wireless Fidelity (Wi-Fi), IEEE 802.16 (i.e., Worldwide Interoperability for Microwave Access (WiMAX)), CDMA2000, CDMA2000 1×, CDMA2000 EV-DO, Interim Standard 2000 (IS-2000), Interim Standard 95 (IS-95), Interim Standard 856 (IS-856), Global System for Mobile communications (GSM), Enhanced Data rates for GSM Evolution (EDGE), GSM EDGE (GERAN), and the like.
The base station 114b in
The RAN 104/113 may be in communication with the CN 106/115, which may be any type of network configured to provide voice, data, applications, and/or voice over internet protocol (VoIP) services to one or more of the WTRUs 102a, 102b, 102c, 102d. The data may have varying quality of service (QoS) requirements, such as differing throughput requirements, latency requirements, error tolerance requirements, reliability requirements, data throughput requirements, mobility requirements, and the like. The CN 106/115 may provide call control, billing services, mobile location-based services, pre-paid calling, Internet connectivity, video distribution, etc., and/or perform high-level security functions, such as user authentication. Although not shown in
The CN 106/115 may also serve as a gateway for the WTRUs 102a, 102b, 102c, 102d to access the PSTN 108, the Internet 110, and/or other networks 112. The PSTN 108 may include circuit-switched telephone networks that provide plain old telephone service (POTS). The Internet 110 may include a global system of interconnected computer networks and devices that use common communication protocols, such as the transmission control protocol (TCP), user datagram protocol (UDP) and the internet protocol (IP) in the TCP/IP internet protocol suite. The networks 112 may include wired or wireless communications networks owned and/or operated by other service providers. For example, the networks 112 may include another CN connected to one or more RANs, which may employ the same RAT as the RAN 104/114 or a different RAT.
Some or all of the WTRUs 102a, 102b, 102c, 102d in the communications system 100 may include multi-mode capabilities (e.g., the WTRUs 102a, 102b, 102c, 102d may include multiple transceivers for communicating with different wireless networks over different wireless links). For example, the WTRU 102c shown in
The processor 118 may be a general purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits (ASICs), Field Programmable Gate Array (FPGAs) circuits, any other type of integrated circuit (IC), a state machine, and the like. The processor 118 may perform signal coding, data processing, power control, input/output processing, and/or any other functionality that enables the WTRU 102 to operate in a wireless environment. The processor 118 may be coupled to the transceiver 120, which may be coupled to the transmit/receive element 122. While
The transmit/receive element 122 may be configured to transmit signals to, or receive signals from, a base station (e.g., the base station 114a) over the air interface 116. For example, in an embodiment, the transmit/receive element 122 may be an antenna configured to transmit and/or receive RF signals. In an embodiment, the transmit/receive element 122 may be an emitter/detector configured to transmit and/or receive IR, UV, or visible light signals, for example. In an embodiment, the transmit/receive element 122 may be configured to transmit and receive both RF and light signals. It will be appreciated that the transmit/receive element 122 may be configured to transmit and/or receive any combination of wireless signals.
In addition, although the transmit/receive element 122 is depicted in
The transceiver 120 may be configured to modulate the signals that are to be transmitted by the transmit/receive element 122 and to demodulate the signals that are received by the transmit/receive element 122. As noted above, the WTRU 102 may have multi-mode capabilities. Thus, the transceiver 120 may include multiple transceivers for enabling the WTRU 102 to communicate via multiple RATs, such as NR and IEEE 802.11, for example.
The processor 118 of the WTRU 102 may be coupled to, and may receive user input data from, the speaker/microphone 124, the keypad 126, and/or the display/touchpad 128 (e.g., a liquid crystal display (LCD) display unit or organic light-emitting diode (OLED) display unit). The processor 118 may also output user data to the speaker/microphone 124, the keypad 126, and/or the display/touchpad 128. In addition, the processor 118 may access information from, and store data in, any type of suitable memory, such as the non-removable memory 130 and/or the removable memory 132. The non-removable memory 130 may include random-access memory (RAM), read-only memory (ROM), a hard disk, or any other type of memory storage device. The removable memory 132 may include a subscriber identity module (SIM) card, a memory stick, a secure digital (SD) memory card, and the like. In other embodiments, the processor 118 may access information from, and store data in, memory that is not physically located on the WTRU 102, such as on a server or a home computer (not shown).
The processor 118 may receive power from the power source 134, and may be configured to distribute and/or control the power to the other components in the WTRU 102. The power source 134 may be any suitable device for powering the WTRU 102. For example, the power source 134 may include one or more dry cell batteries (e.g., nickel-cadmium (NiCd), nickel-zinc (NiZn), nickel metal hydride (NiMH), lithium-ion (Li-ion), etc.), solar cells, fuel cells, and the like.
The processor 118 may also be coupled to the GPS chipset 136, which may be configured to provide location information (e.g., longitude and latitude) regarding the current location of the WTRU 102. In addition to, or in lieu of, the information from the GPS chipset 136, the WTRU 102 may receive location information over the air interface 116 from a base station (e.g., base stations 114a, 114b) and/or determine its location based on the timing of the signals being received from two or more nearby base stations. It will be appreciated that the WTRU 102 may acquire location information by way of any suitable location-determination method while remaining consistent with an embodiment.
The processor 118 may further be coupled to other peripherals 138, which may include one or more software and/or hardware modules/units that provide additional features, functionality and/or wired or wireless connectivity. For example, the peripherals 138 may include an accelerometer, an e-compass, a satellite transceiver, a digital camera (e.g., for photographs or video), a universal serial bus (USB) port, a vibration device, a television transceiver, a hands free headset, a Bluetooth® module, a frequency modulated (FM) radio unit, a digital music player, a media player, a video game player module, an Internet browser, a virtual reality and/or augmented reality (VR/AR) device, an activity tracker, and the like. The peripherals 138 may include one or more sensors, the sensors may be one or more of a gyroscope, an accelerometer, a hall effect sensor, a magnetometer, an orientation sensor, a proximity sensor, a temperature sensor, a time sensor; a geolocation sensor; an altimeter, a light sensor, a touch sensor, a magnetometer, a barometer, a gesture sensor, a biometric sensor, and/or a humidity sensor.
The WTRU 102 may include a full duplex radio for which transmission and reception of some or all of the signals (e.g., associated with particular subframes for both the UL (e.g., for transmission) and downlink (e.g., for reception) may be concurrent and/or simultaneous. The full duplex radio may include an interference management unit to reduce and or substantially eliminate self-interference via either hardware (e.g., a choke) or signal processing via a processor (e.g., a separate processor (not shown) or via processor 118). In an embodiment, the WTRU 102 may include a half-duplex radio for which transmission and reception of some or all of the signals (e.g., associated with particular subframes for either the UL (e.g., for transmission) or the downlink (e.g., for reception)).
The RAN 104 may include eNode-Bs 160a, 160b, 160c, though it will be appreciated that the RAN 104 may include any number of eNode-Bs while remaining consistent with an embodiment. The eNode-Bs 160a, 160b, 160c may each include one or more transceivers for communicating with the WTRUs 102a, 102b, 102c over the air interface 116. In an embodiment, the eNode-Bs 160a, 160b, 160c may implement MIMO technology. Thus, the eNode-B 160a, for example, may use multiple antennas to transmit wireless signals to, and receive wireless signals from, the WTRU 102a.
Each of the eNode-Bs 160a, 160b, and 160c may be associated with a particular cell (not shown) and may be configured to handle radio resource management decisions, handover decisions, scheduling of users in the uplink (UL) and/or downlink (DL), and the like. As shown in
The core network 106 shown in
The MME 162 may be connected to each of the eNode-Bs 160a, 160b, and 160c in the RAN 104 via an S1 interface and may serve as a control node. For example, the MME 162 may be responsible for authenticating users of the WTRUs 102a, 102b, 102c, bearer activation/deactivation, selecting a particular serving gateway during an initial attach of the WTRUs 102a, 102b, 102c, and the like. The MME 162 may also provide a control plane function for switching between the RAN 104 and other RANs (not shown) that employ other radio technologies, such as GSM or WCDMA.
The SGW 164 may be connected to each of the eNode-Bs 160a, 160b, 160c in the RAN 104 via the S1 interface. The SGW 164 may generally route and forward user data packets to/from the WTRUs 102a, 102b, 102c. The SGW 164 may also perform other functions, such as anchoring user planes during inter-eNode-B handovers, triggering paging and/or mobile termination when DL data is available for the WTRUs 102a, 102b, 102c, managing and storing contexts of the WTRUs 102a, 102b, 102c, and the like.
The SGW 164 may also be connected to the PDN gateway 166, which may provide the WTRUs 102a, 102b, 102c with access to packet-switched networks, such as the Internet 110, to facilitate communications between the WTRUs 102a, 102b, 102c and IP-enabled devices.
The CN 106 may facilitate communications with other networks. For example, the CN 106 may provide the WTRUs 102a, 102b, 102c with access to circuit-switched networks, such as the PSTN 108, to facilitate communications between the WTRUs 102a, 102b, 102c and traditional land-line communications devices. For example, the CN 106 may include, or may communicate with, an IP gateway (e.g., an IP multimedia subsystem (IMS) server) that serves as an interface between the CN 106 and the PSTN 108. In addition, the CN 106 may provide the WTRUs 102a, 102b, 102c with access to the other networks 112, which may include other wired or wireless networks that are owned and/or operated by other service providers.
Although the WTRU is described in
In representative embodiments, the other network 112 may be a WLAN.
A WLAN in Infrastructure Basic Service Set (BSS) mode may have an Access Point (AP) for the BSS and one or more stations (STAs) associated with the AP. The AP may have an access or an interface to a Distribution System (DS) or another type of wired/wireless network that carries traffic in to and/or out of the BSS. Traffic to STAs that originates from outside the BSS may arrive through the AP and may be delivered to the STAs. Traffic originating from STAs to destinations outside the BSS may be sent to the AP to be delivered to respective destinations. Traffic between STAs within the BSS may be sent through the AP, for example, where the source STA may send traffic to the AP and the AP may deliver the traffic to the destination STA. The traffic between STAs within a BSS may be considered and/or referred to as peer-to-peer traffic. The peer-to-peer traffic may be sent between (e.g., directly between) the source and destination STAs with a direct link setup (DLS). In certain representative embodiments, the DLS may use an 802.11e DLS or an 802.11z tunneled DLS (TDLS). A WLAN using an Independent BSS (IBSS) mode may not have an AP, and the STAs (e.g., all of the STAs) within or using the IBSS may communicate directly with each other. The IBSS mode of communication may sometimes be referred to herein as an “ad-hoc” mode of communication.
When using the 802.11ac infrastructure mode of operation or a similar mode of operations, the AP may transmit a beacon on a fixed channel, such as a primary channel. The primary channel may be a fixed width (e.g., 20 MHz wide bandwidth) or a dynamically set width via signaling. The primary channel may be the operating channel of the BSS and may be used by the STAs to establish a connection with the AP. In certain representative embodiments, Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) may be implemented, for example in in 802.11 systems. For CSMA/CA, the STAs (e.g., every STA), including the AP, may sense the primary channel. If the primary channel is sensed/detected and/or determined to be busy by a particular STA, the particular STA may back off. One STA (e.g., only one station) may transmit at any given time in a given BSS.
High Throughput (HT) STAs may use a 40 MHz wide channel for communication, for example, via a combination of the primary 20 MHz channel with an adjacent or nonadjacent 20 MHz channel to form a 40 MHz wide channel.
Very High Throughput (VHT) STAs may support 20 MHz, 40 MHz, 80 MHz, and/or 160 MHz wide channels. The 40 MHz, and/or 80 MHz, channels may be formed by combining contiguous 20 MHz channels. A 160 MHz channel may be formed by combining 8 contiguous 20 MHz channels, or by combining two non-contiguous 80 MHz channels, which may be referred to as an 80+80 configuration. For the 80+80 configuration, the data, after channel encoding, may be passed through a segment parser that may divide the data into two streams. Inverse Fast Fourier Transform (IFFT) processing, and time domain processing, may be done on each stream separately. The streams may be mapped on to the two 80 MHz channels, and the data may be transmitted by a transmitting STA. At the receiver of the receiving STA, the above described operation for the 80+80 configuration may be reversed, and the combined data may be sent to a Medium Access Control (MAC).
Sub 1 GHz modes of operation are supported by 802.11af and 802.11ah. The channel operating bandwidths, and carriers, are reduced in 802.11af and 802.11ah relative to those used in 802.11n, and 802.11ac. 802.11af supports 5 MHz, 10 MHz and 20 MHz bandwidths in the TV White Space (TVWS) spectrum, and 802.11ah supports 1 MHz, 2 MHz, 4 MHz, 8 MHz, and 16 MHz bandwidths using non-TVWS spectrum. According to a representative embodiment, 802.11ah may support Meter Type Control/Machine-Type Communications (MTC), such as MTC devices in a macro coverage area. MTC devices may have certain capabilities, for example, limited capabilities including support for (e.g., only support for) certain and/or limited bandwidths. The MTC devices may include a battery with a battery life above a threshold (e.g., to maintain a very long battery life).
WLAN systems, which may support multiple channels, and channel bandwidths, such as 802.11n, 802.11ac, 802.11af, and 802.11ah, include a channel which may be designated as the primary channel. The primary channel may have a bandwidth equal to the largest common operating bandwidth supported by all STAs in the BSS. The bandwidth of the primary channel may be set and/or limited by a STA, from among all STAs in operating in a BSS, which supports the smallest bandwidth operating mode. In the example of 802.11ah, the primary channel may be 1 MHz wide for STAs (e.g., MTC type devices) that support (e.g., only support) a 1 MHz mode, even if the AP, and other STAs in the BSS support 2 MHz, 4 MHz, 8 MHz, 16 MHz, and/or other channel bandwidth operating modes. Carrier sensing and/or Network Allocation Vector (NAV) settings may depend on the status of the primary channel. If the primary channel is busy, for example, due to a STA (which supports only a 1 MHz operating mode), transmitting to the AP, the entire available frequency bands may be considered busy even though a majority of the frequency bands remains idle and may be available.
In the United States, the available frequency bands, which may be used by 802.11ah, are from 902 MHz to 928 MHz. In Korea, the available frequency bands are from 917.5 MHz to 923.5 MHz. In Japan, the available frequency bands are from 916.5 MHz to 927.5 MHz. The total bandwidth available for 802.11ah is 6 MHz to 26 MHz depending on the country code.
The RAN 113 may include gNBs 180a, 180b, 180c, though it will be appreciated that the RAN 113 may include any number of gNBs while remaining consistent with an embodiment. The gNBs 180a, 180b, 180c may each include one or more transceivers for communicating with the WTRUs 102a, 102b, 102c over the air interface 116. In one embodiment, the gNBs 180a, 180b, 180c may implement MIMO technology. For example, gNBs 180a, 180b may utilize beamforming to transmit signals to and/or receive signals from the gNBs 180a, 180b, 180c. Thus, the gNB 180a, for example, may use multiple antennas to transmit wireless signals to, and/or receive wireless signals from, the WTRU 102a. In an embodiment, the gNBs 180a, 180b, 180c may implement carrier aggregation technology. For example, the gNB 180a may transmit multiple component carriers to the WTRU 102a (not shown). A subset of these component carriers may be on unlicensed spectrum while the remaining component carriers may be on licensed spectrum. In an embodiment, the gNBs 180a, 180b, 180c may implement Coordinated Multi-Point (CoMP) technology. For example, WTRU 102a may receive coordinated transmissions from gNB 180a and gNB 180b (and/or gNB 180c).
The WTRUs 102a, 102b, 102c may communicate with gNBs 180a, 180b, 180c using transmissions associated with a scalable numerology. For example, OFDM symbol spacing and/or OFDM subcarrier spacing may vary for different transmissions, different cells, and/or different portions of the wireless transmission spectrum. The WTRUs 102a, 102b, 102c may communicate with gNBs 180a, 180b, 180c using subframe or transmission time intervals (TTIs) of various or scalable lengths (e.g., containing a varying number of OFDM symbols and/or lasting varying lengths of absolute time).
The gNBs 180a, 180b, 180c may be configured to communicate with the WTRUs 102a, 102b, 102c in a standalone configuration and/or a non-standalone configuration. In the standalone configuration, WTRUs 102a, 102b, 102c may communicate with gNBs 180a, 180b, 180c without also accessing other RANs (e.g., such as eNode-Bs 160a, 160b, 160c). In the standalone configuration, WTRUs 102a, 102b, 102c may utilize one or more of gNBs 180a, 180b, 180c as a mobility anchor point. In the standalone configuration, WTRUs 102a, 102b, 102c may communicate with gNBs 180a, 180b, 180c using signals in an unlicensed band. In a non-standalone configuration WTRUs 102a, 102b, 102c may communicate with/connect to gNBs 180a, 180b, 180c while also communicating with/connecting to another RAN such as eNode-Bs 160a, 160b, 160c. For example, WTRUs 102a, 102b, 102c may implement DC principles to communicate with one or more gNBs 180a, 180b, 180c and one or more eNode-Bs 160a, 160b, 160c substantially simultaneously. In the non-standalone configuration, eNode-Bs 160a, 160b, 160c may serve as a mobility anchor for WTRUs 102a, 102b, 102c and gNBs 180a, 180b, 180c may provide additional coverage and/or throughput for servicing WTRUs 102a, 102b, 102c.
Each of the gNBs 180a, 180b, 180c may be associated with a particular cell (not shown) and may be configured to handle radio resource management decisions, handover decisions, scheduling of users in the UL and/or DL, support of network slicing, dual connectivity, interworking between NR and E-UTRA, routing of user plane data towards User Plane Function (UPF) 184a, 184b, routing of control plane information towards Access and Mobility Management Function (AMF) 182a, 182b, and the like. As shown in
The CN 115 shown in
The AMF 182a, 182b may be connected to one or more of the gNBs 180a, 180b, 180c in the RAN 113 via an N2 interface and may serve as a control node. For example, the AMF 182a, 182b may be responsible for authenticating users of the WTRUs 102a, 102b, 102c, support for network slicing (e.g., handling of different packet data unit (PDU) sessions with different requirements), selecting a particular SMF 183a, 183b, management of the registration area, termination of NAS signaling, mobility management, and the like. Network slicing may be used by the AMF 182a, 182b, e.g., to customize CN support for WTRUs 102a, 102b, 102c based on the types of services being utilized WTRUs 102a, 102b, 102c. For example, different network slices may be established for different use cases such as services relying on ultra-reliable low latency (URLLC) access, services relying on enhanced massive mobile broadband (eMBB) access, services for MTC access, and/or the like. The AMF 162 may provide a control plane function for switching between the RAN 113 and other RANs (not shown) that employ other radio technologies, such as LTE, LTE-A, LTE-A Pro, and/or non-3GPP access technologies such as Wi-Fi.
The SMF 183a, 183b may be connected to an AMF 182a, 182b in the CN 115 via an N11 interface. The SMF 183a, 183b may also be connected to a UPF 184a, 184b in the CN 115 via an N4 interface. The SMF 183a, 183b may select and control the UPF 184a, 184b and configure the routing of traffic through the UPF 184a, 184b. The SMF 183a, 183b may perform other functions, such as managing and allocating UE IP address, managing PDU sessions, controlling policy enforcement and QoS, providing downlink data notifications, and the like. A PDU session type may be IP-based, non-IP based, Ethernet-based, and the like.
The UPF 184a, 184b may be connected to one or more of the gNBs 180a, 180b, 180c in the RAN 113 via an N3 interface, which may provide the WTRUs 102a, 102b, 102c with access to packet-switched networks, such as the Internet 110, e.g., to facilitate communications between the WTRUs 102a, 102b, 102c and IP-enabled devices. The UPF 184, 184b may perform other functions, such as routing and forwarding packets, enforcing user plane policies, supporting multi-homed PDU sessions, handling user plane QoS, buffering downlink packets, providing mobility anchoring, and the like.
The CN 115 may facilitate communications with other networks. For example, the CN 115 may include, or may communicate with, an IP gateway (e.g., an IP multimedia subsystem (IMS) server) that serves as an interface between the CN 115 and the PSTN 108. In addition, the CN 115 may provide the WTRUs 102a, 102b, 102c with access to the other networks 112, which may include other wired and/or wireless networks that are owned and/or operated by other service providers. In one embodiment, the WTRUs 102a, 102b, 102c may be connected to a local Data Network (DN) 185a, 185b through the UPF 184a, 184b via the N3 interface to the UPF 184a, 184b and an N6 interface between the UPF 184a, 184b and the DN 185a, 185b.
In view of
The emulation devices may be designed to implement one or more tests of other devices in a lab environment and/or in an operator network environment. For example, the one or more emulation devices may perform the one or more, or all, functions while being fully or partially implemented and/or deployed as part of a wired and/or wireless communication network in order to test other devices within the communication network. The one or more emulation devices may perform the one or more, or all, functions while being temporarily implemented/deployed as part of a wired and/or wireless communication network. The emulation device may be directly coupled to another device for purposes of testing and/or may performing testing using over-the-air wireless communications.
The one or more emulation devices may perform the one or more, including all, functions while not being implemented/deployed as part of a wired and/or wireless communication network. For example, the emulation devices may be utilized in a testing scenario in a testing laboratory and/or a non-deployed (e.g., testing) wired and/or wireless communication network in order to implement testing of one or more components. The one or more emulation devices may be test equipment. Direct RF coupling and/or wireless communications via RF circuitry (e.g., which may include one or more antennas) may be used by the emulation devices to transmit and/or receive data.
Blockchain Technology
Blockchain technology jointly uses and builds on top of various existing techniques, such as cryptography, hashing, Merkle tree, distributed ledgers, peer-to-peer (P2P) networking and consensus protocols. Blockchain technology innovatively combines such existing technologies to enable a system that can provide advanced features such as decentralization, immutability, transparency, and security.
A blockchain system is one in which blockchain technology is used. Applications supported by a blockchain system are referred to as blockchain applications. A blockchain system is underpinned by one or more underlying blockchain networks. Each blockchain network may include a plurality (e.g., many) participating blockchain nodes (BCN). Each BCN may host one or more distributed blockchains (a form of distributed ledgers), broadcast blocks using P2P networking, and perform consensus protocols with the other BCNs of the blockchain network to reach distributed trust and data consensus without relying on a centralized party.
A blockchain transaction may be any of a digital representation of a real-world transaction, a digital record of physical assets, a digital record of a physical event, a digital record of any action in an information system, a digital payment and a digital smart contract. A block groups multiple blockchain transactions together. A blockchain is a data structure to chain a growing number of blocks.
For simplicity of exposition, the terms “blockchain technology” are used herein. It should be understood that such terms also represent much broader distributed ledger technology. As such, the various embodiments are applicable to any specific blockchain technology and/or distributed ledger technology.
The transaction creation time may refer to the period between a time at which a request for creating a new transaction is received and a time at which the new transaction is created. During the transaction creation time, the transaction state may be “uncreated”.
The transaction waiting time may refer to the period between the time at which a new transaction is created and a time at which the new transaction is included in a new block. The duration of the transaction waiting time may depend on the underlying P2P networking and consensus mechanism. During the transaction waiting, both the transaction and block states may be “pending”.
The transaction confirmation time (or blockchain confirmation time) may denote a period between the time at which a new transaction is included in a new block and a time at which the new block is confirmed. The duration of the transaction confirmation time (or blockchain confirmation time) may depend on the underlying P2P networking and consensus mechanism. During the transaction confirmation time (or blockchain confirmation time), the transaction state may be “included”, and the block state may be “pending”. Following confirmation of the block, its state may be “confirmed”.
The speed of a transaction may be estimated as a sum of the transaction waiting time and transaction confirmation time.
The CN 115 may include various network functions. The network functions may work together to fulfill and/or provide services to the RAN 113, a WTRU 102 and/or an application server/service provider. The network functions may include a network repository function (NRF), an access and mobility management function (AMF), a session management function (SMF), an authentication server function (AUSF), a policy control function (PCF), a user plane function (UPF), a network exposure function (NEF), a unified data management (UDM), a unified data repository (UDR), an unstructured data storage function (UDSF), a network data analytics function (NWDAF) and a network slice selection function (NSSF).
A network function may access another network function. The network functions may access and/or interact with one another in any of a request/response mode and a subscription/notification mode. A network function may register with the NRF. Registering with the NRF may make the network function discoverable to the other network functions.
The AMF may manage access to, and mobility of, WTRUs 102 in the communications system 100. The SMF may be responsible for establishing sessions between a WTRU 102 and the CN 115. The AUSF may be in charge of authentication of users (e.g., WTRUs). The PCF may create and/or provide one or more policy rules for and/or to other control plane network functions and WTRUs 102. The PCF may assign identifiers for the created policy rules, and other control plane network functions and WTRUs 102 may use the identifiers to refer to (e.g., look up or otherwise obtain) the corresponding policy rules.
The UPF may be a function for the user plane. The UPF may monitor, manage, control and redirect user plane traffic flows, such as between a WTRU and an application server. The NEF may expose control plane functions to entities (e.g., network applications) that are outside of the 5GS and/or not in the same trusted domain.
The CN may provide data storage and analytics services through functions, such as any of the UDM, the UDR, the UDSF and the NWDAF. The communications system may support network slicing. Network slicing may be facilitated by the NSSF.
Although the network functions may be defined as separate logical entities, some or all of the network functions may be combined. One or more than one of the network functions may be invoked and/or used in connection with a particular procedure or operation. By way of example, the AMF, AUSF and SMF may be involved in WTRU mobility. One or more than one instance of a network function may be instantiated. The NRF may maintain the information of each network function instance. Although shown within a single cloud, one or more of network functions may be deployed in an edge network, such as one that supports edge computing and/or that is in close proximity to and/or co-located with the RAN 113. It may be advantageous to deploy the UPF and/or the NEF in an edge network that supports edge computing, which can save certain communication costs since the policy control can be applied to the event/data directly at the edge (i.e., where data/events are generated).
As denoted at (5:1), a WTRU may discover and/or may select a network (e.g., a PLMN, a RAN, a cell, etc.) based on received system information block (SIB) broadcast by one or more RAN nodes. As denoted at (5:2), the WTRU may establish a radio resource control (RRC) connection with a selected RAN (e.g., RAN1). The WTRU may communicate with the 5GS CN via the selected RAN. As denoted at (5:3), the WTRU may initiate registration towards an AMF. The selected RAN may determine/select, from one or more AMFs, a serving AMF for the WTRU. As denoted at (5:3), the serving AMF may check with the AUSF for primary access authentication and authorization, request subscription data from the UDM, check with the PCF for access and mobility policies, and/or contact the SMF to activate any existing PDU session (e.g., if indicated by the WTRU).
A registration area (RA) may be defined within the 5GS. The RA may be formed from one or more tracking areas (TAs); each of which may cover one or more cells. An advantage of the RA is that it reduces signaling overhead by not requiring registration updates with the serving AMF while within the RA unless a periodic registration timer expires. If the WTRU moves from one RA (e.g., RA1) to another RA (e.g., RA2), then the WTRU may perform a new registration, such as, for example, with a registration type set to mobility registration update (as described herein and denoted at (5:7)). A larger RA may reduce registration overhead, but it may increase paging signaling overhead due to the serving AMF having to page the WTRU in a larger number of TAs (or cells).
After successful registration, the WTRU may enter RM-REGISTERED state and/or may access and/or interact with other control plane NFs via the serving AMF. In various embodiments, the serving AMF might be the only entry point for the WTRU to access and interact with the CN control plane. The procedures denoted at (5:3), (5:5) and (5:7), for example, may be related to connection management.
As denoted at (5:4), the WTRU may establish a PDU session for a DN with an SMF. The serving AMF may determine/select the serving SMF for the PDU session. As denoted at (5:4), the SMF may check with the PCF for PDU session policies and/or may select a UPF as an anchor for the PDU session (“PDU session anchor”). The WTRU may access the DN and/or exchange packets with the DN via the PDU session anchor (PSA). The PCF may retrieve subscription data of the WTRU from a UDR in connection with the SMF checking with the PCF for session policies and may provide it to the SMF. The SMF may perform primary session authentication using the WTRU's subscription data as retrieved from the UDM, and may perform secondary authentication between the WTRU and a DN-AAA server, e.g., using an extensible authentication protocol (EAP), such as defined in RFC3748 and RFC5247. The procedure denoted at (5:4) and the procedure denoted at (5:5) may be jointly performed.
As denoted at (5:5), the WTRU may be in a CM-IDLE state (e.g., after connection with the serving AMF is released), and may initiate a service request procedure to reestablish a connection with the serving AMF and enter a CM-CONNECTED state. The WTRU may be in mobile initiated connections only (MICO) mode when it initiates the service request procedure to reestablish the connection with the serving AMF. If the WTRU is not in MICO mode, then the serving AMF may page and/or trigger the WTRU to initiate service request procedure, for example, to receive any downlink packets. A non-access-stratum (NAS) connection may be established between the WTRU and the serving AMF in connection with the service request.
The service request may be carried out together with WTRU registration, in which case, the WTRU may enter CM-CONNECTED state. The WTRU may move within the RA without notifying the serving AMF while in CM-CONNECTED state. If WTRU remains within the RA but moves out of a RAN notification area (RNA), then the WTRU may perform a RAN update to trigger the RAN to update the WTRU context and the corresponding RRC connection maintained by the RAN. The RNA may be smaller than the RA. For example, the RNA may include a subset of TAs forming the RA (e.g., TA1, TA2, and TA3, as shown).
As denoted at (5:6), the WTRU may carry out data transmission (data plane) with the DN via RAN 113 and the UPF as the PSA. The DN may have a data network name (DNN). Although not shown, the 5GS may include and/or be communicatively coupled with more than one DN, and the DN may have respective DNNs.
As denoted at (5:7), the WTRU may detect when it moves from RA1 to RA2. For example, the WTRU may detect such event by checking a list of TAs for each RA configured by the serving AMF. As denoted at (5:7), the WTRU may perform a mobile registration update with a new serving AMF. As denoted at (5:7), a (e.g., Xn-based or N2-based) inter-RAN handover from the current RAN to a new RAN with a serving AMF change may be performed. A new serving AMF may contact the old serving AMF for transferring WTRU's context information. As denoted at (5:7), the SMF may contact the PCF and/or the UPF to update existing PDU sessions with the WTRU.
As shown in
A set of TAs may be grouped as a service area. The 5GS may specify and/or enforce service area restrictions for a WTRU. For example, the 5GS may configure a WTRU for service area restriction for a service area formed from TA7, TA8, and TA9, where the WTRU may be allowed to access 5GS if (e.g., if and only if) the WTRU remains within TA7, TA8, or TA9.
The various procedures disclosed herein and denoted in
Representative Policy Control Function (PCF)
Policy control in a 5GS may include non-session management related policy control and session management related policy control.
Examples of non-session management related policy control include access and mobility related policy control, WTRU access selection and PDU session selection related policy (WTRU policy) control, management of Packet Flow Descriptions (PFD), and network status analytics information requirement. Examples of session management related policy control include QoS control for PDU sessions and Service Data Flows (SDFs), charging control for PDU sessions and SDFs, reporting PDU session events to an AF, usage monitoring control, application detection policy control, service capability exposure policy control, and traffic steering policy control.
The PCF may provide various functionalities for both non-session management related policy control and session management policy control. The PCF may provision different policies to control plane functions (e.g., AMF, SMF, NEF), WTRUs, and AFs, at which the provisioned policies may be enforced. The PCF may retrieve subscription data from a UDR to create new policies. An operator can configure policies at the PCF. The policies may be stored at a UDR. The policies may be dynamically, semi-statically and/or statically configured at various entities, devices, etc., such as to any of an AMF, an SMF and a WTRU.
For example, access and mobility related policy control may provide any of management of service area restrictions, management of RAT/frequency selection priority (RFSP) functionalities, and management of SMF selection. A serving AMF and a PCF may perform “AM Policy Association Establishment” for a WTRU (e.g., when the WTRU performs an initial registration and selects (e.g., only selects) the serving AMF). The serving AMF and PCF may exchange access and mobility related policies, e.g., following the AM Policy Association Establishment.
Based on operator-defined policies, a PCF can modify service area restrictions for a WTRU as a part of subscription data. Operator-defined policies in the PCF may depend on input data such as WTRU location, time of day, the information provided by other NFs, etc. When a WTRU registers with a serving AMF, the serving AMF may retrieve its service area restrictions from a UDM as a part of its subscription data. The serving AMF may report the service area restrictions to a PCF. The PCF may modify the service area restrictions and/or may send the modified service area restrictions to the serving AMF. The AMF may store the modified service area restrictions and/or may enforce the modified service area restrictions to determine the mobility restrictions for the WTRU.
A RFSP index may be used by a serving AMF to manage radio resources for a WTRU. A PCF may modify the RFSP index, e.g., based on operator-defined policies. For example, operator-defined policies in the PCF may depend on input data such as accumulated usage, load level information per network slice instance etc. When a WTRU registers with the serving AMF, the serving AMF may retrieve the RFSP index from a UDM, e.g., as a part of subscription data. The serving AMF may report the RFSP index to the PCF. The PCF may modify the RFSP index and/or may send it to the serving AMF. The AMF may send the modified RFSP index to a (R)AN node. The RAN node may enforce the modified RFSP index.
A PCF may configure a WTRU with various policies via a serving AMF. The policies may include an access network discovery and selection policy (ANDSP) for non-3GPP access, and a WTRU Route Selection Policy (URSP) related to applications and PDU sessions. The WTRU may use URSP rules to determine whether to use an already established PDU session and/or trigger an establishment of a new PDU session for an application, e.g., according to a traffic descriptor specifying matching criteria included in a (e.g., each) URSP rule. If the WTRU is in CM-IDLE state, the serving AMF may send a paging message to the WTRU to trigger the WTRU to perform a WTRU-initiated service request procedure so that the serving AMF may deliver ANDSPs and URSPs (received from the PCF) to the WTRU.
Application detection as a type of session management related policy control may be provided through interactions among a PCF, a SMF, and a UPF. The PCF may install (or activate) one or more policy and charging control (PCC) rules including enforcement actions to the SMF. The SMF may instruct the UPF to detect events in specific application traffic. The UPF may apply configured enforcement actions on specific application traffic, such as gating control (e.g., blocking application traffic), QoS control (e.g., bandwidth limitation), and traffic redirection.
The UPF may detect an event, and may report the detected event to the PCF via the SMF. The PCF may modify the PCC rules and/or install modified PCC rules to the SMF based on one or more reported events.
Representative Data Storage Architecture
Data in communications system may be classified into unstructured data and structured data. The unstructured data may be any type of data. The structured data may include subscription data, policy data, structured data for exposure, and application data, such as packet flow descriptions (PFDs) for application detection and AF request information for multiple WTRUs.
Examples of data storage functions that may be provided may include: (i) a UDM may store subscription data to a UDR and/or may retrieve subscription data from the UDR; (ii) a PCF may store policy data to a UDR and/or may retrieve policy data from the UDR; (iii) a NEF may store structured data for exposure and/or application data to a UDR and/or may retrieve such data from the UDR; (iv) an NF may store unstructured data to a UDSF and/or may retrieve unstructured data from the UDSF; (v) a UDR may allow an NF consumer to retrieve, create, update, subscribe for change notifications, unsubscribe for change notifications, and/or delete data stored in the UDR, e.g., based on the set of data applicable to the NF consumer; and (vi) a UDSF may allow a NF consumer to retrieve, create, update, and delete data stored in the UDSF.
The UDM may provide any of the following functionalities: (i) generate (e.g., 3GPP) authentication and key agreement (AKA) authentication credentials and/or send the AKA authentication credentials to a serving AMF (e.g., when a WTRU registers with the serving AMF); (ii) handle user identification (e.g., storage and/or management of subscription permanent identifier (SUPI) of each subscriber in the 5GS); (iii) support de-concealment of privacy-protected subscription concealed identifier (SUCI), which may be based on a SUPI with privacy protection; (iv) authorize WTRU access to the 5GS based on its subscription data, such as roaming restrictions; (v) manage a WTRU's serving NFs (e.g., storing the serving AMF for a WTRU, storing the serving SMF for a WTRU's PDU session); (vi) support service and session continuity (e.g., storing SMF/DNN assignment of ongoing sessions); and (vii) handle 5G LAN group management.
Representative Network Analytics Architecture
The 5GS may provide network analytics via a network data analytics function (NWDAF).
The NWDAF may register its capabilities (i.e., the list of analytics IDs) to an NRF to be discovered by any other NFs/AFs. Before calculating analytics results, the NWDAF may need to collect data from other NFs/AFs as data sources. The NWDAF may execute corresponding algorithms for each of the analytics to obtain the analytics results. An NF/AF may discover the NWDAF's Analytics IDs from NRF or directly from the NWDAF. The NF/AF may retrieve a specific analytics result from the NWDAF and/or may subscribe to a specific analytics from the NWDAF. The following phases may be needed for providing network analytics.
3GPP TS 23.288 V16.3.0 (2020-03); Architecture enhancements for 5G System (5GS) to support network data analytics services; (Release 16) has defined procedures to support the following network analytics: (i) slice load level related network data analytics; (ii) observed service experience related network data analytics; (iii) NF load analytics; (iv) network performance analytics; and (v) UE related analytics (e.g., UE mobility analytics, UE communication analytics, expected UE behavior parameters related network data analytics, and abnormal behavior related network data analytics).
A target WTRU may have one or more privacy requirements on sharing and/or exposing its location to other entities. WTRU LCS privacy is a feature that allows a WTRU and/or AF to control whether location requests from which LCS Clients or AFs are allowed or disallowed. WTRU LCS privacy information may be provided and/or maintained, for example:
The LCS may provide the following approaches to protect location privacy.
A typical flow for an AF to request the location of a target WTRU may include any of the following:
Methods, apparatuses, systems, etc. directed to transaction management in distributed ledger (e.g., blockchain) enabled wireless systems are disclosed herein. In various embodiments, methods for, and/or for use in connection with, transaction management in a distributed ledger (e.g., blockchain) enabled wireless system may be implemented in a device comprising circuitry, including a transmitter, a receiver and a processor, such as any of a wireless transmit and receive unit (WTRU), a base station or other network element. Among the methods is a first method that may include any of obtaining (i) information from one or more sources and (ii) one or more parameters from at least one of the one or more sources; generating a transaction for the information based at least in part on the one or more parameters; determining a node of a distributed ledger based at least in part on the one or more parameters; and sending the transaction to the node of a distributed ledger.
Among the methods is a second method that may include any of obtaining information and/or one or more parameters from any of one or more sources; generating a transaction for the information based at least in part on the one or more parameters; determining a node of a distributed ledger based at least in part on the one or more parameters; and sending the transaction to the node of a distributed ledger.
Among the methods is a third method that may include any of obtaining (i) information from one or more sources and (ii) one or more parameters from at least one of the one or more sources; sending at least a first portion of the information to a data store; generating a transaction for at least a second portion of the information and a hash value of the at least a first portion of the information based at least in part on the one or more parameters; determining a node of a distributed ledger based at least in part on the one or more parameters; and sending the transaction to the node of a distributed ledger.
Among the methods is a fourth method that may include any of obtaining information and/or one or more parameters from any of one or more sources; sending at least a first portion of the information to a data store; generating a transaction for at least a second portion of the information and a hash value of the at least a first portion of the information based at least in part on the one or more parameters; determining a node of a distributed ledger based at least in part on the one or more parameters; and sending the transaction to the node of a distributed ledger.
In various embodiments of at least the third and fourth methods, each of the methods may include receiving second information indicating a storage location of the at least a first portion of the information.
In various embodiments of at least the third and fourth methods, each of the methods may include partitioning the information into the at least a first portion of the information and the at least a second portion of the information.
In various embodiments, the node of the distributed ledger may be first node of the distributed ledger, and in at least one of the first through fourth methods, the method may include receiving a confirmation of successful insertion of the transaction into the distributed ledger, wherein the confirmation is received from any of the first node of the distributed ledger, a second node of the distributed ledger and a second device associated with at least one of the first node and the second node.
In various embodiments, the device may include at least one service-based function, and wherein the at least one service-based function may carry out generating a transaction and determining a node of a distributed ledger.
In various embodiments, the method may include notifying one or more recipients of a status of the transaction. In various embodiments, the recipients may include at least one of a first service-based function of the device, a second service-based function of the device, and a third service-based function of a network. In various embodiments, the first service-based function may be a client of the third service-based function. In various embodiments, the second service-based function may be a client of the third service-based function. In various embodiments, the status may be any of pending, confirmed and rejected.
In various embodiments, generating a transaction for the data based at least in part on the one or more parameters may include generating the transaction for the data based at least in part on the one or more parameters and one or more policy rules.
In various embodiments, the method may include generating a transaction for at least a second portion of the data and a hash value of the at least a first portion of the data based at least in part on the one or more parameters may include generating the transaction for at least a second portion of the data and a hash value of the at least a first portion of the data based at least in part on the one or more parameters and one or more policy rules.
In various embodiments, the policy rules comprise any of a first policy rule to regulate whether the data is to be added to the distributed ledger and a second policy rule to regulate how the data is to be added in the distributed ledger.
In various embodiments, determining a node of a distributed ledger may include determining the node of the distributed ledger based at least in part on a proximity of the device to the node of the distributed ledger.
In various embodiments, the method may include the parameters may include a first location associated with the first device and a second location associated with the node of the distributed ledger, the method further comprising: determining the proximity of the device to the node of the distributed ledger based at least in part on the first and second locations.
In various embodiments, the parameters may include any of (i) a number of transactions to be created, (ii) an application category associated with each of the one or more sources, (iii) an identifier associated with each of the one or more sources, (iv) an application name associated with each of the one or more sources, (v) security credential information for each of the one or more sources, (vi) an address of the node of the distributed ledger, (vii) an identifier the node of the distributed ledger, (viii) a category of transaction to be created, (ix) a maximum transaction creation time; (x) a maximum transaction waiting time; (xi) a transaction creation priority; (xii) a transaction inclusion priority; (xiii) one or more addresses at which some or all of the data is stored; (xiv) an address of each of the one or more recipients to be notified of a status of the transaction, (xv) an identifier of each of the one or more recipients to be notified of the status of the transaction, (xvi) a type of the distributed ledger, (xvii) an address of the distributed ledger, (xviii) an identifier of the distributed ledger, (xix) a hash function, (xx) an indication of at least one of the one or more policy rules and (xxi) security credential information of the device.
1 In various embodiments, the method may include obtaining data may include requesting and receiving information from at least one of the sources.
In various embodiments, the information may include any of (i) third information for submission to the distributed ledger and (ii) fourth information indicating any of an address and an identifier to use to obtain fifth information for submission to the distributed ledger.
In various embodiments, the information may lack one or more of (i) sixth information for submission to the distributed ledger and (ii) seventh information indicating any of an address and an identifier to use to obtain eighth information for submission to the distributed ledger.
In various embodiments, the method may include receiving transaction record information.
In various embodiments, the method may include any of sending, to the data store, at least a portion of the transaction record information and the second information indicating the storage location of the at least a first portion of the information; and receiving, from the data store, ninth information indicating the at least a portion of the transaction record information is stored in association with the at least a first portion of the information.
In various embodiments, the method may include sending at least a portion of the information to a data store, at least a portion of the information; and receiving tenth information indicating a storage location of the at least a portion of the information.
In various embodiments, the method may include sending, to the data store, at least a portion of the transaction record information and the tenth information indicating the storage location of the at least a portion of the information; and receiving, from the data store, eleventh information indicating the at least a portion of the transaction record information is stored in association with the at least a portion of the information.
In various embodiments, the method may include obtaining one or more transaction policy rules from one or more sources, including any of a first entity and a second entity.
In various embodiments, obtaining the one or more transaction policy rules comprises any of requesting and/or receiving the one or more transaction policy rules from the one or more sources.
In various embodiments, determining a node of the distributed ledger may include selecting the node based on at least one of the one or more transaction policy rules.
In various embodiments, the information may include data associated with a blockchain transaction.
Among such methods is a fifth method that may be implemented a blockchain transaction manager (BTM) and may include any of: receiving, from a first entity, a blockchain transaction initiation (BCTI) request; obtaining data associated with the blockchain transaction from one or more sources, including any of the BCTI request and a second entity; generating a blockchain transaction comprising at least a portion of the obtained data and/or a hash, wherein the hash identifies at least a portion of the obtained data and/or an indicator/locator for obtaining a portion of the obtained data; sending the blockchain transaction to a blockchain node (BCN) (e.g., on behalf of the first entity); and receiving, from the BCN, a status of the blockchain transaction.
In various embodiments, the status may be any of pending, confirmed and rejected.
In various embodiments, obtaining data associated with the blockchain transaction may include requesting and/or receiving data associated with the blockchain transaction.
In various embodiments, the BCTI may include any of (i) data associated with the blockchain transaction, and (ii) an indicator/locator for obtaining data associated with the blockchain transaction.
5 In various embodiments, the BCTI may lacks any of (i) data associated with the blockchain transaction, and (ii) an indicator/locator for obtaining data associated with the blockchain transaction.
In various embodiments, the method may include selecting the BCN from among a plurality of BCNs. In various embodiments, the method may include selecting the BCN based on the obtained data. In various embodiments, the method may include any of storing at least a portion of the obtained data in a repository; and causing at least a portion of the obtained data to be stored in a repository.
In various embodiments, causing at least a portion of the obtained data to be stored in a repository may include any of: requesting a third entity to store the at least a portion of the obtained data to be stored in a repository; and sending, to a third entity, the at least a portion of the obtained data to be stored in a repository.
In various embodiments, the method may include sending, to the first entity, the status of the blockchain transaction. In various embodiments, the method may include receiving, from the BCN, blockchain transaction record information.
In various embodiments, the method may include any of storing at least a portion of the blockchain transaction record information in a repository; and causing at least a portion of the blockchain transaction record information to be stored in a repository.
In various embodiments, the method may include any of receiving, from the BCN, blockchain transaction record information; storing at least a portion of the blockchain transaction record information in the repository in connection with (e.g., in a record with) the at least a portion of the obtained data; and causing at least a portion of the blockchain transaction record information to be stored in the repository in connection with (e.g., in a record with) the at least a portion of the obtained data.
14 In various embodiments, causing at least a portion of the blockchain transaction record information to be stored in the repository may include any of requesting a third entity to store the at least a portion of the blockchain transaction record information in the repository in connection with the at least a portion of the obtained data; and sending, to a third entity, the at least a portion of the blockchain transaction record information to be stored in the repository.
In various embodiments, the method may include configuring the BTM with one or more blockchain transaction policy rules. In various embodiments, wherein configuring the BTM with one or more blockchain transaction policy rules may include any of dynamically and semi-statically configuring the one or more blockchain transaction policy rules.
In various embodiments, configuring the BTM with one or more blockchain transaction policy rules may include obtaining the one or more blockchain transaction policy rules from one or more sources, including any of the second entity and a fourth entity.
In various embodiments, the method may include obtaining the one or more blockchain transaction policy rules may include any of requesting and/or receiving the one or more blockchain transaction policy rules from the one or more sources. In various embodiments, the method may include selecting the BCN based on at least one of the one or more blockchain transaction policy rules.
In various embodiments, the method may include determining, based on at least one of the one or more blockchain transaction policy rules, whether data associated with the blockchain transaction is to be requested and/or received from any of the second entity and a fifth entity.
In various embodiments, the method may include selecting the BCN based on at least one of the one or more blockchain transaction policy rules.
In various embodiments, the method may include storing at least a portion of the obtained data in a repository based on at least one of the one or more blockchain transaction policy rules; and causing at least a portion of the obtained data to be stored in a repository based on at least one of the one or more blockchain transaction policy rules.
In various embodiments, causing at least a portion of the obtained data to be stored in a repository may include any of requesting a third entity to store the at least a portion of the obtained data to be stored in a repository; and sending, to a third entity, the at least a portion of the obtained data to be stored in a repository.
In various embodiments, the method may include determining, based on at least one of the one or more blockchain transaction policy rules, whether a portion of the data associated with the blockchain transaction is to be stored in a repository.
In various embodiments, the method may include determining, based on at least one of the one or more blockchain transaction policy rules, whether at least a portion of the blockchain transaction record information is to be stored in a repository.
In various embodiments, the method may include determining, based on at least one of the one or more blockchain transaction policy rules, whether at least a portion of the blockchain transaction record information is to be stored in a repository in connection within the repository in connection with (e.g., in a record with) the at least a portion of the obtained data.
In various embodiments, the BCTI may include data associated with the blockchain transaction. In various embodiments, the BCTI may include an indicator/locator for obtaining data associated with the blockchain transaction.
In any of the various embodiments including BTM, the BTM may be deployed in any of a RAN node, a CN node, a server, a gateway and a WTRU. In any of the various embodiments including BTM, the BTM may be a control plane network function.
In any of the various embodiments including a first entity, the first entity may be deployed in any of RAN node, CN node, a server, a gateway and a WTRU. In any of the various embodiments including a first entity, the first entity may be any of a blockchain client application (BCA), a blockchain transaction client (BTC) and a blockchain network application (BNA).
In various embodiments including a BNA, the BNA may be implemented as or combined with an application function (AF). In various embodiments including a BTM and a first entity, the BTM and first entity are deployed in the same device. In various embodiments, the one or more sources from which to obtain data associated with the blockchain transaction may include any of a data and policy provider (DPP), a blockchain network application (BNA), an unstructured data storage function (UDSF) and a unified data repository (UDR). In various embodiments including a second entity, the second entity may be a DPP. In various embodiments including third entity, the third entity may be an external data storage (EDS). In various embodiments including a fourth entity, the fourth entity may be a Policy Control Function (PCF). In various embodiments including a fifth entity, the fifth entity may be any of a blockchain network application (BNA), unstructured data storage function (UDSF) and a unified data repository (UDR). In various embodiments including a first entity, the method may include sending the blockchain transaction record information to the first entity.
Among such methods is a sixth method that may be implemented a deice and that may include any of sending a blockchain transaction initiation (BCTI) request to a blockchain transaction manager (BTM); receiving one or more statuses of the blockchain transaction from the BTM; and receiving blockchain transaction record information from any of the BTM and another BTM.
In various embodiments, one or more statuses may include any of pending, confirmed and rejected. In various embodiments, the one or more statuses may include an indication that the BCTI has been successfully processed.
In various embodiments, the BCTI may include any of (i) data associated with the blockchain transaction, and (ii) an indicator/locator for obtaining data associated with the blockchain transaction. In various embodiments, the BCTI may lacks at any of (i) data associated with the blockchain transaction, and (ii) an indicator/locator for obtaining data associated with the blockchain transaction.
In various embodiments of at least the sixth method, the method may include receiving a notification that at least a portion of the obtained data in stored in a repository.
In various embodiments of at least the sixth method, the method may include configuring the device with one or more blockchain transaction policy rules. In various embodiments of at least the sixth method, configuring the device with one or more blockchain transaction policy rules may include any of dynamically and semi-statically configuring the one or more blockchain transaction policy rules.
In various embodiments of at least the sixth method, configuring the device with one or more blockchain transaction policy rules may include obtaining the one or more blockchain transaction policy rules from one or more sources, including any of the BTM and a second entity.
In various embodiments of at least the sixth method, obtaining the one or more blockchain transaction policy rules may include any of requesting and/or receiving the one or more blockchain transaction policy rules from the one or more sources.
In various embodiments of at least the sixth method, the method may include determining, based on at least one of the one or more blockchain transaction policy rules, whether to send the BCTI.
In various embodiments of at least the sixth method, the method may include determining, based on at least one of the one or more blockchain transaction policy rules, whether to provide data associated with the blockchain transaction and/or an indicator/locator for obtaining data associated with the blockchain transaction in or with the BCTI.
In various embodiments of at least the sixth method, the BTM may be deployed in any of a RAN node, a CN node, a server, a gateway and a WTRU. In various embodiments of at least the sixth method, the BTM may be a control plane network function. In various embodiments of at least the sixth method, the device is any of a RAN node, a CN node, a server, a gateway and a WTRU. In various embodiments of at least the sixth method, the device may include one or more entities configured to perform various embodiments of at least the sixth method, and the entities may be any of a blockchain client application (BCA), a blockchain transaction client (BTC) and a blockchain network application (BNA).
In various embodiments of at least the sixth method, the BNA may be implemented as or combined with an application function (AF). In various embodiments of at least the sixth method, the BTM may be deployed in the device. In various embodiments of at least the sixth method, the second entity may be a DPP. In various embodiments of at least the sixth method, the BCTI request may include any of an address of a blockchain node (BCN), a type or the category of the transaction to be created, a maximum transaction creation time, a maximum transaction waiting time, a blockchain transaction creation priority, a blockchain transaction inclusion priority, an application category of a requester, and an identifier of the requester.
Among the apparatuses, is an apparatus, which may include any of a receiver, transmitter, a processor and memory, configured to perform a method as in at least one of the preceding methods.
Representative Use Case 1— Internet of Vehicles
A vehicle may move from one RSU to another RSU. A vehicle can communicate with another vehicle, an RSU, an edge network, a core network, and/or an application server. For example, Vehicle1 may discover Vehicle2 and may find that both are under the same RSU1. Vehicle1 and Vehicle2 may engage in direct communications (e.g., Vehicle-to-Vehicle). Following the direct communications, Vehicle1, Vehicle2 and/or 5GS may need to keep a record of their communications to the network to maintain the history. Vehicle2 may move out of coverage of the RSU1 and/or may associate with a new RSU, RSU2. Vehicle2 may engage in communications with any of the CN and a network application via RSU2.
In this use case, there may be various scenarios where blockchain transactions may be created and stored on a designated blockchain. Examples of the various scenarios may include any of the following.
3.2 Use Case 2—Smart Manufacturing and Logistics
In this case, each step or operation may trigger one or more actions for the corresponding party, and any (e.g., each) of such events may be created as a blockchain transaction and be stored onto a designated blockchain. However, the WTRU attached to each package may be very resource-constrained for the sake of cost reduction. The WTRU might not have the capability to create transactions and/or to participate in the blockchain system (e.g., to store the blockchain, to perform consensus mechanism, etc.). As used herein, the term “step” is understood to encompass “one or more operations”, and thus, for convenience and simplicity of exposition, the terms “step and “operation(s)” may be used interchangeably herein.
Embodiments address the following key issues described with reference to the use cases disclosed herein.
Key Issue #1— a blockchain system and a 5GS are two separate systems and currently not well integrated together, which make it inefficient and challenging to add 5GS-related data onto a blockchain. A WTRU may directly generate a transaction including some data and send the transaction into a blockchain network using over-the-top approach. However, the WTRU is not a standalone entity but controlled, managed, and served by 5G network functions. On one hand, the WTRU by itself may not be able to make a sound decision on whether to sending its data into the blockchain network, because such a decision may be guarded by 5G network functions such as PCF. On the other hand, a transaction to be added into a blockchain may include some joint information from multiple WTRUs, a RAN node, and 5G core network. As a result, the over-the-top approach cannot work efficiently for WTRUs.
Key Issue #2— Machine-Type Communication (MTC) devices in 5GS usually have limited resources and it is infeasible (and in some instances impossible) for them to maintain an entire blockchain or participate in the consensus process. The limited resources do not allow an MTC device to directly participate in blockchain systems. If an MTC device needs to create transactions to a blockchain system, new functions such as blockchain application enablement as disclosed herein may be used to assist the MTC device with interacting with a blockchain system, including, for example, creating blockchain transactions to the blockchain system.
Key Issue #3— Due to the broadcast nature of P2P networking adopted by a blockchain system, transaction creation and block generation will generate high-volume traffic within 5GS, referred to as blockchain traffic, especially when a massive number of MTC devices attempt to create transactions onto a blockchain or when a WTRU acts as a BCN directly participating in a blockchain network. Such blockchain traffic needs to be appropriately regulated.
Key Issue #4— An event to be added onto a blockchain may be related to multiple WTRUs (e.g., vehicles in V2X vertical application). These WTRUs need to be coordinated when generating a blockchain transaction for this event.
Key Issue #5— A malicious WTRU may attempt to generate many useless transactions to a blockchain system, which may not only hurt the blockchain system but congest the 5GS as well. An effective authentication and authorization on transaction creation should be provided.
Key Issue #6— A blockchain application may need to include selective transactions in a new block, for example, to avoid long waiting times for a transaction to be successfully included in a block. The blockchain application might directly inform the corresponding blockchain system of such requirements each time when creating a new transaction, but this approach may cause high overhead at the blockchain application side.
Key Issue #7— A blockchain application may need to store data to multiple standalone or dependent blockchains. The blockchain application may store data to each standalone blockchain one-by-one, but this way may introduce a high burden to the blockchain application.
Representative Integrated Blockchain and Wireless System Architecture
Device Layer: The device layer may include end devices, which may support different applications such as device-to-device (D2D) communications, vehicle-to-everything (V2X) communications, and smart manufacturing and logistics (SML). In addition, some powerful devices may be participants of a blockchain network (BNWK), such as miners in Bitcoin system.
Access Layer: The access layer such as a 5G and beyond RAN or satellites may provide connectivity to end devices. This layer may include distributed edge networks, which may host any of local storage, local computing, and local applications.
Blockchain Infrastructure Layer: This layer may include different blockchain networks. Each blockchain network may have different protocols and/or support different types of blockchains. A blockchain network may have a set of BCNs. As a participant of the blockchain network, each BCN may have storage and computing resources and may maintain a local copy of the full blockchain (i.e., ledger). All BCNs of a blockchain network logically form a P2P overlay network in order to broadcast new transactions and blocks among them.
Network Function Layer: This layer may provide various network functions such as 5G core network functions, transaction-related blockchain functions and other traditional network functions. A BCN may use these network functions. Also, blockchain functions may interact with 5G core network functions and other network functions to better serve and/or manage BCNs. The blockchain functions may function to glue blockchain system and wireless system; for example, a 5G core network function may access a BCN and accordingly the full blockchain via blockchain functions.
Application Layer: Various network applications may use network functions to access blockchain networks. Devices and network applications may interact with each other via network functions and blockchain networks.
Representative Blockchain Transaction Management Architectures
The BTM 140 may play an important role in the entire architecture. The BTM 140 may interface with the BCN 141 and the underlying blockchain networks (not shown). The BTM 140 may obtain input data from the BNA 144 and/or the BCA/BTC 143/142 and optionally other input data from the DPP 145. The BTM 140 may generate a transaction according to a selected BCN 141. The BTM 140 may send the transaction to the selected BCN 141. In some cases, the BTM 140 may split the input data into two parts: one part to be stored in a blockchain network via the BCN 140 and the second part to be stored in the EDS 146. There may be cases where the BNA 144 and/or the BCA/BTC 143/142 do not send data to the BTM 140 directly, and may indicate a type and address of data which the BTM 140 may retrieve from the DPP 145. The BTM 140 may send the retrieved data in the form of blockchain transaction(s) to the BCN 141. The BTM 140 may choose and/or assign one or multiple appropriate BCNs and corresponding blockchain systems for other entities (e.g., a BCA, a BTC, and/or a BNA), for example based on some indication or requirements from them. The BTM 140 may maintain such assigned BCNs for these entities; as such, these entities might not need to explicitly indicate a BCN each time they request the BTM 140 to request a new transaction for them. This approach may reduce signaling overhead between the BTM 140 and such entities and may simplify the operations at the entities.
The BCN 141 may behave as a regular blockchain node of a blockchain network and may support corresponding blockchain protocols (e.g., transaction format, blockchain structure, consensus protocol, etc.). The BCN 141 may be responsible for sending any transaction from the BTM 140 into the blockchain network in which the BCN 141 participates. After a transaction has been successfully inserted to a blockchain, the BCN 141 may send a notification back to the BTM 140. The BTM 140 may send a request to the BCN 141 to query, discover, and/or retrieve any existing transactions on the blockchain.
The BTC 142 may send to the BTM 140, on behalf of one or multiple BCAs, data to be added to a designated blockchain. Alternatively, the BTC 142 may indicate to the BTM 140 the type and/or address of data (not the data itself), and the BTM 140 may retrieve the data and may add it to the designated blockchain. The BTC 142 may use transaction management related functionalities provided by the BTM 140.
The BCA 143 may be an end application and it may register to the BTC 142. The BCA 143 may interact with BTC 142. Alternatively, a BCA 143 may discover an available BTM (e.g., BTM 140) via a BTC, and may communicate with the BTM directly for adding data to a blockchain.
As an application, the BNA 144 may be similar to the BCA 143. The BNA 144 may communicate with the BTM 140 directly for adding a data to a blockchain. The BNA 144 may be a server-side application entity for a particular blockchain application (e.g., a blockchain-based V2X application, a blockchain-based SML application, etc.) and may interact with zero or more (a set of) BCAs, which may be client-side application entities for the same blockchain application. As an example, for a blockchain-based V2X application, there may be one BNA 144 residing in the cloud or 5GS, while each vehicle hosts a BCA 143.
The DPP 145 may provide data to be added to a blockchain and/or policies related to accessing that data and/or accessing the blockchain network via the BCN 141. For example, the BTM 140 may retrieve data from DPP 145 based on an indication from the BNA 144 and/or the BTC/BCA 142/143. When the BNA 144 and/or the BTC/BCA 142/143 requests the BTM 140 to add data to a blockchain, the BTM may check with the DPP 144 for, and/or obtain from the DPP 144, any policy for the request. The BTM 140 may enforce such policies, if any.
In some cases, the BNA 144 and/or the BTC/BCA 142/143 may need or want the BTM 140 to store at least a portion of the data onto a blockchain and/or store a least a portion of the data (e.g., the same or differing portion) on an external repository. For such a scenario, the BTM 140 may contact the EDS 146 to store the data as such, and may store a hash of the externally stored data to a blockchain.
Representative Transaction and Block Creation
Representative BTM-Controlled Transaction Creation
In BTM-controlled transaction creation, all requests for creating blockchain transactions may be sent to a BTM. The BTM may be responsible for authenticating the requests, processing the requests by obtaining any additional information, selecting a BCN of a designated blockchain network, and/or forwarding the processed request to the BCN. The BCN may create blockchain transactions as requested and/or may send them to the designated blockchain network. The BTM may interact with the BCN and the designated blockchain network on behalf of other entities, such as a BCA, a BTC, and/or a BNA. Examples of BTM-controlled transaction creation include (i) BCA/BNA-triggered BTM-controlled transaction creation, (ii) BTC-triggered BTM-controlled transaction creation, and (iii) BNA-subscribed BTM-controlled transaction creation.
The BCA/BNA-triggered BTM-controlled transaction creation may be suitable (used) for scenarios in which a BCA and/or a BNA may request and/or may trigger a BTM to create blockchain transactions. The BTC-triggered BTM-controlled transaction creation may be suitable (used) for scenarios in which a BTC may request and/or may trigger a BTM to create blockchain transactions. The BNA-subscribed BTM-controlled transaction creation may be suitable (used) for scenarios in which (i) one or more entities (e.g., a BCA, a BTC and/or a BTM) may expose one or more subscribable events that trigger the BTM to create blockchain transactions, facilitate creation of blockchain transactions and/or facilitate storage of information in an EDS, and (ii) a BNA subscribes to one or more of the events exposed by the entities.
Representative BCA/BNA-Triggered BTM-Controlled Transaction Creation
The term “step” as set forth in the disclosures accompanying
Pre-conditions: The BCA 143 may be registered to or associated with a BTC 142. The BTC 142 may be registered to or associated with the BTM 140. The BTM 140 has the address of the BCN 141 and may be provisioned and/or configured communicate with it. The BCN 141 is a participant of a designated blockchain system and maintains a designated blockchain (or a distributed ledger). The BNA 144 may be registered to or associated with the BTM 140. Optionally, there may be a DPP 145 and an EDS 146, which the BTM 140 can access. The BCA 143 may be provisioned and/or configured to use functionalities provided by the BTC 142. The BTC 142 may be provisioned and/or configured to access functionalities of the BTM 140. The BTM 140 may be provisioned and/or configured to interact with the designated blockchain system via the BCN 141. The BTM 140 may provisioned and/or configured to interact with the designated blockchain system on behalf of the BTC 142 and/or the BCA 143. The BCA 143 and the BTC 142 may be co-located, for example, within the same device (e.g., a smartphone, a vehicle, a drone, a sensor) or hosted by two different devices. The BTM 140, as a function, may reside (be disposed) in a device, a gateway, an element of an edge network, an element of a 5G core network, and/or an element of a data center. The BCN 141, as a function, may reside (be disposed) in a device, a gateway, an element of an edge network, an element of a 5G core network, and/or an element of a data center.
Before step 1, the BTM 140 may have informed the BCA 143 and/or the BTC 142 (or the BNA 144) of one or more (e.g., a list of) parameters (“transaction-creation parameters”) to send to the BTM 140 when requesting to add information to a blockchain in step 1 and step 3 (or step 3′). The BCA 143 and/or the BTC 142 (or the BNA 144) may include a set of the transaction-creation parameters (“transaction-creation parameter set”) in a request sent by the BCA 143 in step 1 and/or a request sent by the BTC 142 in step 3 (or a request sent by the BNA 144 in step 3′).
Alternatively, and/or additionally, the BTM 140 may create and may assign a transaction description for each or both of the BCA 143 and the BTC 142 (or the BNA 144). The transaction description (or each transaction description) may describe the transaction-creation parameters to be included in a new transaction, how a new transaction should (may) be created, which entities the transaction description can be applied to, and/or other information. The BCA 143 and the BTC 142 (or the BNA) may include information indicating applicable transaction descriptions in requests sent thereby in step 1 and step 3, respectively (or sent by the BNA 144 step 3′). The BTM 140 shall (or may) use the transaction description(s) to create new transactions for the BCA 143 and/or the BTC 142 (or the BNA 144) accordingly. Alternatively, and/or optionally, after step 3 (or step 3′), the BTM 140 may select a transaction description for the BCA 143 and the BTC 142 (or the BNA 144) or for each of the BCA 143 and the BTC 142 (or the BNA 144). The BTM 140 may use the transaction description(s) to create new transactions for the BCA 143 and/or the BTC 142 (or the BNA 144). This approach simplifies and eases the operations at the BCA 143 and/or the BTC 142 (or the BNA 144).
Step 1: the BCA 143 may generate and send a first request to add information into a blockchain to the BTC 142 (16:1). The BTC 142 (or the BTM 140) may have already installed one or more blockchain policy rules to the BCA 143. The BCA 143 may generate the first request based on the installed blockchain policy rules. For example, a blockchain policy rule may instruct the BCA 143 to generate such a request every T1 seconds. The BCA 143 may include information indicating the appropriate transaction indication and/or the transaction-creation parameter set in the first request when generating the first request. The transaction-creation parameter set may include any of the transaction-creation parameters: (i) a number of transactions to be created, (ii) an application category of the BCA 143, (iii) an identifier of the BCA 143, (iv) an application name of the BCA 143, (v) security credential information of the BCA 143 (e.g., a digital signature of the BCA 143 that is applied to the request (or each request)) and (vi) content for each transaction. The content for each transaction may include the following parameters:
Step 2: The BTC 142 may receive the first request the BCA 143. The BTC 142 may authenticate and authorize the first request using the context and/or the security credential information of the BCA 143 (e.g., the public key of the BCA 143), which the BTC 142 may maintain locally. If the first request passes the authentication, the BTC 142 may buffer the first request and/or may aggregate the first request with one or more other requests for adding information into the blockchain (16:2). The other requests may be from the same BCA 143 and/or one or more other BCAs. The BTC 142 may receive (i) all of the other requests before or after reception the first request or (ii) some of the other requests before and some after reception the first request. If authentication fails, the BTC 142 may discard the first request and may skip all remaining steps other than step 13.
Step 3: The BTC 142 may send the first request or the first request aggregated with the other requests to the BTM 140 (16:3). For convenience and simplicity of exposition, the first request aggregated with the other requests may be referred to as “the first request”. The BTM 140 may have already installed one or more blockchain policy rules to the BTC 142. The BTC 142 may send the first request based on the installed blockchain policy rules. For example, a blockchain policy rule may instruct that the BTC 142 must send such a request with a speed below a threshold. The first request sent by the BTC 142 may include (i) the same transaction-creation parameter set as disclosed above in connection with step 1 and (ii) one or more additional transaction-creation parameters. If the transaction-creation parameter set disclosed above in connection with step 1 was not included in the first request received from the BCA 143, the BTC 142 may append them into the first request before forwarding the first request to the BTM 140. The additional transaction-creation parameters may include any of the following: (i) an identifier of the policy rule which may be used and enforced by the BTM 140 to regulate whether/how the information and the extra data may be added in the designated blockchain; (ii) a type, an address or an identifier of the designated blockchain, from which the address of the BCN 141 may be deduced; (iii) an identifier of the BTC 142; (iv) a hash function or any relevant keys which may be used by the BTM 140 to hash data to be stored in the EDS 146 (in step 8); (v) a trigger or an indication that may require the BTM 140 to periodically obtain data from a designated place and store them onto the designated blockchain; and/or (vi) security credential information (e.g., a digital signature of the request) of the BTC 142.
Step 3′: The BNA 144 may send to the BTM 140 a second request to add information and data into the blockchain (16:3′). The BTM 140 may have already installed one or more blockchain policy rules to the BNA 144. The BNA 144 may generate the second request based on the installed blockchain policy rules. For example, a blockchain policy rule may instruct the BNA 144 to generate such a request at most every T2 seconds. The second request may include (i) the transaction-creation parameter set, (ii) the additional transaction-creation parameters, and (iii) one or more of the following transaction-creation parameters (“other transaction-creation parameters”): (i) an identifier of the BNA 141; and/or (ii) security credential information (e.g., a digital signature of this request) of the BCA 143.
Step 4: The BTM 140 may send to the DPP 145 a third request to check for any applicable blockchain policy rules and any extra data (16:4). In various embodiments, the BTM 140 may have been configured by the DPP 145 with one or more blockchain policy rules and may have passively stored one or more blockchain policy rules. The BTM 140 may use locally available blockchain policy rules before requesting and/or retrieving any from the DPP 146.
For example, an identifier of a blockchain policy rule may be included in one or more of the first request from the BTC 142 (Step 3) and/or the second request from the BNA 144 (Step 3′). The BTM 140 may submit this identifier to the DPP 145 to retrieve the content of the corresponding blockchain policy rule. The blockchain policy rule may specify: 1) a type, an address, and/or an identifier of the designated blockchain to be applied to one or more (each) of the requests from the BNA 144, the BTC 142, and/or the BCA 143; 2) whether is there any extra data to be jointly added together with any designated information into the designated blockchain; 3) where to retrieve such extra data if not provided by the DPP 145.
In another example, one or more of the first request from the BTC 142 and/or the second request from the BNA 144 may include an address from which to retrieve extra data. The BTM 140 may use the address to retrieve the extra data from the DPP 145.
In another example, one or more of the first request from the BTC 142 and/or the second request from the BNA 144 may not include any information content, but may include an address of the information to be added into the designated blockchain. The BTM 140 may use the address to retrieve the information from the DPP 145.
In another example, the BTM 140 may submit an identifier of the BTC 143, an identifier of the BCA 142, and/or an identifier the BNA 144 to the DPP 145 to retrieve any relevant blockchain policy rules and extra data.
Step 5: The DPP 145 may send a first response to the BTM 140 (16:5). The first response may include the content of blockchain policy rules, the information to be added into the designated blockchain, and/or the extra data to be added together with the information to be added into the designated blockchain. In addition, whenever retrieving a blockchain policy rule, the BTM 140 may store it locally for future use and to avoid future retrieval, or the costs involved with future retrieval, from the DPP 145, which may be indicated and instructed by the DPP 145. The DPP 145 may indicate to the BTM 140 if a returned blockchain policy rule can or should be stored locally or not. Step 6: Based on the first response from the DPP 145 and one or more of the first and/or second requests from the BTC 142 and/or from the BNA 144, the BTM 140 can determine the data to be added into the designated blockchain (referred to as data1) and the data to be stored in the EDS 146 (referred to as data2) (16:6). If there is no requirement to store any data in the EDS 146, then step 8 and step 9 may not be carried out.
Before step 6 (but after step 5), the BTM 140 may contact an auditor (e.g., another BTM, another BTC, another BCA, another BNA, or a third-party such as a 5G core network function) to get a confirmation or any more additional data from the auditor. For example, if the BCA 143 issued the first request and the BCA is managed by another BNA of the same blockchain application, the auditor may be this other BNA. The BTM 140 may send a fourth request to the auditor. The fourth request may include partial or full information as included in the first request from the BTC 142 and/or second request from the BNA 144. The fourth request may include the an identifier of the BTM 140, security credentials related to the BCA/BTC 143/142 or BNA 144 (e.g., a token, a certificate or signature thereof), and/or a type and address of additional data to be retrieved. Based on evaluation of all information as included in the fourth request, the auditor may authorize the request. If the authorization passes, the auditor may send a first confirmation response to the BTM 140. The first confirmation response may include additional data from the auditor (assuming the BTM 140 had requested it). If the authorization fails, the auditor may send a rejection response to the BTM 140. Responsive to the rejection response, the BTM may not perform step 6 and the rest steps. After receiving the first confirmation response from the auditor, the BTM 140 may continue with the procedure 1600.
Step 7: The BTM 140 may select a designated blockchain and the BCN 141 for the designated blockchain (16:7). If the BTM 140 has been provisioned or configured with the designated blockchain and the BCN 141, this step may be skipped or the BTM 140 may again select a designated blockchain and a BCN 141 for the designated blockchain.
In an embodiment, a blockchain policy rule (e.g., as retrieved from the DPP 144 in step 4 and/or step 5) may include the designated blockchain and corresponding BCN 141. As such, this step may be skipped or the BTM 140 may again select any of a designated blockchain and a BCN 141 for the designated blockchain. In addition, if one or more of the first and/or second requests from the BTC 142 and/or from the BNA 144 indicated the designated blockchain and corresponding BCN 141, this step can be skipped as well.
The BTM 140 may perform such BCN selection for the BCA 143 and/or the BNA 144 only once and may maintain information indicating the selected BCNs for the BCA 143 or the BNA 144 locally. The locally-maintained information indicating the selected BCNs for the BCA 143 or the BNA 144 may be used when the BTM 140 receives from the BCA 143 or the BNA 144 a subsequent request to create a transaction. As another alternative, during a system setup and configuration phase, the BTM 140 may have selected and assigned one or more BCNs for the BCA 143 or the BNA 144 based on one or more indications and/or requirements from the BCA 143 or the BNA 144. As such, step 7 need not be carried out and the first and/or second requests from the BCA 143 (step 1) and/or the request from the BNA 144 (step 3′) need not include or indicate BCN information.
Step 8: The BTM 140 may send the data2 to the EDS 146 and may instruct the EDS 146 to store the data2 (16:8).
Step 9: The EDS 146 stores the data2. The EDS 146 may send a second response to the BTM 140 (16:9). The second response may include an address from which to retrieve the data2.
Step 10: The BTM 140 may send data1 and a hash of data2 (“hash(data2)”) to the BCN 141 asking to store data1 and hash(data2) into the designated blockchain (16:10). The BTM 140 may use any additional hash-related information included in one or more of the first and/or second requests from the BCA 143 and/or from the BNA 144 or from blockchain policy rules to compute hash(data2). If data2 is not presented or required as a result of step 6, the BTM 140 will (might) not compute hash(data2), but may send (e.g., only send) data1 to the BCN 141. If data1 is not presented or required as a result of step 6, the BTM 140 may send (e.g., only send) hash(data2) to the BCN 141.
Step 11: The BCN 141 may send a third response to the BTM 140 (16:11). The third response may be an immediate response to confirm the reception of the data1, the hash(data2) and/or the request from the BTM 140, and/or to indicate the requested blockchain transactions have been created (but not confirmed within the blockchain network yet). This step may be optional.
Step 12: The BTM 140 may send a fourth response to the BTC 142 indicating whether the requested information has been created in blockchain transactions (but not confirmed within the blockchain network yet) and/or stored to the EDS 146 (16:12).
Step 13: The BTC 142 may forward the fourth response to the BCA 143 (16:13).
Step 14: The BCN 141 may perform the designated blockchain protocol to store data1 and/or hash(data2) into the designated blockchain (16:14). For example, the BCN 141 may generate a blockchain transaction including data1 and/or hash(data2). The BCN 141 may send the blockchain transaction to the designated blockchain network.
Step 15: After the blockchain transaction including data1 and/or hash(data2) has been successfully added into the designated blockchain, the BCN 141 may send a notification to the BTM 140. In an embodiment, the transaction may have a transaction number, TranNumX, and it may be included in a block with a sequence number equal to BlockNumY. One or more of the first and/or second requests from the BCA 143 and/or from the BNA 144 may include a recipient (a BCA, a BTC, or a BNA). The recipient may connect to another BTM (“BTM-X”) (not shown). The BTM-X may interact with another BCN (“BCN-X”) that participates in the same blockchain system as the BCN 141. The BCN-X should (may) receive the transaction as a result of it being propagated through the blockchain system. The BCN-X may send the transaction to the BTM-X. The BTM-X may forward the transaction to the recipient.
Step 16: Optionally, the BTM 140 may send a fifth request to update the EDS 146 with the block sequence number (e.g. BlockNumY), and/or the transaction sequence number (e.g., TranNumX) (16:16). The EDS 146 may associate the block sequence number (e.g. BlockNumY), and/or the transaction sequence number (e.g. TranNumX), with the data2 previously stored at the EDS 146. If data2 was not previously stored at the EDS 146, step 16 should (may) be skipped.
Step 17: The BTM 140 may send a second confirmation response to the BTC 142 (16:17). This response may include the address of data2 stored at EDS 146, the hash(data2), the block sequence number (e.g., BlockNumY), and/or the transaction sequence number (e.g., TranNumX). If the BCA 143 is managed by one or more BNAs other than BNA 144 (“BNA-X”) of the same blockchain application, the BTM 140 may send the same second confirmation to the BNA-X.
Step 17′: The BTM 140 may send a third confirmation response to the BNA 144 (16:17′) if the BTM 140 received the second request from the BNA 144 (step 3′) or if the BNA 144 manages the BCA 142. The third confirmation response may include the address of data2 stored at EDS 146, the hash(data2), the block sequence number (e.g., BlockNumY), and/or the transaction sequence number (e.g., TranNumX).
Step 18: The BTC 142 may forward the third confirmation received from the BTM 140 to the BCA 143.
The procedure 1600 may be used to support, but not limited to, the following scenarios:
Representative BTC-Triggered BTM-Controlled Transaction Creation
In various embodiments, a BTC may manage one or more BCAs. The BTC may monitor statuses of the BCAs and may actively decide and request a BTM to create a new transaction for one or more of the BCAs based on one or more of the respective statuses and without any explicit request or indication from the corresponding BCAs. In various embodiments, a BTC may request a BTM to create a transaction to store its current status or a particular event to a blockchain. For example, when a particular BCA or a particular type of BCA registers to the BTC, the BTC may request the BTM to create a transaction to record such BCA registration.
Pre-Conditions: The BTC 142-1 and the BTC 142-2 may be registered to or associated with the BTM 140. The BTM 140 has the address of the BCN 141 and is able to communicate with it. The BCN is a participating node of a designated blockchain system and maintains a designated blockchain (or a distributed ledger). Optionally, there may be a DPP 144 and an EDS 146, which the BTM 146 can access. The BTC 142-1 and the BTC 142-2 may be provisioned and/or configured to access functionalities of the BTM 140. The BTM 140 may be provisioned and/or configured to interact with the designated blockchain system via the BCN 141. The BTM 140 may be provisioned and/or configured to interact with the designated blockchain system on behalf of the BTCs 142-1, 142-2. The BTCs 142-1, 142-2 may reside (be disposed) within a device (e.g., a smartphone, a vehicle, a drone, a sensor) or respective devices. The BTM 140 as a function may reside (be disposed) in a device, a gateway, an element of an edge network, an element of a 5G core network, and/or an element of a data center. The BCN 141 as a function may reside (be disposed) in a device, a gateway, an element of an edge network, an element of a 5G core network, and/or an element of a data center.
Step 1: The BTC 142-1 may receive a trigger to add information into a designated blockchain (17:1). The trigger may be generated by the BTC 142-1 based on its local blockchain policy rules, or if requested by a BCA (not shown) and/or a BNA (not shown).
Step 2: The BTC 142-1 may send a first request to add information into a blockchain to the BTM 140 (17:2) and operations similar to the other operations denoted in step 3 of procedure 1600 (
Step 3: The BTM 140 may receive the first request from the BTC 142-1. Based on the the transaction-creation parameter set, the additional transaction-creation parameters and additional information, the BTM 140 may determine whether to retrieve additional data from the BTC 142-2 (17:3). The BTM 140 may determine that it may need to contact the BTC 142-2 to obtain either a confirmation or the additional data. For example, if the request from the BTC 142-1 includes a BTC group identifier for a BTC group including the BTCs 142-1, 142-2, the BTM 140 may determine to contact the BTC 142-1 and any other member of the BTC group except the BTC 142-1.
Step 4: The BTM 140 may send to the BTC 142-2 a second request to retrieve additional data or to obtain a confirmation from the BTC 142-2 (17:4). The second request may include an identifier of the BTC 142-1; an identifier of the BTC 142-2; an identifier of a group of BTCs including BTC 142-1 and BTC 142-2 and/or the name, the address, and/or the identifier of the additional data to be retrieved. Alternatively, the BTM 140 may retrieve additional data from other places (e.g., one or more BNAs and/or one or more BCAs).
Step 5: The BTC 142-2 may send a first response to the BTM 140 (17:5). The first response may include the additional data or a confirmation.
Step 6: The BTM 140 may carry out operations to cause data to be stored in any of the EDS 146 and the blockchain (17:6). For example, operations similar to the operations of procedure 1600 starting from step 4 (
Step 7: The BTM 140 may send a first notification to the BTC 142-1 (17:7). The BTM 140, for example, may carry out operations similar to the operations denoted by step 17 of process 1600 (
Step 8: Optionally, the BTM 140 may send a second notification to the BTC 142-2 (17:8).
Representative BNA-Subscribed BTM-Controlled Transaction Creation
Pre-Conditions: A BCA 143 may be registered to or associated with a BTC 142. The BTC 142 may be registered to or associated with the BTM 140. The BTM 140 has the address of the BCN 141 and can communicate with it. The BCN 141 is a participating node of a designated blockchain system and maintains a designated blockchain (or a distributed ledger). The BNA 144 may be registered to or associated with the BTM 140. Optionally, there may be a DPP 145 and an EDS 146, which the BTM 140 can access. The BCA 143 may be provisioned and/or configured to use functionalities provided by the BTC 142. The BTC 142 may be provisioned and/or configured to access functionalities of the BTM 140. The BTM 140 may be provisioned and/or configured to interact with the designated blockchain system via the BCN 141. The BTM 140 may be provisioned and/or configured to interact with the designated blockchain system on behalf of the BCA/BTC 143/142. The BCA 143 and the BTC 142 may be co-located, for example, within the same device (e.g., a smartphone, a vehicle, a drone, a sensor) or hosted by two different devices. The BTM 140 as a function may reside (be disposed) in a device, a gateway, an element of an edge network, an element of a 5G core network, and/or an element of a data center. The BCN 141 as a function may reside (be disposed) in a device, a gateway, an element of an edge network, an element of a 5G core network, and/or an element of a data center.
Step 1: The BNA 144 may send to the BTM 140 a subscription request to subscribe to an event exposed by the BCA 143 (18:1). The subscription request may include any of the following parameters: (i) an identifier of the BCA 143; When the event occurs at (is detected by) the BCA 143, the BCA 143 may trigger to initiate a request to add information into the designated blockchain.(ii) a condition or the event to subscribe to; (iii) a designated blockchain; and (iv) an identifier of the BNA 144.
Step 2: The BTM 140 may authenticate the subscription request as to whether the BNA 144 has the right to subscribe to the BCA 143 using identifiers of the BNA 144 and the BCA 143. If the authentication is successful, the BTM 140 may use the identifier of the BCA 143 to find the BTC 142. The BTM 140 may send (e.g., forward) the subscription request to the BTC 142 (18:2).
Step 3: The BTC 142 may send (e.g., forward) the subscription request to the BCA 143 (18:3). The BTC 142 may maintain one or more of the parameters from the subscription request locally.
Step 4: The BCA 143 may process the subscription request. the BCA 143 may send a first response (e.g., an immediate response) to the BTC 142 (18:4).
Step 5: The BTC 143 may send (e.g., forward) the first response to the BTM 140 (18:5).
Step 6: The BTM 140 may send (e.g., forward) the first response to the BNA 144 (18:6).
Step 7: The event occurs at (is detected by) the BCA 143 (18:6). The event may trigger the BCA 143 to send to the BTC 142 a request to add information into a blockchain (18:7) and/or to perform operations similar to the other operations denoted by step 1 of the procedure 1600 (
Steps 8-25: Operations similar of the operations denoted by steps 2-18 of the procedure 1600 (
Step 26: The BCA 143 may send a second response to the BNA 144 (18:26). The second response may be sent directly to the BNA 144 or it may be sent to the BTC 142 and thereafter relayed by the BTC 142 and/or the BTM 140 to the BNA 144.
In an embodiment, after the event occurs (step 7), the BCA 143 may send a notification to the BNA 144. The BNA 144 may decide to create a new transaction or not. If the BNA 144 decides to create a new traction, it may send a trigger or signal back to the BCA 143. The BCA 143 may send the request to add information into a blockchain to the BTC 142 and/or to perform operations similar to the other operations denoted by step 1 of the procedure 1600 (
Representative BTC-Controlled Transaction Creation
In BTC-controlled transaction creation, all requests for creating blockchain transactions are sent to a BTC. The BTC, optionally aided by a BTM, may be responsible for authenticating the requests, processing the requests by obtaining any additional information, selecting a BCN of a designated blockchain network, and forwarding the processed request to the BCN. The BCN may create blockchain transactions as requested and may send them to the designated blockchain network. The BTC may interact with the BCN and the designated blockchain network on behalf of other entities, such as a BCA and/or another BTC. Examples of BTC-controlled transaction creation include (i) BCA-triggered BTC-controlled transaction creation; and (ii) BTM-subscribed BTC-controlled transaction creation. The BCA-triggered BTC-controlled transaction creation may be suitable (used) for scenarios in which a BCA may request and/or trigger a BTC to create blockchain transactions, facilitate creation of blockchain transactions and/or facilitate storage of information in an EDS. The BTM-subscribed BTC-controlled transaction creation may be suitable (used) for scenarios in which (i) a BTC may expose one or more subscribable events that trigger the BTC to create blockchain transactions, facilitate creation of blockchain transactions and/or facilitate storage of information in an EDS, and (ii) a BTM subscribes to one or more of the events exposed by the BTC.
Pre-Conditions: The BCA 143 may be registered to or associated with the BTC 142. The BTC 142 may be registered to or associated with a BTM 140. The BTM 140 has the address of a BCN 141 and can communicate with it. The BCN 141 is a participating node in a designated blockchain system and maintains a designated blockchain (or a distributed ledger). Optionally, there may be a DPP 145 and an EDS 146, which the BTM 140 can access. The BCA 143 may be provisioned and/or configured to use functionalities provided by the BTC 142. The BTC 142 may be provisioned and/or configured to access functionalities of the BTM 140. The BTC 142 may be provisioned and/or configured to interact with the designated blockchain system via the BCN 141. The BTC 142 may be provisioned and/or configured to interact with the designated blockchain system on behalf of the BCA 143. The BCA 143 and the BTC 143 may be co-located, for example, within the same device (e.g., a smartphone, a vehicle, a drone, a sensor) or hosted by two different devices. The BTM 140 as a function may reside (be disposed) in a device, a gateway, an element of an edge network, an element of a 5G core network, and/or an element of a data center. The BCN 141 as a function may reside (be disposed) in a device, a gateway, an element of an edge network, an element of a 5G core network, and/or an element of a data center.
Step 1: The BCA 143 may send to the BTC 142 a first request to add information into a blockchain (19:1) and/or may perform operations similar to the other operations denoted by step 1 of the procedure 1600 (
Step 2: The BTC 142 may receive the first request the BCA 143. The BTC 142 may authenticate and authorize the first request using the context and/or the security credential information of the BCA 143 (e.g., the public key of the BCA 143), which the BTC 142 may maintain locally. If the first request passes authentication, the BTC 142 may buffer the first request and/or may aggregate the first request with one or more other requests for adding information into the blockchain (19:2). The other requests may be from the same BCA 143 and/or one or more other BCAs. The BTC 142 may receive (i) all of the other requests before or after reception the first request or (ii) some of the other requests before and some after reception the first request. If authentication fails, the BTC 142 may discard the first request and may skip all, but step 13.
Step 3: The BTC 142 may check with the BTM 140 for applicable policy rules and for any extra data (19:3). Alternatively, the BTC 142 may check for policy rules directly with the DPP 145 without going to the BTM 140 (not shown). Step 4 and step 6 may be skipped if the BTC 142 checks with the DPP 145 directly for the policy rules.
Step 4: The BTM 140 may send (forward) to the DPP 145 a second request to check for any applicable blockchain policy rules and any extra data (19:4). In various embodiments, the BTM 140 may have been configured by the DPP 145 with one or more blockchain policy rules and may have passively stored one or more blockchain policy rules. The BTM 140 may use locally available blockchain policy rules before requesting and/or retrieving any from the DPP 146.
Step 5: The DPP 145 may send a first response to the BTM 140 (19:5). The first response may include the content of blockchain policy rules, the information to be added into the designated blockchain, and/or the extra data to be added together with the information to be added into the designated blockchain. Whenever a blockchain policy rule is retrieved, the BTM 140 may store it locally for future use and to avoid future retrieval, or the costs involved with future retrieval, from the DPP 145, which may be indicated and instructed by the DPP 145. The DPP 145 may indicate to the BTM 140 if a blockchain policy rule can or should be stored locally or not. The DPP 145 may send the first response to the BTC 142 directly (without going through the BTM 140) if the DPP 145 received the first request (Step 3) from the BTC 142 directly.
Step 6: The BTM 140 may forward the first response to the BTC 142 (19:5). This response may include the extra data which the BTM 141 received from DPP in Step 5 or the BTM inserts by itself.
Step 7: Based on the first response from the DPP 145 and one or more of the first and/or second requests from the BCA 143 and/or from the BNA 144, the BTC 142 can determine the data to be added into the designated blockchain (referred to as data1) and the data to be stored in the EDS 146 (referred to as data2) (19:7). If there is no requirement to store any data in the EDS 146, then step 9 and step 10 may not be carried out.
Step 8: The BTC 142 may select a designated blockchain and the BCN 141 for the designated blockchain (19:8). If the BTC 142 has been provisioned or configured with the designated blockchain and the BCN 141, this step may be skipped or the BTC 142 may again select a designated blockchain and a BCN 141 for the designated blockchain.
In an embodiment, a blockchain policy rule (e.g., as retrieved from the DPP 144 in step 4 and/or step 5) may include the designated blockchain and corresponding BCN 141. As such, this step may be skipped or the BTC 142 may again select any of a designated blockchain and a BCN 141 for the designated blockchain. In addition, if the first request from the BCA 143 indicated the designated blockchain and corresponding BCN 141, this step can be skipped as well.
The BTC 142 may perform such BCN selection for the BCA 143 only once and may maintain information indicating the selected BCNs for the BCA 143 locally. The locally-maintained information indicating the selected BCNs for the BCA 143 may be used when the BTC 142 receives from the BCA 143 a subsequent request to create a transaction. As another alternative, during a system setup and configuration phase, the BTC 142 may have selected and assigned one or more BCNs for the BCA 143 based on one or more indications and/or requirements from the BCA 143. As such, step 8 need not be carried out and the first request from the BCA 143 (step 1) need not include or indicate BCN information. Alternatively, the BTC 142 may send a request to the BTM 140 to discover an appropriate BCN. The BTM 140 may have provisioned or configured the BTC 142 with one or multiple BCNs (e.g., even before Step 1).
Step 9: The BTC 142 may send the data2 to the EDS 146 and may instruct the EDS 146 to store the data2 (19:9).
Step 10: The EDS 146 store the data2. The EDS 146 may send a second response to the BTC 143 (19:10). The second response may include an address from which to retrieve the data2.
Step 11: The BTC 142 may send data1 and a hash of data2 (“hash(data2)”) to the BCN 141 asking to store data1 and hash(data2) into the designated blockchain (19:11). The BTC 142 may use any additional hash-related information included in the first request from the BCA 143 or from blockchain policy rules to compute hash(data2). If data2 is not presented or required as a result of step 7, the BTC 142 will (might) not compute hash(data2), but may send (e.g., only send) data1 to the BCN 141. If data1 is not presented or required as a result of step 7, the BTC 142 may send (e.g., only send) hash(data2) to the BCN 141.
Step 12: The BCN 141 may send a third response to the BTC 142 (19:12). The third response may be an immediate response to confirm the reception of the data1, the hash(data2) and/or the request from the BTC 142, and/or to indicate the requested blockchain transactions have been created (but not confirmed within the blockchain network yet). This step may be optional.
Step 13: The BTC 142 may send a fourth response to the BCA 143 indicating whether the requested information has been created in blockchain transactions (but not confirmed within the blockchain network yet) and/or stored to the EDS 146 (19:13).
Step 14: The BCN 141 may perform the designated blockchain protocol to store data1 and hash(data2) into the designated blockchain (19:14). For example, the BCN 141 may generate a blockchain transaction including data1 and/or hash(data2). The BCN 141 may send the blockchain transaction to the designated blockchain network.
Step 15: After the blockchain transaction including data1 and/or hash(data2) has been successfully added into the designated blockchain, the BCN 141 may send a notification to the BTC 142. In an embodiment, the transaction may have a transaction number, TranNumX, and it may be included in a block with a sequence number equal to BlockNumY. The first request from the BCA 143 may include a recipient (a BCA, a BTC, or a BNA). The recipient may connect to another BTM (“BTM-X”) (not shown). The BTM-X may interact with another BCN (“BCN-X”) that participates in the same blockchain system as the BCN 141. The BCN-X should (may) receive the transaction as a result of it being propagated through the blockchain system. The BCN-X may send the transaction to the BTM-X. The BTM-X may forward the transaction to the recipient.
Step 16: Optionally, the BTC 142 may send a fifth request to update the EDS 146 with the block sequence number, BlockNumY, and the transaction sequence number, TranNumX (16:16). The EDS 146 may associate the block sequence number, BlockNumY, and the transaction sequence number, TranNumX, with the data2 previously stored at the EDS 146. If data2 was not previously stored at the EDS 146, step 16 should (may) be skipped.
Step 17: The BTC 142 may forward the notification as received from Step 15 as a confirmation to the BCA 143
The procedure shown in
Pre-Conditions: A BCA 143 may be registered to or associated with the BTC 142. The BTC 142 may be registered to or associated with the BTM 140; The BTM has the address of a BCN 141 and can communicate with it. The BCN 141 is a participant of a designated blockchain system and maintains a designated blockchain (or a distributed ledger). Optionally, there may be a DPP 145 and an EDS 146, which the BTM 140 can access. The BCA 143 may be provisioned and/or configured to use functionalities provided by the BTC 142. The BTC 142 may be provisioned and/or configured to access functionalities of the BTM 140. The BTC 142 may be provisioned and/or configured to interact with the designated blockchain system via the BCN 141. The BTC 142 may be provisioned and/or configured to interact with the designated blockchain system on behalf of the BCA 143. The BCA 143 and the BTC 142 may be co-located, for example, within the same device (e.g., a smartphone, a vehicle, a drone, a sensor) or hosted by two different devices. The BTM 140 as a function may reside (be disposed) in a device, a gateway, an element of an edge network, an element of a 5G core network, and/or an element of a data center. The BCN 141 as a function may reside (be disposed) in a device, a gateway, an element of an edge network, an element of a 5G core network, and/or an element of a data center.
Step 1: The BTM 140 may send a subscription request to the BTC 142 to subscribe to an event exposed by the BCA 143 (20:1). The subscription request may include any of the following parameters: (i) an identifier of the BCA 143. When the event occurs at the BCA 143, the BCA 143 may trigger to add information into a designated blockchain; (ii) a condition or the event to subscribes to; (iii) a designated blockchain which the BCA 143 may add information into; and (iv) an identifier of the BTM.
Step 2: The BTC 142 may send (forward) the subscription request to the BCA (20:2). The BTC 142 may maintain one or more parameters from the subscription request locally.
Step 3: The BCA 143 may process the subscription request. The BCA 143 may send a first response (e.g., an immediate response) to the BTC 142 (20:3).
Step 4: The BTC 142 may send (forward) the first response to the BTM 140 (20:4).
Step 5: The event occurs at (is detected by) the BCA 143 (20:5). This event may trigger the BCA 143 to send to the BTC 142 a request to add information into a blockchain (20:5) and/or to perform operations similar to the other operations denoted by step 1 of the procedure 1900 (
Steps 8-22: Operations similar of the operations denoted by the steps 2-17 of the procedure 1900 (
Step 23: The BCA 143 may send a notification to the BTM 140 via the BTC 142 to inform the BTM 140 that a transaction has been added into a designated blockchain and extra data has been stored to the EDS 146 (20:6). Alternatively, the BTC 142 may send such a notification to the BTM 140.
Representative BTM-Assisted Block Creation
Pre-Condition: A requestor (a BTC, a BNA, or another BTM) may be registered to or associated with the BTM 140. The BTM 140 has the address of a BCN 141 and can communicate with it. The BCN 141 is a participant of a designated blockchain system and maintains a designated blockchain (or a distributed ledger). There may be a DPP 145 and an EDS 146, which the BTM 140 can access. The requestor may be provisioned and/or configured to access functionalities provided by the BTM 140. The BTM 140 may be provisioned and/or configured to interact with the designated blockchain system via the BCN 141. The BTM 140 may be provisioned and/or configured to interact with the designated blockchain system on behalf of the requestor. The BTC 140 may be located in a device (e.g., a smartphone, a vehicle, a sensor). The BTM 140 as a function may reside (be disposed) in a device, a gateway, an element of an edge network, an element of a 5G core network, and/or an element of a data center. The BCN 141 as a function may reside (be disposed) in a device, a gateway, an element of an edge network, an element of a 3GPP core network, and/or an element of a data center.
Step 1: The requestor may send to the BTM 140 a first request to indicate one or more requirements on block creation (21:1). The requestor may be the BNA 144, the BTC 142, and/or another BTM (not shown). Such block creation requirements may cover various scenarios, for example: (i) transactions to be included in a new block should (may) be from a specific set of BCAs, BTCs, and/or BNAs; (ii) transactions to be included in a new block should (may) belong to a specific set of transaction categories; (iii) transactions to be included in a new block should (may) have an average waiting time small than a value.
Step 2: The BTM 140 may receive one or more first block creation requirements from the requestor (21:2). The BTM 140 may check with the DPP 144 to verify if the first requirements from the requestor are allowed. During this step, the DPP 144 may provide one or more new (“second”) block creation requirements to the BTM 140, which may overwrite or complement the first requirements.
Step 3: The BTM 140 may send a first response to the requestor confirming that the first block creation requirements have been received (21:3). If the BTM 140 retrieves the second block creation requirements from the DPP 145, the BTM 140 may include them in the first response to the requestor.
Step 4: According to block creation requirements, the BTM 140 may send to the BCN 141 a second request to create a set of transactions in a specific order (21:4). To facilitate this, the BTM 140 may contact DPP 145 to retrieve one or more policies and/or additional data and contact the EDS 146 to store extra data. In this process, the BTM 140 may piggyback and send one or more block creation requirements to the BCN 141. This step may be optional. For this step, all parameters introduced in BTM-controlled transaction creation procedures (e.g., a transaction-creation parameter set (step 3 of procedure 1600 of
Step 5: Optionally, the BTM 140 may search existing but pending transactions from the BCN 141 (or a different BCN) by providing (e.g., contents of) a transaction filter to the BCN 141. As a result, the BCN 141 may look up all pending transactions against the transaction filter and may provide the BTM 140 with a list of identifiers or sequence numbers of pending transactions that match the transaction filter (21:5). The BTM 140 may maintain the list locally.
Step 6: The BTM 140 may send block creation requirements to the BCN 141 (21:6). The BCN 141 may send a second response to the BTM (21:6). Block creation requirements may include the following scenarios and/or a combination of them: (i) a subset of the list of pending transactions as received from the BCN 141 (step 5), which may trigger the BCN 141 to create a new block to include all pending transactions as included in this subset; and (ii) the first and/or second block creation requirements.
Step 7: Based on the block creation requirements (step 6), the BCN 141 may select corresponding pending transactions, create a new block, and send the new block to the designated blockchain network (21:7).
Step 8: The BCN 141 may send to the BTM 140 a third response indicating the sequence number of the newly created block and the list of transactions included within the newly created block (21:8).
Step 9: The BTM 140 may forward the response to the requestor (21:9).
Not shown in
Representative Transaction Creation to Multiple Designated Blockchains
The procedure 2200 may be suitable (used) in scenarios in which one BCN maintains and participates multiple designated blockchains (or distributed ledgers). For example, BCNx and BCNy may be the same BCN, and otherwise separate requests of step 8 and step 10 may be combined as a single request. The rationale for using multiple blockchains instead of one single blockchain may be to increase security furthermore. The procedure 2200 of
Pre-Condition: The BNA 144 (or the BCA/BTC 143/142 or another BTM) may be registered to or associated with a BTM 140. The BTM 140 has the information (e.g., BCN address) about multiple designated blockchains and corresponding BCNs 141 and can communicate with the corresponding BCNs 141. There may be a DPP 145 and an EDS 146, which the BTM 140 can access. The BNA may be provisioned and/or configured to access functionalities provided by the BTM 140. The BTM 140 may be provisioned and/or configured to interact with multiple designated blockchains via the BCNs 141. The BTM 140 as a function may reside (be disposed) in a device, a gateway, an element of an edge network, an element of a 3GPP core network, and/or an element of a data center.
Step 1: The BNA 144 may send to the BTM 140 a first request to add information and data into the designated blockchain (22:1) and operations similar to the operations of step 3′ of procedure 1600 (
Both transaction-creation parameter groups are used for creating transactions, respectively, into Blockchain-X and Blockchain-Y. The BNA 141 may indicate if it needs the BTM 140 to create a new transaction to Blockchain-Z to maintain the fact that information from the BNA 144 has been added into Blockchain-X and Blockchain-Y (i.e., Scenario 2). Alternatively, the BNA 144 does not need to explicitly indicate Blockchain-X or Blockchain-Y but other parameters such as the raw data to be stored into blockchains. The BTM 140 may have determined the multiple blockchain systems and corresponding BCNs for the BNA 144 before step 1 (e.g., during system initialization, system setup, system provisioning and configuration, and/or BNA 144 registration to the BTM 140). As such, the BTM 140 may need only to receive other necessary information such as the raw data from the BNA 141 and decide which of the data should (may) be stored to in which of the multiple blockchain systems for the BNA 141.
Step 2: The BTM 140 may receive the first request. The BTM 140 may send to the DPP 145 a second request to check for any applicable blockchain policy rules and any extra data (22:2). In various embodiments, the BTM 140 may have been configured by the DPP 145 with one or more blockchain policy rules and may have passively stored one or more blockchain policy rules. The BTM 140 may use locally available blockchain policy rules before requesting and/or retrieving any from the DPP 145.
For example, an identifier of a blockchain policy rule may be included in the first request. The BTM 140 may submit this identifier to the DPP 145 to retrieve the content of the corresponding blockchain policy rule. The blockchain policy rule may specify: 1) a type, an address, and/or an identifier of the designated blockchain to be applied to one or more (each) of the requests from the BNA 144, the BTC 142, and/or the BCA 143; 2) whether is there any extra data to be jointly added together with any designated information into the designated blockchain; 3) where to retrieve such extra data if not provided by the DPP 145.
In another example, the first request may include an address from which to retrieve extra data. The BTM 140 may use the address to retrieve the extra data from the DPP 145.
In another example, the first request may not include any information content, but may include an address of the information to be added into the designated blockchain. The BTM 140 may use the address to retrieve the information from the DPP 145.
In another example, the BTM 140 may submit an identifier of the BNA 144 to the DPP 145 to retrieve any relevant blockchain policy rules and extra data.
Step 3: The DPP 145 may send a first response to the BTM 140 (22:3). The first response may include the content of blockchain policy rules, the information to be added into the designated blockchain, and/or the extra data to be added together with the information to be added into the designated blockchain. In addition, whenever retrieving a blockchain policy rule, the BTM 140 may store it locally for future use and to avoid future retrieval, or the costs involved with future retrieval, from the DPP 145, which may be indicated and instructed by the DPP 145. The DPP 145 may indicate to the BTM 140 if a returned blockchain policy rule can or should be stored locally or not.
Step 4: Based on the first response from the DPP 145 and the first request from the BNA 144, the BTM 140 can determine the data to be added into the designated blockchain (referred to as data-X1 for Blockchain X and data-Y1 for Blockchain Y) and the data to be stored in the EDS 146 (referred to as data-E) (22:4). If there is no requirement to store any data in the EDS 146, then step 6 and step 7 may not be carried out.
Step 5: The BTM 140 may select the designated blockchains, Blockchain-X and Blockchain-Y, and corresponding BCNs, BCNx and BCNy, (22:5). If the BTM 140 has been provisioned or configured with the designated blockchains and the BCNs, this step may be skipped or the BTM 140 may again select a designated blockchains and BCNs for the designated blockchain.
In an embodiment, a blockchain policy rule (e.g., as retrieved from the DPP 144 in step 4) may include the designated blockchains and corresponding BCNs. As such, this step may be skipped or the BTM 140 may again select any of a designated blockchains and the BCNs. In addition, if the first from the BNA 144 indicated the designated blockchains and corresponding BCNs, this step can be skipped as well.
The BTM 140 may perform such BCN selection for the BNA 144 only once and may maintain information indicating the selected BCNs locally. The locally-maintained information indicating the selected BCNs for the BNA 144 may be used when the BTM 140 receives from the BNA 144 a subsequent request to create a transaction. As another alternative, during a system setup and configuration phase, the BTM 140 may have selected and assigned one or more BCNs for the BNA 144 based on one or more indications and/or requirements from the BNA 144. As such, step 5 need not be carried out and the first request from the BNA 144 need not include or indicate BCN information.
Step 6: The BTM 140 may send the data-E to the EDS 146, and may instruct the EDS 146 to store the data-E (22:6).
Step 7: The EDS 146 store the data-E. The EDS 146 may send a second response to the BTM 143 (22:7). The second response may include an address from which to retrieve the data-E.
Step 8: The BTM may send data-X1 (or its hash) to the BCNx and ask it to store data-X1 (or its hash) into Blockchain-X (22:8).
Step 9: The BCNx may generate a transaction, transaction-X1, to include data-X1 and may send the transaction-X1 to the blockchain network X (22:9). Eventually, the transaction-X1 may be included in a new block #n (
Step 10: The BTM 140 may send data-Y1 (or its hash) to the BCNy and ask it to store data-Y1 (or its hash) into Blockchain-Y (22:10).
Step 11: The BCNy may generate a transaction, transaction-Y1, to include data-Y1 and may send the transaction, transaction-Y1 to the blockchain network Y. Eventually, the transaction-Y1 may be included in a new block #m (
Step 12: As requested by the BNA 144 in step 1 or decided by the BTM 140 based on relevant blockchain policies, the BTM 140 may send a third request to the BCNz to store the record of the transaction-X1 and the transaction-Y1 into Blockchain Z (22:12). The third request may include the following parameters: (i) an address of BCNx; (ii) a sequence number of block #n; (iii) an identifier and/or a sequence number of the transaction X1; (iv) a hash of the transaction X1); (v) a hash of data-X1; (vi) an address of BCNy; (vii) a sequence number of block #m; (viii) an identifier and/or a sequence number of the transaction Y1; (ix) a hash of the Transaction Y1; and/or (x) a hash of data-Y1.
Step 13: The BCNz may generate a transaction, transaction-Z1, and may send the transaction-Z1 to the blockchain network Z. The transaction-Z1 may include all or a partial list of parameters included in the third request (step 12). Eventually, the transaction-Z1 may be included in a new block #p (
Step 14: Optionally, the BTM 140 may send a fourth request to update the EDS 146 with the information about where data-X1 and data-Y1 have been stored (22:14). The fourth request may include the information about the block #p and the transaction-Z1 in Blockchain Z as illustrated in
Step 15: The BTM 140 may send to the BNA 144 a sixth response indicating that the transactions, as requested in step 1, have been successfully created and stored into designated blockchains or not (22:15). The information shown in
Representative Query Transactions from Blockchain Networks
Pre-Conditions: A requestor (a BTC, a BNA, and/or another BTM) may be registered to or associated with a BTM 140 (or the requestor (a BCA) may be registered to or associated with a BTC 142). The BTM 140 (or the BTC 142) has the addresses of multiple BCNs (e.g., BCNx, BCNy, etc.) and may be provisioned and/or configured communicate with them. There may be an EDS 146, which the BTM 140 (or the BTC 142) can access. The requestor may be provisioned and/or configured to access functionalities provided by the BTM 140 (or the BTC 142). The BTM 140 (or the BTC 142) may be provisioned and/or configured interact with designated blockchain systems via the BCNs. The BTM 140 (or the BTC 142) may be provisioned and/or configured interact with designated blockchain systems on behalf of the requestor. The requestor may be located in a device (e.g., a smartphone, a vehicle, a sensor). The BTM 140 (or the BTC 142) as a function may reside (be disposed) in a device, a gateway, an element of an edge network, an element of a 3GPP core network, and/or an element of a data center. Each of the BCNs as a function may reside (be disposed) in a device, a gateway, an element of an edge network, an element of a 3GPP core network, and/or an element of a data center.
Step 1: The requestor may send a first request to the BTM 140 (or the BTC 142) to query existing blockchain transactions (24:1). The first request may include the following parameters: (i) a transaction filter (which may provide criteria for finding any matching transactions); (ii) an identifier and/or an address of a BCN; (iii) a category of matching transactions; (iv) a time interval within which matching transactions were created; (v) an identifier of each of one or more BTMs that have requested a BCN to create matching transactions; (vi) an identifier of each of one or more BTCs that have requested a BCN to create matching transactions; (vii) an identifier of each of one or more BCAs that have requested a BTM (or a BTC) to create matching transactions; (viii) an identifier of each of one or more BNAs that have requested a BCN to create matching transactions; (ix) a transaction creation priority; and/or (x) a transaction inclusion priority.
Step 2: The BTM 140 (or the BTC 142) may process the transaction query request (24:2). The BTM 140 (or the BTC 142) may authenticate and may authorize the transaction query request. The BTM 140 (or the BTC 142) may analyze the transaction filter as included in the request. By performing this analysis, the BTM 140 may decide whether to contact (e.g., first contact) an EDS 146. The EDS 146 may maintain an association between locally stored data and corresponding transactions stored in a designated blockchain. The association may be as simple as a pair of an address of stored data and an identifier of the corresponding transaction. If the transaction filter is not related to the content of transactions but to find the total number of transactions being created for a particular entity (e.g., a BNA or a BCA) within a time interval, the BTM 140 (or the BTC 142) may query such information directly from the EDS 146 without contacting any BCN. During this step, the BTM 140 may transform the transaction query to a new transaction query, which can be easily understood by the EDS 146 or BCNs. The new transaction query may include a transaction filter.
Step 3: If the EDS 146 is able to answer the transaction query as determined in step 2, the BTM 140 (or the BTC 142) may send the new transaction query to the EDS 146 (24:3).
Step 4: The EDS may receive the new transaction query, look up the associations between locally stored data and corresponding transactions stored in blockchains, and deduce one or more answers for the new transaction query. The EDS 146 may include the answer in a first response and may send the first response to the BTM 140 (or the BTC 142). If the EDS 146 finds one or more answers, step 5 and step 6 may be skipped.
Step 5: The BTM 140 (or the BTC 142) may select a list of BCNs that match the transaction filter and/or other criteria (e.g., if a BCN is currently available to support transaction query, etc.) (24:5). As an example, two BCNs (BCNx and BCNy) may be selected that may participate in two different blockchain networks or the same blockchain network.
Step 6: The BTM 140 (or the BTC 142) may send the new transaction query as produced in Step 2 to each selected BCN (24:6). Each of the selected BCNs may performs transaction lookup over its blockchain to match the transaction filter. Each BCN may send query results (i.e., answers which match the transaction filter) in a response to the BTM 140 (or the BTC 142) (24:6). The BTM 140 (or the BTC 142) may receive the response from each contacted BCN (24:6).
Step 7: The BTM 140 (or the BTC 142) may combine all received responses to generate a final query result (24:7).
Step 8: The BTM 140 (or the BTC 142) may send the final query result to the requestor (24:8).
Representative Transaction Subscription on Blockchain Networks
Pre-Conditions: A requestor (a BTC 142, a BNA 144, or another BTM) may be registered to or associated with a BTM 140 (or a requested (a BCA 143) may be registered to or associated with a BTC 142). The BTM 140 (or the BTC 142) has the addresses of multiple BCNs and may be provisioned and/or configured communicate with them. The requestor may be provisioned and/or configured to access functionalities provided by the BTM 140 (or the BTC 142). The BTM 140 (or the BTC 142) may be provisioned and/or configured interact with designated blockchain systems via multiple BCNs. The BTM 140 (or the BTC 142) may be provisioned and/or configured interact with designated blockchain systems on behalf of the requestor. The requestor may be located in a device (e.g., a smartphone, a vehicle, a sensor); the BTM (or the BTC) as a function may reside (be disposed) in a device, a gateway, an element of an edge network, an element of a 3GPP core network, or an element of a data center. The BCN as a function may reside (be disposed) in a device, a gateway, an element of an edge network, an element of a 3GPP core network, or an element of a data center.
Step 1: The requestor may send a transaction subscription request to the BTM 140 (or the BTC 142) (25:1). The transaction subscription request may include the following parameters: a subscription filter (which may provide criteria on when and under which conditions a BCN needs to generate a notification message).
Step 2: The BTM 140 (or the BTC 142) may process the transaction subscription request (25:2). The BTM 140 (or the BTC 142) may authenticate and may authorize the request. The BTM 140 (or the BTC 142) may analyze the transaction filter as included in the request. By performing this analysis, the BTM 140 (or the BTC 142) may transform the transaction query from step 1 to a new transaction subscription request. The new transaction subscription request can be more easily understood by the BCNs. The new transaction subscription request may include a second subscription filter, which may include a subset of the criteria of the subscription filter included in step 1 or a modified subscription filter.
Step 3: The BTM 140 (or the BTC 142) may select a list of BCNs that match the subscription filter and/or other criteria (e.g., if a BCN is currently available to support transaction query, etc.) (25:3). As an example, two BCNs (BCNx and BCNy) be selected.
Step 4: The BTM 140 (or the BTC 142) may send the new transaction subscription request as produced in step 2 to each selected BCN (25:3). Each selected BCN may process and may store the second subscription filter. Each BCN may send a response message to the BTM 140 (or the BTC 142). The second subscription filter included in the new transaction subscription request to each selected BCN may be different and may be a subset of the original subscription filter.
Step 5: When a subscribed event as described by the subscription filter occurs at a BCN (e.g., BCNx) (25:5), the BCNx may generate a notification message. For example, a subscribed event may be when a new transaction is created by another BTM-Z for a blockchain-based V2X application as requested. When the BTM-Z (not shown in
Step 6: The BCNx may send the notification message to the BTM 140 (or the BTC 142) (25:6).
Step 7: The BTM 140 (or the BTC 142) may forward the notification message to the requestor (25:7).
Representative Analytics-based Access Control of Blockchain Networks
Pre-Condition: The requestor (e.g., a BTC 142 or a BNA 144) may discover a BTM 140-1. There may be an analytics service, which may be a standalone service or provided as a part of BTM 140-1 or other BTMs. The BTM 140-1 may be provisioned and/or configured with access to a BCN 141-1. A BTM 140-2 may be provisioned and/or configured with access to BCN 141-2. The BCN 141-1 and BCN 141-2 may be participants of the same blockchain network.
Step 1: The requestor may register itself to the BTM 140-1 (26:1). A new requestor identifier (i.e., Req-ID) may be generated and known to both the BTM 140-1 and the requestor.
Step 2: The BTM 140-1 may send to the analytics service a first request to trigger the analytics service to analyze blockchain transactions and generate analytics results (26:2), based on specific analytics requirements, which may be included in this first request. As a part of analytics requirements, an identifier of the requestor (i.e., Req-ID) may be included in this request as well. As an example, an analytics requirement may be: “to calculate the average number of blockchain transactions being created for the requestor for every 10 minutes to the designated blockchain network, which BCN1 participates”. An identifier of the BCN 141-1 (i.e., BCN1-ID) may be included as a part of analytics requirements. The analytics service may send a first response to the BCN 141-1 to indicate if it accepts or rejects the indicated analytics requirements from BTM 141-1 (26:2).
Step 3: Based on all accepted analytics requirements, the analytics service may decide which kind of information may be collected in which frequency from BCN 141-1. The analytics service may send a subscription request to the BCN 141-1 and may expect to receive automatic notifications from BCN 141-1 for the purpose of data collection (26:3). The subscription request may include a subscription filter, which may be derived from the accepted analytics requirements. The BCN 141-1 may process the subscription request, store the subscription filter and send a second response to the analytics service.
Step 4: The requestor may use the BTM 140-1 to communicate with the BCN 140-1 in order to create a new transaction to the blockchain network which the BCN 140-1 participates. The BCN 140-1 may generate a new transaction and may send it to the blockchain network (26:4).
Step 5: The generated transaction in step 4 may meet the subscription filter which the BCN 141-1 received in Step 3. The BCN 141-1 may send a first notification to the analytics service (26:5). Based on the subscription filter, the BCN 141-1 may inform the analytics service that a transaction may be generated by BCN 141-1 for the requestor at time T1. The BCN 141-1 may include some other metadata about the generated transaction in the first notification.
Step 6: Based on the notification from BCN 141-1, the analytics service may perform a calculation and certain analytics algorithms to generate an analytics result (26:6). The analytics service may receive multiple notifications from BCN 141-1 and perform one-time analytics over them. The analytics service may maintain the analytics result, which can be retrieved/subscribed by other entities like BCN 141-1 and BCN141-2. Alternatively, and/or additionally, the analytics service can actively push selected analytics results to specific entities.
Step 7: The requestor may send to the BTM 140-1 a second request to create another transaction (26:7).
Step 8: The BTM 140-1 may send to the analytics service a third request to check analytics results related to the requestor (26:8). The third request may include parameters such as a Req-ID of the requestor, an identifier of BTM 140-1 (BTM1-ID), and/or a BCN1-ID. The analytics service may (i) receive the third request, (ii) use the parameters included in the third request to look up appropriate analytics results, and (iii) return any found analytics results to the BTM 140-1 (26:8).
Step 9: The BTM 140-1 may use the analytics results received from the analytics service to perform access control on the second request (26:9). For example, if the analytics results show the average transaction generate rate in the past 10 minutes exceeds a threshold, the BTM 140-1 may reject the second request. and step 10 may be skipped.
Step 10: If the access control allows the third request, the BTM 140-1 together with BCN 141-1 and the requestor may perform other required steps in order to create a new transaction for the requestor (26:10) as requested in Step 7.
Step 11: Similar to step 5, the BCN 141-1 may send a second notification to the analytics service (26:11) if a new transaction has been created as a result of step 10.
Step 12: Similar to step 6, the analytics service may perform analytics on the second notification (26:12) along with any previously received notifications and/or any previously generated analytics result as needed.
Step 13: The requestor may select another BTM 140-2 (26:13).
Step 14: Similar to step 1, the requestor registers itself to the BTM 140-2 (26:14). Along with other parameters as included in Step 1, the requestor may include additional parameters such as BTM1-ID and the Req-ID as assigned by the BTM 140-1.
Step 15: Similar to Step 7, the requestor may send to the BTM 140-2 a fourth request asking to create a new transaction (26:15). The fourth request may include an identifier of the BCN 141-2 (i.e., BCN2-ID).
Step 16: Similar to Step 8, the BTM 140-2 may check analytics results directly from the analytics service (26:16). Alternatively, the BTM 140-2 may check with the BTM 140-1, which may contact the analytics service and return analytics results to the BTM 140-2 (16:16).
Step 17: Similar to Step 9, the BTM 140-2 may perform access control for the fourth request based on the analytics results as received from Step 16 (26:17).
Step 18: If the access control passes, the BTM 140-2 may forward the fourth request to the BCN 141-2 (26:18). The BCN 141-2 may generate a new transaction as requested and send a second response to BTM 140-2.
Step 19: the BTM 140-2 may forward the second response to the requestor (26:19).
Step 20: After a new transaction is generated by BCN 141-2 into the blockchain network, the BCN 141-1 may be able to monitor and detect this, due to the broadcast nature of P2P networking used by the blockchain network (26:20).
Step 21: Similar to step 5 and step 11, the BCN1 may send a third notification to the analytics service (26:21) since the analytics service is subscribed to BCN 141-1.
Step 22: Similar to step 6 and step 12, the analytics service may perform analytics on the third notification and/or any previously received notifications as needed (26:22).
A BTM 140 may be implemented as a new control plane NF or an AF. The BTM 140 may reside (be disposed) in a core network and/or in an edge network. The BTM 140 may need to interact with one or more existing core network functions. For example, the BTM 140 may registers itself to a NRF so that it can discover and/or be discovered by other NFs. The BTM 140 may use an AUSF and/or a PCF to authenticate any blockchain transaction management related requests received from WTRUs 1, 2. The BTM 140 may check with the PCF for any blockchain transaction management related policy rules. The BTM 140 may use a UDSF to store blockchain-related policies. The BTM 140 may use the USDF to store extra data and/or a link to a transaction and/or a block of a blockchain. The BTM 140 may be exposed to, and may be accessed by, third parties through an NEF. The BTM 140 may use a NWDAF to analyze transactions and/or other features of a blockchain.
The BTM 140 may be implemented as a part of an existing network function, such as the NEF. A BCN 141 may be a new NF within the core network or outside of the core network as provided by a third party. If the BCN 141 is provided by a third-party, the BTM 140 may access it via the NEF. A BNA 144 may be implemented as an AF. If the BNA 144 is provided by a third party, it may interact with the BTM 140 via the NEF, but may be prevented from interacting with the BTM 140 directly. A BCA 143 and a BTC 142 may be implemented within a WTRU. Alternatively, a WTRU having constrained resources, such as a narrow-band IoT device, may host the BCA 143 only, and the BTC 142 may be hosted by other powerful WTRUs, such as a vehicle, a gateway, an edge server, etc. A DPP 145 may be implemented as a combination of the PCF and the UDSF. An EDS 146 may be implemented as a UDSF. An analytics service may be implemented as a part of a NWDAF.
As shown in
As shown in
As shown in
A UDSF (and/or a UDR) may use the BTM 140 to store data into the blockchain network to enable distributed data storage within 5GC. For example, the UDSF may include an embedded BNA 144. Whenever the UDSF receives a data storage request, it may use the embedded BNA 144 to talk to the BTM 140 and accordingly store the data into the blockchain in the form of transactions. Alternatively, the UDSF may host the BTM 140. The UDSF may interact with a BCN 141 directly to store data into the blockchain network.
A NRF may use the BTM 140 to store NF registration records into the blockchain network to enable distributed NF registration repository within 5GC. For example, the NRF may include an embedded BNA 144. Whenever the NRF receives a NF registration request, it may use the embedded BNA 144 to talk to the BTM 140 and may store the new NF registration record into the blockchain in the form of transactions. Alternatively, an NRF can host the BTM; and the NRF may interact with a BCN 141 directly to store data into the blockchain network.
Representative BTM-Controlled Transaction Creation in 5GS
In various embodiments, the requestor may be (i) a WTRU having a BCA and/or a BTC, (ii) an NF (e.g., an AMF), or (iii) an AF, such as a BNA. The BTM may be implemented as a control plane NF or an AF. The notification target may be an NF, an AF or a BNA. When the requestor is a WTRU, the WTRU may communicate with the BTM via its serving AMF. When the requestor is a BNA, the requestor may communicate with the BTM via an NEF. When the requestor is an NF and the BTM is an AF, the requestor may communicate with the BTM via an NEF. When the BTM is an AF, the requestor may communicate with other core network functions (i.e., the PCF, the NF, and the UDSF) via an NEF.
Pre-Conditions: The requestor may be registered to or associated with the BTM and may be provisioned and/or configured to use its functionalities. The BTM may have associated with the BCN of the blockchain network and may be provisioned and/or configured to request it to create transactions into the designated blockchain. The BTM has the address of an NRF and may be provisioned and/or configured to discover other NFs from the NRF.
Step 1: The requestor may send a trigger request to the BTM to trigger the BTM to create a transaction onto a designated blockchain (29:1). The trigger request may include all or some of the (i) transaction-creation parameter set, (ii) the additional transaction-creation parameters, (iii) the other transaction-creation and may include an identifier of the notification target.
When the requestor is a WTRU, the trigger request may include the following additional parameters: (i) an identifier of the WTRU (i.e., WTRU-ID); (ii) a location of the WTRU (i.e., WTRU-LOC); (iii) other context information about the WTRU, such as connectivity, battery level, etc. When the requestor is an NF, the trigger request may include the following additional parameter: an identifier of the NF (i.e., NF-ID).
Step 2: The BTM may send a first request to the PCF to check for any applicable blockchain policy rules for the requestor (29:2). The first request may include the identifier of the requestor. After receiving the first request, the PCF may retrieve the subscription data of the requestor from the UDR if the requestor is a WTRU. The PCF may generate one or more new blockchain policy rules. The PCF may send a first response to the BTM (29:2). The first response may include one or more blockchain policy rules that are applicable to the BTM and/or the requestor.
Step 3: The BTM may receive the trigger request from the requestor. The BTM may need to authenticate the trigger request (29:3). For this purpose, the BTM may contact an AUSF to retrieve authentication credentials for the requestor. The BTM may use the authentication credentials and policy rules (which may be locally maintained and/or received from the PCF in Step 2) to authenticate the trigger request. If the authentication passes, the following steps may be performed; otherwise, the following steps may be skipped.
Step 4: If the trigger request indicates that the BTM may need to retrieve additional data from one or more NFs, the BTM may contact one or more corresponding NFs to retrieve the additional data (29:4). For example, when the requestor is a WTRU, the WTRU can indicate in the trigger request that the BTM may need to retrieve its location as an additional data from its serving AMF by indicating the address or the identifier of its serving AMF.
Step 5: Similar to step 6 of procedure 1600 of
Step 6: Similar to step 7 of procedure 1600 of
Step 7: The BTM may send a data storage request to the UDSF (29:7). The data storage request may include the Data-for-Non-BC and one or more extra parameters, such as the identifier of the requestor and the identifier of the BTM. The UDSF may store Data-for-Non-BC with metadata including, but not limited to, a creation time, the identifier of the requestor, the identifier of the BTM, an address of the stored Data-for-Non-BC, etc. This step may be similar to step 8 and step 9 of procedure 1600 of
Step 8: The BTM may contact the BCN to store the Data-for-BC and a Hash(Data-for-Non-BC) to the designated blockchain (29:8). As a result, a transaction may be generated by the BCN and may be stored in the distributed ledger. Operations similar to the operations denoted in step 10, step 11, step 14, and step 15 of procedure 1600 of
Step 9: The BTM may send a request to the UDSF to append the information of the transaction (as generated in step 8) to the Data-for-Non-BC and the additional metadata (29:9). The Data-for-Non-BC was stored in the UDSF as a result of operations denoted in Step 7. Operations similar to the operations denoted in step 16 of procedure 1600 of
Step 10: The BTM may send a first notification to the requestor (29:10). The first notification may include the address of Data-for-Non-BC as stored in the UDSF and the information about the transaction generated in Step 8.
Step 11: The BTM may send a second notification to the notification target (29:11). The address of the notification target may have been included in the trigger request from the requestor (step 1), in the first request to the PCF (step 2), and/or locally determined by the BTM.
Representative Edge BTM-Controlled Transaction Creation in 5GS
In various embodiments, the requestor may be a WTRU that has a BCA and/or a BTC. The Edge BTM and the Edge BCN are disposed in/hosted by one or more elements of the edge network close to the requestor. The Edge BTM and Core BTM may be implemented as a control plane NF or an AF. The notification target may be a BNA, an NF, or an AF. When the requestor is a WTRU, the WTRU may communicate with the Edge BTM directly using edge networks and communicate with the Core BTM via its serving AMF. When the BTM is an AF, it may communicate with other core network functions (i.e., the PCF, the NF, and the UDSF) via an NEF. The Edge BTM and Core BTM may communicate with each other directly or via an NEF.
Pre-Conditions: The requestor may be registered to or associated with the Edge BTM and can use its functionalities. The Edge BTM may be registered to or associated with the Core BTM and may be provisioned and/or configured to use its functionalities. The Edge BTM may be associated with the Edge BCN of the designated blockchain network and may be provisioned and/or configured to request it to create transactions to the designated blockchain network. The Core BTM has the address of an NRF and may be provisioned and/or configured communicate with it. The Core BTM may be provisioned and/or configured to discover other NFs from the NRF.
Step 1: The requestor may send a trigger request to the Edge BTM to request the Edge BTM to create a transaction to a designated blockchain network (30:1). The trigger request may include all or some of the parameters included in Step 3 or Step 3′ of
Before step 1, the requestor may have been assigned an identifier of the Edge BTM by the Core BTM, so that the requestor can communicate with the Edge BTM. The Core BTM may have assigned the Edge BTM to the requestor as a part of configuring new blockchain policy rules to the requestor and based on the context information of both the requestor (e.g., its current location) and the context information of the Edge BTM (e.g., its service area and current traffic load).
Step 2: The Edge BTM may send to the Core BTM a first request for retrieving new blockchain policy rules (30:2). The Core BTM may process the first request as follows:
The Core BTM may include in the first/second response message information to indicate and/or instruct the Edge BTM as to whether it may contact the NF directly or indirectly via the Core BTM.
Step 3: The BTM may receive the trigger request from the requestor. The BTM may need to authenticate the trigger request (30:3). For this purpose, the BTM may contact an AUSF to retrieve authentication credentials for the requestor. The BTM may use the authentication credentials and policy rules (which may be locally maintained and/or received from the PCF) to authenticate the trigger request. If the authentication passes, the following steps may be performed; otherwise, the following steps may be skipped.
Step 4: Similar to Step 4 in
Step 5: Similar to Step 5 in
Step 6: Similar to Step 6 in
Step 7: Similar to Step 7 in
Step 8: Similar to Step 8 in
Step 10: Similar to Step 10 in
Step 11: The Edge BTM may generate a third notification that may include context information about the transaction (step 8). The context information may include metadata and the metadata of the data being stored to the UDSF. The Edge BTM may send the third notification to the Core BTM (30:11). If Step 7 and Step 9 have been performed via the Core BTM, this step may be skipped.
Step 12: The transaction created in step 8 may be successfully confirmed in the designated blockchain as detected by the Core BCN (30:12).
Step 13: The Core BCN may send a second notification to the Core BTM (30:13). The second notification may include the context information of the transaction confirmed in step 12 including its content and metadata. The Core BTM may be subscribed to the Core BCN for receiving such a notification.
Step 14: The Core BTM may send a third notification to the notification target to inform it of the transaction (step 13) (30:14). This step may be similar to step 11 in
Representative AF-Subscribed Transaction Creation in 5GS
Pre-Condition: The AF may be registered to or associated with the BTM and may be provisioned and/or configured to use its services. The BTM has the address of an NRF and can communicate with it; the BTM may be provisioned and/or configured to discover other NFs from the NRF. The BTM may be associated with the BCN of the designated blockchain network and may be provisioned and/or configured to request it to create transactions to the designated blockchain.
Step 0: Either the AF or the BTM may send a subscription request to the NF1 (31:0). The subscription request may include an identifier of the BTM, and/or an identifier of the AF. It may include a subscription filter indicating one or more conditions or expected events, which if occurring later at the NF1 may trigger the NF1 to send a notification to the NF1. The NF1 may receive this subscription request and may store the subscription filter.
Step 1: The NF1 may monitor its status and any occurring event and may compare each occurring event against the stored subscription filter (31:1). When there is a match, the NF1 may send a notification to the BTM. This notification may include the following parameters: (i) an identifier of the NF1; (ii) content of the matched event (for example, if the matched event is a WTRU registers with its serving AMF, the content of this event may include an identifier of the WTRU, a location of the WTRU, an event time, an identifier of the serving AMF, etc.).
Steps 2-10: Operations similar of the operations denoted by steps 2-10 of the procedure 2900 (
Step 11: The BTM may send a second notification to the notification target (31:11). The address of the notification target may have been included in the trigger request (step 1), in the first request to the PCF (step 2), and/or locally determined by the BTM. The BTM may send the same notification to the NF1.
WTRU-Triggered Blockchain Transaction Creation through 5GS Control Plane
Pre-Conditions: The WTRU may be connected to its serving AMF (i.e., in CM-CONNECTED state). The WTRU (e.g., its BCA/BTC) may be registered to or associated with the BTM and may be provisioned and/or configured to use its functionalities. The BTM may be associated with the BCN of the designated blockchain network and may be provisioned and/or configured to request it to create transactions to the designated blockchain. The BTM has the address of an NRF and communicate with it; the BTM may be provisioned and/or configured to discover other NFs from the NRF.
Step 1: Similar to step 1 in
Step 2: The BTM may send a first request to the PCF to check for any applicable blockchain policy rules for the requestor (32:2). The first request may include the identifier of the requestor. After receiving the first request, the PCF may retrieve the subscription data of the requestor from the UDR if the requestor is a WTRU. The PCF may generate one or more new blockchain policy rules. The PCF may send a first response to the BTM (32:2). The first response may include one or more blockchain policy rules that are applicable to the BTM and/or the requestor.
Step 3: The BTM may receive the trigger request from the requestor. The BTM may need to authenticate the trigger request (32:3). For this purpose, the BTM may contact an AUSF to retrieve authentication credentials for the requestor. The BTM may use the authentication credentials and policy rules (which may be locally maintained and/or received from the PCF in Step 2) to authenticate the trigger request. If the authentication passes, the following steps may be performed; otherwise, the following steps may be skipped.
Step 4: If the trigger request indicates that the BTM may retrieve additional data, where, for example, the additional data may be a current location of the WTRU, as an example. The BTM may send a location request directly to the LMF or send it to the serving AMF, which may retrieve the location on behalf of the BTM. Eventually, the BTM obtains the current location of the WTRU directly from the LMF or from the serving AMF.
Steps 5-9: Operations similar to the operations of steps 5-9 of the procedure 2900 (
Step 10: Similar to Step 10 in
Step 11: Operations similar to the operations of step 11 of the procedure 2900 (
The entities involved in this procedure include the WTRU1, the WTRU2, a serving AMF, a BTM, a PCF, an LMF (or other NF), a UDSF, a BCN, and a notification target. The BTM can be implemented as a control plane NF or an AF. The notification target may be an AF, an NF, a BNA or even another WTRU. The WTRU2 may communicates with the BTM via its serving AMF. When the BTM is an AF, it may communicate with other core network functions (i.e., the serving AMF, the PCF, the LMF, and the UDSF) via an NEF.
Pre-Conditions: The WTRU1 has discovered the WTRU2 and may be provisioned and/or configured to communicate with the WTRU2 directly or indirectly via the 5GS. The WTRU2 may be connected to its serving AMF (e.g., in CM-CONNECTED state). The BCA on the WTRU1 may be registered to or associated with the BTC on the WTRU2. The WTRU2 (e.g., its BTC) may be registered to or associated with the BTM and may be provisioned and/or configured to use its functionalities. The BTM may be associated with the BCN of the designated blockchain and may be provisioned and/or configured to request it to create transactions to the designated blockchain network. The BTM has the address of an NRF and may be provisioned and/or configured communicate with it. The BTM may be provisioned and/or configured to discover other NFs from the NRF.
Step 0: The WTRU1 may send a trigger request to WTRU2 (33:0). This trigger request may include the same set of parameters as included in step 1 of
Step 1: Similar to step 1 in
Step 2: Similar to step 2 in
Step 3: Similar to step 3 in
Step 4: Similar to step 4 in
Step 5: Similar to step 5 in
Step 6: Similar to step 6 in
Step 7: Similar to step 7 in
Step 8: Similar to step 8 in
Step 9: Similar to step 9 in
Step 10: Similar to step 10 in
Step 11: Similar to step 11 in
Step 12: The WTRU2 may forward the notification received from step 10 to the WTRU1.
Pre-Condition: The WTRU1 and the WTRU2 may be connected to the serving AMF (e.g., in CM-CONNECTED state). The WTRU1 and the WTRU2 (e.g., BCA/BTC thereof) may be registered to or associated with the BTM and may be provisioned and/or configured to use its functionalities. The BTM may be associated with the BCN of the designated blockchain and may be provisioned and/or configured to request it to create transactions to the designated blockchain. The BTM has the address of an NRF and may be provisioned and/or configured communicate with it. The BTM may be provisioned and/or configured to discover other NFs from the NRF.
Step 1: Similar to Step 1 in
Step 2: Similar to step 2 in
Step 3: Similar to step 3 in
Step 4: Similar to step 4 in
Step 5: Based on the trigger request from step 1 and/or blockchain policy rules which the BTM maintains locally and/or receives from the PCF, the BTM may determine that it needs to get additional data or a confirmation from the WTRU2 (or another NF/AF/BNA) before performing further steps.
Step 6: The BTM may send a request to the WTRU2 to retrieve additional data or get its confirmation. The request may include the identifier of WTRU1, an identifier of a BCA in the WTRU1, an identifier of a BTC in the WTRU1, the identifier of the BTM, an identifier of a BCA in the WTRU2, a identifier of a BTC in the WTRU2, etc. This request may be relayed by the serving AMF of the WTRU2. The BTM may search serving AMF of the WTRU2 from a UDM or an NRF using the WTRU2's identifier. If the WTRU2 is currently in CM-IDLE state, the serving AMF may page the WTRU2 to make it connect to the serving AMF and return to a CM-CONNECTED state. The serving AMF may forward the request to the WTRU2. If it is indicated in step 1 or step 5 that the BTM needs to contact another AF (or another NF/BNA) instead of the WTRU2, the BTM may contact another AF (or another NF/BNA) for obtaining its confirmation or additional data.
Step 7: WTRU2 may receive the request and may send a response to the BTM via its serving AMF. The response message may include a confirmation or the additional data as the BTM requested in step 6.
Step 8: Similar to step 5 in
Step 9: Similar to step 6 in
Step 10: Similar to step 7 in
Step 11: Similar to step 8 in
Step 12: Similar to step 9 in
Step 13: Similar to step 10 in
Step 14: Similar to step 11 in
Step 15: Similar to Step 13, the BTM may send a notification to the WTRU2 via its serving AMF. This notification message may include the same content as included in the notification in step 13.
WTRU-Triggered Blockchain Transaction Creation through 5GS Data Plane
Pre-Condition: The WTRU may be connected to its serving AMF (e.g., in CM-CONNECTED state). The WTRU (e.g., its BCA/BTC) may be registered to or associated with the BTM and may be provisioned and/or configured to use its functionalities. The BTM may be associated with the BCN of the designated blockchain and may be provisioned and/or configured to request it to create transactions to the designated blockchain. The BTM has the address of an NRF and may be provisioned and/or configured communicate with it. The BTM may be provisioned and/or configured to discover other NFs from the NRF.
Steps 1-6: Same as Step 1-6 in
Step 7: After the BCN is determined, the BTM may determine the UPF, through which the BTM can reach the BCN. For this purpose, the BTM may send a request to an SMF to establish a PDU session for the BCN. The SMF may determine and select a UPF based on the address of the BCN, which the BTM provided to the SMF. The SMF may establish such a PDU session for the BTM and passes session information (e.g., the address of the BTM, the address of the BCN, and other QoS related flow information for the traffic from the BTM to the BCN) to the selected UPF. The SMF may send a response back to the BTM with the established session information and/or the address of the UPF.
Step 8: Same as Step 7 in
Step 9: The BTM may use the 5GS data plane to reach the BCN. The request being sent to the BCN for creating a new transaction may be sent to the UPF via an SMF. The UPF may forward the request to the BCN. In the other direction, when the BCN sends a response back to the BTM, the response may be intercepted by the UPF and may be forwarded to the BTM by the UPF via an SMF.
Step 10: Same as Step 9 in
Step 11: Same as Step 10 in
Step 12: Same as Step 11 in
Pre-conditions: The WTRU may be connected to its serving AMF (e.g., in CM-CONNECTED state). The WTRU (e.g., its BCA/BTC) may be registered to or associated with the BTM and may be provisioned and/or configured to use its functionalities. The BTM may be associated with the BCN of the designated blockchain and may be provisioned and/or configured to request it to create transactions to the designated blockchain. The BTM has the address of an NRF and may be provisioned and/or configured communicate with it. The BTM may be provisioned and/or configured to discover other NFs from the NRF.
Step 1: Same as Step 1 in
Step 2: Same as Step 2 in
Step 3: Same as Step 3 in
Step 4: Same as Step 4 in
Step 5: Same as Step 5 in
Step 6: Same as Step 6 in
Step 7: Same as Step 8 in
Step 8: The BTM may send a request to inform the BCN that the WTRU may contact the BCN for storing data to the designated blockchain in Step 10. The request may include the WTRU's identifier and security credential information (e.g., a token, a security certificate), which the BCN can use to authenticate the WTRU when the WTRU contacts the BCN in Step 10.
Step 9: The BTM may send a response to the WTRU via its serving AMF. The response may include the data to be stored to the designated blockchain and all other required information for performing this task by the WTRU in Step 10. The response may include the same security credential information as included in Step 8. In addition, the address of the BCN may be included in the response message.
Step 10: The WTRU may send the data received from Step 8 in a request to the BCN via an established PDU session. If a PDU session has not been established, the WTRU may establish a PDU session towards the BCN via its serving AMF/SMF. The request may include the WTRU1's identifier and the same security credential information as received in Step 9. The BCN may compare the WTRU's identifier and the security credential as received in Step 10 and Step 8. If the the WTRU's identifier and the security credential as received in Step 10 and Step 8 match (e.g., identical, or one can decrypt the other), the BCN may authorize the request. The BCN may (i) create a new transaction as requested, (ii) store the new transaction to the designated blockchain, and (iii) send a response back to the WTRU via the same UPF.
Step 11 & Step 12: The WTRU may send a notification to the BTM indicating all relevant information about the created transaction in Step 10. Similar to Step 9 in
Step 13: The WTRU may send a notification to the notification target. This notification may include all relevant information about the created transaction in Step 10. Alternatively, the BTM may send such a notification to the notification target as it received in Step 10.
Although features and elements are provided above in particular combinations, one of ordinary skill in the art will appreciate that each feature or element can be used alone or in any combination with the other features and elements. The present disclosure is not to be limited in terms of the particular embodiments described in this application, which are intended as illustrations of various aspects. Many modifications and variations may be made without departing from its spirit and scope, as will be apparent to those skilled in the art. No element, act, or instruction used in the description of the present application should be construed as critical or essential to the invention unless explicitly provided as such. Functionally equivalent methods and apparatuses within the scope of the disclosure, in addition to those enumerated herein, will be apparent to those skilled in the art from the foregoing descriptions. Such modifications and variations are intended to fall within the scope of the appended claims. The present disclosure is to be limited only by the terms of the appended claims, along with the full scope of equivalents to which such claims are entitled. It is to be understood that this disclosure is not limited to particular methods or systems.
The foregoing embodiments are discussed, for simplicity, with regard to the terminology and structure of infrared capable devices, i.e., infrared emitters and receivers. However, the embodiments discussed are not limited to these systems but may be applied to other systems that use other forms of electromagnetic waves or non-electromagnetic waves such as acoustic waves.
It is also to be understood that the terminology used herein is for the purpose of describing particular embodiments only, and is not intended to be limiting. As used herein, the term “video” or the term “imagery” may mean any of a snapshot, single image and/or multiple images displayed over a time basis. As another example, when referred to herein, the terms “user equipment” and its abbreviation “UE”, the term “remote” and/or the terms “head mounted display” or its abbreviation “HMD” may mean or include (i) a wireless transmit and/or receive unit (WTRU); (ii) any of a number of embodiments of a WTRU; (iii) a wireless-capable and/or wired-capable (e.g., tetherable) device configured with, inter alia, some or all structures and functionality of a WTRU; (iii) a wireless-capable and/or wired-capable device configured with less than all structures and functionality of a WTRU; or (iv) the like. Details of an example WTRU, which may be representative of any WTRU recited herein, are provided herein with respect to
In addition, the methods provided herein may be implemented in a computer program, software, or firmware incorporated in a computer-readable medium for execution by a computer or processor. Examples of computer-readable media include electronic signals (transmitted over wired or wireless connections) and computer-readable storage media. Examples of computer-readable storage media include, but are not limited to, a read only memory (ROM), a random access memory (RAM), a register, cache memory, semiconductor memory devices, magnetic media such as internal hard disks and removable disks, magneto-optical media, and optical media such as CD-ROM disks, and digital versatile disks (DVDs). A processor in association with software may be used to implement a radio frequency transceiver for use in a WTRU, UE, terminal, base station, RNC, or any host computer.
Variations of the method, apparatus and system provided above are possible without departing from the scope of the invention. In view of the wide variety of embodiments that can be applied, it should be understood that the illustrated embodiments are examples only, and should not be taken as limiting the scope of the following claims. For instance, the embodiments provided herein include handheld devices, which may include or be utilized with any appropriate voltage source, such as a battery and the like, providing any appropriate voltage.
Moreover, in the embodiments provided above, processing platforms, computing systems, controllers, and other devices containing processors are noted. These devices may contain at least one Central Processing Unit (“CPU”) and memory. In accordance with the practices of persons skilled in the art of computer programming, reference to acts and symbolic representations of operations or instructions may be performed by the various CPUs and memories. Such acts and operations or instructions may be referred to as being “executed,” “computer executed” or “CPU executed.”
One of ordinary skill in the art will appreciate that the acts and symbolically represented operations or instructions include the manipulation of electrical signals by the CPU. An electrical system represents data bits that can cause a resulting transformation or reduction of the electrical signals and the maintenance of data bits at memory locations in a memory system to thereby reconfigure or otherwise alter the CPU's operation, as well as other processing of signals. The memory locations where data bits are maintained are physical locations that have particular electrical, magnetic, optical, or organic properties corresponding to or representative of the data bits. It should be understood that the embodiments are not limited to the above-mentioned platforms or CPUs and that other platforms and CPUs may support the provided methods.
The data bits may also be maintained on a computer readable medium including magnetic disks, optical disks, and any other volatile (e.g., Random Access Memory (RAM)) or non-volatile (e.g., Read-Only Memory (ROM)) mass storage system readable by the CPU. The computer readable medium may include cooperating or interconnected computer readable medium, which exist exclusively on the processing system or are distributed among multiple interconnected processing systems that may be local or remote to the processing system. It should be understood that the embodiments are not limited to the above-mentioned memories and that other platforms and memories may support the provided methods.
In an illustrative embodiment, any of the operations, processes, etc. described herein may be implemented as computer-readable instructions stored on a computer-readable medium. The computer-readable instructions may be executed by a processor of a mobile unit, a network element, and/or any other computing device.
There is little distinction left between hardware and software implementations of aspects of systems. The use of hardware or software is generally (but not always, in that in certain contexts the choice between hardware and software may become significant) a design choice representing cost versus efficiency tradeoffs. There may be various vehicles by which processes and/or systems and/or other technologies described herein may be effected (e.g., hardware, software, and/or firmware), and the preferred vehicle may vary with the context in which the processes and/or systems and/or other technologies are deployed. For example, if an implementer determines that speed and accuracy are paramount, the implementer may opt for a mainly hardware and/or firmware vehicle. If flexibility is paramount, the implementer may opt for a mainly software implementation. Alternatively, the implementer may opt for some combination of hardware, software, and/or firmware.
The foregoing detailed description has set forth various embodiments of the devices and/or processes via the use of block diagrams, flowcharts, and/or examples. Insofar as such block diagrams, flowcharts, and/or examples contain one or more functions and/or operations, it will be understood by those within the art that each function and/or operation within such block diagrams, flowcharts, or examples may be implemented, individually and/or collectively, by a wide range of hardware, software, firmware, or virtually any combination thereof. In an embodiment, several portions of the subject matter described herein may be implemented via Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), digital signal processors (DSPs), and/or other integrated formats. However, those skilled in the art will recognize that some aspects of the embodiments disclosed herein, in whole or in part, may be equivalently implemented in integrated circuits, as one or more computer programs running on one or more computers (e.g., as one or more programs running on one or more computer systems), as one or more programs running on one or more processors (e.g., as one or more programs running on one or more microprocessors), as firmware, or as virtually any combination thereof, and that designing the circuitry and/or writing the code for the software and or firmware would be well within the skill of one of skill in the art in light of this disclosure. In addition, those skilled in the art will appreciate that the mechanisms of the subject matter described herein may be distributed as a program product in a variety of forms, and that an illustrative embodiment of the subject matter described herein applies regardless of the particular type of signal bearing medium used to actually carry out the distribution. Examples of a signal bearing medium include, but are not limited to, the following: a recordable type medium such as a floppy disk, a hard disk drive, a CD, a DVD, a digital tape, a computer memory, etc., and a transmission type medium such as a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link, etc.).
Those skilled in the art will recognize that it is common within the art to describe devices and/or processes in the fashion set forth herein, and thereafter use engineering practices to integrate such described devices and/or processes into data processing systems. That is, at least a portion of the devices and/or processes described herein may be integrated into a data processing system via a reasonable amount of experimentation. Those having skill in the art will recognize that a typical data processing system may generally include one or more of a system unit housing, a video display device, a memory such as volatile and non-volatile memory, processors such as microprocessors and digital signal processors, computational entities such as operating systems, drivers, graphical user interfaces, and applications programs, one or more interaction devices, such as a touch pad or screen, and/or control systems including feedback loops and control motors (e.g., feedback for sensing position and/or velocity, control motors for moving and/or adjusting components and/or quantities). A typical data processing system may be implemented utilizing any suitable commercially available components, such as those typically found in data computing/communication and/or network computing/communication systems.
The herein described subject matter sometimes illustrates different components contained within, or connected with, different other components. It is to be understood that such depicted architectures are merely examples, and that in fact many other architectures may be implemented which achieve the same functionality. In a conceptual sense, any arrangement of components to achieve the same functionality is effectively “associated” such that the desired functionality may be achieved. Hence, any two components herein combined to achieve a particular functionality may be seen as “associated with” each other such that the desired functionality is achieved, irrespective of architectures or intermedial components. Likewise, any two components so associated may also be viewed as being “operably connected”, or “operably coupled”, to each other to achieve the desired functionality, and any two components capable of being so associated may also be viewed as being “operably couplable” to each other to achieve the desired functionality. Specific examples of operably couplable include but are not limited to physically mateable and/or physically interacting components and/or wirelessly interactable and/or wirelessly interacting components and/or logically interacting and/or logically interactable components.
With respect to the use of substantially any plural and/or singular terms herein, those having skill in the art can translate from the plural to the singular and/or from the singular to the plural as is appropriate to the context and/or application. The various singular/plural permutations may be expressly set forth herein for sake of clarity.
It will be understood by those within the art that, in general, terms used herein, and especially in the appended claims (e.g., bodies of the appended claims) are generally intended as “open” terms (e.g., the term “including” should be interpreted as “including but not limited to,” the term “having” should be interpreted as “having at least,” the term “includes” should be interpreted as “includes but is not limited to,” etc.). It will be further understood by those within the art that if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, where only one item is intended, the term “single” or similar language may be used. As an aid to understanding, the following appended claims and/or the descriptions herein may contain usage of the introductory phrases “at least one” and “one or more” to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim recitation to embodiments containing only one such recitation, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an” (e.g., “a” and/or “an” should be interpreted to mean “at least one” or “one or more”). The same holds true for the use of definite articles used to introduce claim recitations. In addition, even if a specific number of an introduced claim recitation is explicitly recited, those skilled in the art will recognize that such recitation should be interpreted to mean at least the recited number (e.g., the bare recitation of “two recitations,” without other modifiers, means at least two recitations, or two or more recitations). Furthermore, in those instances where a convention analogous to “at least one of A, B, and C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, and C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). In those instances where a convention analogous to “at least one of A, B, or C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, or C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). It will be further understood by those within the art that virtually any disjunctive word and/or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase “A or B” will be understood to include the possibilities of “A” or “B” or “A and B.” Further, the terms “any of” followed by a listing of a plurality of items and/or a plurality of categories of items, as used herein, are intended to include “any of,” “any combination of,” “any multiple of,” and/or “any combination of multiples of” the items and/or the categories of items, individually or in conjunction with other items and/or other categories of items. Moreover, as used herein, the term “set” is intended to include any number of items, including zero. Additionally, as used herein, the term “number” is intended to include any number, including zero.
In addition, where features or aspects of the disclosure are described in terms of Markush groups, those skilled in the art will recognize that the disclosure is also thereby described in terms of any individual member or subgroup of members of the Markush group.
As will be understood by one skilled in the art, for any and all purposes, such as in terms of providing a written description, all ranges disclosed herein also encompass any and all possible subranges and combinations of subranges thereof. Any listed range can be easily recognized as sufficiently describing and enabling the same range being broken down into at least equal halves, thirds, quarters, fifths, tenths, etc. As a non-limiting example, each range discussed herein may be readily broken down into a lower third, middle third and upper third, etc. As will also be understood by one skilled in the art all language such as “up to,” “at least,” “greater than,” “less than,” and the like includes the number recited and refers to ranges which can be subsequently broken down into subranges as discussed above. Finally, as will be understood by one skilled in the art, a range includes each individual member. Thus, for example, a group having 1-3 cells refers to groups having 1, 2, or 3 cells. Similarly, a group having 1-5 cells refers to groups having 1, 2, 3, 4, or 5 cells, and so forth.
Moreover, the claims should not be read as limited to the provided order or elements unless stated to that effect. In addition, use of the terms “means for” in any claim is intended to invoke 25 U. S.C. § 112, ¶6 or means-plus-function claim format, and any claim without the terms “means for” is not so intended.
This application claims the benefit of priority to U.S. Provisional Patent Application No. 63/045,835 filed Jun. 30, 2020, which is incorporated herein by reference.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2021/039967 | 6/30/2021 | WO |
Number | Date | Country | |
---|---|---|---|
63045835 | Jun 2020 | US |