US20010042059A1 - Inventory managing method for automatic inventory retrieval and apparatus thereof - Google Patents

Inventory managing method for automatic inventory retrieval and apparatus thereof Download PDF

Info

Publication number
US20010042059A1
US20010042059A1 US09/114,517 US11451798A US2001042059A1 US 20010042059 A1 US20010042059 A1 US 20010042059A1 US 11451798 A US11451798 A US 11451798A US 2001042059 A1 US2001042059 A1 US 2001042059A1
Authority
US
United States
Prior art keywords
node
inventory
retrieving
binary tree
attribute
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.)
Granted
Application number
US09/114,517
Other versions
US6338053B2 (en
Inventor
Tadahiro Uehara
Hiroyuki Yoshida
Rieko Yamamoto
Hiroshi Sakurai
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Assigned to FUJITSU LIMITED reassignment FUJITSU LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SAKURAI, HIROSHI, UEHARA, TADAHIRO, YAMAMOTO, RIEKO, YOSHIDA, HIROYUKI
Publication of US20010042059A1 publication Critical patent/US20010042059A1/en
Application granted granted Critical
Publication of US6338053B2 publication Critical patent/US6338053B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/203Inventory monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing

Definitions

  • the present invention relates to an inventory retrieving process in a sales circulation business.
  • each commodity item is registered as one record entry.
  • Each record is composed of a plurality of fields of attributes such as color and size.
  • inquiry conditions are designated for individual attributes (fields) of the table.
  • the prevent invention is made from the above-described point of view.
  • An object of the present invention is to accomplish an automatic inventory retrieving process corresponding to a predetermined rule even if a designated condition of the inventory retrieving process is ambiguous.
  • the present invention is based on an inventory managing apparatus for performing an inventory management for a management object.
  • the inventory managing apparatus has a database table (inventory information tree DB) composed of records to which nodes that structure binary tree data are assigned, each of the nodes being defined with at least the type of an attribute of the management object, the value thereof, an inventory quantity of the management object that satisfies a classification condition represented by the position of the node on the binary tree data, and the relation of a link to another node.
  • database table inventory information tree DB
  • the inventory managing apparatus has an inventory retrieving unit ( 104 ) for searching each node on the binary tree data through the database table corresponding to a retrieving condition defined with a combination of the attribute and value of the management object, executing an inventory retrieving process for updating the inventory quantity of each node, and searching each node with priority corresponding to the position of each node in hierarchical levels with attributes that are not included in the retrieving condition.
  • the inventory retrieving process can be automatically performed corresponding to an inventory retrieving rule based on the searching priority in a binary tree data structure.
  • the apparatus may have an inventory stocking unit ( 105 ) for executing an inventory stocking process for updating the inventory quantity of each node while searching each node on the binary tree data through the data base corresponding to a stocking condition defined with a combination of the attribute and value of the management object.
  • the apparatus may have a binary tree data on-memory structure creating unit for developing the binary tree data from the database table to a memory unit, wherein the inventory retrieving unit or the inventory stocking unit executes the inventory retrieving process or the inventory stocking process for the binary tree data developed in the memory unit.
  • binary tree data can be accessed at high speed.
  • Each record may have an identification information field for storing identification information having a value corresponding to the position of the node on the binary tree data.
  • the binary tree data on-memory structure creating unit develops the binary tree data from the database table to the memory unit corresponding to the content of the identification information field.
  • binary tree data can be developed from the database table to the memory unit.
  • Each record may have a management object type field for storing the type of the management object.
  • the binary tree data on-memory structure creating unit develops the binary tree data for each management object type from the database table to the memory unit corresponding to the content of the management object type field.
  • binary tree data can be developed from the database table to the memory unit.
  • Each node that structures the binary tree data developed to the memory unit may have node update information that represents whether or not the inventory quantity corresponding to each node has been updated by the inventory retrieving unit or the inventory stocking unit.
  • the apparatus may have a database updating unit for affecting the update state of the binary tree data developed in the memory unit to the database table corresponding to the node update information.
  • binary tree data in the memory unit can be effectively matched with the database table.
  • the present invention can be accomplished by a storage medium from which a computer reads a program that causes the computer to perform the function accomplished by the structure of the first aspect of the present invention.
  • FIG. 1 is a block diagram showing the structure of a system according to an embodiment of the present invention.
  • FIG. 2 is a table showing an example of the data structure of an inventory information tree database (DB) (No. 1);
  • FIGS. 3 (A) and 3 (B) are examples of inventory information trees
  • FIG. 4 is a schematic diagram showing the data structure of an inventory information tree on-memory (No. 1);
  • FIG. 5 is a schematic diagram showing the data structure of the inventory information tree on-memory (No. 2);
  • FIGS. 6 (A) and 6 (B) are schematic diagrams showing examples of an inventory retrieving process (No. 1);
  • FIGS. 7 (C) and 7 (D) are schematic diagrams showing examples of the inventory retrieving process (No. 2);
  • FIG. 8 is a flowchart showing a process of inventory information tree on-memory structure creating unit
  • FIG. 9 is a table showing an example of the data structure of the inventory information tree DB (No. 2);
  • FIGS. 10 (A) and 10 (B) are respectively a table and a schematic diagram for explaining an inventory information tree on-memory structure creating process
  • FIG. 11 is a flowchart showing a main flow of an inventory retrieving process
  • FIG. 12 is a flowchart showing an inventory retrieving request process
  • FIG. 13 is a flowchart showing a process for an intermediate node in the inventory retrieving process
  • FIG. 14 is a flowchart showing a process for a terminal node in the inventory retrieving process
  • FIG. 15 is a flowchart showing the inventory retrieving request process that can be distributed
  • FIG. 16 is a flowchart showing a process for a terminal node with a lower limit of an inventory quantity in the inventory retrieving process
  • FIG. 17 is a flowchart showing a main flow of an inventory stocking process
  • FIG. 18 is a flowchart showing an inventory stocking request process
  • FIG. 19 is a flowchart showing a process for an intermediate node in the inventory stocking process
  • FIG. 20 is a flowchart showing a main flow of an inventory updating process
  • FIG. 21 is a flowchart showing an inventory updating request process
  • FIG. 22 is a flowchart showing a process for an intermediate node in the inventory updating process
  • FIG. 23 is a flowchart showing a process for a terminal node in the inventory updating process
  • FIG. 24 is a schematic diagram for explaining the inventory updating process
  • FIGS. 25 (A) and 25 (B) are respectively a table and a schematic diagram showing an example of the structure of an inventory information tree DB according to a second embodiment of the present invention.
  • FIG. 26 is a table for explaining the structure of the inventory information tree DB according to the second embodiment of the present invention.
  • FIG. 27 is a schematic diagram for explaining a storage medium for recording a program that allows an embodiment of the present invention to be accomplished.
  • FIG. 1 is a block diagram showing the structure of a system according to an embodiment of the present invention.
  • inventory information is managed with a database having a tree (binary tree) structure.
  • the tree structure of all inventory information is stored in an inventory information tree database (inventory information tree DB) storing unit 101 shown in FIG. 1.
  • the storing unit 101 is an auxiliary storing unit such as a hard disk.
  • one hierarchical level of the inventory information tree is designated to one attribute of a commodity item. Nodes corresponding to individual values of the attribute are disposed in the hierarchical level.
  • each record has a node ID field, an attribute type (color, size, etc.) field, an attribute value (red, blue, M size, L size, etc.) field, an inventory quantity field, a parent ID field, and so forth.
  • the parent ID field represents the node ID of the parent node linked to the current node.
  • FIGS. 3 (A) and 3 (B) inventory information tree structures shown in FIGS. 3 (A) and 3 (B) can be represented for individual commodity items.
  • each box corresponds to a node.
  • Straight lines drawn between boxes denote links between nodes represented with information stored in the parent ID field of the inventory information tree DB.
  • “commodity”, “color”, “size”, and so forth correspond to information stored in the attribute field of the inventory information tree DB.
  • “commodity A”, “commodity B”, “red”, “blue”, “yellow”, “M”, “L”, “S”, and so forth correspond to information stored in the value field of the inventory information tree DB.
  • “800”, “600”, and so forth correspond to information stored in the inventory quantity field.
  • an inventory information tree on-memory structure creating unit 102 develops the on-memory structure of the inventory information tree for each commodity item shown in FIGS. 3 (A) and 3 (B) from the inventory information tree DB storing unit 101 , which is an auxiliary storing unit, to an inventory information tree information tree on-memory structure storing unit 103 that is a semiconductor storing unit.
  • FIGS. 4 and 5 are schematic diagrams showing the data structure of the inventory information tree on-memory structure developed to the inventory information tree-on memory structure storing unit 103 .
  • the inventory information tree on-memory structure has a data structure (or object instance) composed of a node ID, a node update flag, an attribute, a value, an inventory quantity, a parent node ID, and a child node pointer list for each node.
  • the inventory information tree on-memory structure has a map table that stores pointers to addresses of data structures for individual node IDs.
  • the node ID, the attribute, the value, the inventory quantity, and the parent node ID correspond to the ID field, the attribute field, the value field, the inventory quantity field, and the parent ID field of the inventory information tree DB shown in FIG. 2, respectively.
  • a node update flag is set to “1”. Only for a node whose node update flag has been set to “1” in the inventory information tree on-memory structure, an inventory information tree DB updating unit 106 shown in FIG. 1 updates the inventory quantity field of the record corresponding to the current node on the inventory information tree DB stored in the inventory information tree DB storing unit 101 .
  • the inventory information tree DB and the inventory information tree on-memory structure can be effectively matched.
  • the child node pointer list is a list of pointers to addresses of data structures of nodes.
  • the node that has the list is a parent node of these nodes.
  • the child node pointer list is data that allows the inventory retrieving unit 104 to effectively navigate from a node in higher hierarchical level to a node in a lower hierarchical level in the inventory information tree on-memory structure.
  • map table shown in FIG. 5 is created and used by the inventory information tree on-memory structure creating unit 102 (that will be described later).
  • the inventory retrieving unit 104 shown in FIG. 1 performs an automatic inventory retrieving process for the inventory information tree on-memory structure having the data structure (shown in FIG. 4) stored in the inventory information tree on-memory structure storing unit 103 corresponding to an inventory retrieving rule expressed by the inventory information tree as shown in FIGS. 6 and 7.
  • the inventory information tree on-memory structure shown in FIG. 6(A) is accessed in the inventory information tree on-memory structure storing unit 103 .
  • the inventory retrieving unit 104 executes a navigation from a node in the highest hierarchical level to terminal nodes in the lowest hierarchical level in the inventory information tree on-memory structure corresponding to the following navigation algorithm.
  • terminal nodes with a “size” attribute are searched from the left end of the lowest hierarchical level.
  • the inventory quantity of the node becomes “0”.
  • the retrieving condition is varied to “supply 50 commodities A of size L”.
  • terminal nodes with a “size” attribute are successively searched from the left end of the just lowest hierarchical level.
  • the insufficient quantity “0” is returned from the intermediate node to the node with the “commodity A” attribute in the highest hierarchical level.
  • the inventory retrieving process may be directly performed for the inventory information tree DB in the inventory information tree DB storing unit 101 rather than the inventory information tree on-memory structure in the inventory information tree on-memory structure storing unit 103 . However, when the inventory retrieving process can be more quickly performed with the inventory information tree on-memory structure than the inventory information tree DB.
  • the navigation of the inventory retrieving process is executed for the inventory information tree corresponding to the above-described navigation algorithm, even if a condition of the inventory retrieving process is ambiguous, the inventory retrieving process can be automatically performed corresponding to an inventory retrieving rule based on the searching priority of a tree structure.
  • FIG. 8 is a flowchart showing the process of the inventory information tree on-memory structure creating unit 102 .
  • an SQL (Structural Query Language) statement is executed for extracting a record group corresponding to the particular commodity value from the table of the inventory information tree DB stored in the inventory information tree DB storing unit 101 (at step 801 shown in FIG. 8).
  • the inventory information tree DB is provided as an SQL database.
  • a “commodity code” field is added to the table structure of the inventory information tree DB so that a record group corresponding to a particular commodity value can be extracted with one SQL statement.
  • a smaller value of node ID is set to an ID field of a record corresponding to a node included in a higher hierarchical level of the inventory tree.
  • a smaller value of node ID is set to an ID field of a record corresponding to a node at a leftmost portion in the same hierarchical level.
  • An SQL statement executed at step 801 shown in FIG. 8 has the following format.
  • nodes are arranged in the order of node IDs having smaller values corresponding to the inventory information tree structure.
  • the nodes of the record group are scanned from the top as shown in FIG. 10(A) by a loop of steps 802 to 806 shown in FIG. 8.
  • the inventory information tree on-memory structure can be created from the highest hierarchical level to the lower hierarchical level of the inventory information tree as shown in FIG. 10(B).
  • one record is obtained from the extracted record group (at step 802 ).
  • a data structure (or object instance) of one node with the data structure shown in FIG. 4 is allocated in the inventory information tree on-memory structure storing unit 103 .
  • Various values stored in the ID field, the attribute field, the value field, the inventory quantity field, and the parent ID field of the record obtained from the inventory information tree DB table are copied to the variable members of the node ID, the attribute, the value, the inventory quantity, and the parent node ID of the data structure.
  • the node update flag of the data structure is set to “0”.
  • step 804 the node ID of the created node and the pointer to the data structure of the node are registered to the map table shown in FIG. 5.
  • the data structure of a node corresponding to the parent node ID designated to the data structure of the node created at step 804 is searched from the map table shown in FIG. 5 (at step 805 ).
  • the pointer of the data structure of the node created at step 804 is registered to the child node pointer list of the data structure searched at step 805 (at step 806 ). Actually, the list is allocated in a record area that is different from the data structure. In the data structure, a pointer to the record area is stored.
  • step 802 the next record is obtained from the record group obtained at step 801 .
  • steps 802 to 806 are executed.
  • FIGS. 11 to 14 are flowcharts showing the process of the inventory retrieving unit 104 .
  • FIG. 11 is a flowchart showing a main flow of the process.
  • an inventory retrieving request is issued to a node in the highest hierarchical level (at step 1101 shown in FIG. 11).
  • a retrieving condition and a retrieving quantity are input.
  • An insufficient quantity is returned.
  • the retrieving condition and the retrieving quantity are as follows.
  • FIG. 12 is a flowchart showing an inventory retrieving request process called at step 1101 shown in FIG. 11.
  • the determined result at step 1201 is Yes, it is determined whether or not the value of the data structure of the current node matches the retrieving condition (at step 1201 shown in FIG. 12).
  • the determined result at step 1202 is Yes.
  • the determined result at step 1202 is Yes, it is determined whether or not the current node is a terminal node (at step 1203 ).
  • the determined result at step 1203 is No.
  • a process for an intermediate node is executed (at step 1204 shown in FIG. 12).
  • a retrieving condition and a retrieving quantity are input.
  • An insufficient quantity is returned.
  • the retrieving condition and the retrieving quantity are as follows.
  • FIG. 13 is a flowchart showing a process for an intermediate node called at step 1204 shown in FIG. 12.
  • a child node is searched (at step 1301 shown in FIG. 13).
  • the determined result at step 1301 is Yes.
  • an inventory retrieving request is issued to a relevant node (at step 1302 shown in FIG. 12).
  • a retrieving condition and a retrieving quantity are input.
  • An insufficient quantity is returned.
  • the retrieving condition and the retrieving quantity are as follows.
  • step 1201 it is determined whether or not the attribute of the data structure of the current node is included in the retrieving condition (at step 1201 shown in FIG. 12).
  • the determined result at step 1201 is No.
  • a process for an intermediate node is executed (at step 1204 shown in FIG. 12).
  • a retrieving condition and a retrieving quantity are input.
  • An insufficient quantity is returned.
  • the retrieving condition and the retrieving quantity are as follows.
  • a child node is searched (at step 1301 shown in FIG. 13).
  • the determined result at step 1301 is Yes.
  • step 1302 the inventory retrieving request process corresponding to the flowchart shown in FIG. 12 is called at step 1302 shown in FIG. 13.
  • step 1201 It is determined whether or not the attribute of the data structure of the current node is included in the retrieving condition (at step 1201 shown in FIG. 12).
  • the determined result at step 1201 is Yes.
  • the retrieving quantity is set to the insufficient quantity (at step 1206 ).
  • the inventory retrieving request process at step 1302 shown in FIG. 13 is completed.
  • the insufficient quantity is “250”.
  • step 1303 it is determined whether or not the insufficient quantity matches the retrieving quantity.
  • the determined result at step 1303 is Yes.
  • the next child node is searched (at step 1301 shown in FIG. 13).
  • the determined result at step 1301 is Yes.
  • the inventory retrieving request is issued to the relevant child node (at step 1302 shown in FIG. 13).
  • a retrieving condition and a retrieving quantity are input.
  • An insufficient quantity is returned.
  • the retrieving condition and the retrieving quantity are as follows.
  • step 1201 it is determined whether or not the attribute of the data structure of the current node is included in the attributing condition (at step 1201 shown in FIG. 12).
  • the determined result at step 1201 is Yes.
  • the determined result at step 1202 is Yes, it is determined whether or not the current node is a terminal node (at step 1203 ).
  • the determined result at step 1203 is No.
  • a process for a terminal node is executed (at step 1205 shown in FIG. 12).
  • a retrieving condition and a retrieving quantity are input.
  • An insufficient quantity is returned.
  • the retrieving condition and the retrieving quantity are as follows.
  • FIG. 14 is a flowchart showing the process for the terminal node called at step 1205 shown in FIG. 12.
  • step 1401 it is determined whether or not the inventory quantity of the data structure of the terminal node is larger than the retrieving quantity (at step 1401 shown in FIG. 14).
  • the determined result at step 1401 is No.
  • the value of which the current inventory quantity is subtracted from the retrieving quantity is set to the insufficient quantity.
  • the new inventory quantity is set to “0” (at step 1403 shown in FIG. 14).
  • the insufficient quantity is given as follows.
  • the node update flag of the data structure of the terminal node is set to “1” (at step 1404 shown in FIG. 14).
  • the process for the terminal node at step 1205 shown in FIG. 12 is completed.
  • the inventory retrieving request process at step 1302 shown in FIG. 13 is completed.
  • step 1303 it is determined whether or not the insufficient quantity matches the retrieving quantity.
  • the determined result at step 1303 is No.
  • the node update flag of the data structure of the current intermediate node is set to “1” (at step 1304 shown in FIG. 13).
  • the inventory quantity of the relevant node is updated.
  • the inventory quantity of the parent node is updated as follows.
  • the node update flag is set.
  • the value of which the insufficient quantity is subtracted from the retrieving quantity is subtracted from the inventory quantity of the data structure of the current intermediate node.
  • the resultant is set as a new inventory quantity.
  • the insufficient quantity is set as a new retrieving quantity (at step 1305 shown in FIG. 13).
  • step 1306 it is determined whether or not the insufficient quantity is “0” (at step 1306 shown in FIG. 13). In the above example, since the insufficient quantity is 50 (not 0), the determined result at step 1306 is No.
  • the next child node is searched (at step 1301 shown in FIG. 13).
  • the determined result at step 1301 is Yes.
  • step 1201 it is determined whether or not the attribute of the data structure of the current node is included in the retrieving condition (at step 1201 shown in FIG. 12).
  • the determined result at step 1201 is Yes.
  • the retrieving quantity is set to the insufficient quantity (at step 1206 ).
  • the inventory retrieving request process at step 1302 shown in FIG. 13 is completed.
  • the insufficient quantity is 50 .
  • step 1303 it is determined whether or not the insufficient quantity matches the retrieving quantity.
  • the determined result at step 1303 is Yes.
  • the determined result at step 1303 is Yes, the next child node is searched (at step 1301 shown in FIG. 13).
  • the determined result at step 1301 is No.
  • step 1303 it is determined whether or not the insufficient quantity matches the retrieving quantity.
  • the insufficient quantity is 50 .
  • the retrieving quantity is 250 as shown in FIG. 6(A).
  • the node update flag of the data structure of the current intermediate node is set to “1” (at step 1304 shown in FIG. 13).
  • the node update flag of the data structure of the node in the highest hierarchical level is set to “1”.
  • the value of which the insufficient quantity is subtracted from the retrieving quantity is subtracted from the inventory quantity of the data structure of the current intermediate node.
  • the result is set as a new inventory quantity.
  • the insufficient quantity is set as a new retrieving quantity (at step 1305 shown in FIG. 13).
  • the inventory quantity of the data structure of the node in the highest hierarchical level is given as follows.
  • the new retrieving quantity is given as follows.
  • step 1306 it is determined whether or not the insufficient quantity is 0 (at step 1306 shown in FIG. 13). In the example, since the insufficient quantity is 50 (not 0), the determined result at step 1306 is No.
  • the next child node is searched (at step 1301 shown in FIG. 13).
  • the determined result at step 1301 is Yes.
  • step 1201 it is determined whether or not the attribute of the data structure of the current node is included in the retrieving condition (at step 1201 shown in FIG. 12).
  • the determined result at step 1201 is No.
  • the process for the intermediate node is executed (at step 1204 shown in FIG. 12).
  • a retrieving condition and a retrieving quantity are input.
  • An insufficient quantity is returned.
  • the retrieving condition and the retrieving quantity are as follows.
  • a child node is searched (at step 1301 shown in FIG. 13).
  • the determined result at step 1301 is Yes.
  • step 1201 it is determined whether or not the attribute of the data structure of the current node is included in the retrieving condition (at step 1201 shown in FIG. 12).
  • the determined result at step 1201 is Yes.
  • the determined result at step 1202 is Yes, it is determined whether or not the current node is a terminal node (at step 1203 ).
  • the determined result at step 1203 is No.
  • the process for the terminal node is executed (at step 1205 shown in FIG. 12).
  • a retrieving condition and a retrieving quantity are input.
  • An insufficient quantity is returned.
  • the retrieving condition and the retrieving quantity are as follows.
  • step 1401 it is determined whether or not the inventory quantity of the data structure of the terminal node is larger than the retrieving quantity (at step 1401 shown in FIG. 14).
  • the determined result at step 1401 is Yes.
  • the value of which the retrieving quantity is subtracted from the inventory quantity is set as a new inventory quantity.
  • the insufficient quantity is set to “0” (at step 1402 shown in FIG. 14).
  • the inventory quantity and the insufficient quantity are given as follows.
  • the node update flag of the data structure of the terminal node is set to “1” (at step 1401 shown in FIG. 14).
  • the process for the terminal node at step 1205 shown in FIG. 12 is completed.
  • the inventory retrieving request process at step 1302 shown in FIG. 13 is completed.
  • step 1303 it is determined whether or not the insufficient quantity matches the retrieving quantity.
  • the determined result at step 1303 is No.
  • the node update flag of the data structure of the current intermediate node is set to “1” (at step 1304 shown in FIG. 13).
  • the value of which the insufficient quantity is subtracted from the retrieving quantity is subtracted from the inventory quantity of the data structure of the current intermediate node.
  • the result is set as a new inventory quantity.
  • the insufficient quantity is set as a new retrieving quantity (at step 1305 shown in FIG. 13).
  • step 1306 it is determined whether or not the insufficient quantity is 0 (at step 1306 shown in FIG. 13). In the example, since the insufficient quantity is 0, the determined result at step 1306 is Yes.
  • step 1303 it is determined whether or not the insufficient quantity matches the retrieving quantity.
  • the insufficient quantity is 0 and the retrieving quantity is 50 as shown in FIG. 7(C).
  • the determined result at step 1303 is Yes.
  • the node update flag of the data structure of the current intermediate node is set to “1” (at step 1304 shown in FIG. 13).
  • the node update flag of the data structure of the node in the highest hierarchical level is set to “1” again.
  • the value of which the insufficient quantity is subtracted from the retrieving quantity is subtracted from the inventory quantity of the data structure of the current intermediate node.
  • the result is set as a new inventory quantity.
  • the insufficient quantity is set as a new retrieving quantity (at step 1305 shown in FIG. 13).
  • the inventory quantity of the data structure of the node in the highest hierarchical level is given as follows.
  • the new retrieving quantity is given as follows.
  • step 1306 it is determined whether or not the insufficient quantity is 0 (at step 1306 shown in FIG. 13). In the example, since the insufficient quantity is 0, the determined result at step 1306 is Yes.
  • step 1102 it is determined whether or not the insufficient quantity is 0 (at step 1102 shown in FIG. 11). In the example shown in FIG. 7(D), since the insufficient quantity is 0, the determined result at step 1102 is Yes.
  • the system may be structured in such a manner that the inventory retrieving process is performed up to the lower limit of a predetermined inventory quantity.
  • FIG. 15 is a flowchart showing an inventory retrieving request process that can be distributed.
  • the flowchart shown in FIG. 15 is similar to that shown in FIG. 12.
  • similar steps to those in FIG. 12 are denoted by similar reference numerals.
  • FIG. 16 is a flowchart showing the process for the terminal node at step 1502 shown in FIG. 15.
  • the inventory retrieving process is prevented from being performed only for a particular node.
  • the inventory retrieving process can be distributed.
  • the inventory stocking process is executed by the inventory stocking unit 105 for the inventory information tree on-memory structure stored in the inventory information tree on-memory structure storing unit 103 .
  • nodes that satisfy a stocking condition are one terminal node and intermediate nodes in higher hierarchical levels thereof.
  • FIGS. 17 to 19 are flowcharts showing the process of the inventory stocking unit 105 .
  • FIG. 17 is a flowchart showing a main flow of the process.
  • an inventory stocking request is issued to a node in the highest hierarchical level (at step 1701 shown in FIG. 17).
  • a stocking condition and a stocking quantity are input.
  • OK or NG is returned.
  • FIG. 18 is a flowchart showing an inventory stocking request process called at step 1701 shown in FIG. 17.
  • FIG. 19 is a flowchart showing a process for an intermediate node called at step 1804 shown in FIG. 18.
  • a child node is searched from the child node pointer list of the data structure of the intermediate node.
  • the inventory stocking request process is executed for a relevant child node (the determined result at step 1901 shown in FIG. 19 is Yes ⁇ step 1902 ⁇ step 1903 ⁇ step 1901 ).
  • the inventory stocking request process for the relevant child node is executed again corresponding to the flowchart shown in FIG. 18.
  • the process for the intermediate node is recursively executed (the determined result at step 1801 shown in FIG. 18 is Yes ⁇ the determined result at step 1802 is Yes ⁇ the determined result at step 1803 is No ⁇ step 1804 ).
  • the child node is a terminal node and the attribute and value of the data structure thereof match the stocking condition (the determined result at step 1801 shown in FIG. 18 is Yes ⁇ the determined result at step 1802 is Yes ⁇ the determined result at step 1803 is Yes)
  • the stocking quantity is added to the inventory quantity of the data structure of the terminal node (at step 1808 shown in FIG. 18).
  • the node update flag of the data structure is set to “1” (at step 1809 shown in FIG. 18).
  • a message OK is returned to the parent node (at step 1810 shown in FIG. 18).
  • the determined result at step 1903 is Yes.
  • the node update flag of the data structure of the intermediate node is set to “1” (at step 1904 shown in FIG. 19).
  • the stocking quantity is added to the inventory quantity of the data structure (at step 1905 shown in FIG. 19).
  • a message OK is returned (at step 1906 shown in FIG. 19).
  • a message OK is returned in the process for the intermediate node
  • a message OK is returned to the parent node that causes the intermediate node to execute the inventory stocking request process (step 1804 shown in FIG. 18 ⁇ the determined result at step 1805 is Yes (OK) ⁇ step 1806 ).
  • a message NG is returned to the parent node that causes the intermediate node to executes the inventory stocking request process (step 1804 shown in FIG. 18 the determined result at step 1805 is No (NG) ⁇ step 1807 ).
  • step 1702 When the determined result at step 1702 is Yes (OK), a message that represents that the inventory stocking process has been successfully completed is sent. Thus, the inventory stocking process of the inventory stocking unit 105 is completed.
  • the updated content of the inventory information tree on-memory structure stored in the inventory information tree on-memory structure storing unit 103 is reflected to the inventory information tree DB stored in the inventory information tree DB storing unit 101 by the inventory information tree DB updating unit 106 at predetermined intervals.
  • the node update flag stored in the data structure of each node in the inventory information tree on-memory structure is set to “1” when the inventory quantity of the relevant node is updated by the inventory retrieving unit 104 and the inventory stocking unit 105 .
  • the inventory information tree DB and the inventory information tree on-memory structure can be effectively matched.
  • FIGS. 20 to 23 are flowcharts showing a process of the inventory information tree DB updating unit 106 .
  • FIG. 20 is a flowchart showing a main flow of the process.
  • an inventory updating request is issued to a node in the highest hierarchical level (at step 2001 shown in FIG. 20).
  • FIG. 21 is a flowchart showing the inventory updating request process called at step 2001 shown in FIG. 20.
  • the inventory updating process for the intermediate node is executed (the determined result at step 2101 shown in FIG. 21 is No ⁇ step 2102 ).
  • the inventory updating process for the terminal node is executed (the determined result at step 2101 is Yes ⁇ step 2103 ).
  • FIG. 22 is a flowchart showing the inventory updating process for the intermediate node called at step 2102 shown in FIG. 21.
  • ⁇ INVENTORY QUANTITY> and ⁇ NODE ID> are the inventory quantity and node ID stored in the data structure.
  • the node update flag stored in the data structure of the current node is set to “0” (at step 2203 ).
  • a child node is searched from the child node pointer list of the data structure of the current node.
  • the inventory updating request process is executed for a relevant child node (the determined result at step 2204 shown in FIG. 22 is Yes ⁇ step 2205 ⁇ step 2204 ).
  • the inventory updating request process for the relevant child node corresponding to the flowchart shown in FIG. 21 is executed again.
  • the relevant child node is an intermediate node
  • the inventory updating process for the intermediate node is recursively executed (the determined result at step 2101 shown in FIG. 21 is No ⁇ step 2202 ).
  • the inventory updating process for the terminal node is executed (the determined result at step 2101 is Yes ⁇ step 2103 ).
  • FIG. 23 is a flowchart showing the inventory updating process for the terminal node called at step 2103 shown in FIG. 21.
  • the node update flag stored in the data structure of the current node is set to “0” (at step 2303 ).
  • FIG. 25(A) is a table showing an inventory information tree DB stored in the inventory information tree DB storing unit 101 according to a second embodiment of the present invention.
  • a smaller value of node ID is designated to a node in a higher hierarchical level of the inventory information tree.
  • a smaller node ID is designated to a node at a leftmost position in the same hierarchical level.
  • the priority between different hierarchical levels is defined with the relation of settings in a parent ID field. Moreover, the priority in the same hierarchical level is defined with the relation of settings in a preceding node ID field.
  • the priority of the navigation can be defined as shown in FIG. 25(B).
  • the present invention can be applied for a storage medium from which a computer reads a program that causes the computer to perform the same function as that accomplished by each structural unit of the embodiment.
  • a program that accomplishes each function of each embodiment of the present invention is loaded to a memory (RAM, hard disk, or the like) of a main unit 2704 of an NMS server 2701 with a portable storage medium 2402 such as a floppy disk, a CD-R disc, an optical disc, a removable disc, or the like or through a network line 2703 . Thereafter, the program is executed.
  • a memory RAM, hard disk, or the like
  • a portable storage medium 2402 such as a floppy disk, a CD-R disc, an optical disc, a removable disc, or the like

Abstract

Individual attributes are designated to individual hierarchical levels of an inventory information tree stored in an inventory information tree on-memory structure storing unit. Each node that structures the inventory information tree defines at least the type of an attribute of a commodity, the value thereof, the inventory quantity of the commodity that satisfies a classification condition corresponding to the position on the tree, and the relation with another node. While an inventory retrieving unit is searching each node on the inventory information tree corresponding to a retrieving condition designated with a combination of the attribute of the commodity and the value thereof, the unit executes an inventory retrieving process for updating the inventory quantity of each node. The unit searches nodes with priority corresponding to their positions in hierarchical levels with attributes that are not included in a retrieving condition.

Description

    BACKGROUND OF THE INVENTION
  • 1. Field of the Invention [0001]
  • The present invention relates to an inventory retrieving process in a sales circulation business. [0002]
  • 2. Description of the Related Art [0003]
  • An inventory managing technology using a database system is becoming common in sales circulation businesses. [0004]
  • In a table of an inventory management database, each commodity item is registered as one record entry. Each record is composed of a plurality of fields of attributes such as color and size. [0005]
  • When an inventory retrieving process is performed for extracting a desired commodity item that satisfies a particular condition from the database table, inquiry conditions are designated for individual attributes (fields) of the table. [0006]
  • In such a conventional inventory retrieving process, designated attributes affect the result of the inventory retrieving process. In other words, attributes that have not been designated do not affect the result. [0007]
  • Thus, all conditions for an inventory retrieving process should be defined as conditions of particular attributes. Consequently, some experience is required to designate such conditions. In other words, the inventory retrieving process cannot be always flexibly performed. [0008]
  • In reality, to perform an inventory retrieving process in such a manner that commodity items of M size are retrieved with higher priority than commodity items of L size, a condition “M size” is designated to a “size” attribute. Thereafter, a condition “L size” is designated to the “size” attribute. In this case, two steps of the inventory retrieving process are required. Thus, conventionally, it is difficult to designate to the database an automatic inventory retrieving rule such as “unless a size is designated, commodity items of M size are allocated with higher priority than commodity items of L size”. [0009]
  • SUMMARY OF THE INVENTION
  • The prevent invention is made from the above-described point of view. An object of the present invention is to accomplish an automatic inventory retrieving process corresponding to a predetermined rule even if a designated condition of the inventory retrieving process is ambiguous. [0010]
  • The present invention is based on an inventory managing apparatus for performing an inventory management for a management object. [0011]
  • The inventory managing apparatus has a database table (inventory information tree DB) composed of records to which nodes that structure binary tree data are assigned, each of the nodes being defined with at least the type of an attribute of the management object, the value thereof, an inventory quantity of the management object that satisfies a classification condition represented by the position of the node on the binary tree data, and the relation of a link to another node. [0012]
  • In addition, the inventory managing apparatus has an inventory retrieving unit ([0013] 104) for searching each node on the binary tree data through the database table corresponding to a retrieving condition defined with a combination of the attribute and value of the management object, executing an inventory retrieving process for updating the inventory quantity of each node, and searching each node with priority corresponding to the position of each node in hierarchical levels with attributes that are not included in the retrieving condition.
  • In the structure of the present invention, even if a condition of the inventory retrieving process is ambiguous, the inventory retrieving process can be automatically performed corresponding to an inventory retrieving rule based on the searching priority in a binary tree data structure. [0014]
  • The apparatus may have an inventory stocking unit ([0015] 105) for executing an inventory stocking process for updating the inventory quantity of each node while searching each node on the binary tree data through the data base corresponding to a stocking condition defined with a combination of the attribute and value of the management object.
  • The apparatus may have a binary tree data on-memory structure creating unit for developing the binary tree data from the database table to a memory unit, wherein the inventory retrieving unit or the inventory stocking unit executes the inventory retrieving process or the inventory stocking process for the binary tree data developed in the memory unit. [0016]
  • In the structure of the present invention, binary tree data can be accessed at high speed. [0017]
  • Each record may have an identification information field for storing identification information having a value corresponding to the position of the node on the binary tree data. The binary tree data on-memory structure creating unit develops the binary tree data from the database table to the memory unit corresponding to the content of the identification information field. [0018]
  • In the structure of the present invention, with a simple inquiry statement to a database table, binary tree data can be developed from the database table to the memory unit. [0019]
  • Each record may have a management object type field for storing the type of the management object. The binary tree data on-memory structure creating unit develops the binary tree data for each management object type from the database table to the memory unit corresponding to the content of the management object type field. [0020]
  • In the structure of the present invention, with a simple inquiry statement to the database table, binary tree data can be developed from the database table to the memory unit. [0021]
  • Each node that structures the binary tree data developed to the memory unit may have node update information that represents whether or not the inventory quantity corresponding to each node has been updated by the inventory retrieving unit or the inventory stocking unit. The apparatus may have a database updating unit for affecting the update state of the binary tree data developed in the memory unit to the database table corresponding to the node update information. [0022]
  • In the structure of the present invention, binary tree data in the memory unit can be effectively matched with the database table. [0023]
  • In addition, the present invention can be accomplished by a storage medium from which a computer reads a program that causes the computer to perform the function accomplished by the structure of the first aspect of the present invention.[0024]
  • BRIEF DESCRIPTION OF DRAWINGS
  • The above and other objects, features and advantages of the present invention will become more apparent in light of the following detailed description of a best mode embodiment thereof, as illustrated in the accompanying drawings, wherein [0025]
  • FIG. 1 is a block diagram showing the structure of a system according to an embodiment of the present invention; [0026]
  • FIG. 2 is a table showing an example of the data structure of an inventory information tree database (DB) (No. 1); [0027]
  • FIGS. [0028] 3(A) and 3(B) are examples of inventory information trees;
  • FIG. 4 is a schematic diagram showing the data structure of an inventory information tree on-memory (No. 1); [0029]
  • FIG. 5 is a schematic diagram showing the data structure of the inventory information tree on-memory (No. 2); [0030]
  • FIGS. [0031] 6(A) and 6(B) are schematic diagrams showing examples of an inventory retrieving process (No. 1);
  • FIGS. [0032] 7(C) and 7(D) are schematic diagrams showing examples of the inventory retrieving process (No. 2);
  • FIG. 8 is a flowchart showing a process of inventory information tree on-memory structure creating unit; [0033]
  • FIG. 9 is a table showing an example of the data structure of the inventory information tree DB (No. 2); [0034]
  • FIGS. [0035] 10(A) and 10(B) are respectively a table and a schematic diagram for explaining an inventory information tree on-memory structure creating process;
  • FIG. 11 is a flowchart showing a main flow of an inventory retrieving process; [0036]
  • FIG. 12 is a flowchart showing an inventory retrieving request process; [0037]
  • FIG. 13 is a flowchart showing a process for an intermediate node in the inventory retrieving process; [0038]
  • FIG. 14 is a flowchart showing a process for a terminal node in the inventory retrieving process; [0039]
  • FIG. 15 is a flowchart showing the inventory retrieving request process that can be distributed; [0040]
  • FIG. 16 is a flowchart showing a process for a terminal node with a lower limit of an inventory quantity in the inventory retrieving process; [0041]
  • FIG. 17 is a flowchart showing a main flow of an inventory stocking process; [0042]
  • FIG. 18 is a flowchart showing an inventory stocking request process; [0043]
  • FIG. 19 is a flowchart showing a process for an intermediate node in the inventory stocking process; [0044]
  • FIG. 20 is a flowchart showing a main flow of an inventory updating process; [0045]
  • FIG. 21 is a flowchart showing an inventory updating request process; [0046]
  • FIG. 22 is a flowchart showing a process for an intermediate node in the inventory updating process; [0047]
  • FIG. 23 is a flowchart showing a process for a terminal node in the inventory updating process; [0048]
  • FIG. 24 is a schematic diagram for explaining the inventory updating process; [0049]
  • FIGS. [0050] 25(A) and 25(B) are respectively a table and a schematic diagram showing an example of the structure of an inventory information tree DB according to a second embodiment of the present invention;
  • FIG. 26 is a table for explaining the structure of the inventory information tree DB according to the second embodiment of the present invention; and [0051]
  • FIG. 27 is a schematic diagram for explaining a storage medium for recording a program that allows an embodiment of the present invention to be accomplished.[0052]
  • DESCRIPTION OF PREFERRED EMBODIMENTS
  • Next, with reference to the accompanying drawings, preferred embodiments of the present invention will be described. [0053]
  • Structure and Theory of the Preferred Embodiments of the Present Invention [0054]
  • FIG. 1 is a block diagram showing the structure of a system according to an embodiment of the present invention. [0055]
  • In the embodiment of the present invention, inventory information is managed with a database having a tree (binary tree) structure. The tree structure of all inventory information is stored in an inventory information tree database (inventory information tree DB) [0056] storing unit 101 shown in FIG. 1. The storing unit 101 is an auxiliary storing unit such as a hard disk.
  • In this example, one hierarchical level of the inventory information tree is designated to one attribute of a commodity item. Nodes corresponding to individual values of the attribute are disposed in the hierarchical level. [0057]
  • As shown in FIG. 2, on the inventory information tree DB table stored in the inventory information tree [0058] DB storing unit 101, one node structures one record. Each record has a node ID field, an attribute type (color, size, etc.) field, an attribute value (red, blue, M size, L size, etc.) field, an inventory quantity field, a parent ID field, and so forth. The parent ID field represents the node ID of the parent node linked to the current node.
  • With the inventory information tree DB having the data structure shown in FIG. 2, inventory information tree structures shown in FIGS. [0059] 3(A) and 3(B) can be represented for individual commodity items. In FIGS. 3(A) and 3(B), each box corresponds to a node. Straight lines drawn between boxes denote links between nodes represented with information stored in the parent ID field of the inventory information tree DB. In addition, “commodity”, “color”, “size”, and so forth correspond to information stored in the attribute field of the inventory information tree DB. “commodity A”, “commodity B”, “red”, “blue”, “yellow”, “M”, “L”, “S”, and so forth correspond to information stored in the value field of the inventory information tree DB. “800”, “600”, and so forth correspond to information stored in the inventory quantity field.
  • In the embodiment of the present invention, to allow the inventory information tree for each commodity item to be accessed at high speed, an inventory information tree on-memory [0060] structure creating unit 102 develops the on-memory structure of the inventory information tree for each commodity item shown in FIGS. 3(A) and 3(B) from the inventory information tree DB storing unit 101, which is an auxiliary storing unit, to an inventory information tree information tree on-memory structure storing unit 103 that is a semiconductor storing unit.
  • FIGS. 4 and 5 are schematic diagrams showing the data structure of the inventory information tree on-memory structure developed to the inventory information tree-on memory [0061] structure storing unit 103.
  • As shown in FIG. 4, the inventory information tree on-memory structure has a data structure (or object instance) composed of a node ID, a node update flag, an attribute, a value, an inventory quantity, a parent node ID, and a child node pointer list for each node. [0062]
  • Moreover, as shown in FIG. 5, the inventory information tree on-memory structure has a map table that stores pointers to addresses of data structures for individual node IDs. [0063]
  • In the data structure for each node shown in FIG. 4, the node ID, the attribute, the value, the inventory quantity, and the parent node ID correspond to the ID field, the attribute field, the value field, the inventory quantity field, and the parent ID field of the inventory information tree DB shown in FIG. 2, respectively. [0064]
  • When the inventory quantity of the current node is updated by an [0065] inventory retrieving unit 104 and an inventory stocking unit 105, a node update flag is set to “1”. Only for a node whose node update flag has been set to “1” in the inventory information tree on-memory structure, an inventory information tree DB updating unit 106 shown in FIG. 1 updates the inventory quantity field of the record corresponding to the current node on the inventory information tree DB stored in the inventory information tree DB storing unit 101. Thus, the inventory information tree DB and the inventory information tree on-memory structure can be effectively matched.
  • The child node pointer list is a list of pointers to addresses of data structures of nodes. In this case, the node that has the list is a parent node of these nodes. The child node pointer list is data that allows the [0066] inventory retrieving unit 104 to effectively navigate from a node in higher hierarchical level to a node in a lower hierarchical level in the inventory information tree on-memory structure.
  • On the other hand, the map table shown in FIG. 5 is created and used by the inventory information tree on-memory structure creating unit [0067] 102 (that will be described later).
  • The [0068] inventory retrieving unit 104 shown in FIG. 1 performs an automatic inventory retrieving process for the inventory information tree on-memory structure having the data structure (shown in FIG. 4) stored in the inventory information tree on-memory structure storing unit 103 corresponding to an inventory retrieving rule expressed by the inventory information tree as shown in FIGS. 6 and 7.
  • Now, assume that a retrieving condition “retrieve [0069] 250 commodities A of size L” is designated to the inventory retrieving unit 104.
  • In this case, the inventory information tree on-memory structure shown in FIG. 6(A) is accessed in the inventory information tree on-memory [0070] structure storing unit 103.
  • First, the [0071] inventory retrieving unit 104 executes a navigation from a node in the highest hierarchical level to terminal nodes in the lowest hierarchical level in the inventory information tree on-memory structure corresponding to the following navigation algorithm.
  • (1) When lower hierarchical layers corresponding to an attribute designated with a retrieving condition are navigated, nodes with the same attribute designated with the retrieving condition are navigated. [0072]
  • (2) When lower hierarchical layers corresponding to an attribute that is not designated with the retrieving condition are navigated, nodes are recursively navigated from the left end to the right end of the tree until the retrieving condition is satisfied. [0073]
  • When the retrieving condition “retrieve [0074] 250 commodities A of size L” is input, in the example shown in FIG. 6(A), since a “color” attribute has not been designated in the retrieving condition, an intermediate node with a “color=red” attribute is searched from the left end of the just lower hierarchical level.
  • Next, terminal nodes with a “size” attribute are searched from the left end of the lowest hierarchical level. Thus, the commodities A with the inventory quantity “200” are retrieved from the terminal node with a “size=L” attribute. Thus, as shown in FIG. 6(B), the inventory quantity of the node becomes “0”. [0075]
  • Since the retrieving condition is “250”, as shown in FIG. 7(C), an insufficient quantity “50” is returned to an intermediate node with the “color=red” attribute in the just higher hierarchical level. Thus, in the intermediate node, the retrieving condition is varied to “supply [0076] 50 commodities A of size L”.
  • Since the child nodes of the intermediate node do not have terminal nodes that have not been navigated and that satisfy the new retrieving condition, the insufficient quantity “50” is returned to the node with the “commodity A” attribute in the highest hierarchical level. [0077]
  • As a result, since the retrieving condition does not have a “color” attribute, as shown in FIG. 7(C), an intermediate node with a “color=blue” attribute is searched in the just lower hierarchical level. [0078]
  • Next, terminal nodes with a “size” attribute are successively searched from the left end of the just lowest hierarchical level. Thus, the commodities A with the inventory quantity “100” are retrieved from a terminal node with a “size=L” attribute. Consequently, as shown in FIG. 7(D), the inventory quantity of the terminal node becomes “50”. [0079]
  • As shown in FIG. 7(C), the insufficient quantity “0” is returned from the terminal node to the intermediate node with the “color=blue” attribute in the just higher hierarchical level. In addition, the insufficient quantity “0” is returned from the intermediate node to the node with the “commodity A” attribute in the highest hierarchical level. [0080]
  • Since the insufficient quantity “0” is determined with the node in the highest hierarchical level, the inventory retrieving process is completed. [0081]
  • The inventory retrieving process may be directly performed for the inventory information tree DB in the inventory information tree [0082] DB storing unit 101 rather than the inventory information tree on-memory structure in the inventory information tree on-memory structure storing unit 103. However, when the inventory retrieving process can be more quickly performed with the inventory information tree on-memory structure than the inventory information tree DB.
  • Since the navigation of the inventory retrieving process is executed for the inventory information tree corresponding to the above-described navigation algorithm, even if a condition of the inventory retrieving process is ambiguous, the inventory retrieving process can be automatically performed corresponding to an inventory retrieving rule based on the searching priority of a tree structure. [0083]
  • Detailed Description of Process of Inventory Information Tree On-Memory [0084] Structure Creating Unit 102
  • FIG. 8 is a flowchart showing the process of the inventory information tree on-memory [0085] structure creating unit 102.
  • To create an inventory information tree on-memory structure corresponding to a particular value of the “commodity” attribute (for example, commodity A), an SQL (Structural Query Language) statement is executed for extracting a record group corresponding to the particular commodity value from the table of the inventory information tree DB stored in the inventory information tree DB storing unit [0086] 101 (at step 801 shown in FIG. 8).
  • In this embodiment, the inventory information tree DB is provided as an SQL database. [0087]
  • In this embodiment, in addition to the structure shown in FIG. 2 as shown in FIG. 9, a “commodity code” field is added to the table structure of the inventory information tree DB so that a record group corresponding to a particular commodity value can be extracted with one SQL statement. [0088]
  • In this embodiment, a smaller value of node ID is set to an ID field of a record corresponding to a node included in a higher hierarchical level of the inventory tree. In addition, a smaller value of node ID is set to an ID field of a record corresponding to a node at a leftmost portion in the same hierarchical level. Thus, a node with a small value of node ID has higher priority of the navigation on the inventory information tree in the inventory retrieving process. [0089]
  • Moreover, by setting values in the ID field with non-continuous skipped numbers, nodes can be easily added. [0090]
  • An SQL statement executed at [0091] step 801 shown in FIG. 8 has the following format.
  • select from TABLE NAME where COMMODITY CODE=COMMODITY A order by ID
  • In the record group that has been extracted, nodes are arranged in the order of node IDs having smaller values corresponding to the inventory information tree structure. The nodes of the record group are scanned from the top as shown in FIG. 10(A) by a loop of [0092] steps 802 to 806 shown in FIG. 8. Thus, the inventory information tree on-memory structure can be created from the highest hierarchical level to the lower hierarchical level of the inventory information tree as shown in FIG. 10(B).
  • First, one record is obtained from the extracted record group (at step [0093] 802).
  • Next, it is determined whether or not a record has been obtained (at step [0094] 803).
  • When the determined result at [0095] step 803 is Yes, a node is created with the data of the obtained record (at step 804).
  • In reality, a data structure (or object instance) of one node with the data structure shown in FIG. 4 is allocated in the inventory information tree on-memory [0096] structure storing unit 103. Various values stored in the ID field, the attribute field, the value field, the inventory quantity field, and the parent ID field of the record obtained from the inventory information tree DB table are copied to the variable members of the node ID, the attribute, the value, the inventory quantity, and the parent node ID of the data structure. In addition, the node update flag of the data structure is set to “0”.
  • In addition, at [0097] step 804, the node ID of the created node and the pointer to the data structure of the node are registered to the map table shown in FIG. 5.
  • Next, the data structure of a node corresponding to the parent node ID designated to the data structure of the node created at [0098] step 804 is searched from the map table shown in FIG. 5 (at step 805).
  • The pointer of the data structure of the node created at [0099] step 804 is registered to the child node pointer list of the data structure searched at step 805 (at step 806). Actually, the list is allocated in a record area that is different from the data structure. In the data structure, a pointer to the record area is stored.
  • Thereafter, the flow returns to step [0100] 802. At step 802, the next record is obtained from the record group obtained at step 801. Next, steps 802 to 806 are executed.
  • When a record is not obtained (namely, the determined result at [0101] step 803 is No), the process for creating the inventory information table on-memory structure corresponding to one commodity (for example, commodity A) is completed.
  • Detailed Description of Process of [0102] Inventory Retrieving unit 104
  • FIGS. [0103] 11 to 14 are flowcharts showing the process of the inventory retrieving unit 104. FIG. 11 is a flowchart showing a main flow of the process.
  • First, an inventory retrieving request is issued to a node in the highest hierarchical level (at [0104] step 1101 shown in FIG. 11). In this case, a retrieving condition and a retrieving quantity are input. An insufficient quantity is returned. In the example shown in FIG. 6(A), the retrieving condition and the retrieving quantity are as follows.
  • Retrieving condition: “Commodity A of size L”[0105]
  • Retrieving quantity: “250”[0106]
  • FIG. 12 is a flowchart showing an inventory retrieving request process called at [0107] step 1101 shown in FIG. 11.
  • First, it is determined whether or not the attribute of the data structure of the current node (see FIG. 4) is included in the retrieving condition (at [0108] step 1201 shown in FIG. 12). In the example shown in FIG. 6(A), the “commodity” attribute of the data structure of the node in the highest hierarchical level is included in the above-described retrieving condition, the determined result at step 1201 is Yes.
  • When the determined result at [0109] step 1201 is Yes, it is determined whether or not the value of the data structure of the current node matches the retrieving condition (at step 1201 shown in FIG. 12). In the example shown in FIG. 6(A), since the “commodity A” value of the data structure of the node in the highest hierarchical level matches the retrieving condition, the determined result at step 1202 is Yes.
  • When the determined result at [0110] step 1202 is Yes, it is determined whether or not the current node is a terminal node (at step 1203). In the example shown in FIG. 6(A), since the node in the highest hierarchical level is not a terminal node, the determined result at step 1203 is No.
  • When the determined result at [0111] step 1203 is No, a process for an intermediate node is executed (at step 1204 shown in FIG. 12). In this case, a retrieving condition and a retrieving quantity are input. An insufficient quantity is returned. In the example shown in FIG. 6(A), the retrieving condition and the retrieving quantity are as follows.
  • Retrieving condition: “Commodity A of size L”[0112]
  • Retrieving quantity: “250”[0113]
  • FIG. 13 is a flowchart showing a process for an intermediate node called at [0114] step 1204 shown in FIG. 12.
  • First, a child node is searched (at [0115] step 1301 shown in FIG. 13). In the example shown in FIG. 6(A), since the child pointer list of the data structure of the node in the highest hierarchical level stores at the top a pointer to a node with a “color=red” attribute value, the determined result at step 1301 is Yes.
  • When the determined result at [0116] step 1301 is Yes, an inventory retrieving request is issued to a relevant node (at step 1302 shown in FIG. 12). In this case, a retrieving condition and a retrieving quantity are input. An insufficient quantity is returned. In the example shown in FIG. 6(A), the retrieving condition and the retrieving quantity are as follows.
  • Retrieving condition: “Commodity A of size L”[0117]
  • Retrieving quantity: “250”[0118]
  • The inventory retrieving request process called at [0119] step 1302 shown in FIG. 13 is executed corresponding to the flowchart shown in FIG. 12.
  • First, it is determined whether or not the attribute of the data structure of the current node is included in the retrieving condition (at [0120] step 1201 shown in FIG. 12). In the example shown in FIG. 6(A), since the “color=red” attribute of the data structure of the node is not included in the retrieving condition, the determined result at step 1201 is No.
  • When the determined result at [0121] step 1201 is No, it is determined whether or not the current node is a terminal node (at step 1203). In the example shown in FIG. 6(A), since the current node with the “color=red” attribute value is not a terminal node, the determined result at step 1203 is No.
  • When the determined result at [0122] step 1203 is No, a process for an intermediate node is executed (at step 1204 shown in FIG. 12). In this case, a retrieving condition and a retrieving quantity are input. An insufficient quantity is returned. In the example shown in FIG. 6(A), the retrieving condition and the retrieving quantity are as follows.
  • Retrieving condition: “Commodity A of size L”[0123]
  • Retrieving quantity: “250”[0124]
  • Thus, the process for the intermediate node corresponding to the flowchart shown in FIG. 13 is called again at [0125] step 1204 shown in FIG. 12.
  • First, a child node is searched (at [0126] step 1301 shown in FIG. 13). In the example shown in FIG. 6(A), since the child node pointer list of the data structure of the node with the “color=red” attribute stores at the top a pointer to a node with a “size=M” attribute, the determined result at step 1301 is Yes.
  • When the determined result at [0127] step 1301 is Yes, as described above, an inventory retrieving request is issued to a relevant child node (at step 1302 shown in FIG. 13). In this case, a retrieving condition and a retrieving quantity are input. An insufficient quantity is returned. In the example shown in FIG. 6(A), the retrieving condition and the retrieving quantity are as follows.
  • Retrieving condition: “Commodity A of size L”[0128]
  • Retrieving quantity: “250”[0129]
  • Thus, the inventory retrieving request process corresponding to the flowchart shown in FIG. 12 is called at [0130] step 1302 shown in FIG. 13.
  • It is determined whether or not the attribute of the data structure of the current node is included in the retrieving condition (at [0131] step 1201 shown in FIG. 12). In the example shown in FIG. 6(A), since a “size” attribute of the data structure of a node with a “size=M” attribute value in a lower hierarchical level of a node with the “color=red” attribute is included in the retrieving condition, the determined result at step 1201 is Yes.
  • When the determined result at [0132] step 1201 is Yes, it is determined whether or not the value of the data structure of the current node matches the retrieving condition (at step 1202 shown in FIG. 12). In the example shown in FIG. 6(A), since the “size=M” attribute value does not match the retrieving condition, the determined result at step 1202 is No.
  • When the determined result at [0133] step 1202 is No, the retrieving quantity is set to the insufficient quantity (at step 1206). Thus, the inventory retrieving request process at step 1302 shown in FIG. 13 is completed. In the example shown in FIG. 6(A), the insufficient quantity is “250”.
  • In FIG. 13, at [0134] step 1303, it is determined whether or not the insufficient quantity matches the retrieving quantity. In the example shown in FIG. 6(A), when the flow is returned from the inventory retrieving request process for the child node with the “size=M” attribute value in a lower hierarchical level of the node with the “color=red” attribute, since the insufficient quantity (=250) matches the retrieving quantity (=250), the determined result at step 1303 is Yes.
  • When the determined result at [0135] step 1303 is Yes, the next child node is searched (at step 1301 shown in FIG. 13). In the example shown in FIG. 6(A), since the child pointer list of the data structure of the node with the “color=red” attribute stores at the second position a pointer to a node with a “size=L” attribute, the determined result at step 1301 is Yes.
  • When the determined result at [0136] step 1301 is Yes, the inventory retrieving request is issued to the relevant child node (at step 1302 shown in FIG. 13). In this case, a retrieving condition and a retrieving quantity are input. An insufficient quantity is returned. In the example shown in FIG. 6(A), the retrieving condition and the retrieving quantity are as follows.
  • Retrieving condition: “Commodity A of size L”[0137]
  • Retrieving quantity: “250”[0138]
  • Thus, the inventory retrieving request process corresponding to the flowchart shown in FIG. 12 is called again at [0139] step 1302 shown in FIG. 13.
  • First, it is determined whether or not the attribute of the data structure of the current node is included in the attributing condition (at [0140] step 1201 shown in FIG. 12). In the example shown in FIG. 6(A), since the “size” attribute of the data structure of the node with the “size=L” attribute value in a lower hierarchical level of the node with the “color=red” attribute value is included in the attributing condition, the determined result at step 1201 is Yes.
  • When the determined result at [0141] step 1201 is Yes, it is determined whether or not the value of the data structure of the current node matches the retrieving condition (at step 1202 shown in FIG. 12). In the example shown in FIG. 6(A), since the “size=L” attribute matches the retrieving condition, the determined result at step 1203 is Yes.
  • When the determined result at [0142] step 1202 is Yes, it is determined whether or not the current node is a terminal node (at step 1203). In the example shown in FIG. 6(A), since the node with the “size=L” attribute value in a lower hierarchical level of the node with the “color=red” attribute value is a terminal node, the determined result at step 1203 is No.
  • When the determined result at [0143] step 1203 is Yes, a process for a terminal node is executed (at step 1205 shown in FIG. 12). In this case, a retrieving condition and a retrieving quantity are input. An insufficient quantity is returned. In the example shown in FIG. 6(A), the retrieving condition and the retrieving quantity are as follows.
  • Retrieving condition: “Commodity A of size L”[0144]
  • Retrieving quantity: “250”[0145]
  • FIG. 14 is a flowchart showing the process for the terminal node called at [0146] step 1205 shown in FIG. 12.
  • First, it is determined whether or not the inventory quantity of the data structure of the terminal node is larger than the retrieving quantity (at [0147] step 1401 shown in FIG. 14). In the example shown in FIG. 6(A), since the inventory quantity (=200) of the data structure of the terminal node with the “size=L” attribute value in a lower hierarchical level of the node with the “color=red” attribute value is smaller than the retrieving quantity (=250), the determined result at step 1401 is No.
  • When the determined result at [0148] step 1401 is No, the value of which the current inventory quantity is subtracted from the retrieving quantity is set to the insufficient quantity. The new inventory quantity is set to “0” (at step 1403 shown in FIG. 14). In the example shown in FIG. 6(A)→FIG.6(B)→FIG. 7(C), in the process for the terminal node with the “size=L” attribute value in a lower hierarchical level of the node with the “color=red” attribute value, the insufficient quantity is given as follows.
  • Insufficient quantity=retrieving quantity−inventory quantity=250−200=50
  • A new inventory quantity (=50) is set to the data structure as follows. [0149]
  • Inventory quantity=0 [0150]
  • Thereafter, the node update flag of the data structure of the terminal node is set to “1” (at [0151] step 1404 shown in FIG. 14). The process for the terminal node at step 1205 shown in FIG. 12 is completed. In addition, the inventory retrieving request process at step 1302 shown in FIG. 13 is completed.
  • In FIG. 13, at [0152] step 1303, it is determined whether or not the insufficient quantity matches the retrieving quantity. In the example shown in FIG. 6(A), when the flow is returned from the inventory retrieving request process for the child node with the “size=L” attribute value in a lower hierarchical level of the node with the “color=red” attribute value, as described above, the insufficient quantity (=50) does not match the retrieving quantity (=25). Thus, the determined result at step 1303 is No.
  • When the determined result at [0153] step 1303 is No, the node update flag of the data structure of the current intermediate node is set to “1” (at step 1304 shown in FIG. 13). In other words, the inventory quantity of the relevant node is updated. In addition, the inventory quantity of the parent node is updated as follows. Thus, the node update flag is set. In the example shown in FIG. 7(C), the node update flag of the data structure of the node with the “color=red” attribute value is set to “1”.
  • Next, the value of which the insufficient quantity is subtracted from the retrieving quantity is subtracted from the inventory quantity of the data structure of the current intermediate node. The resultant is set as a new inventory quantity. In addition, the insufficient quantity is set as a new retrieving quantity (at [0154] step 1305 shown in FIG. 13). In the example shown in FIG. 6(B)→FIG. 7(C), the inventory quantity of the data structure of the node with the “color=red” attribute value is given as follows.
  • Inventory quantity=inventory quantity−(retrieving quantity−insufficient quantity)=600−(250−50)=400
  • Thus, the new retrieving quantity is given as follows. [0155]
  • Retrieving quantity=insufficient quantity=50
  • Thereafter, it is determined whether or not the insufficient quantity is “0” (at [0156] step 1306 shown in FIG. 13). In the above example, since the insufficient quantity is 50 (not 0), the determined result at step 1306 is No.
  • When the determined result at [0157] step 1306 is No, the next child node is searched (at step 1301 shown in FIG. 13). In the example shown in FIG. 6(A), since the child pointer list of the data structure of the node with the “color=red” attribute value stores at the third position a pointer to a node with a “size=S” attribute value, the determined result at step 1301 is Yes.
  • When the determined result at [0158] step 1301 is Yes, as described above, an inventory retrieving request is issued to the relevant child node (at step 1302 shown in FIG. 13). In this case, a retrieving condition and a retrieving quantity are input. An insufficient quantity is returned. In the example shown in FIG. 7(C), the retrieving condition and the retrieving quantity are as follows.
  • Retrieving condition: “Commodity A of size L”[0159]
  • Retrieving quantity: “50”[0160]
  • Thus, the inventory retrieving request process corresponding to the flowchart shown in FIG. 12 is called at [0161] step 1302 shown in FIG. 13.
  • First, it is determined whether or not the attribute of the data structure of the current node is included in the retrieving condition (at [0162] step 1201 shown in FIG. 12). In the example shown in FIG. 7(C), since the “size” attribute of the data structure of a node with a “size=S” attribute in a lower hierarchical level of the node with the “color=red” attribute value is included in the retrieving condition, the determined result at step 1201 is Yes.
  • When the determined result at [0163] step 1201 is Yes, it is determined whether or not the value of the data structure of the current node matches the retrieving condition (at step 1202 shown in FIG. 12). In the example shown in FIG. 7(C), since the “size=S” attribute value does not match the retrieving condition, the determined result at step 1202 is No.
  • When the determined result at [0164] step 1202 is No, the retrieving quantity is set to the insufficient quantity (at step 1206). Thus, the inventory retrieving request process at step 1302 shown in FIG. 13 is completed. In the example shown in FIG. 7(C), the insufficient quantity is 50.
  • In FIG. 13, at [0165] step 1303, it is determined whether or not the insufficient quantity matches the retrieving quantity. In the example shown in FIG. 7(C), when the flow is returned from the inventory retrieving request process for the child node with the “size=S” attribute value in a lower hierarchical level of the nose with the “color=red” attribute value, as described above, since the insufficient quantity (=50) is the retrieving quantity (=50), the determined result at step 1303 is Yes.
  • When the determined result at [0166] step 1303 is Yes, the next child node is searched (at step 1301 shown in FIG. 13). In the example shown in FIG. 7(C), since the child node pointer list of the data structure of the node with the “color=red” attribute value does not store at the third or later position a pointer to a child node, the determined result at step 1301 is No.
  • When the determined result at [0167] step 1301 is No, the process for the intermediate node at step 1204 shown in FIG. 12 is completed. In addition, the inventory retrieving request process at step 1302 shown in FIG. 13 is completed. In the example shown in FIG. 7(C), the inventory retrieving request process for the intermediate node with the “color=red” attribute value is completed. Thereafter, the flow returns to the next step of the process for the intermediate node at step 1302 corresponding to the flowchart for the node in the highest hierarchical level shown in FIG. 12.
  • In FIG. 13, at [0168] step 1303, it is determined whether or not the insufficient quantity matches the retrieving quantity. In the example shown in FIG. 7(C), when the flow is returned from the inventory retrieving request process for the child node with the=“color=red” attribute value to the node in the highest hierarchical level, the insufficient quantity is 50. In addition, the retrieving quantity is 250 as shown in FIG. 6(A). Thus, the determined result at step 1303 is No.
  • When the determined result at [0169] step 1303 is No, as described above, the node update flag of the data structure of the current intermediate node is set to “1” (at step 1304 shown in FIG. 13). In the example shown in FIG. 7(C), the node update flag of the data structure of the node in the highest hierarchical level is set to “1”.
  • Next, the value of which the insufficient quantity is subtracted from the retrieving quantity is subtracted from the inventory quantity of the data structure of the current intermediate node. The result is set as a new inventory quantity. The insufficient quantity is set as a new retrieving quantity (at [0170] step 1305 shown in FIG. 13). In the example shown in FIG. 6(B)→FIG. 7(C), the inventory quantity of the data structure of the node in the highest hierarchical level is given as follows.
  • Inventory quantity=inventory quantity−(retrieving quantity−insufficient quantity)=800−(250−50)=600
  • The new retrieving quantity is given as follows. [0171]
  • Retrieving quantity=insufficient quantity=50
  • Thereafter, it is determined whether or not the insufficient quantity is 0 (at [0172] step 1306 shown in FIG. 13). In the example, since the insufficient quantity is 50 (not 0), the determined result at step 1306 is No.
  • When the determined result at [0173] step 1306 is No, the next child node is searched (at step 1301 shown in FIG. 13). In the example shown in FIG. 7(C), since the child node pointer list of the data structure of the node in the highest hierarchical level stores at the second position a pointer to a node with a “color=blue” attribute value, the determined result at step 1301 is Yes.
  • When the determined result at [0174] step 1301 is Yes, as described above, an inventory retrieving request is issued to the relevant child node (at step 1302 shown in FIG. 13). In this case, a retrieving condition and a retrieving quantity are input. An insufficient quantity is returned. In the example shown in FIG. 7(C), the retrieving condition and the retrieving quantity are as follows.
  • Retrieving condition: “Commodity A of size L”[0175]
  • Retrieving quantity: “50”[0176]
  • Thus, the inventory retrieving request process corresponding to the flowchart shown in FIG. 12 is called again at [0177] step 1302 shown in FIG. 13.
  • First, it is determined whether or not the attribute of the data structure of the current node is included in the retrieving condition (at [0178] step 1201 shown in FIG. 12). In the example shown in FIG. 7(C), since the “color” attribute of the data structure of the node with the “color=blue” attribute value is not included in the retrieving condition, the determined result at step 1201 is No.
  • When the determined result at [0179] step 1201 is No, it is determined whether or not the current node is a terminal node (at step 1203). In the example shown in FIG. 7(C), since the node with the “color=blue” attribute value is not a terminal node, the determined result at step 1203 is No.
  • When the determined result at [0180] step 1203 is No, the process for the intermediate node is executed (at step 1204 shown in FIG. 12). In this case, a retrieving condition and a retrieving quantity are input. An insufficient quantity is returned. In the example shown in FIG. 6(A), the retrieving condition and the retrieving quantity are as follows.
  • Retrieving condition: “Commodity A of size L”[0181]
  • Retrieving quantity: “50”[0182]
  • Thus, the process for the intermediate node corresponding to the flowchart shown in FIG. 13 is called again at [0183] step 1204 shown in FIG. 12.
  • First, a child node is searched (at [0184] step 1301 shown in FIG. 13). In the example shown in FIG. 7(C), since the child node pointer list of the data structure of the node with the “color=blue” attribute value stores at the top a pointer to a node with a “size=L” attribute value, the determined result at step 1301 is Yes.
  • When the determined result at [0185] step 1301 is Yes, as described above, an inventory retrieving request is issued to the relevant child node (at step 1302 shown in FIG. 13). In this case, a retrieving condition and a retrieving quantity are input. A retrieving quantity is returned. In the example shown in FIG. 6(A), the retrieving condition and the retrieving quantity are as follows.
  • Retrieving condition: “Commodity A of size L”[0186]
  • Retrieving quantity: “50”[0187]
  • Thus, the inventory retrieving request process corresponding to the flowchart shown in FIG. 12 is called again at [0188] step 1302 shown in FIG. 13.
  • First, it is determined whether or not the attribute of the data structure of the current node is included in the retrieving condition (at [0189] step 1201 shown in FIG. 12). In the example shown in FIG. 7(C), since the “size” attribute of the data structure of the node with the “size=L” attribute value in a lower hierarchical level of the node with the “color=blue” attribute value is included in the retrieving condition, the determined result at step 1201 is Yes.
  • When the determined result at [0190] step 1201 is Yes, it is determined whether or not the value of the data structure of the current node matches the retrieving condition (at step 1202 shown in FIG. 12). In the example shown in FIG. 7(C), since the “size=L” attribute matches the retrieving condition, the determined result at step 1202 is Yes.
  • When the determined result at [0191] step 1202 is Yes, it is determined whether or not the current node is a terminal node (at step 1203). In the example shown in FIG. 7(C), since the node with the “size=L” attribute value in a lower hierarchical level of the node with the “color=blue” attribute value is a terminal node, the determined result at step 1203 is No.
  • When the determined result at [0192] step 1203 is Yes, the process for the terminal node is executed (at step 1205 shown in FIG. 12). In this case, a retrieving condition and a retrieving quantity are input. An insufficient quantity is returned. In the example shown in FIG. 7(C), the retrieving condition and the retrieving quantity are as follows.
  • Retrieving condition: “Commodity A of size L”[0193]
  • Retrieving quantity: “50”[0194]
  • The process for the terminal node is executed corresponding to a flowchart shown in FIG. 14. [0195]
  • First, it is determined whether or not the inventory quantity of the data structure of the terminal node is larger than the retrieving quantity (at [0196] step 1401 shown in FIG. 14). In the example shown in FIG. 7(C), since the inventory quantity (=100) of the data structure of the terminal node with the “size=L” attribute value in a lower hierarchical level of the node with the “color=blue” attribute value is larger than the attributing quantity (=50), the determined result at step 1401 is Yes.
  • When the determined result at [0197] step 1401 is Yes, the value of which the retrieving quantity is subtracted from the inventory quantity is set as a new inventory quantity. In addition, the insufficient quantity is set to “0” (at step 1402 shown in FIG. 14). In the example shown in FIG. 7(C)→FIG. 7(D), in the process for the terminal node with the “size=L” attribute value in a lower hierarchical level of the node with the “color=blue” attribute value, the inventory quantity and the insufficient quantity are given as follows.
  • Inventory quantity=inventory quantity−retrieving quantity=100−50=50
  • Insufficient quantity=0 [0198]
  • Thereafter, the node update flag of the data structure of the terminal node is set to “1” (at [0199] step 1401 shown in FIG. 14). Thus, the process for the terminal node at step 1205 shown in FIG. 12 is completed. In addition, the inventory retrieving request process at step 1302 shown in FIG. 13 is completed.
  • In FIG. 13, at [0200] step 1303, it is determined whether or not the insufficient quantity matches the retrieving quantity. In the example shown in FIG. 7(D), when the flow is returned from the inventory retrieving request process for the child node with the “size=L” attribute value in a lower hierarchical level of the node with the “color=blue” attribute value, as described above, since the insufficient quantity (=0) does not match the retrieving quantity (=50), the determined result at step 1303 is No.
  • When the determined result at [0201] step 1303 is No, the node update flag of the data structure of the current intermediate node is set to “1” (at step 1304 shown in FIG. 13). In the example shown in FIG. 7(D), the node update flag of the data structure of the node with the “color=blue” attribute value is set to “1”.
  • Next, the value of which the insufficient quantity is subtracted from the retrieving quantity is subtracted from the inventory quantity of the data structure of the current intermediate node. The result is set as a new inventory quantity. In addition, the insufficient quantity is set as a new retrieving quantity (at [0202] step 1305 shown in FIG. 13). In the example shown in FIG. 7(C)→FIG. 7(D), the inventory quantity of the data structure of the node with the “color=blue” attribute value is given as follows.
  • Inventory quantity=inventory quantity−(retrieving quantity−insufficient quantity)=200−(50−0)=150
  • Thus, the new retrieving quantity is given as follows. [0203]
  • Retrieving quantity=insufficient quantity=0
  • Thereafter, it is determined whether or not the insufficient quantity is [0204] 0 (at step 1306 shown in FIG. 13). In the example, since the insufficient quantity is 0, the determined result at step 1306 is Yes.
  • When the determined result at [0205] step 1306 is Yes, the process for the intermediate node at step 1204 shown in FIG. 12 is completed. In addition, the inventory retrieving request process at step 1302 shown in FIG. 13 is completed. In the example shown in FIG. 7(D), the inventory retrieving request process for the intermediate node with the “color=blue” attribute value is completed. Thereafter, the flow returns to the next step of the process for the intermediate node at step 1302 corresponding to the flowchart for the node in the highest hierarchical level shown in FIG. 12.
  • In FIG. 13, at [0206] step 1303, it is determined whether or not the insufficient quantity matches the retrieving quantity. In the example shown in FIG. 7(D), when the flow is returned from the inventory retrieving request process for the child node with the “color=blue” attribute value in a lower hierarchical level of the node in the highest hierarchical level, the insufficient quantity is 0 and the retrieving quantity is 50 as shown in FIG. 7(C). Thus, the determined result at step 1303 is Yes.
  • When the determined result at [0207] step 1303 is No, as described above, the node update flag of the data structure of the current intermediate node is set to “1” (at step 1304 shown in FIG. 13). In the example shown in FIG. 7(D), the node update flag of the data structure of the node in the highest hierarchical level is set to “1” again.
  • Next, the value of which the insufficient quantity is subtracted from the retrieving quantity is subtracted from the inventory quantity of the data structure of the current intermediate node. The result is set as a new inventory quantity. In addition, the insufficient quantity is set as a new retrieving quantity (at [0208] step 1305 shown in FIG. 13). In the example shown in FIG. 7(C)→FIG. 7(D), the inventory quantity of the data structure of the node in the highest hierarchical level is given as follows.
  • Inventory quantity=inventory quantity−(retrieving quantity−insufficient quantity)=600−(50−0)=550
  • The new retrieving quantity is given as follows. [0209]
  • Retrieving quantity=insufficient quantity=0
  • Thereafter, it is determined whether or not the insufficient quantity is 0 (at [0210] step 1306 shown in FIG. 13). In the example, since the insufficient quantity is 0, the determined result at step 1306 is Yes.
  • When the determined result at [0211] step 1306 is Yes, the process for the intermediate node at step 1204 shown in FIG. 12 is completed. In addition, the inventory retrieving request process at step 1302 shown in FIG. 13 is completed. In the example shown in FIG. 7(D), the inventory retrieving request process for the node in the highest hierarchical level is completed. The flow returns to the next step of the inventory retrieving process corresponding to the flowchart shown in FIG. 11.
  • In FIG. 11, it is determined whether or not the insufficient quantity is 0 (at [0212] step 1102 shown in FIG. 11). In the example shown in FIG. 7(D), since the insufficient quantity is 0, the determined result at step 1102 is Yes.
  • When the determined result at [0213] step 1102 is Yes, a message that represents that the inventory retrieving process has been successfully completed is sent. Thus, the inventory retrieving process of the inventory retrieving unit 104 is completed.
  • On the other hand, when the determined result at [0214] step 1102 is No, all node updates are discarded (at step 1103 shown in FIG. 11). The content of the inventory information tree on-memory structure storing unit 103 is not varied.
  • Thereafter, a message that represents that the inventory retrieving process has been unsuccessfully terminated is sent. Thus, the inventory retrieving process of the [0215] inventory retrieving unit 104 is terminated.
  • In the case that the attribute of the data structure of the current intermediate node matches the retrieving condition (namely, the determined result at [0216] step 1201 shown in FIG. 12 is Yes→the determined result at step 1202 is Yes→the determined result at step 1203 is No→step 1204), in an inventory retrieving request process for a child node of an intermediate node (at step 1302 shown in FIG. 12 and in the flowchart shown in FIG. 12), if the child node is a terminal node, even if the attribute of the data structure of the terminal node is not included in the retrieving condition, the inventory retrieving process is executed for the terminal node (at step 1205 shown in FIG. 12 and the flowchart shown in FIG. 14).
  • Inventory Retrieving Process that can be Distributed [0217]
  • The above-described inventory retrieving process for a terminal node is executed until the inventory quantity thereof becomes 0. [0218]
  • In the case that the attribute and value of the data structure of an intermediate node match a retrieving condition, when an inventory retrieving request process for a terminal node that is a child node of the intermediate node is executed, if the attribute of the data structure of the terminal node is not included in the retrieving condition, the system may be structured in such a manner that the inventory retrieving process is performed up to the lower limit of a predetermined inventory quantity. [0219]
  • FIG. 15 is a flowchart showing an inventory retrieving request process that can be distributed. The flowchart shown in FIG. 15 is similar to that shown in FIG. 12. In FIG. 15, similar steps to those in FIG. 12 are denoted by similar reference numerals. [0220]
  • In FIG. 15, in the case that the attribute and value of the data structure of an intermediate node match a retrieving condition (the determined result at [0221] step 1501 shown in FIG. 15 is Yes→the determine result at step 1502 is Yes→the determined result at step 1503 is No→step 1504), when an inventory retrieving request process for a child node of the intermediate node is performed (at step 1302 shown in FIG. 13 and in the flowchart shown in FIG. 15), if the attribute of the data structure of the child node is not included in the attributing condition (the determined result at step 1201 shown in FIG. 15 is No) and the current node is a terminal node (at step 1501 shown in FIG. 15), the process for the terminal node is performed up to the lower limit of the inventory quantity unlike with step 1205 (at step 1502 shown in FIG. 15).
  • FIG. 16 is a flowchart showing the process for the terminal node at [0222] step 1502 shown in FIG. 15.
  • First, it is determined whether or not the value of which a predetermined value of the lower limit is subtracted from the inventory quantity of the data structure of the terminal node is larger than the retrieving quantity (at [0223] step 1601 shown in FIG. 16).
  • When the determined result at [0224] step 1601 is Yes, as with the case at step 1402, the value of which the retrieving quantity is subtracted from the inventory quantity is set as a new inventory quantity. In addition, the insufficient quantity is set to 0 (at step 1602 shown in FIG. 16).
  • When the determined result at [0225] step 1601 is No, the value of which the lower limit of the inventory quantity is subtracted from the inventory quantity is subtracted from the retrieving quantity. The result is set as an insufficient quantity. The new inventory quantity is set as a lower limit of the inventory quantity (at step 1603 shown in FIG. 16).
  • The process at [0226] step 1604 is the same as the process at step 1404 shown in FIG. 14.
  • As described above, since the process for the terminal node is executed up to the lower limit of the inventory quantity, the inventory retrieving process is prevented from being performed only for a particular node. Thus, the inventory retrieving process can be distributed. [0227]
  • Detailed Description of the Process of the [0228] Inventory Stocking Unit 105
  • The inventory stocking process is executed by the [0229] inventory stocking unit 105 for the inventory information tree on-memory structure stored in the inventory information tree on-memory structure storing unit 103.
  • In the inventory stocking process, nodes that satisfy a stocking condition are one terminal node and intermediate nodes in higher hierarchical levels thereof. [0230]
  • FIGS. [0231] 17 to 19 are flowcharts showing the process of the inventory stocking unit 105. FIG. 17 is a flowchart showing a main flow of the process.
  • First, an inventory stocking request is issued to a node in the highest hierarchical level (at [0232] step 1701 shown in FIG. 17). In this case, a stocking condition and a stocking quantity are input. OK or NG is returned.
  • FIG. 18 is a flowchart showing an inventory stocking request process called at [0233] step 1701 shown in FIG. 17.
  • In the inventory stocking request process, when the attribute and value of the data structure of the current node do not match the stocking condition, a message NG is immediately returned (the determined result at [0234] step 1801 shown in FIG. 18 is No→step 1811; the determined result at step 1801 is Yes→the determined result at step 1802 is No→step 1811).
  • In contrast, when the attribute and value of the data structure of the current node match the stocking condition and the current node is an intermediate node, a process for an intermediate node is executed (the determined result at [0235] step 1801 shown in FIG. 18 is Yes→the determined result at step 1802 is Yes the determined result at step 1803 is No→step 1804). In this case, a stocking condition and a stocking quantity are input. OK or NG is returned.
  • FIG. 19 is a flowchart showing a process for an intermediate node called at [0236] step 1804 shown in FIG. 18.
  • In the process for the intermediate node, a child node is searched from the child node pointer list of the data structure of the intermediate node. In addition, the inventory stocking request process is executed for a relevant child node (the determined result at [0237] step 1901 shown in FIG. 19 is Yes→step 1902step 1903→step 1901).
  • The inventory stocking request process for the relevant child node is executed again corresponding to the flowchart shown in FIG. 18. When the relevant child node is an intermediate node, the process for the intermediate node is recursively executed (the determined result at [0238] step 1801 shown in FIG. 18 is Yes→the determined result at step 1802 is Yes→the determined result at step 1803 is No→step 1804).
  • On the other hand, when the child node is a terminal node and the attribute and value of the data structure thereof match the stocking condition (the determined result at [0239] step 1801 shown in FIG. 18 is Yes→the determined result at step 1802 is Yes→the determined result at step 1803 is Yes), the stocking quantity is added to the inventory quantity of the data structure of the terminal node (at step 1808 shown in FIG. 18). The node update flag of the data structure is set to “1” (at step 1809 shown in FIG. 18). A message OK is returned to the parent node (at step 1810 shown in FIG. 18).
  • When the message OK is returned from the terminal node, in the process for the intermediate node shown in FIG. 19, the determined result at [0240] step 1903 is Yes. The node update flag of the data structure of the intermediate node is set to “1” (at step 1904 shown in FIG. 19). The stocking quantity is added to the inventory quantity of the data structure (at step 1905 shown in FIG. 19). Thus, a message OK is returned (at step 1906 shown in FIG. 19).
  • In the process for the intermediate node, when a message OK is not returned from any child node and thereby the determined result at [0241] step 1901 is No, a message NG is returned (at step 1907 shown in FIG. 19).
  • When the message OK is returned in the process for the intermediate node, a message OK is returned to the parent node that causes the intermediate node to execute the inventory stocking request process (step [0242] 1804 shown in FIG. 18→the determined result at step 1805 is Yes (OK)→step 1806). In contrast, when a message NG is returned, a message NG is returned to the parent node that causes the intermediate node to executes the inventory stocking request process (step 1804 shown in FIG. 18 the determined result at step 1805 is No (NG)→step 1807).
  • As described above, when the result of the inventory stocking process is returned to the node in the highest hierarchical level of the inventory information tree on-memory structure, the inventory stocking request process at [0243] step 1701 shown in FIG. 17 is completed. Next, it is determined whether or not the message OK is returned (at step 1702 shown in FIG. 17).
  • When the determined result at [0244] step 1702 is Yes (OK), a message that represents that the inventory stocking process has been successfully completed is sent. Thus, the inventory stocking process of the inventory stocking unit 105 is completed.
  • On the other hand, when the determined result at [0245] step 1702 is No (NG), all node updates are discarded (at step 1703 shown in FIG. 17). Thus, the content of the inventory information tree-on memory structure storing unit 103 is not varied.
  • Thereafter, a message that represents that the inventory stocking process has been unsuccessfully terminated is sent. Thus, the inventory stocking process of the [0246] inventory stocking unit 105 is terminated.
  • Detailed Description of the Process of the Inventory Information Tree [0247] DB Updating Unit 106
  • The updated content of the inventory information tree on-memory structure stored in the inventory information tree on-memory [0248] structure storing unit 103 is reflected to the inventory information tree DB stored in the inventory information tree DB storing unit 101 by the inventory information tree DB updating unit 106 at predetermined intervals.
  • As described above, the node update flag stored in the data structure of each node in the inventory information tree on-memory structure is set to “1” when the inventory quantity of the relevant node is updated by the [0249] inventory retrieving unit 104 and the inventory stocking unit 105. The inventory information tree DB updating unit 106 executes the SQL statement for updating the data to the inventory information tree DB table for a node with node update flag=1 in the inventory information tree on-memory structure shown in FIG. 24. Thus, the inventory information tree DB and the inventory information tree on-memory structure can be effectively matched.
  • FIGS. [0250] 20 to 23 are flowcharts showing a process of the inventory information tree DB updating unit 106. FIG. 20 is a flowchart showing a main flow of the process.
  • First, an inventory updating request is issued to a node in the highest hierarchical level (at [0251] step 2001 shown in FIG. 20).
  • FIG. 21 is a flowchart showing the inventory updating request process called at [0252] step 2001 shown in FIG. 20.
  • In the inventory updating request process, when the current node is an intermediate node, the inventory updating process for the intermediate node is executed (the determined result at [0253] step 2101 shown in FIG. 21 is No→step 2102). When the current node is a terminal node, the inventory updating process for the terminal node is executed (the determined result at step 2101 is Yes→step 2103).
  • FIG. 22 is a flowchart showing the inventory updating process for the intermediate node called at [0254] step 2102 shown in FIG. 21.
  • In the inventory updating process for the intermediate node, when the node update flag of the data structure of the current node is “1”, the following SQL statement for the node is issued (determined result at [0255] step 2201 shown in FIG. 22 is Yes→step 2202).
  • update TABLE NAME set INVENTORY QUANTITY=<INVENTORY QUANTITY> where ID=<NODE ID>
  • In the SQL statement, <INVENTORY QUANTITY> and <NODE ID> are the inventory quantity and node ID stored in the data structure. [0256]
  • Thereafter, the node update flag stored in the data structure of the current node is set to “0” (at step [0257] 2203).
  • Next, a child node is searched from the child node pointer list of the data structure of the current node. The inventory updating request process is executed for a relevant child node (the determined result at [0258] step 2204 shown in FIG. 22 is Yes→step 2205→step 2204).
  • The inventory updating request process for the relevant child node corresponding to the flowchart shown in FIG. 21 is executed again. When the relevant child node is an intermediate node, the inventory updating process for the intermediate node is recursively executed (the determined result at [0259] step 2101 shown in FIG. 21 is No→step 2202).
  • On the other hand, in the inventory updating request process, when the current node is a terminal node, the inventory updating process for the terminal node is executed (the determined result at [0260] step 2101 is Yes→step 2103).
  • FIG. 23 is a flowchart showing the inventory updating process for the terminal node called at [0261] step 2103 shown in FIG. 21.
  • In the inventory updating process for the terminal node, no operation is performed unless the node update flag stored in the data structure of the current node is “1”. When the node update flag is “1”, as with the case of an intermediate node, the following SQL statement is executed (the determined result at [0262] step 2301 shown in FIG. 23 is Yes→step 2302).
  • update TABLE NAME set INVENTORY QUANTITY=<INVENTORY QUANTITY> where ID=<NODE ID>
  • Thereafter, the node update flag stored in the data structure of the current node is set to “0” (at step [0263] 2303).
  • After the inventory updating process has been recursively completed and the flow returns to the inventory updating request process for the node in the highest hierarchical level, the inventory updating process at [0264] step 2001 shown in FIG. 20 is completed. Thus, the inventory updating process of the inventory information tree DB updating unit 106 is completed.
  • Inventory Information Tree DB according to Second Embodiment [0265]
  • FIG. 25(A) is a table showing an inventory information tree DB stored in the inventory information tree [0266] DB storing unit 101 according to a second embodiment of the present invention.
  • In the inventory information tree DB according to the first embodiment of the present invention shown in FIG. 2 or [0267] 9, a smaller value of node ID is designated to a node in a higher hierarchical level of the inventory information tree. In addition, a smaller node ID is designated to a node at a leftmost position in the same hierarchical level. Thus, a navigation of the inventory retrieving process based on the inventory information tree is configured so that the node ID which has a smaller value will be higher in the order of priority.
  • On the other hand, in the second embodiment shown in FIG. 25(A), the priority between different hierarchical levels is defined with the relation of settings in a parent ID field. Moreover, the priority in the same hierarchical level is defined with the relation of settings in a preceding node ID field. [0268]
  • Thus, corresponding to the settings in the preceding node ID field, the priority of the navigation can be defined as shown in FIG. 25(B). [0269]
  • With such a structure, as shown in FIG. 26, a node with any priority can be easily added to any hierarchical level. [0270]
  • Supplementary Description of Storage Medium on Which Program for Accomplishing Embodiment of Present Invention is Recorded [0271]
  • The present invention can be applied for a storage medium from which a computer reads a program that causes the computer to perform the same function as that accomplished by each structural unit of the embodiment. [0272]
  • In this case, as shown in FIG. 27, a program that accomplishes each function of each embodiment of the present invention is loaded to a memory (RAM, hard disk, or the like) of a [0273] main unit 2704 of an NMS server 2701 with a portable storage medium 2402 such as a floppy disk, a CD-R disc, an optical disc, a removable disc, or the like or through a network line 2703. Thereafter, the program is executed.

Claims (8)

What is claimed is:
1. An inventory managing method for automatically performing an inventory managing process for a management object, comprising the steps of:
defining to a node that structures binary tree data to which attributes of the management object are designated to individual hierarchical levels at least the type of an attribute of the management object, the value thereof, an inventory quantity of the management object that satisfies a classification condition represented by the position of the node on the binary tree data, and the relation of a link to another node;
designating the attribute and the value of the management object as a retrieving condition when the inventory retrieving process is performed;
executing the inventory retrieving process for updating the inventory quantity of each node while searching each node on the binary tree data corresponding to the retrieving condition; and
searching each node with priority corresponding to the position of each node in hierarchical layers with attributes that are not included in the retrieving condition.
2. An inventory managing apparatus for automatically performing an inventory retrieving process for a management object, comprising:
a database table composed of records to which nodes that structure binary tree data are assigned, each of the nodes being defined with at least the type of an attribute of the management object, the value thereof, an inventory quantity of the management object that satisfies a classification condition represented by the position of the node on the binary tree data, and the relation of a link to another node; and
an inventory retrieving unit for searching each node on the binary tree data through said database table corresponding to a retrieving condition defined with a combination of the attribute and value of the management object, executing an inventory retrieving process for updating the inventory quantity of each node, and searching each node with priority corresponding to the position of each node in hierarchical levels with attributes that are not included in the retrieving condition.
3. The apparatus as set forth in
claim 2
, further comprising:
an inventory stocking unit for executing an inventory stocking process for updating the inventory quantity of each node while searching each node on the binary tree data through said data base corresponding to a stocking condition defined with a combination of the attribute and value of the management object.
4. The apparatus as set forth in
claim 2
or
3
, further comprising:
a binary tree data on-memory structure creating unit for developing the binary tree data from said database table to a memory unit,
wherein said inventory retrieving unit or said inventory stocking unit executes the inventory retrieving process or the inventory stocking process for the binary tree data developed in the memory unit.
5. The apparatus as set forth in
claim 4
,
wherein each record further comprises:
an identification information field for storing identification information having a value corresponding to the position of the node on the binary tree data, and
wherein said binary tree data on-memory structure creating unit develops the binary tree data from said database table to the memory unit corresponding to the content of the identification information field.
6. The apparatus as set forth in
claim 4
,
wherein each record further comprises:
a management object type field for storing the type of the management object, and
wherein said binary tree data on-memory structure creating unit develops the binary tree data for each management object type from said database table to the memory unit corresponding to the content of the management object type field.
7. The apparatus as set forth in
claim 4
,
wherein each node that structures the binary tree data developed to the memory unit has node update information that represents whether or not the inventory quantity corresponding to each node has been updated by said inventory retrieving unit or said inventory stocking unit, and
wherein the apparatus further comprises:
a database updating unit for affecting the update state of the binary tree data developed in the memory unit to said database table corresponding to the node update information.
8. A storage medium from which a computer reads a program that causes the computer to perform the functions of:
defining to a node that structures binary tree data to which attributes of the management object are designated to individual hierarchical levels at least the type of an attribute of the management object, the value thereof, an inventory quantity of the management object that satisfies a classification condition represented by the position of the node on the binary tree data, and the relation of a link to another node;
designating the attribute and the value of the management object as a retrieving condition when the inventory retrieving process is performed;
executing the inventory retrieving process for updating the inventory quantity of each node while searching each node on the binary tree data corresponding to the retrieving condition; and
searching each node with priority corresponding to the position of each node in hierarchical layers with attributes that are not included in the retrieving condition.
US09/114,517 1998-01-08 1998-07-14 Inventory managing method for automatic inventory retrieval and apparatus thereof Expired - Lifetime US6338053B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP00258998A JP4004619B2 (en) 1998-01-08 1998-01-08 Inventory management device capable of automatic inventory allocation
JP10-002589 1998-01-08

Publications (2)

Publication Number Publication Date
US20010042059A1 true US20010042059A1 (en) 2001-11-15
US6338053B2 US6338053B2 (en) 2002-01-08

Family

ID=11533577

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/114,517 Expired - Lifetime US6338053B2 (en) 1998-01-08 1998-07-14 Inventory managing method for automatic inventory retrieval and apparatus thereof

Country Status (2)

Country Link
US (1) US6338053B2 (en)
JP (1) JP4004619B2 (en)

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020107893A1 (en) * 2001-02-02 2002-08-08 Hitachi, Ltd. Method and system for displaying data with tree structure
US20030182211A1 (en) * 2000-07-26 2003-09-25 Shigeru Sakurazawa Assets management system, and terminal for assets management and assets management apparatus
US20040030724A1 (en) * 2002-06-19 2004-02-12 Rosenquist Edward G. Computer-implemented method and system for replenishing material inventories
US20040030614A1 (en) * 2002-06-19 2004-02-12 Shields Jay C. Computer-implemented method and system for managing workload of procurement individuals
US20040030618A1 (en) * 2002-06-19 2004-02-12 Rosenquist Edward G. Computer-implemented method and system of payment of indirect materials
US20040030602A1 (en) * 2002-06-19 2004-02-12 Rosenquist Edward G. Computer-implemented method and system for managing supplier access to purchasing and inventory transactions
US20040039735A1 (en) * 2002-06-19 2004-02-26 Ross Maria A. Computer-implemented method and system for performing searching for products and services
US20040044591A1 (en) * 2002-06-19 2004-03-04 Gilliland Ramelle L. Method and system for electronic procurement involving electronic requests for quotation
US20040054603A1 (en) * 2002-06-19 2004-03-18 Robin Clinesmith Computer-implemented method and system for global purchasing
US20040078288A1 (en) * 2002-06-19 2004-04-22 Jill Forbis Computer-implemented method and system for retroactive pricing for use in order procurement
US20040123241A1 (en) * 2002-11-21 2004-06-24 Nokia Corporation Priorization of management objects
US7099932B1 (en) * 2000-08-16 2006-08-29 Cisco Technology, Inc. Method and apparatus for retrieving network quality of service policy information from a directory in a quality of service policy management system
US20070242624A1 (en) * 2006-04-18 2007-10-18 Computer Associates Think, Inc. Method and System for Displaying Messages in Context
US7376827B1 (en) 1999-11-05 2008-05-20 Cisco Technology, Inc. Directory-enabled network elements
US20110016274A1 (en) * 2009-07-15 2011-01-20 Kabushiki Kaisha Toshiba Portable electronic device, smartcard and control method for portable electronic device
US20110087707A1 (en) * 2009-10-09 2011-04-14 Oracle International Corporation Hierarchical Representation of Time-Related Profiles
US20110153471A1 (en) * 2002-01-04 2011-06-23 Davis Jr Tommy Lee Equipment management system
US20120109917A1 (en) * 2010-10-27 2012-05-03 Comeau Gregory P System and method for synchronously updating a hierarchy bridge table
US8380636B2 (en) 2002-11-06 2013-02-19 Emmitt J. Smith, III Personal interface device and method
US20140046899A1 (en) * 2012-08-07 2014-02-13 Alibaba Group Holding Limited Method and Apparatus of Implementing Navigation of Product Properties
US20140059488A1 (en) * 2012-08-21 2014-02-27 Sap Ag System and method for viewing selected descendant nodes in a tree hierarchy displayed in tabular form
US20150026555A1 (en) * 2013-07-16 2015-01-22 Fujitsu Limited Data output method, computer-readable recording medium storing data output program and data output system
US20150026217A1 (en) * 2013-07-16 2015-01-22 Fujitsu Limited Data output method, computer-readable recording medium storing data output program and data output system
US20150100554A1 (en) * 2013-10-07 2015-04-09 Oracle International Corporation Attribute redundancy removal
US9225519B1 (en) 2015-03-02 2015-12-29 Federico Fraccaroli Method, system, and apparatus for enabling secure functionalities
US9250781B2 (en) 2012-10-17 2016-02-02 Sap Se Method and device for navigating time and timescale using movements
US9483086B2 (en) 2012-07-30 2016-11-01 Sap Se Business object detail display
US9658672B2 (en) 2012-07-30 2017-05-23 Sap Se Business object representations and detail boxes display
US20170262539A1 (en) * 2000-03-31 2017-09-14 Kapow Software Method of retrieving attributes from at least two data sources
US10216823B2 (en) * 2017-05-31 2019-02-26 HarperDB, Inc. Systems, methods, and apparatus for hierarchical database
CN109960186A (en) * 2017-12-25 2019-07-02 北京创昱科技有限公司 Processing method, device, electronic equipment and the storage medium of control flow
CN113449003A (en) * 2021-07-07 2021-09-28 京东科技控股股份有限公司 Information query method and device, electronic equipment and medium
CN113570428A (en) * 2021-07-23 2021-10-29 上海普洛斯普新数字科技有限公司 System for screening consistency of online commodities
US11907898B2 (en) 2019-04-02 2024-02-20 Coupang Corp. Electronic inventory tracking system and associated user interfaces

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7138486B2 (en) * 1986-05-05 2006-11-21 The General Hospital Corporation Insulinotropic hormone derivatives and uses thereof
US6849708B1 (en) * 1986-05-05 2005-02-01 The General Hospital Corporation Insulinotropic hormone and uses thereof
US6374249B1 (en) 1998-08-11 2002-04-16 I2 Technologies Us, Inc. Data structure and operations for time-varying variable in an enterprise model
US6667967B1 (en) 1999-05-14 2003-12-23 Omninet Capital, Llc High-speed network of independently linked nodes
US6321230B1 (en) 1999-08-11 2001-11-20 I2 Technologies Us, Inc. Binary tree with override nodes for representing a time-varying function in an enterprise model
US20020188537A1 (en) * 1999-09-16 2002-12-12 Leeds Peter A. Management systems and methods for maximizing return on assets
US6944598B1 (en) 1999-09-17 2005-09-13 I2 Technologies Us, Inc. Binary trees for detecting inventory problems in an enterprise model
US6684216B1 (en) * 1999-09-29 2004-01-27 Katherine A. Duliba Method and computer system for providing input, analysis, and output capability for multidimensional information
US6931003B2 (en) * 2000-02-09 2005-08-16 Bookline Flolmstead Llc Packet prioritization protocol for a large-scale, high speed computer network
JP2001283067A (en) * 2000-03-29 2001-10-12 Seiko Epson Corp Method and system for managing stock reservation
US7558793B1 (en) * 2000-04-10 2009-07-07 Arena Solutions, Inc. System and method for managing data in multiple bills of material over a network
US7593751B2 (en) 2000-09-18 2009-09-22 Field Data Management Solutions, Llc Conducting field operations using handheld data management devices
AU2002305934A1 (en) * 2001-02-15 2002-10-15 Landmark Ventures I, L.L.C. Management systems and methods for maximizing return on assets
US8045565B1 (en) 2001-11-20 2011-10-25 Brookline Flolmstead Llc Method and apparatus for an environmentally hardened ethernet network system
JP2003162617A (en) * 2001-11-27 2003-06-06 World:Kk Support system for supply chain management, supply chain management method and recording medium with information processing program operable on computer recorded thereon
US6691103B1 (en) * 2002-04-02 2004-02-10 Keith A. Wozny Method for searching a database, search engine system for searching a database, and method of providing a key table for use by a search engine for a database
US20030195860A1 (en) * 2002-04-05 2003-10-16 Ball Jackson L. System and method for remotely measuring, monitoring and billing thermal energy usage
JP2004062286A (en) * 2002-07-25 2004-02-26 Renesas Technology Corp Matching controller for data
US7603291B2 (en) * 2003-03-14 2009-10-13 Sap Aktiengesellschaft Multi-modal sales applications
US20040181467A1 (en) * 2003-03-14 2004-09-16 Samir Raiyani Multi-modal warehouse applications
US7302445B2 (en) * 2003-08-29 2007-11-27 International Business Machines Corporation Method, system, and storage medium for providing a dynamic, multi-dimensional commodity modeling process
US20050177436A1 (en) * 2003-10-10 2005-08-11 Restaurant Services, Inc. Hierarchy for standard nomenclature
TW200535655A (en) * 2004-04-22 2005-11-01 Via Tech Inc Method for developing organization structure and its authority controlling
JP5076272B2 (en) * 2004-09-24 2012-11-21 富士通株式会社 Product purchase management system
US9092807B1 (en) 2006-05-05 2015-07-28 Appnexus Yieldex Llc Network-based systems and methods for defining and managing multi-dimensional, advertising impression inventory
US8175925B1 (en) * 2006-08-18 2012-05-08 Amazon Technologies, Inc. Position-based item identification in a materials handling facility
JP4858078B2 (en) * 2006-10-25 2012-01-18 富士通株式会社 Inventory allocation management system, inventory allocation management method, and inventory allocation management program
US8352336B2 (en) 2007-05-01 2013-01-08 Jda Software Group, Inc. System and method for allocating manufactured products to sellers using profitable order promising
US9947029B2 (en) 2012-06-29 2018-04-17 AppNexus Inc. Auction tiering in online advertising auction exchanges
US10325230B2 (en) * 2015-02-02 2019-06-18 Walmart Apollo, Llc Methods and systems for auditing overstock in a retail environment
US10296938B1 (en) * 2015-09-28 2019-05-21 Oath (Americas) Inc. Systems and methods for online traffic filtration by electronic content providers
JP2018205905A (en) * 2017-05-31 2018-12-27 株式会社日本総合研究所 Output program and business model data
US10943271B2 (en) 2018-07-17 2021-03-09 Xandr Inc. Method and apparatus for managing allocations of media content in electronic segments
US11188596B2 (en) 2019-11-07 2021-11-30 International Business Machines Corporation Storage optimization for products manufacturing
US11823108B1 (en) * 2022-10-14 2023-11-21 Stoke Space Technologies, Inc. System for managing resources and scheduling, and related method and software

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5228116A (en) * 1988-07-15 1993-07-13 Aicorp., Inc. Knowledge base management system
AU631276B2 (en) * 1989-12-22 1992-11-19 Bull Hn Information Systems Inc. Name resolution in a directory database
US5261088A (en) * 1990-04-26 1993-11-09 International Business Machines Corporation Managing locality in space reuse in a shadow written B-tree via interior node free space list
US5379422A (en) * 1992-01-16 1995-01-03 Digital Equipment Corporation Simple random sampling on pseudo-ranked hierarchical data structures in a data processing system
US5566333A (en) * 1992-11-05 1996-10-15 Trace Technologies, Inc. Relational database information management system for facilitating normalization of a relational database
US5418947A (en) * 1992-12-23 1995-05-23 At&T Corp. Locating information in an unsorted database utilizing a B-tree
US5434775A (en) * 1993-11-04 1995-07-18 The General Hospital Corporation Managing an inventory of devices
EP0788649B1 (en) * 1995-08-28 2001-06-13 Koninklijke Philips Electronics N.V. Method and system for pattern recognition based on tree organised probability densities
US5806065A (en) * 1996-05-06 1998-09-08 Microsoft Corporation Data system with distributed tree indexes and method for maintaining the indexes
US6029170A (en) * 1997-11-25 2000-02-22 International Business Machines Corporation Hybrid tree array data structure and method

Cited By (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376827B1 (en) 1999-11-05 2008-05-20 Cisco Technology, Inc. Directory-enabled network elements
US20170262539A1 (en) * 2000-03-31 2017-09-14 Kapow Software Method of retrieving attributes from at least two data sources
US10127313B2 (en) * 2000-03-31 2018-11-13 Kapow Software Method of retrieving attributes from at least two data sources
US20030182211A1 (en) * 2000-07-26 2003-09-25 Shigeru Sakurazawa Assets management system, and terminal for assets management and assets management apparatus
US7370027B2 (en) * 2000-07-26 2008-05-06 Fujitsu Limited System for stocktaking asset articles using a mobile device
US7099932B1 (en) * 2000-08-16 2006-08-29 Cisco Technology, Inc. Method and apparatus for retrieving network quality of service policy information from a directory in a quality of service policy management system
US20020107893A1 (en) * 2001-02-02 2002-08-08 Hitachi, Ltd. Method and system for displaying data with tree structure
US10839344B2 (en) 2002-01-04 2020-11-17 Prova Group, Inc. Equipment management system
US10049365B2 (en) 2002-01-04 2018-08-14 Prova Group, Inc. Equipment management system
US20110153471A1 (en) * 2002-01-04 2011-06-23 Davis Jr Tommy Lee Equipment management system
US8370225B2 (en) 2002-01-04 2013-02-05 Prova Group, Inc. Equipment management system
US8898077B2 (en) 2002-01-04 2014-11-25 Prova Group, Inc. System and method for tracking authenticated items
US20040054603A1 (en) * 2002-06-19 2004-03-18 Robin Clinesmith Computer-implemented method and system for global purchasing
US7363253B2 (en) 2002-06-19 2008-04-22 Ford Motor Company Computer-implemented method and system for retroactive pricing for use in order procurement
US20040039735A1 (en) * 2002-06-19 2004-02-26 Ross Maria A. Computer-implemented method and system for performing searching for products and services
US20040030602A1 (en) * 2002-06-19 2004-02-12 Rosenquist Edward G. Computer-implemented method and system for managing supplier access to purchasing and inventory transactions
US20040030618A1 (en) * 2002-06-19 2004-02-12 Rosenquist Edward G. Computer-implemented method and system of payment of indirect materials
US20040044591A1 (en) * 2002-06-19 2004-03-04 Gilliland Ramelle L. Method and system for electronic procurement involving electronic requests for quotation
US20040030724A1 (en) * 2002-06-19 2004-02-12 Rosenquist Edward G. Computer-implemented method and system for replenishing material inventories
US20040030614A1 (en) * 2002-06-19 2004-02-12 Shields Jay C. Computer-implemented method and system for managing workload of procurement individuals
US20040078288A1 (en) * 2002-06-19 2004-04-22 Jill Forbis Computer-implemented method and system for retroactive pricing for use in order procurement
US8380636B2 (en) 2002-11-06 2013-02-19 Emmitt J. Smith, III Personal interface device and method
US7873714B2 (en) * 2002-11-21 2011-01-18 Nokia Corporation Priorization of management objects
US20040123241A1 (en) * 2002-11-21 2004-06-24 Nokia Corporation Priorization of management objects
US8706759B2 (en) * 2006-04-18 2014-04-22 Ca, Inc. Method and system for displaying messages in context
US20070242624A1 (en) * 2006-04-18 2007-10-18 Computer Associates Think, Inc. Method and System for Displaying Messages in Context
US8645624B2 (en) * 2009-07-15 2014-02-04 Kabushiki Kaisha Toshiba Portable electronic device, smartcard and control method for portable electronic device
EP2278501A3 (en) * 2009-07-15 2011-03-09 Kabushiki Kaisha Toshiba Portable electronic device, smartcard and control method for portable electronic device
US20110016274A1 (en) * 2009-07-15 2011-01-20 Kabushiki Kaisha Toshiba Portable electronic device, smartcard and control method for portable electronic device
US20110087707A1 (en) * 2009-10-09 2011-04-14 Oracle International Corporation Hierarchical Representation of Time-Related Profiles
US8335803B2 (en) * 2009-10-09 2012-12-18 Oracle International Corporation Hierarchical representation of time-related profiles
US8818974B2 (en) * 2010-10-27 2014-08-26 Hewlett-Packard Development Company, L.P. System and method for synchronously updating a hierarchy bridge table
US20120109917A1 (en) * 2010-10-27 2012-05-03 Comeau Gregory P System and method for synchronously updating a hierarchy bridge table
US9483086B2 (en) 2012-07-30 2016-11-01 Sap Se Business object detail display
US9658672B2 (en) 2012-07-30 2017-05-23 Sap Se Business object representations and detail boxes display
US20140046899A1 (en) * 2012-08-07 2014-02-13 Alibaba Group Holding Limited Method and Apparatus of Implementing Navigation of Product Properties
US20140059488A1 (en) * 2012-08-21 2014-02-27 Sap Ag System and method for viewing selected descendant nodes in a tree hierarchy displayed in tabular form
US9250781B2 (en) 2012-10-17 2016-02-02 Sap Se Method and device for navigating time and timescale using movements
US9720959B2 (en) * 2013-07-16 2017-08-01 Fujitsu Limited Data output method, computer-readable recording medium storing data output program and data output system
US9727662B2 (en) * 2013-07-16 2017-08-08 Fujitsu Limited Data output method, computer-readable recording medium storing data output program and data output system
US20150026217A1 (en) * 2013-07-16 2015-01-22 Fujitsu Limited Data output method, computer-readable recording medium storing data output program and data output system
US20150026555A1 (en) * 2013-07-16 2015-01-22 Fujitsu Limited Data output method, computer-readable recording medium storing data output program and data output system
US10579602B2 (en) * 2013-10-07 2020-03-03 Oracle International Corporation Attribute redundancy removal
US20150100554A1 (en) * 2013-10-07 2015-04-09 Oracle International Corporation Attribute redundancy removal
US9225519B1 (en) 2015-03-02 2015-12-29 Federico Fraccaroli Method, system, and apparatus for enabling secure functionalities
US10956448B2 (en) * 2017-05-31 2021-03-23 HarperDB, Inc. Systems, methods, and apparatus for hierarchical database
EP3625707A4 (en) * 2017-05-31 2020-10-28 HarperDB, Inc. Systems, methods, and apparatus for hierarchical database
US10216823B2 (en) * 2017-05-31 2019-02-26 HarperDB, Inc. Systems, methods, and apparatus for hierarchical database
CN109960186A (en) * 2017-12-25 2019-07-02 北京创昱科技有限公司 Processing method, device, electronic equipment and the storage medium of control flow
US11907898B2 (en) 2019-04-02 2024-02-20 Coupang Corp. Electronic inventory tracking system and associated user interfaces
CN113449003A (en) * 2021-07-07 2021-09-28 京东科技控股股份有限公司 Information query method and device, electronic equipment and medium
CN113570428A (en) * 2021-07-23 2021-10-29 上海普洛斯普新数字科技有限公司 System for screening consistency of online commodities

Also Published As

Publication number Publication date
JP4004619B2 (en) 2007-11-07
US6338053B2 (en) 2002-01-08
JPH11203372A (en) 1999-07-30

Similar Documents

Publication Publication Date Title
US6338053B2 (en) Inventory managing method for automatic inventory retrieval and apparatus thereof
US6915340B2 (en) System and method for deriving future network configuration data from the current and previous network configuration data
US7158962B2 (en) System and method for automatically linking items with multiple attributes to multiple levels of folders within a content management system
US6925462B2 (en) Database management system, and query method and query execution program in the database management system
CA2434081C (en) Data structures utilizing objects and pointers in the form of a tree structure
US8161004B2 (en) XML sub-document versioning method in XML databases using record storages
US6757670B1 (en) Method and system for query processing
US5940831A (en) Hypermedia system and method of managing directories and directory data originating from a node link structure in a directory server
US5764978A (en) Database system having a hierarchical network database and a corresponding relational database
US20050027724A1 (en) Data processing apparatus and method
US20080126397A1 (en) RDF Object Type and Reification in the Database
US20070220022A1 (en) Declarative data transformation engine
US20090125530A1 (en) Hierarchy Nodes Derived Based on Parent/Child Foreign Key and/or Range Values on Parent Node
US7668888B2 (en) Converting object structures for search engines
US20030037058A1 (en) Data management system for retriving data based on hierarchezed keywords associated with keyword names
KR19990028677A (en) Method and apparatus for modifying an existing relational database to reflect changes made in a corresponding semantic object model
US8438186B2 (en) Method and apparatus for creating topological features inside a database system
US20030041069A1 (en) System and method for managing bi-directional relationships between objects
US6453324B1 (en) Method for maintaining a version history of objects in a repository
US7159171B2 (en) Structured document management system, structured document management method, search device and search method
US6701328B1 (en) Database management system
US20070233925A1 (en) Centralized management of data nodes
CN110851663A (en) Method and apparatus for managing metadata
US9400814B2 (en) Hierarchy nodes derived based on parent/child foreign key and/or range values on parent node
EP0394172A2 (en) Method of performing file services given partial file names

Legal Events

Date Code Title Description
AS Assignment

Owner name: FUJITSU LIMITED, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:UEHARA, TADAHIRO;YOSHIDA, HIROYUKI;YAMAMOTO, RIEKO;AND OTHERS;REEL/FRAME:009336/0471

Effective date: 19980703

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12