Systems and methods for unloading data from a portable electronic device into long-term storage

The system addresses the challenge of offloading multimedia assets from portable devices by using an inventory management controller to manage uploads and storage, ensuring reliable and secure long-term storage with maintained chain of custody and efficient retrieval.

DE112016006880B4Active Publication Date: 2026-06-18MOTOROLA SOLUTIONS INC

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
MOTOROLA SOLUTIONS INC
Filing Date
2016-05-20
Publication Date
2026-06-18

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

System (10) for unloading stocks from a portable electronic device (14), the system (10) comprising: an inventory management controller (16) which contains: a network interface (215); and an electronic processor (205) that is coupled to the network interface (215) and configured to: Receiving, from the portable electronic device (14) via the network interface (215), an inventory upload request with at least one device status indicator and an inventory directory, wherein the inventory directory contains at least two inventory identifiers and metadata associated with each of the at least two inventory identifiers; Determine, based on the inventory list and at least one device status indicator, whether each of the at least two inventory identifiers in the inventory upload request should be granted or denied; Determine at least one storage message based on the inventory upload request, wherein the at least one storage message contains a grant or a denial for each of the at least two inventory identifiers; and Sending to the portable electronic device (14) via the network interface (215), which contains at least one storage message.
Need to check novelty before this filing date? Find Prior Art

Description

BACKGROUND OF THE INVENTION

[0001] Portable electronic devices (for example, body-worn cameras) are carried by law enforcement and other personnel to capture multimedia holdings (for example, video recordings, audio recordings, digital photographs, and the like). Metadata relating to multimedia holdings may also be generated and stored on the portable electronic devices. Some multimedia holdings and their associated metadata may need to be preserved (for example, according to public record rules). Some multimedia holdings and metadata may be used as evidence in criminal proceedings or other public inquiries and trials. In such proceedings, demonstrating the authenticity of multimedia holdings may be required by applicable law. Portable electronic devices do not have unlimited storage capacity.Therefore, it is necessary to offload multimedia assets from portable electronic devices by uploading them to an asset management system to facilitate long-term storage and retrieval. Existing technology is insufficient to reliably and selectively offload multimedia assets from limited portable devices while considering device characteristics, ensuring successful uploads, maintaining the chain of control, and securely managing long-term storage and deletion. US Patent 2015 / 0 180 963 A1 discloses a system based on a full-duplex communication channel that enables cloud-based data transfer. US Patent 2016 / 0 080 471 A1 discloses a method for the optimized upload of image files from a portable mobile device, such as a smartphone, to a server.First, a low-resolution version of the image file is uploaded to the server, and then, if upload conditions improve, a higher-resolution version of the image file is uploaded. BRIEF DESCRIPTION OF THE MULTIPLE VIEWS OF THE DRAWINGS

[0002] The accompanying figures, in which the same reference numerals refer to identical or functionally similar elements through the separate views, are included in the specification together with the following detailed description, and they form a part thereof, and they serve to further illustrate embodiments of concepts that include the claimed invention, and they explain various principles and advantages of these embodiments. Fig. Figure 1 is a diagram of an inventory management system according to some embodiments. Fig. Figure 2 is a diagram of an inventory management controller according to some embodiments. Fig. Figure 3 is a flowchart of a method for unloading stock from a portable electronic device, in accordance with some embodiments. Fig. Figure 4 is a flowchart of a method for maintaining a chain of custody for inventory unloaded from the portable electronic device, in accordance with some embodiments. Fig. Figure 5 is a flowchart of a sub-method for maintaining a chain of custody for stocks unloaded from the portable electronic device, in accordance with some embodiments.

[0003] Experts will recognize that elements in the figures are illustrated for the sake of simplicity and clarity and are not necessarily drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated compared to other elements to help improve the understanding of embodiments of the present invention.

[0004] Where appropriate, the apparatus and process components have been represented by conventional symbols in the drawings, showing only those specific details essential for understanding the embodiments of the present invention, so as not to obscure the disclosure with details that are readily apparent to those skilled in the art who benefit from this description. DETAILED DESCRIPTION OF THE INVENTION

[0005] An exemplary embodiment provides a system for unloading inventory from a portable electronic device. The system includes an inventory management controller with a network interface and an electronic processor coupled to the network interface. The electronic processor is configured to receive an inventory upload request from the portable electronic device via the network interface. The inventory upload request includes at least one device status indicator and an inventory directory. The inventory directory contains at least two inventory identifiers and metadata associated with each of the two inventory identifiers.The electronic processor is further configured to determine, based on the inventory and at least one device status indicator, whether each of the at least two inventory identifiers in the inventory upload request should be granted or denied. The electronic processor is further configured to determine at least one memory message based on the inventory upload request. This memory message contains a grant or denial for each of the at least two inventory identifiers. The electronic processor is further configured to send this memory message to the portable electronic device via the network interface.

[0006] Another exemplary embodiment provides a method for unloading inventories from a portable electronic device. The method includes receiving, via a network interface coupled to the electronic processor, an inventory upload request from the portable electronic device. The inventory upload request contains at least one device status indicator and an inventory directory. The inventory directory contains at least two inventory identifiers and metadata associated with each of the at least two inventory identifiers. The method further includes determining, based on the inventory directory and the at least one device status indicator, whether each of the at least two inventory identifiers in the inventory upload request should be granted or denied.The method further includes determining, by the electronic processor, at least one memory message based on the inventory upload request. The at least one memory message contains a grant or denial for each of the at least two inventory identifiers. The method further includes sending, by the electronic processor via the network interface, the at least one memory message to the portable electronic device.

[0007] To simplify the description, each of the exemplary systems presented here is illustrated with a single instance of each of its components. Some examples may not describe or illustrate all components of the system. Other exemplary embodiments may contain more or less of each of the illustrated components, they may combine some components, or they may include additional or alternative components.

[0008] Fig. Figure 1 is a diagram of an exemplary embodiment of an inventory management system 10. The terms "inventory," "inventory file," and "multimedia inventory," as used herein, refer to multimedia files (for example, video recordings, audio recordings, digital photos, and the like) that are captured and stored by the operation of the inventory management system 10. The inventory management system 10 includes a network 12, a portable electronic device 14, an inventory management controller 16, an inventory management database 18, a first data store 20, and a second data store 22. The exemplary inventory management system 10, which is described in Fig. Figure 1 illustrates a public safety inventory management system - although other embodiments of inventory management system 10 are not limited to public safety applications.

[0009] In one example, the portable electronic device 14 can be used by a law enforcement agency to capture and store a multimedia inventory of a robbery 24 (for example, a video). The portable electronic device 14 can also receive and store metadata relating to the inventory. As described in more detail below, embodiments of the inventory management system 10 are configured to unload the captured inventory and its associated metadata from the portable electronic device 14 and transfer the inventory to long-term storage (for example, the first data storage 20 or the second data storage 22). The inventory can then be used as evidence in criminal proceedings relating to the robbery 24, or for other purposes.

[0010] Network 12 can be a wired or a wireless network. All parts of Network 12 can be implemented by using various existing networks, for example, a cellular network, the internet, an LMR network (land mobile radio), or Bluetooth. TMThe network 12 includes a wireless short-range network (for example, Wi-Fi), a personal wireless accessory network (PAN), an autonomous machine-to-machine network (M2M), and a public switched telephone network. The network 12 may also include networks developed in the future. The portable electronic device 14, the inventory management controller 16, the inventory management database 18, the first data storage 20, and the second data storage 22 communicate with each other via the network 12, using suitable wireless or wired communication protocols. In some embodiments, communication with other external devices (not shown) occurs via the network 12.

[0011] In the illustrated example, the portable electronic device 14 is a body-worn camera, for example one of Motorola's Si-series video speaker microphones. ®The portable electronic device 14 contains components (for example, a digital camera, a microphone, a microprocessor, memory, and a network interface) for capturing, storing, and transmitting multimedia content (for example, via the network 12). Embodiments of the portable electronic device 14 also include hardware and software (for example, buttons, a touchscreen, and a user interface) for receiving user input or other data. Other components (not shown) may be included to provide various functions (for example, radio communications).In alternative embodiments, the portable electronic device 14 may be a handheld communication device (for example, a mobile phone, a portable two-way radio or another portable communication device), a smartwatch or other wearable smart device or another electronic device capable of recording inventory and communicating via the network 12.

[0012] The inventory management controller 16, described in more detail below, communicates with the portable electronic device 14 and controls it to unload and store inventory (for example, in the first data storage location 20 and the second data storage location 22). The inventory management controller 16 is communicatively linked to the inventory management database 18, which electronically stores information regarding the unloaded inventory in a reference database. The inventory management controller 16 reads and writes such information to and from the inventory management database 18, which may be hosted on a suitable database server (not shown); it may be integrated into or part of the inventory management controller 16; or it may be located externally with respect to the inventory management system 10 and accessible via the network 12.

[0013] The first data repository 20 is a central depot for the electronic storage of data. The first data repository 20 is suitable for communicating and exchanging data with the portable electronic device 14 and the inventory management controller 16 via the network 12. In some embodiments, the first data repository 20 is a commercial cloud-based storage service, such as the “Amazon TMSimple Storage Service” (Amazon S3). In some embodiments, the first data storage location 20 is a data storage system provided internally by the agency that owns and operates the inventory management system 10. The first data storage location 20 may be compatible with the FBI-CJIS standard (“Federal Bureau of Investigation’s Criminal Justice Information Services standard”). The second data storage location 22 may be similar to or identical with the first data storage location 20, and together the two illustrated examples are representative of any number of data storage locations suitable for communicating and exchanging data with the portable electronic device 14 and the inventory management controller 16 over the network 12.In some embodiments, the inventory management system 10 uses a single data store to store unloaded inventory; in other embodiments, two, three or more data stores can be selected and used to store unloaded inventory.

[0014] Fig. Figure 2 is a diagram of an exemplary embodiment of the inventory management controller 16. In the illustrated embodiment, the inventory management controller 16 includes an electronic processor 205 (for example, a microprocessor or another electronic controller), a memory 210, and a network interface 215. The electronic processor 205, the memory 210, and the network interface 215, as well as the other various modules, are directly coupled via one or more control or data buses, or a combination thereof.

[0015] The memory 210 can contain read-only memory (ROM), random access memory (RAM), other non-transitory computer-readable media, or a combination thereof. The electronic processor 205 is configured to obtain instructions and data from the memory 210 and, among other things, to execute instructions to perform the procedures described herein.

[0016] The electronic processor 205 controls the network interface 215 to send and receive data over the network 12. For example, the network interface 215 can contain a transceiver to connect wirelessly to the network 12. Alternatively or additionally, the network interface 215 can contain a connector or port to establish a wired connection to the network 12 (for example, Ethernet).

[0017] As noted above, embodiments of the electronic device 14 can be body-worn cameras used by law enforcement personnel to make audio, video, or still image recordings of events (for example, traffic stops, ongoing crimes, accident investigations, interactions with members of the public, and the like). The portable electronic device 14 does not have unlimited storage capacity, and it must therefore occasionally unload the inventory files generated while recording these events to make room for newly generated inventory files. An inventory may be of an urgent nature (for example, a video of a fleeing criminal), so it is desirable to provide rapid access for other members of the public safety agency or other agencies.Some holdings may need to be preserved (for example, to comply with public record regulations). Therefore, there is a need to offload multimedia holdings from the portable electronic device by uploading them to an inventory management system to enable long-term storage and retrieval.

[0018] This illustrates the following Fig. 3 An exemplary method 300 for unloading inventories from the portable electronic device 14 for long-term storage. In block 302, the electronic processor 205 receives at least one inventory upload request from the portable electronic device 14 via the network 12 through the network interface 215. An inventory upload request is a request from the portable electronic device 14 to unload one or more inventories that are stored locally on the portable electronic device 14. Each inventory upload request contains an inventory list and at least one device status indicator.

[0019] An inventory contains at least one inventory identifier and metadata associated with each inventory identifier. In some embodiments, the inventory contains at least two inventory identifiers. Each inventory identifier identifies an inventory to be unloaded from the portable electronic device 14. Metadata is data belonging to an inventory and associated with the inventory by the inventory identifier. Metadata may include a file type (for example, video, audio, or photo), a file size, a timestamp (that is, when the inventory was captured), a user role for the user who captured the inventory (for example, police officer or supervisor), an event type (for example, a crime, a traffic stop, and the like), or an event identifier (for example, from a computer-aided incident management system).Metadata can also include an inventory location, such as the geographical coordinates or an address where the inventory was recorded, or an indication that the inventory was recorded in a geographical area (for example, a geofence) that is predefined as being of high interest (for example, an area of ​​high crime or an area surrounding an emergency situation).

[0020] Each device status indicator provides information about the state of the portable electronic device 14 at the time the inventory upload request is executed. Device status indicators can include a connected network identifier (that is, the network the device is currently communicating over), nearby network identifiers (for example, nearby Wi-Fi networks that the portable electronic device 14 can connect to), a connected network signal strength (for example, a Wi-Fi signal strength level), a battery level (for example, what percentage of battery charge remains), a state of charge (for example, receiving a charge), a device location, and a memory usage level (that is, how much memory is still available to capture and store inventories on the portable electronic device 14).

[0021] For each inventory identifier in the inventory, the electronic processor 205 determines whether to grant or deny the inventory upload request. In block 304, the electronic processor 205 determines whether to grant or deny the inventory upload request based on the inventory metadata and at least one of the device status indicators. For example, if an inventory is associated with a high-priority event, the electronic processor 205 may grant the request. In another example, the connected network identifier may indicate that the portable electronic device 14 is connected to a network that is not suitable for transmitting large amounts of data, and the electronic processor 205 may deny the inventory upload request.In another example, the battery level may be too low to power the portable electronic device 14 for the duration of the inventory upload, and the electronic processor 205 may refuse the inventory upload request. In another example, the signal strength of the connected network may be below an acceptable threshold, and the electronic processor 205 may refuse the inventory upload request. In another example, the battery level may indicate that the device is plugged into a power source, and the electronic processor 205 may grant the request. In yet another example, the device location may indicate that the device is in an "upload zone" where an upload is more likely to be successful (for example, a police department building), and the electronic processor 205 may grant the request.In another example, the device location might indicate that the device is in a "no-upload zone," where an upload is more likely to start but then fail (for example, near the edge of a network coverage area), and the electronic processor 205 might deny the request. In another example, the memory usage level might indicate that the device will soon need to unload its inventory, and the electronic processor 205 might grant the request.

[0022] If the electronic processor 205 determines to refuse the inventory identifier, it determines at least one inventory upload request retry condition in block 306.

[0023] For example, if the battery level is too low (e.g., 10%), the electronic processor can determine an acceptable battery level (e.g., 50%) at which the portable electronic device 14 should retry its inventory upload request. Similarly, if, in another example, the network signal strength is below an acceptable level, the electronic processor can determine an acceptable signal strength at which the portable electronic device 14 should retry its inventory upload request. Finally, if, in yet another example, the connected network indicator shows that the portable electronic device is connected to an unsuitable network, and a nearby network indicator shows that a more suitable network is available, the electronic processor can determine that the portable electronic device 14 should retry its inventory upload request when connected to the more suitable network.In some embodiments, the electronic processor 205 determines more than one inventory upload request retry condition, one or any combination thereof of which must be satisfied before the portable electronic device 14 should retry its inventory upload request.

[0024] In block 308, the electronic processor 205 determines whether the inventory upload request is complete (that is, whether all inventory identifiers have been assigned a grant or a deny). If inventory identifiers remain, the electronic processor 205 returns to block 304 and determines whether the next inventory identifier in the inventory list should be granted or denied.

[0025] When the electronic processor 205 determines to grant the record identifier in block 304, it selects a data repository for long-term storage of the record in block 310. The data repository is selected from available data repositories (for example, the first data repository 20 and the second data repository 22) based on the record identifier and metadata. For example, the record's file type might be more suitable for the first data repository 20 than for the second data repository 22. In another example, the first data repository 20 might be compliant with the CJIS (Criminal Justice Information Services) standard, while the second data repository 22 might not be. In such a case, records associated with certain types of events (for example, criminal investigations) must be stored in the first data repository 20.In another example, inventories of a specific type, or those relating to specific event types, can be stored in a local data store rather than a cloud-based data store, or vice versa. In some implementations, the device state can be used to select the data store. For example, if the connected network is a private network, a privately hosted data store can be selected. In another example, if the connected network is a public network, a public data store can be selected. In some implementations, the cost of the data store is used to select the data store. For example, low-priority inventories that are not frequently accessed are suitable for low-cost "cold storage" data stores (for example, Amazon's Glacier). TM -service") suitable.

[0026] In block 312, the electronic processor 205 sends a memory request via network interface 215 to the data store selected in block 310. In block 312, the electronic processor 205 receives a data storage path from the data store via network interface 215. The data storage path is an electronic identifier used to identify where the data should be stored in the data store.

[0027] In block 308, the electronic processor 205 determines whether the inventory upload request is complete. As noted above, if inventory identifiers remain, the electronic processor 205 returns to block 304. If the electronic processor 205 determines that the inventory upload request is complete (that is, all inventory identifiers have been assigned a grant or deny), the electronic processor 205 determines at least one memory message in block 316. In some embodiments, a memory message is determined for each of the inventory identifiers. In other embodiments, a single memory message contains the determinations for each of the inventory identifiers.For each granted inventory identifier, the storage message identifies the data store and contains the data store path that the portable electronic device 14 can use to unload the inventory (that is, to upload the inventory to the data store selected in block 310). For each denied inventory identifier, the storage message contains at least one inventory upload request retry condition determined in block 306. Accordingly, a storage message may contain grants for all inventory identifiers in the inventory, denials for all inventory identifiers in the inventory, or a combination of grants and denials.

[0028] In some embodiments, the electronic processor 205 further determines the storage message based on at least one storage priority (one for each inventory) and at least one storage time (one for each inventory), all based on the metadata and the inventory identifier. For example, it may be desirable to unload all inventories associated with a high-priority event (for example, a police shootout) as soon as possible. All inventories whose metadata contains the event identifier for the high-priority event can be assigned a higher unloading priority than other inventories. In such a case, the storage message would contain a storage priority indicating that the inventory identified by the inventory identifier should be unloaded before other inventories. Similarly, the storage time can be determined based on the inventory's metadata.For example, video archives are larger files than audio archives, and it can be advantageous to upload video archives during off-peak times when the network is less active. In one example, the archive upload request received in block 302 might be a request to upload a large video archive of an unimportant event. Such an archive could be assigned a lower priority and an upload time of 3 AM.

[0029] In some embodiments, the electronic processor 205 further determines whether the memory message should include data chunking. Data chunking is used to separate (or "segment") larger data (for example, a large video file) into discrete portions of equal or similar size to make transmission and storage more efficient. If the electronic processor 205 determines that data chunking should be used for a stock, the memory request sent to the data store (in block 312) includes a chunking request. Similarly, the data storage path received in block 314 responds to the chunking request and may contain more than one storage location, or it may indicate a location in the data store specifically designated for chunking.In some embodiments, the data store selected in block 310 is chosen based on its ability to accept data segmentation queries.

[0030] In block 320, the electronic processor 205 sends at least one memory message to the portable electronic device 14 via the network interface 215. The inventory identifiers, the associated metadata, and the memory message are stored by the electronic processor 205 in the inventory management database 18. Accordingly, the inventory management controller 16 can track the locations of the inventory items in the data repository. Users of the inventory management controller 16 can search the metadata to identify inventory items of interest and, in turn, retrieve those inventory items based on the information in the memory message.

[0031] Records, particularly those collected by public safety authorities, may be used as evidence in criminal proceedings or other public investigations or proceedings where the authenticity of the records is mandatory under applicable law. This is illustrated accordingly. Fig. 4 an exemplary method 400 for maintaining a chain of custody for stocks unloaded from portable electronic devices 14.

[0032] It will now be on Fig. 4 Referenced where in block 402 the electronic processor 205 receives an inventory from the portable electronic device 14. This inventory is part of an inventory upload request, as above with reference to Fig. 3. The inventory contains at least one unique fixed-length identifier (for example, a SHA-256 hash of the inventory file). In some embodiments, a unique fixed-length identifier is received for each inventory item identified in the directory. The inventory also contains an inventory digital signature. The inventory digital signature is generated by the portable electronic device 14 by signing the directory with a private key known only to the portable electronic device 14 (for example, using a public-private encryption algorithm).

[0033] In block 404, the electronic processor 205 sends at least one memory message to the portable electronic device 14 via network interface 215. The memory message is determined based on the inventory using the procedure 300 described above. In block 406, the electronic processor 205 receives an upload completion message from the portable electronic device 14 via network interface 215, indicating that the inventory identifiers granted in the memory message have been unloaded (uploaded into the warehouse). As noted above, the electronic device 14 has a limited inventory memory capacity.Accordingly, the upload completion message may contain a request to delete the stocks stored in the local memory of the portable electronic device 14 when those stocks have been successfully unloaded (that is, uploaded to a warehouse using procedure 300).

[0034] In block 408, the electronic processor 205 retrieves at least one of the inventory files from the data repository identified in the memory message, which is identified in the memory message sent in block 404. The electronic processor 205 can temporarily store the retrieved inventory file in memory 210 or in the inventory management database 18.

[0035] In block 410, the electronic processor 205 determines at least one fixed-length unique identifier for an inventory file (that is, one for each inventory file recovered in block 408). The fixed-length unique identifier for an inventory file is determined in the same or a similar manner as the fixed-length unique identifier received in block 402. For example, if the fixed-length unique identifier is a SHA-256 hash of the inventory file on portable electronic device 14, then the fixed-length unique identifier for an inventory file is also a SHA-256 hash of the recovered inventory file. If the SHA-256 hash of the inventory file generated on portable electronic device 14 matches the SHA-256 hash of the recovered inventory file, then the files are identical.Accordingly, in block 412, the electronic processor 205 determines whether the fixed-length unique identifier of the inventory file determined in block 410 matches the fixed-length unique identifier received in block 402.

[0036] If the identifiers match, the electronic processor 205 determines in block 414 whether the directory digital signature is valid. The electronic processor 205 determines whether the directory signature is valid using a public key known to both the portable electronic device 14 and the inventory management controller 16, using a public-key cryptography system (for example, RSA). In some embodiments, the electronic processor 205 can receive a digital certificate (for example, generated by a certification authority) containing the public key from the portable electronic device 14 via the network interface 215. In such embodiments, the electronic processor 205 can certify the digital certificate with the certification authority before using the public key to validate the directory digital signature.If the directory signature is valid, the electronic processor 205 sends an inventory deletion permission message to the portable electronic device 14 via the network interface 215. The inventory deletion permission message informs the portable electronic device 14 that the inventory file has been successfully unloaded and that the portable electronic device 14 is permitted to delete its local copy of the inventory file.

[0037] If the fixed-length unique identifiers do not match (in block 412) or the directory digital signature is invalid (in block 414), this may indicate that the inventory file was not successfully unloaded or may have been modified or corrupted. In such a case, the electronic processor 205 sends a denial of the deletion request to the portable electronic device 14 via the network interface 215. The denial may include a request for the portable electronic device 14 to repeat the unloading process.

[0038] It may be desirable to revalidate a dumped inventory at a later time. For example, a prosecuting attorney preparing for trial may wish to authenticate an inventory intended to be used as evidence in the trial. In another example, a government official might wish to re-examine a critical inventory file that was successfully dumped before deleting the locally stored inventory file. This is illustrated accordingly. Fig. 5 an exemplary sub-method 500 for maintaining a chain of custody for stocks that were unloaded from the portable electronic device.

[0039] In block 502, the electronic processor 205 receives a revalidation request via network interface 215. The revalidation request can be received by the portable electronic device 14, or it can be received by another system (for example, a computer at a law enforcement agency or a prosecutor's office). The revalidation request contains at least one inventory identifier (one for each inventory file to be revalidated), a fixed-length unique identifier for an inventory file, and the directory digital signature originally used when the inventory file was unloaded.

[0040] In response to receiving a revalidation request, the electronic processor 205, as described above with reference to procedure 400, determines at least one fixed-length unique identifier of an inventory file (one for each inventory file to be revalidated) in block 504. If the inventory file is not stored locally in the inventory management controller 16 or the inventory management database 18, the electronic processor 205 retrieves the inventory file from the data store before determining the at least one fixed-length unique identifier of the inventory file.

[0041] In block 506, the electronic processor 205 compares the fixed-length unique identifier of the inventory file, determined in block 504, with the fixed-length unique identifier received in block 502. In block 508, the electronic processor 205 validates the directory digital signature as described above with reference to procedure 400. In block 514, if the fixed-length identifiers match (in block 510) and the directory digital signature block is valid (in block 512), the electronic processor 205 sends a validation message via network interface 215. The validation message informs the device that requested revalidation that the inventory file retrieved from the data repository is identical to the inventory file originally captured by the portable electronic device 14.

[0042] In block 516, if the fixed-length identifiers do not match (in block 510) or the directory digital signature block is invalid (in block 512), the electronic processor 205 sends a validation error message via network interface 215. The validation error message indicates to the device that has requested revalidation that the inventory file retrieved from the data store does not match the inventory file originally captured by the portable electronic device 14.

[0043] Specific embodiments have been described in the preceding specification. However, it is clear to those skilled in the art that various modifications and changes can be made without departing from the spirit of the invention, as set out in the claims below. Accordingly, the specification and the figures are to be understood in an illustrative rather than a restrictive sense, and all such modifications are intended to be in keeping with the spirit of the present teachings.

[0044] The benefits, advantages, problem solutions, and any conceivable element that leads to or enhances any benefit, advantage, or solution shall not be construed as critical, necessary, or essential features or elements of any claim or all claims. The invention is defined exclusively by the attached claims, including any amendment made during the pendency of the present application and all equivalents of such claims as published.

[0045] Furthermore, in this document, relational expressions such as first and second, above and below, and the like are to be used solely to distinguish one entity or action from another, without necessarily requiring or implying any actual relationship or order between such entities or actions. The expressions "includes," "comprising," "has," "having," "include," "containing," "containing," or any variation thereof are to cover non-exclusive inclusion, so that a process, procedure, article, or device that includes, has, includes, or contains a list of elements may not only include such elements but may also include other elements not expressly listed or inherent in such processes, procedures, articles, or devices. An element that continues with "includes... a," "has..."The terms "one," "includes... one," and "contains... one" do not, without further stipulations, exclude the existence of additional identical elements in the process, method, article, or apparatus that comprise, have, include, or contain the element. The terms "one" and "a" are defined as one or more unless explicitly stated otherwise herein. The terms "essentially," "essentially," "approximately," "about," or any other version thereof are defined as "being close to" as is clear to those skilled in the art, and in one non-limiting embodiment, the term is defined as being within 10%, in another embodiment within 5%, in another embodiment within 1%, and in yet another embodiment within 0.5%. The term "coupled," as used herein, is defined as "connected," although not necessarily directly and not necessarily mechanically.A device or structure that is “configured” in a certain way is configured at least in that way, but may also be configured in at least one other way not listed.

[0046] It is desired that some embodiments include one or more generic or specialized processors (or “processing devices”), such as microprocessors, digital signal processors, custom processors, and freely programmable field-gate arrays (FPGAs), and unique stored program instructions (comprising both software and firmware) that control the one or more processors to implement, in conjunction with certain non-processor circuitry, some, most, or all of the functions of the method and / or device described herein.Alternatively, some or all functions can be implemented by a state machine that has no stored program instructions, or in one or more application-specific integrated circuits (ASICs) where each function, or some combinations of certain functions, are implemented as custom logic. Naturally, a combination of the two approaches can be used.

[0047] Furthermore, an embodiment can be implemented as a computer-readable storage medium containing computer-readable code stored thereon for programming a computer (which, for example, includes a processor) to perform a method described and claimed herein. Examples of such computer-readable storage media include, but are not limited to: a hard disk, a CD-ROM, an optical storage device, a magnetic storage device, a ROM (read-only memory), a PROM (programmable read memory), an EPROM (erasable programmable read memory), an EE-PROM (electrically erasable programmable read memory), and flash memory.Furthermore, it can be expected that a person skilled in the art, regardless of possible considerable effort and a large selection of designs, which is justified, for example, by available time, current technology and economic considerations, guided by the concepts and principles disclosed herein, will be able to produce such software instructions, programs and ICs with minimal experimental effort.

[0048] The summary of the disclosure is provided to allow the reader to quickly grasp the nature of the technical disclosure. It is submitted with the understanding that it is not intended to interpret or limit the spirit or meaning of the claims. Furthermore, it is clear from the preceding detailed description that various features in different embodiments are grouped together to streamline the disclosure. This method of disclosure should not be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly stated in each claim. Rather, as is evident from the following claims, an inventive subject matter is present in fewer than all the features of any single disclosed embodiment.Thus, the following claims are integrated into the detailed description, with each claim standing alone as a separately claimed subject matter.

Claims

[1] System (10) for unloading stocks from a portable electronic device (14), the system (10) comprising: an inventory management controller (16) which contains: a network interface (215); and an electronic processor (205) that is coupled to the network interface (215) and configured to: Receiving, from the portable electronic device (14) via the network interface (215), an inventory upload request with at least one device status indicator and an inventory directory, wherein the inventory directory contains at least two inventory identifiers and metadata associated with each of the at least two inventory identifiers; Determine, based on the inventory list and at least one device status indicator, whether each of the at least two inventory identifiers in the inventory upload request should be granted or denied; Determine at least one storage message based on the inventory upload request, wherein the at least one storage message contains a grant or a denial for each of the at least two inventory identifiers; and Sending to the portable electronic device (14) via the network interface (215), which contains at least one storage message. [2] System according to claim 1, wherein the electronic processor (205) is further configured to: Determine, for each of the at least two inventory identifiers that was denied, at least one inventory upload request retry condition based on the metadata and the at least one device status indicator; and Determine at least one storage message, further based on at least one inventory upload request retry condition. [3] System according to claim 1, wherein the electronic processor (205) is further configured to provide, for each of the at least two inventory identifiers that has been granted: Selecting a data store (20, 22) based on the metadata; Sending a storage request to the data store (20, 22) via the network interface (215); Receiving a data storage path in response to the storage request from the data store (20, 22) via the network interface; and Determining at least one storage message based on the data store (20, 22) and the data storage path. [4] System according to claim 3, wherein the electronic processor (205) is further configured to provide, for each of the at least two inventory identifiers that has been granted: Determine whether the storage message should contain data segmentation based on at least one inventory identifier and the metadata; and if the storage message should contain data segmentation: Sending the storage request with a data segmentation request to the data storage (20, 22) via the network interface (215); and Received from the data storage (20, 22) via the network interface (215), a data storage path in response to the storage request and the data segmentation request; and Determining at least one storage message based on the data store (20, 22), the data storage path, and the data segmentation request. [5] System according to claim 3, wherein the electronic processor (205) is further configured to provide, for each of the at least two inventory identifiers that has been granted: Determine at least one storage priority based on the metadata; Determine at least one storage time based on at least one inventory identifier and the metadata; and Determining the storage message, further based on at least one storage priority and at least one storage time. [6] System according to claim 1, wherein the metadata includes at least one selected from the group consisting of: a file type, a file size, a timestamp, a user role, an event type, an event identifier and an inventory location. [7] System according to claim 1, wherein the at least one device status indicator is at least one selected from the group consisting of: a connected network identifier, a nearby network identifier, a connected network signal strength, a battery level, a charge level, a device location and a memory usage level. [8] System according to claim 1, wherein the storage message contains at least one denial and at least one grant. [9] System according to claim 1, wherein the portable electronic device (14) is a body-worn camera. [10] Method for unloading stocks from a portable electronic device (14), the method comprising: Received by the electronic processor (205) via a network interface (215) coupled to the electronic processor (205), from the portable electronic device (14), an inventory upload request with at least one device status indicator and an inventory directory, wherein the inventory directory contains at least two inventory identifiers and metadata associated with each of the at least two inventory identifiers; Determine, by the electronic processor (205), based on the inventory list and the at least one device status indicator, whether each of the at least two inventory identifiers in the inventory upload request is to be granted or denied; and Determine, by the electronic processor (205), at least one storage message based on the inventory upload request, wherein the at least one storage message contains a grant or a denial for each of the at least two inventory identifiers; Sending, through the electronic processor (205) via the network interface (215) to the portable electronic device (14), which contains at least one stored message. [11] The method of claim 10, further comprising: Determine, by the electronic processor (205), for each of the at least two inventory identifiers that was refused, at least one inventory upload request retry condition based on the metadata and the at least one device status indicator; and wherein determining the at least one storage message includes determining the at least one storage message based on the at least one inventory upload request retry condition. [12] The method of claim 10, further comprising: for each of the at least two inventory identifiers that were granted: Selecting, by the electronic processor (205), a data store (20, 22) based on the metadata; Sending, by the electronic processor (205), a memory request to the data storage (20, 22) via the network interface (215); Received by the electronic processor (205) a data storage path in response to the storage request from the data storage (20, 22) via the network interface (215); and Determine, by the electronic processor (205), which has at least one memory message based on the data storage (20, 22) and the data storage path. [13] The method of claim 10, further comprising: for each of the at least two inventory identifiers that were granted: Determine, by the electronic processor (205), whether the storage message should contain data segmentation, based on the metadata; and if the storage message should contain data segmentation: Sending, via the network interface (215), the memory request with a data segmentation request to the data storage (20, 22) through the electronic processor (205); and Received by the electronic processor (205) via the network interface (215) from the data storage (20, 22), a data storage path, in response to the storage request and the data segmentation request; and Determine, by the electronic processor (205), which has at least one memory message based on the data store (20, 22), the data storage path and the data segmentation request. [14] The method of claim 12, further comprising: for each of the at least two inventory identifiers that were granted: Determine, by the electronic processor (205), at least one storage priority based on the metadata; Determine, by the electronic processor (205), at least one storage time based on the metadata; and Determine, by the electronic processor (205), the storage message, further based on at least one storage priority and at least one storage time. [15] Method according to claim 11, wherein the metadata includes at least one selected from the group consisting of: a file type, a file size, a timestamp, a user role, an event type, an event identifier and an inventory location. [16] Method according to claim 10, wherein the at least one device status indicator is at least one selected from the group consisting of: a connected network identifier, a nearby network identifier, a connected network signal strength, a battery level, a charge level, a device location and a memory usage level. [17] Method according to claim 10, wherein the storage message contains at least one refusal and at least one grant. [18] Method according to claim 10, wherein the portable electronic device (14) is a body-worn camera.