US20060195371A1 - Method and system of communication for automated inventory systems - Google Patents

Method and system of communication for automated inventory systems Download PDF

Info

Publication number
US20060195371A1
US20060195371A1 US11/331,847 US33184706A US2006195371A1 US 20060195371 A1 US20060195371 A1 US 20060195371A1 US 33184706 A US33184706 A US 33184706A US 2006195371 A1 US2006195371 A1 US 2006195371A1
Authority
US
United States
Prior art keywords
unit
dispensing
administrative unit
item
dispensing unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/331,847
Inventor
Haiping Zhao
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US11/331,847 priority Critical patent/US20060195371A1/en
Publication of US20060195371A1 publication Critical patent/US20060195371A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • G06Q10/0875Itemisation or classification of parts, supplies or services, e.g. bill of materials

Definitions

  • This invention relates generally to a method and system of communication for a dispensing system. Specifically, the embodiments of this invention are directed towards the communication infrastructure of an automated inventory system.
  • inventory data may be updated at the point-of-use.
  • an automated inventory system that captures inventory data at the point-of-use, i.e. when supplies are removed, is desirable.
  • a user enters his user id (and optionally a password) into a dispensing unit, which records the quantity of supplies taken by him and automatically updates inventory data.
  • Point-of-user information provides an additional advantage in allowing user efficiency and waste to be tracked.
  • a centralized dispensing unit becomes more inconvenient for more users.
  • multiple decentralized dispensing units are necessary to maintain user convenience and the viability of an automated inventory system.
  • the administration of an automated inventory system becomes more difficult with the addition of dispensing units, as inventory data has to be transferred and consolidated, for administrative purposes. This may be achieved via the communication infrastructure of the automated inventory system. Commonly, this communication infrastructure is proprietary, and thus expensive to implement and maintain.
  • Various embodiments of this invention are directed towards the communication infrastructure of an automated inventory system, on which the necessary communications between dispensing units and administrative units occur.
  • the automated inventory system comprises an administrative unit and a dispensing unit.
  • Various information about users, items and transactions are transferred between the two units.
  • User information may include user id, password, and access rights.
  • Item information may include alias, quantity, location, cost and inventory management levels.
  • Transaction information may include user, account billed to, item and quantity.
  • a dispensing unit limits supplies available to a user according to his access rights. These limits may be based on the item, quantity, cost, time or other variables and combinations of variables.
  • events are triggered when the quantity of an item approaches, reaches or falls below an amount defined as an inventory management level associated with that item.
  • a message regarding the shortage of the item is generated.
  • the administrative unit survey the availability of that item on other dispensing units, and sends a message to the first dispensing unit advising its user of that item's availability on other dispensing units.
  • user access rights may be temporarily modified during the unavailability of an item at a dispensing unit.
  • the item is automatically reordered from its vendor.
  • user information may be added, changed or deleted only from an administrative unit.
  • user information may be added, changed or deleted on a dispensing unit adapted for such administrative functions.
  • all the information to be transferred from an administrative unit to a dispensing unit is stored in a first file, and all the information to be transferred from a dispensing unit to an administrative unit is stored in a second file, to facilitate the two transfers.
  • the first file is transferred before the second, while in another one of these embodiments, the order in which the files are transferred is set from the administrative unit.
  • other files such as the communication configuration file or the error log file are transferred between an administrative unit and a dispensing unit.
  • the error log file is downloaded from the dispensing unit to the administrative unit for analysis following the transfer of regular user, item and transaction data.
  • the communication configuration file is uploaded from the administrative unit to the dispensing unit to reset or update the parameters of their communication. These parameters may include IP addresses and transfer intervals.
  • the communication infrastructure is implemented using the hypertext transfer protocol (http) or its secured counterpart (https). These embodiments are preferred over implementations using traditional ftp, as http implementations are more secure. This makes http based communication infrastructure compatible with client networks having stringent security protocols. A http based communication infrastructure may be integrated into the client's own computer network, reducing cost of implementation and maintenance.
  • http hypertext transfer protocol
  • https secured counterpart
  • the communication infrastructure comprises the client's own LAN, WAN, or intranet.
  • communication between an administrative unit and a dispensing unit can be initiated from either unit.
  • the communication infrastructure comprises the Internet.
  • the communication infrastructure comprises the Internet.
  • communication between an administrative unit and a dispensing unit is preferably initiated by the dispensing unit, to comply with the client's network security restrictions. Frequent communication between the dispensing unit and the administrative unit will advantageously generate an approximately real time inventory picture at the administrative unit, even though the communication may be initiated by the dispensing unit.
  • the administrative unit can be managed by the vendor of supplies, who is responsible for restocking the dispensing units, to achieve instant delivery e-commerce.
  • FIG. 1 is a network diagram showing an automated inventory system integrated into a client's own network (LAN/intranet) in one embodiment of this invention.
  • FIG. 2 is an overview flowchart of the program running on a dispensing unit.
  • FIG. 3 is a detailed flowchart of step 202 , the initialization step, in FIG. 2 .
  • FIG. 4 is a detailed flowchart of step 204 , the connect and transfer step, in FIG. 2 .
  • FIG. 5 is a detailed flowchart of step 414 , the receive incoming file step, in FIG. 4 .
  • FIG. 6 is a detailed flowchart of step 416 , the send outgoing file step, in FIG. 4 .
  • FIG. 1 is a network diagram showing an automated inventory system integrated into a client's own network (LAN/intranet) in one embodiment of this invention.
  • the client network originally comprises of a firewall 100 , and four workstations 102 , 104 , 106 , and 108 , before the implementation of the automated inventory system.
  • the automated inventory system comprises of an administrative unit 110 , and three dispensing units 112 , 114 and 116 .
  • the automated inventory system uses the client network as part of its communication infrastructure.
  • the dispensing units 112 , 114 , and 116 are connected to available ports on the client network.
  • the administrative unit 110 is connected to the client network via the Internet, and is thus located beyond the firewall 100 .
  • Each dispensing unit has at least one bin, tray, or other compartment adapted to store supplies.
  • the setup of the compartments depend on the supplies to be dispensed and the environment in which the dispensing unit is used in. For example, the dispensing unit maybe used in offices, hospitals, manufacturing operations, etc. Usually, each compartment stores a single type of item.
  • a user To access the supplies in the dispensing unit, a user first identifies himself. This may be accomplished in many ways, including but not limited to, user id (and password, optionally) entry, key cards or other electronic identification, fingerprint and iris scanning. As the user removes supplies from the dispensing unit, it tracks the quantities of items removed.
  • compartments adapted to count and dispense a quantity input by the user compartments programmed to dispense a preset quantity
  • weight-sensitive compartments that senses the change in weight after a user removes supplies.
  • An exemplary dispensing unit is disclosed in U.S. application Ser. No. 10/008,612, the entirety of which is herein incorporated by reference.
  • the user may enter one or more accounts to which the costs of the supplies removed are to be billed.
  • the transaction information thus collected needs to be periodically sent to the administrative unit.
  • the firewall 100 is often set to reject connection requests originating from outside the client network, with the exception of e-mail. For example, if the administrative unit 110 attempts to connect to the dispensing unit 112 , i.e. by polling, this connection request will be rejected by the firewall 100 . Thus it is desirable to have the dispensing unit, for example, 112 , initiate the connection to the administrative unit 110 . To the firewall 100 , this is equivalent to a user accessing the Internet from a workstation, for example, 102 . This connection may be via the hypertext transfer protocol (http) or its secured counterpart (https).
  • http hypertext transfer protocol
  • https secured counterpart
  • the administrative unit 110 can upload files to, and download files from, a dispensing unit, for example, 112 , as though connected via the traditional file transfer protocol (ftp).
  • These files include the regular incoming and outgoing (from viewpoint of dispensing unit) files with information on users, items and transactions.
  • These files may also include error log files, communication configuration files, and dispensing unit executable files.
  • the administrative unit 110 can also execute commands on the dispensing unit, for example, rebooting the dispensing unit. These commands are sent to the dispensing unit in a file during the file transfer, and contain parameters recognized as commands by the program running on the dispensing unit.
  • the administrative unit 110 has an interface for an administrator to perform all the above functions. Other functions available on this interface may include adding, changing and deleting users and dispensing units.
  • the administrative unit 110 also keeps a connection log from each dispensing unit. In some embodiments events are triggered by an aberrant dispensing unit, one which has not communicated with the administrative unit 110 over a preset period of time. In one of these embodiments a message is dispatched to the administrator advising him to physically check on the aberrant dispensing unit. In another one of these embodiments the administrative unit 110 may prioritize the next connection attempt from the aberrant dispensing unit.
  • FIG. 2 is an overview flowchart of the program running on a dispensing unit.
  • the program determines in step 202 whether it is time to connect to the administrative unit, by comparing a timer value to the communication interval. If so, it connects to the administrative unit in step 204 and transfer files. If not, it next determines in step 206 whether the file transfer request is urgent. If it is urgent, the program loops back to step 204 .
  • Step 208 represents an interrupt at which the program may be terminated, passing control back to the system handler in step 210 .
  • the dispensing unit determines if the communication configuration file has changed. If so it updates the changed communication parameters, such as the communication interval or the administrative unit's IP address, in step 214 .
  • the program runs in a loop, labeled the MAIN LOOP, defined by steps 202 , 206 , 208 and 212 .
  • FIG. 3 is a detailed flowchart of step 202 in FIG. 2 .
  • the executable file containing the program is run in step 300 .
  • the program opens a http port.
  • it checks the integrity of the files on the dispensing unit.
  • it reads the communication configuration file of the dispensing unit, and determines if the file is corrupted in step 308 . If so, the file is reset with default communication parameters in step 310 .
  • the timer is started, and the program returns to the MAIN LOOP. Steps 314 , 316 , and 318 are points at which the program may be terminated, passing control back to the system handler in step 320 .
  • FIG. 4 is a detailed flowchart of step 204 in FIG. 2 .
  • the program initiates the connection to the administrative unit in step 400 .
  • step 402 the program determines whether the connection has timed out. If so the program returns to the MAIN LOOP.
  • the program attempts to log into the administrative unit.
  • step 408 the program determines whether the connection has timed out. If so the program returns to the MAIN LOOP.
  • step 410 the program determines whether it has access to the administrative unit. If access is denied the program returns to the MAIN LOOP. If access is granted the program next determines in step 412 whether an older version of the incoming file already exists. If not the incoming file is received in step 414 .
  • step 412 If an older version of the incoming files exists in step 412 , that means it has not been processed by the dispensing unit, and program skips step 414 .
  • step 416 the outgoing file is sent to the administrative unit.
  • Steps 418 and 420 are points at which the program may be terminated, passing control back to the system handler in step 422 .
  • FIG. 5 is a detailed flowchart of step 414 in FIG. 4 .
  • the program sends a http request to the administrative unit for the incoming file.
  • the dispensing unit receives a block of the incoming file. If the connection times out, as represented by step 504 , the temp file storing the blocks received so far is deleted in step 506 and the program returns to the MAIN LOOP.
  • the checksum is calculated for error correction. If there is an error a NACK is sent to the administrative unit in step 510 . If the number of NACK's exceeds a predetermined limit in step 512 , the temp file storing the blocks received so far is deleted in step 514 and the program returns to the MAIN LOOP.
  • step 508 If there is no error after the checksum is calculated in step 508 the received block is appended to the temp file in step 516 and an ACK is sent to the administrative unit in step 518 .
  • step 520 the program determines whether the received block is the last block of the incoming file. If not the timer is reset in step 522 and the program loops back to step 502 . If the last block of the incoming file has been received, the temp file is renamed to the incoming file in step 524 .
  • Step 526 represents an interrupt at which the program may be terminated, passing control back to the system handler in step 528 .
  • FIG. 6 is a detailed flowchart of step 416 in FIG. 4 .
  • step 600 the outgoing file is broken down into blocks. The next block is determined in step 602 and a checksum for error correction is calculated in step 604 . In step 606 this block is transmitted to the administrative unit. If the connection times out, as represented by step 608 , the program returns to the MAIN LOOP. The program requests an acknowledgement from the administrative unit in step 610 . Once again, if the connection times out, as represented by step 612 , the program returns to the MAIN LOOP. If a NACK is received in step 610 , the program determines if the number of NACK's exceeds a predetermined limit in step 614 .
  • step 610 the program determines whether there are more blocks to transmit in step 616 . If so the program loops back to step 602 . If there are no more blocks to transmit in step 616 , the outgoing file is deleted in step 618 and the program determines whether there are other files to be transferred to the administrative unit in step 620 . For example, the administrative unit may request that the error log file from the dispensing unit be transferred. Steps 622 and 626 are points at which the program may be terminated, passing control back to the system handler in steps 624 and 628 , respectively.

Abstract

Various embodiments of this invention are directed towards the communication infrastructure of an automated inventory system, on which the necessary communication between a dispensing unit and an administrative unit of the system occurs. To facilitate the integration of the automated inventory system into the client's computer network, the infrastructure is preferably implemented using hypertext transfer protocol (http) or its secured counterpart (https). In certain embodiments the administrative unit is located external to the client's network, beyond the client's firewall. In these embodiments it is preferable to have the dispensing unit initiate communication with the administrative units because the firewall is typically setup to reject external connection requests.

Description

    PRIORITY INFORMATION
  • This application is a continuation of U.S. patent application Ser. No. 10/100,219, filed Mar. 15, 2002, and also claims the benefit of U.S. Provisional Patent Application No. 60/276,054 filed Mar. 15, 2001, the entireties of which are incorporated by reference herein and made a part of the present disclosure.
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • This invention relates generally to a method and system of communication for a dispensing system. Specifically, the embodiments of this invention are directed towards the communication infrastructure of an automated inventory system.
  • 2. Description of the Related Art
  • In most industrial operations, supplies are stored in centrally located storerooms, tool cribs or lockers. These supplies are manually requisitioned and taken to a work area to be used. The removal of these supplies is later input into an inventory system, often manually. Due to the inherent lag between removal and input, the inventory data is rarely up-to-date.
  • Thus frequently supplies that appear to be available on the inventory system may actually have been already used. When supplies reach critically low levels, they have to be reordered on an expedited or emergency basis, often at a premium, to minimize disruption of the work flow. The alternative is to maintain inventory at an unnecessarily high level, which increases overhead costs and decreases cash flow.
  • As long as inventory data is updated in an auditing manner, i.e., post use, it cannot reflect the actual availability of supplies. This shortcoming is exacerbated by increases in the turnover rate of supplies. When the turnover of supplies is slow compared to the lag, the probability of critical shortages is small. However, as the turnover of supplies increases, so does the lag because more inventory data has to be input, thereby increasing the likelihood that supplies that appear as available on the inventory system have already been used. Thus the frequency of critical shortages also increases.
  • SUMMARY OF THE INVENTION
  • To eliminate the lag, inventory data may be updated at the point-of-use. As doing so manually is too cumbersome, an automated inventory system that captures inventory data at the point-of-use, i.e. when supplies are removed, is desirable. In such an automated inventory systems, a user enters his user id (and optionally a password) into a dispensing unit, which records the quantity of supplies taken by him and automatically updates inventory data. Point-of-user information provides an additional advantage in allowing user efficiency and waste to be tracked.
  • The viability of such an automated inventory system often hinges upon the convenience of using its dispensing units. If doing so is inconvenient, users will hoard or stockpile supplies to minimize the inconvenience. This leads to an opposite problem, in which supplies that appear to be used or unavailable on the inventory system are actually available, albeit at an unknown location. Once again, the maintenance of inventory at an unnecessarily high level increases overhead costs and decreases cash flow.
  • As the area of a workspace increases, a centralized dispensing unit becomes more inconvenient for more users. Thus, multiple decentralized dispensing units are necessary to maintain user convenience and the viability of an automated inventory system. However, the administration of an automated inventory system becomes more difficult with the addition of dispensing units, as inventory data has to be transferred and consolidated, for administrative purposes. This may be achieved via the communication infrastructure of the automated inventory system. Commonly, this communication infrastructure is proprietary, and thus expensive to implement and maintain.
  • Various embodiments of this invention are directed towards the communication infrastructure of an automated inventory system, on which the necessary communications between dispensing units and administrative units occur.
  • In one embodiment the automated inventory system comprises an administrative unit and a dispensing unit. Various information about users, items and transactions are transferred between the two units. User information may include user id, password, and access rights. Item information may include alias, quantity, location, cost and inventory management levels. Transaction information may include user, account billed to, item and quantity.
  • In some embodiments, a dispensing unit limits supplies available to a user according to his access rights. These limits may be based on the item, quantity, cost, time or other variables and combinations of variables.
  • In some embodiments events are triggered when the quantity of an item approaches, reaches or falls below an amount defined as an inventory management level associated with that item. In one of these embodiments, a message regarding the shortage of the item is generated. In another one of these embodiments, if an item is unavailable in a first dispensing unit, the administrative unit survey the availability of that item on other dispensing units, and sends a message to the first dispensing unit advising its user of that item's availability on other dispensing units. In this embodiment user access rights may be temporarily modified during the unavailability of an item at a dispensing unit. In yet another one of these embodiments, the item is automatically reordered from its vendor.
  • In one embodiment user information may be added, changed or deleted only from an administrative unit. In another embodiment user information may be added, changed or deleted on a dispensing unit adapted for such administrative functions.
  • In some embodiments all the information to be transferred from an administrative unit to a dispensing unit is stored in a first file, and all the information to be transferred from a dispensing unit to an administrative unit is stored in a second file, to facilitate the two transfers. In one of these embodiments, the first file is transferred before the second, while in another one of these embodiments, the order in which the files are transferred is set from the administrative unit.
  • In some embodiments, other files such as the communication configuration file or the error log file are transferred between an administrative unit and a dispensing unit. In one of these embodiments the error log file is downloaded from the dispensing unit to the administrative unit for analysis following the transfer of regular user, item and transaction data. In another one of the these embodiments, the communication configuration file is uploaded from the administrative unit to the dispensing unit to reset or update the parameters of their communication. These parameters may include IP addresses and transfer intervals.
  • In some embodiments the communication infrastructure is implemented using the hypertext transfer protocol (http) or its secured counterpart (https). These embodiments are preferred over implementations using traditional ftp, as http implementations are more secure. This makes http based communication infrastructure compatible with client networks having stringent security protocols. A http based communication infrastructure may be integrated into the client's own computer network, reducing cost of implementation and maintenance.
  • In one embodiment the communication infrastructure comprises the client's own LAN, WAN, or intranet. In this embodiment communication between an administrative unit and a dispensing unit can be initiated from either unit. In another embodiment the communication infrastructure comprises the Internet. As the administrative unit is located beyond the client's firewalls and proxies, communication between an administrative unit and a dispensing unit is preferably initiated by the dispensing unit, to comply with the client's network security restrictions. Frequent communication between the dispensing unit and the administrative unit will advantageously generate an approximately real time inventory picture at the administrative unit, even though the communication may be initiated by the dispensing unit.
  • In this embodiment the administrative unit can be managed by the vendor of supplies, who is responsible for restocking the dispensing units, to achieve instant delivery e-commerce.
  • For purposes of summarizing the invention, certain aspects, advantages and novel features of the invention have been described herein. It is to be understood that not necessarily all such advantages may be achieved in accordance with any particular embodiment of the invention. Thus, the invention may be embodied or carried out in a manner that achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other advantages as may be taught or suggested herein.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a network diagram showing an automated inventory system integrated into a client's own network (LAN/intranet) in one embodiment of this invention.
  • FIG. 2 is an overview flowchart of the program running on a dispensing unit.
  • FIG. 3 is a detailed flowchart of step 202, the initialization step, in FIG. 2.
  • FIG. 4 is a detailed flowchart of step 204, the connect and transfer step, in FIG. 2.
  • FIG. 5 is a detailed flowchart of step 414, the receive incoming file step, in FIG. 4.
  • FIG. 6 is a detailed flowchart of step 416, the send outgoing file step, in FIG. 4.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • FIG. 1 is a network diagram showing an automated inventory system integrated into a client's own network (LAN/intranet) in one embodiment of this invention. The client network originally comprises of a firewall 100, and four workstations 102, 104, 106, and 108, before the implementation of the automated inventory system. The automated inventory system comprises of an administrative unit 110, and three dispensing units 112, 114 and 116. The automated inventory system uses the client network as part of its communication infrastructure. The dispensing units 112, 114, and 116 are connected to available ports on the client network. The administrative unit 110 is connected to the client network via the Internet, and is thus located beyond the firewall 100.
  • Each dispensing unit has at least one bin, tray, or other compartment adapted to store supplies. The setup of the compartments depend on the supplies to be dispensed and the environment in which the dispensing unit is used in. For example, the dispensing unit maybe used in offices, hospitals, manufacturing operations, etc. Usually, each compartment stores a single type of item. To access the supplies in the dispensing unit, a user first identifies himself. This may be accomplished in many ways, including but not limited to, user id (and password, optionally) entry, key cards or other electronic identification, fingerprint and iris scanning. As the user removes supplies from the dispensing unit, it tracks the quantities of items removed. There are many ways to do so, including but not limited to, compartments adapted to count and dispense a quantity input by the user, compartments programmed to dispense a preset quantity, and weight-sensitive compartments that senses the change in weight after a user removes supplies. An exemplary dispensing unit is disclosed in U.S. application Ser. No. 10/008,612, the entirety of which is herein incorporated by reference. Optionally the user may enter one or more accounts to which the costs of the supplies removed are to be billed. The transaction information thus collected needs to be periodically sent to the administrative unit.
  • For security, the firewall 100 is often set to reject connection requests originating from outside the client network, with the exception of e-mail. For example, if the administrative unit 110 attempts to connect to the dispensing unit 112, i.e. by polling, this connection request will be rejected by the firewall 100. Thus it is desirable to have the dispensing unit, for example, 112, initiate the connection to the administrative unit 110. To the firewall 100, this is equivalent to a user accessing the Internet from a workstation, for example, 102. This connection may be via the hypertext transfer protocol (http) or its secured counterpart (https).
  • After connection, the administrative unit 110 can upload files to, and download files from, a dispensing unit, for example, 112, as though connected via the traditional file transfer protocol (ftp). These files include the regular incoming and outgoing (from viewpoint of dispensing unit) files with information on users, items and transactions. These files may also include error log files, communication configuration files, and dispensing unit executable files. The administrative unit 110 can also execute commands on the dispensing unit, for example, rebooting the dispensing unit. These commands are sent to the dispensing unit in a file during the file transfer, and contain parameters recognized as commands by the program running on the dispensing unit.
  • The administrative unit 110 has an interface for an administrator to perform all the above functions. Other functions available on this interface may include adding, changing and deleting users and dispensing units. The administrative unit 110 also keeps a connection log from each dispensing unit. In some embodiments events are triggered by an aberrant dispensing unit, one which has not communicated with the administrative unit 110 over a preset period of time. In one of these embodiments a message is dispatched to the administrator advising him to physically check on the aberrant dispensing unit. In another one of these embodiments the administrative unit 110 may prioritize the next connection attempt from the aberrant dispensing unit.
  • FIG. 2 is an overview flowchart of the program running on a dispensing unit. Following an initialization step 200, the program determines in step 202 whether it is time to connect to the administrative unit, by comparing a timer value to the communication interval. If so, it connects to the administrative unit in step 204 and transfer files. If not, it next determines in step 206 whether the file transfer request is urgent. If it is urgent, the program loops back to step 204. Step 208 represents an interrupt at which the program may be terminated, passing control back to the system handler in step 210. In step 212 the dispensing unit determines if the communication configuration file has changed. If so it updates the changed communication parameters, such as the communication interval or the administrative unit's IP address, in step 214. The program runs in a loop, labeled the MAIN LOOP, defined by steps 202, 206, 208 and 212.
  • FIG. 3 is a detailed flowchart of step 202 in FIG. 2. The executable file containing the program is run in step 300. In step 302, the program opens a http port. In step 304 it checks the integrity of the files on the dispensing unit. In step 306 it reads the communication configuration file of the dispensing unit, and determines if the file is corrupted in step 308. If so, the file is reset with default communication parameters in step 310. In step 312, the timer is started, and the program returns to the MAIN LOOP. Steps 314, 316, and 318 are points at which the program may be terminated, passing control back to the system handler in step 320.
  • FIG. 4 is a detailed flowchart of step 204 in FIG. 2. The program initiates the connection to the administrative unit in step 400. In step 402 the program determines whether the connection has timed out. If so the program returns to the MAIN LOOP. In step 406 the program attempts to log into the administrative unit. In step 408 the program determines whether the connection has timed out. If so the program returns to the MAIN LOOP. In step 410 the program determines whether it has access to the administrative unit. If access is denied the program returns to the MAIN LOOP. If access is granted the program next determines in step 412 whether an older version of the incoming file already exists. If not the incoming file is received in step 414. If an older version of the incoming files exists in step 412, that means it has not been processed by the dispensing unit, and program skips step 414. In step 416 the outgoing file is sent to the administrative unit. Steps 418 and 420 are points at which the program may be terminated, passing control back to the system handler in step 422.
  • FIG. 5 is a detailed flowchart of step 414 in FIG. 4. In step 500 the program sends a http request to the administrative unit for the incoming file. In step 502 the dispensing unit receives a block of the incoming file. If the connection times out, as represented by step 504, the temp file storing the blocks received so far is deleted in step 506 and the program returns to the MAIN LOOP. In step 508 the checksum is calculated for error correction. If there is an error a NACK is sent to the administrative unit in step 510. If the number of NACK's exceeds a predetermined limit in step 512, the temp file storing the blocks received so far is deleted in step 514 and the program returns to the MAIN LOOP. If there is no error after the checksum is calculated in step 508 the received block is appended to the temp file in step 516 and an ACK is sent to the administrative unit in step 518. In step 520 the program determines whether the received block is the last block of the incoming file. If not the timer is reset in step 522 and the program loops back to step 502. If the last block of the incoming file has been received, the temp file is renamed to the incoming file in step 524. Step 526 represents an interrupt at which the program may be terminated, passing control back to the system handler in step 528.
  • FIG. 6 is a detailed flowchart of step 416 in FIG. 4. In step 600 the outgoing file is broken down into blocks. The next block is determined in step 602 and a checksum for error correction is calculated in step 604. In step 606 this block is transmitted to the administrative unit. If the connection times out, as represented by step 608, the program returns to the MAIN LOOP. The program requests an acknowledgement from the administrative unit in step 610. Once again, if the connection times out, as represented by step 612, the program returns to the MAIN LOOP. If a NACK is received in step 610, the program determines if the number of NACK's exceeds a predetermined limit in step 614. If so, the program returns to the MAIN LOOP. If an ACK is received in step 610, the program determines whether there are more blocks to transmit in step 616. If so the program loops back to step 602. If there are no more blocks to transmit in step 616, the outgoing file is deleted in step 618 and the program determines whether there are other files to be transferred to the administrative unit in step 620. For example, the administrative unit may request that the error log file from the dispensing unit be transferred. Steps 622 and 626 are points at which the program may be terminated, passing control back to the system handler in steps 624 and 628, respectively.
  • While certain embodiments of the inventions are described above, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel methods and systems described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the methods and systems described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the invention.

Claims (18)

1. A method of communication between a dispensing unit and an administrative unit of an automated inventory system, comprising:
dispensing a quantity of an item in a transaction by said dispensing unit;
collecting transaction data by said dispensing unit;
establishing a communication connection to said administrative unit by said dispensing unit; and
transferring said transaction data to said administrative unit from said dispensing unit.
2. The method of claim 1, wherein said step of collecting transaction data occurs contemporaneously with dispensing a quantity of an item.
3. The method of claim 2, additionally comprising the step of tabulating said transaction data.
4. The method of claim 3, wherein said step of tabulating said transaction data is performed by said administrative unit.
5. The method of claim 3, wherein said step of tabulating said transaction data is performed by said dispensing unit before said step of transferring said transaction data to said administrative unit.
6. The method of claim 1, additionally comprising the step of transferring user data and item data between said dispensing unit and said administrative unit.
7. The method of claim 1, additionally comprising the steps of transferring a file with at least one command from said administrative unit to said dispensing unit and executing said command by said dispensing unit.
8. An automated inventory system, comprising:
an administrative unit; and
a dispensing unit configured to:
dispense a quantity of an item;
maintain a record of said quantity of said item;
establish a communication connection to said administrative unit; and
transfer said record to said administrative unit.
9. The automated inventory system of claim 8, wherein said dispensing unit is further configured to identify a user.
10. The automated inventory system of claim 8, wherein said administrative unit is configured to monitor an availability of said item in said dispensing unit.
11. The automated inventory system of claim 10, wherein said administrative unit is further configured to generate a warning when said availability reaches an amount defined as an inventory management level associated with said item.
12. The automated inventory system of claim 10, wherein said administrative unit is further configured to reorder said item when said availability reaches an amount defined as an inventory management level associated with said item.
13. The automated inventory system of claim 12, wherein said administrative unit is managed by a vendor of said item.
14. The automated inventory system of claim 8, further comprising a plurality of other dispensing units.
15. The automated inventory system of claim 14, wherein said dispensing unit is further configured to point out other dispensing units where said item is available if said item is unavailable at said dispensing unit.
16. The automated inventory system of claim 15, wherein said administrative unit is configured to modify a user's access rights.
17. The automated inventory system of claim 8, additionally comprising a communication infrastructure.
18. The automated inventory system of claim 17, wherein said communication infrastructure comprises a client's computer network.
US11/331,847 2001-03-15 2006-01-13 Method and system of communication for automated inventory systems Abandoned US20060195371A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/331,847 US20060195371A1 (en) 2001-03-15 2006-01-13 Method and system of communication for automated inventory systems

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US27605401P 2001-03-15 2001-03-15
US10/100,219 US6993501B1 (en) 2001-03-15 2002-03-15 Method and system of communication for automated inventory systems
US11/331,847 US20060195371A1 (en) 2001-03-15 2006-01-13 Method and system of communication for automated inventory systems

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/100,219 Continuation US6993501B1 (en) 2001-03-15 2002-03-15 Method and system of communication for automated inventory systems

Publications (1)

Publication Number Publication Date
US20060195371A1 true US20060195371A1 (en) 2006-08-31

Family

ID=35694975

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/100,219 Expired - Fee Related US6993501B1 (en) 2001-03-15 2002-03-15 Method and system of communication for automated inventory systems
US11/331,847 Abandoned US20060195371A1 (en) 2001-03-15 2006-01-13 Method and system of communication for automated inventory systems

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/100,219 Expired - Fee Related US6993501B1 (en) 2001-03-15 2002-03-15 Method and system of communication for automated inventory systems

Country Status (1)

Country Link
US (2) US6993501B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080311939A1 (en) * 2007-06-18 2008-12-18 Nokia Corporation Acknowledgment aided space domain user scheduling for multi-user mimo

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7401046B2 (en) * 2001-07-25 2008-07-15 Chicago Board Options Exchange System and method for displaying option market information
US20040249922A1 (en) * 2003-03-31 2004-12-09 Hackman Thomas J. Home automation system security
US7689478B2 (en) * 2005-06-23 2010-03-30 Nexiant Inventory management system and method
US20090216675A1 (en) * 2008-02-21 2009-08-27 The Coca-Cola Company Commission Centric Network Operation Systems and Methods
US9460440B2 (en) * 2008-02-21 2016-10-04 The Coca-Cola Company Systems and methods for providing electronic transaction auditing and accountability
US8645273B2 (en) * 2008-02-21 2014-02-04 The Coca-Cola Company Systems and methods for providing a vending network
US20090216665A1 (en) * 2008-02-21 2009-08-27 The Coca-Cola Company Systems and Methods for Providing Vending Network Data Management
US8015088B2 (en) 2008-03-03 2011-09-06 The Coca-Cola Company Methods for implementing a loyalty program
US8121917B2 (en) 2008-03-03 2012-02-21 The Coca-Cola Company Systems for implementing a loyalty program
US10657488B2 (en) 2009-07-14 2020-05-19 Carefusion 303, Inc. Portable inventory tracking system
PL2577624T3 (en) 2010-06-04 2018-06-29 Pepsico, Inc. Networked vendor for workplace or controlled environment

Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4412292A (en) * 1981-02-17 1983-10-25 The Coca-Cola Company System for the remote monitoring of vending machines
US5091713A (en) * 1990-05-10 1992-02-25 Universal Automated Systems, Inc. Inventory, cash, security, and maintenance control apparatus and method for a plurality of remote vending machines
US5207784A (en) * 1989-03-09 1993-05-04 Wilbur Schwartzendruber Vending machine with monitoring system
US5963452A (en) * 1996-09-20 1999-10-05 Kabushiki Kaisha Media Marketing Network System for managing sales of goods for vending machines
US5971273A (en) * 1996-09-25 1999-10-26 Vallaire; Milton E. Automated florist system allowing direct contact with delivering florist
US5980090A (en) * 1998-02-10 1999-11-09 Gilbarco., Inc. Internet asset management system for a fuel dispensing environment
US6011999A (en) * 1997-12-05 2000-01-04 Omnicell Technologies, Inc. Apparatus for controlled dispensing of pharmaceutical and medical supplies
US6012041A (en) * 1996-03-01 2000-01-04 I.S.R. (Logistics) Limited Apparatus for the control of inventory
US6181981B1 (en) * 1996-05-15 2001-01-30 Marconi Communications Limited Apparatus and method for improved vending machine inventory maintenance
US6341271B1 (en) * 1998-11-13 2002-01-22 General Electric Company Inventory management system and method
US6351689B1 (en) * 2000-07-10 2002-02-26 Progressive Int'l Electronics Polling remote fueling sites for product level information through the internet
US6415318B1 (en) * 1997-04-04 2002-07-02 Microsoft Corporation Inter-enterprise messaging system using bridgehead servers
US6418416B1 (en) * 1999-04-02 2002-07-09 Supplypro, Inc. Inventory management system and method
US6546314B1 (en) * 2000-07-31 2003-04-08 Progressive Int'l Electronics Polling remote fueling sites for product level for SIR analysis through the internet
US6601037B1 (en) * 1998-07-20 2003-07-29 Usa Technologies, Inc. System and method of processing credit card, e-commerce, and e-business transactions without the merchant incurring transaction processing fees or charges worldwide
US6604087B1 (en) * 1998-07-20 2003-08-05 Usa Technologies, Inc. Vending access to the internet, business application software, e-commerce, and e-business in a hotel room
US6675067B2 (en) * 2000-03-09 2004-01-06 Steven J. Blad Computer network based coin-operated machine monitoring system
US20050198364A1 (en) * 1997-03-17 2005-09-08 Microsoft Corporation Methods and apparatus for communication media commands and data using the HTTP protocol
US20060085292A1 (en) * 2004-08-03 2006-04-20 Thierry Lafay Systems and methods for managing alcoholic beverages
US7040532B1 (en) * 2004-11-30 2006-05-09 Bts Technology, Inc. System and method of RFID data tracking
US7509380B2 (en) * 1997-06-26 2009-03-24 Ricoh Company, Ltd. Method and system for diagnosis and control of machines using connectionless modes having delivery monitoring and an alternate communication mode

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10247982A (en) * 1997-03-05 1998-09-14 Nippon Mechatronics:Kk Remote monitor system

Patent Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4412292A (en) * 1981-02-17 1983-10-25 The Coca-Cola Company System for the remote monitoring of vending machines
US5207784A (en) * 1989-03-09 1993-05-04 Wilbur Schwartzendruber Vending machine with monitoring system
US5091713A (en) * 1990-05-10 1992-02-25 Universal Automated Systems, Inc. Inventory, cash, security, and maintenance control apparatus and method for a plurality of remote vending machines
US6012041A (en) * 1996-03-01 2000-01-04 I.S.R. (Logistics) Limited Apparatus for the control of inventory
US6181981B1 (en) * 1996-05-15 2001-01-30 Marconi Communications Limited Apparatus and method for improved vending machine inventory maintenance
US5963452A (en) * 1996-09-20 1999-10-05 Kabushiki Kaisha Media Marketing Network System for managing sales of goods for vending machines
US5971273A (en) * 1996-09-25 1999-10-26 Vallaire; Milton E. Automated florist system allowing direct contact with delivering florist
US20050198364A1 (en) * 1997-03-17 2005-09-08 Microsoft Corporation Methods and apparatus for communication media commands and data using the HTTP protocol
US6415318B1 (en) * 1997-04-04 2002-07-02 Microsoft Corporation Inter-enterprise messaging system using bridgehead servers
US7509380B2 (en) * 1997-06-26 2009-03-24 Ricoh Company, Ltd. Method and system for diagnosis and control of machines using connectionless modes having delivery monitoring and an alternate communication mode
US6011999A (en) * 1997-12-05 2000-01-04 Omnicell Technologies, Inc. Apparatus for controlled dispensing of pharmaceutical and medical supplies
US5980090A (en) * 1998-02-10 1999-11-09 Gilbarco., Inc. Internet asset management system for a fuel dispensing environment
US6604087B1 (en) * 1998-07-20 2003-08-05 Usa Technologies, Inc. Vending access to the internet, business application software, e-commerce, and e-business in a hotel room
US6601037B1 (en) * 1998-07-20 2003-07-29 Usa Technologies, Inc. System and method of processing credit card, e-commerce, and e-business transactions without the merchant incurring transaction processing fees or charges worldwide
US6341271B1 (en) * 1998-11-13 2002-01-22 General Electric Company Inventory management system and method
US6418416B1 (en) * 1999-04-02 2002-07-09 Supplypro, Inc. Inventory management system and method
US6675067B2 (en) * 2000-03-09 2004-01-06 Steven J. Blad Computer network based coin-operated machine monitoring system
US6351689B1 (en) * 2000-07-10 2002-02-26 Progressive Int'l Electronics Polling remote fueling sites for product level information through the internet
US6546314B1 (en) * 2000-07-31 2003-04-08 Progressive Int'l Electronics Polling remote fueling sites for product level for SIR analysis through the internet
US20060085292A1 (en) * 2004-08-03 2006-04-20 Thierry Lafay Systems and methods for managing alcoholic beverages
US7040532B1 (en) * 2004-11-30 2006-05-09 Bts Technology, Inc. System and method of RFID data tracking
US20060113370A1 (en) * 2004-11-30 2006-06-01 Taylor Peter S System and method of rfid data tracking

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080311939A1 (en) * 2007-06-18 2008-12-18 Nokia Corporation Acknowledgment aided space domain user scheduling for multi-user mimo

Also Published As

Publication number Publication date
US6993501B1 (en) 2006-01-31

Similar Documents

Publication Publication Date Title
US20060195371A1 (en) Method and system of communication for automated inventory systems
US9912516B2 (en) Method and apparatus for data file transfer using destination linked directories
EP1748621B1 (en) Computer system polling
US6868444B1 (en) Server configuration management and tracking
US6757585B2 (en) Management system for vending machines
WO1999055040A1 (en) Access control method and apparatus
US20020069272A1 (en) System and method for managing server configurations
US6389543B1 (en) System and method for command routing and execution in a multiprocessing system
CN101213528B (en) Data processing system
US7461262B1 (en) Methods and apparatus for providing security in a caching device
US20070094323A1 (en) Managed resource sharing method and apparatus
CN1474986A (en) System and method for providing supervision of plurality of financial services terminals
US7155578B2 (en) Method and system for transferring files using file transfer protocol
CN101702735A (en) TCP service device and method
US20080147870A1 (en) Server, information processing method, server program and server system
EP1358532A2 (en) Remotely managing a data processing system via a communications network
CN108492478A (en) Wechat intelligent cabinet control system based on cloud and iris recognition and deposit part, pickup method
WO1999021341A2 (en) Method for remote storage for an internet appliance
US7181507B1 (en) Internet based access point management system
CN101018215A (en) Mail filtering system and mail filtering method
CN1722169A (en) Transaction support method and system using safe box
AU2001230806B2 (en) System and method for interfacing a data processing system to a business-to-business integration system
US20070067352A1 (en) Servicing queries in a database system
AU2001230806A1 (en) System and method for interfacing a data processing system to a business-to-business integration system
US20070130080A1 (en) Information processing system and license management method

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION