US20080052281A1 - Database insertion and retrieval system and method - Google Patents
Database insertion and retrieval system and method Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information 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/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information 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/83—Querying
- G06F16/838—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation 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.
-
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. - 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 andretrieval system 100 according to various embodiments. As shown inFIG. 1 , the database insertion andretrieval system 100 can comprise aserver 101 provided in communication with one ormore client devices 102 using anetwork 103. In various embodiments, theserver 101 can comprise an information storage andretrieval application 105 provided in communication with adatabase 107. Theserver 101 can further comprise a communication interface configured to accomplish packet-based communication using thenetwork 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 theserver 101, cause theserver 101 to be configured to perform database insertion and retrieval functions as described herein. - The
database 107 can comprise amemory manager 109 and astorage device 111 provided in communication with thememory manager 109. In various embodiments, thedatabase 107 can store and retrieve information or data in response to one or more (Structured Query Language) SQL instructions. Thestorage device 111 can comprise a hard disk drive configured to store information in accordance with SQL. Further, thememory manager 109 can comprise a database manager that includes alocal memory 112. In various embodiments, thememory manager 109local memory 112 can comprise ahash table index 113 and recently accessed database information from thestorage device 111. In various embodiments, thelocal memory 112 of thememory manager 109 can have a faster access time latency than thestorage device 111. For example, thelocal memory 112 can comprise a Random Access Memory (RAM) and thestorage device 111 can comprise a hard disk drive, in which case thelocal memory 112 can have an access time latency on the order of ten times faster than thestorage device 111. In various embodiments, thelocal memory 112 can comprise a fixed memory size specified by a target threshold size parameter. Thememory manager 109 can be configured to remove the oldest information inlocal memory 112 to provide capacity to store the transformed information and maintain the size of thelocal 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, theclient device 102 can comprise a communication interface configured to accomplish packet-based communication using thenetwork 103. For example, theclient 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, theclient device 102 can communicate with theserver 101 using thenetwork 103 in accordance with the HyperText Transfer Protocol (HTTP). For example, a user can establish a session with theserver 101 by entering the Uniform Resource Locator (URL) associated with theserver 101 into an address field of the browser application. In various embodiments, theclient 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, thenetwork 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, thenetwork 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, thenetwork 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 andretrieval application 105 according to various embodiments. As shown inFIG. 2 , in various embodiments, the information storage andretrieval application 105 can comprise an input/output portion 150, atranslator portion 160, and adatabase interface portion 170. In various embodiments, input/output portion 150, atranslator portion 160, and adatabase interface portion 170 can comprise one code object. In various alternative embodiments, each of theportions - In various embodiments, the input/
output portion 150 can comprise a sequence of Java™ instructions that configure the information storage and retrievalapplication 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 andretrieval 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. Thetranslator portion 160 can accept the input information as an input file or as a document contained in an input file. Thetranslator portion 160 can provide the output information as an output file. Thetranslator 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, thestylesheets 165 can be instantiated at time of application installation. In various embodiments, thestylesheets 165 are maintained in non-volatile storage of theserver 101, but are not included in thedatabase 107. - In various embodiments, the
database interface portion 170 can be configured to communicate with thedatabase 107. For example, thedatabase interface portion 170 can be configured to generate and output to thedatabase 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 thedatabase interface portion 170 can be received by thememory manager 109 of thedatabase 107. In various embodiments, thedatabase 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 ormore stylesheets 165, into output information to be stored in thedatabase 107. In particular, thetranslator 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 thedatabase 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 thetranslator portion 160 to generate the keys can be defined in one ormore stylesheets 165. Thestylesheets 165 can be customized to generate keys from a variety of attribute types according to the needs of the user.FIG. 8 is anexample stylesheet 165 defining attributes to be used for keys according to various embodiments. - Furthermore,
stylesheets 165 can be used to specify to thetranslator 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 inFIG. 3 , thetranslator portion 160 can receive theinput information 301 and apply afirst stylesheet 165 to generate keys based on occurrences of the attribute(s) specified in thefirst 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, thetranslator portion 160 can be configured to generate one such identifier for every occurrence of the corresponding attribute in theinput information 301. Each such generated identifier can be included in theoutput information 302. Thus, theoutput information 302 generated by thetranslator 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 theinput information 301, each of which identifiers identifies the information associated with the attribute in theinput information 301, and each of which identifiers is added or inserted into thedatabase 107. In various embodiments, theoutput information 302 can comprise keys in a hash table index. Asecond stylesheet 165 can be used to specify to thetranslator 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 aninsertion instruction page 303 to select insertion of theoutput information 302 into thedatabase 107 as either a single document or file, or as several compressed documents or files. Theinsertion instruction page 303 can comprise a markup language file such as, for example, a HyperText Markup Language (HTML) page. Thedatabase interface portion 170 can then upload theinput information 301 for insertion into thedatabase 107. In various embodiments, thedatabase interface portion 170 can comprise a Java™ servlet. Theinput information 301 can comprise XML formatted information. In various embodiments, theinput 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 anentire 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 theinput information 301 that meets the attribute criteria specified in theapplicable stylesheet 165. Further, thetranslator 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, theinput 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, thetranslator portion 160 can apply thefirst stylesheet 165 to generate the identifiers. For example, if thestylesheet 165 specifies the “ID” attribute in theinput information 301 to be used to generate identifiers, thetranslator portion 160 can generate one identifier for every occurrence of the “ID” attribute encountered in theinput information 301. Each generated identifier is included in theoutput information 302. Thus, theoutput information 302 generated by thetranslator 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 theinput information 301, each of which identifiers identifies the information associated with the attribute in theinput information 301, and each of which identifiers is added or inserted into thedatabase 107. - In various embodiments, the
output information 302 can comprise keys in a hash table index. Asecond stylesheet 165 can be used to specify to thetranslator 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 thememory manager 109. -
Example output information 302 is set forth in Table 2 below. As shown in Table 2, theoutput 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 theinput information 301 to identifiers or keys in the hash table index of theoutput information 302 for the example input and output information of Tables 1 and 2 in accordance with the database insertion process 300. As shown inFIG.4 , the “ID” attribute is specified by thestylesheet 165 for generating database identifiers, or keys. Thus, thetranslator portion 160 generates multiple levels of identifiers for occurrences of the “ID” attribute in theinput 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 inFIG. 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 theentire input information 301 file, while the sub-level identifiers serve to identify XML in theinput information 301 associated with the sub-level identifier. The hierarchically-related top-level identifiers and sub-level identifiers shown in theoutput information 302 ofFIG. 4 can comprise ahash table index 113 useful for retrieving all or a portion of theinput information 301 from thedatabase 107. Thus, theinput information 301 can be inserted into thedatabase 107 by thedatabase interface portion 170 in accordance with theinsertion instruction page 303 as described with respect toFIG. 3 , for example, as a compressed file. - After insertion into the
database 107, the inserted document text, for example, markup language information of theinput information 301, can be retrieved from thedatabase 107 using the hash table index (for example, output data 302). With respect toFIG. 5 , there is shown a database retrieval flow diagram in accordance with various embodiments. As shown inFIG. 5 , upon receiving a database read request from theclient device 102, the input/output portion 150 can forward the database read request to thedatabase interface portion 170. In various embodiments, theclient device 102 can submit a database read request comprising a specific identifier to be obtained from thedatabase 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 thedatabase interface portion 170. Upon receiving the database read request, thedatabase interface portion 170 can search the keys in thehash table index 113, via table look-up or other method, for the identifier contained in the database read request. For example, thedatabase interface portion 170 can perform a table lookup of the keys in thehash 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. Thedatabase interface portion 170 can then form a database request using the sub-level identifier and top-level identifier located in thehash table index 113. Thedatabase interface portion 170 can then send the database request to thedatabase 107. - In various embodiments, upon receiving the database request, the
memory manager 109 of thedatabase 107 can determine if the information corresponding to the identifier is contained inlocal memory 112 at thememory manager 109. If so, then thememory manager 109 can return the information (for example, XML) associated with the identifier in the database request to thedatabase interface portion 170, without reading the information from thestorage device 111. Because thelocal memory 112 has a faster access time latency than thestorage device 111, storing information locally using thememory manager 109 reduces the access time to theclient device 102 to obtain the requested information. - If the requested information is not contained in
memory manager 109local memory 112, then thememory manager 109 performs a database read operation to obtain the requested information from thestorage device 111. Thememory manager 109 also can add the information read from thestorage device 111 to a hash table contained inlocal 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 thedatabase 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, thedatabase interface portion 170 can forward the received information to thetranslator portion 160. Thetranslator portion 160 can apply athird stylesheet 165 parses the information received from the database to strip out unwanted information prior to presenting or outputting the information to theclient device 102. For example, for the database access request comprising the sub-level identifier “my.test.link,” thetranslator 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 thetranslator portion 160, and the transformed information provided to the client device can comprise information output by thetranslator portion 160. The transformed database output information can then be forwarded to the input/output portion 150 and transferred to theclient 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 examplethird stylesheet 165 used to obtain the requested XML according to various embodiments. In the example shown inFIGS. 9A and 9B , thestylesheet 165 can cause thetranslator 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, thethird stylesheet 165 can be a .xsl file. - With respect to
FIGS. 10A and 10B , there is shown another examplethird stylesheet 165 according to various embodiments. In the example shown inFIGS. 10A and 10B , thestylesheet 165 can cause thetranslator 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 thedatabase 107 in three different languages (such as, for example, English, French and German), thestylesheet 165 can cause thetranslator 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 requestingclient device 102. - With respect to
FIGS. 11A and 11B , there is shown yet another examplethird stylesheet 165 according to various embodiments. In the example shown inFIGS. 11A and 11B , thestylesheet 165 can cause thetranslator 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 thedatabase 107 for different versions of a document, thestylesheet 165 can cause thetranslator portion 160 to obtain the latest version. - In various embodiments, the
stylesheets 165 ofFIGS. 10A and 10B , and 11A and 11B, can be applied after thestylesheet 165 ofFIGS. 9A and 9B obtains the appropriate XML. In various embodiments, for processing of anystylesheet 165, elements encountered during translation that do not contain the requested attributes, or that do not match, can be returned to the requestingclient device 102. - With respect to
FIGS. 6A and 6B , there is shown adatabase insertion method 600 according to various embodiments. As shown inFIG. 6A , thedatabase 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 theclient device 102. The interactive page can comprise an HTML page, for example. The user can cause theclient device 102 to send the file to the database servlet (for example, the information storage and retrieval application 105) at theserver 101 by actuating a button provided on the interactive page. Upon user actuation of the upload command or button, theclient 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 thetranslator portion 160. Control can then proceed to 609, at which, upon receiving the input information (for example, the file for database insertion), thetranslator portion 160 can select thefirst stylesheet 165. In various embodiments, thefirst stylesheet 165 can be retrieved from a memory of theserver 101 or using thenetwork 103. Control can then proceed to 611, at which thetranslator portion 160 can apply thefirst 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 thefirst 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 thetranslator 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 thefirst 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 thesecond stylesheet 165. In various embodiments, thesecond stylesheet 165 can be retrieved from a memory of theserver 101 or using thenetwork 103. Referring toFIG. 6B , control can then proceed to 619, at which thetranslator portion 160 can generate theoutput information 302 using the identifiers and keys determined at 611 and 613 in accordance with thesecond stylesheet 165. In various embodiments, theoutput information 302 can comprise ahash table index 113. Control can then proceed to 621, at which thetranslator portion 160 can store thehash table index 113 inmemory manager 109local memory 112. - Control can then proceed to 623, at which the
database interface portion 170 can retrieve theinsertion instruction page 303 from thedatabase 107. Theinsertion 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 thedatabase interface portion 170 can apply theinsertion instruction page 303 to select the insertion mode for adding theinput information 301 into thedatabase 107. Control can proceed to 627, 629, or 631 for insertion of theinput information 301 into thedatabase 107 in accordance with theinsertion instruction page 303. For example, at 627, thedatabase interface portion 170 can format theinput information 301 for insertion into thedatabase 107 without using any compression. Alternatively, at 629, thedatabase interface portion 170 can format theinput information 301 for insertion into thedatabase 107 by performing data compression of theinput information 301 as a single document. In various embodiments, theinput information 301 can be compressed using a compression algorithm such as, for example, the java.util.zip compression utility. Alternatively, at 631, thedatabase interface portion 170 can format theinput information 301 for insertion into thedatabase 107 by performing data compression of theinput information 301 as multiple distinct files. For example, if theinput information 301 is received as a single ZIP file, then thedatabase interface portion 170 can unzip the ZIP file and insert individually each compressed file that is included in the ZIP file. In various embodiments, thedatabase insertion portion 170 can be configured to insert theinput information 301 into thedatabase 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, thedatabase 107, theinput information 301 from 629 or thecompressed 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 adatabase retrieval method 700 according to various embodiments. As shown inFIG. 7A , thedatabase retrieval method 700 can commence at 701. The method can proceed to 703, at which theclient device 102 prepares and sends a database read request to theserver 101. In various embodiments, theclient 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, theclient device 102 can submit the database read request comprising a specific identifier to be obtained from thedatabase 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 thedatabase 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 theclient device 102, the input/output portion 150 can forward the database read request to thedatabase 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 thedatabase 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 thehash table index 113, via table look-up or other method, for the identifier contained in the database read request. For example, thedatabase interface portion 170 can perform a table lookup of the keys in thehash 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 thedatabase interface portion 170 can determine if thehash table index 113 contains keys matching the specific identifier contained in the database read request. If not, control can proceed to 711, at which thedatabase interface portion 170 can send (via the input/output portion 150) an error message to theclient device 102 indicating no matching entry in thedatabase 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 thehash table index 113, and then send the database request to thedatabase 107. - Control can then proceed to 715, at which, upon receiving the database request, the
memory manager 109 of thedatabase 107 can determine if the information corresponding to the identifier is contained inlocal memory 112 at thememory manager 109. If so, then control can proceed to 717, at which thememory manager 109 can return the information (for example, XML) associated with the identifier in the database request to thedatabase interface portion 170, without reading the information from thestorage device 111. Because thelocal memory 112 has a faster access time latency than thestorage device 111, storing information locally using thememory manager 109 reduces the access time to theclient device 102 to obtain the requested information. - If the requested information is not contained in
memory manager 109local memory 112, then control can proceed to 719, at which thememory manager 109 performs a database read operation to obtain the requested information from thestorage device 111. In various embodiments, the information obtained from thedatabase 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 thedatabase 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, thedatabase interface portion 170 can forward the received information to thetranslator portion 160 and thetranslator portion 160 can apply athird stylesheet 165 parses the information received from the database to strip out unwanted information prior to presenting or outputting the information to theclient device 102, such that the transformed information returned to theclient 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 theclient device 102 is actually transferred to theclient device 102, resulting in more efficient and timely responses to database requests. In various embodiments, thetranslator portion 160 can be configured to perform an XSL translation that results in only pertinent data being obtained. For example, thetranslator portion 160 can be configured to extract information by identifier and by attributes passed to thedatabase 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 thememory manager 109 also can add the transformed information to the hash table inlocal 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 thememory manager 109 can determine whether or not looping timeframe is met. For example, thememory 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 thememory manager 109 can determine if thelocal 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 thememory manager 109 can remove the oldest information inlocal memory 112 to provide capacity to store the transformed information and maintain the size of thelocal 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 theclient 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 theclient 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).
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)
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)
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)
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)
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 |
-
2006
- 2006-08-23 US US11/466,478 patent/US20080052281A1/en not_active Abandoned
- 2006-11-21 US US11/562,336 patent/US7823062B2/en not_active Expired - Fee Related
Patent Citations (99)
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)
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 |