DATA COLLECTION NETWORK APPLIANCE AND METHOD
BACKGROUND OF THE INVENTION
This invention relates generally to an inventory management system and more particularly to a network appliance that automates the process of gathering data from an industπal machine and securely pushing the data over a public network to a central data processing center using standard Internet protocols. In one type of inventory management system there are storage containers such as silos for stoπng mateπal. A sensor, connected to each of the silos in the inventory management system, measures the amount of mateπal in the silo. A sensor controller connected to each of the sensors receives the measurement data. The sensor controller transmits the measurement data to a purchasing agent located at a remote site. The purchasing agent evaluates the measurement data and determines if the silos need more mateπal. If there is a need for more mateπal, the purchasing agent contacts a vendor to determine if the vendor has an inventory of mateπal available. If there is inventory available from the vendor, then the purchasing agent places an order. The vendor fills the order and transports the mateπal to the silos by suitable transportation such as a truck or a train
A problem with this type ot inventory management system is that the transmission of the measurement data from the sensor controller to the purchasing agent located at the remote site can be quite expensive. Typically, the sensor controller transmits the measurement data to a server located at the purchasing agent's site through a modem connection after the agent has made a request. This is referred to as "pulling" the data because the server makes a request for the data to the sensor controller. In most cases, the purchasing agent is a long distance call away from the site of the inventory management system where the silos, sensors and sensor controller are. In addition, the server pulls the measurement data from the sensor controller sometimes every two hours to ensure that there is enough mateπal. However, that may vary according to the consumption rate of mateπal The combination of the sensor controller transmitting the measurement data to the purchasing agent's server via a long distance
call and that the transmission occurs fairly frequently, results in an inventory management system that is expensive to maintain. In some cases, the costs to transmit measurement data from the sensor controller to the purchasing agent's server can be as high as a thousand dollars a month. Other problems may exist in large inventory management systems that have many sensors In particular, many of the current inventory management systems are not scaleable to handle the data collection and transmission functions performed by all of the sensors.
In order to overcome the above problems, there is a need for a device that can enable the inventory management system to transmit the measurement data from the sensor controller to the purchasing agent's server in a low-cost and secure manner.
BRIEF SUMMARY OF THE INVENTION
In accordance with one embodiment of this invention, there is a data collection network appliance. The data collection network appliance compπses a scheduler for coordinating data collection events. A data collector gathers data according to a schedule set by the scheduler. A data transmitter transmits the collected data over a network according to the schedule
Similarly, in this invention there is a method for collecting data and transmitting over a network The method compπses coordinating data collection events; collecting data according to the coordinating of events; and transmitting the collected data over a network according to the coordinating of events
Also, in this invention there is a computer-readable medium stoπng computer instructions for instructing a computer to collect data and transmit the data over a network The computer instructions compπse coordinating data collection events; collecting data according to the coordinating events; and transmitting the collected data over a network according to the coordinating of events
In another embodiment of this invention there is a system for collecting data and transmitting over a network. In this system there is a plurality of sensors for measuπng data. A data collection network appliance is coupled to the plurality of sensors The data collection network appliance compπses a scheduler for coordinating data collection events, a data collector for gatheπng data from the plurality of sensors according to a schedule set by the scheduler, and a data transmitter
for transmitting the collected data according to the schedule. In this system there is also a data processing center for communicating with the data collection network appliance. A network couples the data collection network appliance and the data processing center.
BRIEF DESCRIPTION OF THE DRAWINGS Fig 1 shows a schematic diagram of an inventory management system according to the pπor art;
Fig. 2 shows a schematic diagram of a data collection network appliance used in an inventory management system according to this invention;
Fig. 3 shows a schematic of the software architecture of the data collection network appliance according to this invention,
Fig. 4 shows a flow chart descπbing the steps of using the data collection network appliance in conjunction with an inventory management system according to this invention;
Fig. 5 shows a schematic diagram of a plurality of inventory management systems connected to a central data processing center according to this invention; and
Fig. 6 shows a schematic of the software architecture of the central data processing center used in accordance with Fig. 5.
DETAILED DESCRIPTION OF THE INVENTION
Fig. 1 shows a schematic diagram of an inventory management system 10 according to the pπor art. The inventory management system 10 monitors and determines realtime inventory status of one or more storage containers such as silos at a manufactuπng site. Other functions performed by the inventory management system 10 may include automatic ordeπng of inventory to replenish the silos, evaluating inventory usage and predicting estimated future inventory usage. The inventory management system 10 compπses at least one silo 12 for stoπng mateπal. Besides a silo, the inventory management system could use other storage containers such as a storage bin, hopper and bag to store the mateπal. Although not shown in Fig. 1, a mateπal processor such as an extruder, an injection molder, a die cast device or any other device that can use the mateπal from the silos to produce a product can be used.
Typically, an inventory supply line such as a pneumatic line, a screw conveyor, a belt conveyor, a bucket conveyor, or a vibratory line can deliver the inventory mateπal from each silo to the mateπal processor so that it can be processed and formed into the product. Also attached to each silo 12 is a sensor 14 for providing signals indicative of the amount of inventory in the silo. The sensor 14 may be any type of amount indicator that permits the determination of the amount of mateπal in a storage container. In particular, the sensor may include devices such as a level sensor, a weight indicator, a volume analyzer, an ultrasonic level detector, an optical sensor or a laser-sensing detector. A sensor controller 16 connected to the sensors 14 receives the signals indicative of the inventory amount in each silo 12. The sensor controller may also receive signals from other on-site storage containers located at the manufactuπng site. Although not shown in Fig. 1, the other on-site storage containers may include a warehouse and on-site transport vehicles such as a rail car, a vessel or a truck, that have delivered inventory to the manufactuπng site.
A modem 18 will transmit the inventory amount signals from the sensor controller 16 to a server 20 remotely located from the manufactuπng site after the server has actually dialed out to the modem. Generally, the server 20 peπodically dials out to the modem 18 to forward the inventory amount signals to the server. The server 20 determines the amount of inventory used, estimates future use of the mateπal and determines if more mateπal needs to be ordered. Although not shown in Fig. 1, there are several other sources that the server 20 relies on to perform its intended functions. For example, an inventory pπce source provides pπcing information (e.g., economic indicators, economic models, pπcing indexes, etc ) that enables the server 20 to determine the lowest available pπce for the inventory of mateπal. In addition, a shipping information source provides the server 20 with information (e.g., taπffs, taxes, forms of shipping, availability of shipping, etc.) for analyzing the availability of inventory and the types and costs of transporting the inventory from a vendor to the manufactuπng site. Another source connected to the server 20 is a transportation advisory unit that provides advisory information concerning road conditions, rail conditions, water conditions, existing and possible delays, construction along possible transportation routes, weather information that may affect the shipment. A more
detailed descπption of this type of inventory management system is provided m commonly-assigned U.S. patent application seπal number 09/191,910, entitled "Inventory Management System and Method", which is incorporated herein by reference. Fig. 2 is a schematic diagram of a data collection network appliance 22 in use with an inventory management system 24 according to this invention. The data collection network appliance 22 automates the process of gatheπng data from the sensor controller 16 and securely pushes the data over a network 26 such as the Internet via a network connection device such as a modem 18 and an Internet Service Provider (ISP) connection This invention is not limited to the use of the modem, and in particular, other network connection devices can be used like an integrated services digital network (ISDN), local-area-network (LAN), Ethernet, lOBase-T, 100Base-T, etc. that uses protocols such as an TCP/IP, AppleTalk, etc. The server 20 located at a remote central data processing center receives the transmitted data from the network 26 using a high-speed connection device such as a Tl line. The data collection network appliance 22 enables the inventory management system 24 of this invention to overcome the high costs associated with the inventory management system 10 of the pπor art. In particular, in the inventory management system 24 of this embodiment, the data collection network appliance 22 transmits the data from the manufactuπng site to the network 26 by an ISP connection that is made through a local telephone call On the other hand, the inventory management system 10 of the pπor art transmits the data from the manufactuπng site to the server 20 through a modem connection that typically compπses long distance telephone calls Since the ISP connection is made through a local telephone call and not a long distance telephone call, the costs to transmit data from the manufactuπng site to the central data processing center will be significantly less. Other network connection devices would also provide a significant cost reduction as compared to the pπor art. The data collection network appliance 22 is a computer such as a workstation or a personal computer containing a processor, memory including random access memory (RAM), read only memory (ROM) and may include other components such as a keyboard, a mouse device and a monitor as a convenience for human interaction. The data collection network appliance 22 operates under control of an operating system
stored in the memory to present data on the display of the monitor and to accept and process commands via the keyboard and the mouse device. Although the data collection network appliance 22 is descπbed with reference to a workstation or personal computer, it is possible to use other computer devices with this invention that include but are not limited to a mini-computer, a micro-computer, a mainframe computer and a personal digital assistant. The data collection network appliance 22 contains one or more computer programs for implementing this invention. A computer-readable medium such as a fixed data storage device tangibly embody the computer programs of the data collection network appliance 22 and its operating system. The computer programs are programmed in Java, but other languages such as
C, C++, Basic, etc. may be used.
Fig. 3 shows a schematic of the software architecture 28 of the data collection network appliance 22 according to this invention. At the core of the data collection network appliance's architecture is the operating system. The operating system provides a software platform on top of which other programs can run. For personal computers, the operating system may be DOS, OS/2, Windows, PALM/OS and JavaOS, whereas for a workstation, a multi-user, multi-tasking operating system such as UNIX is typically used On top of the operating system is a Java virtual machine, which is a self-contained operating environment that behaves as if it is a separate computer. Typically, the Java virtual machine runs small Java programs that have been compiled into byte code, which can be run on the Java Virtual Machine.
Residing on top of the Java viπual machine are Java classes which are software modules or objects that encapsulate data and behavior. Optionally, other applications such as Jim software provided by Sun Microsystems can reside on the Java virtual machine. The Jim software simplifies the connection and shaπng of devices, such as pπnters and disk dπves on a network. In particular, the Jim software announces itself to the network, provides some details about its capabilities, and immediately becomes accessible to other devices on the network. This allows users to access the power and features of any device on the network and frees the desktop computer from holding all the memory, storage and processing power it needs for any job. In addition to the
Java virtual machine, device dπver applications reside on the operating system. The
device dπver applications are programs that control devices such as the keyboard, pπnter, modem, seπal ports, etc.
On top of the device dπvers, Jim and the Java classes are four software modules that enable the data collection network appliance 22 to gather data from the sensor controller 16 and securely push the data over the network 26 (Internet) to the server 20 using standard Internet protocols. One of those four software modules is a scheduling application that decides when the data collection network appliance 22 should be sleeping and when it should be woken up. Generally, when the data collection network appliance 22 wakes up it can instruct the sensor controller 16 to poll the sensors 14 or it can submit measured data from the controller to the server 20 over the network 26. Both polling the sensors and submitting measured data are functions of other software modules (i.e., data collection and data transmission) The data collection application is responsible for connecting the data collection network appliance 22 to the sensor controller 16 using the appropπate device dπvers such as a RS232 device. Once the sensor controller 16 is connected to the sensors 14, data is gathered and cached. The data transmission application is responsible for dialing the modem 18 to make an ISP connection using point-to-point protocol (PPP) In addition, the data transmission application establishes a secure socket layer (SSL) connection with a Web server application running on the server 20. A SSL is a protocol for transmitting pπvate documents via the Internet. Typically, a pπvate key is used to encrypt data that is transferred over the SSL connection. By convention, Web pages that require an SSL connection start with https, instead of http (hyper text transfer protocol). Another protocol that can be used for transmitting data securely over the World Wide Web (i.e., a system of Internet servers that support documents formatted in a language called hypertext markup language or html) is secure http (s- http) Whereas a SSL creates a secure connection between a client and a server, over which any amount of data can be sent securely, s-http is designed to transmit individual messages securely. Another software module that is used by the data collection network appliance 22 is the code maintenance application. The code maintenance application allows an administrator to remotely update code in the data collection network appliance 22 from the central data processing center. In addition, the code maintenance application
allows any one of the other applications (i.e., scheduling, data transmission or data collection) to check if it is running the most recent software version. If not, the application can download the most recent version from the server 20 located at the central data processing center using the code maintenance application and installs it. Fig 4 shows a flow chart descπbing the steps of using the data collection network appliance 22 in conjunction with an inventory management system. First, at block 30, a field engineer goes to the manufactuπng site and installs the hardware and software necessary to implement the data collection network appliance. In particular, the field engineer sets the initial configuration parameters for the data collection network appliance. Possible examples of configuration parameters that are set include determining how often to poll the sensors 14, how often to submit data to the server 20, error recovery parameters, and local ISP configuration data At block 32, an administrator located at the central data processing center creates a record for the data collection network appliance at that particular site. The record may include a unique identifier for the data collection network appliance as well as any other identifiers used with the silos, sensors and sensor controller. If desired, the administrator can add or remove silos from the record. In addition, the administrator sets up a customer user account at 34 so that the user can monitor the level of mateπal in the silo as well as perform any other functions (e.g., silo trending) provided by the inventory management system.
After performing the initial set up, the data collection network appliance 22 is ready for operation. At 36, the data collection application requests that the sensor controller instruct the sensors to measure the level of mateπal in the silos Next, the data transmission application securely pushes the measured data over the network to the server using the modem and ISP connection at 38 As mentioned above, the data transmission application securely pushes the measured data on a peπodic basis using a SSL connection. Typically, the data is pushed to the server every two hours; however, this invention is not limited to this time peπod and can be performed as more or little as the user or administrator would like. If it is determined that a software update is needed at 40, then the code maintenance application downloads the latest version at
42 and the data collection and transmission steps are repeated After receiving the measured data, the data processing center uses the data to perform the above descπbed
inventory management system functions at 44 which are also set forth in commonly- assigned U.S. patent application seπal number 09/191,910, entitled "Inventory Management System and Method". Steps 36-44 are continuously repeated to provide a system that is up and running 24 hours a day, seven days a week with the exception for scheduled downtimes for maintenance.
Fig. 5 shows a schematic diagram of a plurality of inventory management systems connected to a central data processing center according to this invention. In Fig. 5 there are only two inventory management systems connected to the server 20 of the central data processing center, however, there may be many other systems connected to the server. One of the inventory management systems shown in Fig. 5 is identical to the one shown in Fig. 2. In particular, this system compπses a plurality of silos 12, sensors 14 coupled to the silos, a sensor controller 16, a data collection network appliance 22 and a modem 18. An ISP connection connects this system to the server 20 through a network 26 such as the Internet. The other inventory management system shown in Fig. 5 compπses one silo 12, a sensor 14, a sensor controller 16, a data collection network appliance 22 and a satellite dish 46. In this system, a satellite 48 receives measurement signals from the satellite dish 46. An ISP 50 receives the signals from the satellite 48 through another satellite dish 52 and sends them to the server 20 located at the central data processing center over the network 26. As mentioned above, the server 20 can be connected to the network 26 over a high-speed connection such as a Tl line and the ISP can be connected to the network by a highspeed connection such as a T3 line. The schematic of Fig. 5 is illustrative of only a couple of combinations of possible inventory management systems that could be implemented and is not intended to limit this invention thereto. Fig. 6 shows a schematic of the software architecture 54 of the central data processing center used in accordance with Fig. 5. At the core of this architecture is the operating system The operating system may be DOS, OS/2 and Windows for a personal computer and UNIX for a workstation. On top of the operating system is a Java virtual machine, which runs the optional Jim software and Java classes. In addition to the Java virtual machine, http server apphcatιon(s), a virtual control application and database service application reside on the operating system. The http server application provides access control, administration and viewing functions. The virtual
control application performs forecasting functions, trending functions, alarming functions, etc. and may be an application such as CUVEPLICITY or Bπdge View. The database services application keeps track of silo information, site information, company information, etc. On top of the above-descπbed applications resides a client web application, an appliance data collection application and an appliance code maintenance application. The appliance data collection application allows the server to collect the measured data obtained from the sensors at the remote-manufactuπng site. The appliance code maintenance application allows the server to provide an updated version of software to the data collection network appliance 22.
It is apparent that there has been provided in accordance with this invention, a data collection network appliance and method. While the invention has been particularly shown and descπbed in conjunction with a preferred embodiment thereof, it will be appreciated that vaπations and modifications can be effected by a person of ordinary skill in the art without departing from the scope of the invention.