Abstract:
Apparatus and method for managing the availability of items using a computer system. The system permits various computers to access databases located at offsite computers to retrieve/transmit preselected information pertaining to the availability of items from/to each accessed database. Categories of items are selected by a user prior to communicating with offsite computers so that only the categories of interest are selected and only data pertaining to those categories is downloaded to the requesting computer or uploaded from a called computer. Once data has been retrieved by the requesting computer, the user can use various parameters to select and display the received information in the selected categories. In addition, the requesting computer can automatically retrieve information from offsite computers at a predetermined time each day of the week.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to an apparatus for and a method of managing the availability of items. More particularly, the present invention enables network users to access many various databases containing inventory information relating to a variety of items and retrieve information pertaining to selected family/subfamilies. Items of specific interest are selected by a user prior to communicating with many other databases so that only information pertaining to the items of interest are stored locally from each of the many offsite databases. Once the information has been retrieved by the user, the user can perform a local search of the retrieved information based on various selectable parameters and then display the results of the search. In addition, the present invention allows for automatic updating of the preselected items of interest so that the integrity of the locally stored various offsite inventories are accurately maintained. 
     2. Description of the Prior Art 
     Prior to the present invention systems capable of merely collecting information from databases were known. For example, U.S. Pat. No. 4,774,655 relates to a conventional system that enables a user to retrieve information from a plurality of remote databases using different language formats. The system includes a central processing unit connected to an incoming telecommunications line via a first modem and an outgoing telecommunications line via a second modem. The user accesses the system using a personal computer and a modem by calling the incoming telecommunications line. The system permits the calling user to specify an area of interest and then automatically selects a database to be searched in accordance with the area of interest specified by the user. The user then specifies a search request which is translated by the system into the language format for the appropriate database, and communicates with the database through the outgoing telecommunications line to download all information from the database corresponding to the search request presented by the user. The system then terminates the link with the database and permits the user to browse through the received information locally. 
     The present invention brings efficiencies to the marketplace by facilitating both the buying and selling of items through a very large current data base which is through this invention self sustaining. Efficiencies are achieved through rapid direct access to a large customer and vendor base, maximization of dollar return for the seller, and minimization of cost for the buyer. These goals are achieved by the present invention by bringing the many buyers and many sellers in closer contact. Also achieved is the minimization of time and cost needed to accomplish these product transactions. 
     Prior to the present invention, the sale of excess inventories were handled on a singular basis with middle man involvement and without direct access to a large customer base. This generally precluded receiving maximum return on each item and added time and inefficiencies to any sale transaction. 
     SUMMARY OF THE INVENTION 
     The foregoing problems have been solved in accordance with the present invention by providing a system and method for managing the availability of items held by users of a network. The system permits users to access inventory databases from many offsite locations in order to retrieve and offer the inventory of particular items that the buyers and sellers are interested in. 
     An object of the present invention is to solve the above problem by facilitating market accessibility for both the buyer and the seller by making both time spent and dollar return more efficient by providing rapid local retrieval of &#34;complete&#34; data on items and supplies from inventories being offered from many offsite users. 
     Another object of the present invention is to provide rapid and easy updating of the local inventory database thus facilitating the currency of items being offered, 
     Another object of the present invention is to allow, at the discretion of the user, the system to be used only for buying or only for selling or for both buying and selling. 
     Another object of the present invention is the capability of local searching for items using various search criteria. This allows for more rapid search techniques. 
     Another object of the present invention is the capability of two-way transmission between network members, wherein both the receiver and caller transmit their pertinent requirements and inventories to each other, thus cutting overall communication costs. 
     Another object of the present invention is to offer control over the frequency of automatic inventory updating and to provide documentation confirming the updated inventory status. 
     Another object of the present invention is to provide local limits and screening on incoming data in regard to acceptable minimum quantities and cost extensions (price×quantity) in order to control superfluous inventory items not meeting pre-established inventory criteria. 
     Another object of the present invention is to provide preselectability of the many families/subfamilies available from the many offsite inventories of interest. 
     Another object of the present invention is that only family/subfamilies that have been updated since the last communication are transferred thus reducing communication costs. 
     Another object of the present invention is to permit unattended transmission and reception of data, permitting cost savings through the use of lowest rate telephone times and operator costs. 
     Another object of the present invention is that each user can limit access to their inventory database to selected network members. 
     Another object of the present invention is to provide reports and schedules so that communications can be easily programmed and accounted for. 
     Another object of the present invention is providing automatic start and stop times for modem operation. Start times being programmable up to 24 hours and stop times being programmable up to 7 days from the start time. This allows for integration of offsite inventory data into the local offsite inventory data prior to the start of a work day allowing for immediate availability to the current local offsite inventories. This also allows for modem operation during holiday and weekend periods. 
     Another object of the invention is that it permits only one communication link up between specific users per modem segment if there has been no change in either inventory thus preventing duplicity of transmissions. 
     Another object of the present invention is to offer a weekly schedule of all programmed calls allowing for ease of schedule control. 
     Another object of the present invention is to offer a comment section so that special information on each item is readily available. 
     These and other objects, aspects, features, and advantages of the present invention will become apparent from the following description taken in conjunction with the accompanying drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram illustrating a system employing the present invention; 
     FIG. 2 is a flowchart of the main routine of a program which implements the present invention on the system; 
     FIG. 3 is a display of the main menu; 
     FIG. 4 is a flowchart of the local menu routine; 
     FIG. 5 is a display a local inventory menu; 
     FIG. 6 is a master list of all available system family/subfamily selections; 
     FIG. 7 is a flowchart for selecting family and subfamily entries for both local and/or offsite inventory databases; 
     FIG. 8. is a display of local inventory family/subfamilies; 
     FIG. 9 is a display of an item menu for a particular family/subfamily; 
     FIG. 10 is an item form; 
     FIG. 11 is a flowchart of the search routine; 
     FIG. 12 is a display of a search criteria form; 
     FIG. 13 is a display showing the results of a search; 
     FIG. 14 is a display of the item update form; 
     FIG. 15 is a flowchart of the offsite menu routine; 
     FIG. 16 is a display of an offsite inventory menu; 
     FIGS. 17A and 17B show a comparison of the search by vendor and search by family search results; 
     FIG. 18 is a display of the minimum quantity and minimum cost extension form; 
     FIG. 19 is a flowchart of the communication menu routine; 
     FIG. 20 is a display showing the communication menu; 
     FIG. 21 is a display showing the communication setup form; 
     FIG. 22 is a display of the vendor form; 
     FIG. 23 is a display of the call times list; 
     FIG. 24 is a display of transaction and schedule reports; and 
     FIG. 25 is a display of the run modem program form. 
    
    
     DETAILED DESCRIPTION OF INVENTION 
     The present invention provides for local on-site computer storage of both a local inventory and many other offsite network members&#39; inventories. Each of the network members or users maintains their local inventory in the specified family/subfamily/item format on their respective computer. The uniformity of the format by all members of the network allows for universal data transferral between any and all members of the network. 
     Basically, each users system includes three integrated subsystems: local inventory, offsite inventory and communications. 
     Local inventory is where information on items available to other offsite network users is stored including family/subfamily, item type, manufacturer, date code, quantity, price, and comment information. 
     Offsite inventory is where inventories formatted (as in the above local inventory) are received from many offsite users and then stored for later retrieval by the local user. 
     Communication subsystem is provided for data transferral, modem control, frequency of data updating, interfacing with peripherals, automating communications and reports of data transferral and schedules of incoming and outgoing modem calls. The communication subsystem also provides for selectability of the network users who will have access to the local inventory. 
     The system permits the local users to search using their local computer the many stored offsite inventories for information pertaining to an item based on particular search criteria. The search criteria can be edited using any of the following descriptive parameters: item type, manufacturer, date code, quantity and price. Once an item has been identified as being available at another member&#39;s site the local member can then contact that vendor using the vendor information which is available with each line item of inventory stored. 
     The system therefore provides a simple and efficient method for the local user to identify offsite users having an item desired by the local user, without resorting to verbal communication and/or facsimiles in a blind attempt to locate another vendor who has the desired item. 
     FIG. 1 shows a block diagram of a system employing the present invention. The system includes a CPU 1, a floppy disk drive 2, a hard disk drive 3, a keyboard 4, a display 5 and a printer 9. 
     CPU 1 is connected to memory 6 which includes RAM and ROM. CPU 1 is also connected to modem 7 which provides the capability of performing data communication with other computers over telecommunication line 8. Any speed modem can be used in the present invention, however, the present system uses a 2400 Baud modem. 
     FIG. 2 is a high level flow chart of an inventory program which implements the present invention on the system. The system first performs an initialization routine in step 11 during which system files are initialized and pointers in CPU 1 are set to address data stored in memory 6. In step 12 a main menu like that shown in FIG. 3 is displayed on display 5. The main menu is used by a local member or user on the system to select either a local inventory menu, an offsite inventory menu, or a communication menu. Selection is performed by using keyboard 4 to move a cursor so to point at the menu item to be selected and then pressing an enter key on keyboard 4. 
     The flowchart in FIG. 2 shows that if the local inventory menu entry is selected at step 13 from the main menu, a local menu routine is called by step 14 which displays a local inventory menu like that shown in FIG. 5. FIG. 4 is a flowchart of the local menu routine, in which step 401 draws the local inventory menu on display 5. The local inventory menu provides the user with the choice of searching, editing, adding/deleting, printing or updating the local inventory database. 
     If the add/delete entry is selected at step 406 in FIG. 5, step 407 calls an add/delete routine that provides the user with a complete list of all the family/subfamily names that are available on the network. This is the same list that is provided when the offsite inventory requirements are being established (discussed below). An example of such a master list is shown in FIG. 6, wherein a menu is displayed which permits the user to move the cursor to a desired family/subfamily name and select the family/subfamily by pressing an F4 key on the keyboard to add it to the local inventory database. When a family/subfamily name has been added to the local inventory database it is identified by a check mark in the left column. For example, see the check mark at DIGITAL CMOS 4XXX. The user can also delete a family/subfamily name from the local inventory database by striking the F5 key on the keyboard. The system will then remove the check mark and remove the family/subfamily and its data from the local inventory database. 
     The local user selects from the add/delete list those families/subfamilies that are relevant to the items he will be offering to all other users on the network. 
     FIG. 7 is a flowchart of the add/delete routine which is called in step 407. Once add/delete selections have been made the user selects the enter/edit routine to enter/edit any items and/or parameters of an item which is a member of the selected family/subfamily. 
     If the user selects the enter/edit entry on the local inventory menu shown in FIG. 5, step 404 causes the local edit routine to be called by step 405. The system then displays a menu of all family/subfamily names in the local inventory database, i.e., as shown in FIG. 8. The user then selects a family/subfamily needing editing from the menu by moving the cursor to the family/subfamily to be selected and pressing the enter key. When the enter key is pressed the user will be asked to enter an item name from the menu shown in FIG. 9. The user then can select one of the listed item names which causes an item form for the selected item name to be displayed on display 5. An example of an item form is shown in FIG. 10. 
     The item form shown in FIG. 10 contains information such as family, item name, date code, manufacturer name, cost of item and quantity available. In addition, the user may enter any comments regarding the particular item. The information contained in the local item form is then used by the system as the information available to other offsite users who have interest in this family/subfamily. This is the information that will appear in the other user&#39;s offsite inventory. 
     This will be further described in the offsite inventory section. 
     Another entry that can be selected from the local inventory menu in FIG. 5 is the search entry. If selected, step 402 will cause step 403 to prompt the user to enter a family/subfamily name from the family/subfamily names in the local inventory database, using the menu shown in FIG. 8. After selecting the family/subfamily to be searched, the search routine shown in FIG. 11 is called by step 403. The search routine provides the user with the capability of searching the local inventory database for specific desired items. A similar search procedure is used for offsite inventory searching. 
     During the search routine the system prompts the user, in step 501, to enter a search criteria which is entered onto the form shown in FIG. 12. The search criteria includes item name, manufacturer name, minimum quantity, minimum date code and maximum cost. Search criteria may be edited or left in the default, if left in the default all items in the selected family/subfamily will be displayed. If edited, only those items meeting the edited search criteria will be displayed. Once the search criteria is selected the F6:search key initiates the search procedure as shown in step 502. F4:edit allows for editing search parameters through the use of a wildcard (*) as an example; if an item with a &#34;16&#34; in it is needed the item entry would read *16*. Any item with a 16 in it would then be selected. Wildcarding can also be used for manufacturer selection. Editing is also used to determine acceptable minimum quantities, minimum date codes and maximum costs. 
     The results of the search are then displayed in step 503 on display 5 as shown in FIG. 13. The parameter information being listed on the x-axis, including item name, quantity, date code, manufacturer name, cost and family. For example, in FIG. 13, chip name &#34;4002B&#34; is found in the local inventory to have a quantity &#34;20001&#34;, a date code &#34;9000&#34;, manufacturer &#34;GOLD&#34; and a cost of &#34;0.06&#34; cents. 
     The user by moving the cursor up and down using keyboard 4 can select items of interest, if the enter key is then selected the comment section for the item will be displayed. When the user is finished reviewing the list of information, the escape key is pressed which returns the system to the search criteria form so to edit the form and perform another search. Otherwise step 504 returns flow to the calling routine, the local inventory menu in this case. The search procedure is also used when a local user is searching his many stored offsite inventory databases. 
     Another entry that can be selected from the local inventory menu, shown in FIG. 5, is the update entry. If this entry is selected, step 410 causes the update routine to be called by step 411. The system then displays a menu of all family/subfamily names in the local database as shown in FIG. 8, so that the user can select the desired family/subfamily to be updated. After selecting the desired family/subfamily, the system displays a list of item records like that shown in FIG. 14 from which the user can select a specific item record to be updated. The user is then prompted to enter a new quantity and/or a new price for the item selected. When updating is complete the user presses the escape key which returns the system to the local inventory menu. This allows for rapid maintenance of inventory integrity. 
     Another entry on the local inventory menu is print. If print is selected, step 408 causes the local print routine to be called by step 409. Again, the user selects the family/subfamily desired and the system begins to print the local inventory information for the selected family/subfamily on printer 9. 
     It is not necessary to have any local inventory in order to be a user of this system. As in the case with users who are only interested in obtaining items not offering items for sale. 
     If the escape key is entered at keyboard 4 the local inventory menu is exited at step 412 and program flow passes back to the main routine. 
     Another subsystem of the present invention that can be selected from the main menu in FIG. 3 is the offsite inventory menu. If this entry is selected, step 15 in FIG. 2 causes step 16 to call the offsite menu routine. A flow chart of the offsite menu routine is shown in FIG. 15. Step 601 in this routine displays an offsite inventory menu as shown in FIG. 16, which includes a search by vendor, Search by family, offsite add/delete, print by vendor, print by family and edit minimum quantity/extension selections. 
     When the search by vendor entry is selected from the offsite inventory menu at step 602, step 613 prompts the user to select any vendors from a list of vendors provided by the system, by moving the cursor to the desired vendor&#39;s name or by using the &#34;f&#34; keys and then pressing the enter key on keyboard 4. Step 614 then requests the user to select any family/subfamilies to be searched for, the selection is made as with the vendors as explained above by using the &#34;f&#34; keys. The search criteria routine is then called in step 603. The search routine shown in FIG. 11 and described above performs the search and when completed the search results are displayed in step 504 categorized by vendor. The offsite search criteria functions in the same way as discussed in the local inventory section. 
     If the search by family entry is selected from the offsite menu routine at step 604, step 615 requests the user to select a family/subfamily to be searched and step 616 requests specific vendor names to be searched. Step 605 then calls the search routine, performs the search and displays the search results categorized by family. The difference between the search by vendor and search by family search results is displayed in FIGS. 17A and 17B. 
     If the offsite add/delete entry is selected, step 606 causes the add/delete routine to be executed by step 607. The offsite add/delete routine is the same as that described in the local inventory add/delete routine discussed above except that the local inventory add/delete selects those families/subfamilies pertinent to the local user&#39;s inventory, while the offsite inventory add/delete selects those families/subfamilies that the local user is interested in receiving from the many offsite databases that have been selected from the network. The family/subfamily selected for the local inventories and for the offsite inventories have no correlation to each other with the exception that selection is made from the same master list (see FIG. 6). It is not necessary to have offsite inventory requirements as in the case where the user only wants to offer items for sale. 
     The print by vendor entry and the print by family entry are selected by step 608 and step 610, respectively, and cause the offsite print routine to be called by step 609 and step 611, respectively. The offsite print routine is similar to the local print routine and permits the user to print all the offsite inventories arranged by vendor or family, respectively. 
     The edit minimum/extension entry selected at step 617 calls the edit minimum quantity/extension routine in step 618 which prompts the user to enter the minimum quantity and cost extension which will be accepted by the local computer from the many offsite network members. This form is displayed in FIG. 18, and permits the local user to filter out superfluous offsite inventory items because of small quantities and/or cost extensions. If the received cost is zero then the system ignores the cost extension and only the quantity is filtered. 
     If the escape key is entered at the offsite inventory menu it is exited at step 612 and program flow passes back to the main routine. 
     The last subsystem that can be selected from the main menu in FIG. 3 is the communication menu. When the communication menu is selected, step 17 causes the communication menu routine to be called by step 18. A flow chart of the communication menu routine is shown in FIG. 19. In step 701, a communication menu like that shown in FIG. 20 is displayed on display 5 including modem setup, offsite user file, view/print user call times list, view/print modem transaction file, run modem program and printer setup entries. 
     If the modem setup entry is selected, step 703 causes the setup form, as shown in FIG. 21, to be displayed. This permits the user to interface the modem to the system by specifying parameters, i.e., Site name, Baud rate, com-port, init string and dial prefix. Levels of reporting are also selected on the setup form. Four selections are available: 1) no reports; 2) transaction reports; 3) scheduler reports; and 4) transaction and scheduler reports. Level selection is accomplished by placing the cursor over the reports list and using the space bar to toggle through the options. 
     Modem operation start time may be programmed to occur any time in the next 24 hour period while modem operation stop times may be programmed to occur any time in the next 7 days thus accommodating weekends or holidays. The advantage of the auto stop is that auto stop initiates the integration of all received data into the offsite inventory and returns the system to the state it was in prior to the auto start time. After this occurs, there is a prompt on the screen asking if log review is desired. 
     If the offsite user file entry is selected in step 704 the user is requested to select a vendor at step 705 and in step 706 a vendor form is displayed like that shown in FIG. 22 which permits the local user to add an offsite user or to edit the information pertaining to the selected offsite user. The vendor form includes information pertaining to the selected user such as the user&#39;s name, address, phone number, fax number, the name of a person who can be contacted at the user&#39;s location and the offsite computer phone number of the user&#39;s modem. This user information is then available on the offsite inventory search result form when a desired item is shown on that form. This user form is filled out in order to send modem calls and also to receive modem calls, thus allowing selection of users who have access to the local inventory. 
     Also located on the user form is the format for scheduling modem calls. This is accomplished by inserting the time for the modem to call at the desired day of the week. When the system is in the run modem program the system will automatically make the modem calls at the appointed time, but the system will not complete a call if it has already received a call from that specific user during that specific run modem period since data has already been transmitted. &#34;0000&#34; is reserved for dead time and no calls can be made at that time. Call times can conveniently be changed by overwriting with a new time. A review of a full week&#39;s schedule is available by selecting the view/print users call times list on the communication menu; an example of this list is provided in FIG. 23. 
     Each of the entries on the user form, shown in FIG. 22, can be edited by moving the cursor to the entry to be changed and typing in new or modified information using keyboard 4. When the user is satisfied with the information entered in the user form, the escape key on keyboard 4 is depressed to exit and save the user form. 
     The system will only allow communication with a network member if that member&#39;s information has been entered in the offsite users file--this allows each site to determine with whom it will communicate. 
     If the view/print modem transaction file entry is selected from the communications menu at step 707, the system displays on display 5 the level of reporting as selected on the setup menu. This data may then be viewed on the screen and dent to the printer for hard copy. An example of a transaction file is shown in FIG. 24. 
     The run modem program entry detected at step 711 causes a modem routine to be executed at step 712 which places the system into a modem communication mode as displayed in FIG. 25. The communication mode calls the selected offsite locations at the selected time/day as specified in the offsite user form discussed above. The system must be in the run modem mode to receive/send calls from/to the offsite locations. It is expected that the run modem mode will be used from 6:00 p.m. to 5:00 a.m. local time which will allow for U.S., South American, and European time variations. Far Eastern time variations can be allowed for on weekend operations or by extending the run modem time. 
     Run modem program can be selected manually from the communication menu or automatically from the times programmed in the modem setup mode. An advantage in using the auto stop time is that the integration of the received offsite inventory data will commence with auto stop thus saving time from the work day. It is also possible to force a modem call by selection F1:call when you are in the run modem program. 
     The last entry on the communication menu is the printer setup entry which, using steps 713 and 714, permits the user to specify the printer being used by the system and any necessary parameters for the specified printer. 
     If the escape key is entered at the keyboard the communications menu is exited at step 715 and program flow passes back to the main routine. 
     In addition to the inventory program, shown in FIG. 2, another program is used to manage the overall network. The network manager program permits a network manager to edit the family/subfamily master list which is used by all users when selecting local and offsite inventory databases. This program also keeps track of network members. 
     The system has been implemented to manage the availability of electronic components. In this application, information regarding each component includes family/subfamily, item name, date code, manufacturer, cost, quantity on hand, comments and vendor information. The use of the family/subfamily item allows for three levels of product definition and this system can be used for any product defined by multiple levels of definition and is not limited only to electronic components. 
     Another feature of the present invention provides for two-way communications between the local system and offsite systems so that each site will have its offsite inventory updated with each call effectively cutting communications in half.