EP4393138A1 - Transfer system for transferring streaming data, and method for transferring streaming data - Google Patents
Transfer system for transferring streaming data, and method for transferring streaming dataInfo
- Publication number
- EP4393138A1 EP4393138A1 EP22860689.3A EP22860689A EP4393138A1 EP 4393138 A1 EP4393138 A1 EP 4393138A1 EP 22860689 A EP22860689 A EP 22860689A EP 4393138 A1 EP4393138 A1 EP 4393138A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- data
- streaming
- streaming data
- channels
- transfer system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012546 transfer Methods 0.000 title claims abstract description 265
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012545 processing Methods 0.000 claims description 23
- 238000003909 pattern recognition Methods 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 claims description 7
- 230000001413 cellular effect Effects 0.000 claims description 7
- 238000010025 steaming Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 5
- 230000007613 environmental effect Effects 0.000 claims description 4
- 238000009826 distribution Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000009795 derivation Methods 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 230000009897 systematic effect Effects 0.000 description 4
- MWUXSHHQAYIFBG-UHFFFAOYSA-N Nitric oxide Chemical compound O=[N] MWUXSHHQAYIFBG-UHFFFAOYSA-N 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000004883 computer application Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- CBENFWSGALASAD-UHFFFAOYSA-N Ozone Chemical compound [O-][O+]=O CBENFWSGALASAD-UHFFFAOYSA-N 0.000 description 1
- 229910000831 Steel Inorganic materials 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
Definitions
- the present invention relates to a transfer system for transferring streaming data, and particularly to a system according to preamble of claim 1.
- the present invention relates also to a method for transferring streaming data, and particularly to a method according to preamble of claim 18.
- streaming data is any digitally generated data that has no distinct ending, but instead is generated and processed incrementally and being meaningful without having access to all of the data generated. Examples of streaming data vary and include, for example, a video feed of a surveillance camera, accurate position information of an autonomous car updated 100s of times in one second, and temperature readings of temperature sensors in remote locations.
- the reduced data is data which is significantly smaller (for example in terms of bytes) per unit of time than the streaming data in the same unit of time.
- surveillance cameras may observe a street in a sequence of time, but the interesting data is not the video feed in itself, but instead the number of persons or cars or other moving objects in the sequence of time, which then may be stored and analyzed in more detail for example in some central corporate computer system that generates data for decision making.
- edge technology it is customary to place processing the streaming data into reduced data as close to the origin of the streaming data as possible, as moving the sometimes massive streaming data consumes a lot of transfer system or transfer network bandwidth, that is, transfer capacity in a time unit.
- An object of the present invention is to provide a system and a method for an improved or even optimal placement of data processing of streaming data.
- the invention is based on the idea of determining a first affinity score for each of the first streaming data channels that interconnect the streaming data sources and the available data input nodes, and a second affinity score for each of the second streaming data channels that interconnect the available data input nodes, and available data reducing nodes, and then base the placement of the data input systems (that, for example, receive or ingress video camera feed) and data reducing systems based on an aggregate affinity score based on the first affinity score and the second affinity score.
- An advantage of the invention is that with the invention, the placement of the data input systems and data reducing systems can be automated, and the placement is done in a way that improves or optimises the overall system performance, and, in general, reduces load of the network system from streaming data sources to a decision making point.
- the transfer system comprises:
- each of the second streaming data channels configured to transfer second streaming data from one data input node to one data reducing node through the second streaming data channel
- - DI receive the first streaming data through the first streaming data channel of the aggregate data channel from the data source into the data input system
- - D2 receive the second streaming data through the second streaming data channel of the aggregate data channel from the data input system into the data reducing system
- the placement of the data input systems and data reducing systems may be automated and performed in data input nodes and data reducing nodes that are, at least from the standpoint of data transfer, well suited or even optimal for high data transfer efficiency.
- the transfer system is configured to select an aggregate pair from the first streaming data channels and from the second streaming data channels based on the aggregate affinity score.
- the transfer system may also be configured analyse, modify or present the stored reduced data, or any combination thereof, for further processing.
- the first streaming data channels comprise a local area network, a wide area network, a wireless local area network or a cellular network, a computer bus, or any combination thereof. These are advantageous first streaming data channels with high efficiency for high streaming data bandwidth requirements.
- the second streaming data channels comprise a local area network, a wide area network, a computer bus, or a computer memory, or any combination thereof. These are advantageous second streaming data channels with high efficiency for high streaming data bandwidth requirements.
- the reduced data channels comprise a local area network, a wide area network, a wireless local area network or a mobile phone network, or any combination thereof. These are advantageous reduced data channels with suitable efficiency for reduced data bandwidth requirements.
- the transfer system is arranged to calculate the first affinity score of each of the first streaming data channels based on: - network latency of the first streaming data channel; or
- -internet autonomous system related routing rules of the first streaming data channel or any combination of network latency, network jitter, round-trip time, bandwidth, data access rules, privacy policies, or internet autonomous system related routing rules of the first streaming data channel.
- each of the data sources comprises physical coordinates of the data source
- each of the data input nodes comprises physical coordinates of the data input node
- the transfer system is arranged to calculate the first affinity score of each of the first streaming data channels based on a first physical distance between the physical coordinates of each of the data sources and the physical coordinates of each of the data input nodes. Physical coordinates are also an important factor between two communications endpoints related to the first streaming data channels to indicate the achievable efficiency of data transfer, ultimately governed by the speed of light that sets the absolute minimum time of communication between any two points. Naturally, the greater the first physical distance between two endpoints, the more likely it is that more point-to-point routes are amassed between the said two endpoints, each adding to the transfer time of data.
- the transfer system is arranged to calculate the second affinity score of each of the second streaming data channels based on:
- each of the data input nodes comprises physical coordinates of the data input node
- each of the data reducing nodes comprises physical coordinates of the data reducing node
- the transfer system is arranged to calculate the second affinity score of each of the second streaming data channels based on a second physical distance between the physical coordinates of each of the data input nodes and the physical coordinates of each of the data reducing nodes.
- Physical coordinates are, as already described above, an important factor between two communications endpoints related to the second streaming data channels to indicate the achievable efficiency of data transfer, ultimately governed by the speed of light that sets the absolute minimum time of communication between any two points.
- the greater the second physical distance between two endpoints the more likely it is that more point-to-point routes are amassed between the said two endpoints, each adding to the transfer time of data.
- the transfer system is configured to determine each of the aggregate affinity scores as a sum of the first affinity score of each of the first streaming data channels, and the second affinity score of each of the second streaming data channels. Advantage of this embodiment is that it is straightforward to compute the aggregate score.
- the transfer system is configured to determine each of the aggregate affinity scores as a weighted sum of the first affinity score of each of the first streaming data channels such that the first affinity score is multiplied with a first weight, and the second affinity score of each of the second streaming data channels is multiplied with a second weight.
- Advantage of this embodiment is that it is possible to take into account the different relevancies of the first streaming data channel, and the second streaming data channel for the decision of placement of the data input systems and data reducing systems.
- a fixed surveillance camera configured to observe a part of an interior of a building
- the data input node comprises:
- These data input nodes are advantageous data input nodes for first streaming data capable of receiving data with wide bandwidth.
- the data reducing node comprises a server computer unit comprising one or more graphics processing units.
- a graphics processing unit is an advantageous unit for performing complex, especially pattern recognition related tasks.
- each of the data sources comprises a fixed surveillance camera configured to observe a walkway of a built environment
- the first streaming data comprises video streaming data generated by each of the fixed surveillance cameras
- the data output system is arranged to store the reduced data as an output data, the output data indicative of the number of persons moving along the walkway of the built environment, the output data characterizing the first streaming data.
- This embodiment features an advantageous, complete train of data transfer from data source (a fixed surveillance camera) to final representation of data in the data output system (number of persons viewed by the fixed surveillance camera).
- each of the data sources comprises a factory machine sensor arranged to a factory machine of a factory to provide factory machine data on operation of the factory machine, the factory machine comprising a control interface arranged to control the operation of the factory machine,
- the first streaming data comprises factory machine data generated by the factory machine sensor
- the second streaming data comprises the factory machine data received by the data reducing system connected to the data source through the aggregate data channel,
- the data reducing system is arranged to perform analysis on the second streaming data to generate the reduced data based on the second steaming data, the reduced data indicative of operating conditions of the factory machine,
- the data output system is arranged to control the operation of the factory machine based on the reduced data through a control interface channel connected to the control interface.
- This embodiment features an advantageous, complete train of data transfer from data source (a factory machine related sensor) to final representation and decision making of data in the data output system (controlling the factory machine based on reduced data).
- the data input systems are arranged to run as containerized applications.
- Containerized applications are a systematic and robust way to manage a life cycle of the data input systems.
- the data reducing systems are arranged to run as containerized applications.
- Containerized applications are a systematic and robust way to manage a life cycle of the data reducing systems.
- the data output system is arranged to run as a containerized application.
- Containerized applications are a systematic and robust way to manage a life cycle of the data output systems.
- operations A), B) and C) are governed by a containerized application orchestration platform arranged to deploy and manage containerized applications.
- Containerized applications and their orchestration platforms are a systematic and robust way to manage the deployment and invocation of the entire transfer system.
- a method for transferring streaming data in a transfer system comprises: - providing, to the transfer system,
- each of the first streaming data channels configured to transfer first streaming data from one data source to one data input node through the first streaming data channel
- each of the second streaming data channels configured to transfer second streaming data from one data input node to one data reducing node through the second streaming data channel
- the first affinity score being indicative of the efficiency of data transfer in each of the first streaming data channels
- the second affinity score being indicative of the efficiency of data transfer in each of the second streaming data channels
- the placement of the data input systems and data reducing systems may be automated and performed in the data input nodes and in the data reducing nodes that are, at least in terms of data transfer, well suited or even optimal for high data transfer efficiency.
- the method comprises performing, in the transfer system, the step of selecting an aggregate pair from the first streaming data channels and from the second streaming data channels based on the aggregate affinity score.
- the method comprises executing the steps of the method in a transfer system according to the transfer system related aspect and its embodiments as defined above.
- Purpose of the transfer system and the related method is to allow an efficient and maintainable system and method for streaming data transfer to the data output system and reduce the streaming data for e.g. easier decision making based on the streaming data.
- a “host” or “to host” means that a virtual or physical computing machine, for example a node, is configured be ready to perform computation and related communications but perform said computation and related communications only after a system is deployed into the virtual or physical computing machine.
- a “host” may provide computing services and input and output services to enable operations of a system within the virtual or physical computing machine, for example the node.
- to "reduce data”, “reducing data”, “reduced data” and “process data into reduced data” means that a large unit of data is processed in a computing machine, for example a node, and through said processing, a smaller, reduced unit of data is generated, the smaller unit representing some aspect or aspects of the information represented by the large unit of data.
- Artificial intelligence (Al) algorithms, neural network algorithms and machine learning algorithms may be used to reduce data and for reducing data, to generate the reduced data or to process data into the reduced data.
- the large unit of data may be a static image of a camera feed at a moment of time
- the smaller unit of data may be the number of persons detected in the static image of the camera feed, as detected by a pattern recognition algorithm.
- the large unit of data may be a measurement of a temperature over time
- the smaller unit of data may be a set of statistical variables of the temperature
- bandwidth means the rate of data transfer across a given channel, measured in bits/second (s).
- bandwidth For example, wireless LAN technology specified in IEEE standard 802.11b has a bandwidth of 11 Mbit/s, M for mega.
- the deployed computer program or programs may be one or more service computer programs, which serve other service computer programs by taking input data as input, possibly provided by other service computer programs, and providing output data as output data.
- a "computer application”, an “application”, a “computer program” or a “program” mean the same thing, a set of computer instructions that, when executed in a computer, cause the computer to perform the instructions contained in the computer application or in the computer program.
- containerized means an operating system virtualization, through which one or more applications are executed in isolated user spaces called containers, all using the same shared operating system ("OS”).
- OS shared operating system
- a container is essentially a fully packaged and portable computing environment. The container comprises everything an application needs to run, that is, the container comprises binaries, libraries, configuration files and dependencies such that they are is encapsulated and isolated in its container. The container itself is abstracted away from the host operating system, with only limited access to underlying resources.
- the containerized application may be run on various types of infrastructure or various types of nodes, within a server computer system, an embedded computer system, within virtual machines, and in the cloud.
- Containerized applications are more efficient than pure virtualized applications as they do not need to set up a separate guest OS for each application. This is because containerized applications share the same OS kernel.
- a containerized application may comprise the top layer of a following stack of computing resources:
- the bottom computing resource layer comprises a hardware of the infrastructure in question, including its CPU(s) ("central processing unit”), disk storage and network interfaces.
- the host OS layer comprises the host OS and its kernel, the kernel arranged to serve as a bridge between the software of the OS and the hardware of the underlying system.
- the container engine layer comprises a container engine and its minimal guest OS, which are particular to the containerization technology being used.
- the top layer comprises binaries and libraries for each application and the applications themselves, running in their isolated user spaces that are also called the "containers”.
- streaming data means data that is continuously generated in at least one source. Streaming data is processed incrementally without having access to all of the data (which is a case for example with a downloaded data file).
- An example of streaming data is a video streaming data feed, fed from an internet web camera.
- latency or “network latency” means to the total end-to-end delay within a data transfer network, due to the combination of time of flight and processing delays within the transfer system, for example network adapters and switches.
- jitter or “network jitter” is the variance in network latency due to network state.
- the jitter is caused by two sources: changes in routes of the data transfer and congestion of the data transfer. Congestion causes queuing delays at routers, and thus packets transferring the data will be delayed. Data transfer messages may be sent at a regular rate, but they may arrive at irregular intervals.
- a “round-trip time” is the amount of time it takes for a data transfer to be sent between two communicating units, plus the amount of time it takes for acknowledgement of that signal having been received. This time delay includes propagation times for the paths between the two communication endpoints.
- the signal is typically a data packet.
- RTT is also known as "ping” time. RTT can be determined with the ping command of various operating systems. End-to-end delay is the length of time it takes for a signal to travel in one direction and is often approximated as half the RTT.
- a graphics processing unit is a specialized electronic circuit designed to rapidly manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device.
- GPUs are used e.g. in embedded systems, mobile phones, personal computers, workstations, and game consoles. Modern GPUs are very efficient at manipulating computer graphics and image processing.
- GPU central processing units
- CPUs general-purpose central processing units
- a GPU can be present on a video card or embedded on the motherboard.
- GPUs are embedded on the CPU die.
- transferring means "transferring data”.
- a local area network means a telecommunications system or a computer network that comprises cables, access points, switches, routers, and other components that enable devices to connect to internal servers, web servers, and other LANs via wide area networks.
- a wide area network means a telecommunications system or a computer network that spans regions, countries, or even the World.
- a WAN may comprise computer networking technologies used to transmit data over long distances, and between different networks.
- a wireless LAN means a wireless computer network or telecommunications system that links two or more devices using wireless communication to form a local area network (LAN) within a limited area such as a home, school, computer laboratory, campus, or office building. This gives users the ability to move around within the area and remain connected to the network.
- WLAN wireless LAN
- IP Internet Protocol
- internet autonomous system related routing rules mean a set of rules that are configured to route the traffic of the first streaming data channel or the second streaming data channel within the said single administrative entity or domain. This is advantageous as routing the traffic outside the administrative entity, that is, domain our autonomous system might incur extra costs or cut down the available bandwidth, or both.
- orchestration platform means a collection of computer programs that automates many of the manual processes involved in deploying, managing, and scaling containerized applications.
- groups of hosts running containers may be combined, and the orchestration platform aids in manage said containerized applications that may be combined in one or more clusters.
- Clusters may span hosts across on-premise, public, private, or hybrid computing systems or computing clouds.
- FIGS 1 and 2 show transfer systems according to an aspect of the current invention
- FIGS 3 and 4 show embodiments related to physical distances of various units
- Figure 6 shows various origins for the streaming data
- FIG. 7 shows embodiments of data input nodes
- Figure 9a shows an embodiment of the transfer system from start to finish
- Figure 9b shows another embodiment of the transfer system from start to finish
- Figure 10 shows a method aspect of the current invention.
- the transfer system 1 comprises data sources 10a, 10b configured to generate first streaming data 101.
- the transfer system 1 also comprises data input nodes 22.
- Each data input node 22 is configured to host a data input system 20a, 20b, 20c.
- "configured to host a data input system” means that each of the data input nodes 22 is capable of hosting the data input system 20a, 20b, 20c and provide computation and data transfer services to the data input system 20a, 20b, 20c if the data input system 20a, 20b, 20c is deployed into the data input node 22.
- the data source 10a may comprise, for example, a surveillance camera configured to communicate over a wireless LAN connection, and the data input system 20a, 20b, 20c may comprise a wireless LAN access point. There may be several data sources 10a, 10b and several data input systems 20a, 20b.
- the transfer system 1 also comprises data reducing nodes 32.
- Each of the data reducing nodes 32 is configured to host a data reducing system 30a, 30b, 30c.
- each of the data reducing nodes 32 is capable of hosting the data reducing system 30a, 30b, 30c and provide computation and data transfer services to the data reducing system 30a, 30b, 30c if the data reducing system 30a, 30b, 30c is deployed into the data reducing node 32.
- the transfer system 1 also comprises a data output system 40.
- Purpose of the data output system 40 is to collect the data from the data reducing node 32 for further analysis and output purposes.
- the transfer system 1 also comprises second streaming data channels 202 between each of the data input nodes 22 and each of the data reducing nodes 32.
- Each of the second streaming data channels 202 is configured to transfer second streaming data 102 from one data input node 22 to one data reducing node 32 through the second streaming data channel 202.
- each of the second streaming data channels 202 is configured to transfer second streaming data 102 between one data input node 22 and one data reducing node 32, both one data input node 22 and one data reducing node 32 connected to the same second streaming data channel 202.
- N data input nodes 22 and P data reducing nodes 32 there may be N x P second streaming data channels 202.
- the transfer system 1 also comprises reduced data channels 203 configured to transfer reduced data 103 between the data reducing nodes 32 and the data output system 40.
- the transfer system 1 is configured, as operation Al), to determine a first affinity score 211 for each of the first streaming data channels 201.
- the first affinity score 211 is indicative of the efficiency of data transfer in each of the first streaming data channels 201.
- the first affinity score 211 may be a measure for each of the first streaming data channels 201 of how close, in terms of telecommunications and data transfer, the endpoints of the first streaming data channel 201 are. For example, a round trip time in each of the first streaming data channels 201 may be measured, and the longer the round trip time is, the lower the first affinity score 211 is, and vice versa.
- the transfer system 1 is also configured, as operation A2), to determine a second affinity score 212 for each of the second streaming data channels 202.
- the second affinity score 212 is indicative of the efficiency of data transfer in each of the second streaming data channels 202.
- each of the first streaming data channels 201 may comprise a first affinity score 211
- each of the second streaming data channels 202 may comprise a second affinity score 212.
- the transfer system 1 is configured, as operation B 1), for each combination of each of the first streaming data channels 201 and each of the second streaming data channels 202 such that the first streaming data channel 201 and the second streaming data channel 202 are connected to the same data input node 22, to determine an aggregate affinity score 213 based on the first affinity score 211 of each of the first streaming data channels 201, and on the second affinity score 212 of each of the second streaming data channels 202.
- the aggregate affinity score 213 is a measure on how efficient the data transfer is from a complete route from one data source 10a, 10b, to one data reducing node 32, via one data input node 22.
- the data transfer system 1 is also configured, as operation C), for each of the data sources 10a, 10b, as operation Cl), to select an aggregate pair 204 of the first streaming data channels 201 and the second streaming data channels 202 based on the aggregate affinity score 213.
- the data transfer system 1 may be configured, for each of the data sources 10a, 10b, as operation Cl), to select an aggregate pair 204 based on the aggregate affinity score 213 such that the aggregate affinity score 213 is the highest aggregate affinity score 213, indicative of the most efficient data transfer route.
- the data transfer system 1 is also configured, as operation C2), to associate the aggregate pair 204 as an aggregate data channel 205 for the data source 10a, 10b.
- the aggregate data channel 205 is, based on the aggregate affinity score 213, the most efficient data transfer route from one data source 10a to one data reducing node 32, travelling through one data input node 22.
- the data input system 20a, 20b, 20c is launched and managed in a data input node 22 which is optimal or advantageous in terms of data transfer efficiency.
- the data transfer system 1 is also configured, as operation D), for each of the data sources 10a, 10b to DI) receive the first streaming data 101 through the first streaming data channel 201 of the aggregate data channel 205 from the data source 10a, 10b into the data input system 20a, 20b, 20c.
- the data transfer system 1 is also configured, as operation D2), to receive the second streaming data 102 through the second streaming data channel 202 of the aggregate data channel 205 from the data input system 20a, 20b, 20c into the data reducing system 30a, 30b, 30c.
- operation D3 the data transfer system 1 is configured to process the second streaming data 102 in the data reducing system 30a, 30b, 30c into reduced data 103.
- the data transfer system 1 is configured to receive the reduced data 103 into the data output system 40 through the reduced data channel 203.
- the data transfer system 1 is configured to store the reduced data 103, in the data output system 40, as an output data 104.
- the output data 104 characterizes the first streaming data 101.
- the second streaming data channels 202 comprise a local area network, a wide area network, a computer bus, or a computer memory, or any combination thereof.
- These networks are well suited to carry streaming data, often requiring a large bandwidth (that is, able to transfer many units of data per a time unit).
- data input nodes and data reducing nodes may be executed in the same physical computer machine, also internal communications devices or units like a computer bus or a computer memory within a computer machine hardware are possible second streaming data channels 202.
- the transfer system 1 is arranged to calculate the first affinity score 211 of each of the first streaming data channels 201 based on network latency of the first streaming data channel 201, network jitter of the first streaming data channel 201, or round-trip time of the first streaming data channel 201. These time-based figures of merit are easy to measure with various network technologies.
- the transfer system 1 is arranged to calculate the first affinity score 211 of each of the first streaming data channels 201 based on bandwidth of the first streaming data channel 201.
- RWIN the TCP Receive Window (size)
- RTT the measured round-trip time for the first streaming data channel.
- a high bandwidth may give a better (e.g. higher) first affinity score 211 than a low bandwidth.
- the transfer system 1 is arranged to calculate the first affinity score 211 of each of the first streaming data channels 201 based on internet autonomous system related routing rules of the first streaming data channel 201. This is advantageous as crossing the borders of the internet autonomous systems in data routing often incurs extra costs for data transfer or slows down the data transfer, or both.
- each of the data sources 10a, 10b comprises physical coordinates 216a, 216b of the data source 10a, 10b,
- Said physical coordinates related to each of the first streaming data channels 201 may be for example latitude and longitude coordinates, WGS84 coordinates or ETRS89 coordinates. Derivation of distance between two coordinate points is obvious for a skilled person.
- the transfer system 1 may be arranged to calculate the first affinity score 211 of each of the first streaming data channels 201 based on the first physical distance 215a such that the higher (or longer) the distance (possibly indicative of slow data transfer), the lower the first affinity score 211 is (also indicative of "slow” data transfer).
- the transfer system 1 is arranged to calculate the second affinity score 212 of each of the second streaming data channels 202 based on network latency of the second streaming data channel 202, network jitter of the second streaming data channel 202, or round-trip time of the second streaming data channel 202. These time-based figures of merit are easy to measure with various network technologies.
- a low network latency may give a better (e.g. higher) second affinity score 212 than a high network latency.
- a low network jitter may give a better (e.g. higher) second affinity score 212 than a high network jitter.
- a low round-trip time may give a better (e.g. higher) second affinity score 212 than a high round-trip time.
- the transfer system 1 is arranged to calculate the second affinity score 212 of each of the second streaming data channels 202 based on bandwidth of the second streaming data channel 202.
- a high bandwidth may give a better (e.g. higher) second affinity score 212 than a low bandwidth.
- the transfer system 1 is arranged to calculate the second affinity score 212 of each of the second streaming data channels 202 based on data access rules of the second streaming data channel 202.
- data must not be routed through paths and network infrastructure that must not have access to the data.
- efficiency of second streaming data transfer may also comprise rules related to data access as a data channel which is not feasible or even possible is clearly not efficient.
- the transfer system 1 is arranged to calculate the second affinity score 212 of each of the second streaming data channels 202 based on privacy policies of the second streaming data channel 202.
- data must not be routed through paths and network infrastructure that must not have access to the data due to privacy constraints.
- the second affinity score 212 may be inversely proportional to the second physical distance 215b.
- each of the data sources 10a, 10b comprises a fixed surveillance camera llap configured to observe a part of an interior Hi of a building.
- the data input node 22 comprises a cellular base station 22a.
- the data transfer system 1 may be configured to store the reduced data 103 temporarily or permanently.
- the data output system 40 is arranged to control the operation of the factory machine 11m based on the reduced data 103 through a control interface channel 209 connected to the control interface llmi.
- the control interface llmi of the factory machine 11m maybe arranged to command the factory machine 11m with a control command to perform an emergency shutdown, or adjust a parameter of a manufacturing process (for example speed up or slow down the manufacturing process), or both.
- data output system 40 may be arranged to maintain average statistical operational parameters like normal and abnormal standard deviations of operational parameters, normal and abnormal ranges for the operational parameters etc.
- abnormal ranges for the operational parameters include an excessive process temperature, an abnormally low RPM (revolutions per minute) reading, an uncharacteristic vibration pattern, or a low water pressure.
- the control interface channel 209 may comprise a local area network, a wide area network, a wireless local area network or a cellular network, a computer bus, or any combination thereof.
- the data input systems 20a, 20b are arranged to run as containerized applications.
- the data reducing systems 30a, 30b are arranged to run as containerized applications.
- the data output system 40 is arranged to run as a containerized application.
- the operations A) comprising operations Al)-A2), B) comprising operation Bl) and C) comprising operations Cl)-C4) are governed by a containerized application orchestration platform arranged to deploy and manage containerized applications.
- the operations A) comprising operations Al)-A2), B) comprising operation Bl) and C) comprising operations Cl)-C4) are governed by a containerized application orchestration platform arranged to deploy and manage containerized applications in the data transfer system 1.
- a method 300 for transferring streaming data 101 in a transfer system 1 comprises:
- step 301 providing, to the transfer system 1,
- first streaming data channels 201 between each of the data sources 10a, 10b and each of the data input nodes 22, each of the first streaming data channels 201 configured to transfer first streaming data 101 from one data source 10a, 10b, 10c to one data input node 22 through the first streaming data channel 201,
- each of the second streaming data channels 202 configured to transfer second streaming data 102 from one data input node 22 to one data reducing node 32 through the second streaming data channel 202,
- the method 300 comprises, as step 310A, performing, in the transfer system 1, the following steps:
- step 310A2 determining a second affinity score 212 of each of the second streaming data channels 202, the second affinity score 212 being indicative of the efficiency of data transfer in each of the second streaming data channels 202.
- the method 300 comprises, as step 310C, performing, in the transfer system 1, for each of the data sources 10a, 10b, as step 310C1, selecting an aggregate pair 204 of the first streaming data channels 201 and the second streaming data channels 202 based on the aggregate affinity score 213, as step 310C2, associating the aggregate pair 204 as an aggregate data channel 205 for the data source 10a, 10b, as step 310C3, deploying the data input system 20a, 20b, 20c to the data input node 22 connected to the first streaming data channel 201 of the aggregate pair 204, and as step 310C4, deploying the data reducing system 30a, 30b, 30c to the data reducing node 32 connected to the second streaming data channel 202 of the aggregate pair 204.
- the storing, in step 310D5, may be performed to store the reduced data 103 temporarily or permanently.
- Each of the first streaming data channels 201 may comprise a first affinity score 211, and each of the second streaming data channels 202 may comprise a second affinity score 212.
- the method 300 comprises executing the steps of the method 300 in a transfer system 1 according to the transfer system aspect and its embodiments of the invention as defined above in the present text.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The invention relates to a transfer system (1) for transferring streaming data. The transfer system (1) comprises data sources (10a, 10b) configured to generate first streaming data (101), data input nodes (22), each configured to host a data input system (20a, 20b, 20c), data reducing nodes (32), each configured to host a data reducing system (30a, 30b, 30c), and a data output system (40), first streaming data channels (201) and second streaming data channels (202) between data input nodes (22) and data reducing nodes (32). The transfer system (1) is configured to determine an optimal location of the data input systems (20a, 20b, 20c) into the data input nodes (22), and data reducing systems (30a, 30b, 30c) into the data reducing nodes (32), and transfer data from the data sources into an output node (40). A related method (300) is also disclosed.
Description
TRANSFER SYSTEM FOR TRANSFERRING STREAMING DATA, AND METHOD FOR TRANSFERRING STREAMING DATA
FIELD OF THE INVENTION
The present invention relates to a transfer system for transferring streaming data, and particularly to a system according to preamble of claim 1. The present invention relates also to a method for transferring streaming data, and particularly to a method according to preamble of claim 18.
BACKGROUND OF THE INVENTION
In a modern society, generating, transferring and processing streaming data is an important field of technology. The advent of the so-called internet of things (loT) and its various implementations and applications generate massive amounts of streaming data. As will be defined in more detail later, streaming data is any digitally generated data that has no distinct ending, but instead is generated and processed incrementally and being meaningful without having access to all of the data generated. Examples of streaming data vary and include, for example, a video feed of a surveillance camera, accurate position information of an autonomous car updated 100s of times in one second, and temperature readings of temperature sensors in remote locations.
As the amounts of data generated in a unit of time can be massive (for example video feeds from one or more surveillance cameras), it is customary to attempt to process the streaming data into a reduced data. The reduced data is data which is significantly smaller (for example in terms of bytes) per unit of time than the streaming data in the same unit of time. For example, surveillance cameras may observe a street in a sequence of time, but the interesting data is not the video feed in itself, but instead the number of persons or cars or other moving objects in the sequence of time, which then may be stored and analyzed in more detail for example in some central corporate computer system that generates data for decision making.
With the so-called "edge technology”, it is customary to place processing the streaming data into reduced data as close to the origin of the streaming data as possible, as moving the sometimes massive streaming data consumes a lot of transfer system or transfer network bandwidth, that is, transfer capacity in a time unit.
One of the problems associated with the prior art is that to install and take into use systems that generate streaming data and then process the streaming
data into reduced data has been challenging. As the modern digital computer network system is abstract and ubiquitous, it is difficult to know the optimal placement of data processing in the various available units of computation, and from the streaming data sources into systems supporting the decision making based on the original streaming data. Thus, ways for better or even optimal placement of data processing of streaming data are needed.
BRIEF DESCRIPTION OF THE INVENTION
An object of the present invention is to provide a system and a method for an improved or even optimal placement of data processing of streaming data.
The objects of the invention are achieved by a transfer system and a method for transfer which are characterized by what is stated in the independent claims 1 and 18, respectively.
The preferred embodiments of the invention are disclosed in the dependent claims.
The invention is based on the idea of determining a first affinity score for each of the first streaming data channels that interconnect the streaming data sources and the available data input nodes, and a second affinity score for each of the second streaming data channels that interconnect the available data input nodes, and available data reducing nodes, and then base the placement of the data input systems (that, for example, receive or ingress video camera feed) and data reducing systems based on an aggregate affinity score based on the first affinity score and the second affinity score.
An advantage of the invention is that with the invention, the placement of the data input systems and data reducing systems can be automated, and the placement is done in a way that improves or optimises the overall system performance, and, in general, reduces load of the network system from streaming data sources to a decision making point.
As an aspect of the current invention, a transfer system for transferring streaming data is disclosed. The transfer system comprises:
- data sources configured to generate first streaming data
- data input nodes, each configured to host a data input system,
- data reducing nodes, each configured to host a data reducing system,
- a data output system,
- first streaming data channels between each of the data sources and each of the data input nodes, each of the first streaming data channels configured
to transfer first streaming data from one data source to one data input node through the first streaming data channel,
- second streaming data channels between each of the data input nodes and each of the data reducing nodes, each of the second streaming data channels configured to transfer second streaming data from one data input node to one data reducing node through the second streaming data channel,
- reduced data channels configured to transfer reduced data between the data reducing nodes and the data output system;
- A) the transfer system configured to:
- Al) determine a first affinity score for each of the first streaming data channels, the first affinity score being indicative of the efficiency of data transfer in each of the first streaming data channels,
- A2) determine a second affinity score for each of the second streaming data channels, the second affinity score being indicative of the efficiency of data transfer in each of the second streaming data channels;
- B) the transfer system configured to:
- Bl) for each combination of each of the first streaming data channels and each of the second streaming data channels such that the first streaming data channel and the second streaming data channel are connected to the same data input node, determine an aggregate affinity score based on the first affinity score of each of the first streaming data channels and on the second affinity score of each of the second streaming data channels;
- C) the transfer system configured to, for each of the data sources:
- Cl) select an aggregate pair of the first streaming data channels and the second streaming data channels based on the aggregate affinity score,
- C2) associate the aggregate pair as an aggregate data channel for the data source,
- C3) deploy the data input system to the data input node connected to the first streaming data channel of the aggregate pair,
- C4) deploy the data reducing system to the data reducing node connected to the second streaming data channel of the aggregate pair;
- D) the transfer system configured to, for each of the data sources:
- DI) receive the first streaming data through the first streaming data channel of the aggregate data channel from the data source into the data input system,
- D2) receive the second streaming data through the second streaming data channel of the aggregate data channel from the data input system into the data reducing system,
- D3) process the second streaming data in the data reducing system into reduced data,
- D4) receive the reduced data into the data output system through the reduced data channel,
- D5) store the reduced data in the data output system as an output data, the output data characterizing the first streaming data. Advantage of the system is that the placement of the data input systems and data reducing systems may be automated and performed in data input nodes and data reducing nodes that are, at least from the standpoint of data transfer, well suited or even optimal for high data transfer efficiency.
In other words, in operation Cl), the transfer system is configured to select an aggregate pair from the first streaming data channels and from the second streaming data channels based on the aggregate affinity score.
The transfer system may also be configured analyse, modify or present the stored reduced data, or any combination thereof, for further processing.
In an embodiment of the transfer system, the first streaming data channels comprise a local area network, a wide area network, a wireless local area network or a cellular network, a computer bus, or any combination thereof. These are advantageous first streaming data channels with high efficiency for high streaming data bandwidth requirements.
In an embodiment of the transfer system, the second streaming data channels comprise a local area network, a wide area network, a computer bus, or a computer memory, or any combination thereof. These are advantageous second streaming data channels with high efficiency for high streaming data bandwidth requirements.
In an embodiment of the transfer system, the reduced data channels comprise a local area network, a wide area network, a wireless local area network or a mobile phone network, or any combination thereof. These are advantageous reduced data channels with suitable efficiency for reduced data bandwidth requirements.
In an embodiment of the transfer system, the transfer system is arranged to calculate the first affinity score of each of the first streaming data channels based on:
- network latency of the first streaming data channel; or
- network jitter of the first streaming data channel; or
- round-trip time of the first streaming data channel; or
- bandwidth of the first streaming data channel; or
- data access rules of the first streaming data channel; or
- privacy policies of the first streaming data channel; or
-internet autonomous system related routing rules of the first streaming data channel; or any combination of network latency, network jitter, round-trip time, bandwidth, data access rules, privacy policies, or internet autonomous system related routing rules of the first streaming data channel.
In an embodiment of the transfer system, each of the data sources comprises physical coordinates of the data source,
- each of the data input nodes comprises physical coordinates of the data input node, and
- the transfer system is arranged to calculate the first affinity score of each of the first streaming data channels based on a first physical distance between the physical coordinates of each of the data sources and the physical coordinates of each of the data input nodes. Physical coordinates are also an important factor between two communications endpoints related to the first streaming data channels to indicate the achievable efficiency of data transfer, ultimately governed by the speed of light that sets the absolute minimum time of communication between any two points. Naturally, the greater the first physical distance between two endpoints, the more likely it is that more point-to-point routes are amassed between the said two endpoints, each adding to the transfer time of data.
In an embodiment of the transfer system, the transfer system is arranged to calculate the second affinity score of each of the second streaming data channels based on:
- network latency of the second streaming data channel; or
- network jitter of the second streaming data channel; or
- round-trip time of the second streaming data channel; or
- bandwidth of the second streaming data channel; or
- data access rules of the second streaming data channel; or
- privacy policies of the second streaming data channel; or
- internet autonomous system related routing rules of the second streaming data channel; or
- any combination of network latency, network jitter, round-trip time, bandwidth, data access rules, privacy policies or internet autonomous system related routing rules of the second streaming data channel. These figures of merit for network performance are well suited for characterising the network performance of each of the second streaming data channels.
In an embodiment of the transfer system, each of the data input nodes comprises physical coordinates of the data input node, each of the data reducing nodes comprises physical coordinates of the data reducing node, and the transfer system is arranged to calculate the second affinity score of each of the second streaming data channels based on a second physical distance between the physical coordinates of each of the data input nodes and the physical coordinates of each of the data reducing nodes. Physical coordinates are, as already described above, an important factor between two communications endpoints related to the second streaming data channels to indicate the achievable efficiency of data transfer, ultimately governed by the speed of light that sets the absolute minimum time of communication between any two points. Naturally, the greater the second physical distance between two endpoints, the more likely it is that more point-to-point routes are amassed between the said two endpoints, each adding to the transfer time of data.
In an embodiment of the transfer system, the transfer system is configured to determine each of the aggregate affinity scores as a sum of the first affinity score of each of the first streaming data channels, and the second affinity score of each of the second streaming data channels. Advantage of this embodiment is that it is straightforward to compute the aggregate score.
In an embodiment of the transfer system, the transfer system is configured to determine each of the aggregate affinity scores as a weighted sum of the first affinity score of each of the first streaming data channels such that the first affinity score is multiplied with a first weight, and the second affinity score of each of the second streaming data channels is multiplied with a second weight. Advantage of this embodiment is that it is possible to take into account the different relevancies of the first streaming data channel, and the second streaming data channel for the decision of placement of the data input systems and data reducing systems.
In an embodiment of the transfer system, each of the data sources
comprises:
- a fixed surveillance camera; or
- a fixed surveillance camera configured to observe a part of an interior of a building; or
- an environmental sensor; or
- an industrial monitoring sensor. These data sources are advantageous sources of streaming data capable of generating relevant information for further analysis.
In an embodiment of the transfer system, the data input node comprises:
- a cellular base station; or
- a server computer unit. These data input nodes are advantageous data input nodes for first streaming data capable of receiving data with wide bandwidth.
In an embodiment of the transfer system, the data reducing node comprises a server computer unit comprising one or more graphics processing units. A graphics processing unit (GPU) is an advantageous unit for performing complex, especially pattern recognition related tasks.
In an embodiment of the transfer system, each of the data sources comprises a fixed surveillance camera configured to observe a walkway of a built environment,
- the first streaming data comprises video streaming data generated by each of the fixed surveillance cameras,
- the second streaming data comprises the video streaming data received by the data reducing system connected to the data source through the aggregate data channel, the data reducing system arranged to perform pattern recognition on the second streaming data to generate the reduced data based on the second steaming data, the reduced data indicative of distribution of number of persons detected in the second streaming data in a sequence of time by the pattern recognition,
- the data output system is arranged to store the reduced data as an output data, the output data indicative of the number of persons moving along the walkway of the built environment, the output data characterizing the first streaming data. This embodiment features an advantageous, complete train of data transfer from data source (a fixed surveillance camera) to final representation of data in the data output system (number of persons viewed by the fixed surveillance
camera).
In an embodiment of the transfer system, each of the data sources comprises a factory machine sensor arranged to a factory machine of a factory to provide factory machine data on operation of the factory machine, the factory machine comprising a control interface arranged to control the operation of the factory machine,
- the first streaming data comprises factory machine data generated by the factory machine sensor,
- the second streaming data comprises the factory machine data received by the data reducing system connected to the data source through the aggregate data channel,
- the data reducing system is arranged to perform analysis on the second streaming data to generate the reduced data based on the second steaming data, the reduced data indicative of operating conditions of the factory machine,
- the data output system is arranged to control the operation of the factory machine based on the reduced data through a control interface channel connected to the control interface. This embodiment features an advantageous, complete train of data transfer from data source (a factory machine related sensor) to final representation and decision making of data in the data output system (controlling the factory machine based on reduced data).
In an embodiment of the transfer system, the data input systems are arranged to run as containerized applications. Containerized applications are a systematic and robust way to manage a life cycle of the data input systems.
In an embodiment of the transfer system, the data reducing systems are arranged to run as containerized applications. Containerized applications are a systematic and robust way to manage a life cycle of the data reducing systems.
In an embodiment of the transfer system, the data output system is arranged to run as a containerized application. Containerized applications are a systematic and robust way to manage a life cycle of the data output systems.
In an embodiment of the transfer system, operations A), B) and C) are governed by a containerized application orchestration platform arranged to deploy and manage containerized applications. Containerized applications and their orchestration platforms are a systematic and robust way to manage the deployment and invocation of the entire transfer system.
As another aspect of the invention, a method for transferring streaming data in a transfer system is disclosed. The method comprises:
- providing, to the transfer system,
- data sources configured to generate first streaming data,
- data input nodes, each configured to host a data input system,
- data reducing nodes, each configured to host a data reducing system,
- a data output system,
- first streaming data channels between each of the data sources and each of the data input nodes, each of the first streaming data channels configured to transfer first streaming data from one data source to one data input node through the first streaming data channel,
- second streaming data channels between the data input nodes and the data reducing nodes, each of the second streaming data channels configured to transfer second streaming data from one data input node to one data reducing node through the second streaming data channel,
- reduced data channels configured to transfer reduced data between the data reducing nodes and the data output system; performing, in the transfer system, the steps of:
- determining a first affinity score of each of the first streaming data channels, the first affinity score being indicative of the efficiency of data transfer in each of the first streaming data channels,
- determining a second affinity score of each of the second streaming data channels, the second affinity score being indicative of the efficiency of data transfer in each of the second streaming data channels,
- performing, in the transfer system, the step of, for each combination of each of the first streaming data channels and each of the second streaming data channels such that the first streaming data channel and the second streaming data channel are connected to the same data input node, determining an aggregate affinity score based on the first affinity score of each of the first streaming data channels and on the second affinity score of each of the second streaming data channels; for each of the data sources, performing, in the transfer system, the steps of:
- selecting an aggregate pair of the first streaming data channels and the second streaming data channels based on the aggregate affinity score,
- associating the aggregate pair as an aggregate data channel for the data source,
- deploying the data input system to the data input node connected to the first streaming data channel of the aggregate pair,
- deploying the data reducing system to the data reducing node connected to the second streaming data channel of the aggregate pair; for each of the data sources, performing, in the transfer system, the steps of:
- receiving the first streaming data through the first streaming data channel of the aggregate data channel from the data source into the data input system,
- receiving the second streaming data through the second streaming data channel of the aggregate data channel from the data input system into the data reducing system,
- processing the second streaming data in the data reducing system into the reduced data,
- receiving the reduced data into the data output system through the reduced data channel, and
- storing the reduced data in the data output system as an output data characterizing the first streaming data. Advantage of the method is that the placement of the data input systems and data reducing systems may be automated and performed in the data input nodes and in the data reducing nodes that are, at least in terms of data transfer, well suited or even optimal for high data transfer efficiency.
In other words, for each of the data sources, the method comprises performing, in the transfer system, the step of selecting an aggregate pair from the first streaming data channels and from the second streaming data channels based on the aggregate affinity score.
In an embodiment of the method, the method comprises executing the steps of the method in a transfer system according to the transfer system related aspect and its embodiments as defined above.
Purpose of the transfer system and the related method is to allow an efficient and maintainable system and method for streaming data transfer to the data output system and reduce the streaming data for e.g. easier decision making based on the streaming data.
For the purposes of this text, a "data transfer system” and a "transfer system” mean the same entity, as the primary purpose of the transfer system is to transfer data over at least one network and over network related entities.
For the purposes of this text, a "node” is a virtual or physical computing machine configured to perform computation and related communications into, out and within the virtual or physical machine. A node may be, for example, a computer, a server computer or a telecommunications unit. Two different nodes and different types of nodes (for example a data input node and a data reducing node) may be executed in the same physical computing machine.
For the purposes of this text, a "host” or "to host” means that a virtual or physical computing machine, for example a node, is configured be ready to perform computation and related communications but perform said computation and related communications only after a system is deployed into the virtual or physical computing machine. A "host” may provide computing services and input and output services to enable operations of a system within the virtual or physical computing machine, for example the node.
For the purposes of this text, to "reduce data”, "reducing data”, "reduced data” and "process data into reduced data” means that a large unit of data is processed in a computing machine, for example a node, and through said processing, a smaller, reduced unit of data is generated, the smaller unit representing some aspect or aspects of the information represented by the large unit of data. For example, artificial intelligence (Al) algorithms, neural network algorithms and machine learning algorithms may be used to reduce data and for reducing data, to generate the reduced data or to process data into the reduced data.
As an example, the large unit of data may be a static image of a camera feed at a moment of time, and the smaller unit of data may be the number of persons detected in the static image of the camera feed, as detected by a pattern recognition algorithm.
As another example, the large unit of data may be a measurement of a temperature over time, and the smaller unit of data may be a set of statistical variables of the temperature.
As yet another example, the large unit of data may be a camera feed at a moment of time and the smaller unit of data may be the number of automobiles and their types (a lorry, a truck, a car, bike etc) and register plates detected in the static image of the camera feed, as detected by a pattern recognition algorithm.
For the purposes of this text, "bandwidth” (also called "throughput” in the art) means the rate of data transfer across a given channel, measured in bits/second (s). For example, wireless LAN technology specified in IEEE standard
802.11b has a bandwidth of 11 Mbit/s, M for mega.
The bandwidth BW may be measured, for example, as a ratio of RWIN and RTT such that BW = RWIN/RTT, where RWIN is the TCP Receive Window (size), and RTT is the measured round-trip time for the channel.
For the purposes of this text, to "deploy” or "deploying” means starting one or more computer programs in a node and maintaining and monitoring performance of the one or more computer programs. The deployed computer program or programs may be one or more service computer programs, which serve other service computer programs by taking input data as input, possibly provided by other service computer programs, and providing output data as output data.
For the purposes of this text, a "computer application”, an "application”, a "computer program” or a "program” mean the same thing, a set of computer instructions that, when executed in a computer, cause the computer to perform the instructions contained in the computer application or in the computer program.
For the purposes of this text, to "containerized” or "container” means an operating system virtualization, through which one or more applications are executed in isolated user spaces called containers, all using the same shared operating system ("OS”). A container is essentially a fully packaged and portable computing environment. The container comprises everything an application needs to run, that is, the container comprises binaries, libraries, configuration files and dependencies such that they are is encapsulated and isolated in its container. The container itself is abstracted away from the host operating system, with only limited access to underlying resources. The containerized application may be run on various types of infrastructure or various types of nodes, within a server computer system, an embedded computer system, within virtual machines, and in the cloud.
Containerized applications are more efficient than pure virtualized applications as they do not need to set up a separate guest OS for each application. This is because containerized applications share the same OS kernel.
Because of this high efficiency, containerization is commonly used for packaging up the many individual microservices that make up modern apps. Each container is an executable package of software, running on top of a host OS. A containerized application may comprise the top layer of a following stack of computing resources: The bottom computing resource layer comprises a hardware of the infrastructure in question, including its CPU(s) ("central processing unit”), disk storage and network interfaces. Above the bottom computing resource layer,
the host OS layer comprises the host OS and its kernel, the kernel arranged to serve as a bridge between the software of the OS and the hardware of the underlying system. Above the host OS layer, the container engine layer comprises a container engine and its minimal guest OS, which are particular to the containerization technology being used. The top layer comprises binaries and libraries for each application and the applications themselves, running in their isolated user spaces that are also called the "containers”.
For the purposes of this text, "streaming data” means data that is continuously generated in at least one source. Streaming data is processed incrementally without having access to all of the data (which is a case for example with a downloaded data file). An example of streaming data is a video streaming data feed, fed from an internet web camera.
For the purposes of this text, "latency” or "network latency” means to the total end-to-end delay within a data transfer network, due to the combination of time of flight and processing delays within the transfer system, for example network adapters and switches.
For the purposes of this text, "jitter” or "network jitter” is the variance in network latency due to network state. The jitter is caused by two sources: changes in routes of the data transfer and congestion of the data transfer. Congestion causes queuing delays at routers, and thus packets transferring the data will be delayed. Data transfer messages may be sent at a regular rate, but they may arrive at irregular intervals.
For the purposes of this text, a "round-trip time” ("RTT”) is the amount of time it takes for a data transfer to be sent between two communicating units, plus the amount of time it takes for acknowledgement of that signal having been received. This time delay includes propagation times for the paths between the two communication endpoints. In the context of data transfer systems, the signal is typically a data packet. RTT is also known as "ping” time. RTT can be determined with the ping command of various operating systems. End-to-end delay is the length of time it takes for a signal to travel in one direction and is often approximated as half the RTT.
For the purposes of this text, the notion of something "being based”, for example "X is based on Y” means that Y may contribute to the derivation of X, but also other factors in addition to Y, for example Y2 and Y3, may contribute to the derivation of X without expressly stating that Y2 and Y3 may contribute to said derivation.
For the purposes of this text, a graphics processing unit (GPU) is a specialized electronic circuit designed to rapidly manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used e.g. in embedded systems, mobile phones, personal computers, workstations, and game consoles. Modern GPUs are very efficient at manipulating computer graphics and image processing. Their highly parallel structure makes them more efficient than general-purpose central processing units (CPUs) for algorithms that process large blocks of data in parallel. In a personal computer, a GPU can be present on a video card or embedded on the motherboard. In certain CPUs, GPUs are embedded on the CPU die.
For the purposes of this text, "transfer”, unless otherwise specified, means "data transfer”.
For the purposes of this text, "transferring”, unless otherwise specified, means "transferring data”.
For the purposes of this text, a local area network (LAN), means a telecommunications system or a computer network that comprises cables, access points, switches, routers, and other components that enable devices to connect to internal servers, web servers, and other LANs via wide area networks.
For the purposes of this text, a wide area network (WAN), means a telecommunications system or a computer network that spans regions, countries, or even the World. A WAN may comprise computer networking technologies used to transmit data over long distances, and between different networks.
For the purposes of this text, a wireless LAN (WLAN) means a wireless computer network or telecommunications system that links two or more devices using wireless communication to form a local area network (LAN) within a limited area such as a home, school, computer laboratory, campus, or office building. This gives users the ability to move around within the area and remain connected to the network.
For the purposes of this text, an "internet autonomous system” means a collection of connected Internet Protocol (IP) routing prefixes under the control of one or more network operators on behalf of a single administrative entity or domain that presents a common, clearly defined routing policy to the Internet.
For the purposes of this text, "internet autonomous system related routing rules” mean a set of rules that are configured to route the traffic of the first streaming data channel or the second streaming data channel within the said single administrative entity or domain. This is advantageous as routing the traffic outside
the administrative entity, that is, domain our autonomous system might incur extra costs or cut down the available bandwidth, or both.
For the purposes of this text, "orchestration platform” means a collection of computer programs that automates many of the manual processes involved in deploying, managing, and scaling containerized applications. With an orchestration platform, groups of hosts running containers, may be combined, and the orchestration platform aids in manage said containerized applications that may be combined in one or more clusters. Clusters may span hosts across on-premise, public, private, or hybrid computing systems or computing clouds.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention is described in detail by means of specific embodiments with reference to the enclosed drawings, in which
Figures 1 and 2 show transfer systems according to an aspect of the current invention,
Figures 3 and 4 show embodiments related to physical distances of various units,
Figure 5 shows derivation of the aggregate affinity score,
Figure 6 shows various origins for the streaming data,
Figure 7 shows embodiments of data input nodes,
Figure 8 shows an embodiment of a data reducing node,
Figure 9a shows an embodiment of the transfer system from start to finish, and
Figure 9b shows another embodiment of the transfer system from start to finish, and
Figure 10 shows a method aspect of the current invention.
DETAILED DESCRIPTION OF THE INVENTION
In the following description, like numbers (for example 22) or labels (for example 10a) denote like elements.
Referring to Figure 1, a transfer system 1 for transferring streaming data is shown. The transfer system 1 comprises data sources 10a, 10b configured to generate first streaming data 101. The transfer system 1 also comprises data input nodes 22. Each data input node 22 is configured to host a data input system 20a, 20b, 20c.
Above, "configured to host a data input system” means that each of the data input nodes 22 is capable of hosting the data input system 20a, 20b, 20c and provide computation and data transfer services to the data input system 20a, 20b, 20c if the data input system 20a, 20b, 20c is deployed into the data input node 22.
The data source 10a may comprise, for example, a surveillance camera configured to communicate over a wireless LAN connection, and the data input system 20a, 20b, 20c may comprise a wireless LAN access point. There may be several data sources 10a, 10b and several data input systems 20a, 20b.
The transfer system 1 also comprises data reducing nodes 32. Each of the data reducing nodes 32 is configured to host a data reducing system 30a, 30b, 30c.
Above, "configured to host a data reducing system” means that each of the data reducing nodes 32 is capable of hosting the data reducing system 30a, 30b, 30c and provide computation and data transfer services to the data reducing system 30a, 30b, 30c if the data reducing system 30a, 30b, 30c is deployed into the data reducing node 32.
The data reducing node 32 may comprise for example a dedicated server computer comprising graphical processing units, configured to perform pattern recognition to the data received from the surveillance camera. There may be several data reducing nodes 32.
The transfer system 1 also comprises a data output system 40.
Purpose of the data output system 40 is to collect the data from the data reducing node 32 for further analysis and output purposes.
The transfer system 1 also comprises first streaming data channels 201 between each of the data sources 10a, 10b and each of the data input nodes 22. Each of the first streaming data channels 201 is configured to transfer first streaming data 101 from one data source 10a, 10b, 10c to one data input node 22 through the first streaming data channel 201.
In other words, each of the first streaming data channels 201 is configured to transfer first streaming data 101 between one data source 10a, 10b, 10c and one data input node 22, both one data source 10a, 10b, 10c and one data input node 22 connected to the same first streaming data channel 201.
Thus, for M data sources 10a, 10b, and N data input nodes 22, there may be M x N first streaming data channels 201.
The transfer system 1 also comprises second streaming data channels 202 between each of the data input nodes 22 and each of the data reducing nodes
32. Each of the second streaming data channels 202 is configured to transfer second streaming data 102 from one data input node 22 to one data reducing node 32 through the second streaming data channel 202.
In other words, each of the second streaming data channels 202 is configured to transfer second streaming data 102 between one data input node 22 and one data reducing node 32, both one data input node 22 and one data reducing node 32 connected to the same second streaming data channel 202.
Thus, for N data input nodes 22 and P data reducing nodes 32, there may be N x P second streaming data channels 202.
The transfer system 1 also comprises reduced data channels 203 configured to transfer reduced data 103 between the data reducing nodes 32 and the data output system 40.
Turning to Figure 2, The transfer system 1 is configured, as operation Al), to determine a first affinity score 211 for each of the first streaming data channels 201. The first affinity score 211 is indicative of the efficiency of data transfer in each of the first streaming data channels 201.
Thus, the first affinity score 211 may be a measure for each of the first streaming data channels 201 of how close, in terms of telecommunications and data transfer, the endpoints of the first streaming data channel 201 are. For example, a round trip time in each of the first streaming data channels 201 may be measured, and the longer the round trip time is, the lower the first affinity score 211 is, and vice versa.
The transfer system 1 is also configured, as operation A2), to determine a second affinity score 212 for each of the second streaming data channels 202. The second affinity score 212 is indicative of the efficiency of data transfer in each of the second streaming data channels 202.
Thus, the second affinity score 212 may be a measure for each of the second streaming data channels 202 of how close, in terms of telecommunications and data transfer, the endpoints of the second streaming data channel 202 are. For example, a round trip time in each of the second streaming data channels 202 may be measured, and the longer the round trip time is, the lower the second affinity score 212 is, and vice versa.
In other words, each of the first streaming data channels 201 may comprise a first affinity score 211, and each of the second streaming data channels 202 may comprise a second affinity score 212.
As shown in Figure 2, the transfer system 1 is configured, as operation B 1), for each combination of each of the first streaming data channels 201 and each of the second streaming data channels 202 such that the first streaming data channel 201 and the second streaming data channel 202 are connected to the same data input node 22, to determine an aggregate affinity score 213 based on the first affinity score 211 of each of the first streaming data channels 201, and on the second affinity score 212 of each of the second streaming data channels 202.
Thus, the aggregate affinity score 213 is a measure on how efficient the data transfer is from a complete route from one data source 10a, 10b, to one data reducing node 32, via one data input node 22.
The data transfer system 1 is also configured, as operation C), for each of the data sources 10a, 10b, as operation Cl), to select an aggregate pair 204 of the first streaming data channels 201 and the second streaming data channels 202 based on the aggregate affinity score 213.
The data transfer system 1 may be configured, for each of the data sources 10a, 10b, as operation Cl), to select an aggregate pair 204 based on the aggregate affinity score 213 such that the aggregate affinity score 213 is the highest aggregate affinity score 213, indicative of the most efficient data transfer route.
The data transfer system 1 is also configured, as operation C2), to associate the aggregate pair 204 as an aggregate data channel 205 for the data source 10a, 10b.
Thus, the aggregate data channel 205 is, based on the aggregate affinity score 213, the most efficient data transfer route from one data source 10a to one data reducing node 32, travelling through one data input node 22.
The data transfer system 1 is also configured, as operation C3), to deploy the data input system 20a, 20b, 20c to the data input node 22 connected to the first streaming data channel 201 of the aggregate pair 204.
Thus, the data input system 20a, 20b, 20c is launched and managed in a data input node 22 which is optimal or advantageous in terms of data transfer efficiency.
The data transfer system 1 is also configured, as operation C4), to deploy the data reducing system 30a, 30b, 30c to the data reducing node 32 connected to the second streaming data channel 202 of the aggregate pair 204.
The data transfer system 1 is also configured, as operation D), for each of the data sources 10a, 10b to DI) receive the first streaming data 101 through the first streaming data channel 201 of the aggregate data channel 205 from the data
source 10a, 10b into the data input system 20a, 20b, 20c. The data transfer system 1 is also configured, as operation D2), to receive the second streaming data 102 through the second streaming data channel 202 of the aggregate data channel 205 from the data input system 20a, 20b, 20c into the data reducing system 30a, 30b, 30c. As operation D3), the data transfer system 1 is configured to process the second streaming data 102 in the data reducing system 30a, 30b, 30c into reduced data 103. As operation D4), the data transfer system 1 is configured to receive the reduced data 103 into the data output system 40 through the reduced data channel 203. As operation D5), the data transfer system 1 is configured to store the reduced data 103, in the data output system 40, as an output data 104. The output data 104 characterizes the first streaming data 101.
The transfer system may also be configured to analyse, modify or present the stored reduced data 103, or any combination thereof, for further processing.
The data transfer system 1 may be configured to store the reduced data 103 temporarily or permanently.
Thus, in the operations D), D1J-D5), data is transferred and reduced and finally outputted as output data 104. Output data 104 is representative, or in other words, characterizes, the first streaming data 101 produced by the data source.
For example, the output data 104 may show or be otherwise indicative of the number of persons moving in an area, for example a shopping mall, covered by surveillance cameras as data sources 10a, 10b producing the first streaming data 101, over a time period, or over distinct points in time, or statistic information related thereto.
Clearly, as a purpose and goal of the transfer system 1, data is handled efficiently, and the data processing systems, the data input system 20a, 20b, and data reducing system 30a, 30b, are placed optimally or close to their optimal locations in terms of data transfer efficiency in terms of data source 10a, 10b locations. Thus, the data input systems 20a, 20b and the data reducing systems 30a, 30b are only deployed to nodes where they may operate most efficiently in terms of overall data transfer between the data sources 10a, 10b, and the data output system 40.
In an embodiment of the transfer system 1, the first streaming data channels 201 comprise a local area network, a wide area network, a wireless local area network, a wide area network, or a cellular network, a computer bus, or any combination thereof.
The computer bus may comprise a universal serial bus (USB).
These networks are well suited to carry streaming data, often requiring a large bandwidth (that is, able to transfer many units of data per a time unit).
In an embodiment of the transfer system 1, the second streaming data channels 202 comprise a local area network, a wide area network, a computer bus, or a computer memory, or any combination thereof.
These networks are well suited to carry streaming data, often requiring a large bandwidth (that is, able to transfer many units of data per a time unit). As the data input nodes and data reducing nodes may be executed in the same physical computer machine, also internal communications devices or units like a computer bus or a computer memory within a computer machine hardware are possible second streaming data channels 202.
In an embodiment of the transfer system 1, the reduced data channels 203 comprise a local area network, a wide area network, a wireless local area network or a mobile phone network, or any combination thereof. These networks are well suited to carry also reduced data, often requiring a large bandwidth (that is, able to transfer many units of data per a time unit.
In an embodiment of the transfer system 1, the transfer system 1 is arranged to calculate the first affinity score 211 of each of the first streaming data channels 201 based on network latency of the first streaming data channel 201, network jitter of the first streaming data channel 201, or round-trip time of the first streaming data channel 201. These time-based figures of merit are easy to measure with various network technologies.
For the network latency, a low network latency may give a better (e.g. higher) first affinity score 211 than a high network latency.
For the network jitter, a low network jitter may give a better (e.g. higher) first affinity score 211 than a high network jitter.
For the round-trip time, a low round-trip time may give a better (e.g. higher) first affinity score 211 than a high round-trip time.
In an embodiment of the transfer system 1, the transfer system 1 is arranged to calculate the first affinity score 211 of each of the first streaming data channels 201 based on bandwidth of the first streaming data channel 201. Bandwidth BW of the first streaming data channel 201 may be measured, for example, as a ratio of RWIN and RTT such that BW = RWIN/RTT, where RWIN is the TCP Receive Window (size), and RTT is the measured round-trip time for the first streaming data channel.
For the bandwidth of the first streaming data channel 201, a high bandwidth may give a better (e.g. higher) first affinity score 211 than a low bandwidth.
In an embodiment of the transfer system 1, the transfer system 1 is arranged to calculate the first affinity score 211 of each of the first streaming data channels 201 based on data access rules of the first streaming data channel 201. In addition or as an alternative to transfer speed and bandwidth related affinity score, in an embodiment, data must not be routed through paths and network infrastructure that must not have access to the data. Thus, efficiency of first streaming data transfer also may comprise rules related to data access as a data channel which is not feasible or even possible is clearly not efficient.
In an embodiment of the transfer system 1, the transfer system 1 is arranged to calculate the first affinity score 211 of each of the first streaming data channels 201 based on privacy policies of the first streaming data channel 201. In addition to transfer speed and bandwidth related affinity score, in an embodiment, data must not be routed through paths and network infrastructure that must not have access to the data due to privacy constraints.
For example, a video feed of a surveillance camera and the first streaming data 101 generated may contain sensitive material that must be taken into account in the routing.
Thus, efficiency of first streaming data transfer may also comprise rules related to privacy, as a data channel which is not feasible or even possible is clearly not efficient.
Efficiency of first streaming data transfer may also comprise rules related to data privacy.
In an embodiment of the transfer system 1, the transfer system 1 is arranged to calculate the first affinity score 211 of each of the first streaming data channels 201 based on internet autonomous system related routing rules of the first streaming data channel 201. This is advantageous as crossing the borders of the internet autonomous systems in data routing often incurs extra costs for data transfer or slows down the data transfer, or both.
In an embodiment of the transfer system 1, the transfer system 1 is arranged to calculate the first affinity score 211 of each of the first streaming data channels 201 based on any combination of network latency, network jitter, roundtrip time, bandwidth, data access rules, privacy policies or internet autonomous system related routing rules of the first streaming data channel 201.
The first affinity score 211 may be inversely proportional to the network latency, the network jitter, the round-trip time, or any combination thereof.
The first affinity score 211 may be directly proportional to the bandwidth of the first streaming data channel 20.
Turning next to Figure 3, in an embodiment of the transfer system 1, each of the data sources 10a, 10b comprises physical coordinates 216a, 216b of the data source 10a, 10b,
- each of the data input nodes 22 comprises physical coordinates 217a, 217b of the data input node 22, and
- the transfer system 1 is arranged to calculate the first affinity score 211 of each of the first streaming data channels 201 based on first physical distance 215a between the physical coordinates 216a, 216b of each of the data sources 10a, 10b and the physical coordinates 217a, 217b of each of the data input nodes 22.
Said physical coordinates related to each of the first streaming data channels 201 may be for example latitude and longitude coordinates, WGS84 coordinates or ETRS89 coordinates. Derivation of distance between two coordinate points is obvious for a skilled person.
The transfer system 1 may be arranged to calculate the first affinity score 211 of each of the first streaming data channels 201 based on the first physical distance 215a such that the higher (or longer) the distance (possibly indicative of slow data transfer), the lower the first affinity score 211 is (also indicative of "slow” data transfer).
The first affinity score 211 may be inversely proportional to the first physical distance 215a.
In an embodiment of the transfer system 1, the transfer system 1 is arranged to calculate the second affinity score 212 of each of the second streaming data channels 202 based on network latency of the second streaming data channel 202, network jitter of the second streaming data channel 202, or round-trip time of the second streaming data channel 202. These time-based figures of merit are easy to measure with various network technologies.
For the network latency, a low network latency may give a better (e.g. higher) second affinity score 212 than a high network latency.
For the network jitter, a low network jitter may give a better (e.g. higher) second affinity score 212 than a high network jitter.
For the round-trip time, a low round-trip time may give a better (e.g. higher) second affinity score 212 than a high round-trip time.
In an embodiment of the transfer system 1, the transfer system 1 is arranged to calculate the second affinity score 212 of each of the second streaming data channels 202 based on bandwidth of the second streaming data channel 202. Bandwidth BW of the second streaming data channel 202 may be measured, for example, as a ratio of RWIN and RTT such that BW = RWIN/RTT, where RWIN is the TCP Receive Window (size), and RTT is the measured round-trip time for the channel.
For the bandwidth of the second streaming data channel 202, a high bandwidth may give a better (e.g. higher) second affinity score 212 than a low bandwidth.
In an embodiment of the transfer system 1, the transfer system 1 is arranged to calculate the second affinity score 212 of each of the second streaming data channels 202 based on data access rules of the second streaming data channel 202. In addition to transfer speed and bandwidth related affinity score, in an embodiment, data must not be routed through paths and network infrastructure that must not have access to the data. Thus, efficiency of second streaming data transfer may also comprise rules related to data access as a data channel which is not feasible or even possible is clearly not efficient.
In an embodiment of the transfer system 1, the transfer system 1 is arranged to calculate the second affinity score 212 of each of the second streaming data channels 202 based on privacy policies of the second streaming data channel 202. In addition or as an alternative to transfer speed and bandwidth related affinity score, in an embodiment, data must not be routed through paths and network infrastructure that must not have access to the data due to privacy constraints.
For example, a video feed of a surveillance camera may contain sensitive material that must be taken into account in the routing.
Thus, efficiency of second streaming data transfer may also comprise rules related to privacy policies, as a data channel which is not feasible or even possible is clearly not efficient. Efficiency of second streaming data transfer may also comprise rules related to data privacy.
In an embodiment of the transfer system 1, the transfer system 1 is arranged to calculate the second affinity score 212 of each of the second streaming data channels 202 based on internet autonomous system related routing rules of
the second streaming data channel 202. This is advantageous as crossing the borders of the internet autonomous systems in data routing often incurs extra costs for data transfer or slows down the data transfer, or both.
In an embodiment of the transfer system 1, the transfer system 1 is arranged to calculate the second affinity score 212 of each of the second streaming data channels 202 based on any combination of network latency, network jitter, round-trip time, bandwidth, data access rules, privacy policies or internet autonomous system related routing rules of the second streaming data channel 202.
The second affinity score 212 may be inversely proportional to network latency, network jitter, round-trip time or any combination thereof.
Now turning to Figure 4, in an embodiment of the transfer system 1,
- each of the data input nodes 22 comprises physical coordinates 217a, 217b of the data input node 22,
- each of the data reducing nodes 32 comprises physical coordinates 219a, 219b of the data reducing node 32, and
- the transfer system 1 is arranged to calculate the second affinity score
212 of each of the second streaming data channels 202 based on a second physical distance 215b between the physical coordinates 217a, 217b of each of the data input nodes 22 and the physical coordinates 219a, 219b of each of the data reducing nodes 32.
Said physical coordinates related to each of the second streaming data channels 202 may be for example latitude and longitude coordinates, WGS84 coordinates or ETRS89 coordinates. Derivation of distance between two coordinate points is obvious for a skilled person.
The transfer system 1 may be arranged to calculate the second affinity score 212 of each of the second streaming data channels 202 based on the second physical distance 215b such that the higher (or longer) the distance (possibly indicative of slow data transfer), the lower the second affinity score 212 is (also indicative of "slow” data transfer).
The second affinity score 212 may be inversely proportional to the second physical distance 215b.
Turning to Figure 5, in an embodiment of the transfer system 1, the transfer system 1 is configured to determine each of the aggregate affinity scores
213 as a sum of the first affinity score 211 of each of the first streaming data
channels 201, and the second affinity score 212 of each of the second streaming data channels 202.
Still referring to Figure 5, in an embodiment of the transfer system 1, the transfer system 1 is configured to determine each of the aggregate affinity scores 213 as a weighted sum of the first affinity score 211 of each of the first streaming data channels 201 such that the first affinity score 211 is multiplied with a first weight 218a, and the second affinity score 212 of each of the second streaming data channels 202 is multiplied with a second weight 218b.
Use of the first weight 218a and the second weight 218b enables to give different weights to the first streaming data channels 201 and the second streaming data channels 202 when the placement of the data processing is decided.
For example, if it is irrelevant where the data reducing takes place, or each of the physical data input nodes 22 also comprise physical data reducing nodes 32, it may be irrelevant to take into account the second affinity scores 212. In this case, the first weight 218a must be set clearly higher than the second weight 218b.
Referring to Figure 6, in an embodiment of the transfer system 1, each of the data sources 10a, 10b comprises a fixed surveillance camera 11a.
Referring still to Figure 6, in an embodiment of the transfer system 1, each of the data sources 10a, 10b comprises a fixed surveillance camera llap configured to observe a part of an interior Hi of a building.
Referring still to Figure 6, in an embodiment of the transfer system 1, each of the data sources 10a, 10b comprises an environmental sensor lib.
The environmental sensor lib may comprise a temperature sensor, a humidity sensor, a small particle sensor, an ozone sensor, or a nitrogen oxide sensor, or any combination thereof.
Referring still to Figure 6, in an embodiment of the transfer system 1, each of the data sources 10a, 10b comprises an industrial monitoring sensor lid.
The industrial monitoring sensor lid may comprise an accelerometer sensor, a pressure sensor, a torque sensor, a force sensor, a power sensor, a temperature sensor, a vibration sensor or a strain gauge sensor, or any combination thereof.
Referring to Figure 7, in an embodiment of the transfer system 1, the data input node 22 comprises a cellular base station 22a.
Referring still to Figure 7, in an embodiment of the transfer system 1, the data input node 22 comprises a server computer unit 22b.
Referring to Figure 8, in an embodiment of the transfer system 1, the data reducing node 32 comprises a server computer unit 22bg comprising one or more graphics processing units 22g.
Referring to next to Figure 9a, in an embodiment of the transfer system 1, each of the data sources 10a, 10b comprises a fixed surveillance camera llap configured to observe a walkway llw of a built environment. The first streaming data 101 comprises video streaming data generated by each of the fixed surveillance cameras llap. The second streaming data 102 comprises the video streaming data received by the data reducing system 30a, 30b connected to the data source 10a, 10b through the aggregate data channel 205. The data reducing system 30a, 30b is arranged to perform pattern recognition on the second streaming data 102 to generate the reduced data 103 based on the second steaming data 102. The reduced data 103 is indicative of distribution of number of persons detected in the second streaming data 102 in a sequence of time by the pattern recognition. The data output system 40 is arranged to store the reduced data 103 as an output data 104. The output data 104 is indicative of the number of persons moving along the walkway of the built environment. Thus, the output data 104 characterizes the first streaming data 101.
The data transfer system 1 may be configured to store the reduced data 103 temporarily or permanently.
Pattern recognition comprises automatic discovery of regularities in data with computer algorithms and with the use of said regularities to take actions such as classifying the data into different categories, such classifying a shape in the first streaming data or the second streaming data to be a human, a door, a car or a trashcan.
The walkway llw may be for example a street, a corridor in a shopping mall, an alley, a park, a hall, a moving sidewalk, a flight of stairs, or an escalator.
As the output data 104 is indicative of the number of persons moving along the walkway llw and as it is based on the first streaming data 101 that is generated by the fixed surveillance camera llap, the output data 104 characterizes the first streaming data 101.
The data output system 40 may be for example a computer system running an enterprise resource planning software.
The data output system 40 may be for example a web server arranged to publish data over the internet.
Referring next to Figure 9b, in an embodiment, each of the data sources
10a, 10b comprises a factory machine sensor Ilf arranged to a factory machine 11m of a factory to provide factory machine data on operation of the factory machine 11m, the factory machine comprising a control interface llmi arranged to control the operation of the factory machine 11m.
The first streaming data 101 comprises factory machine data generated by the factory machine sensor Ilf.
The second streaming data 102 comprises the factory machine data received by the data reducing system 30a, 30b connected to the data source 10a, 10b through the aggregate data channel 205.
The data reducing system 30a, 30b is arranged to perform analysis on the second streaming data 102 to generate the reduced data 103 based on the second steaming data 102, the reduced data 103 indicative of operating conditions of the factory machine 11m.
The data output system 40 is arranged to control the operation of the factory machine 11m based on the reduced data 103 through a control interface channel 209 connected to the control interface llmi.
The factory machine 11m may be, for example, a section of a paper making machine or a section of a steel mill.
The factory machine 11m may also be a CNC (computer numerical control) production machine, for example a CNC welding machine, a CNC mill, a CNC lathe, a CNC plasma cutter, a CNC electric discharge machine, or a CNC water jet cutter robot.
The factory machine sensor Ilf may be a vibration sensor, an accelerometer, a tachometer sensor, a temperature sensor, or a pressure sensor.
The control interface llmi of the factory machine 11m maybe arranged to command the factory machine 11m with a control command to perform an emergency shutdown, or adjust a parameter of a manufacturing process (for example speed up or slow down the manufacturing process), or both.
The control command may be sent via the control interface channel 209 by the data output system 40 to the control interface llmi.
The data reducing system 30a, 30b may be arranged to maintain average statistical operational parameters like normal and abnormal standard deviations of operational parameters, normal and abnormal ranges for the operational parameters etc.
Also the data output system 40 may be arranged to maintain average statistical operational parameters like normal and abnormal standard deviations
of operational parameters, normal and abnormal ranges for the operational parameters etc.
Examples of abnormal ranges for the operational parameters include an excessive process temperature, an abnormally low RPM (revolutions per minute) reading, an uncharacteristic vibration pattern, or a low water pressure.
The control interface channel 209 may comprise a local area network, a wide area network, a wireless local area network or a cellular network, a computer bus, or any combination thereof.
In an embodiment of the transfer system 1, the data input systems 20a, 20b are arranged to run as containerized applications.
In an embodiment of the transfer system 1, the data reducing systems 30a, 30b are arranged to run as containerized applications.
In an embodiment of the transfer system 1, the data output system 40 is arranged to run as a containerized application.
In an embodiment of the transfer system 1, the operations A) comprising operations Al)-A2), B) comprising operation Bl) and C) comprising operations Cl)-C4) are governed by a containerized application orchestration platform arranged to deploy and manage containerized applications.
In an embodiment of the transfer system 1, the operations A) comprising operations Al)-A2), B) comprising operation Bl) and C) comprising operations Cl)-C4) are governed by a containerized application orchestration platform arranged to deploy and manage containerized applications in the data transfer system 1.
Referring to Figure 10, as another aspect of the current invention, a method 300 for transferring streaming data 101 in a transfer system 1 is disclosed. The method 300 comprises:
- As step 301, providing, to the transfer system 1,
- data sources 10a, 10b configured to generate first streaming data 101,
- data input nodes 22, each configured to host a data input system 20a, 20b, 20c,
- data reducing nodes 32, each configured to host a data reducing system 30a, 30b, 30c,
- a data output system 40,
- first streaming data channels 201 between each of the data sources 10a, 10b and each of the data input nodes 22, each of the first streaming data
channels 201 configured to transfer first streaming data 101 from one data source 10a, 10b, 10c to one data input node 22 through the first streaming data channel 201,
- second streaming data channels 202 between the data input nodes 22 and the data reducing nodes 32, each of the second streaming data channels 202 configured to transfer second streaming data 102 from one data input node 22 to one data reducing node 32 through the second streaming data channel 202,
- reduced data channels 203 configured to transfer reduced data 103 between the data reducing nodes 32 and the data output system 40.
The method 300 comprises, as step 310A, performing, in the transfer system 1, the following steps:
As step 310A1, determining a first affinity score 211 of each of the first streaming data channels 201, the first affinity score 211 being indicative of the efficiency of data transfer in each of the first streaming data channels 201.
As step 310A2, determining a second affinity score 212 of each of the second streaming data channels 202, the second affinity score 212 being indicative of the efficiency of data transfer in each of the second streaming data channels 202.
The method 300 comprises, as step 310B, performing, in the transfer system 1, as step 310B1, for each combination of each of the first streaming data channels 201 and each of the second streaming data channels 202 such that the first streaming data channel 201 and the second streaming data channel 202 are connected to the same data input node 22, determining an aggregate affinity score 213 based on the first affinity score 211 of each of the first streaming data channels 201, and on the second affinity score 212 of each of the second streaming data channels 202.
The method 300 comprises, as step 310C, performing, in the transfer system 1, for each of the data sources 10a, 10b, as step 310C1, selecting an aggregate pair 204 of the first streaming data channels 201 and the second streaming data channels 202 based on the aggregate affinity score 213, as step 310C2, associating the aggregate pair 204 as an aggregate data channel 205 for the data source 10a, 10b, as step 310C3, deploying the data input system 20a, 20b, 20c to the data input node 22 connected to the first streaming data channel 201 of the aggregate pair 204, and
as step 310C4, deploying the data reducing system 30a, 30b, 30c to the data reducing node 32 connected to the second streaming data channel 202 of the aggregate pair 204.
The method 300 comprises also, as step 310D, for each of the data sources 10a, 10b, performing, in the transfer system 1, the steps of: as step 310D1, receiving the first streaming data 101 through the first streaming data channel 201 of the aggregate data channel 205 from the data source 10a, 10b into the data input system 20a, 20b, 20c, as step 310D2, receiving the second streaming data 102 through the second streaming data channel 202 of the aggregate data channel 205 from the data input system 20a, 20b, 20c into the data reducing system 30a, 30b, 30c, as step 310D3, processing the second streaming data 102 in the data reducing system 30a, 30b, 30c into the reduced data 103, as step 310D4, receiving the reduced data 103 into the data output system 40 through the reduced data channel 203, and as step 310D5, storing the reduced data 103 in the data output system 40 as an output data 104. The output data 104 characterizes the first streaming data 101.
The storing, in step 310D5, may be performed to store the reduced data 103 temporarily or permanently.
Meaning and purpose of different concepts related to the method 300 are already described above in the transfer system aspect and its embodiments.
Each of the first streaming data channels 201 may comprise a first affinity score 211, and each of the second streaming data channels 202 may comprise a second affinity score 212.
In an embodiment of the method 300, the method 300 comprises executing the steps of the method 300 in a transfer system 1 according to the transfer system aspect and its embodiments of the invention as defined above in the present text.
The invention has been described above with reference to the examples shown in the figures. However, the invention is in no way restricted to the above examples but may vary within the scope of the claims.
Claims
1. A transfer system (1) for transferring streaming data, characterized in that the transfer system (1) comprises:
- data sources (10a, 10b) configured to generate first streaming data (101),
- data input nodes (22), each configured to host a data input system (20a, 20b, 20c),
- data reducing nodes (32), each configured to host a data reducing system (30a, 30b, 30c),
- a data output system (40),
- first streaming data channels (201) between each of the data sources (10) and each of the data input nodes (22), each of the first streaming data channels (201) configured to transfer first streaming data (101) from one data source (10a, 10b, 10c) to one data input node (22) through the first streaming data channel (201),
- second streaming data channels (202) between each of the data input nodes (22) and each of the data reducing nodes (32), each of the second streaming data channels (202) configured to transfer second streaming data (102) from one data input node (22) to one data reducing node (32) through the second streaming data channel (202),
- reduced data channels (203) configured to transfer reduced data (103) between the data reducing nodes (32) and the data output system (40);
- A) the transfer system (1) configured to:
- Al) determine a first affinity score (211) for each of the first streaming data channels (201), the first affinity score (211) being indicative of the efficiency of data transfer in each of the first streaming data channels (201),
- A2) determine a second affinity score (212) for each of the second streaming data channels (202), the second affinity score (212) being indicative of the efficiency of data transfer in each of the second streaming data channels (202);
- B) the transfer system (1) configured to:
- Bl) for each combination of each of the first streaming data channels (201) and each of the second streaming data channels (202) such that the first streaming data channel (201) and the second streaming data channel (202) are connected to the same data input node (22), determine an aggregate affinity score (213) based on the first affinity score (211) of each of the first streaming data
channels (201), and on the second affinity score (212) of each of the second streaming data channels (202);
- C) the transfer system (1) configured to, for each of the data sources (10a, 10b):
- Cl) select an aggregate pair (204) of the first streaming data channels (201) and the second streaming data channels (202) based on the aggregate affinity score (213),
- C2) associate the aggregate pair (204) as an aggregate data channel (205) for the data source (10a, 10b),
- C3) deploy the data input system (20a, 20b, 20c) to the data input node (22) connected to the first streaming data channel (201) of the aggregate pair (204),
- C4) deploy the data reducing system (30a, 30b, 30c) to the data reducing node (32) connected to the second streaming data channel (202) of the aggregate pair (204);
- D) the transfer system (1) configured to, for each of the data sources (10a, 10b):
- DI) receive the first streaming data (101) through the first streaming data channel (201) of the aggregate data channel (205) from the data source (10a, 10b) into the data input system (20a, 20b, 20c),
- D2) receive the second streaming data (102) through the second streaming data channel (202) of the aggregate data channel (205) from the data input system (20a, 20b, 20c) into the data reducing system (30a, 30b, 30c),
- D3) process the second streaming data (102) in the data reducing system (30a, 30b, 30c) into reduced data (103),
- D4) receive the reduced data (103) into the data output system (40) through the reduced data channel (203),
- D5) store the reduced data (103) in the data output system (40) as an output data (104) characterizing the first streaming data (101).
2. A transfer system (1) according to claim 1, characterized in that the first streaming data channels (201) comprise a local area network, a wide area network, a wireless local area network or a cellular network, a computer bus, or any combination thereof.
3. A transfer system (1) according to any one of claims 1-2,
characterized in that the second streaming data channels (202) comprise a local area network, a wide area network, a computer bus, or a computer memory, or any combination thereof.
4. A transfer system (1) according to any one of claims 1-3, characterized in that the reduced data channels (203) comprise a local area network, a wide area network, a wireless local area network or a mobile phone network, or any combination thereof.
5. A transfer system (1) according to any one of claims 1-4, characterized in that the transfer system (1) is arranged to calculate the first affinity score (211) of each of the first streaming data channels (201) based on:
- network latency of the first streaming data channel (201); or
- network jitter of the first streaming data channel (201); or
- round-trip time of the first streaming data channel (201); or
- bandwidth of the first streaming data channel (201); or
- data access rules of the first streaming data channel (201); or
- privacy policies of the first streaming data channel (201); or
-internet autonomous system related routing rules of the first streaming data channel (201); or any combination of network latency, network jitter, round-trip time, bandwidth, data access rules, privacy policies, or internet autonomous system related routing rules of the first streaming data channel (201).
6. A transfer system (1) according to any one of claims 1-5, characterized in that
- each of the data sources (10a, 10b) comprises physical coordinates (216a, 216b) of the data source (10a, 10b),
- each of the data input nodes (22) comprises physical coordinates (217a, 217b) of the data input node (22), and
- the transfer system (1) is arranged to calculate the first affinity score (211) of each of the first streaming data channels (201) based on a first physical distance (215a) between the physical coordinates (216a, 216b) of each of the data sources (10a, 10b) and the physical coordinates (217a, 217b) of each of the data input nodes (22).
7. A transfer system (1) according to any one of claims 1-6, characterized in that the transfer system (1) is arranged to calculate the second affinity score (212) of each of the second streaming data channels (202) based on:
- network latency of the second streaming data channel (202); or
- network jitter of the second streaming data channel (202); or
- round-trip time of the second streaming data channel (202); or
- bandwidth of the second streaming data channel (202); or
- data access rules of the second streaming data channel (202); or
- privacy policies of the second streaming data channel (202); or
- internet autonomous system related routing rules of the second streaming data channel (202); or
- any combination of network latency, network jitter, round-trip time, bandwidth, data access rules, privacy policies or internet autonomous system related routing rules of the second streaming data channel (202).
8. A transfer system (1) according to any one of claims 1-7, characterized in that
- each of the data input nodes (22) comprises physical coordinates (217a, 217b) of the data input node (22),
- each of the data reducing nodes (32) comprises physical coordinates (219a, 219b) of the data reducing node (32), and
- the transfer system (1) is arranged to calculate the second affinity score (212) of each of the second streaming data channels (202) based on a second physical distance (215b) between the physical coordinates (217a, 217b) of each of the data input nodes (22) and the physical coordinates (219a, 219b) of each of the data reducing nodes (32).
9. A transfer system (1) according to any one of claims 1-8, characterized in that the transfer system (1) is configured to determine each of the aggregate affinity scores (213) as:
- a sum of the first affinity score (211) of each of the first streaming data channels (201), and the second affinity score (212) of each of the second streaming data channels (202); or
- a weighted sum of the first affinity score (211) of each of the first streaming data channels (201) such that the first affinity score (211) is multiplied
with a first weight (218a), and the second affinity score (212) of each of the second streaming data channels (202) is multiplied with a second weight (218b).
10. A transfer system (1) according to any one of claims 1 - 9, characterized in that each of the data sources (10a, 10b) comprises:
- a fixed surveillance camera (11a); or
- a fixed surveillance camera (llap) configured to observe a part of an interior of a building; or
- an environmental sensor (lib); or
- a industrial monitoring sensor (lid).
11. A transfer system (1) according to any one of claims 1 - 10, characterized in that the data input node (22) comprises:
- a cellular base station (22a); or
- a server computer unit (22b).
12. A transfer system (1) according to any one of claims 1 - 11, characterized in that the data reducing node (32) comprises a server computer unit (22bg) comprising one or more graphics processing units (22g).
13. A transfer system (1) according to any one of claims 1 - 12, characterized in that:
- each of the data sources (10a, 10b) comprises a fixed surveillance camera (llap) configured to observe a walkway of a built environment,
- the first streaming data (101) comprises video streaming data generated by each of the fixed surveillance cameras (llap),
- the second streaming data (102) comprises the video streaming data received by the data reducing system (30a, 30b) connected to the data source (10a, 10b) through the aggregate data channel (205), the data reducing system (30a, 30b) arranged to perform pattern recognition on the second streaming data (102) to generate the reduced data (103) based on the second steaming data (102), the reduced data (103) indicative of distribution of number of persons detected in the second streaming data (102) in a sequence of time by the pattern recognition,
- the data output system (40) is arranged to store the reduced data (103) as an output data (104), the output data (104) indicative of the number of persons moving along the walkway of the built environment, the output data (104)
characterizing the first streaming data (101); or
- each of the data sources (10a, 10b) comprises a factory machine sensor (Ilf) arranged to a factory machine (11m) of a factory to provide factory machine data on operation of the factory machine (11m), the factory machine comprising a control interface (llmi) arranged to control the operation of the factory machine (11m),
- the first streaming data (101) comprises factory machine data generated by the factory machine sensor (Ilf),
- the second streaming data (102) comprises the factory machine data received by the data reducing system (30a, 30b) connected to the data source (10a, 10b) through the aggregate data channel (205),
- the data reducing system (30a, 30b) is arranged to perform analysis on the second streaming data (102) to generate the reduced data (103) based on the second steaming data (102), the reduced data (103) indicative of operating conditions of the factory machine (11m),
- the data output system (40) is arranged to control the operation of the factory machine (11m) based on the reduced data (103) through a control interface channel (i) connected to the control interface (llmi).
14. A transfer system (1) according to any one of claims 1 - 13, characterized in that the data input systems (20a, 20b) are arranged to run as containerized applications.
15. A transfer system (1) according to any one of claims 1 - 14, characterized in that the data reducing systems (30a, 30b) are arranged to run as containerized applications.
16. A transfer system (1) according to any one of claims 1 - 15, characterized in that the data output system (40) is arranged to run as a containerized application.
17. A transfer system (1) according to any one of claims 1 - 16, characterized in that operations A), B) and C) are governed by a containerized application orchestration platform arranged to deploy and manage containerized applications.
18. A method (300) for transferring streaming data in a transfer system (1), characterized in that the method (300) comprises
- (301) providing, to the transfer system (1):
- data sources (10a, 10b) configured to generate first streaming data (101),
- data input nodes (22), each configured to host a data input system (20a, 20b, 20c),
- data reducing nodes (32), each configured to host a data reducing system (30a, 30b, 30c),
- a data output system (40),
- first streaming data channels (201) between each of the data sources (10) and each of the data input nodes (22), each of the first streaming data channels (201) configured to transfer first streaming data (101) from one data source (10a, 10b, 10c) to one data input node (22) through the first streaming data channel (201),
- second streaming data channels (202) between the data input nodes (22) and the data reducing nodes (32), each of the second streaming data channels (202) configured to transfer second streaming data (102) from one data input node (22) to one data reducing node (32) through the second streaming data channel (202), and
- reduced data channels (203) configured to transfer reduced data (103) between the data reducing nodes (32) and the data output system (40);
(310A) performing, in the transfer system (1), the steps of:
(310A1) determining a first affinity score (211) of each of the first streaming data channels (201), the first affinity score (211) being indicative of the efficiency of data transfer in each of the first streaming data channels (201),
(310A2) determining a second affinity score (212) ofeach ofthe second streaming data channels (202), the second affinity score (212) being indicative of the efficiency of data transfer in each of the second streaming data channels (202);
(310B) performing, in the transfer system, (1) the step of:
(310B1) for each combination of each of the first streaming data channels (201) and each of the second streaming data channels (202) such that the first streaming data channel (201) and the second streaming data channel (202) are connected to the same data input node (22), determining an aggregate affinity score (213) based on the first affinity score (211) of each of the first streaming data
channels (201), and on the second affinity score (212) of each of the second streaming data channels (202);
(310C) for each of the data sources (10a, 10b), performing, in the transfer system (1), the steps of:
- (310C1) selecting an aggregate pair (204) of the first streaming data channels (201) and the second streaming data channels (202) based on the aggregate affinity score (213),
- (310C2) associating the aggregate pair (204) as an aggregate data channel (205) for the data source (10a, 10b),
- (310C3) deploying the data input system (20a, 20b, 20c) to the data input node (22) connected to the first streaming data channel (201) of the aggregate pair (204),
- (310C4) deploying the data reducing system (30a, 30b, 30c) to the data reducing node (32) connected to the second streaming data channel (202) of the aggregate pair (204);
(310D) for each of the data sources (10a, 10b), performing, in the transfer system (1), the steps of:
- (310D1) receiving the first streaming data (101) through the first streaming data channel (201) of the aggregate data channel (205) from the data source (10a, 10b) into the data input system (20a, 20b, 20c),
- (310D2) receiving the second streaming data (102) through the second streaming data channel (202) of the aggregate data channel (205) from the data input system (20a, 20b, 20c) into the data reducing system (30a, 30b, 30c),
- (310D3) processing the second streaming data (102) in the data reducing system (30a, 30b, 30c) into the reduced data (103),
- (310D4) receiving the reduced data (103) into the data output system (40) through the reduced data channel (203),
- (310D5) storing the reduced data (103) in the data output system (40) as an output data (104) characterizing the first streaming data (101).
19. A method (300) according to claim 18, characterized in that the method (300) comprises executing the steps of the method (300) in a transfer system (1) according to any one of claims 1-17.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI20215896A FI20215896A1 (en) | 2021-08-25 | 2021-08-25 | Transfer system for transferring streaming data, and method for transferring streaming data |
PCT/FI2022/050543 WO2023025987A1 (en) | 2021-08-25 | 2022-08-24 | Transfer system for transferring streaming data, and method for transferring streaming data |
Publications (1)
Publication Number | Publication Date |
---|---|
EP4393138A1 true EP4393138A1 (en) | 2024-07-03 |
Family
ID=85284948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP22860689.3A Pending EP4393138A1 (en) | 2021-08-25 | 2022-08-24 | Transfer system for transferring streaming data, and method for transferring streaming data |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4393138A1 (en) |
FI (1) | FI20215896A1 (en) |
WO (1) | WO2023025987A1 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11044162B2 (en) * | 2016-12-06 | 2021-06-22 | Cisco Technology, Inc. | Orchestration of cloud and fog interactions |
US20200186454A1 (en) * | 2018-12-09 | 2020-06-11 | Spot AI, Inc. | System and method for distributed image processing |
EP3932024A4 (en) * | 2019-02-27 | 2022-07-06 | Singapore Telecommunications Limited | System for optimising data communication |
-
2021
- 2021-08-25 FI FI20215896A patent/FI20215896A1/en unknown
-
2022
- 2022-08-24 EP EP22860689.3A patent/EP4393138A1/en active Pending
- 2022-08-24 WO PCT/FI2022/050543 patent/WO2023025987A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
FI20215896A1 (en) | 2023-02-26 |
WO2023025987A1 (en) | 2023-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bittencourt et al. | The internet of things, fog and cloud continuum: Integration and challenges | |
JP2021057882A (en) | Adaptive dataflow transformation in edge computing environments | |
CN101902395B (en) | System and method for managing resources on a host | |
EP3695565B1 (en) | System and method for replication container performance and policy validation using real time network traffic | |
TWI570545B (en) | Server systems and computer-implemented methods and non-transitory computer readable storage mediums thereof | |
CN112631725A (en) | Cloud-edge-cooperation-based smart city management system and method | |
US20210117418A1 (en) | Time-aware general-purpose input output for industrial control systems | |
US20220014422A1 (en) | Cross-layer automated fault tracking and anomaly detection | |
Alfonso et al. | Self-adaptive architectures in IoT systems: a systematic literature review | |
EP4020424A1 (en) | Edge automatic and adaptive processing activations | |
WO2022133875A1 (en) | Protocol state aware power management | |
US20230236909A1 (en) | Service mesh architecture for integration with accelerator systems | |
da Silva Barbosa et al. | A platform for cloudification of network and applications in the Internet of Vehicles | |
US20220224762A1 (en) | Queuing control for distributed compute network orchestration | |
Ahmed et al. | Container based resource management for data processing on iot gateways | |
US20240039860A1 (en) | Methods, systems, apparatus, and articles of manufacture to manage network communications in time sensitive networks | |
EP4393138A1 (en) | Transfer system for transferring streaming data, and method for transferring streaming data | |
CN117793016A (en) | Datagram transmission method and device, electronic equipment and storage medium | |
Ksentini et al. | Fog-enabled industrial IoT network slicing model based on ML-enabled multi-objective optimization | |
Frincu | Architecting a hybrid cross layer dew-fog-cloud stack for future data-driven cyber-physical systems | |
Bellavista et al. | How Fog Computing Can Support Latency/Reliability‐sensitive IoT Applications: An Overview and a Taxonomy of State‐of‐the‐art Solutions | |
Furusawa et al. | Service mesh controller for cooperative load balancing among neighboring edge servers | |
WO2023025988A1 (en) | Transfer system for transferring streaming data, and method for transferring streaming data | |
Kumar et al. | Study and analysis of various load balancing techniques for software-defined network (a systematic survey) | |
Cello et al. | Smart transportation systems (STSs) in critical conditions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20240322 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |