Embodiments of the present invention generally relate to obtaining information concerning the state and operation of a physical environment. More particularly, at least some embodiments of the invention relate to systems, hardware, software, computer-readable media, and methods for a central node to efficiently determine which grouping of edge nodes in a physical environment will maximize the knowledge, by the central node, of the state of the physical environment, given a particular set of tasks that are executing in that physical environment.
One edge space that has attracted interest is smart services for mobile edge units, for instance, in the logistic or retail space, where there may be multiple agents under orchestration to perform a variety of tasks. One such environment might include a central near-edge processing node that orchestrates a set of tasks and actions to be performed in the environment and a large fleet of agents as far-edge mobile units. These units have sensing capabilities that are communicated via shared channels to the near-edge node which integrates them in the form of a global map to monitor and orchestrate tasks in the environment. Static sensors may be employed in the environment, such as security cameras for example. While such physical environments may be beneficial in some respects, various problems remain.
For example, it may be difficult to keep the representation of the global map in the near-edge node, relevant for the tasks under execution, as accurate and synchronized as possible with respect to the actual environment. Another problem relates to the number of far-edge nodes. In particular, problems may arise when the number of far-edge nodes is large enough to exceed the communication bandwidth of the shared channels, and/or the number of far-edge nodes is large enough to overtax the processing resources, such as memory and computation for example, available in the near-edge node.
In order to describe the manner in which at least some of the advantages and features of the invention may be obtained, a more particular description of embodiments of the invention will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, embodiments of the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings.
Embodiments of the present invention generally relate to obtaining information concerning the state and operation of a physical environment. More particularly, at least some embodiments of the invention relate to systems, hardware, software, computer-readable media, and methods for a central node to efficiently determine which grouping of edge nodes in a physical environment will maximize the knowledge, by the central node, of the state of the physical environment, given a particular set of tasks that are executing in that physical environment.
In general, one example embodiment of the invention may comprise a method that determines the best set of information, arising from a group of sensors in an environment such as a physical environment, at each time step in a group of time steps. These sensors may be selected by a central near-edge node to maximize, for the central near-edge node, the joint knowledge of the environment, considering a given set of tasks executing in the environment. In this way, an embodiment may avoid collecting information from the environment that is unnecessary because that information is already known, provided by another sensor, or is not relevant or impactful for the set of tasks that is executing.
A method according to one embodiment may comprise sampling a group of nodes, such as far-edge nodes, that are grouped into cluster structures and based on information obtained from the sampled nodes, updating an information map, which may be a global map of an environment, so as to maximize the total area of coverage of the information sampled from the far-edge nodes. The global map may be used to monitor and orchestrate tasks in the environment, and the updating may accordingly include updating the most outdated states in the environment that are relevant to perform a given set of tasks executing, or to be executed, in the environment. As well, the method may include updating an attention mechanism which operates to control retrieval of information from those regions of the environment expected to produce the most relevant information. When the various regions have been identified, the best sensors in those regions from which to obtain information, such as measurements, may be selected. When processing the measurements, the near-edge, or central, node may also update the environment state to orchestrate the tasks and actions in the environment.
Embodiments of the invention, such as the examples disclosed herein, may be beneficial in a variety of respects. For example, and as will be apparent from the present disclosure, one or more embodiments of the invention may provide one or more advantageous and unexpected effects, in any combination, some examples of which are set forth below. It should be noted that such effects are neither intended, nor should be construed, to limit the scope of the claimed invention in anyway. It should further be noted that nothing herein should be construed as constituting an essential or indispensable element of any invention or embodiment. Rather, various aspects of the disclosed embodiments may be combined in a variety of ways so as to define yet further embodiments. For example, any element(s) of any embodiment may be combined with any element(s) of any other embodiment, to define still further embodiments. Such further embodiments are considered as being within the scope of this disclosure. As well, none of the embodiments embraced within the scope of this disclosure should be construed as resolving, or being limited to the resolution of, any particular problem(s). Nor should any such embodiments be construed to implement, or be limited to implementation of, any particular technical effect(s) or solution(s). Finally, it is not required that any embodiment implement any of the advantageous and unexpected effects disclosed herein.
In particular, one advantageous aspect of an embodiment of the invention is that the collection of extraneous or irrelevant information concerning the state of an environment may be avoided. In an embodiment, an amount of information relevant to the state of an environment may be maximized. Various other advantages of one or more example embodiments of the invention will be apparent from this disclosure.
A. Context for an Example Embodiment
One example embodiment comprises an efficient method for identifying the best far-edge nodes from which to obtain information while also mitigating the communication and processing strains, attendant to such information acquisition, in the system. An example embodiment may employ an information-based framework to select mobile edge units that best improve the joint knowledge of the environment state that is relevant for the tasks performed in that environment. This knowledge may be used, for example, to improve the operational efficiency and security in the environment.
In the context of an example embodiment of the invention, ‘information gain’ generally embraces a measure of the expectation that a specific content in the global map of an environment is in sync with the actual state of the environment. The maximization of the information gain may enable striking of a balance between two aspects relevant to the execution of the tasks in the environment, namely, the aspects of updating the most outdated states in the environment that are relevant to perform the tasks, and maximizing the total area of coverage of the information sampled from the far-edge nodes. In this way, an embodiment of the invention may avoid sampling of frivolous information, examples of which include: information from nearby far-edge nodes, that is, far-edge nodes located close to a central node; information from nodes at positions already updated in the recent past; and/or, information from nodes whose information is irrelevant to the tasks being, or to be, executed in the environment. In order to enable close-to-real-time execution, an embodiment of the invention may perform simplifications in the algorithm based on heuristics that apply to several application scenarios.
With further attention to “information gain”, as used herein, information gain may be thought of as an improvement, or increase, in the knowledge concerning the state of an environment. By way of illustration, suppose that an environment is in a state1, where state1 indicates what is believed to be known about the environment. Later, updated information is obtained that provides a more accurate picture, state2, of the environment. The change, or delta, between the information about state1 and state2 may be referred to as the ‘information gain’ concerning the environment. One embodiment of the invention may thus operate to maximize an information gain relating to an environment. Further discussion of information gain is provided elsewhere herein.
In more detail, an example embodiment of the invention may comprise one or more useful aspects. For example, an embodiment may comprise a real-time algorithm that exploits the structure of the sensors in the environment to maximize the information gain for a set of given tasks performed in the environment and maintains the structure of the sensors up-to-date by requiring only evaluation of potential perturbation, mitigating the computational impacts for real-time operation. Together, these two aspects allow an up-to-date state of the environment to be kept in a central (near-edge) node with less computational requirements.
For the purposes of facilitating the discussion, but not so as to limit the scope of the invention in any way, it may be assumed that there is a large fleet of sensor-equipped mobile far-edge units that share communication channels therefore resulting in communication and processing strains in the system. Several static sensors may be additionally employed further enhancing the computational strains in the system. It might further be assumed that these sensors may have the benefit of individual wired communication channels, but the scope of the invention extends more generally to embrace a general framework that also addresses the cases where the sensors or other devices share communication channels with the mobile far-edge units.
B.1 Example Operating Environment
One example configuration of an environment 100, in connection with which an embodiment of the invention may be employed, is disclosed in
With the example environment 100 in view, one example embodiment may operate to determine the best set of information that can be obtained from a set of sensors [m*] at each time step [t] to be selected by a central near-edge node to maximize its joint knowledge [K(t)] of the environment 100, considering the set of tasks [T] in execution in the environment 100. Put another way, an embodiment of the invention may avoid the collection of unneeded extraneous information from the environment either because [1] that information is already known, [2] the information may be obtained from another sensor, and/or [3] the information is not materially related to, or needed for, the tasks in execution in the environment 100.
B.2 Example Execution Pipeline
An example execution pipeline 200, comprising operations implemented at each time step [t], is disclosed in
It may be implicit in this approach however that the computational burden to perform the computations to select the optimal information [m*] with a method according to one embodiment must be lower than actually retrieving more, but not optimal, information [{circumflex over (m)}] by taking advantage of the extra computation budget available when employing a less expensive selection method, such as random selection or round robin for example. Under conditions of some typical edge applications, where the environment 100 size and number of devices is large enough to frequently create structures with concentration of available sensors 102/106 in given neighborhood and high dynamic behavior, then selecting [m*] instead of [In] may yield superior results, as noted earlier herein.
As noted above, an embodiment of the invention may place emphasis on the operations, possibly performed by a central node, 202, 204, and 206 disclosed in
When processing the measurements, a near-edge node, which may also be referred to herein as a ‘central node’ that communicates with far-edge systems/devices and associated sensors, may also update the environment 100 state to orchestrate the performance of tasks and actions in the environment 100.
B.3 Terms
B.3.1 Edge Environment
Following is a discussion of some concepts and terms that are used in connection with the description of the structure and operation of an edge domain, such as the environment 100 for example. Note that while reference is made to a logistics domain, such as a warehouse for example, such reference is for the purposes of illustration, and is not intended to limit the scope of the invention in anyway.
An embodiment of the invention may refer to the set of all resources as ={ri|i∈
+, i≤r} with [r] being the total number of finite resources.
In an embodiment, various types of information may be retrieved from various sources. Regarding information retrieval, one example embodiment may involve the following concepts:
The following discussion concerns aspects of a base framework such as may be employed in an embodiment of the invention:
“Information Gain” G(p, mi, t; A): ×
×
+→
+,0 is a templated function determining the expected information gain at each position p for a given message mi—one example of a template for a circumstance in which the sensor uncertainty grows quadratically with distance is provided in Hubel (equation (4))—other templates may be modelled and parametrized appropriately considering the sensor particularities of each application.
“Information State Update” (below)
δ/δtI(p,t;A,τ,α):×
+→
is computed at δt each time step.
It has an additive form δ/δt I=G-D, where the components are:
“Total Information Gain” G(p, t; A)=Σmi∈m*(t) G(p, mi, t; A) provides the maximum possible gain for the selected messages m*(t) at time step [t]—note that the possible message choices grow through a combinatorial problem, namely, m*∈ powerset(t), where
t∈
are the possible message choices at time step [t]. In an unconstrained environment, the best choice is Mt whenever the template image is
+.
“Information Decay” D(p, t; m*({1, . . . , t−1}), A, τ, α) defines the decaying behavior—it can be defined as a piece-wise function—an embodiment of the invention may allow its parametrization to be a function of:
Potential modeling choices for each compound function are:
“Information State Map” S(p, t; A): ×
+→
provides a value proportional to the confidence level of each environment state E(p, t). While several forms may be employed, the following modeling approach is provided as an example:
S(p,t;A)=h(I(p,t;A))
This example function [h] is a (saturating) non-linear function to model the desired behavior of maximizing the area of coverage and to avoid the information decaying indefinitely. Depending on the optimization approach employed, the saturation can be soft or hard. For example, if neural optimization is used, [h] may take the form of a sigmoid with some parametrization, for example, tanh(I(p, t; A)−5)+1) function, or a clipping function such as max(I(p, t; A), Imax))) if integer programming is employed. The function I(p, t; A) is the so far accumulated information, and may be initialized at t=0 with all values mapping to zero or any other boundary condition if there is a hot start mechanism.
“Mission-Oriented Attention-Mechanism” φ(p, t; τ, α): ×
+→[0,1] enables control of the regions in which retrieving information is most relevant. It is noted that the parametrization based on both the tasks and actions enables the attention mechanism to optimize information retrieval considering the current action but also for possible sets of next actions, therefore balancing local, and global, decisions. It also typically takes a compound form with the number of functions ƒi employed proportional to the tasks and actions and their complexity. A typical approach is
φ(p,t;τ,α)=maxifi(p,t; . . . ).
Possible choices for ƒi could be, for example:
“Mission-Aware Joint Knowledge” K(t): +→
provides a value summarizing the total precision of the information contained in the regions that may be important for the edge application to perform the current tasks and actions, which may collectively be referred to herein as a “mission.” To focus on information that is relevant to the mission, an embodiment may consider a form composed by a convolution of the time-variant attention-based mechanism ϕ with the information state map S as in K(t; A, τ, α)=Σp S(p, t; A)ϕ(p, t; τ, α). It is noted that the multiplicative approach convoluting ϕ and S in such way enables ϕ to arbitrarily change while still conserving the state of previous information in S. Therefore, the edge application can appropriately select the best messages to retrieve information whenever it updates ϕ to new configurations. In other words, ϕ can be a rough approximation of the actual regions of importance and change in arbitrary ways, such as fast movement in the environment, and the optimization procedure described elsewhere herein is still able to perform well.
“Message Content Overlap” O(mi, mj): ×
→
+, 0 determines how much retrieving a message impact on the net information state gain of another message, that is O(mi, mj, t; A, τ, α)=Σp h (G(p, mi, t; A)−G(p, mj, t; A)+I(p, t))ϕ(p(p, t; τ, α). Simplifications may be applied by using approximations to the immediately preceding expression. For example, an embodiment may limit computations to
mi regions where G(p, mi, t; A) is large, that is,
mi={p|G(p, mi, t; A)>ε} where ε is an arbitrary value. The
mi regions may be referred to as core gain regions. Provided core regions
mi and
mj, then it is possible to return 0 and avoid above computations if either:
mi and
mj lies on regions where ϕ(p, t; τ, α) is sufficiently small; or
mi does not overlap with
mj.
C.1 Example Embodiment of an Algorithm
With reference again to the example of
Step 1.
Step 2. Update Mission-Oriented Attention-Mechanism ϕ(p, t; τ, α). Note that the tasks [T] and actions [α] at the current time step are computed by the near-edge node considering the environment state E(p, t) based on information obtained in the previous time-step selected messages m*(t−1).
Step 3. Determine the next best messages m* to be used from the possible messages in the current time step Mt by performing the maximization of the estimated mission-aware joint knowledge {circumflex over ( )}Kin the next time step constrained by the available resource budget as in:
subject to:
C.2 Example Algorithm for Solving Step 3
The maximization described in the aforementioned “Step 3” is a combinatorial problem over a power set of all messages available at time step t. In an embodiment, some problem-specific heuristics can be useful to reduce the computational complexity of the solution space and, consequently, the resources required to select the optimal messages m* at a given time step [t].
This part of the discussion concerns some simplifications that may be applied in the problem to enable an embodiment to be more efficiently executed online and, therefore, enabling the embodiment to perform better than naïve approaches like round-robin and random selection. This approach considers that solely messages nearby the previously selected message are affected, therefore avoiding recomputing {circumflex over ( )}K for every remaining message whenever there is a greedy selection of a message. An embodiment of an algorithm for solving step 3 may proceed in the following way:
The greedy selection algorithm discussed above for solving the aforementioned “Step 3” generally works well. It is noted, however, that step 3.ii of the greedy selection algorithm requires using the approximations discussed in paragraph [0037] under “Message Content Overlap”. This approach can in some embodiments result in the following problems whenever ϕ is not negligible at a sufficiently large area of the environment, which is the case, for example, when security is a concern and therefore knowledge of the environment state must be as up-to-date as possible, but also when the number of tasks are large:
1. For each selected message mi, it is required to compute the overlap between m
m
t is large.
2. It is possible to alleviate the above problem by considering surrogate functions, e.g. by leveraging a distance matrix. However, these functions may ignore relevant properties of the environment. For example, occlusions are ignored whenever using a distance matrix. Since occlusions are common in the use cases of this inventions, a better approach to capture the environment structure is required.
3. Even when the surrogate function is a reasonable update at the first-order relationship, it cannot capture how the sampling impact scales when the number of samples is large. In such cases, it is required to ensure that the approximation is good enough and this requires a more efficient approach.
E. Aspects of an Algorithm for Leveraging Edge Environment Structures
The embodiments disclosed herein provide an algorithm for solving the aforementioned “Step 3” that deals with the problems stated above by noting that a typical edge environment possesses the following properties:
1. Environment size and number of devices are large enough to frequently create structures with concentration of available sensors in a given neighborhood; and
2. The environment is highly dynamic, so it is not possible to capture a static representation of the typical structure of the environment and exploit it to our advantage. Despite the dynamicity of the environment, it is possible to assume that the time step update frequency is sufficiently small in such a way that the environment structure in a next time step still roughly resembles the previous one.
Based on these properties, it is possible to create cluster structures representing groups of sensors where the choice of sampling a message within the group affects the contribution of other messages. Therefore, embodiment keeps track of the concentration structure of sensors in the edge environment to allow only recomputing the impact in other messages that are mostly affected when a message is considered to be sampled, i.e., only those nearby sensors. In other words, it avoids dedicating computational resources to recompute negligible changes. Due to Property 2, it is updated at each time step to keep track of the current structure, which makes this algorithm computationally cheap.
For example,
For instance, a cluster 310 includes sensors 311-317 that are logically connected to each other due to their relatively close proximity in the edge environment 300, a cluster 320 includes sensors 321-325 that are logically connected to each other due to their relatively close proximity in the edge environment 300, and a cluster 330 includes sensors 331 and 332 that are logically connected to each other due to their relatively close proximity in the edge environment 300. In one embodiment, the cluster 310 may include a combination of mobile and static sensors at first location in a warehouse, cluster 320 may include a combination of mobile and static sensors at a second location in a warehouse, and the cluster 330 may include a combination of mobile and static sensors at a third location in a warehouse. This is why the sensors in relatively close proximity are logically connected to each other.
There may be times, however, when it is important to focus the sampling on a specific region of the edge environment. For example, if there is a need to focus on the area of the edge environment occupied by the cluster 310, then it may make sense to sample sensors 311, 312, and 314 of cluster 310. In such a case, the algorithm for leveraging edge environment structures allows for focusing as needed. This focusing is based on the tasks that the sensors are running in the environment. Thus, a task being performed by the sensors in the area of one cluster would lead to inter-cluster sampling the sensors of that cluster and a task being performed by sensors in more than one cluster would lead to intra-cluster sampling. Again, it would be based on tradeoff between the gain of information and the cost to obtain the information.
Further, there is a high computational cost to make the logical connections between the sensors in the cluster structures. Thus, the algorithm for leveraging edge environment structures spends a large amount of computational resources in the initial time period such as that shown in
The algorithm for leveraging edge environment structures as described in
Stage 0. Capture Initial Structure (time=0,
This method relies on computationally intensive algorithms but only needs to be executed during initialization.
Stage 1. Keep Track of the Current Cluster Structures (time=1,
This stage takes advantage of Properties 1 and 2 to avoid computing the full structure at each time step. Therefore, it evaluates only potential perturbations on most sensitive nodes.
[Updating Intra-Cluster Information]
Stage 2. Message Sampling (time=1,
This stage takes advantage of the concentration structure to break down the sampling problem into simpler ones.
The algorithm for leveraging edge environment structures has the following aspects:
With attention now to
In particular, it is shown how, in one embodiment, a framework may be employed based on the scenario depicted in
It is noted with respect to the disclosed methods, including the example method of
Directing attention now to
The example method 500 may begin with the sampling 502 of information from one or more edge nodes of an environment, such as a far-edge physical environment. The edge nodes are grouped into cluster structures. The environment may comprise a domain, such as a logistics warehouse for example. In an embodiment, the information may comprise one or more messages sent to/from the sampled nodes. A message may comprise, for example, information generated and/or gathered by a sensor.
The information obtained at 502 may then be used for various operations. For example, the information may be used to update 504 a map of the environment. The map may indicate a state of the environment at a particular time [t]. The state may identify, for example, what tasks are being performed in the environment, and which entities, such as far-edge devices, are performing those tasks. The state may also indicate processing, and/or other, capabilities of the devices in the environment, and an extent to which those capabilities are being utilized.
The information obtained at 502 may also be used to update 506 a retrieval cost, that is an estimated cost associated with retrieving and parsing information of a given message. A retrieval cost may be expressed in terms of the resources, such as bandwidth, computing, or storage, that would be expected to be consumed when retrieving and parsing a message. In an embodiment, the retrieval cost may be updated 506 based at least in part on the updates 504 that were made to the map.
The updated 504 map and the updated 506 retrieval cost information may then be used to update 508 an attention mechanism that operates to control retrieval of information from the region(s) of the environment that are expected to produce the most relevant information as to the state of the environment. Note that a balance may be struck between, on the one hand, updating the most outdated state(s) in the environment that are relevant to a group of tasks to be performed, or being performed, and, on the other hand, maximizing the total area of coverage of the information sampled from the nodes. Further, information retrieval may require use of far-edge resources, such as memory and bandwidth for example, that could otherwise be used for task execution by the far-edge devices, and as such, and noted earlier, the cost, in terms of resource consumption, of information retrieval may factor into decisions as to what information to retrieve, when, and from what source(s).
After the attention mechanism has been updated 508, the attention mechanism may then identify and select 510 the optimal message(s) for retrieval. Because the identified 510 messages indicate the state of the environment, the messages may be used as a basis for orchestration 512 of the placement and execution of tasks within the environment.
Following are some further example embodiments of the invention. These are presented only by way of example and are not intended to limit the scope of the invention in any way.
Embodiment 1. A method, comprising: performing, in a global environment that includes a central node and edge nodes that are able to communicate with each other, by the central node, operations comprising: sampling optimal information from the edge nodes concerning a state of the global environment, the edge nodes being grouped into a plurality of cluster structures; based on the optimal information, updating a global map of the global environment; based on the optimal information, updating an information retrieval cost; using the state of the global environment to orchestrate placement and execution of one or more tasks and actions in the global environment; using the updated global map, information retrieval cost, tasks and actions to update an attention mechanism operable to control retrieval of next optimal information; selecting next optimal information for retrieval.
Embodiment 2. The method as recited in any preceding embodiment, wherein the optimal information comprises one or more messages generated by two or more edge nodes included in a same cluster structure in the global environment from which the optimal information was retrieved.
Embodiment 3. The method as recited in any preceding embodiment, wherein the two or more edge nodes included in the same cluster structure are performing the same one or more tasks and actions in the global environment.
Embodiment 4. The method as recited in any preceding embodiment, wherein the optimal information comprises one or more messages generated by two or more edge nodes included in different cluster structures in the global environment from which the optimal information was retrieved.
Embodiment 5. The method as recited in any preceding embodiment, wherein the two or more edge nodes included in the different cluster structures are performing the same one or more tasks and actions in the global environment.
Embodiment 6. The method as recited in any preceding embodiment, wherein the plurality of cluster structures include two or more edge nodes that are located in close proximity to each other in the global environment.
Embodiment 7. The method as recited in any preceding embodiment, further comprising: generating the plurality of cluster structures during an initial time period; and tracking only changes made to one or more of the plurality of cluster structures during one or more subsequent time periods.
Embodiment 8. The method as recited in any preceding embodiment, wherein the changes made to one or more of the plurality of cluster structures comprise one or more of: merging two cluster structures to generate a new cluster structure; moving one cluster from a first location in the global environment to a second location in the global environment; or having one or more edge nodes move from a first cluster structure to a second cluster structure.
Embodiment 9. The method as recited in any preceding embodiment, wherein the edge nodes comprise respective agents operable to interact with the global environment.
Embodiment 10. The method as recited in any preceding embodiment, wherein the edge nodes comprise a combination of static sensors and mobile sensors.
Embodiment 11. A system, comprising hardware and/or software, operable to perform any of the operations, methods, or processes, or any portion of any of these, disclosed herein.
Embodiment 12. A non-transitory storage medium having stored therein instructions that are executable by one or more hardware processors to perform operations comprising the operations of any one or more of embodiments 1-10.
I. Example Computing Devices and Associated Media
The embodiments disclosed herein may include the use of a special purpose or general-purpose computer including various computer hardware or software modules, as discussed in greater detail below. A computer may include a processor and computer storage media carrying instructions that, when executed by the processor and/or caused to be executed by the processor, perform anyone or more of the methods disclosed herein, or any part(s) of any method disclosed. As indicated above, embodiments within the scope of the present invention also include computer storage media, which are physical media for carrying or having computer-executable instructions or data structures stored thereon. Such computer storage media may be any available physical media that may be accessed by a general purpose or special purpose computer.
By way of example, and not limitation, such computer storage media may comprise hardware storage such as solid state disk/device (SSD), RAM, ROM, EEPROM, CD-ROM, flash memory, phase-change memory (“PCM”), or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other hardware storage devices which may be used to store program code in the form of computer-executable instructions or data structures, which may be accessed and executed by a general-purpose or special-purpose computer system to implement the disclosed functionality of the invention. Combinations of the above should also be included within the scope of computer storage media. Such media are also examples of non-transitory storage media, and non-transitory storage media also embraces cloud-based storage systems and structures, although the scope of the invention is not limited to these examples of non-transitory storage media.
Computer-executable instructions comprise, for example, instructions and data which, when executed, cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. As such, some embodiments of the invention may be downloadable to one or more systems or devices, for example, from a website, mesh topology, or other source. As well, the scope of the invention embraces any hardware system or device that comprises an instance of an application that comprises the disclosed executable instructions.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts disclosed herein are disclosed as example forms of implementing the claims.
As used herein, the term ‘module’ or ‘component’ may refer to software objects or routines that execute on the computing system. The different components, modules, engines, and services described herein may be implemented as objects or processes that execute on the computing system, for example, as separate threads. While the system and methods described herein may be implemented in software, implementations in hardware or a combination of software and hardware are also possible and contemplated. In the present disclosure, a ‘computing entity’ may be any computing system as previously defined herein, or any module or combination of modules running on a computing system.
In at least some instances, a hardware processor is provided that is operable to carry out executable instructions for performing a method or process, such as the methods and processes disclosed herein. The hardware processor may or may not comprise an element of other hardware, such as the computing devices and systems disclosed herein.
In terms of computing environments, embodiments of the invention may be performed in client-server environments, whether network or local environments, or in any other suitable environment. Suitable operating environments for at least some embodiments of the invention include cloud computing environments where one or more of a client, server, or other machine may reside and operate in a cloud environment.
With reference briefly now to
In the example of
Such executable instructions may take various forms including, for example, instructions executable to perform any method or portion thereof disclosed herein, and/or executable by/at any of a storage site, whether on-premises at an enterprise, or a cloud computing site, client, datacenter, data protection site including a cloud storage site, or backup server, to perform any of the functions disclosed herein. As well, such instructions may be executable to perform any of the other operations and methods, and any portions thereof, disclosed herein.
The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
| Number | Name | Date | Kind |
|---|---|---|---|
| 8261033 | Slik | Sep 2012 | B1 |
| 10142353 | Yadav | Nov 2018 | B2 |
| 10429197 | Carrino | Oct 2019 | B1 |
| 10964097 | Teply | Mar 2021 | B2 |
| 11157527 | Wang et al. | Oct 2021 | B2 |
| 11227401 | Mahieu et al. | Jan 2022 | B1 |
| 11312379 | Taylor et al. | Apr 2022 | B2 |
| 11314254 | Macias et al. | Apr 2022 | B2 |
| 11402830 | Sullivan et al. | Aug 2022 | B2 |
| 11436504 | Lukarski et al. | Sep 2022 | B1 |
| 11595269 | Ghosh et al. | Feb 2023 | B1 |
| 11792262 | Chung | Oct 2023 | B1 |
| 11819734 | Lee | Nov 2023 | B2 |
| 11985074 | Freund et al. | May 2024 | B1 |
| 20020152318 | Menon | Oct 2002 | A1 |
| 20100045701 | Scott | Feb 2010 | A1 |
| 20120090667 | Cap | Apr 2012 | A1 |
| 20130307720 | Lilburn | Nov 2013 | A1 |
| 20140278517 | Patel | Sep 2014 | A1 |
| 20140309841 | Hara et al. | Oct 2014 | A1 |
| 20160071278 | Leonard et al. | Mar 2016 | A1 |
| 20160292908 | Obert | Oct 2016 | A1 |
| 20160359872 | Yadav | Dec 2016 | A1 |
| 20170248963 | Levinson et al. | Aug 2017 | A1 |
| 20170317920 | Rocquelay et al. | Nov 2017 | A1 |
| 20180137390 | Brundage | May 2018 | A1 |
| 20180173239 | Yoon et al. | Jun 2018 | A1 |
| 20190043246 | Teply | Feb 2019 | A1 |
| 20190163191 | Sorin et al. | May 2019 | A1 |
| 20190285396 | Yao | Sep 2019 | A1 |
| 20200026292 | Douillard et al. | Jan 2020 | A1 |
| 20200036595 | Wallerstein et al. | Jan 2020 | A1 |
| 20210021485 | Guim Bernat | Jan 2021 | A1 |
| 20210140773 | Ondruska et al. | May 2021 | A1 |
| 20210144517 | Guim Bernat | May 2021 | A1 |
| 20210150771 | Huang et al. | May 2021 | A1 |
| 20210169417 | Burton | Jun 2021 | A1 |
| 20210302260 | Baggs | Sep 2021 | A1 |
| 20220082408 | Montemerlo et al. | Mar 2022 | A1 |
| 20220129426 | Sohail | Apr 2022 | A1 |
| 20220131934 | Oku | Apr 2022 | A1 |
| 20220138966 | Sung | May 2022 | A1 |
| 20220147407 | Asgar | May 2022 | A1 |
| 20220187841 | Ebrahimi et al. | Jun 2022 | A1 |
| 20220200917 | Mortensen et al. | Jun 2022 | A1 |
| 20220203165 | Lee | Jun 2022 | A1 |
| 20220204019 | Lauterbach et al. | Jun 2022 | A1 |
| 20220245111 | Harrison et al. | Aug 2022 | A1 |
| 20220329650 | Zhang | Oct 2022 | A1 |
| 20220413989 | Karri et al. | Dec 2022 | A1 |
| 20230005217 | Chen et al. | Jan 2023 | A1 |
| 20230071442 | Tripathy | Mar 2023 | A1 |
| 20230106877 | Simeonov | Apr 2023 | A1 |
| 20230117081 | Hunter | Apr 2023 | A1 |
| 20230156074 | Kim | May 2023 | A1 |
| 20230161041 | Schindler | May 2023 | A1 |
| 20230231903 | Zeng | Jul 2023 | A1 |
| 20230237064 | Bao | Jul 2023 | A1 |
| 20230275834 | Huang | Aug 2023 | A1 |
| 20230291794 | Bartholomew | Sep 2023 | A1 |
| 20230297356 | Hudson | Sep 2023 | A1 |
| 20230376558 | Seyfi | Nov 2023 | A1 |
| 20240050803 | Lee | Feb 2024 | A1 |
| 20240142263 | Gottin et al. | May 2024 | A1 |
| 20240143655 | Freund et al. | May 2024 | A1 |
| 20240144174 | Freund et al. | May 2024 | A1 |
| 20240362808 | Del et al. | Oct 2024 | A1 |
| Number | Date | Country |
|---|---|---|
| 110537078 | Dec 2019 | CN |
| 116368355 | Jun 2023 | CN |
| Entry |
|---|
| Dahmen et al., “Verification and validation of Digital twins and virtual testbed,” International Journal of Advances in Applied sciences, vol. 11, nº 1, 2022. |
| Errandonea, Itxaro et al., “Digital Twin for Maintenance: A literature review”, Computers in Industry 123 103316, Elsevier, Oct. 5, 2020. |
| Hornung, A. et al. (2013) ‘OctoMap: An efficient probabilistic 3D mapping framework based on octrees’, Autonomous Robots, 34(3), pp. 189-206. doi: 10.1007/s10514-012-9321-0. |
| Hubel et al., Coverage Control with Information Decay in Dynamic Environments, 2008. |
| McMahan, Communication-Efficient Learning of Deep Networks from Decentralized Data, version 3, Feb. 28, 2017, Artificial Intelligence and Statistics, pp. 1273-1282. |
| N. Hubel, A. Gusrialdi, H. Fujita, and O. Sawodny, “Coverage Control with Information Decay in Dynamic Environments,” Jan. 2008. |
| Tao, F et al., “Chapter 2 -Applications of Digital Twin”, Digital Driven Smart Manufacturing, Feb. 15, 2019, pp. 29-62, https://doi.org/10.1016/B978-0-12-817630-6.00002-3. |
| U.S. Appl. No. 18/049,700, filed Oct. 26, 2022, titled SO-MAP: A Semantic-Aware Algorithm for Optimizing the Representation Structure of Octomaps. |
| U.S. Appl. No. 18/050,274, filed Oct. 27, 2022, titled Orchestration of Action-Input Representations for Decision Making in Edge Environments. |
| Wurm, K.M. et al. (2011) ‘Hierarchies of Octrees for Efficient 3D Mapping’, (Sep.). doi:10.1109/IROS.2011.6048189. |