Patent Publication Number: US-2019180224-A1

Title: In situ inventory tracking system

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This patent application claims the benefit of U.S. Provisional Application No. 62/596,777 filed Dec. 9, 2017. The above application is incorporated by reference. 
    
    
     FIELD OF INVENTION 
     The present invention relates to the field of inventory or stock management, and more specifically to a system of inventory control which utilizes sensors to determine when an event affecting inventory levels has occurred and to invoke inventory control functions. 
     BACKGROUND OF THE INVENTION 
     In various scenarios, it is necessary to ensure that correct tools, portable equipment, inventory and other types of portable items are present at a specific location. Regulations may require that unexpired inventory be maintained on premises, or it may be necessary to monitor when the items are accessed and used to document compliance with industry standards or regulations. Ensuring the availability of an inventory of on-site emergency response items is a critical component of inventory and compliance management. Similarly, the unavailability of inventory and tools at a job site can disrupt workflow, projects and tasks. 
     Inherent to the need to monitor inventory is the need to hold personnel who have access accountable for reporting and replacing items after use or other events. It is also critical to track expiration dates, lot numbers, recalls and substituted items to ensure compliance and safety objectives are met. 
     There is an unmet need for in situ inventory management systems which can address theft, displacement and expiration of critical items which are to be maintained at designated locations. 
     There is a further unmet need for in situ inventory tracking systems which can detect events that may alter the status of inventory supplies present at a designated location. 
     SUMMARY OF THE INVENTION 
     The present invention is a highly fault-tolerant in situ tracking system for monitoring the availability of current, unexpired inventory and/or portable implements to be maintained at a specific location. In various embodiments, the system invokes functions and generates reports to track inventory changes, item status, personnel activities and credentials, expiration, item changes, movement and other events that can compromise in situ availability of inventory. 
     In various embodiments, the invention is comprised of hardware and virtual processing components for silent communication, and a fault-tolerant sensor system and processing components for continuously tracking the status of critical inventory items to assure availability of an uncompromised supply of the items at all times. The invention is comprised of novel containment and control units coupled with sensors, at least one server for receiving sensed input, instantiating virtual objects and updating physical status attributes of the containment and control units and critical inventory components. Each containment and control unit is associated with a unique identification number. In various embodiments, virtual processing components may include but are not limited to unit classes, event classes, mapping classes for displaying locations and status of all containment and control units, personnel tracking classes, and inventory tracking classes which include processing components for continuously verifying placement and usage of items by comparing the current date to an item expiration date. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  illustrates an exemplary in situ inventory control system, which initiates a silent alert during an inventory control event. 
         FIG. 2  illustrates virtual processing components for an exemplary in situ inventory control system. 
         FIG. 3  illustrates the instantiation of a virtual processing component to track an inventory containment and control unit. 
     
    
    
     TERMS OF ART 
     As used herein, the term “attribute” means a variable with which a value is associated; attributes may be static or dynamic. 
     As used herein, the term “in situ” means at the site at which supplies, tooling and equipment are to be maintained. 
     As used herein, the term “inventory” means supplies, tooling and equipment. 
     As used herein, the term “object” means a virtual processing component that contains both data and data structures and code which performs operations on the data structures. 
     As used herein, the term “processor” means hardware or software having processing capability which may be bound to non-modifiable (static) values and functions. 
     As used herein, the term “class” means a virtual processing component from which other objects and/or virtual processing components are instantiated; objects and/or virtual processing components within a class may have common attributes and functions. 
     DETAILED DESCRIPTION OF THE INVENTION 
     The present invention is a highly fault-tolerant communication system for transmitting silent alerts and for continuously monitoring the availability of inventory items and a user&#39;s compliance with in situ inventory requirements. 
       FIG. 1  illustrates exemplary in situ inventory control system  100  for initiating a silent alert instantiating inventory control functions. 
       FIG. 1  illustrates in situ containment and control units  10   a,    10   b,  and  10   c  in communication with server  20 , which updates display interface  30 . 
     In the exemplary embodiment shown, containment and control unit  10  is coupled with sensor assembly  12 . Unit  10  has a unique identification number. Sensor assembly  12  includes access sensor  14  and location sensor  16 . 
     In the exemplary embodiment shown, server  20  is configured with a mapping class which updates map object  24  and an event class to store data related to sensed input, representing events to be logged. 
     Unit  10  is operatively coupled with sensor assembly  12 , which transmits signal  18  to server  20  when unit  10  is opened or moved. Upon receiving signal  18 , server  20  determines the identification number of unit  10 , the event type, the timestamp, and instantiates event object  22  to store the information. Server  20  also invokes an update function to update mapping object  24  and display interface  30 . In various embodiments, display interface  30  shows usage and deployment events associated with each container&#39;s location parameters. 
     In various embodiments, sensor assembly  12  includes a location sensor, a camera, a timer, and a transmitter. In various embodiments, the location sensor is comprised of two components configured to send a location update signal when a sensor mounted on a unit can no longer be tracked by a sensor which monitors its presence. In various embodiments, units may include additional sensors to monitor humidity and/or temperature. In various embodiments, unit  10  may require a unique code, badge, certificate, finger print or eye scan to open. 
     Server  20  is a computer system that maintains a data base of container units and identification numbers, and which instantiates virtual processing components called unit objects, representing each containment and control unit  10  having a unique identification number. The attributes associated with unit objects include, but are not limited to, unit identification number, date deployed, unit location, unit battery level or status, and open/closed status of containment and control unit  10 . A unit object is associated with event objects, inventory objects and mapping objects. 
     Event objects  22   a  through  22   c  correspond to a signal sent by sensor assembly  12 . The attributes associated with event objects include, but are not limited to, unit identification number, date opened and event type. Event types include alert events and inventory events. 
     Inventory objects have attributes representing an item stored within unit  10 . The attributes associated with inventory objects include, but are not limited to, unit identification number, item description, quantity, inventory number, date deployed, and expiration date. 
     Mapping object  24  reflects the status and location of each containment and control unit  10   a  through  10   c  at a specific point in time. The attributes associated with mapping objects include, but are not limited to, unit identification number, unit location, and unit status. In various embodiments, mapping object  24  is a picture of a map representing the location of each unit  10   a  through  10   c.    
       FIG. 2  illustrates virtual processing components for in situ inventory tracking system  100 . 
     In the exemplary embodiment shown, in situ tracking system  100  includes an event class, a mapping class, a unit class, an inventory class, and a personnel class. 
     Server  20  receives signal  18  from unit  10  and instantiates an event object. In one embodiment, the event object is inventory event object  22   a,  which reflects a maintenance event that inspects and/or replaces items in unit  10 . Inventory event object  22   a  updates expiration dates and other attributes in inventory object  26 . 
     In an alternative embodiment, the event object is alert event object  22   b,  that requires the use of the medical and tactical items in containment and control unit  10 , or theft of unit  10 . Alert event object  22   b  updates locations, statuses, and other attributes in mapping object  24 . 
     The inventory class creates inventory object  26  associated with each containment and control unit  10 . 
     A processor configured to compare the current date to expiration dates in inventory object  26  can also alert server  20  if an inventory item expires. 
     Personnel object  28  can send a signal to server  20  to update inventory object  26  or event objects  22   a  and  22   b.    
     In the exemplary embodiment shown, System  100  is fault tolerant. If any of the sensors fail or do not transmit a signal to server  20 , System  100  will alert the user that the location or status of unit  10  is unknown. 
     In various embodiments, System  100  will alert a third party that the status or location of unit  10  is unknown. Third parties can include, but are not limited to, emergency reporting centers, police stations, and fire stations. 
     As illustrated in  FIG. 2 , server  20  is configured to received sensed inputs and includes a container class, an inventory class, an event class, a mapping class, a personnel class, and a processing component for comparing the current date to the expiration date of an item within containment and control unit  10 . 
     In the exemplary embodiment shown, containment and control unit  10  has a unique identification number and contains items used for mitigating trauma and for enacting defensive countermeasures. 
     In the exemplary embodiment shown, server  20  is a computer system that maintains a data base of units and identification numbers. Server  20  instantiates software record objects to represent and track the status and attributes of units  10 , and usage and deployment events associated with each unit&#39;s location parameters. 
     The unit class is a processing component configured to instantiate unit object  27  associated with unique identification numbers. The unit objects include the following attributes: unit identification number, date deployed, unit status, content list code, item data, item status, and date item stored. The server updates the unit status when it receives a signal from the sensor assembly. 
     The inventory class is a processing component configured to instantiate inventory object  26 . The inventory objects have attributes representing an item stored within the containment and control unit. Item objects include the following attributes: unit identification number, item description, quantity, inventory number, date deployed, and expiration date. 
     The event class is a processing component configured to instantiate event object  22 , corresponding to a signal received from sensor assembly  12 . The event objects include the following attributes: unit identification number, date opened and event type. 
     The mapping class is a processing component configured to instantiate quasi-unique mapping object  24 , which reflects the status attribute of each containment and control unit  10  at a specific point in time. The mapping objects include the following attributes: unit identification number, unit location, and unit status. 
     The personnel class is a processing component configured to instantiate personnel object  28  for each authorized personnel. The personnel objects include the following attributes: personnel identification, unit identification number, date opened, and authorization status. 
     In various embodiments, System  100  secures the availability of data relevant to trauma compliance and mitigation efforts. System  100  monitors continuing effectiveness of risk mitigation protocols and further deters interference with risk mitigation protocols. 
     In the exemplary embodiment shown, when the sensor assembly sends a signal to server  20 , server  20  updates (1) the event status, type, and the date and time of the event in event object  22 , (2) the unit status in unit object  24  to reflect that the unit has been opened or moved, (3) the expiration dates in inventory object  26 , and (4) personnel object  28  to reflect which personnel opened the unit, the ID number of the unit, and the timestamp of the opening event. 
     In various embodiments, if unit  10  is opened or moved, server  20  may delete the expiration dates in inventory object  26  or may require authorized personnel to validate the existing dates. 
       FIG. 3  illustrates the instantiation of a virtual processing component to track containment and control unit  10 . 
     To instantiate unit object  27  for a new unit  10 , item objects  23   a  through  23   c  are incorporated into inventory list object  25 , which are incorporated into unit objects  27   a  through  27   c.