US20080052281A1 - Database insertion and retrieval system and method - Google Patents

Database insertion and retrieval system and method Download PDF

Info

Publication number
US20080052281A1
US20080052281A1 US11/466,478 US46647806A US2008052281A1 US 20080052281 A1 US20080052281 A1 US 20080052281A1 US 46647806 A US46647806 A US 46647806A US 2008052281 A1 US2008052281 A1 US 2008052281A1
Authority
US
United States
Prior art keywords
database
information
levels
tag
identifiers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/466,478
Inventor
Matthew R. Liberty
Bruce R. Wilde
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lockheed Martin Corp
Original Assignee
Lockheed Martin Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lockheed Martin Corp filed Critical Lockheed Martin Corp
Priority to US11/466,478 priority Critical patent/US20080052281A1/en
Assigned to LOCKHEED MARTIN CORPORATION reassignment LOCKHEED MARTIN CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WILDE, BRUCE R, LIBERTY, MATTHEW R
Priority to US11/562,336 priority patent/US7823062B2/en
Publication of US20080052281A1 publication Critical patent/US20080052281A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/81Indexing, e.g. XML tags; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/83Querying
    • G06F16/838Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Definitions

  • the present invention relates generally to data processing, and, more particularly, to database processing for information provided in markup language form.
  • FIG. 1 is a system block diagram of a database insertion and retrieval system according to various embodiments
  • FIG. 2 is a functional block diagram of the information storage and retrieval application according to various embodiments
  • FIG. 3 is a database insertion functional flow diagram according to various embodiments.
  • FIG. 4 is an illustration of the mapping of attributes contained in input information to identifiers or keys in a hash table index of output information according to various embodiments
  • FIG. 5 is a database retrieval functional flow diagram according to various embodiments.
  • FIGS. 6A and 6B are a flow chart of a database insertion method according to various embodiments.
  • FIGS. 7A and 7B are a flow chart of a database retrieval method according to various embodiments.
  • FIG. 8 is an example stylesheet defining attributes to be used for keys according to various embodiments.
  • FIGS. 9A and 9B are an example stylesheet used to obtain requested XML according to various embodiments.
  • FIGS. 10A and 10B are an example stylesheet used to obtain requested XML for a particular locale according to various embodiments.
  • FIGS. 11A and 11B are an example stylesheet used to obtain requested XML for a particular version according to various embodiments.
  • Embodiments are directed generally to a system and method for inserting document text into a database and for retrieving portions of the document text from that database.
  • various embodiments can comprise a system and methods for generating one or more keys from selected attributes occurring in input information, and to insert output information comprising the keys into a database.
  • the database insertion and retrieval system 100 can comprise a server 101 provided in communication with one or more client devices 102 using a network 103 .
  • the server 101 can comprise an information storage and retrieval application 105 provided in communication with a database 107 .
  • the server 101 can further comprise a communication interface configured to accomplish packet-based communication using the network 103 .
  • the information storage and retrieval application 105 can comprise one or more servlets that includes a sequence of programmed instructions that, when executed by a processor of the server 101 , cause the server 101 to be configured to perform database insertion and retrieval functions as described herein.
  • the database 107 can comprise a memory manager 109 and a storage device 111 provided in communication with the memory manager 109 .
  • the database 107 can store and retrieve information or data in response to one or more (Structured Query Language) SQL instructions.
  • the storage device 111 can comprise a hard disk drive configured to store information in accordance with SQL.
  • the memory manager 109 can comprise a database manager that includes a local memory 112 .
  • the memory manager 109 local memory 112 can comprise a hash table index 113 and recently accessed database information from the storage device 111 .
  • the local memory 112 of the memory manager 109 can have a faster access time latency than the storage device 111 .
  • the local memory 112 can comprise a Random Access Memory (RAM) and the storage device 111 can comprise a hard disk drive, in which case the local memory 112 can have an access time latency on the order of ten times faster than the storage device 111 .
  • the local memory 112 can comprise a fixed memory size specified by a target threshold size parameter.
  • the memory manager 109 can be configured to remove the oldest information in local memory 112 to provide capacity to store the transformed information and maintain the size of the local memory 112 below the target threshold size.
  • the target threshold size and the frequency of checking whether or not the target threshold size has been exceeded can each be configurable parameters controlled by the user.
  • the client device 102 can comprise a Personal Computer (PC) or workstation including, but not limited to, a desktop PC, laptop PC, tablet PC, Personal Digital Assistant (PDA), cellular terminal or handset, wireless terminal or handset, Internet appliance, or any other such device.
  • the client device 102 can comprise a communication interface configured to accomplish packet-based communication using the network 103 .
  • the client device 102 can include a browser application such as Microsoft® Internet ExplorerTM available from Microsoft Corporation of Redmond, Wash., or Mozilla FirefoxTM available from the Mozilla Foundation of Mountain View, Calif.
  • the client device 102 can communicate with the server 101 using the network 103 in accordance with the HyperText Transfer Protocol (HTTP).
  • HTTP HyperText Transfer Protocol
  • a user can establish a session with the server 101 by entering the Uniform Resource Locator (URL) associated with the server 101 into an address field of the browser application.
  • the client device 102 can also comprise a standard set of hardware and software such as, but not limited to, a processor, Read Only Memory (ROM), Random Access Memory (RAM), communication ports, user interface, operating system, application programs, as well as standard peripherals such as, but not limited to, a data entry device such as a keyboard, a pointing and selection device such as a mouse or trackball, and a display.
  • the operating system can be configured to support application programs configured to accept user input via the user interface in the form of interactive pages comprising static and dynamic display data and data entry fields.
  • the network 103 can comprise a packet-based network configured to transfer packet-based information.
  • the network 103 can comprise an Internet Protocol (IP) based network in which information is transferred in accordance with the Transmission Control Protocol (TCP)/IP standard such as, for example, the Internet.
  • IP Internet Protocol
  • the network 103 can comprise an intranet, a wireless communication network such as Global System for Mobile Communications (GSM) or Code Division Multiple Access (CDMA), a satellite communication network, or a Local Area Network (LAN) or Wireless LAN based on, for example, the IEEE 802.11 standard.
  • GSM Global System for Mobile Communications
  • CDMA Code Division Multiple Access
  • LAN Local Area Network
  • Wireless LAN Wireless based on, for example, the IEEE 802.11 standard.
  • the network 103 can also comprise a connection-based network such as, for example, the Public Switched Telephone Network (PSTN).
  • PSTN Public Switched Telephone Network
  • the information storage and retrieval application 105 can comprise an input/output portion 150 , a translator portion 160 , and a database interface portion 170 .
  • input/output portion 150 , a translator portion 160 , and a database interface portion 170 can comprise one code object.
  • each of the portions 150 , 160 and 170 can comprise multiple objects provided in communication using, for example, interprocess communication techniques.
  • the input/output portion 150 can comprise a sequence of JavaTM instructions that configure the information storage and retrieval application 105 to input and output information in accordance with the HyperText Transfer Protocol (HTTP).
  • HTTP HyperText Transfer Protocol
  • the information storage and retrieval application 105 can comprise one or more Common Gateway Interface (CGI) scripts.
  • CGI Common Gateway Interface
  • the translator portion 160 can comprise a markup language translator configured to read input information and translate the input information into output information in accordance with translation instructions.
  • the input information and output information can be a text stream formatted in accordance with the Extensible Markup Language (XML) markup language.
  • the markup language translator can be configured to perform Extensible Style Language Transformation (XSLT) in accordance with translation instructions specified by one or more Extensible Style Language (XSL) stylesheets 165 .
  • the translator portion 160 can accept the input information as an input file or as a document contained in an input file.
  • the translator portion 160 can provide the output information as an output file.
  • the translator portion 160 can thus operate as an XSLT parser configured to translate a first XML document into a second XML document, for example.
  • the stylesheets 165 can be instantiated at time of application installation.
  • the stylesheets 165 are maintained in non-volatile storage of the server 101 , but are not included in the database 107 .
  • the database interface portion 170 can be configured to communicate with the database 107 .
  • the database interface portion 170 can be configured to generate and output to the database 107 an information storage request or an information retrieval request.
  • the information storage and information retrieval requests can be formatted in accordance with the Structured Query Language (SQL).
  • SQL Structured Query Language
  • Database requests from the database interface portion 170 can be received by the memory manager 109 of the database 107 .
  • the database interface portion 170 can comprise a JavaTM servlet.
  • the translator portion 160 can be configured to receive input information and translate the input information, in accordance with translation instructions specified by one or more stylesheets 165 , into output information to be stored in the database 107 .
  • the translator portion 160 can be configured to generate a key from an attribute occurring in the input information, the input information being formatted in accordance with a markup language.
  • the key can be an index key used for retrieving the output information from the database 107 .
  • a different key can be associated with each of many different types of attributes.
  • the attributes in the input information that are used by the translator portion 160 to generate the keys can be defined in one or more stylesheets 165 .
  • the stylesheets 165 can be customized to generate keys from a variety of attribute types according to the needs of the user.
  • FIG. 8 is an example stylesheet 165 defining attributes to be used for keys according to various embodiments.
  • stylesheets 165 can be used to specify to the translator portion 160 the manner in which to add the keys to a hash table index.
  • the hash table index can comprise an internal database index.
  • the translator portion 160 can receive the input information 301 and apply a first stylesheet 165 to generate keys based on occurrences of the attribute(s) specified in the first stylesheet 165 .
  • a key can comprise an identifier that serves to identify the information, such as markup language data or a tag, associated with the corresponding attribute.
  • the translator portion 160 can be configured to generate one such identifier for every occurrence of the corresponding attribute in the input information 301 . Each such generated identifier can be included in the output information 302 .
  • the output information 302 generated by the translator portion 160 can comprise one or more of the identifiers, each of which each identifiers corresponds to an occurrence of the selected attribute(s) in the input information 301 , each of which identifiers identifies the information associated with the attribute in the input information 301 , and each of which identifiers is added or inserted into the database 107 .
  • the output information 302 can comprise keys in a hash table index.
  • a second stylesheet 165 can be used to specify to the translator portion 160 the manner in which to add the keys to a hash table index.
  • the hash table index can comprise an internal database index.
  • the database interface portion 170 can be configured to apply an insertion instruction page 303 to select insertion of the output information 302 into the database 107 as either a single document or file, or as several compressed documents or files.
  • the insertion instruction page 303 can comprise a markup language file such as, for example, a HyperText Markup Language (HTML) page.
  • the database interface portion 170 can then upload the input information 301 for insertion into the database 107 .
  • the database interface portion 170 can comprise a JavaTM servlet.
  • the input information 301 can comprise XML formatted information.
  • the input information 301 can be compressed using a compression algorithm such as, for example, the java.util.zip JavaTM compression utility of the JavaTM 2 Platform Std. Ed. v 1.4.2 available from Sun Microsystems of Santa Clara, Calif.
  • a compression algorithm such as, for example, the java.util.zip JavaTM compression utility of the JavaTM 2 Platform Std. Ed. v 1.4.2 available from Sun Microsystems of Santa Clara, Calif.
  • another ZIP compression algorithm can be used such as, for example, PKZIP available from PKWARE, Inc. of Milwaukee, Wis., or the WinZipTM product available from Microsoft Corporation.
  • the translator portion 160 can be configured to generate multiple levels of identifiers. Each level of identifiers can be hierarchically related to another one of the levels (for example, the immediately preceding level or the immediately following level). In various embodiments, a top-level identifier can serve to identify an entire input information 301 file such as, for example, an XML file. Multiple sub-level identifiers can be provided, wherein each sub-level identifier serves to identify any XML in the input information 301 that meets the attribute criteria specified in the applicable stylesheet 165 .
  • the translator portion 160 can be configured to index all of the identifiers, or keys, by associating each sub-level identifier with its immediately preceding (for example, next highest priority) sub-level identifier, and by associating each sub-level identifier with its top-level identifier.
  • Example input information 301 is set forth in Table 1 below. As shown in Table 1, the input information 301 can comprise an XML file.
  • the translator portion 160 can apply the first stylesheet 165 to generate the identifiers. For example, if the stylesheet 165 specifies the “ID” attribute in the input information 301 to be used to generate identifiers, the translator portion 160 can generate one identifier for every occurrence of the “ID” attribute encountered in the input information 301 . Each generated identifier is included in the output information 302 .
  • the output information 302 generated by the translator portion 160 can comprise one or more of the identifiers, each of which each identifiers corresponds to an occurrence of the selected attribute(s) in the input information 301 , each of which identifiers identifies the information associated with the attribute in the input information 301 , and each of which identifiers is added or inserted into the database 107 .
  • the output information 302 can comprise keys in a hash table index.
  • a second stylesheet 165 can be used to specify to the translator portion 160 the manner in which to add the keys to a hash table index.
  • the hash table index can comprise an internal database index.
  • the hash table index can be stored using the hash table 113 of the memory manager 109 .
  • Example output information 302 is set forth in Table 2 below. As shown in Table 2, the output information 302 can comprise an XML file.
  • FIG. 4 there is shown an illustrative mapping of attributes contained in the input information 301 to identifiers or keys in the hash table index of the output information 302 for the example input and output information of Tables 1 and 2 in accordance with the database insertion process 300 .
  • the “ID” attribute is specified by the stylesheet 165 for generating database identifiers, or keys.
  • the translator portion 160 generates multiple levels of identifiers for occurrences of the “ID” attribute in the input information 301 .
  • the “ID” attribute for “my.test” is assigned as the top-level identifier
  • the “ID” attributes for “my.test.link” and “my.test.run” are determined to be sub-level identifiers. As shown in FIG.
  • the sub-level identifiers for “my.test.link” and “my.test.run” are associated with the top-level identifier “my.test.” Therefore, the sub-level identifiers for “my.test.link” and “my.test.run” are hierarchically related to the top-level identifier “my.test.”
  • the top-level identifier “my.test” serves to identify the entire input information 301 file, while the sub-level identifiers serve to identify XML in the input information 301 associated with the sub-level identifier.
  • the input information 301 can be inserted into the database 107 by the database interface portion 170 in accordance with the insertion instruction page 303 as described with respect to FIG. 3 , for example, as a compressed file.
  • the inserted document text for example, markup language information of the input information 301
  • the hash table index for example, output data 302 .
  • FIG. 5 there is shown a database retrieval flow diagram in accordance with various embodiments.
  • the input/output portion 150 can forward the database read request to the database interface portion 170 .
  • the client device 102 can submit a database read request comprising a specific identifier to be obtained from the database 107 .
  • An example hash table index is shown in Table 3 below.
  • the input/output portion 160 can forward the database read request to the database interface portion 170 .
  • the database interface portion 170 can search the keys in the hash table index 113 , via table look-up or other method, for the identifier contained in the database read request. For example, the database interface portion 170 can perform a table lookup of the keys in the hash table index 113 to determine that the second key in Table 3 corresponds to the specific identifier (“my.test.link”) contained in the example database read request.
  • the database interface portion 170 can then form a database request using the sub-level identifier and top-level identifier located in the hash table index 113 .
  • the database interface portion 170 can then send the database request to the database 107 .
  • the memory manager 109 of the database 107 can determine if the information corresponding to the identifier is contained in local memory 112 at the memory manager 109 . If so, then the memory manager 109 can return the information (for example, XML) associated with the identifier in the database request to the database interface portion 170 , without reading the information from the storage device 111 . Because the local memory 112 has a faster access time latency than the storage device 111 , storing information locally using the memory manager 109 reduces the access time to the client device 102 to obtain the requested information.
  • the memory manager 109 performs a database read operation to obtain the requested information from the storage device 111 .
  • the memory manager 109 also can add the information read from the storage device 111 to a hash table contained in local memory 112 , for faster access to the information in response to subsequent requests for it.
  • the database interface portion 170 can forward the received information to the translator portion 160 .
  • the translator portion 160 can apply a third stylesheet 165 parses the information received from the database to strip out unwanted information prior to presenting or outputting the information to the client device 102 .
  • the translator portion 160 can remove all but the following information as shown in Table 4:
  • the information obtained from the database 107 can comprise information input to the translator portion 160
  • the transformed information provided to the client device can comprise information output by the translator portion 160 .
  • the transformed database output information can then be forwarded to the input/output portion 150 and transferred to the client device 102 for further processing such as, for example, display to a user.
  • various embodiments comprising a system and method for inserting document text into a database and for retrieving portions of the document text from that database as described herein can provide, among other things, improved speed and efficiency in indexing and searching of information as well as improved speed of information retrieval from a database, because only the desired data is transferred to the requesting device. Further, various embodiments can be implemented using a relatively small number of instructions compared to other systems. While other databases use XPATH mechanisms to extract markup language from a database, various embodiments use unique keys created from attribute names to identify and obtain information from a database. In addition, various embodiments comprising the customized stylesheets allow the user the capability to customize how information is parsed into the database and also how information is displayed to the user.
  • the stylesheet 165 can cause the translator portion 160 to be configured to obtain the top level XML associated with a top-level identifier or subtask level XML associated with a child identifier.
  • the third stylesheet 165 can be a .xsl file.
  • the stylesheet 165 can cause the translator portion 160 to be configured to obtain the XML associated with a particular language based on a chosen locale. For example, if information is stored in the database 107 in three different languages (such as, for example, English, French and German), the stylesheet 165 can cause the translator portion 160 to obtain only the French version, if the user requested the French version and the French version is available. The XML for other locales is removed from the information provided to the requesting client device 102 .
  • the stylesheet 165 can cause the translator portion 160 to be configured to obtain the XML associated with a particular item of equipment or version of equipment. For example, if information is stored in the database 107 for different versions of a document, the stylesheet 165 can cause the translator portion 160 to obtain the latest version.
  • the stylesheets 165 of FIGS. 10A and 10B , and 11 A and 11 B can be applied after the stylesheet 165 of FIGS. 9A and 9B obtains the appropriate XML.
  • elements encountered during translation that do not contain the requested attributes, or that do not match can be returned to the requesting client device 102 .
  • the database insertion method 600 can commence at 601 .
  • the method can proceed to 603 , at which the user selects a file for database insertion.
  • the selection can be accomplished, for example, by entering a file identifier such as, for example, a file name, into a data entry field of an interactive page at the client device 102 .
  • the interactive page can comprise an HTML page, for example.
  • the user can cause the client device 102 to send the file to the database servlet (for example, the information storage and retrieval application 105 ) at the server 101 by actuating a button provided on the interactive page.
  • the client device 102 can transfer the file to the servlet, at 605 .
  • Control can then proceed to 607 , at which the file for database insertion can be received by the input/output portion 150 of the database servlet.
  • the input/output portion 150 can forward the file to the translator portion 160 .
  • Control can then proceed to 609 , at which, upon receiving the input information (for example, the file for database insertion), the translator portion 160 can select the first stylesheet 165 .
  • the first stylesheet 165 can be retrieved from a memory of the server 101 or using the network 103 .
  • Control can then proceed to 611 , at which the translator portion 160 can apply the first stylesheet 165 to the received input information to generate a key for each occurrence of one of the attributes to in the input information specified in the first stylesheet 165 .
  • the key can comprise one or more identifiers.
  • Control can then proceed to 613 , at which the translator portion can construct a hierarchy of related identifiers as the keys are generated.
  • the keys can comprise, for example, a first sub-level identifier and another identifier that is the immediately preceding level identifier to which the first sub-level identifier belongs.
  • Control can proceed to 615 , at which the translator portion 160 can determine if the end of the input information has been reached (for example, end of file). If not, then control can return to 611 to search for the next attribute in the input information selected by the first stylesheet 165 , until keys have been generated for all matching attributes found in the input information.
  • Control can then proceed to 617 , at which the translator portion 160 can select the second stylesheet 165 .
  • the second stylesheet 165 can be retrieved from a memory of the server 101 or using the network 103 .
  • control can then proceed to 619 , at which the translator portion 160 can generate the output information 302 using the identifiers and keys determined at 611 and 613 in accordance with the second stylesheet 165 .
  • the output information 302 can comprise a hash table index 113 .
  • Control can then proceed to 621 , at which the translator portion 160 can store the hash table index 113 in memory manager 109 local memory 112 .
  • Control can then proceed to 623 , at which the database interface portion 170 can retrieve the insertion instruction page 303 from the database 107 .
  • the insertion instruction page 303 can comprise a markup language file such as, for example, a HyperText Markup Language (HTML) page.
  • Control can then proceed to 625 , at which the database interface portion 170 can apply the insertion instruction page 303 to select the insertion mode for adding the input information 301 into the database 107 .
  • Control can proceed to 627 , 629 , or 631 for insertion of the input information 301 into the database 107 in accordance with the insertion instruction page 303 .
  • the database interface portion 170 can format the input information 301 for insertion into the database 107 without using any compression.
  • the database interface portion 170 can format the input information 301 for insertion into the database 107 by performing data compression of the input information 301 as a single document.
  • the input information 301 can be compressed using a compression algorithm such as, for example, the java.util.zip compression utility.
  • the database interface portion 170 can format the input information 301 for insertion into the database 107 by performing data compression of the input information 301 as multiple distinct files. For example, if the input information 301 is received as a single ZIP file, then the database interface portion 170 can unzip the ZIP file and insert individually each compressed file that is included in the ZIP file.
  • Control can then proceed to 633 , at which the database interface portion 170 can store in, or upload to, the database 107 , the input information 301 from 629 or the compressed input information 301 from 631 or 633 as either a single document or file, or as several compressed documents or files.
  • the database retrieval method 700 can commence at 701 .
  • the method can proceed to 703 , at which the client device 102 prepares and sends a database read request to the server 101 .
  • the client device 102 can prepare and send the database read request in response to receiving a request for information from, for example, an application or in response to a user request received via user interface.
  • the client device 102 can submit the database read request comprising a specific identifier to be obtained from the database 107 .
  • the method can then proceed to 705 , at which, at which the information storage & retrieval application (for example, database servlet) can receive the database read request from the client device 102 .
  • the input/output portion 150 can forward the database read request to the database interface portion 170 .
  • the input/output portion 160 can forward the database read request to the database interface portion 170 .
  • Control can then proceed to 707 , at which, upon receiving the database read request, the database interface portion 170 can search the keys in the hash table index 113 , via table look-up or other method, for the identifier contained in the database read request. For example, the database interface portion 170 can perform a table lookup of the keys in the hash table index 113 to determine the key that corresponds to the specific identifier contained in the database read request. Control can then proceed to 709 , at which the database interface portion 170 can determine if the hash table index 113 contains keys matching the specific identifier contained in the database read request.
  • control can proceed to 711 , at which the database interface portion 170 can send (via the input/output portion 150 ) an error message to the client device 102 indicating no matching entry in the database 107 .
  • the error message can comprise an HRTP response indicating request failure.
  • control can then proceed to 713 , at which the database interface portion 170 can form a database request using the sub-level identifier, if received, and top-level identifier located in the hash table index 113 , and then send the database request to the database 107 .
  • Control can then proceed to 715 , at which, upon receiving the database request, the memory manager 109 of the database 107 can determine if the information corresponding to the identifier is contained in local memory 112 at the memory manager 109 . If so, then control can proceed to 717 , at which the memory manager 109 can return the information (for example, XML) associated with the identifier in the database request to the database interface portion 170 , without reading the information from the storage device 111 . Because the local memory 112 has a faster access time latency than the storage device 111 , storing information locally using the memory manager 109 reduces the access time to the client device 102 to obtain the requested information.
  • the memory manager 109 of the database 107 can determine if the information corresponding to the identifier is contained in local memory 112 at the memory manager 109 . If so, then control can proceed to 717 , at which the memory manager 109 can return the information (for example, XML) associated with the identifier in the database request to the database interface portion 1
  • Control can then proceed to 721 , at which, upon receiving the information from the database 107 , the database interface portion 170 can forward the received information to the translator portion 160 and the translator portion 160 can apply a third stylesheet 165 parses the information received from the database to strip out unwanted information prior to presenting or outputting the information to the client device 102 , such that the transformed information returned to the client device 102 is only the information associated with the selected sub-level identifier, and not the remaining information in the document stored in the database. Therefore, only the information needed by the client device 102 is actually transferred to the client device 102 , resulting in more efficient and timely responses to database requests.
  • the translator portion 160 can be configured to perform an XSL translation that results in only pertinent data being obtained.
  • the translator portion 160 can be configured to extract information by identifier and by attributes passed to the database 107 . Values that do not agree with the attributes can be removed. Elements that do not contain the attributes or match can be passed back to the client.
  • control can then proceed to 723 , at which the memory manager 109 also can add the transformed information to the hash table in local memory 112 , for faster access to the information in response to subsequent requests for it.
  • control can then proceed to 725 , at which the memory manager 109 can determine whether or not looping timeframe is met. For example, the memory manager 109 can maintain a counter that is incremented each time information is added to the hash table.
  • control can proceed to 727 , at which the memory manager 109 can determine if the local memory 112 size has exceeded a target threshold size. If the looping timeframe is not set (for example, the number of iterations has not yet been reached), then control can proceed to 731 .
  • control can proceed to 729 , at which the memory manager 109 can remove the oldest information in local memory 112 to provide capacity to store the transformed information and maintain the size of the local memory 112 below the target threshold size.
  • the target threshold is configurable and can be modified by, for example, updating an input parameter specifying the target size threshold contained in a configuration file.
  • Control can then proceed to 731 , at which the input/output portion 150 can send the transformed database information to the client device 102 for further processing such as, for example, display to a user.
  • the transformed information obtained from the database can be output to the client device 102 as an HTTP response.
  • Control can then proceed to 733 , at which the method can end.
  • the system and method can provide, among other things, improved speed and efficiency in indexing and searching of information as well as improved speed of information retrieval from a database, because only the desired data is transferred to the requesting device.
  • Various embodiments can be implemented using hardware and software components including the PC and related peripherals as described herein.
  • the disclosed system may be readily implemented in software using object or object-oriented software development environments that provide portable source code that can be used on a variety of computer platforms.
  • the disclosed system may be implemented partially or fully in hardware using standard logic circuits or a VLSI design.
  • Other hardware or software can be used to implement the systems in accordance with this invention depending on the speed and/or efficiency requirements of the systems, the particular function, and/or a particular software or hardware system, microprocessor, or microcomputer system being utilized.
  • the disclosed methods may be readily implemented in software executed on programmed general-purpose computer, a special purpose computer, a microprocessor, or the like.
  • the systems and methods of this invention can be implemented as program embedded on personal computer such as JavaTM or CGI script, as a resource residing on a server or graphics workstation, as a routine embedded in a dedicated encoding/decoding system, or the like.
  • the system can also be implemented by physically incorporating the system and method into a software and/or hardware system, such as the hardware and software systems of an image processor.

Abstract

A database processing system and method for inserting into a database and retrieving from database documents formatted in accordance with a markup language.

Description

  • The present invention relates generally to data processing, and, more particularly, to database processing for information provided in markup language form.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a system block diagram of a database insertion and retrieval system according to various embodiments;
  • FIG. 2 is a functional block diagram of the information storage and retrieval application according to various embodiments;
  • FIG. 3 is a database insertion functional flow diagram according to various embodiments;
  • FIG. 4 is an illustration of the mapping of attributes contained in input information to identifiers or keys in a hash table index of output information according to various embodiments;
  • FIG. 5 is a database retrieval functional flow diagram according to various embodiments;
  • FIGS. 6A and 6B are a flow chart of a database insertion method according to various embodiments;
  • FIGS. 7A and 7B are a flow chart of a database retrieval method according to various embodiments;
  • FIG. 8 is an example stylesheet defining attributes to be used for keys according to various embodiments;
  • FIGS. 9A and 9B are an example stylesheet used to obtain requested XML according to various embodiments;
  • FIGS. 10A and 10B are an example stylesheet used to obtain requested XML for a particular locale according to various embodiments; and
  • FIGS. 11A and 11B are an example stylesheet used to obtain requested XML for a particular version according to various embodiments.
  • DETAILED DESCRIPTION
  • Embodiments are directed generally to a system and method for inserting document text into a database and for retrieving portions of the document text from that database. In particular, various embodiments can comprise a system and methods for generating one or more keys from selected attributes occurring in input information, and to insert output information comprising the keys into a database.
  • With respect to FIG. 1, there is shown a database insertion and retrieval system 100 according to various embodiments. As shown in FIG. 1, the database insertion and retrieval system 100 can comprise a server 101 provided in communication with one or more client devices 102 using a network 103. In various embodiments, the server 101 can comprise an information storage and retrieval application 105 provided in communication with a database 107. The server 101 can further comprise a communication interface configured to accomplish packet-based communication using the network 103.
  • In various embodiments, the information storage and retrieval application 105 can comprise one or more servlets that includes a sequence of programmed instructions that, when executed by a processor of the server 101, cause the server 101 to be configured to perform database insertion and retrieval functions as described herein.
  • The database 107 can comprise a memory manager 109 and a storage device 111 provided in communication with the memory manager 109. In various embodiments, the database 107 can store and retrieve information or data in response to one or more (Structured Query Language) SQL instructions. The storage device 111 can comprise a hard disk drive configured to store information in accordance with SQL. Further, the memory manager 109 can comprise a database manager that includes a local memory 112. In various embodiments, the memory manager 109 local memory 112 can comprise a hash table index 113 and recently accessed database information from the storage device 111. In various embodiments, the local memory 112 of the memory manager 109 can have a faster access time latency than the storage device 111. For example, the local memory 112 can comprise a Random Access Memory (RAM) and the storage device 111 can comprise a hard disk drive, in which case the local memory 112 can have an access time latency on the order of ten times faster than the storage device 111. In various embodiments, the local memory 112 can comprise a fixed memory size specified by a target threshold size parameter. The memory manager 109 can be configured to remove the oldest information in local memory 112 to provide capacity to store the transformed information and maintain the size of the local memory 112 below the target threshold size. The target threshold size and the frequency of checking whether or not the target threshold size has been exceeded can each be configurable parameters controlled by the user.
  • The client device 102 can comprise a Personal Computer (PC) or workstation including, but not limited to, a desktop PC, laptop PC, tablet PC, Personal Digital Assistant (PDA), cellular terminal or handset, wireless terminal or handset, Internet appliance, or any other such device. In various embodiments, the client device 102 can comprise a communication interface configured to accomplish packet-based communication using the network 103. For example, the client device 102 can include a browser application such as Microsoft® Internet Explorer™ available from Microsoft Corporation of Redmond, Wash., or Mozilla Firefox™ available from the Mozilla Foundation of Mountain View, Calif. In various embodiments, the client device 102 can communicate with the server 101 using the network 103 in accordance with the HyperText Transfer Protocol (HTTP). For example, a user can establish a session with the server 101 by entering the Uniform Resource Locator (URL) associated with the server 101 into an address field of the browser application. In various embodiments, the client device 102 can also comprise a standard set of hardware and software such as, but not limited to, a processor, Read Only Memory (ROM), Random Access Memory (RAM), communication ports, user interface, operating system, application programs, as well as standard peripherals such as, but not limited to, a data entry device such as a keyboard, a pointing and selection device such as a mouse or trackball, and a display. The operating system can be configured to support application programs configured to accept user input via the user interface in the form of interactive pages comprising static and dynamic display data and data entry fields.
  • In various embodiments, the network 103 can comprise a packet-based network configured to transfer packet-based information. For example, the network 103 can comprise an Internet Protocol (IP) based network in which information is transferred in accordance with the Transmission Control Protocol (TCP)/IP standard such as, for example, the Internet. In various embodiments, the network 103 can comprise an intranet, a wireless communication network such as Global System for Mobile Communications (GSM) or Code Division Multiple Access (CDMA), a satellite communication network, or a Local Area Network (LAN) or Wireless LAN based on, for example, the IEEE 802.11 standard. Other variations are possible. For example, the network 103 can also comprise a connection-based network such as, for example, the Public Switched Telephone Network (PSTN).
  • With respect to FIG. 2, there is shown a functional block diagram of the information storage and retrieval application 105 according to various embodiments. As shown in FIG. 2, in various embodiments, the information storage and retrieval application 105 can comprise an input/output portion 150, a translator portion 160, and a database interface portion 170. In various embodiments, input/output portion 150, a translator portion 160, and a database interface portion 170 can comprise one code object. In various alternative embodiments, each of the portions 150, 160 and 170 can comprise multiple objects provided in communication using, for example, interprocess communication techniques.
  • In various embodiments, the input/output portion 150 can comprise a sequence of Java™ instructions that configure the information storage and retrieval application 105 to input and output information in accordance with the HyperText Transfer Protocol (HTTP). Other embodiments are possible. For example, in various alternative embodiments, the information storage and retrieval application 105 can comprise one or more Common Gateway Interface (CGI) scripts.
  • Further, in various embodiments, the translator portion 160 can comprise a markup language translator configured to read input information and translate the input information into output information in accordance with translation instructions. In various embodiments, the input information and output information can be a text stream formatted in accordance with the Extensible Markup Language (XML) markup language. Further, the markup language translator can be configured to perform Extensible Style Language Transformation (XSLT) in accordance with translation instructions specified by one or more Extensible Style Language (XSL) stylesheets 165. The translator portion 160 can accept the input information as an input file or as a document contained in an input file. The translator portion 160 can provide the output information as an output file. The translator portion 160 can thus operate as an XSLT parser configured to translate a first XML document into a second XML document, for example. In various embodiments, the stylesheets 165 can be instantiated at time of application installation. In various embodiments, the stylesheets 165 are maintained in non-volatile storage of the server 101, but are not included in the database 107.
  • In various embodiments, the database interface portion 170 can be configured to communicate with the database 107. For example, the database interface portion 170 can be configured to generate and output to the database 107 an information storage request or an information retrieval request. The information storage and information retrieval requests can be formatted in accordance with the Structured Query Language (SQL). Database requests from the database interface portion 170 can be received by the memory manager 109 of the database 107. In various embodiments, the database interface portion 170 can comprise a Java™ servlet.
  • In operation, in various embodiments, the translator portion 160 can be configured to receive input information and translate the input information, in accordance with translation instructions specified by one or more stylesheets 165, into output information to be stored in the database 107. In particular, the translator portion 160 can be configured to generate a key from an attribute occurring in the input information, the input information being formatted in accordance with a markup language. In various embodiments, the key can be an index key used for retrieving the output information from the database 107. A different key can be associated with each of many different types of attributes. In various embodiments, the attributes in the input information that are used by the translator portion 160 to generate the keys can be defined in one or more stylesheets 165. The stylesheets 165 can be customized to generate keys from a variety of attribute types according to the needs of the user. FIG. 8 is an example stylesheet 165 defining attributes to be used for keys according to various embodiments.
  • Furthermore, stylesheets 165 can be used to specify to the translator portion 160 the manner in which to add the keys to a hash table index. In various embodiments, the hash table index can comprise an internal database index.
  • With respect to FIG. 3, there is shown a database insertion functional flow diagram in accordance with various embodiments. As shown in FIG. 3, the translator portion 160 can receive the input information 301 and apply a first stylesheet 165 to generate keys based on occurrences of the attribute(s) specified in the first stylesheet 165. A key can comprise an identifier that serves to identify the information, such as markup language data or a tag, associated with the corresponding attribute. In various embodiments, the translator portion 160 can be configured to generate one such identifier for every occurrence of the corresponding attribute in the input information 301. Each such generated identifier can be included in the output information 302. Thus, the output information 302 generated by the translator portion 160 can comprise one or more of the identifiers, each of which each identifiers corresponds to an occurrence of the selected attribute(s) in the input information 301, each of which identifiers identifies the information associated with the attribute in the input information 301, and each of which identifiers is added or inserted into the database 107. In various embodiments, the output information 302 can comprise keys in a hash table index. A second stylesheet 165 can be used to specify to the translator portion 160 the manner in which to add the keys to a hash table index. The hash table index can comprise an internal database index.
  • In various embodiments, the database interface portion 170 can be configured to apply an insertion instruction page 303 to select insertion of the output information 302 into the database 107 as either a single document or file, or as several compressed documents or files. The insertion instruction page 303 can comprise a markup language file such as, for example, a HyperText Markup Language (HTML) page. The database interface portion 170 can then upload the input information 301 for insertion into the database 107. In various embodiments, the database interface portion 170 can comprise a Java™ servlet. The input information 301 can comprise XML formatted information. In various embodiments, the input information 301 can be compressed using a compression algorithm such as, for example, the java.util.zip Java™ compression utility of the Java™ 2 Platform Std. Ed. v 1.4.2 available from Sun Microsystems of Santa Clara, Calif. In various alternative embodiments, another ZIP compression algorithm can be used such as, for example, PKZIP available from PKWARE, Inc. of Milwaukee, Wis., or the WinZip™ product available from Microsoft Corporation.
  • Furthermore, in various embodiments, the translator portion 160 can be configured to generate multiple levels of identifiers. Each level of identifiers can be hierarchically related to another one of the levels (for example, the immediately preceding level or the immediately following level). In various embodiments, a top-level identifier can serve to identify an entire input information 301 file such as, for example, an XML file. Multiple sub-level identifiers can be provided, wherein each sub-level identifier serves to identify any XML in the input information 301 that meets the attribute criteria specified in the applicable stylesheet 165. Further, the translator portion 160 can be configured to index all of the identifiers, or keys, by associating each sub-level identifier with its immediately preceding (for example, next highest priority) sub-level identifier, and by associating each sub-level identifier with its top-level identifier.
  • Example input information 301 is set forth in Table 1 below. As shown in Table 1, the input information 301 can comprise an XML file.
  • TABLE 1
    Input Information
    <?xml version=‘1.0’ encoding=‘ISO-8859-1’ ?>
    <task ID=“my.test” type=“merc”>
    <title><cdata>Tests my links</cdata></title>
    <objective><cdata>testing my links</cdata></objective>
    <subtask ID=“my.test.link”>
    <title><cdata>linktest</cdata></title>
    <step>
    </step>
    </subtask>
    <subtask ID=“my.test.run”>
    <title><cdata>run my test</cdata></title>
    <step>
    </step>
    </subtask>
    </task>
  • Upon receiving the input information 301 shown in Table 1, the translator portion 160 can apply the first stylesheet 165 to generate the identifiers. For example, if the stylesheet 165 specifies the “ID” attribute in the input information 301 to be used to generate identifiers, the translator portion 160 can generate one identifier for every occurrence of the “ID” attribute encountered in the input information 301. Each generated identifier is included in the output information 302. Thus, the output information 302 generated by the translator portion 160 can comprise one or more of the identifiers, each of which each identifiers corresponds to an occurrence of the selected attribute(s) in the input information 301, each of which identifiers identifies the information associated with the attribute in the input information 301, and each of which identifiers is added or inserted into the database 107.
  • In various embodiments, the output information 302 can comprise keys in a hash table index. A second stylesheet 165 can be used to specify to the translator portion 160 the manner in which to add the keys to a hash table index. The hash table index can comprise an internal database index. In various embodiments, the hash table index can be stored using the hash table 113 of the memory manager 109.
  • Example output information 302 is set forth in Table 2 below. As shown in Table 2, the output information 302 can comprise an XML file.
  • TABLE 2
    Output Information
    ID = “my.test”, Top-level = “my.test”
    ID = “my.test.link”, Top-level = “my.test”
    ID = “my.test.run”, Top-level = “my.test”
  • With respect to FIG. 4, there is shown an illustrative mapping of attributes contained in the input information 301 to identifiers or keys in the hash table index of the output information 302 for the example input and output information of Tables 1 and 2 in accordance with the database insertion process 300. As shown in FIG.4, the “ID” attribute is specified by the stylesheet 165 for generating database identifiers, or keys. Thus, the translator portion 160 generates multiple levels of identifiers for occurrences of the “ID” attribute in the input information 301. In particular, the “ID” attribute for “my.test” is assigned as the top-level identifier, and the “ID” attributes for “my.test.link” and “my.test.run” are determined to be sub-level identifiers. As shown in FIG. 4, the sub-level identifiers for “my.test.link” and “my.test.run” are associated with the top-level identifier “my.test.” Therefore, the sub-level identifiers for “my.test.link” and “my.test.run” are hierarchically related to the top-level identifier “my.test.” The top-level identifier “my.test” serves to identify the entire input information 301 file, while the sub-level identifiers serve to identify XML in the input information 301 associated with the sub-level identifier. The hierarchically-related top-level identifiers and sub-level identifiers shown in the output information 302 of FIG. 4 can comprise a hash table index 113 useful for retrieving all or a portion of the input information 301 from the database 107. Thus, the input information 301 can be inserted into the database 107 by the database interface portion 170 in accordance with the insertion instruction page 303 as described with respect to FIG. 3, for example, as a compressed file.
  • After insertion into the database 107, the inserted document text, for example, markup language information of the input information 301, can be retrieved from the database 107 using the hash table index (for example, output data 302). With respect to FIG. 5, there is shown a database retrieval flow diagram in accordance with various embodiments. As shown in FIG. 5, upon receiving a database read request from the client device 102, the input/output portion 150 can forward the database read request to the database interface portion 170. In various embodiments, the client device 102 can submit a database read request comprising a specific identifier to be obtained from the database 107. For example, the database read request can comprise the identifier, “ID=‘my.test.link.’” It will be recalled from the previous example, “ID=‘my.test.link’” is a sub-level identifier that is hierarchically related to the top-level identifier ID=“my.test.” An example hash table index is shown in Table 3 below.
  • TABLE 3
    Hash Table Index
    Key 1 ID = “my.test”, Top-level = “my.test”
    Key 2 ID = “my.test.link”, Top-level = “my.test”
    Key 3 ID = “my.test.run”, Top-level = “my.test”
    Key 4 ID = “hello.world”, Top-level = “hello.world”
    Key 5 ID = “justin.time”, Top-level = “justin.time”
    Key 6 ID = “outof.time”, Top-level = “justin.time”
  • Although six keys are shown in Table 3, it is to be understood that any number of keys can be included in the hash table index. The input/output portion 160 can forward the database read request to the database interface portion 170. Upon receiving the database read request, the database interface portion 170 can search the keys in the hash table index 113, via table look-up or other method, for the identifier contained in the database read request. For example, the database interface portion 170 can perform a table lookup of the keys in the hash table index 113 to determine that the second key in Table 3 corresponds to the specific identifier (“my.test.link”) contained in the example database read request. The database interface portion 170 can then form a database request using the sub-level identifier and top-level identifier located in the hash table index 113. The database interface portion 170 can then send the database request to the database 107.
  • In various embodiments, upon receiving the database request, the memory manager 109 of the database 107 can determine if the information corresponding to the identifier is contained in local memory 112 at the memory manager 109. If so, then the memory manager 109 can return the information (for example, XML) associated with the identifier in the database request to the database interface portion 170, without reading the information from the storage device 111. Because the local memory 112 has a faster access time latency than the storage device 111, storing information locally using the memory manager 109 reduces the access time to the client device 102 to obtain the requested information.
  • If the requested information is not contained in memory manager 109 local memory 112, then the memory manager 109 performs a database read operation to obtain the requested information from the storage device 111. The memory manager 109 also can add the information read from the storage device 111 to a hash table contained in local memory 112, for faster access to the information in response to subsequent requests for it. In various embodiments, the information obtained from the database can comprise the entire file or entire amount of information associated with the top-level identifier. For example, for the located key “ID=‘my.test.link’, Top-level=‘my.test’” will result in the database 107 returning the entire file (for example, XML document) associated with the “my.test” top-level identifier.
  • In various embodiments, upon receiving the information from the database 107, the database interface portion 170 can forward the received information to the translator portion 160. The translator portion 160 can apply a third stylesheet 165 parses the information received from the database to strip out unwanted information prior to presenting or outputting the information to the client device 102. For example, for the database access request comprising the sub-level identifier “my.test.link,” the translator portion 160 can remove all but the following information as shown in Table 4:
  • TABLE 4
    Transformed Database Output Information
    <subtask ID=“my.test.link”>
    <title><cdata>linktest</cdata></title>
    <step>
    </step>
    </subtask>
  • In this case, for information flowing from the database to the client device, the information obtained from the database 107 can comprise information input to the translator portion 160, and the transformed information provided to the client device can comprise information output by the translator portion 160. The transformed database output information can then be forwarded to the input/output portion 150 and transferred to the client device 102 for further processing such as, for example, display to a user.
  • Therefore, unlike other databases available for maintaining markup language information, various embodiments comprising a system and method for inserting document text into a database and for retrieving portions of the document text from that database as described herein can provide, among other things, improved speed and efficiency in indexing and searching of information as well as improved speed of information retrieval from a database, because only the desired data is transferred to the requesting device. Further, various embodiments can be implemented using a relatively small number of instructions compared to other systems. While other databases use XPATH mechanisms to extract markup language from a database, various embodiments use unique keys created from attribute names to identify and obtain information from a database. In addition, various embodiments comprising the customized stylesheets allow the user the capability to customize how information is parsed into the database and also how information is displayed to the user.
  • With respect to FIGS. 9A and 9B, there is shown an example third stylesheet 165 used to obtain the requested XML according to various embodiments. In the example shown in FIGS. 9A and 9B, the stylesheet 165 can cause the translator portion 160 to be configured to obtain the top level XML associated with a top-level identifier or subtask level XML associated with a child identifier. In various embodiments, the third stylesheet 165 can be a .xsl file.
  • With respect to FIGS. 10A and 10B, there is shown another example third stylesheet 165 according to various embodiments. In the example shown in FIGS. 10A and 10B, the stylesheet 165 can cause the translator portion 160 to be configured to obtain the XML associated with a particular language based on a chosen locale. For example, if information is stored in the database 107 in three different languages (such as, for example, English, French and German), the stylesheet 165 can cause the translator portion 160 to obtain only the French version, if the user requested the French version and the French version is available. The XML for other locales is removed from the information provided to the requesting client device 102.
  • With respect to FIGS. 11A and 11B, there is shown yet another example third stylesheet 165 according to various embodiments. In the example shown in FIGS. 11A and 11B, the stylesheet 165 can cause the translator portion 160 to be configured to obtain the XML associated with a particular item of equipment or version of equipment. For example, if information is stored in the database 107 for different versions of a document, the stylesheet 165 can cause the translator portion 160 to obtain the latest version.
  • In various embodiments, the stylesheets 165 of FIGS. 10A and 10B, and 11A and 11B, can be applied after the stylesheet 165 of FIGS. 9A and 9B obtains the appropriate XML. In various embodiments, for processing of any stylesheet 165, elements encountered during translation that do not contain the requested attributes, or that do not match, can be returned to the requesting client device 102.
  • With respect to FIGS. 6A and 6B, there is shown a database insertion method 600 according to various embodiments. As shown in FIG. 6A, the database insertion method 600 can commence at 601. The method can proceed to 603, at which the user selects a file for database insertion. The selection can be accomplished, for example, by entering a file identifier such as, for example, a file name, into a data entry field of an interactive page at the client device 102. The interactive page can comprise an HTML page, for example. The user can cause the client device 102 to send the file to the database servlet (for example, the information storage and retrieval application 105) at the server 101 by actuating a button provided on the interactive page. Upon user actuation of the upload command or button, the client device 102 can transfer the file to the servlet, at 605.
  • Control can then proceed to 607, at which the file for database insertion can be received by the input/output portion 150 of the database servlet. Upon recognizing a file for database insertion, the input/output portion 150 can forward the file to the translator portion 160. Control can then proceed to 609, at which, upon receiving the input information (for example, the file for database insertion), the translator portion 160 can select the first stylesheet 165. In various embodiments, the first stylesheet 165 can be retrieved from a memory of the server 101 or using the network 103. Control can then proceed to 611, at which the translator portion 160 can apply the first stylesheet 165 to the received input information to generate a key for each occurrence of one of the attributes to in the input information specified in the first stylesheet 165. In various embodiments, the key can comprise one or more identifiers. Control can then proceed to 613, at which the translator portion can construct a hierarchy of related identifiers as the keys are generated. In various embodiments, the keys can comprise, for example, a first sub-level identifier and another identifier that is the immediately preceding level identifier to which the first sub-level identifier belongs. Control can proceed to 615, at which the translator portion 160 can determine if the end of the input information has been reached (for example, end of file). If not, then control can return to 611 to search for the next attribute in the input information selected by the first stylesheet 165, until keys have been generated for all matching attributes found in the input information.
  • Control can then proceed to 617, at which the translator portion 160 can select the second stylesheet 165. In various embodiments, the second stylesheet 165 can be retrieved from a memory of the server 101 or using the network 103. Referring to FIG. 6B, control can then proceed to 619, at which the translator portion 160 can generate the output information 302 using the identifiers and keys determined at 611 and 613 in accordance with the second stylesheet 165. In various embodiments, the output information 302 can comprise a hash table index 113. Control can then proceed to 621, at which the translator portion 160 can store the hash table index 113 in memory manager 109 local memory 112.
  • Control can then proceed to 623, at which the database interface portion 170 can retrieve the insertion instruction page 303 from the database 107. The insertion instruction page 303 can comprise a markup language file such as, for example, a HyperText Markup Language (HTML) page. Control can then proceed to 625, at which the database interface portion 170 can apply the insertion instruction page 303 to select the insertion mode for adding the input information 301 into the database 107. Control can proceed to 627, 629, or 631 for insertion of the input information 301 into the database 107 in accordance with the insertion instruction page 303. For example, at 627, the database interface portion 170 can format the input information 301 for insertion into the database 107 without using any compression. Alternatively, at 629, the database interface portion 170 can format the input information 301 for insertion into the database 107 by performing data compression of the input information 301 as a single document. In various embodiments, the input information 301 can be compressed using a compression algorithm such as, for example, the java.util.zip compression utility. Alternatively, at 631, the database interface portion 170 can format the input information 301 for insertion into the database 107 by performing data compression of the input information 301 as multiple distinct files. For example, if the input information 301 is received as a single ZIP file, then the database interface portion 170 can unzip the ZIP file and insert individually each compressed file that is included in the ZIP file. In various embodiments, the database insertion portion 170 can be configured to insert the input information 301 into the database 107 using the METHOD=“POST” HTML instruction.
  • Control can then proceed to 633, at which the database interface portion 170 can store in, or upload to, the database 107, the input information 301 from 629 or the compressed input information 301 from 631 or 633 as either a single document or file, or as several compressed documents or files.
  • With respect to FIGS. 7A and 7B, there is shown a database retrieval method 700 according to various embodiments. As shown in FIG. 7A, the database retrieval method 700 can commence at 701. The method can proceed to 703, at which the client device 102 prepares and sends a database read request to the server 101. In various embodiments, the client device 102 can prepare and send the database read request in response to receiving a request for information from, for example, an application or in response to a user request received via user interface. In various embodiments, the client device 102 can submit the database read request comprising a specific identifier to be obtained from the database 107. For example, the database read request can comprise the sub-level identifier, “ID=‘my.test.link,’ or other specific identifier to be obtained from the database 107.
  • The method can then proceed to 705, at which, at which the information storage & retrieval application (for example, database servlet) can receive the database read request from the client device 102. In particular, upon receiving a database read request from the client device 102, the input/output portion 150 can forward the database read request to the database interface portion 170. For example, the database read request can comprise the sub-level identifier, “ID=‘my.test.link.’ The input/output portion 160 can forward the database read request to the database interface portion 170.
  • Control can then proceed to 707, at which, upon receiving the database read request, the database interface portion 170 can search the keys in the hash table index 113, via table look-up or other method, for the identifier contained in the database read request. For example, the database interface portion 170 can perform a table lookup of the keys in the hash table index 113 to determine the key that corresponds to the specific identifier contained in the database read request. Control can then proceed to 709, at which the database interface portion 170 can determine if the hash table index 113 contains keys matching the specific identifier contained in the database read request. If not, control can proceed to 711, at which the database interface portion 170 can send (via the input/output portion 150) an error message to the client device 102 indicating no matching entry in the database 107. In various embodiments, the error message can comprise an HRTP response indicating request failure.
  • If a key is located within the hash table index, then control can then proceed to 713, at which the database interface portion 170 can form a database request using the sub-level identifier, if received, and top-level identifier located in the hash table index 113, and then send the database request to the database 107.
  • Control can then proceed to 715, at which, upon receiving the database request, the memory manager 109 of the database 107 can determine if the information corresponding to the identifier is contained in local memory 112 at the memory manager 109. If so, then control can proceed to 717, at which the memory manager 109 can return the information (for example, XML) associated with the identifier in the database request to the database interface portion 170, without reading the information from the storage device 111. Because the local memory 112 has a faster access time latency than the storage device 111, storing information locally using the memory manager 109 reduces the access time to the client device 102 to obtain the requested information.
  • If the requested information is not contained in memory manager 109 local memory 112, then control can proceed to 719, at which the memory manager 109 performs a database read operation to obtain the requested information from the storage device 111. In various embodiments, the information obtained from the database storage device 111 can comprise the entire file or entire amount of information associated with the top-level identifier. For example, for the located key “ID=‘my.test.link’, Top-level=‘my.test’” will result in the database 107 returning the entire file (for example, XML document) associated with the “my.test” top-level identifier.
  • Control can then proceed to 721, at which, upon receiving the information from the database 107, the database interface portion 170 can forward the received information to the translator portion 160 and the translator portion 160 can apply a third stylesheet 165 parses the information received from the database to strip out unwanted information prior to presenting or outputting the information to the client device 102, such that the transformed information returned to the client device 102 is only the information associated with the selected sub-level identifier, and not the remaining information in the document stored in the database. Therefore, only the information needed by the client device 102 is actually transferred to the client device 102, resulting in more efficient and timely responses to database requests. In various embodiments, the translator portion 160 can be configured to perform an XSL translation that results in only pertinent data being obtained. For example, the translator portion 160 can be configured to extract information by identifier and by attributes passed to the database 107. Values that do not agree with the attributes can be removed. Elements that do not contain the attributes or match can be passed back to the client.
  • Referring to FIG. 7B, control can then proceed to 723, at which the memory manager 109 also can add the transformed information to the hash table in local memory 112, for faster access to the information in response to subsequent requests for it. Upon adding the transformed information to the hash table, control can then proceed to 725, at which the memory manager 109 can determine whether or not looping timeframe is met. For example, the memory manager 109 can maintain a counter that is incremented each time information is added to the hash table. Upon the counter reaching a predetermined number, for example, a parameter specifying the number of iterations or “loops” to occur before setting the looping timeframe to an active state, then control can proceed to 727, at which the memory manager 109 can determine if the local memory 112 size has exceeded a target threshold size. If the looping timeframe is not set (for example, the number of iterations has not yet been reached), then control can proceed to 731.
  • If at 727 the memory determines that the local memory 112 size has exceeded the target threshold size, then control can proceed to 729, at which the memory manager 109 can remove the oldest information in local memory 112 to provide capacity to store the transformed information and maintain the size of the local memory 112 below the target threshold size. In various embodiments, the target threshold is configurable and can be modified by, for example, updating an input parameter specifying the target size threshold contained in a configuration file.
  • Control can then proceed to 731, at which the input/output portion 150 can send the transformed database information to the client device 102 for further processing such as, for example, display to a user. In various embodiments, the transformed information obtained from the database can be output to the client device 102 as an HTTP response. Control can then proceed to 733, at which the method can end.
  • Thus has been disclosed a system and method for inserting document text into a database and for retrieving portions of the document text from that database. The system and method can provide, among other things, improved speed and efficiency in indexing and searching of information as well as improved speed of information retrieval from a database, because only the desired data is transferred to the requesting device.
  • Various embodiments can be implemented using hardware and software components including the PC and related peripherals as described herein. However, it is further apparent to those skilled in the art that the disclosed system may be readily implemented in software using object or object-oriented software development environments that provide portable source code that can be used on a variety of computer platforms. Alternatively, the disclosed system may be implemented partially or fully in hardware using standard logic circuits or a VLSI design. Other hardware or software can be used to implement the systems in accordance with this invention depending on the speed and/or efficiency requirements of the systems, the particular function, and/or a particular software or hardware system, microprocessor, or microcomputer system being utilized. The system and method herein can be readily implemented in hardware and/or software using any known or later developed systems or structures, devices and/or software by those of ordinary skill in the applicable art from the functional description provided herein and with a general basic knowledge of the computer and mark-up language arts.
  • Moreover, the disclosed methods may be readily implemented in software executed on programmed general-purpose computer, a special purpose computer, a microprocessor, or the like. In these instances, the systems and methods of this invention can be implemented as program embedded on personal computer such as Java™ or CGI script, as a resource residing on a server or graphics workstation, as a routine embedded in a dedicated encoding/decoding system, or the like. The system can also be implemented by physically incorporating the system and method into a software and/or hardware system, such as the hardware and software systems of an image processor.
  • While embodiments of the invention have been described above, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the applicable arts. Accordingly, the embodiments of the invention, as set forth above, are intended to be illustrative, and should not be construed as limitations on the scope of the invention. Various changes may be made without departing from the spirit and scope of the invention. Accordingly, the scope of the present invention should be determined not by the embodiments illustrated above, but by the claims appended hereto and their legal equivalents.

Claims (20)

1. A method for processing information from a document using a database, comprising the steps of:
associating a tag with one of a plurality of identifiers;
generating a hash table comprising a plurality of levels, wherein each one of said plurality of levels is hierarchically related to another one of said plurality of levels, and wherein each one of said plurality of levels is associated with one of said plurality of identifiers;
receiving the document comprising text formatted in accordance with a first markup language;
determining each occurrence of one of the plurality of identifiers within the text by searching the text for a text stream that matches the identifier using a stylesheet; and
generating a hash table index comprising at least one key, wherein the at least one key comprises at least one of the plurality of identifiers.
2. The method of claim 1, further comprising:
retrieving the tag associated with one of the plurality of identifiers at one or more of the plurality of levels.
3. The method of claim 2, wherein retrieving the tag further comprises:
retrieving the tag from a local memory of the database if the tag is stored therein; and
retrieving the tag from a hard disk of the database if the tag is not stored in the local memory.
4. The method of claim 1, wherein the tag comprises text formatted in accordance with the first markup language.
5. The method of claim 4, wherein the first markup language is extensible markup language (XML).
6. The method of claim 5, further comprising:
selecting the at least one identifier; and
modifying the stylesheet to use the at least one selected identifier.
7. The method of claim 5, wherein the plurality of levels comprises one or more top levels and at least one sublevel associated with each one of the top levels.
8. The method of claim 7, further comprising:
associating the document with one of the top levels.
9. The method of claim 1, further comprising:
performing data compression on the document text to form a compressed document.
10. The method of claim 9, further comprising:
inserting the document text into the local memory and the hard disk of the database according to an insertion page comprising database insertion instructions provided in accordance with a second markup language.
11. The method of claim 10, further comprising:
determining whether or not the local memory size has exceeded a target threshold size; and
removing, if the target threshold size has been exceeded, the oldest information from the local memory to maintain the local memory size below the target threshold size.
12. A system for processing information using a database, comprising:
an information storage and retrieval application configured to receive markup language information and database requests from a client device and further comprising a translator portion configured to generate a key based on each occurrence of a selected attribute occurring in a file, the selected attribute being specified using a first stylesheet; and
a database coupled to the information storage and retrieval application and further comprising a memory manager.
13. The system of claim 12, wherein the memory manager further comprises:
a local memory including a hash table index and a hash table;
wherein the translator portion is configured to form the key using at least one identifier associated with the selected attribute and to add one or more keys to the hash table index in accordance with a second stylesheet.
14. The system of claim 13, wherein the at least one identifier comprises a top-level identifier and at least one sub-level identifier, and wherein the at least one sub-level identifier and the top-level identifier are hierarchically related.
15. The system of claim 14, wherein the top-level identifier is associated with a document comprising input information, and wherein each of the at least one sub-level identifiers is identified with a portion of the input information.
16. The system of claim 13, wherein the translator portion is further configured to insert input information into the database in accordance with an insertion instruction page, and to transform information received from the database in accordance with a third stylesheet.
17. A computer-readable medium upon which is embodied a sequence of programmable instructions which when executed by a processor cause the processor to perform functions comprising:
receiving a document comprising text formatted in accordance with a first markup language;
associating a tag with one of a plurality of identifiers, wherein the tag comprises document text;
generating a hash table comprising a plurality of levels, wherein each one of said plurality of levels is hierarchically related to another one of said plurality of levels, and wherein each one of said plurality of levels is associated with one of said plurality of identifiers;
determining each occurrence of one of the plurality of identifiers within the text by searching the text for a text stream that matches the identifier using a stylesheet;
generating a hash table index comprising at least one key, wherein the at least one key comprises at least one of the plurality of identifiers;
retrieving the tag associated with one of the plurality of identifiers at one or more of the plurality of levels, further comprising retrieving the tag from a local memory of a database if the tag is stored therein and retrieving the tag from a hard disk of the database if the tag is not stored in the local memory;
associating the document with one of the top levels;
performing data compression on the document text to form compressed document text; and
inserting the compressed document text into the local memory and the hard disk of the database according to an insertion page comprising database insertion instructions provided in accordance with a second markup language.
18. The computer-readable medium of claim 17, wherein the instructions further comprise:
determining whether or not the local memory size has exceeded a target threshold size; and
removing, if the target threshold size has been exceeded, the oldest information from the local memory to maintain the local memory size below the target threshold size.
19. The computer-readable medium of claim 17, wherein the plurality of levels comprises one or more top levels and at least one sublevel associated with each one of the top levels.
20. The computer-readable medium of claim 17, wherein the tag comprises text formatted in accordance with the first markup language, and wherein the first markup language is extensible markup language (XML).
US11/466,478 2004-12-23 2006-08-23 Database insertion and retrieval system and method Abandoned US20080052281A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/466,478 US20080052281A1 (en) 2006-08-23 2006-08-23 Database insertion and retrieval system and method
US11/562,336 US7823062B2 (en) 2004-12-23 2006-11-21 Interactive electronic technical manual system with database insertion and retrieval

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/466,478 US20080052281A1 (en) 2006-08-23 2006-08-23 Database insertion and retrieval system and method

Publications (1)

Publication Number Publication Date
US20080052281A1 true US20080052281A1 (en) 2008-02-28

Family

ID=39197889

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/466,478 Abandoned US20080052281A1 (en) 2004-12-23 2006-08-23 Database insertion and retrieval system and method
US11/562,336 Expired - Fee Related US7823062B2 (en) 2004-12-23 2006-11-21 Interactive electronic technical manual system with database insertion and retrieval

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/562,336 Expired - Fee Related US7823062B2 (en) 2004-12-23 2006-11-21 Interactive electronic technical manual system with database insertion and retrieval

Country Status (1)

Country Link
US (2) US20080052281A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10970615B2 (en) * 2017-07-20 2021-04-06 Laava Id Pty Ltd Systems and methods for generating secure tags

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7584420B2 (en) * 2004-02-12 2009-09-01 Lockheed Martin Corporation Graphical authoring and editing of mark-up language sequences
US9886478B2 (en) * 2005-10-07 2018-02-06 Honeywell International Inc. Aviation field service report natural language processing
US8285407B2 (en) * 2007-10-25 2012-10-09 The Boeing Company Method and apparatus for composite part data extraction
US8442804B2 (en) * 2007-10-25 2013-05-14 The Boeing Company Method and apparatus for composite part data extraction
US8321180B2 (en) * 2007-10-25 2012-11-27 The Boeing Company Method and apparatus for composite part data extraction
US8184953B1 (en) * 2008-02-22 2012-05-22 Google Inc. Selection of hash lookup keys for efficient retrieval
US8019863B2 (en) 2008-03-28 2011-09-13 Ianywhere Solutions, Inc. Synchronizing events between mobile devices and servers
US8370741B2 (en) 2008-08-25 2013-02-05 The Boeing Company Hybrid interactive electronic technical manual
US20100315329A1 (en) * 2009-06-12 2010-12-16 Southwest Research Institute Wearable workspace
US8620627B2 (en) 2009-10-13 2013-12-31 The Boeing Company Composite information display for a part
US20110093619A1 (en) * 2009-10-16 2011-04-21 Ianywhere Solutions, Inc. Synchronizing Tasks between Mobile Devices and Servers
US9522512B2 (en) 2010-08-17 2016-12-20 The Boeing Company Methods for making composite structures having composite-to-metal joints
US8652606B2 (en) 2010-08-17 2014-02-18 The Boeing Company Composite structures having composite-to-metal joints and method for making the same
US8993084B2 (en) 2010-08-17 2015-03-31 The Boeing Company Multi-layer metallic structure and composite-to-metal joint methods
US9207666B2 (en) * 2010-08-31 2015-12-08 Fisher-Rosemount Systems, Inc. Methods and apparatus to display localized process control objects
US20120265902A1 (en) * 2011-04-18 2012-10-18 VectorCsp, LLC Method and system for providing prevalidated secure product maintenance, repair and training information to a field technician
GB2492328A (en) * 2011-06-24 2013-01-02 Ge Aviat Systems Ltd Updating troubleshooting procedures for aircraft maintenance
US20130014012A1 (en) * 2011-07-06 2013-01-10 Honeywell International Inc. Interactive electronic technical manual system and method
US8744838B2 (en) 2012-01-31 2014-06-03 Xerox Corporation System and method for contextualizing device operating procedures
US9178771B2 (en) * 2012-08-23 2015-11-03 Hewlett-Packard Development Company, L.P. Determining the type of a network tier
US10635856B2 (en) 2013-06-28 2020-04-28 Honeywell International Inc. Cross tab editor with reverse editing capability
US9154725B1 (en) 2014-01-22 2015-10-06 Eveyln D. Perez Assembly instruction and warranty storage device
JP6285733B2 (en) * 2014-01-31 2018-02-28 キヤノン株式会社 Information processing apparatus, control method for information processing apparatus, and program
US9715658B2 (en) * 2014-02-28 2017-07-25 Honeywell International Inc. Methods for producing customer configurable technical manuals
US9467583B2 (en) 2014-04-24 2016-10-11 Xerox Corporation System and method for semi-automatic generation of operating procedures from recorded troubleshooting sessions
US10713699B1 (en) * 2014-11-14 2020-07-14 Andersen Corporation Generation of guide materials
US10489232B1 (en) * 2015-09-29 2019-11-26 Amazon Technologies, Inc. Data center diagnostic information
US10229220B2 (en) 2016-05-09 2019-03-12 Coupa Software Incorporated Automatic entry of suggested translated terms in an online application program
US10318644B1 (en) * 2017-07-26 2019-06-11 Coupa Software Incorporated Dynamic update of translations for electronic resources
JP6542445B1 (en) 2018-07-31 2019-07-10 株式会社 情報システムエンジニアリング Information providing system and information providing method
JP6651189B1 (en) 2019-03-29 2020-02-19 株式会社 情報システムエンジニアリング Data structure, learning method and information providing system for machine learning
JP6607589B1 (en) 2019-03-29 2019-11-20 株式会社 情報システムエンジニアリング Information providing system and information providing method
JP6607590B1 (en) 2019-03-29 2019-11-20 株式会社 情報システムエンジニアリング Information providing system and information providing method
US11806948B2 (en) 2019-12-12 2023-11-07 The Boeing Company Method of forming flyaway stringer end caps
US11718047B2 (en) 2019-12-12 2023-08-08 The Boeing Company Flyaway stringer end caps
US20220091707A1 (en) 2020-09-21 2022-03-24 MBTE Holdings Sweden AB Providing enhanced functionality in an interactive electronic technical manual
US20220261530A1 (en) 2021-02-18 2022-08-18 MBTE Holdings Sweden AB Providing enhanced functionality in an interactive electronic technical manual
US11947906B2 (en) 2021-05-19 2024-04-02 MBTE Holdings Sweden AB Providing enhanced functionality in an interactive electronic technical manual

Citations (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4371952A (en) * 1981-05-06 1983-02-01 Ncr Corporation Diagnostic circuitry for isolating a faulty subsystem in a data processing system
US4412281A (en) * 1980-07-11 1983-10-25 Raytheon Company Distributed signal processing system
US4570261A (en) * 1983-12-09 1986-02-11 Motorola, Inc. Distributed fault isolation and recovery system and method
US4634110A (en) * 1983-07-28 1987-01-06 Harris Corporation Fault detection and redundancy management system
US5157667A (en) * 1990-04-30 1992-10-20 International Business Machines Corporation Methods and apparatus for performing fault isolation and failure analysis in link-connected systems
US5223788A (en) * 1991-09-12 1993-06-29 Grumman Aerospace Corporation Functional avionic core tester
US5293323A (en) * 1991-10-24 1994-03-08 General Electric Company Method for fault diagnosis by assessment of confidence measure
US5408218A (en) * 1993-03-19 1995-04-18 Telefonaktiebolaget L M Ericsson Model based alarm coordination
US5600791A (en) * 1992-09-30 1997-02-04 International Business Machines Corporation Distributed device status in a clustered system environment
US5649094A (en) * 1991-09-09 1997-07-15 Sony Corporation Self-service diagnostic unit for plural functional devices
US5712972A (en) * 1995-06-07 1998-01-27 Sony Corporation Identification of faults in data paths and functional units of a central processing unit by a systematic execution of test instructions
US5805793A (en) * 1996-10-18 1998-09-08 Mcdonnell Douglas Corporation Stand-alone test device for testing command-response remote terminals
US5931877A (en) * 1996-05-30 1999-08-03 Raytheon Company Advanced maintenance system for aircraft and military weapons
US5937366A (en) * 1997-04-07 1999-08-10 Northrop Grumman Corporation Smart B-I-T (Built-In-Test)
US6038233A (en) * 1996-07-04 2000-03-14 Hitachi, Ltd. Translator for IP networks, network system using the translator, and IP network coupling method therefor
US6118784A (en) * 1996-11-01 2000-09-12 Hitachi, Ltd. Communicating method between IPv4 terminal and IPv6 terminal and IPv4-IPv6 converting apparatus
US6122575A (en) * 1999-06-30 2000-09-19 Hamilton Sundstrand Corporation APU troubleshooting system
US6125312A (en) * 1997-07-11 2000-09-26 Pratt & Whitney Canada Corp. Maintenance and warranty control system for aircraft
US6219626B1 (en) * 1998-09-08 2001-04-17 Lockheed Corp Automated diagnostic system
US6226675B1 (en) * 1998-10-16 2001-05-01 Commerce One, Inc. Participant server which process documents for commerce in trading partner networks
US6240526B1 (en) * 1996-05-16 2001-05-29 Resilience Corporation Triple modular redundant computer system
US6240407B1 (en) * 1998-04-29 2001-05-29 International Business Machines Corp. Method and apparatus for creating an index in a database system
US20020004804A1 (en) * 2000-03-24 2002-01-10 Georg Muenzel Industrial automation system graphical programming language storage and transmission
US6341358B1 (en) * 1998-09-14 2002-01-22 Compaq Computer Corporation Integrity tester for parallel signal bus
US20020065822A1 (en) * 2000-11-24 2002-05-30 Noriko Itani Structured document compressing apparatus and method, record medium in which a structured document compressing program is stored, structured document decompressing apparatus and method, record medium in which a structured document decompressing program is stored, and structured document processing system
US20020085020A1 (en) * 2000-09-14 2002-07-04 Carroll Thomas J. XML-based graphical user interface application development toolkit
US20020087236A1 (en) * 2000-12-28 2002-07-04 Moccio John A. Strategy based diagnostic system
US6421656B1 (en) * 1998-10-08 2002-07-16 International Business Machines Corporation Method and apparatus for creating structure indexes for a data base extender
US20020116371A1 (en) * 1999-12-06 2002-08-22 David Dodds System and method for the storage, indexing and retrieval of XML documents using relation databases
US20030004998A1 (en) * 2001-06-29 2003-01-02 Chutney Technologies, Inc. Proxy-based acceleration of dynamically generated content
US20030009710A1 (en) * 2001-05-10 2003-01-09 Charles Grant System and method for performing diagnostics using a portable device
US6510434B1 (en) * 1999-12-29 2003-01-21 Bellsouth Intellectual Property Corporation System and method for retrieving information from a database using an index of XML tags and metafiles
US20030018661A1 (en) * 2001-07-19 2003-01-23 Darugar Parand Tony XML smart mapping system and method
US20030025732A1 (en) * 2001-07-31 2003-02-06 Prichard Scot D. Method and apparatus for providing customizable graphical user interface and screen layout
US20030028858A1 (en) * 2000-06-23 2003-02-06 Hines Kenneth J. Evolution diagrams for debugging distributed embedded software applications
US20030037238A1 (en) * 2001-08-16 2003-02-20 Warner Gregory Rade Paperless records in aircraft maintenance
US6529620B2 (en) * 2000-09-11 2003-03-04 Pinotage, L.L.C. System and method for obtaining and utilizing maintenance information
US20030048804A1 (en) * 2001-09-11 2003-03-13 Hitachi, Ltd. Address translation method
US20030055945A1 (en) * 2001-05-08 2003-03-20 Narad Networks, Inc. Language and interface for unified network service creation, provision and deployment
US6539337B1 (en) * 2000-06-15 2003-03-25 Innovative Technology Licensing, Llc Embedded diagnostic system and method
US20030074636A1 (en) * 2001-10-15 2003-04-17 Ensoftek, Inc. Enabling easy generation of XML documents from XML specifications
US6556986B2 (en) * 1997-02-26 2003-04-29 Hitachi, Ltd. Database management method of invoking a function retrieving index type definition, cataloging particular index which has not yet been supported by a database system
US20030083794A1 (en) * 2001-10-27 2003-05-01 Juergen Halm System and method for diagnosing aircraft components for maintenance purposes
US6567079B1 (en) * 1995-03-06 2003-05-20 Carnegie Mellon University Portable computer system with ergonomic input device
US6567405B1 (en) * 1998-03-05 2003-05-20 3Com Corporation Method and protocol for distributed network address translation
US6572376B1 (en) * 2000-11-22 2003-06-03 Lockheed Martin Corporation Avionics maintenance training device
US6574537B2 (en) * 2001-02-05 2003-06-03 The Boeing Company Diagnostic system and method
US20030110292A1 (en) * 2001-12-07 2003-06-12 Yukiko Takeda Address translator, message processing method and euipment
US20030110192A1 (en) * 2000-01-07 2003-06-12 Luis Valente PDstudio design system and method
US20030109973A1 (en) * 2001-07-17 2003-06-12 Bernard Hensey Electronic operations and maintenance log and system for an aircraft
US6580717B1 (en) * 1996-07-04 2003-06-17 Hitachi, Ltd. Packet communication method and apparatus and a recording medium storing a packet communication program
US20030120686A1 (en) * 2001-12-21 2003-06-26 Xmlcities, Inc. Extensible stylesheet designs using meta-tag and/or associated meta-tag information
US20030126136A1 (en) * 2001-06-22 2003-07-03 Nosa Omoigui System and method for knowledge retrieval, management, delivery and presentation
US20030126129A1 (en) * 2001-10-31 2003-07-03 Mike Watson Systems and methods for generating interactive electronic reference materials
US20030135825A1 (en) * 2001-12-05 2003-07-17 Matthew Gertner Dynamically generated mark-up based graphical user interfaced with an extensible application framework with links to enterprise resources
US20030149934A1 (en) * 2000-05-11 2003-08-07 Worden Robert Peel Computer program connecting the structure of a xml document to its underlying meaning
US20030149790A1 (en) * 2002-01-08 2003-08-07 Samsung Electronics Co., Ltd. Apparatus for converting internet protocol address, and communication method using the same
US20030146937A1 (en) * 2001-09-11 2003-08-07 Lee Seung Woo Multi-level data management system
US6625618B1 (en) * 2000-12-15 2003-09-23 Tsunehiko Arai Maintenance manual interface system and medium containing a computer program product thereof
US6675324B2 (en) * 1999-09-27 2004-01-06 Intel Corporation Rendezvous of processors with OS coordination
US20040020994A1 (en) * 2002-07-31 2004-02-05 Gordon Muehl Component tagging with maintenance related information in open and closed formats
US20040024501A1 (en) * 2002-07-31 2004-02-05 Gordon Muehl Component tagging with maintenance related information including maintenance procedures
US20040034456A1 (en) * 2002-08-16 2004-02-19 Felke Timothy J. Method and apparatus for improving fault isolation
US6697718B2 (en) * 2001-02-26 2004-02-24 Airbus France Device for monitoring a plurality of systems of an aircraft, in particular of a transport aircraft
US20040039499A1 (en) * 2002-08-26 2004-02-26 Felke Timothy J. Relational database for maintenance information for complex systems
US6701457B2 (en) * 2001-01-30 2004-03-02 Rockwell Collins Partitioned avionics computer and a method and system for debugging
US20040060007A1 (en) * 2002-06-19 2004-03-25 Georg Gottlob Efficient processing of XPath queries
US6721727B2 (en) * 1999-12-02 2004-04-13 International Business Machines Corporation XML documents stored as column data
US6725137B2 (en) * 2002-04-03 2004-04-20 Honeywell International Inc. Method and apparatus using historical data to associate deferral procedures and fault models
US20040078123A1 (en) * 2002-10-17 2004-04-22 Igloi Tamas M. Aircraft avionics maintenance diagnostics data download transmission system
US6732109B2 (en) * 2001-01-31 2004-05-04 The Eon Company Method and system for transferring information between a user interface and a database over a global information network
US6738929B2 (en) * 2000-03-02 2004-05-18 Texas Instruments Incorporated Dynamically configurable debug port for concurrent support of debug functions from multiple data processing cores
US20040098311A1 (en) * 2002-11-15 2004-05-20 Rajan Nair XML message monitor for managing business processes
US20040128617A1 (en) * 2002-12-27 2004-07-01 Keum-Yong Oh Transmission method for XML-based EPG for a user-preference program guide and reception device
US20040143599A1 (en) * 2003-01-22 2004-07-22 International Business Machines Corporation System and method for command line administration of project spaces using XML objects
US6772369B2 (en) * 2001-04-09 2004-08-03 Sun Microsystems, Inc. System observation bus
US20040153448A1 (en) * 2003-01-31 2004-08-05 International Business Machines Corporation System and method for transforming queries using window aggregation
US6782380B1 (en) * 2000-04-14 2004-08-24 David Victor Thede Method and system for indexing and searching contents of extensible mark-up language (XML) documents
US20040172597A1 (en) * 2003-02-21 2004-09-02 Alcatel Method and apparatus for a zero development web-based graphical user interface
US20040177321A1 (en) * 2003-03-03 2004-09-09 International Business Machines Corporation Meta editor for structured documents
US20040183831A1 (en) * 2003-02-27 2004-09-23 Ritchy Robert A. Systems and methods for improved portal development
US20040193962A1 (en) * 2003-03-28 2004-09-30 Johnson Tyler James Bus interface module
US20050004892A1 (en) * 2003-06-23 2005-01-06 Brundage Michael L. Query optimizer system and method
US20050021548A1 (en) * 2003-07-24 2005-01-27 Bohannon Philip L. Method and apparatus for composing XSL transformations with XML publishing views
US20050027480A1 (en) * 2003-07-28 2005-02-03 Liu Qiao Model-based intelligent diagnostic agent
US20050055336A1 (en) * 2003-09-05 2005-03-10 Hui Joshua Wai-Ho Providing XML cursor support on an XML repository built on top of a relational database system
US20050060317A1 (en) * 2003-09-12 2005-03-17 Lott Christopher Martin Method and system for the specification of interface definitions and business rules and automatic generation of message validation and transformation software
US20050132282A1 (en) * 2003-12-15 2005-06-16 Microsoft Corporation Mapper compiler
US20050138544A1 (en) * 2003-12-22 2005-06-23 Inmedius, Inc. Viewing system that supports multiple electronic document types
US20050165724A1 (en) * 2003-07-11 2005-07-28 Computer Associates Think, Inc. System and method for using an XML file to control XML to entity/relationship transformation
US20050183007A1 (en) * 2004-02-12 2005-08-18 Lockheed Martin Corporation Graphical authoring and editing of mark-up language sequences
US20050182650A1 (en) * 2003-06-18 2005-08-18 Xybernaut Corporation Maintenance and inspection system
US20050193275A1 (en) * 2002-08-01 2005-09-01 Teradyne, Inc. Method for digital bus testing
US20060085692A1 (en) * 2004-10-06 2006-04-20 Lockheed Martin Corp. Bus fault detection and isolation
US20060085465A1 (en) * 2004-10-15 2006-04-20 Oracle International Corporation Method(s) for updating database object metadata
US20060120181A1 (en) * 2004-10-05 2006-06-08 Lockheed Martin Corp. Fault detection and isolation with analysis of built-in-test results
US20060218512A1 (en) * 2003-01-29 2006-09-28 University Court Of The University Of Edinburgh System and method for rapid prototyping of asic systems
US7174286B2 (en) * 2001-07-26 2007-02-06 Irise Systems and methods for defining a simulated interactive web page

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5455921A (en) 1986-12-19 1995-10-03 The Boeing Company Redundant MIL-STD-1153B modem
US5479610A (en) 1993-11-01 1995-12-26 Northrop Grumman Corporation System interface fault isolator test set
FR2725093B1 (en) * 1994-09-23 1996-12-27 Cit Alcatel TIME-TO-MULTI-POINT POINT-TO-MULTI-POINT TRANSMISSION NETWORK
US5978841A (en) 1996-03-08 1999-11-02 Berger; Louis Look ahead caching process for improved information retrieval response time by caching bodies of information before they are requested by the user
US7385989B2 (en) 1996-07-04 2008-06-10 Hitachi, Ltd. Packet communication method and apparatus and a recording medium storing a packet communication program
US7088726B1 (en) 1996-07-04 2006-08-08 Hitachi, Ltd. Translator for IP networks, network system using the translator, and IP network coupling method therefor
US6690669B1 (en) 1996-11-01 2004-02-10 Hitachi, Ltd. Communicating method between IPv4 terminal and IPv6 terminal and IPv4-IPv6 converting apparatus
US6092219A (en) 1997-12-03 2000-07-18 Micron Technology, Inc. Method for use of bus parking states to communicate diagnostic information
US8006177B1 (en) 1998-10-16 2011-08-23 Open Invention Network, Llc Documents for commerce in trading partner networks and interface definitions based on the documents
JP3017217B1 (en) 1999-03-02 2000-03-06 中国日本電気ソフトウェア株式会社 IPv4-IPv6 conversion device
US6463440B1 (en) 1999-04-08 2002-10-08 International Business Machines Corporation Retrieval of style sheets from directories based upon partial characteristic matching
GB9911890D0 (en) 1999-05-22 1999-07-21 Lucas Ind Plc Method and apparatus for detecting a fault condition in a computer processor
US6476828B1 (en) 1999-05-28 2002-11-05 International Business Machines Corporation Systems, methods and computer program products for building and displaying dynamic graphical user interfaces
US6961897B1 (en) 1999-06-14 2005-11-01 Lockheed Martin Corporation System and method for interactive electronic media extraction for web page generation
US6806890B2 (en) 1999-08-17 2004-10-19 International Business Machines Corporation Generating a graphical user interface from a command syntax for managing multiple computer systems as one computer system
US6959235B1 (en) 1999-10-28 2005-10-25 General Electric Company Diagnosis and repair system and method
US6317659B1 (en) 1999-12-09 2001-11-13 Honeywell International Inc. Layered subsystem architecture for a flight management system
US6487479B1 (en) 2000-01-07 2002-11-26 General Electric Co. Methods and systems for aviation component repair services
US20010040895A1 (en) 2000-03-16 2001-11-15 Templin Fred Lambert An IPv6-IPv4 compatibility aggregatable global unicast address format for incremental deployment of IPv6 nodes within IPv4
JP3635223B2 (en) 2000-03-29 2005-04-06 松下電器産業株式会社 IPv4-IPv6 address replacement method and IPv4-IPv6 communication method
JP4347497B2 (en) 2000-04-03 2009-10-21 株式会社日立製作所 Communication control apparatus and packet conversion method
JP4365998B2 (en) 2000-07-21 2009-11-18 株式会社日立製作所 Multicast communication method and communication apparatus
US6665811B1 (en) 2000-08-24 2003-12-16 Hewlett-Packard Development Company, L.P. Method and apparatus for checking communicative connectivity between processor units of a distributed system
US20030215128A1 (en) 2001-09-12 2003-11-20 Pinotage Llc System and method for obtaining and utilizing maintenance information
US20020069217A1 (en) 2000-12-04 2002-06-06 Hua Chen Automatic, multi-stage rich-media content creation using a framework based digital workflow - systems, methods and program products
US20020147726A1 (en) 2001-01-09 2002-10-10 Partnercommunity, Inc. Creating, distributing and enforcing relational and business rules at front-end application
US7299202B2 (en) 2001-02-07 2007-11-20 Exalt Solutions, Inc. Intelligent multimedia e-catalog
US6804677B2 (en) 2001-02-26 2004-10-12 Ori Software Development Ltd. Encoding semi-structured data for efficient search and browsing
US20020174387A1 (en) 2001-03-29 2002-11-21 Vance Lohoff Stealth module for bus data analyzer
US7703009B2 (en) 2001-04-09 2010-04-20 Huang Evan S Extensible stylesheet designs using meta-tag information
JP4075318B2 (en) 2001-04-18 2008-04-16 株式会社日立製作所 Protocol conversion method and address conversion server
JP2003002298A (en) 2001-06-22 2003-01-08 Nec Aerospace Syst Ltd Aircraft maintenance information support system
US6789007B2 (en) 2001-06-25 2004-09-07 The Boeing Company Integrated onboard maintenance documentation with a central maintenance system
US20040205609A1 (en) 2001-06-28 2004-10-14 Milton John R. System and method for generating and formatting a publication
CA2354443A1 (en) 2001-07-31 2003-01-31 Ibm Canada Limited-Ibm Canada Limitee Method and system for visually constructing xml schemas using an object-oriented model
US7428695B2 (en) * 2001-10-22 2008-09-23 Hewlett-Packard Development Company, L.P. System for automatic generation of arbitrarily indexed hyperlinked text
EP1459175A4 (en) 2001-11-28 2008-10-22 Ibm Method and apparatus for creating software objects
KR100423500B1 (en) 2002-01-29 2004-03-18 삼성전자주식회사 Converting Apparatus for converting internet protocol address and Home network system using thereof
US7191395B2 (en) 2002-03-12 2007-03-13 International Business Machines Corporation Method and system for stylesheet-centric editing
JP2003289340A (en) 2002-03-27 2003-10-10 Toshiba Corp Identifier inquiry method, communication terminal and network system
JP3876741B2 (en) 2002-03-27 2007-02-07 株式会社日立製作所 Protocol conversion method and apparatus
US6941521B2 (en) 2002-03-29 2005-09-06 Intel Corporation Method for dynamically generating a user interface from XML-based documents
US6691007B2 (en) 2002-04-04 2004-02-10 The Boeing Company Vehicle condition monitoring system
US6662089B2 (en) 2002-04-12 2003-12-09 Honeywell International Inc. Method and apparatus for improving fault classifications
US6876950B2 (en) 2002-04-26 2005-04-05 The Boeing Company System and method for damage evaluation
US7496599B2 (en) 2002-04-30 2009-02-24 Microsoft Corporation System and method for viewing relational data using a hierarchical schema
US7457810B2 (en) 2002-05-10 2008-11-25 International Business Machines Corporation Querying markup language data sources using a relational query processor
US7143344B2 (en) 2002-06-12 2006-11-28 Microsoft Corporation Transformation stylesheet editor
US6973596B2 (en) 2002-08-15 2005-12-06 International Business Machines Corporation Testing of termination circuits in SCSI bus controllers
US7392239B2 (en) 2003-04-14 2008-06-24 International Business Machines Corporation System and method for querying XML streams
US20040216003A1 (en) 2003-04-28 2004-10-28 International Business Machines Corporation Mechanism for FRU fault isolation in distributed nodal environment
US20040268306A1 (en) 2003-06-30 2004-12-30 Cheng Ken Prayoon Methods, systems and computer program products for language independent data communication and display
US7197515B2 (en) 2003-06-30 2007-03-27 Microsoft Corporation Declarative solution definition
US7287217B2 (en) 2004-01-13 2007-10-23 International Business Machines Corporation Method and apparatus for processing markup language information
US7801702B2 (en) 2004-02-12 2010-09-21 Lockheed Martin Corporation Enhanced diagnostic fault detection and isolation
US20050223288A1 (en) 2004-02-12 2005-10-06 Lockheed Martin Corporation Diagnostic fault detection and isolation
US20050240555A1 (en) 2004-02-12 2005-10-27 Lockheed Martin Corporation Interactive electronic technical manual system integrated with the system under test
US7676285B2 (en) 2004-04-22 2010-03-09 General Electric Company Method for monitoring driven machinery
US7203879B2 (en) 2004-06-22 2007-04-10 Northrop Grumman Corporation Built-in-test diagnostic and maintenance support system and process
US20070124265A1 (en) * 2005-11-29 2007-05-31 Honeywell International Inc. Complex system diagnostics from electronic manuals

Patent Citations (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4412281A (en) * 1980-07-11 1983-10-25 Raytheon Company Distributed signal processing system
US4371952A (en) * 1981-05-06 1983-02-01 Ncr Corporation Diagnostic circuitry for isolating a faulty subsystem in a data processing system
US4634110A (en) * 1983-07-28 1987-01-06 Harris Corporation Fault detection and redundancy management system
US4570261A (en) * 1983-12-09 1986-02-11 Motorola, Inc. Distributed fault isolation and recovery system and method
US5157667A (en) * 1990-04-30 1992-10-20 International Business Machines Corporation Methods and apparatus for performing fault isolation and failure analysis in link-connected systems
US5649094A (en) * 1991-09-09 1997-07-15 Sony Corporation Self-service diagnostic unit for plural functional devices
US5223788A (en) * 1991-09-12 1993-06-29 Grumman Aerospace Corporation Functional avionic core tester
US5293323A (en) * 1991-10-24 1994-03-08 General Electric Company Method for fault diagnosis by assessment of confidence measure
US5748883A (en) * 1992-09-30 1998-05-05 International Business Machines Corporation Distributed device status in a clustered system environment
US5600791A (en) * 1992-09-30 1997-02-04 International Business Machines Corporation Distributed device status in a clustered system environment
US5408218A (en) * 1993-03-19 1995-04-18 Telefonaktiebolaget L M Ericsson Model based alarm coordination
US6567079B1 (en) * 1995-03-06 2003-05-20 Carnegie Mellon University Portable computer system with ergonomic input device
US5712972A (en) * 1995-06-07 1998-01-27 Sony Corporation Identification of faults in data paths and functional units of a central processing unit by a systematic execution of test instructions
US6240526B1 (en) * 1996-05-16 2001-05-29 Resilience Corporation Triple modular redundant computer system
US5931877A (en) * 1996-05-30 1999-08-03 Raytheon Company Advanced maintenance system for aircraft and military weapons
US6038233A (en) * 1996-07-04 2000-03-14 Hitachi, Ltd. Translator for IP networks, network system using the translator, and IP network coupling method therefor
US6580717B1 (en) * 1996-07-04 2003-06-17 Hitachi, Ltd. Packet communication method and apparatus and a recording medium storing a packet communication program
US5805793A (en) * 1996-10-18 1998-09-08 Mcdonnell Douglas Corporation Stand-alone test device for testing command-response remote terminals
US6118784A (en) * 1996-11-01 2000-09-12 Hitachi, Ltd. Communicating method between IPv4 terminal and IPv6 terminal and IPv4-IPv6 converting apparatus
US6556986B2 (en) * 1997-02-26 2003-04-29 Hitachi, Ltd. Database management method of invoking a function retrieving index type definition, cataloging particular index which has not yet been supported by a database system
US5937366A (en) * 1997-04-07 1999-08-10 Northrop Grumman Corporation Smart B-I-T (Built-In-Test)
US6125312A (en) * 1997-07-11 2000-09-26 Pratt & Whitney Canada Corp. Maintenance and warranty control system for aircraft
US6567405B1 (en) * 1998-03-05 2003-05-20 3Com Corporation Method and protocol for distributed network address translation
US6240407B1 (en) * 1998-04-29 2001-05-29 International Business Machines Corp. Method and apparatus for creating an index in a database system
US6219626B1 (en) * 1998-09-08 2001-04-17 Lockheed Corp Automated diagnostic system
US6341358B1 (en) * 1998-09-14 2002-01-22 Compaq Computer Corporation Integrity tester for parallel signal bus
US6421656B1 (en) * 1998-10-08 2002-07-16 International Business Machines Corporation Method and apparatus for creating structure indexes for a data base extender
US6226675B1 (en) * 1998-10-16 2001-05-01 Commerce One, Inc. Participant server which process documents for commerce in trading partner networks
US6122575A (en) * 1999-06-30 2000-09-19 Hamilton Sundstrand Corporation APU troubleshooting system
US6675324B2 (en) * 1999-09-27 2004-01-06 Intel Corporation Rendezvous of processors with OS coordination
US6721727B2 (en) * 1999-12-02 2004-04-13 International Business Machines Corporation XML documents stored as column data
US20020116371A1 (en) * 1999-12-06 2002-08-22 David Dodds System and method for the storage, indexing and retrieval of XML documents using relation databases
US6510434B1 (en) * 1999-12-29 2003-01-21 Bellsouth Intellectual Property Corporation System and method for retrieving information from a database using an index of XML tags and metafiles
US20030110192A1 (en) * 2000-01-07 2003-06-12 Luis Valente PDstudio design system and method
US6738929B2 (en) * 2000-03-02 2004-05-18 Texas Instruments Incorporated Dynamically configurable debug port for concurrent support of debug functions from multiple data processing cores
US20020004804A1 (en) * 2000-03-24 2002-01-10 Georg Muenzel Industrial automation system graphical programming language storage and transmission
US6782380B1 (en) * 2000-04-14 2004-08-24 David Victor Thede Method and system for indexing and searching contents of extensible mark-up language (XML) documents
US20030149934A1 (en) * 2000-05-11 2003-08-07 Worden Robert Peel Computer program connecting the structure of a xml document to its underlying meaning
US6539337B1 (en) * 2000-06-15 2003-03-25 Innovative Technology Licensing, Llc Embedded diagnostic system and method
US20030028858A1 (en) * 2000-06-23 2003-02-06 Hines Kenneth J. Evolution diagrams for debugging distributed embedded software applications
US6529620B2 (en) * 2000-09-11 2003-03-04 Pinotage, L.L.C. System and method for obtaining and utilizing maintenance information
US20020085020A1 (en) * 2000-09-14 2002-07-04 Carroll Thomas J. XML-based graphical user interface application development toolkit
US6572376B1 (en) * 2000-11-22 2003-06-03 Lockheed Martin Corporation Avionics maintenance training device
US20020065822A1 (en) * 2000-11-24 2002-05-30 Noriko Itani Structured document compressing apparatus and method, record medium in which a structured document compressing program is stored, structured document decompressing apparatus and method, record medium in which a structured document decompressing program is stored, and structured document processing system
US6625618B1 (en) * 2000-12-15 2003-09-23 Tsunehiko Arai Maintenance manual interface system and medium containing a computer program product thereof
US20020087236A1 (en) * 2000-12-28 2002-07-04 Moccio John A. Strategy based diagnostic system
US6701457B2 (en) * 2001-01-30 2004-03-02 Rockwell Collins Partitioned avionics computer and a method and system for debugging
US6732109B2 (en) * 2001-01-31 2004-05-04 The Eon Company Method and system for transferring information between a user interface and a database over a global information network
US6574537B2 (en) * 2001-02-05 2003-06-03 The Boeing Company Diagnostic system and method
US6697718B2 (en) * 2001-02-26 2004-02-24 Airbus France Device for monitoring a plurality of systems of an aircraft, in particular of a transport aircraft
US6772369B2 (en) * 2001-04-09 2004-08-03 Sun Microsystems, Inc. System observation bus
US20030055945A1 (en) * 2001-05-08 2003-03-20 Narad Networks, Inc. Language and interface for unified network service creation, provision and deployment
US20030009710A1 (en) * 2001-05-10 2003-01-09 Charles Grant System and method for performing diagnostics using a portable device
US20030126136A1 (en) * 2001-06-22 2003-07-03 Nosa Omoigui System and method for knowledge retrieval, management, delivery and presentation
US20030004998A1 (en) * 2001-06-29 2003-01-02 Chutney Technologies, Inc. Proxy-based acceleration of dynamically generated content
US20030109973A1 (en) * 2001-07-17 2003-06-12 Bernard Hensey Electronic operations and maintenance log and system for an aircraft
US20030018661A1 (en) * 2001-07-19 2003-01-23 Darugar Parand Tony XML smart mapping system and method
US7174286B2 (en) * 2001-07-26 2007-02-06 Irise Systems and methods for defining a simulated interactive web page
US20030025732A1 (en) * 2001-07-31 2003-02-06 Prichard Scot D. Method and apparatus for providing customizable graphical user interface and screen layout
US20030037238A1 (en) * 2001-08-16 2003-02-20 Warner Gregory Rade Paperless records in aircraft maintenance
US20030048804A1 (en) * 2001-09-11 2003-03-13 Hitachi, Ltd. Address translation method
US20030146937A1 (en) * 2001-09-11 2003-08-07 Lee Seung Woo Multi-level data management system
US20030074636A1 (en) * 2001-10-15 2003-04-17 Ensoftek, Inc. Enabling easy generation of XML documents from XML specifications
US20030083794A1 (en) * 2001-10-27 2003-05-01 Juergen Halm System and method for diagnosing aircraft components for maintenance purposes
US20030126129A1 (en) * 2001-10-31 2003-07-03 Mike Watson Systems and methods for generating interactive electronic reference materials
US20030135825A1 (en) * 2001-12-05 2003-07-17 Matthew Gertner Dynamically generated mark-up based graphical user interfaced with an extensible application framework with links to enterprise resources
US20030110292A1 (en) * 2001-12-07 2003-06-12 Yukiko Takeda Address translator, message processing method and euipment
US20030120686A1 (en) * 2001-12-21 2003-06-26 Xmlcities, Inc. Extensible stylesheet designs using meta-tag and/or associated meta-tag information
US20030149790A1 (en) * 2002-01-08 2003-08-07 Samsung Electronics Co., Ltd. Apparatus for converting internet protocol address, and communication method using the same
US6725137B2 (en) * 2002-04-03 2004-04-20 Honeywell International Inc. Method and apparatus using historical data to associate deferral procedures and fault models
US20040060007A1 (en) * 2002-06-19 2004-03-25 Georg Gottlob Efficient processing of XPath queries
US20040020994A1 (en) * 2002-07-31 2004-02-05 Gordon Muehl Component tagging with maintenance related information in open and closed formats
US20040024501A1 (en) * 2002-07-31 2004-02-05 Gordon Muehl Component tagging with maintenance related information including maintenance procedures
US20050193275A1 (en) * 2002-08-01 2005-09-01 Teradyne, Inc. Method for digital bus testing
US20040034456A1 (en) * 2002-08-16 2004-02-19 Felke Timothy J. Method and apparatus for improving fault isolation
US20040039499A1 (en) * 2002-08-26 2004-02-26 Felke Timothy J. Relational database for maintenance information for complex systems
US20040078123A1 (en) * 2002-10-17 2004-04-22 Igloi Tamas M. Aircraft avionics maintenance diagnostics data download transmission system
US20040098311A1 (en) * 2002-11-15 2004-05-20 Rajan Nair XML message monitor for managing business processes
US20040128617A1 (en) * 2002-12-27 2004-07-01 Keum-Yong Oh Transmission method for XML-based EPG for a user-preference program guide and reception device
US20040143599A1 (en) * 2003-01-22 2004-07-22 International Business Machines Corporation System and method for command line administration of project spaces using XML objects
US20060218512A1 (en) * 2003-01-29 2006-09-28 University Court Of The University Of Edinburgh System and method for rapid prototyping of asic systems
US20040153448A1 (en) * 2003-01-31 2004-08-05 International Business Machines Corporation System and method for transforming queries using window aggregation
US20040172597A1 (en) * 2003-02-21 2004-09-02 Alcatel Method and apparatus for a zero development web-based graphical user interface
US20040183831A1 (en) * 2003-02-27 2004-09-23 Ritchy Robert A. Systems and methods for improved portal development
US20040177321A1 (en) * 2003-03-03 2004-09-09 International Business Machines Corporation Meta editor for structured documents
US20040193962A1 (en) * 2003-03-28 2004-09-30 Johnson Tyler James Bus interface module
US20050182650A1 (en) * 2003-06-18 2005-08-18 Xybernaut Corporation Maintenance and inspection system
US20050004892A1 (en) * 2003-06-23 2005-01-06 Brundage Michael L. Query optimizer system and method
US20050165724A1 (en) * 2003-07-11 2005-07-28 Computer Associates Think, Inc. System and method for using an XML file to control XML to entity/relationship transformation
US20050021548A1 (en) * 2003-07-24 2005-01-27 Bohannon Philip L. Method and apparatus for composing XSL transformations with XML publishing views
US20050027480A1 (en) * 2003-07-28 2005-02-03 Liu Qiao Model-based intelligent diagnostic agent
US20050055336A1 (en) * 2003-09-05 2005-03-10 Hui Joshua Wai-Ho Providing XML cursor support on an XML repository built on top of a relational database system
US20050060317A1 (en) * 2003-09-12 2005-03-17 Lott Christopher Martin Method and system for the specification of interface definitions and business rules and automatic generation of message validation and transformation software
US20050132282A1 (en) * 2003-12-15 2005-06-16 Microsoft Corporation Mapper compiler
US20050138544A1 (en) * 2003-12-22 2005-06-23 Inmedius, Inc. Viewing system that supports multiple electronic document types
US20050183007A1 (en) * 2004-02-12 2005-08-18 Lockheed Martin Corporation Graphical authoring and editing of mark-up language sequences
US20060120181A1 (en) * 2004-10-05 2006-06-08 Lockheed Martin Corp. Fault detection and isolation with analysis of built-in-test results
US20060085692A1 (en) * 2004-10-06 2006-04-20 Lockheed Martin Corp. Bus fault detection and isolation
US20060085465A1 (en) * 2004-10-15 2006-04-20 Oracle International Corporation Method(s) for updating database object metadata

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10970615B2 (en) * 2017-07-20 2021-04-06 Laava Id Pty Ltd Systems and methods for generating secure tags
US11544519B2 (en) 2017-07-20 2023-01-03 Laava Id Pty Ltd Systems and methods for generating secure tags

Also Published As

Publication number Publication date
US7823062B2 (en) 2010-10-26
US20080120282A1 (en) 2008-05-22

Similar Documents

Publication Publication Date Title
US20080052281A1 (en) Database insertion and retrieval system and method
US7853593B2 (en) Content markup transformation
JP4437918B2 (en) Apparatus and method for selectively retrieving information and subsequently displaying the information
US7974832B2 (en) Web translation provider
US6470349B1 (en) Server-side scripting language and programming tool
US8849743B2 (en) Virtual javascript object notation
US8762556B2 (en) Displaying content on a mobile device
US7039861B2 (en) Presentation data-generating device, presentation data-generating system, data-management device, presentation data-generating method and machine-readable storage medium
US20040015890A1 (en) System and method for adapting files for backward compatibility
US20110035553A1 (en) Method and system for cache management
US20020032706A1 (en) Method and system for building internet-based applications
US20030050931A1 (en) System, method and computer program product for page rendering utilizing transcoding
US7703006B2 (en) System and method of accelerating document processing
US8082488B2 (en) Method for accessing a parent page while browsing web pages
JP2009514045A (en) Method and system for improving the presentation of HTML pages on web devices
CN109144567B (en) Cross-platform webpage rendering method and device, server and storage medium
US20020038349A1 (en) Method and system for reusing internet-based applications
US20040268249A1 (en) Document transformation
JP2007183916A (en) Method and apparatus for automatic form input on mobile devices
WO2005008534A2 (en) System and method for generating sql using templates
US9477778B2 (en) XML query optimization with order analysis of XML schema
US20020174099A1 (en) Minimal identification
US7831905B1 (en) Method and system for creating and providing web-based documents to information devices
WO2001048630A2 (en) Client-server data communication system and method for data transfer between a server and different clients
CN115269228A (en) Data adaptive transmission method, device, equipment and medium

Legal Events

Date Code Title Description
AS Assignment

Owner name: LOCKHEED MARTIN CORPORATION, MARYLAND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LIBERTY, MATTHEW R;WILDE, BRUCE R;REEL/FRAME:018156/0637;SIGNING DATES FROM 20060808 TO 20060809

STCB Information on status: application discontinuation

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