A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
Embodiments of the present invention generally relate to the behavior of edge devices in an edge computing environment. More particularly, at least some embodiments of the invention relate to systems, hardware, software, computer-readable media, and methods, for identifying various parameters and values concerning the behavior of an edge device, and using the parameter values to modify the behavior of the edge device.
Much attention has been directed recently to the need for solutions to the rising AI/ML and infrastructure needs of the edge, that is, edge computing environments. A promising edge space to work on is smart services for mobile edge devices in the logistics domain. Trajectory data from these mobile device trajectories may be leveraged by ML to optimize operations or to address dangerous circumstances via object/event detection approaches.
However, problems currently exist with the need to provide decision support to the detection of anomalous events. A particular problem is sometimes referred to as the governability issue, and concerns the need to be able to provide reproducibility and traceability of an unsupervised labelling process. For example, consider a case where there is an unsupervised model deployed to mobile edge devices. In such a case, it may be difficult to determine where, when, and how much, the edge device behaviors have diverged from some standard, or from expected behavior. This is due in part to the fact that there is typically a lack of labels for this divergent behavior, and it may be expensive and impractical to produce the labels, particularly where the datasets comprising the behavioral information are often large, and diverse.
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 the behavior of edge devices in an edge computing environment. More particularly, at least some embodiments of the invention relate to systems, hardware, software, computer-readable media, and methods, for identifying various parameters and values concerning the behavior of an edge device, and using the parameter values to modify the behavior of the edge device.
In general, an example embodiment of the invention may comprise the collection of information concerning respective trajectories of mobile edge devices that may be operating in an edge computing environment. This information may then be evaluated to identify transitional intervals, that is, time periods between the beginning and end of anomalous behavior occurring during a trajectory of a mobile edge device. The transitional intervals may take any of a variety of different forms. Depending upon their form, one or more of the transitional intervals may, in one embodiment, be used as a basis to inform an entity, such as a human and/or a computing system, of abnormal behavior by one or more of the mobile edge devices.
One particular example embodiment may operate to extract a time interval during which a mobile device is behaving in an unexpected manner with respect to its trajectories in a warehouse. This approach may contribute to saving time and cost in terms of autonomous device safety and predictive maintenance and process adaptation. The main challenge involved in this task is the lack of labels for dangerous/anomalous behavior and the high cost involved in producing them given the large size of datasets involving trajectories collected through time form many different devices in different warehouses. Thus, an example embodiment may operate to generate such labels.
Note that this warehouse logistics example, also referred elsewhere herein in the interest of illustrating aspects of an example embodiment, is presented only by way of illustration and is not intended to limit the scope of the invention in any way. More generally, one or more embodiments be concerned with various edge device attributes, one example of which is the mobility of the edge device. As noted in the warehouse logistics example, one example edge device is a forklift that is able to move about in the warehouse. The scope of the invention is not limited to forklifts however, and those are presented only by way of example.
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 any way. 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 embodiment may operate to determine whether, where, when, and/or, how, a behavioral aspect of an edge computing device deviates from one or more guidelines. An embodiment may operate to identify anomalous behavior of an edge computing device. An embodiment may enable identification and implementation of a remedy to reduce, or eliminate, anomalous behavior of an edge computing device. An embodiment may use an unsupervised method to generate labels for edge device behaviors. Various other advantages of example embodiments will be apparent from this disclosure.
It is noted that embodiments of the invention, whether claimed or not, cannot be performed, practically or otherwise, in the mind of a human. Accordingly, nothing herein should be construed as teaching or suggesting that any aspect of any embodiment of the invention could or would be performed, practically or otherwise, in the mind of a human. Further, and unless explicitly indicated otherwise herein, the disclosed methods, processes, and operations, are contemplated as being implemented by computing systems that may comprise hardware and/or software. That is, such methods processes, and operations, are defined as being computer-implemented.
The following is an overview of some aspects of an example embodiment of the invention. This discussion is not intended to limit the scope of the invention, or the applicability of the embodiments, in any way.
In general, an embodiment may comprise a programmatic labeling framework to deal with governability, that is, the reproducibility and traceability of an event labelling process. An embodiment may be particularly useful in identifying where, when, and how much the behavior of edge devices, such as mobile edge devices (MEDs) for example, have diverged in terms of their trajectories. On example scenario is disclose in
In general, one embodiment of the invention may comprise two processes, both of which are discussed in further detail below. The first process may comprise the collection of trajectories and their latent representations at the edge nodes. The second process may comprise the identification and storage of transitional intervals at a central node. The resulting identifications may be leveraged by a decision support system.
Turning now to the illustrative example of
In general, and as disclosed in
In brief,
In general, an autoencoder, which is one form of a neural network, may receive data, such as trajectory data for example, and then compress and encode the data. The autoencoder may then attempt to reconstruct, using the encoded representation of the data, the data that was initially received. As part of a training process, the autoencoder may repeat the encode-decode process or procedure until such time as the loss, that is, the difference between the original data, and the data reconstructed from the encoded data, is minimized or until the loss is reduced to a predetermined acceptable level.
With continued reference now to
Thus, a latent representation of a trajectory, such as an MED trajectory for example, may comprise a vector composed of a reduced number of features obtained by encoding, or a similar procedure, characteristic of the operation, in time, of a certain asset such as an MED. Such features may include, for example, the start time and end time of a trajectory, and an extent to which a trajectory may have deviated from an expected or planned trajectory. Note that that only the feature dimension of a trajectory may be reduced, while the number of observations remains the same. Finally, trajectory may not only be related to a displacement in time, but also to operational trajectories of an asset.
With continued reference now to
As explained above, and disclosed elsewhere herein, an embodiment may comprise various aspects. For example, an embodiment may comprise an unsupervised method to programmatically label abnormal behavior events stored and indexed as transitional intervals. As another example, an embodiment may comprise a decision support method to monitor and store transitional intervals to improve governability, that is, to help reproducibility and traceability of the labeling process by identifying anomalous behavior by an edge device.
Embodiments of the invention may be implemented in a variety of different contexts. By way of illustration, one particular embodiment of the invention may be applicable to a logistics domain. This particular embodiment is presented for the purposes of illustration and is not intended to limit the scope of the invention in any way.
In this illustrative case, the logistics domain may comprise multiple mobile edge devices (MED) in warehouses with deployed Machine Learning (ML) models configured, and operable, to detect MED trajectory events. Some examples of trajectory events include, but are not limited to: (1) the detection of dangerous cornering events, such as by a forklift for example, that might lead to crashes or toppling over; and (2) the classification of typical trajectories of loading/unloading pallets into vehicles.
As used herein, ‘trajectories’ include, but are not limited to, sets of contiguous positional and/or other data, such as inertial data for example, collected by each MED as it moves around in an environment, such as a warehouse for example. An embodiment may comprise a method operable to cut the MED movement data into discrete trajectories. One or more embodiments of such a method are disclosed in: U.S. patent application Ser. No. 17/663,423, titled “UNSUPERVISED LEARNING FOR REAL-TIME DETECTION OF EVENTS OF FAR EDGE MOBILE DEVICE TRAJECTORIES,” filed 14 May 22, which is incorporated herein in its entirety by this reference. In an embodiment, these trajectories may then be fed to an ML model that may be operable to classify the trajectories and/or predict events of interest relating to the trajectories.
One embodiment of the invention may employ an autoencoder ML model, as noted above in the discussion of
In an embodiment, the first stage of a method may comprise the collection of latent space vectors data for each trajectory taken by each MED at each warehouse. These latent space vectors data may be periodically sent back from the MEDs to a near edge node, or directly to a central node. Each latent space vector may be associated with metadata such as, but not limited to, a given timestamp for the start of its trajectory, an MED ID (identification) that uniquely identifies a particular MED, and a warehouse ID that uniquely identifies a warehouse or other environment where the MED operates. Through the use of such metadata, an embodiment may be able to trace the MED back in time (timestamp), and space (MED ID, warehouse ID), to enable decision support for logistics technical specialists.
The duration of the collection stage may be automatically determined, or specified by a specialist, which may be a human or a computing system, with expert knowledge in the task(s) performed by the MEDs in the logistics space. The duration of the collection stage may also depend on the resources available to store and communicate such data. The final product of the collection stage may comprise a dataset of latent space vectors and respective associated metadata, where each latent space vector may represent a particular respective MED trajectory.
In an embodiment, the second stage of a method, which may include the first stage discussed immediately above, may comprise the generation of a set of transitional intervals (TI). In an embodiment, a transitional interval represents the beginning and end of an anomalous behavior event that occurred during a trajectory of a MED, that is, from the start of an anomalous behavior event to the return of the MED to normal behavior. It might be the case that a MED follows an anomalous trajectory up to the time a user is consulting the system and, in such cases, an embodiment may provide one or more open transitional intervals that may serve as alert as to straying behavior by an MED. That is, at the time the user is consulting the system, the MED may be following an anomalous trajectory, which may then be reported.
A first operation of the second stage may be to cluster all the latent space vectors gathered during the stage of MED latent trajectory collection. A specialist might know, or the particular task might impose, a fixed number of clusters that may be used in the clustering method. An embodiment may use agnostic clustering techniques that try to guess the correct number of clusters. There is a variety of clustering methods and the scope of the invention is not limited to the aforementioned examples.
As the trajectories are recorded over time, their corresponding latent space vectors may also follow paths through time, but in the latent abstract space. When an embodiment performs clustering in these latent vectors, the result of the clustering may be a grouping that represent the normative behavior, at least for the duration of the collection period, and implicit boundaries.
With respect to such boundaries, an embodiment may define a given distance from the centroid of a cluster of latent space vectors as a first limiting boundary and another distance from that centroid as the final boundary. For example, the first distance may be one standard deviation, and the second distance may be two standard deviations, away from the cluster centroid.
A second operation, performed after the clustering of latent space vectors, of the second stage may comprise signaling, by the central node for example, to the edge nodes that the central node is ready and able to perform transitional interval identification. After this signaling, the edge nodes may then start to collect new trajectory data with latent space vectors and send the latent space vectors back to the central node. These are the latent vectors that may be used for transitional interval identification, as shown in
In general,
The particular cases 402-408 disclosed in
According to one embodiment, a method for transitional interval identification may run offline, with a delay in relation to the actual trajectories being taken by the MEDs at the edge. This is not an issue since, in one implementation at least, the method may serve as a decision support system for a specialist to evaluate MED behavior, rather than an online adaptable method.
An embodiment may assume that the latent space vectors are gathered and indexed by timestamp, that is, by the timestamps that respectively correspond to the start of each related trajectory. This approach may lend itself naturally to the construction of a sorted data structure where the evolution of a given latent vector through time may be readily consulted. For example, the data structure may be configured as a table containing the group (med_id, timestamp, vector). Then, the table may be sorted by timestamp and the timestamps grouped by med_id in order to be able to efficiently consult each set of MED latent vectors sorted by timestamp.
In an embodiment, the method may run through all MEDs, possibly in parallel if adequate processing and storage resources are available and, for each MED, its latent vectors may be followed through time and a check performed for transitions between, for example, Normal (within the first cluster boundary), Attention (between the first and second cluster boundaries), and Abnormal (outside the second boundary). Note that as used herein, an embodiment defines a transitional interval as occurring, or having occurred, when a vector goes into the Abnormal state but then returns to the Normal state.
During all of the MED trajectories through time, there might be zero, one or many, transitional intervals. This intuition is captured in some example pseudocode pieces, addressed below. Note that in, the pseudocode, dist1 refers to the distance between a vector and the first boundary distance, and dist2 refers to the distance between a vector and the second boundary distance.
With reference now to
An embodiment may comprise, or interact with, a decision support system that uses the stored transitional intervals to inform, such as by way of a user interface (UI) comprising a GUI and/or CLI for example, a specialist in the logistics domain about abnormal behavior in the operating MEDs. The Attention and Abnormal states may serve overall to alert for conditions such as, but not limited to, misbehaving, defects, or drifting behavior, by an MED. Stored and indexed transitional intervals may help to guide decisions, and may enable the identification of MED behavior in an efficient manner, since it possible to build, upon a system according to one embodiment, various systems and interfaces that make use of the structures included in one or more embodiments. Thus, an embodiment of the invention may comprise the creation of abnormal behavior labeling in a programmatic and automatic manner. Furthermore, an embodiment may lend itself for use as a protocol for continuous identification, with its two stages of normal behavior collection and abnormal behavior identification. Finally, an embodiment may comprise an efficient and scalable system with the main method, an example of which is disclosed in
It is noted with respect to the disclosed methods, including the example method of
Directing attention now to
The example method 600 may begin with the collection of trajectories 602 from each of one or more edge devices that collectively form part of an edge computing environment. In an embodiment, one or more of the edge devices may be mobile within its respective domain. An edge device may comprise, in an embodiment, a forklift or other vehicle. The collection of the trajectories 602 may be performed by the edge devices and/or by a central node.
After the trajectories have been collected 602, a respective latent space vector may be extracted from each trajectory 604. The latent space vectors, and associated respect distances between the latent space vectors and one or more boundaries, may be used to identify one or more transitional intervals 606 for one or more of the edge devices. The distance information may be generated by a separate process 607 which may run before, during, or after, the operations 602, 604, and 606. Note that the identification of the transitional intervals 606 may be performed offline and the transitional intervals fed to a decision support system, which may be hosted at a central node for example, for evaluation and action.
After the transitional intervals have been identified, they may be stored 608, such as in a data structure for example. The data structure may be configured to enable sorting of the transitional intervals according to various parameters. The stored transitional intervals may be accessible from the data structure. After the transitional intervals have been stored 608, they may be labeled 609. For example, a transitional interval may be labeled 609 as one of Normal, Attention, or Abnormal.
The labeled transitional intervals may then be evaluated, such as by a decision support system and, based on the outcome of the evaluation, corresponding remedial action(s) may be implemented 610, such as by the decision support system. The evaluation may comprise determining the category for a transitional interval and if the category is Normal, no further action may be needed. On the other hand, if a transitional interval has a category of Attention, the transitional interval, and associated MED, may be referred to the decision support system and/or to an administrator for evaluation/action. Finally, if a transitional interval has a category of Abnormal, the MED and transitional interval may be referred, such as to a decision support system, for implementation of a remedial action 610.
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: collecting trajectories from each edge device in a group of edge devices; extracting a respective latent space vector from each trajectory; evaluating the latent space vectors to identify a respective set of one or more transitional intervals corresponding to each of the latent space vectors; and labeling the transitional intervals.
Embodiment 2. The method as recited in embodiment 1, wherein one or more of the edge devices comprises a respective mobile edge device operable to move within a domain.
Embodiment 3. The method as recited in any of the preceding embodiments, wherein each of the trajectories comprises information about the movement of one of the edge devices.
Embodiment 4. The method as recited in any of the preceding embodiments, wherein the transitional intervals are labeled according to whether or not, and to what extent, the edge device, to which the transitional interval corresponds, is moving as expected within a domain of the edge device.
Embodiment 5. The method as recited in any of the preceding embodiments, wherein each of the latent space vectors comprises a subset of information contained in a respective trajectory.
Embodiment 6. The method as recited in any of the preceding embodiments, wherein an alert is transmitted when a label of one of the transitional intervals has a particular identity.
Embodiment 7. The method as recited in any of the preceding embodiments, wherein a remedial action is implemented with respect to one of the edge devices when a label of one of the transitional intervals relating to that edge device has a particular identity.
Embodiment 8. The method as recited in any of the preceding embodiments, wherein the transitional intervals are stored by a decision support system after the transitional intervals have been identified.
Embodiment 9. The method as recited in any of the preceding embodiments, wherein the transitional intervals are labeled by a decision support system.
Embodiment 10. The method as recited in any of the preceding embodiments, wherein labeling the transitional intervals comprises labeling one of the transitional intervals as abnormal.
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.
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 any one 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.