US20010044794A1 - Automatic query and transformative process - Google Patents

Automatic query and transformative process Download PDF

Info

Publication number
US20010044794A1
US20010044794A1 US09/884,230 US88423001A US2001044794A1 US 20010044794 A1 US20010044794 A1 US 20010044794A1 US 88423001 A US88423001 A US 88423001A US 2001044794 A1 US2001044794 A1 US 2001044794A1
Authority
US
United States
Prior art keywords
query
engine
markup language
node
search
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US09/884,230
Other versions
US6438540B2 (en
Inventor
Roger Nasr
Neil Webber
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Open Text SA
Original Assignee
Vignette Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vignette Corp filed Critical Vignette Corp
Priority to US09/884,230 priority Critical patent/US6438540B2/en
Publication of US20010044794A1 publication Critical patent/US20010044794A1/en
Priority to US10/206,020 priority patent/US6882995B2/en
Application granted granted Critical
Publication of US6438540B2 publication Critical patent/US6438540B2/en
Assigned to VIGNETTE CORPORATION reassignment VIGNETTE CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NASR, ROGER I., WEBBER, NEIL
Assigned to VIGNETTE LLC reassignment VIGNETTE LLC INTELLECTUAL PROPERTY PURCHASE AGREEMENT Assignors: VIGNETTE CORPORATION (96%)
Assigned to VIGNETTE SOFTWARE LLC reassignment VIGNETTE SOFTWARE LLC INTELLECTUAL PROPERTY PURCHASE AGREEMENT Assignors: VIGNETTE CORPORATION (4%)
Assigned to VIGNETTE SOFTWARE LLC reassignment VIGNETTE SOFTWARE LLC INTELLECTUAL PROPERTY PURCHASE AGREEMENT Assignors: VIGNETTE LLC (96%)
Assigned to VIGNETTE CORPORATION reassignment VIGNETTE CORPORATION MERGER (SEE DOCUMENT FOR DETAILS). Assignors: Vignette Software, LLC
Assigned to VIGNETTE OPERATING, LLC reassignment VIGNETTE OPERATING, LLC CERTIFICATE OF CONVERSION Assignors: VIGNETTE CORPORATION
Assigned to VIGNETTE PARTNERSHIP, LP reassignment VIGNETTE PARTNERSHIP, LP CERTIFICATE OF CONVERSION Assignors: VIGNETTE OPERATING, LLC
Assigned to Open Text S.A. reassignment Open Text S.A. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: VIGNETTE PARTNERSHIP, LP
Assigned to OT IP SUB, LLC reassignment OT IP SUB, LLC IP BUSINESS SALE AGREEMENT Assignors: Open Text S.A.
Assigned to OPEN TEXT SA ULC reassignment OPEN TEXT SA ULC CERTIFICATE OF AMALGAMATION Assignors: IP OT SUB ULC
Assigned to IP OT SUB ULC reassignment IP OT SUB ULC CERTIFICATE OF CONTINUANCE Assignors: OP IP SUB, LLC
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/956Hierarchical
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Definitions

  • This patent application is related, in general, to information retrieval and in particular to a query and transformative engine applicable to XML documentation.
  • a computer-implemented method of retrieving information in a first markup language through a query engine and presenting the information in any required markup language is shown.
  • a user inputs a query to achieve one of two possible outputs:
  • a query stands alone and the output of the engine is the information matching the query.
  • transformative sequences are combined with queries. These sequences contain a markup language pattern and an action; the action may include transforming the tags in the first markup language to tags in a different markup language.
  • the output of the engine in this second case is information matching the queries and transformed by the sequences specified.
  • the query is compiled from its source format into a sequence of instructions for the query engine.
  • the compiled query is assigned tags and attributes.
  • the database is then searched node by node for the corresponding tags and attributes.
  • a predicate check using the binary coding of the node as well as ancestor and descendant information confirms the node.
  • the leaf information associated with a confirmed node is then stored. If necessary, the action from the transformative sequence is applied to change the markup language of the leaf information to that of the user.
  • a primary object of the invention is to provide a query engine capable of making partial searches and conducting predicate checks on such searches.
  • Yet another object of the present invention is to provide an abstract engine with both query and transformative capabilities to access a document and transform it to a requisite format.
  • the query engine prefferably be state-preserving so that the engine can reactivate a prior search.
  • An object of the invention is to execute XML tag-level search and retrieval.
  • Another object of the invention is to provide an engine that can both process a query and validate the results efficiently.
  • Still another object of the invention is to provide natural language query.
  • a further object of the invention is for the transformative engine to present the XML scripted document in HTML, XSML, HDML, and other presentation formats.
  • Another object of the invention is to access XML tag-level scripting and perform XSL-ready transformation on such scripting.
  • FIG. 1A is a diagram illustrating the prior art implementation of conducting searches
  • FIG. 1B is a diagram illustrating the implementation of conducting a search using an abstract engine
  • FIG. 1 is a relationship diagram showing the Query Engine components
  • FIG. 2 is a detailed flowchart of the Query Engine
  • FIG. 3 is a relationship diagram showing the Query Engine incorporated into a Transformation Processing Engine
  • FIG. 4 is an illustration a document tree with binary coding assignments
  • FIG. 5 is a block diagram of a computer network
  • FIG. 6 is an example page of a Web site
  • FIG. 7 is a process for searching and displaying a Web document.
  • FIG. 8 is an example program of an extensible style language (XSL) transformation.
  • XSL extensible style language
  • a markup language defines the descriptions of the structure and content of different types of electronic documents. There is a need to be able to search such electronic documents to obtained needed information.
  • a single query engine I would not be able to handle query requests in a number of differing languages.
  • the present invention as shown in FIG. 1B, received a number of similar search requests in a number of differing languages, 5 a, 5 b, 5 c, and 5 d, it would compile the search request 20 into the abstract engine language 25 and then have the abstract engine 30 run the search to obtain search result 15 .
  • the advantage is that the abstract engine can support any number of query languages.
  • the prior art cannot support a number of query languages and would have to implement separate search engines for the separate languages. This provides the user of the abstract engine with a memory advantage.
  • the abstract engine can be used in a network in an electronic environment or on a stand-alone console.
  • FIG. 1 is a relationship diagram 100 showing the primary elements of the search engine of the present patent application.
  • the Query Engine Abstract Machine 140 takes as input The following: Query Engine Instructions 130 and a Document Parse Tree 150 representation of a document.
  • the query engine instructions tell the query engine what parts of the document parse tree to select and return as Query Results 160 .
  • the other output of the query engine is the Continuation State 170 .
  • the query engine only produces the first result and outputs the intermediate engine state as the Continuation State 170 .
  • the Continuation State may be supplied back to the engine to cause it to resume operation at the saved state and produce the next result.
  • FIG. 2 is a flowchart 200 showing the query engine in more detail.
  • the process can start with a new query, or with the Continuation State of a previous query. There are two different paths 210 for these two cases. If this is a new query, the user inputs a Query 211 in one of the Query Languages understood by the engine. A typical query might look like:
  • Such a typical query would, for example, be addressed at a electronic database containing the works of a number of authors.
  • the objective of the query is to find all the chapter title headings for any plays entitled “Hamlet.”
  • the engine can support any number of query languages, because the processing steps are the same for all languages, this description uses “L” as a generic variable indicating any query language understood by the engine.
  • the engine compiles the query language into query engine instructions 220 .
  • specific tag names and attributes are attached to the instructions as required to correctly describe the query.
  • the tags are ⁇ title>, chapter> and ⁇ play>, “name” is an attribute name, and “hamlet” is an attribute value.
  • An initialized query engine internal state is then created at step 222 .
  • the engine now determines 240 if the user desires to search documents in a relational database, or in memory.
  • the engine When searching a relational database, the engine performs a coarse search 250 of the database, executing query engine instructions and looking for matches based on the tags/attributes/values assigned to the instructions in step 221 . This produces a candidate list of possible matches for the query. In this search, the engine does not search the entire database, but rather stops once it has accumulated a partial set of results. This method is more efficient because it allows the query engine to use less memory when searching.
  • FIG. 4 shows an example of a document tree 400 . As the search engine travels from node to node of the document tree, the search engine determines whether the contents of the node may partially fulfill the search requirement based on the coarse search criteria 251 .
  • the tag is ⁇ title>.
  • ⁇ title> there are multiple instances of ⁇ title> 402 and 409 .
  • the search engine may find any of these ⁇ title> nodes based on a tag match.
  • ⁇ title> node 402 will be checked (as explained later) and discarded because it is not a ⁇ title> under a ⁇ chapter> under a ⁇ play>; instead, it is a ⁇ title> directly under a ⁇ play> 401 .
  • the search engine will continue its search until it encounters node 409 , which satisfies all the tag and attribute criteria and additionally satisfies the predicate checks, as will be described later.
  • the text information to node 409 is “Prologue” which is the leaf information 412 .
  • the engine is finished 298 and no more results are returned. Otherwise, the candidate list is further refined using predicate checks 252 , details of which will be described later. If the refinement finds no matching candidates 253 , then the engine returns to the database and searches for additional candidates 250 .
  • the engine is ready to generate its two outputs: the Query Results 271 and the Continuation State 270 .
  • the Continuation State describes the current state of the engine, so that a later invocation may resume the search at the point where the current operation left off.
  • the search engine can return the correct ⁇ title> node 409 as well as any additional ⁇ title> nodes found under the Chapter nodes 405 and 406 (which are not fully elaborated in the FIGURE).
  • the first result will be presented first, and the user indicates when to resume processing 280 , at which time the entire process begins again at step 230 , with the Continuation State supplied as input 212 .
  • the other method of searching is for documents that are not stored in a relational database and instead are contained completely in memory. These documents can be searched much more efficiently than database documents, and so the query engine uses a different path.
  • a simplified search for the proper query results is performed 260 on the document directly in memory. As with the database case, only the first results are used. If no results are found 265 , the query engine is finished. Otherwise, the engine proceeds directly to create the Continuation State 270 and the query results 271 .
  • the benefits of the tag, attribute, and attribute value checking mechanism is that it provides a less memory intensive manner of conducting a query since the search is merely looking for simple word associations as opposed to placement of the node in relation to other nodes.
  • This partial checking mechanism 250 allows a much more efficient implementation when searching documents stored in a relational database or in any non-memory resident form, which is important for large documents.
  • the engine must refine the coarse results to eliminate incorrect matches such as the case of a ⁇ title> 402 directly under a ⁇ play> 401 . This requires a descendant predicate check. Typically, such a check on a number of documents and a large number of nodes would consume a great deal of time and resources, especially in an electronic environment.
  • the preferred embodiment is a unique binary encoding mechanism and corresponding descendant predicate algorithm to perform such a predicate check operation. In order to determine whether node A is a descendant of node B, this operation will require three pieces of information (1) the identification of the immediate parent, (2) the absolute depth of the node, and (3) binary encoding.
  • C newcode(Cp) creates a new binary code, C, from the code, Cp, of the parent, P.
  • the subtree depth of a tag node is defined as follows:
  • the subtree depth of a leaf tag meaning a tag node with no descendants (only its own value node), is zero.
  • the subtree depth of a node, P, with immediate descendants D 1 , D 2 , . . . is equal to the maximum subtree depth of any descendant, plus 1.
  • the absolute depth of a node is defined as follows:
  • the absolute depth of the root of the tree is zero.
  • the absolute depth of any node, D, with parent P is equal to the absolute depth of the parent node, plus 1.
  • All nodes in any single subtree of subtree depth 2 or less share a single common code generated as a new code based on the parent's code. This is illustrated as the circled nodes 430 in FIG. 4.
  • FIG. 3 is a relationship diagram 300 showing the query engine incorporated into a transformative sequence processor.
  • the user will supply a transformative sequence 310 in the form of an XSL specification.
  • XSL is a standard in development by the World Wide Web Consortium (W3C).
  • FIG. 8 is an example of an XSL transformation specification.
  • the XSL tag is defined 800 .
  • a rule tag is defined 810 .
  • the rule tag is composed of two elements, a Pattern 820 and an Action 830 .
  • the Pattern defines a set of items at which the transformative function implements the Action.
  • the Pattern is defined as a title tag 840 when it occurs under a chapter tag 850 , which itself occurs a book tag 860 , should be transformed into an ⁇ H4> tag 870 , when a document (or subdocument) containing it is rendered.
  • XSL specifications may contain multiple rules, patterns, and actions; in this simple example only one rule with one pattern and one action is shown.
  • the XSL specification 310 is compiled by Query Compiler 320 into Query Engine Instructions 330 .
  • the Pattern 520 of the XSL rule is compiled.
  • the Pattern is compiled with the ⁇ title>tag 840 becoming a tag value in the query engine instruction as previously described for step 221 in FIG. 2.
  • the Action 830 of the XSL transformation rule is not compiled during this sequence, and instead is supplied directly 335 to the transformative engine 380 , along with the compiled query engine instructions 330 .
  • the transformative engine consists of a Query Engine Abstract Machine 340 and a Rendering Algorithm 345 .
  • the Continuation State 370 produced by the query engine abstract machine is also held within the transformative engine.
  • the transformative engine uses the query engine to determine which nodes match the patterns in the XSL specification. As incremental results are supplied by the query engine, the transformation engine applies the appropriate matching transformation actions ( 830 ) to the query engine results.
  • a ‘web browser’ is traditionally defined as a computer program which supports the displaying of documents, presently most of which include Hypertext Markup Language (HTML) formatting markup tags (discussed further below), and hyperlinking to other documents, or phrases in documents, across a network.
  • HTML Hypertext Markup Language
  • web browsers are used to access documents across the Internet's World Wide Web.
  • the discussion of the present invention defines both ‘web browser’ and ‘browser’ to include browser programs that enable accessing hyperlinked information over the Internet and other networks, as well as from magnetic disk, CD-ROM, or other memory, and does not limit web browsers to just use over the Internet.
  • a number of web browsers are available, some of them commercially. Any viewer of the World Wide Web will typically use a web browser. Indeed, a viewer viewing documents created by the present invention normally uses a web browser to access the documents that a database provider may make available on the network. Web browsers allow clicking on “hot areas” (generated by source anchors containing a document reference name and a hyperlink to that document so that clicking on the hot area causes the specified document to be downloaded over the network and displayed for the viewer).
  • a viewer and a server which is where web documents are contained, communicate using the functionality provided by Hypertext Transfer Protocol (HTTP).
  • HTTP Hypertext Transfer Protocol
  • the Web includes all the servers adhering to this standard which are accessible to clients via Uniform Resource Locators (URL's).
  • URL's Uniform Resource Locators
  • communication can be provided over a communication medium.
  • the client and server may be coupled via Serial Line Internet Protocol (SLIP) or TCP/IP connections for high-capacity communication.
  • SSLIP Serial Line Internet Protocol
  • TCP/IP connections for high-capacity communication.
  • the web browser is active within the client and presents information to the user.
  • a home page One way of organizing information on the Internet in order to minimize download time has been to provide users with an overview interface, called a ‘home page,’ to the information.
  • a home page is often merely used as a visually interesting trademark, the home page typically contains a key topic summary of the information provided by one author or database provider, and hyperlinks that take a viewer to the information the viewer has chosen.
  • a ‘hyperlink’ is defined as a point-and-click mechanism implemented on a computer which allows a viewer to link (or jump) from one screen display where a topic is referred to (called the ‘hyperlink source’), to other screen displays where more information about that topic exists (called the ‘hyperlink destination’).
  • These hyperlinked screen displays can be portions of the media data (media data can include, e.g., text graphics, audio, video, etc.) from a single data file, or can be portions of a plurality of different data files; these can be stored in a single location, or at a plurality of separate locations.
  • a hyperlink thus provides a computer-assisted way for a human user to efficiently jump between various locations containing information.
  • HTML Hypertext Markup Language
  • HTML provides a way to specify the structural elements of text (e.g., this is a heading, this is a body of text, this is a list, etc.) using tags which are independent of the content of the text.
  • a web browser uses these tags to format the displayed text for the particular display device of a particular viewer. So, for example, HTML allows an author to specify up to six levels of heading information bracketed by six different heading-tag pairs.
  • Applications e.g., web browsers
  • web browsers on different computers then process the HTML documents for visual presentation in a manner customized for particular display devices.
  • An application on one computer could display a level 1 heading as 10 point bold Courier while an application on another computer could display it as a 20 point italic Times Roman.
  • a level 1 sequence is heralded with the sequence token ⁇ /h1>.
  • a heading might be displayed as:
  • HTML enables a document to be displayed within the capabilities of any particular display system even though that display system does not support italic, or bold, color, or any particular typeface or size.
  • HTML supports writing documents so they can be output to everything from simple monospaced, single-size fonts to proportional-spaced, multiple-size, multiple-style fonts.
  • Each computer program that accesses an HTML document can translate that HTML document into a display format supported by the hardware running the program.
  • HTML defines hypertext structure within basic limits. It allows a programmer to define a link but it does not allow for differentiation between links or sublinks. An HTML document cannot be parsed into a multi-stage tree. In addition, differing tags cannot be defined in HTML, which reduces its flexibility.
  • HTML Standard Generalized Markup Language
  • HTML can actually be viewed as a subset of SGML.
  • SGML defines a language for use with presenting any form of information.
  • SGML presents so many options for defining tags and presenting information that it is very difficult to use in standardizing a way for defining and presenting documents and their contents.
  • DTD is a formal language that allows the processors to parse a document and define the interrelations of the elements within an XML document.
  • an XML document has additional flexibility since it can define its own markup elements by the existence and location of elements where created thereby allowing DTD-less reading.
  • Pure SGML documents typically would require a DTD file to assist in the translation.
  • node travel node search
  • the engine will access the information. If the node does not have the information, the search will then move down to the node child and perform the same analysis. This type of search is time-consuming.
  • these search engines do not have the capability to accept directions from non-XML compatible web browsers or present the information in a format compatible to such a web browser.
  • FIG. 5 is a block diagram of a system, indicated generally at 700 , according to the illustrative embodiment.
  • System 500 includes a Transmission Control Protocol/Internet Protocol (TCP/IP) network 510 , a real media server computer 512 for executing a real media server process and a web server computer 516 for executing a Web server process.
  • Web server 516 contains multiple web site 518 a - n, as shown in FIG. 5.
  • each of servers 512 , 514 and 516 is coupled through TCP/IP network 510 to each of clients 502 , 504 , 506 and 508 .
  • TCP/IP network 510 information is communicated by servers 512 , 514 and 516 , and by clients 502 , 504 , 506 and 508 to one another.
  • Clients 502 , 504 , 506 and 508 are substantially identical to one another.
  • Client 502 is a representative one of clients 502 , 504 , 506 and 508 .
  • Client 502 includes a user 520 , input devices 522 , media devices 524 , speakers 526 , a display device 528 , a print device 530 and a client computer 532 .
  • Client computer 532 is connected to input devices 522 , media devices 524 , speakers 526 , display device 528 and print device 530 .
  • Display device 528 is, for example, a conventional electronic cathode ray tube.
  • Print device 530 is, for example, a conventional electronic printer or plotter.
  • User 520 and client computer 532 operate in association with one another. For example, in response to signals from client computer 530 , display device 528 displays visual images, and user 520 views such visual images. Also, in response to signals from client computer 532 , print device 530 prints visual images on paper, and user 520 views such visual images. Further, in response to signals from client computer 532 , speakers 526 output audio frequencies, and user 520 listens to such audio frequencies. Moreover, user 520 operates input devices 522 and media devices 524 in order to output information to client computer 532 , and client computer 532 receives such information from input devices 522 and media devices 524 .
  • Input devices 522 include, for example, a conventional electronic keyboard and a pointing device such as a conventional electronic “mouse”, rollerball or light pen.
  • User 520 operates the keyboard to output alphanumeric text information to client computer 532 , and client computer 532 receives such alphanumeric text information from the keyboard.
  • User 520 operates the pointing device to output cursor-control information to client computer 532 , and client computer 532 receives such cursor-control information from the pointing device.
  • User 520 operates media devices 524 in order to output information to client computer 532 in the form of media signals, and client computer 532 receives such media signals from media devices 524 .
  • Media signals include for example video signals and audio signals.
  • Media devices 524 include, for example, a microphone, a video camera, a videocassette player, a CD-ROM (compact disc, read-only memory) player, and an electronic scanner device.
  • a web browser typically is loaded onto a client computer and is launched by the client computer when accessing the World Wide Web.
  • the web browser is used for accessing Web sites 518 ( a - n ) through the web server 516 .
  • any of the documents viewed with the program may be located (or scattered in pieces) on any computer connected to network 500 .
  • the viewer can use a mouse 522 , or other pointing device, to click-on a hot area, such as highlighted text or a button, and cause the relevant portion of the referenced document to be downloaded to the viewer's computer 532 for viewing.
  • These downloaded documents in turn can contain hyperlinks to other documents on the same or other computers. ‘Downloading’ is defined as the transmitting of a document or other information from the database provider 518 over a network 500 to the viewer's computer 532 .
  • a ‘document’ is defined in a broad sense to indicate text, pictorial, audio, video and other information stored in one or more computer files. Viewing such multimedia files can be much like watching television. Documents include everything from simple short text documents to large computer multi-media databases.
  • a ‘page’ is defined as any discrete file, which can be downloaded as a single download segment.
  • a web browser does not recognize or access documents per se, but instead accesses pages.
  • a web browser downloads one page as the result of clicking on a hot area.
  • a page often has several source anchors with hyperlinks to various other pages or to specific locations within pages.
  • FIG. 6 shows the typical information available at a web site.
  • a web site 600 might contain a number of internal lines 610 and/or sections with multiple pages.
  • the presentation of text and or graphics 620 on a web site 600 is defined by a markup language.
  • a page is thus a document, which contains a portion of a source document.
  • FIG. 7 shows a process for displaying/searching a web document using a web browser.
  • a session typically commences when the HTTP server detects a request for a client connect. After connection, a simple query can be implemented through the web browser. In the prior art, such a query would usually just include a term to be found in the Web document. Then, the requested page, typically the home page, is displayed on the client browser.
  • the client and server may be coupled via a TCP/IP connection.
  • Active within the client 532 is the web browser 510 , which establishes the connection with the web server 516 .
  • the web server 516 executes the corresponding server software which presents information to the client in the form of HTTP responses 720 .
  • the HTTP responses correspond to Web pages represented using markup language. In this embodiment, the markup language is XML.
  • the web browser will activate the search engine 730 on the web server.
  • the XML versions of articles are searched for the presence of specified search terms, if the web browser is compatible. If the web browser is not compatible, the XML results are converted to a compatible format. The XML results of these search requests can then be displayed on the client's console.
  • the transformative process on a server is called a server-side transformation. If the browser is XML/XSL-enabled MS IE4 is an example, then server-side transformations need not be implemented on the server since the browser has XML/XSL capabilities. If the browser is not XML/XSL-enabled, and there are commands that can be provided to transform information, then server-side transformation is implemented. As a matter of fact, there may be multiple transformation (XSL) specifications for a variety of formats on each server.
  • XSL transformation
  • the server will enable the appropriate XSL specification given the available browser information; i.e., if the browser is not XML-enabled but is CSS (cascading style sheets)-enabled, the server-side transformations using the “CSS” XSL specification will be implemented, and if the browser is not even CSS-enabled then a “raw HTML” XSL specification can be used, and so forth.
  • the server does not have to depend on XML DTDs with the preferred query and transformative engine in order to present information to a user either in an HTML, XML or other markup format.
  • the XML query and transformative engine is located on the server to perform server-side tranformations.
  • the XML and query engine allows XML/XSL-enabled browsers to access the XML documents on the server, whereas those browsers not enabled with XML will have the XML documents on the server transformed into a presentation format acceptable by the browser.
  • each leaf contains presentable material.
  • Each individual leaf is defined as a child of a certain number of branches. These branches are labeled as tags.
  • the title for the play Hamlet would be a leaf.
  • the Hamlet leaf would be child of the “Title” branch of the “Play” branch. Therefore, a user requesting a search for the title of the play [ ⁇ title> under ⁇ play>] would receive the term Hamlet in node 408 and would not receive the term Prologue from node 412 .
  • the convenience of XML is that it is able to allow a user to define a number of its own tags and therefore categorize leafs with a greater level of detail.
  • a transformative sequence is integrated with the query engine so that based on the web browser used to access the Web site, a certain transformative sequence will be implemented.
  • the transformative sequence will then access a set of extensible Style Language (XSL) transformative rules that will establish the display for the XML information into the necessary format.
  • XSL extensible Style Language

Abstract

A computer-implemented method of retrieving information in a first markup language through a query engine and presenting the information in any required markup language. A user inputs a query and may invoke a number of transformative sequences. These sequences contain a markup language pattern and an action, which may include transforming the tags in the first markup language to tags in a different markup language. The appropriate transformative sequence is selected and the pattern from the transformative sequence is compiled. The compiled pattern is used to perform rapid and efficient searches of documents in the database. A predicate check using the binary coding of the node as well as ancestor information confirms the node. The leaf information associated with a confirmed node is then stored. If necessary, the action from the transformative sequence is applied to change the markup language of the leaf information to that of the user.

Description

    TECHNICAL FIELD
  • This patent application is related, in general, to information retrieval and in particular to a query and transformative engine applicable to XML documentation. [0001]
  • BACKGROUND
  • As society becomes increasingly more computerized and as greater access is allowed to information stored on computers, it has become increasingly more important to find such information in as efficient a manner as possible. [0002]
  • For example, the development of computerized information resources, such as the Internet, and various on-line services, such as Compuserve, America Online, Prodigy, and other services, has led to a proliferation of electronically available information. In fact, this electronic information is increasingly displacing more conventional means of information transmission, such as newspapers, magazines, and even, television. The World Wide Web consists of a number of Web sites located on numerous servers, most of which are accessible through global computer networks. The primary issue in all of these resources is filtering the vast amount of information available in order that a user obtain that information of interest to him and receiving such information in an acceptable format. To assist in searching information available on the Internet, a number of search techniques have been devised to find information requested by the user. [0003]
  • These search techniques are based upon a node by node search. When the node does not contain “speech” (defined as viewable material for the reader), the search will navigate to the first child of the node and keep on navigating down each node string until speech is found. By being forced into examining each node separately, such searches are time and resource consuming. [0004]
  • In addition, none of these search techniques incorporate a transformative sequence for adjusting the information to the requirements of the user. [0005]
  • There is a need in the art to develop a query system that is easy to use and intuitive. There is an additional need to combine such a query engine with a transformative sequence to allow documents to be presented to users in the format they require. [0006]
  • SUMMARY OF THE INVENTION
  • A computer-implemented method of retrieving information in a first markup language through a query engine and presenting the information in any required markup language is shown. A user inputs a query to achieve one of two possible outputs: In the first usage, a query stands alone and the output of the engine is the information matching the query. In the second usage, transformative sequences are combined with queries. These sequences contain a markup language pattern and an action; the action may include transforming the tags in the first markup language to tags in a different markup language. The output of the engine in this second case is information matching the queries and transformed by the sequences specified. In either usage, the query is compiled from its source format into a sequence of instructions for the query engine. The compiled query is assigned tags and attributes. The database is then searched node by node for the corresponding tags and attributes. A predicate check using the binary coding of the node as well as ancestor and descendant information confirms the node. The leaf information associated with a confirmed node is then stored. If necessary, the action from the transformative sequence is applied to change the markup language of the leaf information to that of the user. [0007]
  • A primary object of the invention is to provide a query engine capable of making partial searches and conducting predicate checks on such searches. [0008]
  • Yet another object of the present invention is to provide an abstract engine with both query and transformative capabilities to access a document and transform it to a requisite format. [0009]
  • It is still another object of the invention to provide a query engine that can produce more than one result on demand. [0010]
  • It is another object of the invention for the query engine to be state-preserving so that the engine can reactivate a prior search. [0011]
  • An object of the invention is to execute XML tag-level search and retrieval. [0012]
  • Furthermore, another object of the invention is to provide an engine that can both process a query and validate the results efficiently. [0013]
  • Still another object of the invention is to provide natural language query. [0014]
  • A further object of the invention is for the transformative engine to present the XML scripted document in HTML, XSML, HDML, and other presentation formats. [0015]
  • Another object of the invention is to access XML tag-level scripting and perform XSL-ready transformation on such scripting. [0016]
  • BRIEF DESCRIPTION OF THE FIGURES
  • For a more complete understanding of the present invention and the advantages thereof, reference should be made to the following Detailed Description taken in connection with the accompanying drawings in which: [0017]
  • FIG. 1A is a diagram illustrating the prior art implementation of conducting searches; [0018]
  • FIG. 1B is a diagram illustrating the implementation of conducting a search using an abstract engine; [0019]
  • FIG. 1 is a relationship diagram showing the Query Engine components; [0020]
  • FIG. 2 is a detailed flowchart of the Query Engine; [0021]
  • FIG. 3 is a relationship diagram showing the Query Engine incorporated into a Transformation Processing Engine; [0022]
  • FIG. 4 is an illustration a document tree with binary coding assignments; [0023]
  • FIG. 5 is a block diagram of a computer network; [0024]
  • FIG. 6 is an example page of a Web site; [0025]
  • FIG. 7 is a process for searching and displaying a Web document; and [0026]
  • FIG. 8 is an example program of an extensible style language (XSL) transformation. [0027]
  • DETAILED DESCRIPTION
  • In the context of an electronic environment, a document is stored using a markup language. A markup language defines the descriptions of the structure and content of different types of electronic documents. There is a need to be able to search such electronic documents to obtained needed information. In the prior art, as shown in FIG. 1A, a single query engine I would not be able to handle query requests in a number of differing languages. It would take a number of [0028] query engines 1 a, 1 b, 1 c, and 1 d receiving similar search requests 5, in a number of differing languages, 5 a, 5 b, 5 c and 5 d, to compile and generate a number of differing searches, 10 a, 10 b, 10 c, and 10 d, in order to obtain a search result 15. In its preferred embodiment, if the present invention, as shown in FIG. 1B, received a number of similar search requests in a number of differing languages, 5 a, 5 b, 5 c, and 5 d, it would compile the search request 20 into the abstract engine language 25 and then have the abstract engine 30 run the search to obtain search result 15. The advantage is that the abstract engine can support any number of query languages. The prior art cannot support a number of query languages and would have to implement separate search engines for the separate languages. This provides the user of the abstract engine with a memory advantage. The abstract engine can be used in a network in an electronic environment or on a stand-alone console.
  • FIG. 1 is a relationship diagram [0029] 100 showing the primary elements of the search engine of the present patent application. The Query Engine Abstract Machine 140 takes as input The following: Query Engine Instructions 130 and a Document Parse Tree 150 representation of a document. The query engine instructions tell the query engine what parts of the document parse tree to select and return as Query Results 160. In addition to Query Results 160, the other output of the query engine is the Continuation State 170. In cases where multiple query results would be produced by the query engine by following the query engine instructions, the query engine only produces the first result and outputs the intermediate engine state as the Continuation State 170. At a later time, the Continuation State may be supplied back to the engine to cause it to resume operation at the saved state and produce the next result.
  • FIG. 2 is a [0030] flowchart 200 showing the query engine in more detail. The process can start with a new query, or with the Continuation State of a previous query. There are two different paths 210 for these two cases. If this is a new query, the user inputs a Query 211 in one of the Query Languages understood by the engine. A typical query might look like:
  • <title>under<chapter>under<play name=“hamlet”>
  • Such a typical query would, for example, be addressed at a electronic database containing the works of a number of authors. The objective of the query is to find all the chapter title headings for any plays entitled “Hamlet.”[0031]
  • As noted earlier, the engine can support any number of query languages, because the processing steps are the same for all languages, this description uses “L” as a generic variable indicating any query language understood by the engine. [0032]
  • The engine compiles the query language into [0033] query engine instructions 220. In the next step 221, specific tag names and attributes are attached to the instructions as required to correctly describe the query. In the example query shown above, the tags are <title>, chapter> and <play>, “name” is an attribute name, and “hamlet” is an attribute value. An initialized query engine internal state is then created at step 222.
  • If instead of being a new query this is a resumption of a previously run query, the query is resumed using the [0034] Continuation State 212 from the previously processed query. The appropriate query engine internal state is then reactivated 230.
  • In either the new or resumed query case, the engine now determines [0035] 240 if the user desires to search documents in a relational database, or in memory.
  • When searching a relational database, the engine performs a [0036] coarse search 250 of the database, executing query engine instructions and looking for matches based on the tags/attributes/values assigned to the instructions in step 221. This produces a candidate list of possible matches for the query. In this search, the engine does not search the entire database, but rather stops once it has accumulated a partial set of results. This method is more efficient because it allows the query engine to use less memory when searching. For illustrative purposes, FIG. 4 shows an example of a document tree 400. As the search engine travels from node to node of the document tree, the search engine determines whether the contents of the node may partially fulfill the search requirement based on the coarse search criteria 251. This is determined based only on the tags and attributes in the instructions obtained during the compilation 221. In this particular example, the tag is <title>. For example, in FIG. 4, there are multiple instances of <title> 402 and 409. During the coarse search the search engine may find any of these <title> nodes based on a tag match. However, <title> node 402 will be checked (as explained later) and discarded because it is not a <title> under a <chapter> under a <play>; instead, it is a <title> directly under a <play> 401. The search engine will continue its search until it encounters node 409, which satisfies all the tag and attribute criteria and additionally satisfies the predicate checks, as will be described later. The text information to node 409 is “Prologue” which is the leaf information 412.
  • If no candidates at all are found [0037] 251, the engine is finished 298 and no more results are returned. Otherwise, the candidate list is further refined using predicate checks 252, details of which will be described later. If the refinement finds no matching candidates 253, then the engine returns to the database and searches for additional candidates 250.
  • If the refinement finds a [0038] match 253, the engine is ready to generate its two outputs: the Query Results 271 and the Continuation State 270. As noted earlier, the Continuation State describes the current state of the engine, so that a later invocation may resume the search at the point where the current operation left off. For example, in FIG. 4, the search engine can return the correct <title> node 409 as well as any additional <title> nodes found under the Chapter nodes 405 and 406 (which are not fully elaborated in the FIGURE). The first result will be presented first, and the user indicates when to resume processing 280, at which time the entire process begins again at step 230, with the Continuation State supplied as input 212.
  • Returning to step [0039] 240, the other method of searching is for documents that are not stored in a relational database and instead are contained completely in memory. These documents can be searched much more efficiently than database documents, and so the query engine uses a different path. A simplified search for the proper query results is performed 260 on the document directly in memory. As with the database case, only the first results are used. If no results are found 265, the query engine is finished. Otherwise, the engine proceeds directly to create the Continuation State 270 and the query results 271.
  • The benefits of the tag, attribute, and attribute value checking mechanism is that it provides a less memory intensive manner of conducting a query since the search is merely looking for simple word associations as opposed to placement of the node in relation to other nodes. This [0040] partial checking mechanism 250 allows a much more efficient implementation when searching documents stored in a relational database or in any non-memory resident form, which is important for large documents. To complete the search query, however, the engine must refine the coarse results to eliminate incorrect matches such as the case of a <title> 402 directly under a <play> 401. This requires a descendant predicate check. Typically, such a check on a number of documents and a large number of nodes would consume a great deal of time and resources, especially in an electronic environment. It therefore becomes preferable to devise a constant time method to determine if an element is a descendant of another. The preferred embodiment is a unique binary encoding mechanism and corresponding descendant predicate algorithm to perform such a predicate check operation. In order to determine whether node A is a descendant of node B, this operation will require three pieces of information (1) the identification of the immediate parent, (2) the absolute depth of the node, and (3) binary encoding.
  • To explain the preferred embodiment of the binary coding mechanism used by the query engine, the following terms must be defined: newcode(), subtree depth, and absolute depth. [0041]
  • C=newcode(Cp) creates a new binary code, C, from the code, Cp, of the parent, P. The new code must have the property that for any two nodes, A and B, with codes Ca=code of node A and Cb=code of node B, the following relationship [0042]
  • (Ca & Cb)=Cb
  • where “==” indicates equality, and “&” indicates bitwise binary AND is true IF AND ONLY IF node A is a descendant of B, “descendant” being meant in the most general sense, not limited only to immediate descendants. [0043]
  • The subtree depth of a tag node is defined as follows: [0044]
  • the subtree depth of a leaf tag, meaning a tag node with no descendants (only its own value node), is zero. [0045]
  • the subtree depth of a node, P, with immediate descendants D[0046] 1, D2, . . . is equal to the maximum subtree depth of any descendant, plus 1.
  • FIG. 4 illustrates the assignment of subtree depths notated as “sd=” in the Figure. Note that subtree depths are only assigned to tags, not to their values. [0047]
  • The absolute depth of a node is defined as follows: [0048]
  • the absolute depth of the root of the tree is zero. [0049]
  • the absolute depth of any node, D, with parent P, is equal to the absolute depth of the parent node, plus 1. [0050]
  • Given these definitions, the method used by the query engine for assigning codes to a tree is as follows: [0051]
  • 1) Assign code zero to the root node. [0052]
  • 2) Start with the children of the root node, descend the tree in depth-first, left-to-right order. [0053]
  • 3) For each node visited, N, with parent P and parent's code Cp: [0054]
  • 3a) If the subtree depth of N is greater than 2 then assign a new code, Cn=newcode(Cp) to this node N. [0055]
  • 3b) If the subtree depth of N equals 2 then assign a new code, Cn=newcode(Cp) to this node N, and all descendants of N, recursively. [0056]
  • 3c) If the subtree depth of N is less than 2 and this is the first subtree of depth less than 2 encountered under parent P, then assign a new code Cpshared=newcode(Cp) to serve as a “shared code” for this parent. Then assign Cpshared as the code for N, and all descendants of N. [0057]
  • 3d) If the subtree depth of N is less than 2 and this is not the first subtree of depth less than 2 encountered under parent P, then a code, Cpshared, for parent P already exists. Assign Cpshared as the code for N, and all descendants of N. [0058]
  • This method results in codes being assigned such that: [0059]
  • All nodes in any single subtree of [0060] subtree depth 2 or less share a single common code generated as a new code based on the parent's code. This is illustrated as the circled nodes 430 in FIG. 4.
  • Furthermore, in a collection of related subtrees of [0061] depth 1 or 0, being related by having a common parent, all nodes in those subtrees share a single common code generated as a new code based on the common parent's code. This is illustrated as the circled nodes 440 in FIG. 4.
  • Using these encoding procedures allows the element encodings to be presented as packets of information nearly a factor of 100 times smaller than prior techniques since each node will not require separate binary numbers, thereby improving speed and performance during the searches. [0062]
  • FIG. 3 is a relationship diagram [0063] 300 showing the query engine incorporated into a transformative sequence processor. The user will supply a transformative sequence 310 in the form of an XSL specification. XSL is a standard in development by the World Wide Web Consortium (W3C). FIG. 8 is an example of an XSL transformation specification. First, the XSL tag is defined 800. Within the XSL tag, a rule tag is defined 810. The rule tag is composed of two elements, a Pattern 820 and an Action 830. The Pattern defines a set of items at which the transformative function implements the Action. In FIG. 8, the Pattern is defined as a title tag 840 when it occurs under a chapter tag 850, which itself occurs a book tag 860, should be transformed into an <H4> tag 870, when a document (or subdocument) containing it is rendered.
  • Note that XSL specifications may contain multiple rules, patterns, and actions; in this simple example only one rule with one pattern and one action is shown. [0064]
  • Referring back to FIG. 3, the [0065] XSL specification 310 is compiled by Query Compiler 320 into Query Engine Instructions 330. During compilation, only the Pattern 520 of the XSL rule is compiled. In FIG. 8, the Pattern is compiled with the <title>tag 840 becoming a tag value in the query engine instruction as previously described for step 221 in FIG. 2.
  • The Action [0066] 830 of the XSL transformation rule is not compiled during this sequence, and instead is supplied directly 335 to the transformative engine 380, along with the compiled query engine instructions 330.
  • The transformative engine consists of a Query [0067] Engine Abstract Machine 340 and a Rendering Algorithm 345. The Continuation State 370 produced by the query engine abstract machine is also held within the transformative engine.
  • The transformative engine uses the query engine to determine which nodes match the patterns in the XSL specification. As incremental results are supplied by the query engine, the transformation engine applies the appropriate matching transformation actions ([0068] 830) to the query engine results.
  • WORLD WIDE WEB EXAMPLE
  • An example of the preferred embodiment of the query and transformation sequence can be viewed in the context of the World Wide Web and the various markup languages that are associated with the Web although other embodiments cover with the non-networked computer databases. A ‘web browser’ is traditionally defined as a computer program which supports the displaying of documents, presently most of which include Hypertext Markup Language (HTML) formatting markup tags (discussed further below), and hyperlinking to other documents, or phrases in documents, across a network. In particular, web browsers are used to access documents across the Internet's World Wide Web. The discussion of the present invention defines both ‘web browser’ and ‘browser’ to include browser programs that enable accessing hyperlinked information over the Internet and other networks, as well as from magnetic disk, CD-ROM, or other memory, and does not limit web browsers to just use over the Internet. A number of web browsers are available, some of them commercially. Any viewer of the World Wide Web will typically use a web browser. Indeed, a viewer viewing documents created by the present invention normally uses a web browser to access the documents that a database provider may make available on the network. Web browsers allow clicking on “hot areas” (generated by source anchors containing a document reference name and a hyperlink to that document so that clicking on the hot area causes the specified document to be downloaded over the network and displayed for the viewer). Most web browsers s also maintain a history of previously used source anchors and display a hot area which allows hyperlinking back to the database provider's home page (or back through the locations the viewer has previously “visited”) so the viewer can always go back to a familiar place. [0069]
  • A viewer and a server, which is where web documents are contained, communicate using the functionality provided by Hypertext Transfer Protocol (HTTP). The Web includes all the servers adhering to this standard which are accessible to clients via Uniform Resource Locators (URL's). For example, communication can be provided over a communication medium. In some embodiments, the client and server may be coupled via Serial Line Internet Protocol (SLIP) or TCP/IP connections for high-capacity communication. The web browser is active within the client and presents information to the user. [0070]
  • One way of organizing information on the Internet in order to minimize download time has been to provide users with an overview interface, called a ‘home page,’ to the information. Although a home page is often merely used as a visually interesting trademark, the home page typically contains a key topic summary of the information provided by one author or database provider, and hyperlinks that take a viewer to the information the viewer has chosen. [0071]
  • A ‘hyperlink’ is defined as a point-and-click mechanism implemented on a computer which allows a viewer to link (or jump) from one screen display where a topic is referred to (called the ‘hyperlink source’), to other screen displays where more information about that topic exists (called the ‘hyperlink destination’). These hyperlinked screen displays can be portions of the media data (media data can include, e.g., text graphics, audio, video, etc.) from a single data file, or can be portions of a plurality of different data files; these can be stored in a single location, or at a plurality of separate locations. A hyperlink thus provides a computer-assisted way for a human user to efficiently jump between various locations containing information. [0072]
  • Finally, to support the Internet and the World Wide Web, a markup language called Hypertext Markup Language (HTML) was developed. HTML has two major objectives. First, HTML provides a way to specify the structural elements of text (e.g., this is a heading, this is a body of text, this is a list, etc.) using tags which are independent of the content of the text. A web browser uses these tags to format the displayed text for the particular display device of a particular viewer. So, for example, HTML allows an author to specify up to six levels of heading information bracketed by six different heading-tag pairs. Applications (e.g., web browsers) on different computers then process the HTML documents for visual presentation in a manner customized for particular display devices. An application on one computer could display a [0073] level 1 heading as 10 point bold Courier while an application on another computer could display it as a 20 point italic Times Roman. A level 1 sequence is heralded with the sequence token </h1>. Thus, a heading might be displayed as:
  • <h1> This is a level 1 heading </h1>
  • for a level one heading or [0074]
  • <h4> this is a level 4 heading </h4>
  • for a level 4 heading. As a markup language, HTML enables a document to be displayed within the capabilities of any particular display system even though that display system does not support italic, or bold, color, or any particular typeface or size. Thus HTML supports writing documents so they can be output to everything from simple monospaced, single-size fonts to proportional-spaced, multiple-size, multiple-style fonts. Each computer program that accesses an HTML document can translate that HTML document into a display format supported by the hardware running the program. [0075]
  • On the World Wide Web, the documents being generated are typically done in HTML. HTML defines hypertext structure within basic limits. It allows a programmer to define a link but it does not allow for differentiation between links or sublinks. An HTML document cannot be parsed into a multi-stage tree. In addition, differing tags cannot be defined in HTML, which reduces its flexibility. [0076]
  • These limitations to HTML are presently being addressed. One of the options is the Standard Generalized Markup Language (“SGML”). HTML can actually be viewed as a subset of SGML. SGML defines a language for use with presenting any form of information. However, SGML presents so many options for defining tags and presenting information that it is very difficult to use in standardizing a way for defining and presenting documents and their contents. [0077]
  • The difficulties in using SGML have led to the development of a hybrid, which would contain the advantages of SGML and HTML. This new language for establishing documents on the World Wide Web is the “Extensible Markup Language” (known as “XML”), which is termed extensible because it is not a fixed format like HTML. XML is designed to allow the use of SGML on the World Wide Web but with some limitations on the options that SGML provides. Basically, XML allows a programmer to devise his or her own set of markup elements. XML documents can be accessed through DTD or DTD-less operations. DTD is usually a file, which contains a formal definition of a particular type of document. This sets out what names can be used for elements, where they may occur and how they all fit together. Basically DTD is a formal language that allows the processors to parse a document and define the interrelations of the elements within an XML document. However, an XML document has additional flexibility since it can define its own markup elements by the existence and location of elements where created thereby allowing DTD-less reading. Pure SGML documents typically would require a DTD file to assist in the translation. [0078]
  • Even for XML documents, the reader must have the ability to efficiently find and retrieve more information about any particular item in a document. Presently, the query engines that exist for XML are comparatively slow. As noted earlier, these search engines rely on a node by node search (“node travel”) of an XML document that consists of examining the nodes. If the node has a leaf with the requested information, the engine will access the information. If the node does not have the information, the search will then move down to the node child and perform the same analysis. This type of search is time-consuming. In addition, these search engines do not have the capability to accept directions from non-XML compatible web browsers or present the information in a format compatible to such a web browser. [0079]
  • FIG. 5 is a block diagram of a system, indicated generally at [0080] 700, according to the illustrative embodiment. System 500 includes a Transmission Control Protocol/Internet Protocol (TCP/IP) network 510, a real media server computer 512 for executing a real media server process and a web server computer 516 for executing a Web server process. Web server 516 contains multiple web site 518 a-n, as shown in FIG. 5.
  • Moreover, as shown in FIG. 5, each of [0081] servers 512, 514 and 516 is coupled through TCP/IP network 510 to each of clients 502, 504, 506 and 508. Through TCP/IP network 510, information is communicated by servers 512, 514 and 516, and by clients 502, 504, 506 and 508 to one another.
  • [0082] Clients 502, 504, 506 and 508 are substantially identical to one another. Client 502 is a representative one of clients 502, 504, 506 and 508. Client 502 includes a user 520, input devices 522, media devices 524, speakers 526, a display device 528, a print device 530 and a client computer 532. Client computer 532 is connected to input devices 522, media devices 524, speakers 526, display device 528 and print device 530. Display device 528 is, for example, a conventional electronic cathode ray tube. Print device 530 is, for example, a conventional electronic printer or plotter.
  • [0083] User 520 and client computer 532 operate in association with one another. For example, in response to signals from client computer 530, display device 528 displays visual images, and user 520 views such visual images. Also, in response to signals from client computer 532, print device 530 prints visual images on paper, and user 520 views such visual images. Further, in response to signals from client computer 532, speakers 526 output audio frequencies, and user 520 listens to such audio frequencies. Moreover, user 520 operates input devices 522 and media devices 524 in order to output information to client computer 532, and client computer 532 receives such information from input devices 522 and media devices 524.
  • [0084] Input devices 522 include, for example, a conventional electronic keyboard and a pointing device such as a conventional electronic “mouse”, rollerball or light pen. User 520 operates the keyboard to output alphanumeric text information to client computer 532, and client computer 532 receives such alphanumeric text information from the keyboard. User 520 operates the pointing device to output cursor-control information to client computer 532, and client computer 532 receives such cursor-control information from the pointing device.
  • [0085] User 520 operates media devices 524 in order to output information to client computer 532 in the form of media signals, and client computer 532 receives such media signals from media devices 524. Media signals include for example video signals and audio signals. Media devices 524 include, for example, a microphone, a video camera, a videocassette player, a CD-ROM (compact disc, read-only memory) player, and an electronic scanner device.
  • A web browser typically is loaded onto a client computer and is launched by the client computer when accessing the World Wide Web. The web browser is used for accessing Web sites [0086] 518 (a-n) through the web server 516.
  • The advantages of a web browser on a network such as the Internet is that any of the documents viewed with the program may be located (or scattered in pieces) on any computer connected to [0087] network 500. The viewer can use a mouse 522, or other pointing device, to click-on a hot area, such as highlighted text or a button, and cause the relevant portion of the referenced document to be downloaded to the viewer's computer 532 for viewing. These downloaded documents in turn can contain hyperlinks to other documents on the same or other computers. ‘Downloading’ is defined as the transmitting of a document or other information from the database provider 518 over a network 500 to the viewer's computer 532.
  • As noted earlier, information is presented to World Wide Web viewers as a collection of ‘documents’ and ‘pages’. As mentioned above, a ‘document’ is defined in a broad sense to indicate text, pictorial, audio, video and other information stored in one or more computer files. Viewing such multimedia files can be much like watching television. Documents include everything from simple short text documents to large computer multi-media databases. [0088]
  • A ‘page’ is defined as any discrete file, which can be downloaded as a single download segment. Technically, a web browser does not recognize or access documents per se, but instead accesses pages. Typically, a web browser downloads one page as the result of clicking on a hot area. A page often has several source anchors with hyperlinks to various other pages or to specific locations within pages. [0089]
  • One problem with accessing documents over the Internet is that many documents are quite long, and thus can take quite some time to download over the network. This means that viewers are often reluctant to access a document unless they know it will be useful. FIG. 6 shows the typical information available at a web site. A [0090] web site 600 might contain a number of internal lines 610 and/or sections with multiple pages. The presentation of text and or graphics 620 on a web site 600 is defined by a markup language. A page is thus a document, which contains a portion of a source document.
  • FIG. 7 shows a process for displaying/searching a web document using a web browser. A session typically commences when the HTTP server detects a request for a client connect. After connection, a simple query can be implemented through the web browser. In the prior art, such a query would usually just include a term to be found in the Web document. Then, the requested page, typically the home page, is displayed on the client browser. As noted above, the client and server may be coupled via a TCP/IP connection. Active within the [0091] client 532 is the web browser 510, which establishes the connection with the web server 516. The web server 516 executes the corresponding server software which presents information to the client in the form of HTTP responses 720. The HTTP responses correspond to Web pages represented using markup language. In this embodiment, the markup language is XML. The web browser will activate the search engine 730 on the web server.
  • The XML versions of articles are searched for the presence of specified search terms, if the web browser is compatible. If the web browser is not compatible, the XML results are converted to a compatible format. The XML results of these search requests can then be displayed on the client's console. [0092]
  • The transformative process on a server is called a server-side transformation. If the browser is XML/XSL-enabled MS IE4 is an example, then server-side transformations need not be implemented on the server since the browser has XML/XSL capabilities. If the browser is not XML/XSL-enabled, and there are commands that can be provided to transform information, then server-side transformation is implemented. As a matter of fact, there may be multiple transformation (XSL) specifications for a variety of formats on each server. The server will enable the appropriate XSL specification given the available browser information; i.e., if the browser is not XML-enabled but is CSS (cascading style sheets)-enabled, the server-side transformations using the “CSS” XSL specification will be implemented, and if the browser is not even CSS-enabled then a “raw HTML” XSL specification can be used, and so forth. [0093]
  • These capabilities are very “back end” oriented, in the sense that they constitute implementation details of commands on the server, as opposed to having graphical manifestation on the GUI of the client computer. The following is an example of the transformation and query process using the following XML document: [0094]
  • <MYDOC>[0095]
  • <SEC>[0096]
  • [0097] Section 1 content . . .
  • <PAR>[0098]
  • [0099] Paragraph 1 content . . .
  • </PAR>[0100]
  • <PAR>[0101]
  • [0102] Paragraph 2 content . . .
  • </PAR>[0103]
  • etc. [0104]
  • <SEC>[0105]
  • <SEC color-blue>[0106]
  • [0107] Section 2 content . . .
  • etc. [0108]
  • <SEC>[0109]
  • </MYDOC>[0110]
  • The corresponding example query expressions are: [0111]
  • “<SEC>(1) WHERE (COLOR=“BLUE”) UNDER <MYDOC>”[0112]
  • which fetches the first section whose color attribute is blue and which is located under MYDOC . . . and [0113]
  • “<PAR>(2) 2 LEVELS UNDER <MYDOC>”[0114]
  • which fetches the second paragraph, which must be exactly two levels under MYDOC. [0115]
  • Therefore, in a preferred server side embodiment, the server does not have to depend on XML DTDs with the preferred query and transformative engine in order to present information to a user either in an HTML, XML or other markup format. [0116]
  • In such a preferred embodiment, the XML query and transformative engine is located on the server to perform server-side tranformations. The XML and query engine allows XML/XSL-enabled browsers to access the XML documents on the server, whereas those browsers not enabled with XML will have the XML documents on the server transformed into a presentation format acceptable by the browser. [0117]
  • This is a unique approach, which allows a Web site user to have control of the content through their queries, and based on the user's browser and client computer. This server side embodiment therefore allows for access to XML documents for many of the web browsers on the market. [0118]
  • Again, referring back to FIG. 4, which depicts the potential tree ordering of an XML document. In this tree, each leaf contains presentable material. Each individual leaf is defined as a child of a certain number of branches. These branches are labeled as tags. The title for the play Hamlet would be a leaf. The Hamlet leaf would be child of the “Title” branch of the “Play” branch. Therefore, a user requesting a search for the title of the play [<title> under <play>] would receive the term Hamlet in [0119] node 408 and would not receive the term Prologue from node 412. The convenience of XML is that it is able to allow a user to define a number of its own tags and therefore categorize leafs with a greater level of detail.
  • The implementation of XML documents on a Web site does lead to a number of potential problems. With HTML as the primary language of use on Web sites and with a majority of web browsers, many users with such browsers will not be able to access information coded in XML. [0120]
  • In order to allow such access by HTML based web browsers, a transformative sequence is integrated with the query engine so that based on the web browser used to access the Web site, a certain transformative sequence will be implemented. The transformative sequence will then access a set of extensible Style Language (XSL) transformative rules that will establish the display for the XML information into the necessary format. [0121]
  • It should be appreciated by those skilled in the art that the specific embodiments disclosed above may be readily utilized as a basis for modifying or designing other methods for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims. [0122]

Claims (30)

We claim:
1. A query engine for searching for an electronic document, comprising:
(a) means for accepting a query;
(b) means for compiling the query into query engine instructions, such instructions including tags and attributes instructions;
(c) means for conducting a partial search for nodes based on tags and attributes;
(d) means for conducting a predicate check on the nodes found by the partial search to ensure that the node conforms to the query; and
(e) means for generating an output based on the predicate check.
2. The query engine of
claim 1
wherein the means for generating an output includes storing the search in a continuation state.
3. The query engine of
claim 2
wherein the means for compiling is reactivating the continuation state.
4. The query engine of
claim 1
wherein the predicate check comprises the analysis of at least the following:
(a) the identification of the immediate parent of each node;
(b) the absolute depth of each node; and
(c) binary encoding.
5. The query engine of
claim 1
wherein, in response to at least one successful result obtained by the means for conducting a predicate check, the means for generating an output is activated.
6. The query engine of
claim 5
wherein the means for conducting a predicate check is reactivated by the user after each output.
7. The query engine of
claim 1
further comprising a means for the user to conduct another partial search after the predicate check through the means for conducting a partial search.
8. The query engine of
claim 1
further comprising a means for the user to conduct another partial search after a generated output through the means for conducting a partial search.
9. The query engine of
claim 1
further comprising a means for conducting a complete search of the nodes based on tags and attributes.
10. The query engine of
claim 9
wherein, if the engine is searching a document in memory, the query engine implements the means for conducting a complete search of the nodes of document in-memory.
11. A method of searching, comprising:
accepting a query;
compiling the query into query engine instructions, such instructions including tags and attributes instructions;
conducting a partial search for nodes based on tags and attributes;
conducting a predicate check on the nodes found by the partial search; and
generating an output based on the predicate check.
12. The method of searching of
claim 11
wherein the partial search is based on tags and attributes of the nodes.
13. The method of searching of
claim 11
wherein the partial search is conducted on a document parse tree.
14. The method of
claim 11
wherein during the step of conducting a predicate check if a result fulfilling the query is determined, said result is moved to the next step of generating an output.
15. The method of
claim 14
wherein when said result is determined, the rest of the partial search is stored in a continuation state.
16. The method of
claim 15
further comprising the step of reactivating the partial search in the continuation step after generating an output.
17. A computer program product for conducting searches on a database, the computer program product comprising:
a computer usable medium having computer readable program code means embodied in said medium for searching, said computer readable program code means comprising;
(a) means for accepting a search query
(b) means for compiling the query into query engine instructions; said means for compiling the query comprising;
means for identifying the language of the query;
means for associating the language of the query with a correct compiler; and
means for using the correct compiler to generate the query engine instructions
(c) means for conducting a partial search for nodes based on tags and attributes;
(d) means for conducting a predicate check on the nodes found by the partial search; and
(e) means for generating an output.
18. The computer program product of
claim 17
wherein the means for generating an output comprises;
means for identifying data on the node;
means for identifying the correct compiler for the data;
means for compiling the data into the language of the query; and
means for providing the compiled data to the user.
19. A computer-implemented method of retrieving information in a first markup language through a query engine comprising:
a. receiving a query in a patterned format
b. determining an appropriate transformative sequence from the query
c. compiling a pattern from the transformative sequence
d. assigning the compiled pattern a keyword;
e. searching the databases for nodes with the keyword;
f. performing a predicate check on a keyword node;
g. obtaining the leaf information associated with a checked keyword node; and
h. presenting the leaf information to the user.
20. The method of
claim 19
wherein the transformative sequence comprises:
the pattern; and
an action, wherein the action defines changing the leaf information from the first markup language to a second markup language.
21. The method of
claim 20
wherein in presenting the leaf, the transformative sequence is applied to the leaf information changing it from the first markup language to the second markup language.
22. The method of
claim 19
wherein performing the predicate check on the keyword comprises:
obtaining selected information of the keyword node; and
comparing selective information to confirm the keyword node with the search request.
23. The method of
claim 22
wherein the selected information is (i) the identification of the immediate parent of the keyword node, (ii) the depth of the keyword node, and (iii) the binary coding of the keyword node
24. The method of
claim 23
wherein the binary coding is the binary code assigned to node clusters, including leaves with a depth of three nodes.
25. A query and transformative engine for residing on a server comprising:
a. means for determining the browser format;
b. means for accepting query from the browser;
c. means for conducting query search;
d. means for transforming results from the query search into the browser format; and
e. means for delivering the transformed results to the browser.
26. A computer program product, for allowing query and transformative functions on a server, comprising:
a computer application processable by a computer for causing the server to:
receive a query request from a web browser;
process the query request to identify suitable portions of Web documents; and
present the identified portions to the web browser; and
apparatus from which the computer program is accessible by the computer.
27. The product of
claim 26
wherein to process the query requests comprises:
identifying the markup language format of the web browser;
if the web browser markup language is different from the document markup language, altering the query request to the document markup language; and
conducting the query request in the document markup language.
28. The product of
claim 27
wherein to present the identified portions to the web browser comprises:
obtaining results to the query request in the document markup language,
if the document markup language is different from the document markup language, altering the results to the web browser markup format; and
presenting the results in the web browser markup format.
29. The product of
claim 27
wherein the document markup language is XML.
30. The product of
claim 27
wherein the web browser markup format is HTML.
US09/884,230 1998-08-14 2001-06-19 Automatic query and transformative process Expired - Lifetime US6438540B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US09/884,230 US6438540B2 (en) 1998-08-14 2001-06-19 Automatic query and transformative process
US10/206,020 US6882995B2 (en) 1998-08-14 2002-07-26 Automatic query and transformative process

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/134,263 US6263332B1 (en) 1998-08-14 1998-08-14 System and method for query processing of structured documents
US09/884,230 US6438540B2 (en) 1998-08-14 2001-06-19 Automatic query and transformative process

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/134,263 Continuation US6263332B1 (en) 1998-08-14 1998-08-14 System and method for query processing of structured documents

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US10/206,020 Continuation US6882995B2 (en) 1998-08-14 2002-07-26 Automatic query and transformative process

Publications (2)

Publication Number Publication Date
US20010044794A1 true US20010044794A1 (en) 2001-11-22
US6438540B2 US6438540B2 (en) 2002-08-20

Family

ID=22462540

Family Applications (3)

Application Number Title Priority Date Filing Date
US09/134,263 Expired - Lifetime US6263332B1 (en) 1998-08-14 1998-08-14 System and method for query processing of structured documents
US09/884,230 Expired - Lifetime US6438540B2 (en) 1998-08-14 2001-06-19 Automatic query and transformative process
US10/206,020 Expired - Lifetime US6882995B2 (en) 1998-08-14 2002-07-26 Automatic query and transformative process

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/134,263 Expired - Lifetime US6263332B1 (en) 1998-08-14 1998-08-14 System and method for query processing of structured documents

Family Applications After (1)

Application Number Title Priority Date Filing Date
US10/206,020 Expired - Lifetime US6882995B2 (en) 1998-08-14 2002-07-26 Automatic query and transformative process

Country Status (1)

Country Link
US (3) US6263332B1 (en)

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020049756A1 (en) * 2000-10-11 2002-04-25 Microsoft Corporation System and method for searching multiple disparate search engines
WO2004013809A2 (en) * 2002-08-06 2004-02-12 Siemens Energy & Automation, Inc. Devices, systems, and methods for mediated rule-based translation of system configuration information
US20050204281A1 (en) * 2004-03-12 2005-09-15 Kagi Corporation Dynamic web storefront technology
US7194469B1 (en) * 2002-09-24 2007-03-20 Adobe Systems Incorporated Managing links in a collection of documents
WO2007089348A1 (en) * 2006-01-26 2007-08-09 Microsoft Corporation Analyzing binary code
US20080133670A1 (en) * 2006-11-30 2008-06-05 Gestalt Llc Context-based identification of entity with which communication occurs
US20090055432A1 (en) * 2007-08-23 2009-02-26 International Business Machines Corporation Accessing objects in a service registry and repository
US20090083239A1 (en) * 2007-09-24 2009-03-26 International Business Machines Corporation Accessing objects in a service registry and repository using a treat as function
US7716714B2 (en) 2004-12-01 2010-05-11 At&T Intellectual Property I, L.P. System and method for recording television content at a set top box
US20100299290A1 (en) * 2005-01-28 2010-11-25 Aol Inc. Web Query Classification
US7873102B2 (en) 2005-07-27 2011-01-18 At&T Intellectual Property I, Lp Video quality testing by encoding aggregated clips
US7908621B2 (en) 2003-10-29 2011-03-15 At&T Intellectual Property I, L.P. System and apparatus for local video distribution
US7908627B2 (en) 2005-06-22 2011-03-15 At&T Intellectual Property I, L.P. System and method to provide a unified video signal for diverse receiving platforms
US20110099502A1 (en) * 2009-10-28 2011-04-28 Yahoo! Inc. Developer Interface and Associated Methods for System for Querying and Consuming Web-Based Data
US8005817B1 (en) * 2005-11-30 2011-08-23 At&T Intellectual Property Ii, L.P. System and method for providing structure and content scoring for XML
US20110208848A1 (en) * 2008-08-05 2011-08-25 Zhiyong Feng Network system of web services based on semantics and relationships
US8054849B2 (en) 2005-05-27 2011-11-08 At&T Intellectual Property I, L.P. System and method of managing video content streams
US8086261B2 (en) 2004-10-07 2011-12-27 At&T Intellectual Property I, L.P. System and method for providing digital network access and digital broadcast services using combined channels on a single physical medium to the customer premises
US8190688B2 (en) 2005-07-11 2012-05-29 At&T Intellectual Property I, Lp System and method of transmitting photographs from a set top box
US8214859B2 (en) 2005-02-14 2012-07-03 At&T Intellectual Property I, L.P. Automatic switching between high definition and standard definition IP television signals
US8228224B2 (en) 2005-02-02 2012-07-24 At&T Intellectual Property I, L.P. System and method of using a remote control and apparatus
US8282476B2 (en) 2005-06-24 2012-10-09 At&T Intellectual Property I, L.P. Multimedia-based video game distribution
US8365218B2 (en) 2005-06-24 2013-01-29 At&T Intellectual Property I, L.P. Networked television and method thereof
US8390744B2 (en) 2004-12-06 2013-03-05 At&T Intellectual Property I, L.P. System and method of displaying a video stream
US8434116B2 (en) 2004-12-01 2013-04-30 At&T Intellectual Property I, L.P. Device, system, and method for managing television tuners
US8584257B2 (en) 2004-08-10 2013-11-12 At&T Intellectual Property I, L.P. Method and interface for video content acquisition security on a set-top box
US8635659B2 (en) 2005-06-24 2014-01-21 At&T Intellectual Property I, L.P. Audio receiver modular card and method thereof
US8893199B2 (en) 2005-06-22 2014-11-18 At&T Intellectual Property I, L.P. System and method of managing video content delivery
US8904458B2 (en) 2004-07-29 2014-12-02 At&T Intellectual Property I, L.P. System and method for pre-caching a first portion of a video file on a set-top box
US9734222B1 (en) * 2004-04-06 2017-08-15 Jpmorgan Chase Bank, N.A. Methods and systems for using script files to obtain, format and transport data

Families Citing this family (283)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487566B1 (en) * 1998-10-05 2002-11-26 International Business Machines Corporation Transforming documents using pattern matching and a replacement language
US6535896B2 (en) * 1999-01-29 2003-03-18 International Business Machines Corporation Systems, methods and computer program products for tailoring web page content in hypertext markup language format for display within pervasive computing devices using extensible markup language tools
US7366708B2 (en) * 1999-02-18 2008-04-29 Oracle Corporation Mechanism to efficiently index structured data that provides hierarchical access in a relational database system
US6507857B1 (en) * 1999-03-12 2003-01-14 Sun Microsystems, Inc. Extending the capabilities of an XSL style sheet to include components for content transformation
US6826597B1 (en) * 1999-03-17 2004-11-30 Oracle International Corporation Providing clients with services that retrieve data from data sources that do not necessarily support the format required by the clients
JP2001014417A (en) * 1999-03-31 2001-01-19 Canon Inc Synchronization of visual queue to multimedia presentation
US6463440B1 (en) * 1999-04-08 2002-10-08 International Business Machines Corporation Retrieval of style sheets from directories based upon partial characteristic matching
US6589291B1 (en) * 1999-04-08 2003-07-08 International Business Machines Corporation Dynamically determining the most appropriate location for style sheet application
US7047180B1 (en) * 1999-04-30 2006-05-16 Autodesk, Inc. Method and apparatus for providing access to drawing information
US6986101B2 (en) * 1999-05-06 2006-01-10 International Business Machines Corporation Method and apparatus for converting programs and source code files written in a programming language to equivalent markup language files
US6668271B1 (en) * 1999-05-19 2003-12-23 Richo Company, Ltd. System for distributing, installing and running web applications (agents)
EP1194872A1 (en) * 1999-06-11 2002-04-10 CCI Europe A/S (Stibo A/S) A content management computer system for managing publishing content objects
US6405211B1 (en) * 1999-07-08 2002-06-11 Cohesia Corporation Object-oriented representation of technical content and management, filtering, and synthesis of technical content using object-oriented representations
US6959415B1 (en) * 1999-07-26 2005-10-25 Microsoft Corporation Methods and apparatus for parsing Extensible Markup Language (XML) data streams
US6691119B1 (en) * 1999-07-26 2004-02-10 Microsoft Corporation Translating property names and name space names according to different naming schemes
US7386599B1 (en) * 1999-09-30 2008-06-10 Ricoh Co., Ltd. Methods and apparatuses for searching both external public documents and internal private documents in response to single search request
US6772338B1 (en) 1999-10-26 2004-08-03 Ricoh Co., Ltd. Device for transfering data between an unconscious capture device and another device
US7020845B1 (en) * 1999-11-15 2006-03-28 Gottfurcht Elliot A Navigating internet content on a television using a simplified interface and a remote control
US6600497B1 (en) * 1999-11-15 2003-07-29 Elliot A. Gottfurcht Apparatus and method to navigate interactive television using unique inputs with a remote control
JP3754253B2 (en) * 1999-11-19 2006-03-08 株式会社東芝 Structured document search method, structured document search apparatus, and structured document search system
US7146614B1 (en) * 1999-12-22 2006-12-05 Novell, Inc. Computer directory system having an application integration driver infrastructure
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
JP2001195406A (en) * 2000-01-06 2001-07-19 Media Fusion Co Ltd Database management system
US6823492B1 (en) * 2000-01-06 2004-11-23 Sun Microsystems, Inc. Method and apparatus for creating an index for a structured document based on a stylesheet
US6691104B1 (en) * 2000-01-12 2004-02-10 International Business Machines Corporation System and method for personalizing and applying a post processing tool system
US6665658B1 (en) * 2000-01-13 2003-12-16 International Business Machines Corporation System and method for automatically gathering dynamic content and resources on the world wide web by stimulating user interaction and managing session information
DE60139157D1 (en) * 2000-01-14 2009-08-13 Thinkstream Inc DISTRIBUTED INFORMATION NETWORK WITH GLOBAL ACCESS
US8019757B2 (en) 2000-01-14 2011-09-13 Thinkstream, Inc. Distributed globally accessible information network implemented to maintain universal accessibility
US6389467B1 (en) 2000-01-24 2002-05-14 Friskit, Inc. Streaming media search and continuous playback system of media resources located by multiple network addresses
US6519648B1 (en) * 2000-01-24 2003-02-11 Friskit, Inc. Streaming media search and continuous playback of multiple media resources located on a network
US6591260B1 (en) * 2000-01-28 2003-07-08 Commerce One Operations, Inc. Method of retrieving schemas for interpreting documents in an electronic commerce system
US6604100B1 (en) * 2000-02-09 2003-08-05 At&T Corp. Method for converting relational data into a structured document
US6785673B1 (en) 2000-02-09 2004-08-31 At&T Corp. Method for converting relational data into XML
US6931397B1 (en) * 2000-02-11 2005-08-16 International Business Machines Corporation System and method for automatic generation of dynamic search abstracts contain metadata by crawler
US8019770B1 (en) * 2000-02-22 2011-09-13 M. A. Mobile Ltd. Dynamic rendering of content that includes query expressions
US7707159B2 (en) * 2000-03-02 2010-04-27 Actuate Corporation Method and apparatus for storing semi-structured data in a structured manner
US7124144B2 (en) * 2000-03-02 2006-10-17 Actuate Corporation Method and apparatus for storing semi-structured data in a structured manner
US6449620B1 (en) * 2000-03-02 2002-09-10 Nimble Technology, Inc. Method and apparatus for generating information pages using semi-structured data stored in a structured manner
US6581062B1 (en) * 2000-03-02 2003-06-17 Nimble Technology, Inc. Method and apparatus for storing semi-structured data in a structured manner
US7152062B1 (en) 2000-11-21 2006-12-19 Actuate Corporation Technique for encapsulating a query definition
US20040150677A1 (en) * 2000-03-03 2004-08-05 Gottfurcht Elliot A. Method for navigating web content with a simplified interface using audible commands
WO2001067207A2 (en) 2000-03-09 2001-09-13 The Web Access, Inc. Method and apparatus for organizing data by overlaying a searchable database with a directory tree structure
US6968503B1 (en) * 2000-03-09 2005-11-22 Quovadx, Inc. XML user interface for a workflow server
US6611881B1 (en) 2000-03-15 2003-08-26 Personal Data Network Corporation Method and system of providing credit card user with barcode purchase data and recommendation automatically on their personal computer
JP2001266052A (en) * 2000-03-15 2001-09-28 Ricoh Co Ltd Method and device for structuring information and generating application
US6934712B2 (en) * 2000-03-21 2005-08-23 International Business Machines Corporation Tagging XML query results over relational DBMSs
US6778983B1 (en) 2000-04-28 2004-08-17 International Business Machines Corporation Apparatus and method for accessing HTML files using an SQL query
US6745181B1 (en) 2000-05-02 2004-06-01 Iphrase.Com, Inc. Information access method
US8478732B1 (en) 2000-05-02 2013-07-02 International Business Machines Corporation Database aliasing in information access system
US6711561B1 (en) * 2000-05-02 2004-03-23 Iphrase.Com, Inc. Prose feedback in information access system
US7127450B1 (en) * 2000-05-02 2006-10-24 International Business Machines Corporation Intelligent discard in information access system
US6704728B1 (en) * 2000-05-02 2004-03-09 Iphase.Com, Inc. Accessing information from a collection of data
US20010049702A1 (en) * 2000-06-05 2001-12-06 Sun Microsystems, Inc. Service side filtering XML messages in a distributed network
US7284239B1 (en) * 2000-06-06 2007-10-16 Adobe Systems Incorporated Transforming server-side processing grammars
US7080314B1 (en) * 2000-06-16 2006-07-18 Lucent Technologies Inc. Document descriptor extraction method
US6684204B1 (en) * 2000-06-19 2004-01-27 International Business Machines Corporation Method for conducting a search on a network which includes documents having a plurality of tags
US8290768B1 (en) 2000-06-21 2012-10-16 International Business Machines Corporation System and method for determining a set of attributes based on content of communications
US9699129B1 (en) 2000-06-21 2017-07-04 International Business Machines Corporation System and method for increasing email productivity
US6408277B1 (en) 2000-06-21 2002-06-18 Banter Limited System and method for automatic task prioritization
US7152058B2 (en) * 2000-07-13 2006-12-19 Biap Systems, Inc. Apparatus for and method of selectively retrieving information and enabling its subsequent display
US6502101B1 (en) * 2000-07-13 2002-12-31 Microsoft Corporation Converting a hierarchical data structure into a flat data structure
US7007037B2 (en) * 2000-07-31 2006-02-28 Oracle International Corporation Opaque types
AU2001281023A1 (en) 2000-08-01 2002-04-08 Nimble Technology, Inc. Nested conditional relations (ncr) model and algebra
CA2419409A1 (en) * 2000-08-21 2002-02-28 Intellocity Usa, Inc. System and method for television enhancement
US7024425B2 (en) * 2000-09-07 2006-04-04 Oracle International Corporation Method and apparatus for flexible storage and uniform manipulation of XML data in a relational database system
US6871204B2 (en) * 2000-09-07 2005-03-22 Oracle International Corporation Apparatus and method for mapping relational data and metadata to XML
US7873649B2 (en) * 2000-09-07 2011-01-18 Oracle International Corporation Method and mechanism for identifying transaction on a row of data
US7089330B1 (en) * 2000-09-28 2006-08-08 I2 Technologies Us, Inc. System and method for transforming custom content generation tags associated with web pages
US6681221B1 (en) * 2000-10-18 2004-01-20 Docent, Inc. Method and system for achieving directed acyclic graph (DAG) representations of data in XML
US6611843B1 (en) * 2000-10-26 2003-08-26 Docent, Inc. Specification of sub-elements and attributes in an XML sub-tree and method for extracting data values therefrom
US8312429B2 (en) * 2000-11-10 2012-11-13 Oracle International Corporation Cell based data processing
US6983288B1 (en) 2000-11-20 2006-01-03 Cisco Technology, Inc. Multiple layer information object repository
US7139973B1 (en) 2000-11-20 2006-11-21 Cisco Technology, Inc. Dynamic information object cache approach useful in a vocabulary retrieval system
US6665662B1 (en) * 2000-11-20 2003-12-16 Cisco Technology, Inc. Query translation system for retrieving business vocabulary terms
US7062705B1 (en) 2000-11-20 2006-06-13 Cisco Technology, Inc. Techniques for forming electronic documents comprising multiple information types
US7103607B1 (en) 2000-11-20 2006-09-05 Cisco Technology, Inc. Business vocabulary data retrieval using alternative forms
US7007018B1 (en) 2000-11-20 2006-02-28 Cisco Technology, Inc. Business vocabulary data storage using multiple inter-related hierarchies
US7970437B2 (en) * 2000-11-29 2011-06-28 Nokia Corporation Wireless terminal device with user interaction system
WO2002048920A2 (en) * 2000-12-12 2002-06-20 Time Warner Entertainment Company, L.P. Digital asset data type definitions
US7085834B2 (en) * 2000-12-22 2006-08-01 Oracle International Corporation Determining a user's groups
US7581011B2 (en) * 2000-12-22 2009-08-25 Oracle International Corporation Template based workflow definition
US7802174B2 (en) 2000-12-22 2010-09-21 Oracle International Corporation Domain based workflows
US7415607B2 (en) * 2000-12-22 2008-08-19 Oracle International Corporation Obtaining and maintaining real time certificate status
US8015600B2 (en) 2000-12-22 2011-09-06 Oracle International Corporation Employing electronic certificate workflows
US7475151B2 (en) * 2000-12-22 2009-01-06 Oracle International Corporation Policies for modifying group membership
US7363339B2 (en) * 2000-12-22 2008-04-22 Oracle International Corporation Determining group membership
US7380008B2 (en) 2000-12-22 2008-05-27 Oracle International Corporation Proxy system
US7711818B2 (en) * 2000-12-22 2010-05-04 Oracle International Corporation Support for multiple data stores
US7937655B2 (en) * 2000-12-22 2011-05-03 Oracle International Corporation Workflows with associated processes
US7349912B2 (en) 2000-12-22 2008-03-25 Oracle International Corporation Runtime modification of entries in an identity system
US6816871B2 (en) 2000-12-22 2004-11-09 Oblix, Inc. Delivering output XML with dynamically selectable processing
US6782379B2 (en) 2000-12-22 2004-08-24 Oblix, Inc. Preparing output XML based on selected programs and XML templates
US7213249B2 (en) * 2000-12-22 2007-05-01 Oracle International Corporation Blocking cache flush requests until completing current pending requests in a local server and remote server
US7644057B2 (en) 2001-01-03 2010-01-05 International Business Machines Corporation System and method for electronic communication management
US7904595B2 (en) * 2001-01-18 2011-03-08 Sdl International America Incorporated Globalization management system and method therefor
SE0100190L (en) * 2001-01-24 2002-07-25 Ericsson Telefon Ab L M An arrangement and method for presentation customer customization in a portal structure.
EP1227639A3 (en) * 2001-01-30 2003-10-29 AT&T Corp. Network service for adaptive mobile applications
TW571201B (en) * 2001-02-02 2004-01-11 Wistron Corp Conversion method and system for contents format of document file
US7386792B1 (en) * 2001-03-07 2008-06-10 Thomas Layne Bascom System and method for collecting, storing, managing and providing categorized information related to a document object
US7158971B1 (en) 2001-03-07 2007-01-02 Thomas Layne Bascom Method for searching document objects on a network
US7389241B1 (en) * 2001-03-07 2008-06-17 Thomas Layne Bascom Method for users of a network to provide other users with access to link relationships between documents
US7047525B2 (en) * 2001-04-02 2006-05-16 American Express Travel Related Services Company, Inc. System and method for an interoperability framework
US7136846B2 (en) 2001-04-06 2006-11-14 2005 Keel Company, Inc. Wireless information retrieval
US6988667B2 (en) * 2001-05-31 2006-01-24 Alien Technology Corporation Methods and apparatuses to identify devices
US7107521B2 (en) * 2001-07-03 2006-09-12 International Business Machines Corporation XSL dynamic inheritance
US20030037031A1 (en) * 2001-08-16 2003-02-20 Birder Matthew D. Mechanism for automatically generating a transformation document
US7120869B2 (en) * 2001-08-16 2006-10-10 Sun Microsystems, Inc. Enhanced mechanism for automatically generating a transformation document
JP4045400B2 (en) * 2001-08-24 2008-02-13 富士ゼロックス株式会社 Search device and search method
US7146358B1 (en) * 2001-08-28 2006-12-05 Google Inc. Systems and methods for using anchor text as parallel corpora for cross-language information retrieval
US20030061062A1 (en) * 2001-09-26 2003-03-27 Tucker Timothy J. XML data switch
US7047250B1 (en) 2001-09-28 2006-05-16 Oracle International Corporation Indexing to efficiently manage versioned data in a database system
US7051039B1 (en) 2001-09-28 2006-05-23 Oracle International Corporation Mechanism for uniform access control in a database system
US7028037B1 (en) 2001-09-28 2006-04-11 Oracle International Corporation Operators for accessing hierarchical data in a relational system
US7092967B1 (en) 2001-09-28 2006-08-15 Oracle International Corporation Loadable units for lazy manifestation of XML documents
AU2002334721B2 (en) 2001-09-28 2008-10-23 Oracle International Corporation An index structure to access hierarchical data in a relational database system
US7047253B1 (en) 2001-09-28 2006-05-16 Oracle Interntional Corporation Mechanisms for storing content and properties of hierarchically organized resources
US7193504B2 (en) * 2001-10-09 2007-03-20 Alien Technology Corporation Methods and apparatuses for identification
US7225256B2 (en) 2001-11-30 2007-05-29 Oracle International Corporation Impersonation in an access system
US20030120721A1 (en) * 2001-12-19 2003-06-26 Clark Patrick R. System and method for retrieving information from external systems
US20030140333A1 (en) * 2001-12-20 2003-07-24 Hitachi, Ltd. Integration of computer system components
US20030139917A1 (en) * 2002-01-18 2003-07-24 Microsoft Corporation Late binding of resource allocation in a performance simulation infrastructure
US7035837B2 (en) * 2002-01-30 2006-04-25 Benefitnation Document component management and publishing system
US20030142128A1 (en) * 2002-01-30 2003-07-31 Benefitnation User interface for a document component management and publishing system
US7343372B2 (en) * 2002-02-22 2008-03-11 International Business Machines Corporation Direct navigation for information retrieval
US6845452B1 (en) * 2002-03-12 2005-01-18 Reactivity, Inc. Providing security for external access to a protected computer network
US7093195B2 (en) * 2002-03-21 2006-08-15 International Business Machines Corporation Standards-based formatting of flat files into markup language representations
US7130842B2 (en) * 2002-03-21 2006-10-31 International Business Machines Corporation Method and apparatus for generating electronic document definitions
US7315980B2 (en) * 2002-03-21 2008-01-01 International Business Machines Corporation Method and apparatus for generating electronic document definitions
US7305455B2 (en) * 2002-03-21 2007-12-04 International Business Machines Corporation Interfacing objects and markup language messages
US20040150676A1 (en) * 2002-03-25 2004-08-05 Gottfurcht Elliot A. Apparatus and method for simple wide-area network navigation
US6983275B2 (en) * 2002-04-16 2006-01-03 International Business Machines Corporation Optimizing database query by generating, determining the type of derived predicate based on monotonicity of the column generating expression for each remaining inequality predicate in the list of unexamined predicates
US7480856B2 (en) * 2002-05-02 2009-01-20 Intel Corporation System and method for transformation of XML documents using stylesheets
US7076729B2 (en) * 2002-05-09 2006-07-11 International Business Machines Corporation Graphical specification of XML to XML transformation rules
US7216163B2 (en) * 2002-05-15 2007-05-08 Oracle International Corporation Method and apparatus for provisioning tasks using a provisioning bridge server
US7840658B2 (en) 2002-05-15 2010-11-23 Oracle International Corporation Employing job code attributes in provisioning
US6862590B2 (en) * 2002-05-30 2005-03-01 Microsoft Corporation Converting expressions to execution plans
US20040103105A1 (en) * 2002-06-13 2004-05-27 Cerisent Corporation Subtree-structured XML database
US7054859B2 (en) * 2002-06-13 2006-05-30 Hewlett-Packard Development Company, L.P. Apparatus and method for responding to search requests for stored documents
AU2003245506A1 (en) * 2002-06-13 2003-12-31 Mark Logic Corporation Parent-child query indexing for xml databases
AU2003236514A1 (en) * 2002-06-13 2003-12-31 Mark Logic Corporation Xml database mixed structural-textual classification system
US7840673B1 (en) 2002-06-17 2010-11-23 International Business Machines Corporation Method and apparatus for management of hosted applications
US7127520B2 (en) 2002-06-28 2006-10-24 Streamserve Method and system for transforming input data streams
CA2393035A1 (en) * 2002-07-11 2004-01-11 Ibm Canada Limited-Ibm Canada Limitee Converting markup language files
US8335779B2 (en) * 2002-08-16 2012-12-18 Gamroe Applications, Llc Method and apparatus for gathering, categorizing and parameterizing data
US20060104511A1 (en) * 2002-08-20 2006-05-18 Guo Jinhong K Method, system and apparatus for generating structured document files
US7120645B2 (en) * 2002-09-27 2006-10-10 Oracle International Corporation Techniques for rewriting XML queries directed to relational database constructs
US20040123233A1 (en) * 2002-12-23 2004-06-24 Cleary Daniel Joseph System and method for automatic tagging of ducuments
US7146356B2 (en) * 2003-03-21 2006-12-05 International Business Machines Corporation Real-time aggregation of unstructured data into structured data for SQL processing by a relational database engine
US7181680B2 (en) * 2003-04-30 2007-02-20 Oracle International Corporation Method and mechanism for processing queries for XML documents using an index
US6836778B2 (en) * 2003-05-01 2004-12-28 Oracle International Corporation Techniques for changing XML content in a relational database
US7103611B2 (en) 2003-05-01 2006-09-05 Oracle International Corporation Techniques for retaining hierarchical information in mapping between XML documents and relational data
US20050187913A1 (en) 2003-05-06 2005-08-25 Yoram Nelken Web-based customer service interface
US8495002B2 (en) 2003-05-06 2013-07-23 International Business Machines Corporation Software tool for training and testing a knowledge base
US7356528B1 (en) * 2003-05-15 2008-04-08 At&T Corp. Phrase matching in documents having nested-structure arbitrary (document-specific) markup
US20040236724A1 (en) * 2003-05-19 2004-11-25 Shu-Yao Chien Searching element-based document descriptions in a database
US7383255B2 (en) * 2003-06-23 2008-06-03 Microsoft Corporation Common query runtime system and application programming interface
US8102244B2 (en) 2003-08-09 2012-01-24 Alien Technology Corporation Methods and apparatuses to identify devices
JP4365162B2 (en) * 2003-08-20 2009-11-18 富士通株式会社 Apparatus and method for retrieving structured document data
US7490093B2 (en) 2003-08-25 2009-02-10 Oracle International Corporation Generating a schema-specific load structure to load data into a relational database based on determining whether the schema-specific load structure already exists
US8229932B2 (en) 2003-09-04 2012-07-24 Oracle International Corporation Storing XML documents efficiently in an RDBMS
US8694510B2 (en) 2003-09-04 2014-04-08 Oracle International Corporation Indexing XML documents efficiently
US7882132B2 (en) 2003-10-09 2011-02-01 Oracle International Corporation Support for RDBMS in LDAP system
US7340447B2 (en) 2003-10-09 2008-03-04 Oracle International Corporation Partitioning data access requests
US7904487B2 (en) 2003-10-09 2011-03-08 Oracle International Corporation Translating data access requests
US7458022B2 (en) * 2003-10-22 2008-11-25 Intel Corporation Hardware/software partition for high performance structured data transformation
CN101416182B (en) * 2003-10-22 2010-12-08 英特尔公司 Expression grouping and evaluation
US7409400B2 (en) * 2003-10-22 2008-08-05 Intel Corporation Applications of an appliance in a data center
US7328403B2 (en) * 2003-10-22 2008-02-05 Intel Corporation Device for structured data transformation
US7437666B2 (en) * 2003-10-22 2008-10-14 Intel Corporation Expression grouping and evaluation
US7716160B2 (en) 2003-11-07 2010-05-11 Alien Technology Corporation Methods and apparatuses to identify devices
GB0327589D0 (en) * 2003-11-27 2003-12-31 Ibm Searching in a computer network
US8260764B1 (en) * 2004-03-05 2012-09-04 Open Text S.A. System and method to search and generate reports from semi-structured data
US7440954B2 (en) 2004-04-09 2008-10-21 Oracle International Corporation Index maintenance for operations involving indexed XML data
US7930277B2 (en) 2004-04-21 2011-04-19 Oracle International Corporation Cost-based optimizer for an XML data repository within a database
US7937413B2 (en) * 2004-05-04 2011-05-03 International Business Machines Corporation Self-adaptive prefix encoding for stable node identifiers
JP4709213B2 (en) 2004-06-23 2011-06-22 オラクル・インターナショナル・コーポレイション Efficient evaluation of queries using transformations
US7516121B2 (en) 2004-06-23 2009-04-07 Oracle International Corporation Efficient evaluation of queries using translation
US7885980B2 (en) * 2004-07-02 2011-02-08 Oracle International Corporation Mechanism for improving performance on XML over XML data using path subsetting
US7668806B2 (en) 2004-08-05 2010-02-23 Oracle International Corporation Processing queries against one or more markup language sources
US7447993B2 (en) * 2004-10-12 2008-11-04 Microsoft Corporation System and method for displaying a user interface object using an associated style
CN1300730C (en) * 2004-10-14 2007-02-14 上海交通大学 Backward coarse collecting attribute reducing method using directed search
US7523131B2 (en) 2005-02-10 2009-04-21 Oracle International Corporation Techniques for efficiently storing and querying in a relational database, XML documents conforming to schemas that contain cyclic constructs
JP2006235882A (en) * 2005-02-23 2006-09-07 Nec Corp Method and system for browsing informations
US20060218138A1 (en) * 2005-03-25 2006-09-28 Microsoft Corporation System and method for improving search relevance
US20060235839A1 (en) * 2005-04-19 2006-10-19 Muralidhar Krishnaprasad Using XML as a common parser architecture to separate parser from compiler
US7685150B2 (en) * 2005-04-19 2010-03-23 Oracle International Corporation Optimization of queries over XML views that are based on union all operators
US7599916B2 (en) * 2005-04-20 2009-10-06 Microsoft Corporation System and method for personalized search
US7949941B2 (en) 2005-04-22 2011-05-24 Oracle International Corporation Optimizing XSLT based on input XML document structure description and translating XSLT into equivalent XQuery expressions
US20060253773A1 (en) * 2005-05-09 2006-11-09 Hsieh Cheng H Web-based client/server interaction method and system
US8166059B2 (en) * 2005-07-08 2012-04-24 Oracle International Corporation Optimization of queries on a repository based on constraints on how the data is stored in the repository
US20070016605A1 (en) * 2005-07-18 2007-01-18 Ravi Murthy Mechanism for computing structural summaries of XML document collections in a database system
US7406478B2 (en) * 2005-08-11 2008-07-29 Oracle International Corporation Flexible handling of datetime XML datatype in a database system
US7529726B2 (en) * 2005-08-22 2009-05-05 International Business Machines Corporation XML sub-document versioning method in XML databases using record storages
US8543614B2 (en) * 2005-08-22 2013-09-24 International Business Machines Corporation Packing nodes into records to store XML XQuery data model and other hierarchically structured data
US8572125B2 (en) 2005-08-22 2013-10-29 International Business Machines Corporation Scalable storage schemes for native XML column data of relational tables
US9367642B2 (en) 2005-10-07 2016-06-14 Oracle International Corporation Flexible storage of XML collections within an object-relational database
US8554789B2 (en) * 2005-10-07 2013-10-08 Oracle International Corporation Managing cyclic constructs of XML schema in a rdbms
US8073841B2 (en) 2005-10-07 2011-12-06 Oracle International Corporation Optimizing correlated XML extracts
US8024368B2 (en) * 2005-10-07 2011-09-20 Oracle International Corporation Generating XML instances from flat files
US8949455B2 (en) 2005-11-21 2015-02-03 Oracle International Corporation Path-caching mechanism to improve performance of path-related operations in a repository
US8180789B1 (en) 2005-12-05 2012-05-15 Teradata Us, Inc. Techniques for query generation, population, and management
US7933928B2 (en) * 2005-12-22 2011-04-26 Oracle International Corporation Method and mechanism for loading XML documents into memory
US7730032B2 (en) 2006-01-12 2010-06-01 Oracle International Corporation Efficient queriability of version histories in a repository
US9229967B2 (en) * 2006-02-22 2016-01-05 Oracle International Corporation Efficient processing of path related operations on data organized hierarchically in an RDBMS
US20070250527A1 (en) * 2006-04-19 2007-10-25 Ravi Murthy Mechanism for abridged indexes over XML document collections
US8510292B2 (en) * 2006-05-25 2013-08-13 Oracle International Coporation Isolation for applications working on shared XML data
WO2008002578A2 (en) 2006-06-26 2008-01-03 Nielsen Media Research, Inc. Methods and apparatus for improving data warehouse performance
US7499909B2 (en) * 2006-07-03 2009-03-03 Oracle International Corporation Techniques of using a relational caching framework for efficiently handling XML queries in the mid-tier data caching
US7801856B2 (en) * 2006-08-09 2010-09-21 Oracle International Corporation Using XML for flexible replication of complex types
KR101210339B1 (en) * 2006-10-10 2012-12-18 삼성전자주식회사 Method for generating node identifier in k-nary tree
US20080092037A1 (en) * 2006-10-16 2008-04-17 Oracle International Corporation Validation of XML content in a streaming fashion
US7933935B2 (en) * 2006-10-16 2011-04-26 Oracle International Corporation Efficient partitioning technique while managing large XML documents
US7797310B2 (en) 2006-10-16 2010-09-14 Oracle International Corporation Technique to estimate the cost of streaming evaluation of XPaths
US20080120283A1 (en) * 2006-11-17 2008-05-22 Oracle International Corporation Processing XML data stream(s) using continuous queries in a data stream management system
US7836098B2 (en) * 2007-07-13 2010-11-16 Oracle International Corporation Accelerating value-based lookup of XML document in XQuery
US7840609B2 (en) * 2007-07-31 2010-11-23 Oracle International Corporation Using sibling-count in XML indexes to optimize single-path queries
US8484566B2 (en) * 2007-10-15 2013-07-09 Google Inc. Analyzing a form page for indexing
US7979420B2 (en) * 2007-10-16 2011-07-12 Oracle International Corporation Handling silent relations in a data stream management system
US7996388B2 (en) * 2007-10-17 2011-08-09 Oracle International Corporation Adding new continuous queries to a data stream management system operating on existing queries
US8296316B2 (en) * 2007-10-17 2012-10-23 Oracle International Corporation Dynamically sharing a subtree of operators in a data stream management system operating on existing queries
US8521867B2 (en) * 2007-10-20 2013-08-27 Oracle International Corporation Support for incrementally processing user defined aggregations in a data stream management system
US7991768B2 (en) 2007-11-08 2011-08-02 Oracle International Corporation Global query normalization to improve XML index based rewrites for path subsetted index
US8250062B2 (en) * 2007-11-09 2012-08-21 Oracle International Corporation Optimized streaming evaluation of XML queries
US8543898B2 (en) * 2007-11-09 2013-09-24 Oracle International Corporation Techniques for more efficient generation of XML events from XML data sources
US8156134B2 (en) * 2007-11-15 2012-04-10 International Business Machines Corporation Using different groups of query graph transform modules to generate execution plans for queries for different database types
US9842090B2 (en) * 2007-12-05 2017-12-12 Oracle International Corporation Efficient streaming evaluation of XPaths on binary-encoded XML schema-based documents
US8239369B2 (en) * 2008-03-20 2012-08-07 DBSophic, Ltd. Method and apparatus for enhancing performance of database and environment thereof
US8239094B2 (en) 2008-04-23 2012-08-07 Spx Corporation Test requirement list for diagnostic tests
US8429196B2 (en) * 2008-06-06 2013-04-23 Oracle International Corporation Fast extraction of scalar values from binary encoded XML
US20100017313A1 (en) * 2008-07-17 2010-01-21 Kurt Mosenthiem Foldable, One-Piece Mailer and Methods of Use Thereof
US7958112B2 (en) 2008-08-08 2011-06-07 Oracle International Corporation Interleaving query transformations for XML indexes
US8676841B2 (en) 2008-08-29 2014-03-18 Oracle International Corporation Detection of recurring non-occurrences of events using pattern matching
US8145859B2 (en) 2009-03-02 2012-03-27 Oracle International Corporation Method and system for spilling from a queue to a persistent store
US8352517B2 (en) * 2009-03-02 2013-01-08 Oracle International Corporation Infrastructure for spilling pages to a persistent store
US8321450B2 (en) 2009-07-21 2012-11-27 Oracle International Corporation Standardized database connectivity support for an event processing server in an embedded context
US8387076B2 (en) 2009-07-21 2013-02-26 Oracle International Corporation Standardized database connectivity support for an event processing server
US8527458B2 (en) 2009-08-03 2013-09-03 Oracle International Corporation Logging framework for a data stream processing server
US8386466B2 (en) 2009-08-03 2013-02-26 Oracle International Corporation Log visualization tool for a data stream processing server
US20110145728A1 (en) * 2009-12-16 2011-06-16 Monika Bishop Rich content manager (rcm)
US8959106B2 (en) 2009-12-28 2015-02-17 Oracle International Corporation Class loading using java data cartridges
US9305057B2 (en) 2009-12-28 2016-04-05 Oracle International Corporation Extensible indexing framework using data cartridges
US9430494B2 (en) 2009-12-28 2016-08-30 Oracle International Corporation Spatial data cartridge for event processing systems
US8386471B2 (en) 2010-05-27 2013-02-26 Salesforce.Com, Inc. Optimizing queries in a multi-tenant database system environment
US10210160B2 (en) 2010-09-07 2019-02-19 Opentv, Inc. Collecting data from different sources
US9699503B2 (en) 2010-09-07 2017-07-04 Opentv, Inc. Smart playlist
US8949871B2 (en) 2010-09-08 2015-02-03 Opentv, Inc. Smart media selection based on viewer user presence
US8713049B2 (en) 2010-09-17 2014-04-29 Oracle International Corporation Support for a parameterized query/view in complex event processing
US9189280B2 (en) 2010-11-18 2015-11-17 Oracle International Corporation Tracking large numbers of moving objects in an event processing system
US8489649B2 (en) 2010-12-13 2013-07-16 Oracle International Corporation Extensible RDF databases
RU2479867C2 (en) * 2010-12-29 2013-04-20 Олег Владимирович Горохов Linguistic user interface operating method
US9547626B2 (en) 2011-01-29 2017-01-17 Sdl Plc Systems, methods, and media for managing ambient adaptability of web applications and web services
US10657540B2 (en) 2011-01-29 2020-05-19 Sdl Netherlands B.V. Systems, methods, and media for web content management
US10580015B2 (en) 2011-02-25 2020-03-03 Sdl Netherlands B.V. Systems, methods, and media for executing and optimizing online marketing initiatives
US8990416B2 (en) 2011-05-06 2015-03-24 Oracle International Corporation Support for a new insert stream (ISTREAM) operation in complex event processing (CEP)
US9329975B2 (en) 2011-07-07 2016-05-03 Oracle International Corporation Continuous query language (CQL) debugger in complex event processing (CEP)
US9430449B2 (en) 2012-03-30 2016-08-30 Sdl Plc Systems, methods, and media for managing editable previews of webpages
US8914809B1 (en) 2012-04-24 2014-12-16 Open Text S.A. Message broker system and method
US9773270B2 (en) 2012-05-11 2017-09-26 Fredhopper B.V. Method and system for recommending products based on a ranking cocktail
JP5841260B2 (en) * 2012-09-11 2016-01-13 日本電信電話株式会社 Content display device, content display system, content display method, and content display program
US10452740B2 (en) 2012-09-14 2019-10-22 Sdl Netherlands B.V. External content libraries
US11386186B2 (en) 2012-09-14 2022-07-12 Sdl Netherlands B.V. External content library connector systems and methods
US11308528B2 (en) 2012-09-14 2022-04-19 Sdl Netherlands B.V. Blueprinting of multimedia assets
US11288277B2 (en) 2012-09-28 2022-03-29 Oracle International Corporation Operator sharing for continuous queries over archived relations
US9563663B2 (en) 2012-09-28 2017-02-07 Oracle International Corporation Fast path evaluation of Boolean predicates
US10956422B2 (en) 2012-12-05 2021-03-23 Oracle International Corporation Integrating event processing with map-reduce
US9098587B2 (en) 2013-01-15 2015-08-04 Oracle International Corporation Variable duration non-event pattern matching
US10298444B2 (en) 2013-01-15 2019-05-21 Oracle International Corporation Variable duration windows on continuous data streams
US9390135B2 (en) 2013-02-19 2016-07-12 Oracle International Corporation Executing continuous event processing (CEP) queries in parallel
US9047249B2 (en) 2013-02-19 2015-06-02 Oracle International Corporation Handling faults in a continuous event processing (CEP) system
US9418113B2 (en) 2013-05-30 2016-08-16 Oracle International Corporation Value based windows on relations in continuous data streams
US9934279B2 (en) 2013-12-05 2018-04-03 Oracle International Corporation Pattern matching across multiple input data streams
RU2562786C1 (en) * 2014-03-20 2015-09-10 Ника Владимировна Полякова Means for universal translation of applications from russian language to english language
US9244978B2 (en) 2014-06-11 2016-01-26 Oracle International Corporation Custom partitioning of a data stream
US9712645B2 (en) 2014-06-26 2017-07-18 Oracle International Corporation Embedded event processing
US9886486B2 (en) 2014-09-24 2018-02-06 Oracle International Corporation Enriching events with dynamically typed big data for event processing
US10120907B2 (en) 2014-09-24 2018-11-06 Oracle International Corporation Scaling event processing using distributed flows and map-reduce operations
WO2017018901A1 (en) 2015-07-24 2017-02-02 Oracle International Corporation Visually exploring and analyzing event streams
US10614167B2 (en) 2015-10-30 2020-04-07 Sdl Plc Translation review workflow systems and methods
CN108475265B (en) * 2015-11-25 2021-03-30 华为技术有限公司 Method and device for acquiring unknown words
US10534843B2 (en) 2016-05-27 2020-01-14 Open Text Sa Ulc Document architecture with efficient storage
CN107506431A (en) * 2017-08-22 2017-12-22 广州创维平面显示科技有限公司 By method, storage medium and the terminal of XML file generation html file
US11790017B2 (en) 2021-04-30 2023-10-17 CS Disco, Inc. Systems and methods for searching related documents and associated search operators
US11888793B2 (en) 2022-02-22 2024-01-30 Open Text Holdings, Inc. Systems and methods for intelligent delivery of communications

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4769772A (en) * 1985-02-28 1988-09-06 Honeywell Bull, Inc. Automated query optimization method using both global and parallel local optimizations for materialization access planning for distributed databases
US5138615A (en) * 1989-06-22 1992-08-11 Digital Equipment Corporation Reconfiguration system and method for high-speed mesh connected local area network
US5331554A (en) * 1992-12-10 1994-07-19 Ricoh Corporation Method and apparatus for semantic pattern matching for text retrieval
US5787417A (en) 1993-01-28 1998-07-28 Microsoft Corporation Method and system for selection of hierarchically related information using a content-variable list
US5630125A (en) 1994-05-23 1997-05-13 Zellweger; Paul Method and apparatus for information management using an open hierarchical data structure
JPH07319917A (en) * 1994-05-24 1995-12-08 Fuji Xerox Co Ltd Document data base managing device and document data base system
US5655130A (en) * 1994-10-14 1997-08-05 Unisys Corporation Method and apparatus for document production using a common document database
JP3143345B2 (en) * 1994-12-02 2001-03-07 富士通株式会社 String search device
JP2896634B2 (en) * 1995-03-02 1999-05-31 富士ゼロックス株式会社 Full-text registered word search device and full-text registered word search method
JP3724847B2 (en) * 1995-06-05 2005-12-07 株式会社日立製作所 Structured document difference extraction method and apparatus
US5649186A (en) * 1995-08-07 1997-07-15 Silicon Graphics Incorporated System and method for a computer-based dynamic information clipping service
US5875334A (en) * 1995-10-27 1999-02-23 International Business Machines Corporation System, method, and program for extending a SQL compiler for handling control statements packaged with SQL query statements
US5893109A (en) * 1996-03-15 1999-04-06 Inso Providence Corporation Generation of chunks of a long document for an electronic book system
JPH09297768A (en) * 1996-05-07 1997-11-18 Fuji Xerox Co Ltd Management device and retrieval method for document data base
JP3605941B2 (en) * 1996-05-20 2004-12-22 富士ゼロックス株式会社 Document structure creation device and document structure creation method
US6052693A (en) * 1996-07-02 2000-04-18 Harlequin Group Plc System for assembling large databases through information extracted from text sources
US5852820A (en) * 1996-08-09 1998-12-22 Digital Equipment Corporation Method for optimizing entries for searching an index
US6047280A (en) * 1996-10-25 2000-04-04 Navigation Technologies Corporation Interface layer for navigation system
US6108676A (en) * 1996-10-28 2000-08-22 Fuji Xerox Co., Ltd. Document processing apparatus, document type determining method, and hierarchical regular expression determining method
US5970490A (en) * 1996-11-05 1999-10-19 Xerox Corporation Integration platform for heterogeneous databases
US6018710A (en) * 1996-12-13 2000-01-25 Siemens Corporate Research, Inc. Web-based interactive radio environment: WIRE
US6023714A (en) * 1997-04-24 2000-02-08 Microsoft Corporation Method and system for dynamically adapting the layout of a document to an output device
US6098066A (en) 1997-06-13 2000-08-01 Sun Microsystems, Inc. Method and apparatus for searching for documents stored within a document directory hierarchy
US5940822A (en) * 1997-08-29 1999-08-17 International Business Machines Corporation Encoding method of members related by multiple concept or group hierarchies and identification of members in a corpus or a database that are descendants of one or more selected concepts or groups from the encoding
US5991756A (en) 1997-11-03 1999-11-23 Yahoo, Inc. Information retrieval from hierarchical compound documents
US6128617A (en) * 1997-11-24 2000-10-03 Lowry Software, Incorporated Data display software with actions and links integrated with information
US6055538A (en) * 1997-12-22 2000-04-25 Hewlett Packard Company Methods and system for using web browser to search large collections of documents
US6009436A (en) * 1997-12-23 1999-12-28 Ricoh Company, Ltd. Method and apparatus for mapping structured information to different structured information
US6072801A (en) * 1998-02-19 2000-06-06 Micron Technology, Inc. Method of addressing messages, method of establishing wireless communications, and communications system
US6012098A (en) * 1998-02-23 2000-01-04 International Business Machines Corp. Servlet pairing for isolation of the retrieval and rendering of data
US6154738A (en) * 1998-03-27 2000-11-28 Call; Charles Gainor Methods and apparatus for disseminating product information via the internet using universal product codes
US6094652A (en) 1998-06-10 2000-07-25 Oracle Corporation Hierarchical query feedback in an information retrieval system
US6366934B1 (en) * 1998-10-08 2002-04-02 International Business Machines Corporation Method and apparatus for querying structured documents using a database extender
US6618727B1 (en) * 1999-09-22 2003-09-09 Infoglide Corporation System and method for performing similarity searching
US6311194B1 (en) * 2000-03-15 2001-10-30 Taalee, Inc. System and method for creating a semantic web and its applications in browsing, searching, profiling, personalization and advertising
US6513029B1 (en) * 2000-04-20 2003-01-28 Microsoft Corporation Interesting table-subset selection for database workload materialized view selection
US6675261B2 (en) * 2000-12-22 2004-01-06 Oblix, Inc. Request based caching of data store data
US6671689B2 (en) * 2001-01-19 2003-12-30 Ncr Corporation Data warehouse portal
GB2375859B (en) * 2001-04-27 2003-04-16 Premier Systems Technology Ltd Search Engine Systems

Cited By (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7451136B2 (en) * 2000-10-11 2008-11-11 Microsoft Corporation System and method for searching multiple disparate search engines
US20020049756A1 (en) * 2000-10-11 2002-04-25 Microsoft Corporation System and method for searching multiple disparate search engines
WO2004013809A2 (en) * 2002-08-06 2004-02-12 Siemens Energy & Automation, Inc. Devices, systems, and methods for mediated rule-based translation of system configuration information
US20040187093A1 (en) * 2002-08-06 2004-09-23 Michael Hogan Devices, systems, and methods for mediated rule-based translation system configuration information
WO2004013809A3 (en) * 2002-08-06 2004-12-02 Siemens Energy & Automat Devices, systems, and methods for mediated rule-based translation of system configuration information
US7603332B2 (en) 2002-08-06 2009-10-13 Siemens Energy & Automation, Inc. Devices, systems, and methods for mediated rule-based translation system configuration information
US7194469B1 (en) * 2002-09-24 2007-03-20 Adobe Systems Incorporated Managing links in a collection of documents
US7783965B1 (en) 2002-09-24 2010-08-24 Adobe Systems Incorporated Managing links in a collection of documents
US8843970B2 (en) 2003-10-29 2014-09-23 Chanyu Holdings, Llc Video distribution systems and methods for multiple users
US7908621B2 (en) 2003-10-29 2011-03-15 At&T Intellectual Property I, L.P. System and apparatus for local video distribution
US20050204281A1 (en) * 2004-03-12 2005-09-15 Kagi Corporation Dynamic web storefront technology
US7356606B2 (en) 2004-03-12 2008-04-08 Kagi Corporation Dynamic web storefront technology
US9734222B1 (en) * 2004-04-06 2017-08-15 Jpmorgan Chase Bank, N.A. Methods and systems for using script files to obtain, format and transport data
US10223434B2 (en) * 2004-04-06 2019-03-05 Jpmorgan Chase Bank, N.A. Methods and systems for using script files to obtain, format and transport data
US9521452B2 (en) 2004-07-29 2016-12-13 At&T Intellectual Property I, L.P. System and method for pre-caching a first portion of a video file on a media device
US8904458B2 (en) 2004-07-29 2014-12-02 At&T Intellectual Property I, L.P. System and method for pre-caching a first portion of a video file on a set-top box
US8584257B2 (en) 2004-08-10 2013-11-12 At&T Intellectual Property I, L.P. Method and interface for video content acquisition security on a set-top box
US8086261B2 (en) 2004-10-07 2011-12-27 At&T Intellectual Property I, L.P. System and method for providing digital network access and digital broadcast services using combined channels on a single physical medium to the customer premises
US7716714B2 (en) 2004-12-01 2010-05-11 At&T Intellectual Property I, L.P. System and method for recording television content at a set top box
US8839314B2 (en) 2004-12-01 2014-09-16 At&T Intellectual Property I, L.P. Device, system, and method for managing television tuners
US8434116B2 (en) 2004-12-01 2013-04-30 At&T Intellectual Property I, L.P. Device, system, and method for managing television tuners
US8390744B2 (en) 2004-12-06 2013-03-05 At&T Intellectual Property I, L.P. System and method of displaying a video stream
US9571702B2 (en) 2004-12-06 2017-02-14 At&T Intellectual Property I, L.P. System and method of displaying a video stream
US20100299290A1 (en) * 2005-01-28 2010-11-25 Aol Inc. Web Query Classification
US9424346B2 (en) 2005-01-28 2016-08-23 Mercury Kingdom Assets Limited Web query classification
US8166036B2 (en) * 2005-01-28 2012-04-24 Aol Inc. Web query classification
US8228224B2 (en) 2005-02-02 2012-07-24 At&T Intellectual Property I, L.P. System and method of using a remote control and apparatus
US8214859B2 (en) 2005-02-14 2012-07-03 At&T Intellectual Property I, L.P. Automatic switching between high definition and standard definition IP television signals
US9178743B2 (en) 2005-05-27 2015-11-03 At&T Intellectual Property I, L.P. System and method of managing video content streams
US8054849B2 (en) 2005-05-27 2011-11-08 At&T Intellectual Property I, L.P. System and method of managing video content streams
US8966563B2 (en) 2005-06-22 2015-02-24 At&T Intellectual Property, I, L.P. System and method to provide a unified video signal for diverse receiving platforms
US10085054B2 (en) 2005-06-22 2018-09-25 At&T Intellectual Property System and method to provide a unified video signal for diverse receiving platforms
US8893199B2 (en) 2005-06-22 2014-11-18 At&T Intellectual Property I, L.P. System and method of managing video content delivery
US9338490B2 (en) 2005-06-22 2016-05-10 At&T Intellectual Property I, L.P. System and method to provide a unified video signal for diverse receiving platforms
US7908627B2 (en) 2005-06-22 2011-03-15 At&T Intellectual Property I, L.P. System and method to provide a unified video signal for diverse receiving platforms
US9278283B2 (en) 2005-06-24 2016-03-08 At&T Intellectual Property I, L.P. Networked television and method thereof
US8535151B2 (en) 2005-06-24 2013-09-17 At&T Intellectual Property I, L.P. Multimedia-based video game distribution
US8635659B2 (en) 2005-06-24 2014-01-21 At&T Intellectual Property I, L.P. Audio receiver modular card and method thereof
US8365218B2 (en) 2005-06-24 2013-01-29 At&T Intellectual Property I, L.P. Networked television and method thereof
US8282476B2 (en) 2005-06-24 2012-10-09 At&T Intellectual Property I, L.P. Multimedia-based video game distribution
US8190688B2 (en) 2005-07-11 2012-05-29 At&T Intellectual Property I, Lp System and method of transmitting photographs from a set top box
US9167241B2 (en) 2005-07-27 2015-10-20 At&T Intellectual Property I, L.P. Video quality testing by encoding aggregated clips
US7873102B2 (en) 2005-07-27 2011-01-18 At&T Intellectual Property I, Lp Video quality testing by encoding aggregated clips
US8005817B1 (en) * 2005-11-30 2011-08-23 At&T Intellectual Property Ii, L.P. System and method for providing structure and content scoring for XML
US7836433B2 (en) 2006-01-26 2010-11-16 Microsoft Corporation Analyzing binary code
WO2007089348A1 (en) * 2006-01-26 2007-08-09 Microsoft Corporation Analyzing binary code
US20080133670A1 (en) * 2006-11-30 2008-06-05 Gestalt Llc Context-based identification of entity with which communication occurs
US8346873B2 (en) * 2006-11-30 2013-01-01 Accenture Global Services Limited Context-based identification of entity with which communication occurs
US9009181B2 (en) 2007-08-23 2015-04-14 International Business Machines Corporation Accessing objects in a service registry and repository
US9384301B2 (en) 2007-08-23 2016-07-05 International Business Machines Corporation Accessing objects in a service registry and repository
US20090055432A1 (en) * 2007-08-23 2009-02-26 International Business Machines Corporation Accessing objects in a service registry and repository
US10296657B2 (en) 2007-08-23 2019-05-21 International Business Machines Corporation Accessing objects in a service registry and repository
US7783656B2 (en) 2007-09-24 2010-08-24 International Business Machines Corporation Accessing objects in a service registry and repository using a treat as function
US20090083239A1 (en) * 2007-09-24 2009-03-26 International Business Machines Corporation Accessing objects in a service registry and repository using a treat as function
US20110208848A1 (en) * 2008-08-05 2011-08-25 Zhiyong Feng Network system of web services based on semantics and relationships
US8621376B2 (en) * 2009-10-28 2013-12-31 Yahoo! Inc. Developer interface and associated methods for system for querying and consuming web-based data
US20110099502A1 (en) * 2009-10-28 2011-04-28 Yahoo! Inc. Developer Interface and Associated Methods for System for Querying and Consuming Web-Based Data

Also Published As

Publication number Publication date
US6438540B2 (en) 2002-08-20
US6263332B1 (en) 2001-07-17
US20020198874A1 (en) 2002-12-26
US6882995B2 (en) 2005-04-19

Similar Documents

Publication Publication Date Title
US6438540B2 (en) Automatic query and transformative process
Denoue et al. An annotation tool for Web browsers and its applications to information retrieval.
Møller et al. An introduction to XML and Web technologies
US6167409A (en) Computer system and method for customizing context information sent with document fragments across a computer network
US7836043B2 (en) Database system and method for data acquisition and perusal
US7058626B1 (en) Method and system for providing native language query service
US6826553B1 (en) System for providing database functions for multiple internet sources
US6122647A (en) Dynamic generation of contextual links in hypertext documents
US7290008B2 (en) Method to extend a uniform resource identifier to encode resource identifiers
US8060518B2 (en) System and methodology for extraction and aggregation of data from dynamic content
US6546406B1 (en) Client-server computer system for large document retrieval on networked computer system
US7058944B1 (en) Event driven system and method for retrieving and displaying information
US20030018607A1 (en) Method of enabling browse and search access to electronically-accessible multimedia databases
US20110185273A1 (en) System and method for extracting content elements from multiple Internet sources
US20040261017A1 (en) Document generation
US20120047176A1 (en) System and Method for Real-Time Content Aggregation and Syndication
CN1408093A (en) Electronic shopping agent which is capable of operating with vendor sites having disparate formats
US7607085B1 (en) Client side localizations on the world wide web
US20180165253A1 (en) Information architecture for the interactive environment
EP1247213B1 (en) Method and apparatus for creating an index for a structured document based on a stylesheet
Sadeh et al. Library portals: toward the semantic Web
US20020194150A1 (en) Method of searching for text in browser frames
US20040205587A1 (en) System and method for enumerating arbitrary hyperlinked structures in which links may be dynamically calculable
US20050131859A1 (en) Method and system for standard bookmark classification of web sites
Harper et al. Middleware to expand context and preview in hypertext

Legal Events

Date Code Title Description
STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: VIGNETTE CORPORATION, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NASR, ROGER I.;WEBBER, NEIL;REEL/FRAME:023699/0305

Effective date: 19980806

AS Assignment

Owner name: VIGNETTE SOFTWARE LLC,TEXAS

Free format text: INTELLECTUAL PROPERTY PURCHASE AGREEMENT;ASSIGNOR:VIGNETTE CORPORATION (4%);REEL/FRAME:023768/0708

Effective date: 20090717

Owner name: VIGNETTE LLC,TEXAS

Free format text: INTELLECTUAL PROPERTY PURCHASE AGREEMENT;ASSIGNOR:VIGNETTE CORPORATION (96%);REEL/FRAME:024006/0001

Effective date: 20090717

Owner name: VIGNETTE SOFTWARE LLC, TEXAS

Free format text: INTELLECTUAL PROPERTY PURCHASE AGREEMENT;ASSIGNOR:VIGNETTE CORPORATION (4%);REEL/FRAME:023768/0708

Effective date: 20090717

Owner name: VIGNETTE LLC, TEXAS

Free format text: INTELLECTUAL PROPERTY PURCHASE AGREEMENT;ASSIGNOR:VIGNETTE CORPORATION (96%);REEL/FRAME:024006/0001

Effective date: 20090717

XAS Not any more in us assignment database

Free format text: INTELLECTUAL PROPERTY PURCHASE AGREEMENT;ASSIGNOR:VIGNETTE CORPORATION (96%);REEL/FRAME:023773/0404

AS Assignment

Owner name: VIGNETTE SOFTWARE LLC,TEXAS

Free format text: INTELLECTUAL PROPERTY PURCHASE AGREEMENT;ASSIGNOR:VIGNETTE LLC (96%);REEL/FRAME:023792/0470

Effective date: 20090717

Owner name: VIGNETTE SOFTWARE LLC, TEXAS

Free format text: INTELLECTUAL PROPERTY PURCHASE AGREEMENT;ASSIGNOR:VIGNETTE LLC (96%);REEL/FRAME:023792/0470

Effective date: 20090717

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: VIGNETTE CORPORATION, TEXAS

Free format text: MERGER;ASSIGNOR:VIGNETTE SOFTWARE, LLC;REEL/FRAME:027077/0423

Effective date: 20100330

AS Assignment

Owner name: VIGNETTE OPERATING, LLC, TEXAS

Free format text: CERTIFICATE OF CONVERSION;ASSIGNOR:VIGNETTE CORPORATION;REEL/FRAME:027091/0009

Effective date: 20100624

AS Assignment

Owner name: VIGNETTE PARTNERSHIP, LP, TEXAS

Free format text: CERTIFICATE OF CONVERSION;ASSIGNOR:VIGNETTE OPERATING, LLC;REEL/FRAME:027066/0773

Effective date: 20100624

AS Assignment

Owner name: OPEN TEXT S.A., LUXEMBOURG

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:VIGNETTE PARTNERSHIP, LP;REEL/FRAME:027483/0205

Effective date: 20110725

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: OPEN TEXT SA ULC, CANADA

Free format text: CERTIFICATE OF AMALGAMATION;ASSIGNOR:IP OT SUB ULC;REEL/FRAME:040019/0578

Effective date: 20160708

Owner name: OT IP SUB, LLC, DELAWARE

Free format text: IP BUSINESS SALE AGREEMENT;ASSIGNOR:OPEN TEXT S.A.;REEL/FRAME:040019/0627

Effective date: 20160701

Owner name: IP OT SUB ULC, CANADA

Free format text: CERTIFICATE OF CONTINUANCE;ASSIGNOR:OP IP SUB, LLC;REEL/FRAME:040019/0500

Effective date: 20160702