Data processing apparatus and method
Summary by NHIP
Hierarchical Data Joining Apparatus
The apparatus hierarchically stores classes and contents data while dividing selected contents into groups for display. A generation unit joins table data based on matching values between a selected property and a selected item to create a third table of joined data.
Claim Score by NHIP
Abstract
A database hierarchically stores a plurality of classes and a plurality of contents data corresponding to each class. Each contents data has a value of each property. The plurality of contents data of selected class are divided into a plurality of groups. A display presents a first table of contents data of a selected group. A memory stores a second table of a plurality of record data. An indication unit selects a first property from the plurality of properties of the selected class, and selects a first item from a plurality of items. The contents data of the first table and record data of the second table are joined on condition that a value of the first property is equal to a value of the first item. A third table of a plurality of joined data each having a value of each property of the selected class and a value of each item is generated.

Term
Term ended
Expired 15 November 2025, 0.9 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
20 claims: 6 independent, 14 dependent
- 1An apparatus for processing data, comprising:a database configured to hierarchically store a plurality of classes and a plurality of contents data corresponding to each of the plurality of classes, a class having a plurality of properties, the plurality of properties including a property peculiar to the class and a property inherited from an upper level class, each contents data having a value of each of the plurality of properties;a display unit to hierarchically display the plurality of classes;an indication unit configured to select a class from the plurality of classes;wherein the display unit divides the plurality of contents data of the selected class into a plurality of groups, and displays a first table of contents data of a group selected from the plurality of groups;a memory to store a second table of a plurality of record data, each record data having a value of each of a plurality of items;wherein the indication unit selects a first property from the plurality of properties of the selected class, and selects a first item from the plurality of items;and a generation unit configured to join contents data of the first table with record data of the second table on condition that a value of the first property of the contents data is equal to a value of the first item of the record data, and to generate a third table of a plurality of joined data, each joined data having a value of each of the plurality of properties of the selected class and a value of each of the plurality of items.
- 16An apparatus for processing data, the apparatus including a processor, the apparatus comprising:a database configured to hierarchically store a plurality of classes and a plurality of contents data corresponding to each of the plurality of classes, a class having a plurality of properties, the plurality of properties including a property peculiar to the class and a property inherited from an upper level class, each contents data having a value of each of the plurality of properties;a display unit to hierarchically display the plurality of classes;an indication unit configured to select a first class and a second class from the plurality of classes;wherein the display unit divides the plurality of contents data of the first class into a plurality of groups, displays a first table of contents data of a first group selected from the plurality of groups, divides the plurality of contents data of the second class into a plurality of groups, and displays a second table of contents data of a second group selected from the plurality of groups;a retrieval unit configured to extract properties commonly included in the plurality of properties of the first class and the plurality of properties of the second class, wherein the indication unit selects a property from the extracted properties;and a generation unit configured to join contents data of the first table with contents data of the second table on condition that a value of the selected property of the first table is equal to a value of the selected property of the second table, and to generate a third table of a plurality of joined data, each joined data having a value of each of the plurality of properties of the first class and a value of each of the plurality of properties of the second class.
- 17Broadest claimClaim Score 32, narrow(NHIP)A method for processing data, comprising:acquiring a hierarchical structure of a plurality of classes and a plurality of contents data corresponding to each of the plurality of classes from a database, a class having a plurality of properties, the plurality of properties including a property peculiar to the class and a property inherited from an upper level class, each contents data having a value of each of the plurality of properties;hierarchically displaying the plurality of classes;selecting a class from the plurality of classes;dividing the plurality of contents data of the selected class into a plurality of groups;displaying a first table of contents data of group selected from the plurality of groups;acquiring a second table of a plurality of record data from a memory, each record data having a value of each of a plurality of items;selecting a first property from the plurality of properties of the selected class;selecting a first item from the plurality of items;joining contents data of the first table with record data of the second table on condition that a value of the first property of the contents data is equal to a value of the first item of the record data;and generating a third table of a plurality of joined data, each joined data having a value of each of the plurality of properties of the selected class and a value of each of the plurality of items.
- 18A method for processing data, comprising:acquiring a hierarchical structure of a plurality of classes and a plurality of contents data corresponding to each of the plurality of classes from a database, a class having a plurality of properties, the plurality of properties including a property peculiar to the class and a property inherited from an upper level class, each contents data having a value of each of the plurality of properties;hierarchically displaying the plurality of classes;selecting a first class and a second class from the plurality of classes;dividing the plurality of contents data of the first class into a plurality of groups;displaying a first table of contents data of a first group selected from the plurality of groups;dividing the plurality of contents data of the second class into a plurality of groups;displaying a second table of contents data of a second group selected from the plurality of groups;extracting properties commonly included in the plurality of properties of the first class and the plurality of properties of the second class;selecting a property from the extracted properties;joining contents data of the first table with contents data of the second table on condition that a value of the selected property of the first table is equal to a value of the selected property of the second table;and generating a third table of a plurality of joined data, each joined data having a value of each of the plurality of properties of the first class and a value of each of the plurality of properties of the second class.
- 19A computer program product stored on a computer-readable medium, the computer program product comprising:a computer readable program code embodied in said product for causing a computer to process data, said computer readable program code comprising: a first program code to acquire a hierarchical structure of a plurality of classes and a plurality of contents data corresponding to each of the plurality of classes from a database, a class having a plurality of properties, the plurality of properties including a property peculiar to the class and a property inherited from an upper level class, each contents data having a value of each of the plurality of properties;a second program code to hierarchically display the plurality of classes;a third program code to select a class from the plurality of classes;a fourth program code to divide the plurality of contents data of the selected class into a plurality of groups;a fifth program code to display a first table of contents data of a group selected from the plurality of groups;a sixth program code to acquire a second table of a plurality of record data from a memory, each record data having a value of each of a plurality of items;a seventh program code to select a first property from the plurality of properties of the selected class;an eighth program code to select a first item from the plurality of items;a ninth program code to join contents data of the first table with record data of the second table on condition that a value of the first property of the contents data is equal to a value of the first item of the record data;and a tenth program code to generate a third table of a plurality of joined data, each joined data having a value of each of the plurality of properties of the selected class and a value of each of the plurality of items.
- 20A computer program product stored on a computer-readable medium, the computer program product comprising:a computer readable program code embodied in said product for causing a computer to process data, said computer readable program code comprising: a first program code to acquire a hierarchical structure of a plurality of classes and a plurality of contents data corresponding to each of the plurality of classes from a database, a class having a plurality of properties, the plurality of properties including a property peculiar to the class and a property inherited from an upper level class, each contents data having a value of each of the plurality of properties;a second program code to hierarchically display the plurality of classes;a third program code to select a first class and a second class from the plurality of classes;a fourth program code to divide the plurality of contents data of the first class selected from the plurality of classes into a plurality of groups;a fifth program code to display a first table of contents data of a first group selected from the plurality of groups;a sixth program code to divide the plurality of contents data of the second class into a plurality of groups;a seventh program code to display a second table of contents data of a second group selected from the plurality of groups;an eighth program code to extract properties commonly included in the plurality of properties of the first class and the plurality of properties of the second class;a ninth program code to select a property from the extracted properties;a tenth program code to join contents data of the first table with contents data of the second table on condition that a value of the selected property of the first table is equal to a value of the selected property of the second table;and an eleventh program code to generate a third table of a plurality of joined data, each joined data having a value of each of the plurality of properties of the first class and a value of each of the plurality of properties of the second class.
Independent claims6
152 paragraphs in 6 sections, as filed
CROSS-REFERENCE TO RELATED APPLICATIONS
0001This application is based upon and claims the benefit of priority from prior Japanese Patent Application P2003-203063, filed on Jul. 29, 2003; the entire contents of which are incorporated herein by reference.
FIELD OF THE INVENTION
0002The present invention relates to a data processing apparatus and a method for joining a table of contents data stored in a hierarchical database and a table of record data.
BACKGROUND OF THE INVENTION
0003In some databases, a lower level class inherits properties from an upper level class, such as in Object-Oriented Databases (OODB) and Object-Relational Database (ORDB). The function wherein a property of the upper level class is inherited to the lower level class is called “inheritance”. For example, inheritance is disclosed in “Object-Oriented Concepts, Databases, and Applications, Edited by Won Kim, 1989, ACM Press”.
0004In references disclosing the Object-Oriented Database, classification in hierarchical structure is called “class”. On the other hand, in the Object-Relational Database, a table of which property is inheritable corresponds to a class. In a plurality of tables having hierarchical structure, a property is inherited from an upper level table to a lower level table. Briefly, header information of column comprising the upper level table is inherited to the lower level table. In this case, both databases are called “hierarchical database”. A value of the same property belonging to each hierarchical class is called “instance” or “contents data”, and a set of the data is called “population”.
0005In Internet, as international standard to package an electronic catalogue system providing product information, ISO13584 (Parts Library) is well known. This is one of the hierarchical databases. In ISO13584, an electronic catalogue is comprised of schema and contents. By providing data structure unifying the schema and contents, common use and reuse of product information can be realized.
0006In the schema defined in ISO13584, product classification is hierarchically represented by single tree structure of “product class”. Each “product class” has “property item”, and “property item” of some “product class” is inherited to “product class” of lower level. Furthermore, in order to uniquely specify “product class” and “property item”, a unique ID called “BSU code” is respectively assigned. On the other hand, the contents are represented as a table in which a property value peculiar to each product is embedded in property item defined in the schema.
0007While ISO13584 provides a framework as the electronic catalogue, international standardization of actual schema is progressed. In IEC61360, an upper level hierarchical part of schema in electric/electronic area, i.e., a general part of “product class” and “property item”, are progressed. By using the standardization, product catalogue creator of each company can determine original detail “product class” and “property item” as lower level expansion from IEC61360, and create its own contents. By utilizing the contents, a user of the electronic catalogue can trace a class hierarchy of “product class”, restrict to a product necessary for the user by referring to the property value, and retrieve the desired product. Recently, in response to this standardization, several systems based on ISO13584 are developed.
0008In Relational database or ORDB, a join operation (JOIN) as one operation between tables is prepared. In the hierarchical database, this operation can be executed. In general, the join operation (JOIN) is simple, but time consuming because of occurrence of loop of “(the number of rows)×(the number of rows)”. Accordingly, in order to provide the join operation (JOIN) to a user in a Web type database system, the number of operations can not be controlled. In other words, the join operation (JOIN) having a large number of operations and a large system load often occurs.
0009As mentioned-above, in the hierarchical database having a hierarchical structure of a plurality of classes, when joining a contents data table registered in a class of the hierarchical structure with a table stored in the same or another table, the number of operations can not be controlled. Accordingly, a join operation (JOIN) of large system load occurs.
SUMMARY OF THE INVENTION
0010The present invention is directed to a data processing apparatus and a method for effectively controlling the processing of join operations between a table of contents data stored in a hierarchical database and another table of record data.
0011According to an aspect of the present invention, there is provided an apparatus for processing data, comprising: a database configured to hierarchically store a plurality of classes and a plurality of contents data corresponding to each of the plurality of classes, each class having inheritably a plurality of properties from upper level class, each contents data having a value of each of the plurality of properties; a display unit to divide the plurality of contents data of one class selected from the plurality of classes into a plurality of groups, and to display a first table of contents data of one group selected from the plurality of groups; a memory to store a second table of a plurality of record data, each record data having a value of each of a plurality of items; an indication unit configured to select a first property from the plurality of properties of the one class, and to select a first item from the plurality of items; and a generation unit configured to join contents data of the first table with record data of the second table on condition that a value of the first property of the contents data is equal to a value of the first item of the record data, and to generate a third table of a plurality of joined data, each joined data having a value of each of the plurality of properties of the one class and a value of each of the plurality of items.
0012According to another aspect of the present invention, there is also provided a method for processing data, comprising: acquiring a hierarchical structure of a plurality of classes and a plurality of contents data corresponding to each of the plurality of classes from a database, each class having inheritably a plurality of properties from upper level class, each contents data having a value of each of the plurality of properties; dividing the plurality of contents data of one class selected from the plurality of classes into a plurality of groups; displaying a first table of contents data of one group selected from the plurality of groups; acquiring a second table of a plurality of record data from a memory, each record data having a value of each of a plurality of items; selecting a first property from the plurality of properties of the one class; selecting a first item from the plurality of items; joining contents data of the first table with record data of the second table on condition that a value of the first property of the contents data is equal to a value of the first item of the record data; and generating a third table of a plurality of joined data, each joined data having a value of each of the plurality of properties of the one class and a value of each of the plurality of items.
0013According to still another aspect of the present invention, there is also provided a computer program product, comprising: a computer readable program code embodied in said product for causing a computer to process data, said computer readable program code comprising: a first program code to acquire a hierarchical structure of a plurality of classes and a plurality of contents data corresponding to each of the plurality of classes from a database, each class having inheritably a plurality of properties from upper level class, each contents data having a value of each of the plurality of properties; a second program code to divide the plurality of contents data of one class selected from the plurality of classes into a plurality of groups; a third program code to display a first table of contents data of one group selected from the plurality of groups; a fourth program code to acquire a second table of a plurality of record data from a memory, each record data having a value of each of a plurality of items; a fifth program code to select a first property from the plurality of properties of the one class; a sixth program code to select a first item from the plurality of items; a seventh program code to join contents data of the first table with record data of the second table on condition that a value of the first property of the contents data is equal to a value of the first item of the record data; and an eighth program code to generate a third table of a plurality of joined data, each joined data having a value of each of the plurality of properties of the one class and a value of each of the plurality of items.
BRIEF DESCRIPTION OF THE DRAWINGS
0014<figref idref="DRAWINGS">FIG. 1</figref> is a block diagram of a data processing apparatus according to the present invention.
0015<figref idref="DRAWINGS">FIG. 2</figref> is a schematic diagram of hierarchical structure of a hierarchical database stored in an internal data memory <b>1</b>.
0016<figref idref="DRAWINGS">FIG. 3</figref> is a concrete example of contents data registered in the hierarchical database.
0017<figref idref="DRAWINGS">FIG. 4</figref> is a schematic diagram of a hierarchical structure stored in a first external database.
0018<figref idref="DRAWINGS">FIG. 5</figref> is a concrete example of contents data registered in the first external database of <figref idref="DRAWINGS">FIG. 4</figref>.
0019<figref idref="DRAWINGS">FIG. 6</figref> is one example of a table registered in a second external database.
0020<figref idref="DRAWINGS">FIGS. 7A</figref>, <b>7</b>B, <b>7</b>C, <b>7</b>D and <b>7</b>E are schematic diagrams to explain processing of joint operation.
0021<figref idref="DRAWINGS">FIG. 8</figref> is a display example of a table of contents data.
0022<figref idref="DRAWINGS">FIG. 9</figref> is a display example of another table of joined data.
0023<figref idref="DRAWINGS">FIG. 10</figref> is one example of information stored in an external DB connection information memory.
0024<figref idref="DRAWINGS">FIG. 11</figref> is a flowchart of a data processing method according to a first embodiment of the present invention.
0025<figref idref="DRAWINGS">FIG. 12</figref> is a flowchart of processing of indication of internal data in <figref idref="DRAWINGS">FIG. 11</figref>.
0026<figref idref="DRAWINGS">FIG. 13</figref> is one example of a screen to indicate internal data.
0027<figref idref="DRAWINGS">FIG. 14</figref> is one example of a screen to select a user's desired property from a plurality of properties of indicated internal data.
0028<figref idref="DRAWINGS">FIG. 15</figref> is a display example of a table of the indicated internal data.
0029<figref idref="DRAWINGS">FIG. 16</figref> is a flowchart of processing of indication of external data.
0030<figref idref="DRAWINGS">FIG. 17</figref> is a flowchart of set of a join condition.
0031<figref idref="DRAWINGS">FIG. 18</figref> is one example of a screen to indicate external data.
0032<figref idref="DRAWINGS">FIG. 19</figref> is one example of a screen to indicate internal data.
0033<figref idref="DRAWINGS">FIG. 20</figref> is another example of a screen to indicate external data.
0034<figref idref="DRAWINGS">FIG. 21</figref> is one example of a screen to input information of external data.
0035<figref idref="DRAWINGS">FIG. 22</figref> is one example of a screen to input a join condition.
0036<figref idref="DRAWINGS">FIG. 23</figref> is another example of a screen to input a join condition.
0037<figref idref="DRAWINGS">FIG. 24</figref> is one example of a screen to set a join type.
0038<figref idref="DRAWINGS">FIG. 25</figref> is one example of join condition stored in a past join operation memory.
0039<figref idref="DRAWINGS">FIG. 26</figref> is a flowchart of the data processing method according to a second embodiment of the present invention.
0040<figref idref="DRAWINGS">FIG. 27</figref> is one example of contents data of mouse in a table of join operation object.
0041<figref idref="DRAWINGS">FIG. 28</figref> is one example of contents data of notebook PC in a table of join operation object.
0042<figref idref="DRAWINGS">FIG. 29</figref> is one example of a table “TB10” registered in “PC main body” node of <figref idref="DRAWINGS">FIG. 2</figref>.
0043<figref idref="DRAWINGS">FIG. 30</figref> is one example of a table “TB11” registered in “desktop PC” node of <figref idref="DRAWINGS">FIG. 2</figref>.
0044<figref idref="DRAWINGS">FIG. 31</figref> is one example of a table “table 00” registered in “stocks of PC main body” node of <figref idref="DRAWINGS">FIG. 4</figref>.
0045<figref idref="DRAWINGS">FIG. 32</figref> is one example of a table “table 02” registered in “stocks of desktop PC” node of <figref idref="DRAWINGS">FIG. 4</figref>.
0046<figref idref="DRAWINGS">FIG. 33</figref> is one example of screen to select external data and a join condition.
0047<figref idref="DRAWINGS">FIG. 34</figref> is a flowchart of processing in the case of utilizing a join condition inherited from an upper level class.
DETAILED DESCRIPTION OF THE EMBODIMENTS
0048Hereinafter, various embodiments of the present invention will be explained by referring to the drawings.
First Embodiment
0049<figref idref="DRAWINGS">FIG. 1</figref> is an overall block diagram of a system according to the present embodiment. The system includes a server apparatus <b>50</b> storing data such as a product specification or spec in an internal data memory <b>1</b>, a plurality of databases (such as a first external database <b>51</b> and a second external database <b>52</b>) connected to the server apparatus <b>50</b> by a network, and a user terminal TE.
0050The first external DB <b>51</b> and the second external DB <b>52</b> store stock information and selling price information and so on of each product which is frequently updated. This information is independently controlled from data (internal data) of the internal data memory <b>1</b> because the stock information and the selling price information are frequently updated differently from the product spec. An identifier (ID) of the first external DB <b>51</b> is “ex_database01”, and an identifier (ID) of the second external DB <b>52</b> is “ex_database02”.
0051Data (external data) stored in the first external DB <b>51</b> and the second external DB <b>52</b> is acquired by an external data acquisition unit <b>9</b> of the server apparatus <b>50</b>. An external data processing unit <b>14</b> assigns a class to dictionary data of external data. If the external data have a hierarchical structure in the same way as the internal data, a corresponding class is assigned to each item comprising the hierarchical structure. If the external data have a table format, the corresponding class is assigned to the table. Furthermore, the external data processing unit <b>14</b> assigns a unique property identifier such as BSU to each item (or property) in the external data, decides a data type of a value (or a property value) of each item, and stores the decision result in an external data memory <b>2</b> of the server apparatus <b>50</b>.
0052The internal data memory <b>1</b> and the external data memory <b>2</b> comprise a hierarchical database. The hierarchical database has a structure in which a plurality of classes is hierarchically related. Each class has a property of an upper level class of the class. Contents data of the property included in the class is registered to the class.
0053Hierarchical information among classes comprising the hierarchical structure is called schema data. The schema data and property of each class are dictionary data.
0054The internal data memory <b>1</b> is comprised of a dictionary data memory <b>1</b><i>a </i>storing the dictionary data, and a contents data memory <b>1</b><i>b </i>storing the contents data. In the contents data memory <b>1</b><i>b</i>, contents data of a property included in a class is stored in correspondence with the class stored in the dictionary data memory <b>1</b><i>a</i>. One contents datum comprised of each value of a plurality of properties stored in the contents data memory <b>1</b><i>b </i>is called “record data”.
0055<figref idref="DRAWINGS">FIG. 2</figref> is a hierarchical structure of the hierarchical database stored in the internal data memory <b>1</b>. As shown in the hierarchical database of <figref idref="DRAWINGS">FIG. 2</figref>, “root” node <b>100</b> is a root node, and a lower node such as node <b>101</b> of class “electronic device” is related to the root node <b>100</b>. In “electronic device” node <b>101</b>, a node <b>102</b> of class “PC main body” and a node <b>103</b> of class “peripheral equipment” are related as a lower node. In “PC main body” node <b>102</b>, a node <b>105</b> of class “notebook PC” and a node <b>106</b> of class “desktop PC” are related as a lower node. In “peripheral equipment” node <b>103</b>, nodes <b>107</b>˜<b>109</b> of classes “memory”, “register” and “mouse” are related.
0056Briefly, a class “electronic device” is subdivided into two classes “PC main body” and “peripheral equipment”. “PC main body” is subdivided into two classes “notebook PC” and “desktop PC”. “Peripheral equipment” is subdivided into three classes “memory”, “register” and “mouse”.
0057In each class hierarchically related, a property peculiar to each class (a part surrounded by a dotted line) is determined. Each class inherits a property of an upper level class of each class in the hierarchical structure. For example, a property of “notebook PC” node <b>105</b> inherits a property of “electronic device” node <b>101</b> and a property of “PC main body” node <b>102</b> in addition to the property peculiar to the node <b>105</b>. Concretely, “notebook PC” node <b>105</b> has properties (“commodity name”, “maker name”, “product code”, “standard price”, “interface”) of “electronic device” node <b>101</b>, properties (“CPU”, “HDD capacity”, “standard memory capacity”) of “PC main body” node <b>102</b>, and properties (“pointing device”, “battery type”) of “notebook PC” node <b>105</b>.
0058This data model is similar to that disclosed in ISO13584/Parts Library (PLIB) as international standard of exchange format of device library. In PLIB, as code to discriminate each class and property, BSU code (property identifier) guaranteed as a unique code in the world is used different from a name. In this specification, in order to simplify the explanation, a name is often used as a class identifier and a property identifier. However, this limitation does not prevent from applying the present invention to PLIB.
0059In each class of <figref idref="DRAWINGS">FIG. 2</figref>, contents data consisted of a value of each property (a property peculiar to a class and a property inherited from an upper level class of the class) of the class is registered.
0060<figref idref="DRAWINGS">FIG. 3</figref> is a concrete example of contents data registered in the hierarchical database of <figref idref="DRAWINGS">FIG. 2</figref>. In <figref idref="DRAWINGS">FIG. 3</figref>, a table “TB01” of contents data registered in a node <b>105</b> of class “notebook PC” is shown. Record data registered in class “notebook PC” is comprised of each value corresponding to properties (“commodity name”, “maker name”, “product code”, “standard price”, “interface”) of “electronic device” node <b>101</b>, properties (“CPU”, “HDD capacity”, “standard memory capacity”) of “PC main body” node <b>102</b>, and properties (“pointing device”, “battery type”) of “notebook PC” node <b>105</b>.
0061The first external DB <b>51</b> is a hierarchical database, and mainly stores the number of stocks of each product. <figref idref="DRAWINGS">FIG. 4</figref> is an example of a part of hierarchical structure of hierarchical database comprised in the first external DB <b>51</b>. In the hierarchical database of <figref idref="DRAWINGS">FIG. 4</figref>, “root” node is regarded as a root node. In this root node, nodes of two classes “T INC. stocks” and “S INC. stocks” are related as a lower node. In “T INC. stocks” node, a node of class “PC main body stocks” is related as a lower node. In “PC main body stocks” node, nodes of two classes “notebook PC stocks” and “desktop PC stocks” are related as lower nodes.
0062In each class of <figref idref="DRAWINGS">FIG. 4</figref>, contents data comprised of a value of each property (a property peculiar to the class and a property inherited from the upper level class) of the class is registered.
0063<figref idref="DRAWINGS">FIG. 5</figref> is a concrete example of contents data registered in the hierarchical database of <figref idref="DRAWINGS">FIG. 4</figref>. In <figref idref="DRAWINGS">FIG. 5</figref>, a table “table 01” of contents data registered in class “notebook PC stocks” (CLS<b>103</b>) is shown. Record data registered in the class “notebook PC stocks” (CLS <b>103</b>) is comprised of a value corresponding to each property (“product code”, “number of stocks”, “number of arrival of goods”) of a class “ROOT” in <figref idref="DRAWINGS">FIG. 4</figref>.
0064The second external DB <b>52</b> is a relational database (RDB) to mainly store a selling price of each product. <figref idref="DRAWINGS">FIG. 6</figref> is one example of a table registered in the second external DB <b>52</b>. In the table (table 101) of <figref idref="DRAWINGS">FIG. 6</figref>, a plurality of record data each comprised of a value of each item (“commodity name”, “product code”, “selling price”) is registered.
0065A function of the system of the present embodiment is explained by referring to <figref idref="DRAWINGS">FIGS. 7A˜7E</figref>. <figref idref="DRAWINGS">FIG. 7A</figref> is an example of a table of product spec of contents data which is read from the internal data memory <b>1</b> and selected as processing object by a user.
0066First, if the user wants to know stock status of a product shown in <figref idref="DRAWINGS">FIG. 7A</figref>, the user indicates contents data (table of stocks) stored in the first external DB <b>51</b> shown in <figref idref="DRAWINGS">FIG. 7B</figref>. In this case, the system joins the table of product spec of <figref idref="DRAWINGS">FIG. 7A</figref> with the table of stocks of <figref idref="DRAWINGS">FIG. 7B</figref>, and provides the join operation result to the user. As a join condition used for this join operation, the user indicates the same item in each item of the table of product spec and the table of stocks. Concretely, the user indicates the join condition that a part number in the table of product spec of <figref idref="DRAWINGS">FIG. 7A</figref> is the same as a part number in the table of stocks of <figref idref="DRAWINGS">FIG. 7B</figref> (This join condition is represented as “Table of product spec. Part number=Table of stocks. Part number”.). <figref idref="DRAWINGS">FIG. 7D</figref> is a join operation result of the table of product spec and the table of stocks by using this join condition. In record data of the table of product spec and record data of the table of stocks, two record data including the same value corresponding to the item “part number” are joined. In this case, the part numbers “K12345” and “A22222” are included in both tables. Accordingly, two record data each including the part number “K12345” in <figref idref="DRAWINGS">FIGS. 7A and 7B</figref> are joined, and two record data each including the part number “A22222” in <figref idref="DRAWINGS">FIGS. 7A and 7B</figref> are joined. As a result, a table of join operation result is generated as shown in <figref idref="DRAWINGS">FIG. 7D</figref>.
0067Furthermore, if the user wants to know a selling price of the product shown in <figref idref="DRAWINGS">FIG. 7A</figref>, the user indicates a table of selling price stored in the second external DB <b>52</b> shown in <figref idref="DRAWINGS">FIG. 7C</figref>. In this case, the system joins the table of product spec of <figref idref="DRAWINGS">FIG. 7A</figref> with the table of selling price of <figref idref="DRAWINGS">FIG. 7C</figref>, and provides the join operation result to the user. As a join condition used for this join operation, the user indicates the same item in items of the table of product speck and items of the table of selling price. In this case, the join condition is represented as “Table of product spec. part number=Table of selling price. part number”. The join result of the table of product spec and the table of selling price by using this join condition is shown in <figref idref="DRAWINGS">FIG. 7E</figref>. In values of “part number” of the table of product spec and the table of selling price, the values “K12345” and “DDFE002” are included in both tables. Accordingly, two record data each including the part number “K12345” in <figref idref="DRAWINGS">FIGS. 7A and 7C</figref> are joined, and two record data each including the part number “DDFE002” in <figref idref="DRAWINGS">FIGS. 7A and 7C</figref> are joined. As a result, a table of join operation result is generated as shown in <figref idref="DRAWINGS">FIG. 7E</figref>.
0068The number of contents data registered in each class of the internal data memory <b>1</b> of this system is, for example, in electronic device area, thousands or tens of thousands. Briefly, assume that the user indicates a class “notebook PC” in the hierarchical database of <figref idref="DRAWINGS">FIG. 2</figref> from the user terminal TE. In this case, if all contents data of the table TB01 registered in this class are distributed to the user terminal TE, it takes a long time to send the contents data because of a large data quantity. Furthermore, if a join operation is executed between a table of all contents data and a table stored in the first or second external DB, control of the number of operations is important. Accordingly, in this system, the contents data registered in the user's indicated class are divided into a plurality of groups each including contents data of predetermined number, and contents data of each group is presented to the user in order. When the user requests a join operation for a group or contents data limited from the group, the join operation is executed. Briefly, before executing the join operation, the number of contents data as join operation object is limited (the number of data is reduced as the minimum of necessity).
0069From a viewpoint of the user side, the user's request that the number of stocks or a selling price is necessary for all contents data registered in some class is few. It is sufficient that the number of stocks or the selling price is presented for the user's desired contents data only.
0070In a table TB01 registered in a class of the hierarchical database, display order is uniformly guaranteed different from a relational database. Accordingly, for example, if contents data of which number is above three hundred are registered in class “notebook PC” of the hierarchical database of <figref idref="DRAWINGS">FIG. 2</figref>, the contents data are divided into a plurality of groups, and each number of contents data is one hundred. A table of one hundred of the first group is sent to the user terminal TE. <figref idref="DRAWINGS">FIG. 8</figref> is a display example of the table of contents data on the user terminal TE. In <figref idref="DRAWINGS">FIG. 8</figref>, the contents data of one hundred first sent from the server apparatus <b>50</b> is displayed.
0071In <figref idref="DRAWINGS">FIG. 8</figref>, by selecting a button <b>201</b>, a table of contents data of the next one hundred is sent from the server apparatus <b>50</b> to the user terminal TE, and displayed on the user terminal TE.
0072If the user requests contents data stored in the internal data memory <b>1</b>, in addition to indication of class, the user indicates a property value or the user's desired keyword as a retrieval condition. In this case, the user can select contents data matched with the retrieval condition from contents data registered in the indicated class. If the selected contents data are presented to the user, the selected contents data are divided into a plurality of groups each including contents data of a predetermined number (For example, one hundred), and the contents data of each group is presented in order.
0073In this way, in contents data registered in some class, a table of contents data in the group presented to the user is regarded as a processing object of join operation by the join operation unit <b>11</b>. Furthermore, in the contents data of the group presented to the user, if the user selects a part of the contents data as shown in <figref idref="DRAWINGS">FIG. 9</figref>, the selected contents data is regarded as a processing object of a join operation. In the case of a join operation, limitation of the number of contents data as join operation object is very important because the number of operation steps is few in comparison with a join operation of contents data without limitation of the number of the contents data.
0074In <figref idref="DRAWINGS">FIG. 1</figref>, in response to a request from the user terminal TE, the server apparatus <b>50</b> reads a product spec from the internal data memory <b>1</b>, and provides it to the user terminal TE.
0075In addition to the internal data memory <b>1</b>, the server apparatus <b>50</b> includes an external data memory <b>2</b>, an external DB connection information memory <b>3</b>, a part join operation memory <b>4</b>, a joined data memory <b>5</b>, a first indication unit <b>6</b>, a presentation unit <b>7</b>, a second indication unit <b>8</b>, an external data acquisition unit <b>9</b>, a join condition input unit <b>10</b>, a join operation unit <b>11</b>, a joined data output unit <b>12</b>, a retrieval unit <b>13</b>, and an external data processing unit <b>14</b>.
0076As used herein, those skilled in the art will understand that the term “unit” is broadly defined as a processing device (such as a server, a computer, a microprocessor, a microcontroller, a specifically programmed logic circuit, an application specific integrated circuit, a discrete circuit, etc.) that provides the described communication and the functional desired communication. While such a hardware-based implementation is clearly described and contemplated, those skilled in the art will quickly recognize that a “unit” may alternatively be implemented as a software module that works in combination with such a processing device.
0077Depending on the implementation constraints, a software module or a processing device may be used to implement more than one “unit” as disclosed and described herein. Those skilled in the art will be familiar with particular and conventional hardware suitable for use when implementing an embodiment of the present invention with a computer or other processing device. Likewise, those skilled in the art will be familiar with the availability of different kinds of software and programming approaches suitable for implementing one or more “units” as one or more software modules.
0078Hereinafter, each component unit of the server apparatus in <figref idref="DRAWINGS">FIG. 1</figref> is explained by referring to a flow chart shown in <figref idref="DRAWINGS">FIG. 11</figref>.
0079First, at step S<b>1</b>, the first indication unit <b>6</b> indicates internal data stored in the internal data memory <b>1</b>. The first indication unit <b>6</b> indicates the contents data of the user's desired class in data stored in the internal data memory <b>1</b> and inputs a retrieval condition of a table of the desired contents data from the internal data memory <b>1</b>. As the retrieval condition, the user's desired class, a property value, and a keyword, are used.
0080The retrieval unit <b>13</b> retrieves contents data from the internal data memory <b>1</b> based on the retrieval condition input from the first indication unit <b>6</b>. For example, by retrieving a class matched with the retrieval condition, contents data (For example, a table format) registered in the class are read out and provided to the presentation unit <b>7</b>.
0081The presentation unit <b>7</b> presents the contents data retrieved by the retrieval unit <b>13</b> to the user by unit of group including contents data of predetermined number (For example, one hundred). A table of contents data included in the group presented to the user at the present is regarded as object of join operation of the join operation unit <b>11</b>.
0082Next, as step S<b>2</b>, the second indication unit <b>8</b> indicates external data. The second indication unit <b>8</b> is a unit to indicate data (For example a table format) stored in an external database such as the first external DB <b>51</b> and the second external DB <b>52</b>. The user indicates external data related to contents data presented by the presentation unit <b>7</b>.
0083The external DB connection information memory <b>3</b> stores connection information such as URL which is necessary for the external data acquisition unit <b>9</b> to connect to the external database such as the first external DB <b>51</b> and the second external DB <b>52</b>. In the external DB connection information memory <b>3</b>, as shown in <figref idref="DRAWINGS">FIG. 10</figref>, as for the first external DB <b>51</b> and the second external DB <b>52</b>, a type of information, an identifier (name) of external DB, kind of database, and connection information (For example, IP, a host name, a port number, a table name for join operation in the database as connection destination), are stored as a table format.
0084The external data acquisition unit <b>9</b> connects the external database through a network by referring to a table stored in the external DB connection information memory <b>3</b> shown in <figref idref="DRAWINGS">FIG. 10</figref>, and acquires dictionary data of the external data. The dictionary data of the external data acquired by the external data acquisition unit <b>9</b> is stored in the external data memory <b>2</b>. If dictionary data of external data indicated by the second indication unit <b>8</b> is already stored in the external data memory <b>2</b>, the external database is not accessed except for the case that reacquisition is necessary such as occurrence of schema change of external DB. The dictionary data of external data includes a table name from the external DB, a property name, a data type, and key information comprising the table. If the external DB is a hierarchical database, the dictionary data further includes a hierarchical relationship, a class name, a class identifier, a property identifier and a table identifier.
0085The external data memory <b>2</b> is a hierarchical database to store the external data. When the external data is stored in the external data memory <b>2</b>, the external data processing unit <b>14</b> assigns a class to dictionary data of the external data, assigns a unique identifier of property such as BSU to each item (or property) in the external data, and decides a data type of a value (or a property value) of each item. The second indication unit <b>8</b> reads the indicated external data from the external data memory <b>2</b>, and provides the read external data to the join condition input unit <b>10</b>.
0086Next, at step S<b>3</b>, a join condition to join a table (It is called a first table) of internal data presented by the presentation unit <b>7</b> with a table (It is called a second table) of external data indicated by the second indication unit <b>8</b> is set. The join condition input unit <b>10</b> makes a display of the server apparatus <b>50</b> or the user terminal TE display a join condition input screen in order to input a join condition to join the above-mentioned two tables. Accordingly, each item (or property) in the second table and each property in the first table are displayed. Furthermore, by comparing each item name (or each property name) in the second table with each property name in the first table, both names are correspondingly displayed on the display of the server apparatus <b>50</b> or the user terminal TE in the case of coincidence. Furthermore, a table of internal data and a table of external data joined using the join condition input by the join condition input unit <b>10</b>, and past join operation information (join history) including the join condition used for joining both tables, are stored in the past join operation memory <b>4</b>. At step S<b>4</b>, when an indication of join execution is input (For example, when a button B<b>106</b> “EXECUTE” in <figref idref="DRAWINGS">FIG. 18</figref> is selected by a user), the first table including a predetermined number of contents data (as a processing object of join operation presented by the presentation unit at the present) and the second table including the external data indicated by the second indication unit <b>8</b> are joined using the join condition input by the join condition input unit <b>10</b>.
0087The join operation unit <b>11</b> executes a join operation between the first table and the second table based on the join condition input by the join condition input unit <b>10</b>. This join operation is the same as a join operation often used in a relational database.
0088Next, the processing of step S<b>1</b> in <figref idref="DRAWINGS">FIG. 11</figref> is explained in detail by referring to a flowchart in <figref idref="DRAWINGS">FIG. 12</figref>. For example, as shown in <figref idref="DRAWINGS">FIG. 13</figref>, the first indication unit <b>6</b> displays a tree of hierarchical structures stored in the internal data memory <b>1</b> on a display of the server apparatus <b>50</b> or the user terminal TE. In <figref idref="DRAWINGS">FIG. 13</figref>, by selecting a class “notebook PC” from the tree, a table name <b>1301</b> of contents data registered in the class is displayed. When a user selects his/her desired table (For example, TB10) from the table name <b>1301</b> (For example, check is input on a check box) and selects a button B<b>11</b> “CONTENTS DISPLAY” (step S<b>101</b>), the retrieval unit <b>13</b> retrieves a selectable property from properties included in the selected table from the internal data memory <b>1</b>. For example, the presentation unit <b>7</b> displays a list of selectable properties as shown in <figref idref="DRAWINGS">FIG. 14</figref>. The user selects his/her desired property from the list of <figref idref="DRAWINGS">FIG. 14</figref> (step S<b>102</b>). In this example of <figref idref="DRAWINGS">FIG. 14</figref>, in properties of contents data registered in table TB01, a property of which check box includes an input of check represents the user's selected property. Next, when the user selects a button B<b>14</b> “OK” on the list of the screen, the retrieval unit <b>13</b> retrieves contents data of the property (selected at step S<b>102</b>) on the table TB01 from the internal data memory <b>1</b>, and provides the presentation unit <b>7</b> with the contents data as shown in <figref idref="DRAWINGS">FIG. 15</figref>. The presentation unit <b>7</b> divides the contents data of the table (shown in <figref idref="DRAWINGS">FIG. 15</figref>) into a plurality of groups each of which number of contents data is below a predetermined number (For example, one hundred) (step S<b>103</b>), and displays a table of contents data including a first group as shown in <figref idref="DRAWINGS">FIG. 8</figref> (step S<b>104</b>). This presented table of contents data (The first table) is regarded as a processing object of a join operation. Furthermore, if necessary, the user selects a part (row) of the contents data of the first table as shown in <figref idref="DRAWINGS">FIG. 9</figref>. In this case, the user's selected contents data are regarded as the processing object of a join operation.
0089Next, the processing of step S<b>2</b> in <figref idref="DRAWINGS">FIG. 11</figref> is explained in detail by referring to a flowchart in <figref idref="DRAWINGS">FIG. 16</figref>. When the user selects a button B<b>1</b> “EXECUTE JOIN OPERATION” on a screen of contents data of the first table shown in <figref idref="DRAWINGS">FIG. 9</figref>, the first indication unit <b>6</b> reads the dictionary data of internal data stored in the internal data memory <b>1</b> of the system, and the second indication unit <b>8</b> reads the external data stored in the external data memory <b>2</b>. As shown in <figref idref="DRAWINGS">FIG. 18</figref>, hierarchical classes and contents data are displayed. In <figref idref="DRAWINGS">FIG. 18</figref>, a radio button B<b>107</b> is a button to select whether a class is displayed by an identifier (BSU) or a name. Furthermore, by calling a screen to retrieve a class, a contents data name (table name) or a join condition name, a button B<b>108</b> to help the user's table selection or join condition selection may be set as shown in <figref idref="DRAWINGS">FIG. 18</figref>. Furthermore, in addition to display of internal data in the tree, display/non-display may be changed by a button B<b>101</b>.
0090<figref idref="DRAWINGS">FIGS. 19 and 20</figref> are display examples of data of join operation object by separating two trees of internal data and external data. <figref idref="DRAWINGS">FIG. 19</figref> represents a status that a tub “INTERNAL DATA” is selected and a tree of the internal data is displayed. For example, by the user's selection of a tub B<b>109</b> in <figref idref="DRAWINGS">FIG. 19</figref>, the presentation unit <b>7</b> changes to a screen of external data as shown in <figref idref="DRAWINGS">FIG. 20</figref>. In this way, by changing the screen, object data of join operation which is internal data or external data can be clearly presented to the user.
0091For example, in the case of displaying external data from a screen of <figref idref="DRAWINGS">FIG. 18</figref>, the external data acquisition unit <b>9</b> decides whether external data (including dictionary data) corresponding to connection information (stored in the external DB connection information memory <b>3</b>) is already stored in the external data memory <b>2</b>. If the external data is already stored in the external data memory <b>2</b> (steps S<b>111</b>˜S<b>112</b>) and if it is necessary to reacquire the external data from an external DB because of schema change of the external DB (step S<b>113</b>), the external data is reacquired by connecting to the external DB. If the external data is stored in the external data memory <b>2</b> (step S<b>112</b>) and if it is not necessary to reacquire the external data from the external DB (step S<b>113</b>), the external data stored in the external data memory <b>2</b> is utilized.
0092On the other hand, if the external data is not stored in the external data memory <b>2</b> (step S<b>112</b>), the external data acquisition unit <b>9</b> examines whether an external database corresponding to connection information exists by referring to the connection information stored in the external DB connection information memory <b>3</b>. If the external database exists (step S<b>114</b>), the external data acquisition unit <b>9</b> acquires the external data by accessing the external database using connection information of the external database (step S<b>115</b>).
0093The external data acquired from the external database is stored in the external data memory <b>2</b>. In this case, if the external data does not have a hierarchical structure (step S<b>116</b>), the external data is stored based on a hierarchical structure stored in the internal data memory <b>1</b> (step S<b>117</b>˜S<b>119</b>).
0094For example, in the first external DB <b>51</b>, a hierarchical structure (schema data) shown in <figref idref="DRAWINGS">FIG. 4</figref> and a table registered in each item of the hierarchical structure are stored. After acquiring these data by the external data acquisition unit <b>9</b>, the external data processing unit <b>14</b> assigns each class (class identifier) to the external data (step S<b>117</b>), assigns a unique identifier of property to each item (or property name) of each class in the external data (step S<b>118</b>), and assigns a data type to each item or each property by deciding the data type of a value (or property value) of each item.
0095As a result, at step S<b>120</b>, the external data is stored in the same way as a tree structure stored in the external data memory <b>1</b> as shown in <figref idref="DRAWINGS">FIG. 20</figref>. Briefly, a hierarchical structure corresponding to external data stored in the first external DB <b>51</b> and the second external DB <b>52</b> is stored.
0096For example, when external data stored in the first external DB <b>51</b> having a hierarchical structure is stored in the external data memory <b>2</b>, a hierarchical structure of the external data is registered in a node <b>401</b>. In this case, as for a property of each class comprising the hierarchical structure of the external data, a unique identifier of property such as BSU is assigned, and a data type of each property value defined in schema data of the external data is additionally stored. Furthermore, when external data of a table format stored in the second external DB <b>52</b> is stored in the external data memory <b>2</b>, the table is registered in a node <b>402</b>. In this case, item of the external data is linked to a class corresponding to the node <b>402</b> as a property; a unique identifier of property such as BSU is assigned to each property; and a data type of each property value is additionally stored.
0097At step S<b>123</b>, if information related to an external database storing a data type indicated by the user is not stored in the external DB connection information memory <b>3</b> and if new external database is added, the user may directly indicate the external database (step S<b>125</b>). For example, by pushing a button B<b>105</b> “ADD/DELETE EXTERNAL DB” shown in <figref idref="DRAWINGS">FIG. 18</figref>, a screen to input information related to external database is displayed as shown in <figref idref="DRAWINGS">FIG. 21</figref>. By inputting an identifier (name) of the user's desired external database, connection information such as an IP or a host name, and table information such as a table name or a table type, these information are stored in the external DB connection information memory <b>3</b> (step S<b>125</b>). After that, the external data acquisition unit <b>9</b> acquires the external data by accessing the desired external DB using the connection information, and stores the acquired external data in the external data memory <b>2</b> (steps S<b>114</b>˜S<b>120</b>).
0098The second indication unit <b>8</b> reads external data from the external data memory <b>2</b>, and, for example, displays a screen as shown in <figref idref="DRAWINGS">FIG. 18</figref> (step S<b>122</b>). In the screen of <figref idref="DRAWINGS">FIG. 18</figref>, a root node <b>300</b> “UNIVERSAL ROOT” of all dictionary trees (including external data copied with a hierarchical structure) processed in the system is set, a lower node <b>301</b> “INTERNAL DATABASE” of the root node <b>300</b> is set as an upper node of all dictionary trees of internal data is set, and a hierarchical tree (dictionary tree) acquired from the internal data is displayed as a lower node of the node <b>301</b>. A dictionary tree of external data acquired from the first external DB <b>51</b> and the second external DB <b>52</b> is respectively displayed as a node <b>303</b> “EX_DATABASE01” and a node <b>304</b> “EX_DATABASE02” which are a lower node of the node <b>302</b> “EXTERNAL DATABASE”. By selecting an identifier of a table (For example, “table001”, “table101”) of contents data registered in any class comprising the tree, the user's desired table is selected (step S<b>124</b>). This selected table is regarded as the second table.
0099Next, the processing of step S<b>3</b> of <figref idref="DRAWINGS">FIG. 11</figref> is explained in detail by referring to a flowchart of <figref idref="DRAWINGS">FIG. 17</figref>. For example, when a button B<b>102</b> “CREATE JOIN CONDITION” of <figref idref="DRAWINGS">FIG. 18</figref> is pushed (step S<b>131</b>), the join condition input unit <b>10</b> compares each property name in the first table with each item name (property name) in the second table, and searches for an item (property) having the same name or identifier as the property of the first table from the second table (step S<b>132</b>). Each property of the first table and each item (each property) of the second table are displayed. In this case, the property and the item of which names or identifiers are the same are correspondingly displayed as shown in <figref idref="DRAWINGS">FIG. 22</figref> (step S<b>133</b>).
0100In <figref idref="DRAWINGS">FIG. 22</figref>, a table of internal data is “TB01” and a table of external data is “table01” stored in the second external DB <b>52</b>. In this case, the second table “table 01” includes item such as “product code”, “number of stocks” and “number of arrival of goods”. The item “product code” exists in the first table “TB01”. Accordingly, in <figref idref="DRAWINGS">FIG. 22</figref>, “product code” of the second table and “product code” of the first table are displayed in the same row. These are regarded as the same property because each identifier (BSU) of the property is same.
0101As a result, a user can select and set a desired join condition from prepared candidates without manually setting a troublesome join condition. The hierarchical database has a characteristic of inheritance of property from upper level class to lower level class. A join condition registered in the upper level class is usually applied to the lower level class. Accordingly, by displaying the join condition on the tree, the user can easily select not only a class registered as an operation object of the join condition but also the lower level class as an operation object of the same join condition.
0102Even if a property name and a data type of two properties are the same in two tables of usual relational database, it is not always guaranteed that the two properties perfectly coincide. However, in a hierarchical database of this system, a property is managed by a unique identifier (BSU) and the property defined in an upper level class is inherited to a lower level class. Accordingly, in the lower class of the upper level class defining the property, it is guaranteed that the lower level class has the same property as the upper level class. By utilizing this, in a screen of <figref idref="DRAWINGS">FIG. 22</figref>, two coincided properties between two tables are presented to the user as default properties to be joined. As a result, supplemental input for the user to easily describe a join condition is possible.
0103In the first table and the second table displayed on a screen of <figref idref="DRAWINGS">FIG. 22</figref>, a join condition is selected from coincided item names and property names (step S<b>133</b>). For example, in <figref idref="DRAWINGS">FIG. 22</figref>, “product code” of the first table coincides with “product code” of the second table. In the case of selecting these properties, the user pushes a button B<b>23</b> “DETAIL CONDITION”.
0104Alternatively, as shown in <figref idref="DRAWINGS">FIG. 23</figref>, an item (a property) in the second table to be the same as a property in the first table (or able to be the same as the property in the first table even if the data type is taken into consideration) is displayed as a pull down menu. In this case, the user can respectively set the item as the join condition on the pull down menu (step S<b>134</b>). If necessary, the user may input the join condition property for each property mapped for joining (step S<b>135</b>). Usually, two properties having coinciding values are joined (equivalent join).
0105Furthermore, if necessary, a join type can be selected (step S<b>136</b>). In the present embodiment, left outer join is set as a defined value in usual join operation because the first table is regarded as an origin. However, for example, by selecting a button B<b>24</b> “JOIN TYPE SET” on a screen of <figref idref="DRAWINGS">FIG. 22</figref>, another screen of <figref idref="DRAWINGS">FIG. 24</figref> is displayed and the join type can be selected. In the case of joining the first table with the second table, a method for joining is set on this screen. For example, in <figref idref="DRAWINGS">FIG. 24</figref>, the join type that the first table is located at the right side and joined with the second table as outer join is set.
0106Furthermore, from a plurality of properties of the first table and a plurality of properties of the second table, properties as object of join operation may be selected (step S<b>137</b>). For example, in a screen of <figref idref="DRAWINGS">FIG. 22</figref>, the user inputs a check into an item row “DISPLAY” corresponding to the property as object of join operation. In this case, the number of data of join operation can be reduced. As for the created join condition, by selecting a button B<b>21</b> “OK” in <figref idref="DRAWINGS">FIG. 22</figref>, a message of inquiry whether set contents are preserved on this screen is displayed (step S<b>138</b>). When the user selects “preservation” (not shown in <figref idref="DRAWINGS">FIG. 22</figref>), a name is assigned to the set contents on the screen. The set contents are stored in the past join operation memory <b>4</b> as a join history (step S<b>139</b>).
0107Furthermore, a join condition can be reused by selecting from the join history. Briefly, assume that the preserved join condition (join condition 001, join condition 002) is selected for the second table of <figref idref="DRAWINGS">FIG. 18</figref>. By selecting a button B<b>103</b> “CHANGE JOIN CONDITION” (step S<b>140</b>), the join condition input unit <b>10</b> reads the selected join condition from the join history stored in the past join operation memory shown in <figref idref="DRAWINGS">FIG. 25</figref>, and displays the read join condition (step S<b>141</b>).
0108The past join operation memory <b>4</b> stores the join condition used for join operation in the past as the join history. For each join condition, the past join operation memory <b>4</b> stores an identifier (ID) to discriminate the join condition, a name of the join condition, the first table and the second table to which the join condition is applied, a property indicated as display object for join operation result by applying the join operation, a property and a condition indicated as a join operation object, and a join type.
0109A user can use the displayed join condition as a join condition of this time. If the user changes the displayed join condition or creates a new join condition by reusing the displayed join condition (step S<b>142</b>), the user executes an input operation of join condition as mentioned-above (steps S<b>134</b>˜S<b>137</b>). By pushing a button B<b>21</b> “OK” in <figref idref="DRAWINGS">FIG. 22</figref>, the edited join condition is stored in the past join operation memory <b>4</b> by adding a name.
0110Furthermore, by pushing a button B<b>104</b> “DELETE JOIN CONDITION” in <figref idref="DRAWINGS">FIG. 18</figref> (step S<b>143</b>), the join condition stored in the past join operation memory <b>4</b> can be deleted (step S<b>144</b>). At step S<b>4</b>, when an execution indication of join operation between the first table and the second table is input, the join operation unit <b>11</b> executes a join operation of both tables. Briefly, based on a join condition and a join type input by the join condition input unit <b>10</b>, a join operation is executed between the first table of contents data of predetermined number (For example, one hundred) and the second table of external data each presented by the presentation unit <b>17</b> at the present time.
0111As for a join operation, as shown in <figref idref="DRAWINGS">FIG. 7</figref>, a value corresponding to a property or an item indicated as a retrieval condition is searched. In record data of the first table and record data of the second table, two record data of which values corresponding to the indicated property or item are the same are joined, and a join table is created as shown in <figref idref="DRAWINGS">FIGS. 7D and 7E</figref>.
0112The join operation unit <b>11</b> stores a table obtained as join operation result in the joined data memory <b>5</b> and provides the table to the joined data output unit <b>12</b>. The joined data output unit <b>12</b> sends the received joined data to the user terminal TE of a request source, or outputs it through a display of the server apparatus <b>50</b>. The user terminal TE of the request source outputs the received joined data through a predetermined display.
0113As mentioned-above, in the first embodiment, contents data of the user's desired class stored in a hierarchical database of internal data are divided into a plurality of groups each including contents data of predetermined number. The contents data of each group is displayed in order, and joined with a table of another record data. Accordingly, the number of data as a join operation object can be reduced, and a load of join operation processing also can be reduced. Furthermore, if the user's selected contents data in the contents data of the group is regarded as a processing object of a join operation, the number of data of the processing object can be further reduced.
0114The external data acquired from an external database having a hierarchical structure (class system) different from an internal database is stored as a part of the hierarchical structure of the internal database. In this case, as shown in <figref idref="DRAWINGS">FIG. 18</figref>, a class or a table in the external data to be joined with a table of the internal data can be selected from a tree displayed on a GUI (Graphic User Interface).
0115In each property item of a table (the first table) of the internal data, a property item having a name or identifier the same as a property item of a table (the second table) of the external data is searched. For example, as shown in <figref idref="DRAWINGS">FIG. 22</figref>, a look-up table of property items of the same name or the same identifier is displayed. As a result, a user can easily set a join condition used for a join operation between the first table and the second table. In this case, a set screen of join operations displaying the look-up table is called a class operation page.
0116The join condition used for join operation is stored as a join history, and reused in the case of inputting a join operation to be used for the next join operation. As a result, the user can easily set the join condition.
0117Order of operation of classes as object of join operation may be indicated and preserved. In this case, as for the user's selected class displayed on the GUI, the registered join condition may be read out and operated in order.
0118Furthermore, order of operation of classes as object of join operation may be indicated and preserved. As for all classes as operation object, the registered join condition related to the user's selected class displayed on the GUI or the upper level class may be read out and used as join operation. In the join operation, indication of order of join table is effective for reduction of operation processing time. Accordingly, storing of the join order is very important to reduce the operation processing time.
0119Furthermore, even if a property of the same name or the same identifier does not exist between a class and another class as an object of a join operation, the property of the same data type between the class and another class may be regarded as the same property. In this case, these properties may be correspondingly presented to the user as shown in <figref idref="DRAWINGS">FIG. 22</figref>.
The Second Embodiment
0120In the first embodiment, a table (the first table) of internal data is joined with a table (the second table) of external data. The same methods can be applied to the case of joining two tables of internal data. Feature point different from the first embodiment is explained by referring to a flowchart of <figref idref="DRAWINGS">FIG. 26</figref>.
0121First, at step S<b>201</b>, as shown in the flowchart of <figref idref="DRAWINGS">FIG. 12</figref>, the first indication unit <b>6</b> indicates a table of desired contents data from the internal data memory <b>1</b>. Briefly, one class (It is called a first class) of classes comprising a hierarchical structure stored in the internal data memory <b>1</b> is indicated, and the table of contents data registered in the first class is selected (step S<b>101</b>). The presentation unit <b>7</b> divides contents data of the table into a plurality of groups each including contents data of predetermined number (For example, one hundred) (step S<b>102</b>), and displays a table of contents data in the first group as shown in <figref idref="DRAWINGS">FIG. 8</figref> (step S<b>103</b>). This table (The first table) of presented contents data is regarded as a processing object of join operation. If necessary, in the contents data of the first table, a user's selected contents data (selected row of the contents data) is only regarded as a processing object of join operation as shown in <figref idref="DRAWINGS">FIG. 9</figref> (step S<b>104</b>). This processing is executed at step S<b>201</b>.
0122Next, in the same way as step S<b>201</b>, the first indication unit <b>6</b> indicates the second table to be joined with the first table from the internal data memory <b>1</b> (step S<b>202</b>). Briefly, another one (It is called a second class) of classes comprising the hierarchical structure stored in the internal data memory <b>1</b> is indicated, and a table of contents data registered in the second class is selected (step S<b>101</b>). The presentation unit <b>7</b> divides the contents data of the table into a plurality of groups each including contents data of a predetermined number (For example, one hundred) (step S<b>102</b>), and displays a table of contents data in the first group as shown in <figref idref="DRAWINGS">FIG. 8</figref> (step S<b>103</b>). This table (The second table) of presented contents data is regarded as a processing object of a join operation. If necessary, from the contents data of the second table, a user's selected contents data (selected row of the contents data) is only regarded as a processing object of a join operation as shown in <figref idref="DRAWINGS">FIG. 9</figref> (step S<b>104</b>). This processing is executed at step S<b>202</b>.
0123Next, in the same way as the flowchart of <figref idref="DRAWINGS">FIG. 17</figref>, a join condition is set (step S<b>203</b>). When an execution indication of join operation between the first table and the second tables is input, the join operation unit <b>11</b> executes a join operation of both tables (step S<b>204</b>). A new table obtained as the join operation result is stored in the joined data memory <b>5</b>. The joined data output unit <b>12</b> displays the new table through the user terminal TE of request source or a display of the server apparatus <b>50</b> (step S<b>205</b>).
The Third Embodiment
0124Hereinafter, features of the third embodiment different from the first embodiment are explained.
0125In the case of a join operation between RDB tables, if each value of many items (properties) indicated as an operation join condition coincides between two tables, the greater the number of coincided items, the greater is the number of join operations. Accordingly, in order to execute the join operation with a small number of operations, items (properties) having as few as possible coincided values between two tables should be indicated.
0126A key property in a table is used for uniquely discriminating each record data in the table. A plurality of key properties can also be used. In this case, the record data is uniquely discriminated by a value of a combination of the plurality of key properties. Accordingly, the key property included in both tables is first presented to the user as a join condition in order to urge the user to select the key property as the join condition. As a result, the number of join operations can be controlled.
0127Next, processing of the third embodiment is explained by referring to <figref idref="DRAWINGS">FIGS. 27 and 28</figref>. <figref idref="DRAWINGS">FIG. 27</figref> is one example of contents data of “mouse”, and <figref idref="DRAWINGS">FIG. 28</figref> is one example of contents data of “notebook PC”. By setting a property “INTERFACE” in the contents data of mouse and a property “MOUSE INTERFACE” in the contents data of notebook PC as a join operation, both contents data of <figref idref="DRAWINGS">FIGS. 27 and 28</figref> can be joined. However, in comparison with the join condition “MOUSE. INTERFACE=NOTEBOOK PC. MOUSE INTERFACE”, a processing time of operation by a joint condition including “PRODUCT CODE” as the key property (“MOUSE. PRODUCT CODE=NOTEBOOK PC. RECOMMENDABLE MOUSE PRODUCT CODE”) is short.
0128Concretely, in the case of the join condition “MOUSE. INTERFACE=NOTEBOOK PC. MOUSE INTERFACE”, for example, in the contents data of mouse of <figref idref="DRAWINGS">FIG. 27</figref>, the interface corresponding to the product code “MR001” is “USB”. Accordingly, in the contents data of notebook PC of <figref idref="DRAWINGS">FIG. 28</figref>, the contents data of five product codes “Dyna100”, “Dyna101”, “Dyna102”, “Dyna103”, “Dyna104” each corresponding to the mouse interface “USB” is joined with the contents data of mouse of product code “MR001”, and five joined contents data are generated. In the same way, in the contents data of mouse of <figref idref="DRAWINGS">FIG. 27</figref>, an interface corresponding to the product code “MR002” is “USB”. Accordingly, in contents data of notebook PC of <figref idref="DRAWINGS">FIG. 28</figref>, the contents data of five product codes “Dyna100”, “Dyna101”, “Dyna102”, “Dyna103”, “Dyna104” each corresponding to mouse interface “USB” is joined with the contents data of mouse of product code “MR002”, and five joined contents data are generated. In the contents data of mouse of <figref idref="DRAWINGS">FIG. 27</figref>, as for contents data corresponding to two product codes “MR003” and “MIR002”, five joined contents data are respectively generated.
0129On the other hand, in the case of the join condition “MOUSE. PRODUCT CODE=NOTEBOOK PC. RECOMMENDABLE MOUSE PRODUCT CODE”, for example, as for contents data of mouse corresponding to product code “MR001” in <figref idref="DRAWINGS">FIG. 27</figref>, product code of contents data of notebook PC corresponding to recommendable mouse product code “MR001” in <figref idref="DRAWINGS">FIG. 28</figref> is “Dyna100” and “Dyna101”. Accordingly, contents data of two product codes “Dyna100” and “Dyna101” is joined with the contents data of mouse of product code “MR001”, and two joined contents data are generated. In the same way, as for contents data of mouse corresponding to product code “MR002” in <figref idref="DRAWINGS">FIG. 27</figref>, product code of contents data of notebook PC corresponding to recommendable mouse product code “MR002” in <figref idref="DRAWINGS">FIG. 28</figref> is “Dyna102” and “Dyna103”. Accordingly, contents data of two product codes “Dyna102” and “Dyna103” is joined with the contents data of mouse of product code “MR002”, and two joined contents data are generated.
0130As for another contents data of mouse, the number of contents data of notebook PS to be joined with one contents data of mouse can be reduced. In this way, as a join condition to join two tables, a property of the same value included in smaller number of contents data in both tables is used. For example, a property of value able to discriminate each contents data, i.e. “product code” (It is called a key property), is used. As a result, the number of data as join operation object can be reduced.
0131Thus, the join condition input unit <b>10</b> extracts a key property from two tables of external data and internal data, and presents the key property as shown in <figref idref="DRAWINGS">FIG. 22</figref>. In <figref idref="DRAWINGS">FIG. 22</figref>, as for the key property in properties of the first table and the second table, “◯” is displayed in key row. By recommending a user to indicate the key property as a join condition, the join condition having the least number of join operations can be indicated. As the recommendation method, in the case of displaying an input screen of join conditions shown in <figref idref="DRAWINGS">FIG. 22</figref>, each key property of the first table and the second table is correspondingly presented. If the key property is not selected as a join condition, when the join condition is determined for a user (For example, “OK” button B<b>21</b> is pushed in <figref idref="DRAWINGS">FIG. 22</figref>), then an alarm message is output in order to urge the user to indicate the key property.
0132Furthermore, as the join condition, in addition to equivalent join, non-equivalent join can be input. For example, in the case of indicating a join condition as a key property “PRODUCT CODE” in the first table and a key property corresponding to the “PRODUCT CODE” in the second table, a button B<b>23</b> “DETAIL SET” becomes active by indicating the properties of the first table and the second table. Accordingly, by the user's push of the button B<b>23</b>, “non-equivalent join” can be set.
The Fourth Embodiment
0133Hereinafter, features of the fourth embodiment different from the first embodiment are explained.
0134In a database having hierarchical structure, a property defined in an upper level class is inherited to a lower level class. Accordingly, a join condition (past join operation) defined in some class can be applied to the lower level class.
0135For example, assume that a table “TB10” shown in <figref idref="DRAWINGS">FIG. 29</figref> is registered in “PC MAIN BODY” node <b>102</b> of <figref idref="DRAWINGS">FIG. 2</figref>, a table “TB01” shown in <figref idref="DRAWINGS">FIG. 3</figref> is registered in “NOTEBOOK PC” node <b>105</b> of <figref idref="DRAWINGS">FIG. 2</figref>, and a table “TB11” shown in <figref idref="DRAWINGS">FIG. 30</figref> is registered in “DESKTOP PC” node <b>106</b> of <figref idref="DRAWINGS">FIG. 2</figref>. The table “TB10” of <figref idref="DRAWINGS">FIG. 29</figref> is a table defining schema (property name) only. However, contents data may be registered.
0136Furthermore, in a hierarchical structure of database stored in the first external DB <b>51</b> shown in <figref idref="DRAWINGS">FIG. 4</figref>, assume that a table “table00” shown in <figref idref="DRAWINGS">FIG. 31</figref> is registered in “PC MAIN BODY STOCKS” node; a table “table01” shown in <figref idref="DRAWINGS">FIG. 5</figref> is registered in “NOTEBOOK PC STOCKS” node; and a table “table02” shown in <figref idref="DRAWINGS">FIG. 32</figref> is registered in “DESKTOP PC STOCKS” node. The table “table00” of <figref idref="DRAWINGS">FIG. 31</figref> is a table defining schema (property name) only. However, contents data may be registered.
0137A join condition (past join operation) to obtain PC stocks by joining the table “TB10” of “PC MAIN BODY” node <b>102</b> of <figref idref="DRAWINGS">FIG. 2</figref> with the table “table00” of “PC MAIN BODY STOCKS” node of <figref idref="DRAWINGS">FIG. 4</figref> is registered. The join condition is “JOIN CONDITION 003: TEMPLATE OF STOCKS CHECK” in <figref idref="DRAWINGS">FIG. 25</figref>. Briefly, a value corresponding to property “PRP003: PRODUCT CODE” of “TB10” of <figref idref="DRAWINGS">FIG. 29</figref> is joined with the same value corresponding to property “PRP003: PRODUCT CODE” of “table00” of <figref idref="DRAWINGS">FIG. 31</figref>. Thus, each value corresponding to two properties “PRP003: PRODUCT CODE” and “PRP101: NUMBER OF STOCKS” (indicated as display property in <figref idref="DRAWINGS">FIG. 25</figref>) is displayed.
0138For example, in a screen to select external data and a join condition shown in <figref idref="DRAWINGS">FIG. 33</figref>, by the user's selection of “DISPLAY INHERITED JOIN CONDITION” button B<b>30</b>, the inherited join condition “JOIN CONDITION 003: TEMPLATE OF STOCKS CHECK” is displayed. This join condition is used to join a table “TB10” with a table “table00”. Accordingly, a property used by the join condition “JOIN CONDITION 003: TEMPLATE OF STOCKS CHECK” is inherited to a lower level class of the table “TB10” and the table “table00”. Concretely, this join condition can be utilized to join a table “table01” registered in a lower node “NOTEBOOK PC STOCKS” of node “PC MAIN BODY STOCKS” (shown in <figref idref="DRAWINGS">FIG. 4</figref>) registering the table “table00” with a table “TB01” registered in a lower node <b>105</b> “NOTEBOOK PC” of node <b>102</b> “PC MAIN BODY” (shown in <figref idref="DRAWINGS">FIG. 2</figref>) registering the table “TB10”. In <figref idref="DRAWINGS">FIG. 33</figref>, “JOIN CONDITION 003” is displayed as a join condition of a table “table01”.
0139In this way, by utilizing a join condition used for join operation between tables of upper level class, the condition to effectively execute join operation between tables of lower level class can be simply input.
0140A procedure to utilize a join condition inherited from an upper level class is explained. First, at step S<b>1</b> of <figref idref="DRAWINGS">FIG. 11</figref>, a table (the first table) of internal data is indicated on a screen shown in <figref idref="DRAWINGS">FIG. 13</figref> (For example, a table “TB01” is indicated). At step S<b>2</b> of <figref idref="DRAWINGS">FIG. 11</figref>, a table (the second table) of external data is indicated on a screen shown in <figref idref="DRAWINGS">FIG. 33</figref> (For example, a table “table01” is indicated. At step S<b>3</b> of <figref idref="DRAWINGS">FIG. 11</figref>, a join condition is set. Processing of steps S<b>140</b>˜<b>141</b> in <figref idref="DRAWINGS">FIG. 17</figref> corresponds to processing in <figref idref="DRAWINGS">FIG. 34</figref>.
0141By the user's selection of a button B<b>30</b> on a screen of <figref idref="DRAWINGS">FIG. 33</figref> (step S<b>151</b> of <figref idref="DRAWINGS">FIG. 34</figref>), the second indication unit <b>8</b> reads a join condition (For example, “JOIN CONDITION 003: TEMPLATE OF STOCKS CHECK”) from the join history stored in the past join operation memory <b>4</b>. The join condition was already used to join a table registered in a class (or upper class) to which the first table belongs with a table registered in a class (or upper class) to which the second table belongs. This join condition is displayed as shown in <figref idref="DRAWINGS">FIG. 33</figref> (step S<b>152</b> of <figref idref="DRAWINGS">FIG. 34</figref>).
0142As mentioned-above, in the present invention, in the case of joining a table of contents data registered in a hierarchical database with another table of record data, the number of processing of join operation can be reduced, and input of join condition can be easily executed for the user.
0143For embodiments of the present invention, the processing of the present invention can be accomplished by a computer-executable program, and this program can be realized in a computer-readable memory device.
0144In embodiments of the present invention, the memory device, such as a magnetic disk, a floppy disk, a hard disk, an optical disk (CD-ROM, CD-R, DVD, and so on), an optical magnetic disk (MD and so on) can be used to store instructions for causing a processor or a computer to perform the processes described above.
0145Furthermore, based on an indication of the program installed from the memory device to the computer, OS (operation system) operating on the computer, or MW (middle ware software), such as database management software or network, may execute one part of each processing to realize the embodiments.
0146Furthermore, the memory device is not limited to a device independent from the computer. By downloading a program transmitted through a LAN or the Internet, a memory device in which the program is stored is included. Furthermore, the storage devices may be combined into one memory, or more than one memory may be used. In the case that the processing of the embodiments is executed by a plurality of memory devices, a plurality of memory devices may be included in the memory device. The component of the device may be arbitrarily composed.
0147In embodiments of the present invention, the computer executes each processing stage of the embodiments according to the program stored in the memory device. The computer may be one apparatus such as a personal computer or a system in which a plurality of processing apparatuses are connected through a network. Furthermore, in the present invention, the computer is not limited to a personal computer. Those skilled in the art will appreciate that a computer includes a processing unit in an information processor, a microcomputer, and so on. In short, the equipment and the apparatus that can execute the functions in embodiments of the present invention using the program are generally called the computer.
0148Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. It is intended that the specification and examples be considered as exemplary only, with the true scope and spirit of the invention being indicated by the following claims.
Contents6
32 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27 Sheet 28 Sheet 29 Sheet 30 Sheet 31 Sheet 32
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US7895174B2 | Cited by | United States of America | Search report |
| US2007100895A1 | Cited by | United States of America | Pre-grant |
| US2008270985A1 | Cited by | United States of America | Pre-grant |
| US9152656B2 | Cited by | United States of America | Applicant |
| US2009248710A1 | Cited by | United States of America | Pre-grant |
| US9098263B2 | Cited by | United States of America | Applicant |
| US2005203869A1 | Cited by | United States of America | Pre-grant |
| US2009248740A1 | Cited by | United States of America | Pre-grant |
| US11151157B2 | Cited by | United States of America | Search report |
| US2009132576A1 | Cited by | United States of America | Pre-grant |
| US7870164B2 | Cited by | United States of America | Search report |
| US2002087516A1 | Cites | United States of America | Search report |
| US2005038784A1 | Cites | United States of America | Search report |
| US5701453A | Cites | United States of America | Search report |
| US5764973A | Cites | United States of America | Search report |
| US6629094B1 | Cites | United States of America | Search report |
| US6820076B2 | Cites | United States of America | Search report |
| US6957225B1 | Cites | United States of America | Search report |
5 priority claims, no other members on record
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 2003203063 | Japan | A | |
| 2003203063 | Japan | A | |
| P2003203063 | Japan | – | |
| JP20030203063 | – | – | – |
| P2003203063 | – | – | – |
34 transactions on the USPTO file
Allowed after 1 non-final rejection.
- Non-final rejections
- 1
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Expire PatentEXP. | EXP. | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Mail Examiner's AmendmentMEX.A | MEX.A | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Examiner's Amendment CommunicationEX.A | EX.A | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Correspondence Address ChangeC.ADB | C.ADB | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Is Now CompleteCOMP | COMP | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Correspondence Address ChangeC.AD | C.AD | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Request for Foreign Priority (Priority Papers May Be Included)RQPR | RQPR | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Initial Exam Team nnIEXX | IEXX |
5 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapsed due to failure to pay maintenance feeLapsedFP | FP | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Lapse for failure to pay maintenance feesLapsedLAPS | LAPS | |
| Maintenance fee reminder mailedREMI | REMI | |
| AssignmentAS | AS |
Numbers
- Publication
- 07269593
- Publication, DOCDB
- 7269593
- Publication, EPODOC
- US7269593
- Application
- 10900388
- Application, DOCDB
- 90038804
- Application, EPODOC
- US20040900388
Titles
- English
- Data processing apparatus and method
Patent term adjustment
- A delay
- +475 daysthe office missed an examination deadline
- Net adjustment
- 475 days
Classification
- CPC, 7
- G06F16/2445
- G06F16/2456
- G06F16/289
- Y10S707/99944
- Y10S707/99953
- Y10S707/99943
- Y10S707/99942
- IPC, 3
- G06F7 00
- G06F12 00
- G06F17 30
- USPC, 6
- 001001000
- 707999100
- 707999101
- 707999102
- 707999103
- 707999202