US20020078094A1 - Method and apparatus for XML visualization of a relational database and universal resource identifiers to database data and metadata - Google Patents
Method and apparatus for XML visualization of a relational database and universal resource identifiers to database data and metadata Download PDFInfo
- Publication number
- US20020078094A1 US20020078094A1 US09/949,020 US94902001A US2002078094A1 US 20020078094 A1 US20020078094 A1 US 20020078094A1 US 94902001 A US94902001 A US 94902001A US 2002078094 A1 US2002078094 A1 US 2002078094A1
- Authority
- US
- United States
- Prior art keywords
- data
- relational database
- url
- database server
- computer
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Definitions
- the present invention relates generally to relational databases and, more specifically, to XML visualization of a database and DBURI references to database objects.
- an access mechanism is provided that allows one or more portions of the relational database to be accessed as if it were an XML document. Users may navigate through those “visualized” portions of the database using XPath expressions. Techniques are also provided to modify the “visualized” portions of the database and these modifications are converted to relational database operations such as SQL DMLs and DDLs.
- FIG. 1A is a block diagram that illustrates schemas and schema objects in a relational database
- FIG. 1B is a block diagram that illustrates tables stored in a relational database
- FIG. 2A is a block diagram that illustrates a hierarchy of Uritypes
- FIG. 2B is a block diagram that illustrates a relational database table that stores Uritype data
- FIG. 3 depicts a computer upon which embodiments of the invention may be implemented.
- any particular user of the relational database herein referred to as the “current user”, can visualize as an XML tree all the tables and views and the associated schema, in the relational database, to which the current user has been granted access privileges.
- the user instead of seeing the database data in the form of tables and views, the data is presented to the user in the form of an XML document, and the typical structure of an XML document is a tree.
- the XML tree is hereafter referred to as a “visualized XML document”.
- the visualized XML document comprises XML representations of the tables and views and the associated schema. Because the XML document is based on the access rights of a user, the XML document will vary from user to user based on each user's access rights. Thus, the visualized XML document, as described herein, is associated with the current user.
- Target data The data items that are identified by a URL or URI, and that are to be accessed in a relational database, are referred to herein as “target data”.
- Target data may vary from implementation to implementation.
- Target data may be any one of numerous types of data, such as relational database schema objects, relational data, control files, etc.
- the present invention is not limited to target data of any particular type.
- a mechanism for: 1) defining a default virtual visualization of any relational database for the current user, including all of the data for which the current user has access privileges in the relational database, wherein the default virtual visualization is defined as a canonical XML document, 2) providing a standard Uniform Resource Indicator (URI) that is locally defined within the database and by which one or more fragments of the visualized XML document can be accessed by defining the URI as an XPath expression over the visualized XML document, 3) providing a standard Uniform Resource Locator (URL) as a mechanism that can be used in conjunction with a web browser that is external to the relational database for accessing data stored in the relational database by defining the URL as an Xpath expression over the visualized XML document, 4) providing, in the relational database, new data types and new object types that can be used for storing the URI
- URI Uniform Resource Indicator
- XPath expressions are W3c standard ways of navigating XML documents. XPath expressions allow for traversals and insert/deletes/updates on the visualized XML document (the XML visualization of the relational database). The XPath expressions can be converted into SQL Data Definition Language (DDL) and Data Manipulation Language (DML) commands in the relational database.
- DDL Data Definition Language
- DML Data Manipulation Language
- XML visualization of the relational database and (2) the mechanism for navigating through the visualized XML document using XPath expressions, allows the user to “point to” any data in the relational database.
- EMP relational database table
- Scott is a schema object of the relational database schema called Scott.
- the current user can see all the data in the relational database, to which the user has been granted access privileges, as a visualized XML document.
- the visualized XML document includes a “database tag” and a set of schemas with tables and views. For example, if the database is called “oradb” then the XML document starts with the database tag “ ⁇ oradb>” and ends with the database tag “ ⁇ /oradb>”.
- the current user is permitted to read, insert, update and delete elements from the visualized XML document.
- the current user is thus unaware of the actual nature of the storage or access of the data in the relational database.
- the current user simply uses XPath expressions for navigation through the visualized XML document.
- a schema is a logical collection of relational database objects such as tables, views clusters, functions, etc.
- FIG. 1A is a block diagram that illustrates schemas and schema objects in a relational database.
- Column 102 of FIG. 1A contains a list of schema objects. For the purpose of explanation, only two schemas, SCOTT and JONES, are shown.
- Column 104 contains the relational database objects in each schema. For the purpose of explanation, only two tables, EMP and DEPT, are shown.
- Schema SCOTT contains table EMP and schema JONES contains table DEPT.
- FIG. 1B is a block diagram that illustrates tables stored in a relational database.
- Relational database 110 contains tables, EMP and DEPT.
- Table EMP has 3 columns, EMPNO, ENAME and SALARY. Each column of EMP contains rows of values.
- Table DEPT has 2 columns, DEPTNO and DNAME. Each column of DEPT contains rows of values.
- the current user has privileges to access schemas SCOTT and JONES in the relational database and has privileges to access the data associated with SCOTT and JONES.
- the current user is able to see a default virtual visualization of the relational database as follows (not the full visualization): ⁇ oradb> ⁇ SCOTT> ⁇ EMP> ⁇ ROW> ⁇ EMPNO>21 ⁇ /EMPNO> ⁇ ENAME>John ⁇ /ENAME> ⁇ SALARY>100,000 ⁇ /SALARY> ⁇ /ROW> ⁇ ROW> ... ⁇ !-- other emp values --> ⁇ /ROW> ... ⁇ /EMP> ... ⁇ !-- other tables.
- the above default virtual visualization is merely an example of one implementation of a default virtual visualization.
- the default virtual visualization may vary from implementation to implementation.
- the invention is not restricted to a particular visualization model.
- a standard URL and URI mechanism is also provided to access the data stored in any database, by defining the URL and URI as an XPath expression over the visualized XML document.
- the URL may be processed by using a servlet, which uses the native URI processing mechanisms to access the data pointed by the URL.
- the database tag (oradb) may be implicitly bound in the processing context and need not be explicitly specified in the URL.
- a current user who does not have local access to the relational database may use a browser to access data in the relational database over the Internet by using a URL.
- a URL For example, assume that the current user is Scott and that Scott would like to use a browser to access the employee-name column of EMP table at the row for which the employee number is 2100, and where the EMP table is in schema SCOTT.
- the URL that Scott would use may look like the following:
- the current user can augment the URL or URI with content types to specify the Multipurpose Internet Mail Extensions (MIME) type of the output. For example, if the URL points to a BLOB (Binary Large OBject) column that is storing an image, wherein the image is the “target data”, then the content type can be set to gif. Thus, in response to using the URL, the current user obtains the image rather than, for example, a large hexadecimal file.
- MIME Multipurpose Internet Mail Extensions
- the current user may augment the URL to request, as the target data, the text value of the column to which the URL points.
- the current user Scott
- uses the following URL to access the employee-name column of EMP table at the row for which the employee number is 2100: http://machine-name/ ⁇ servlet-name>/ /SCOTT/EMP/ROW[EMPNO 2100]/ENAME/text()
- text( ) is an XPath standard to identify the text node.
- the use of text( ) in the above URL would produce a result that contains only the text value in the employee-name column of EMP table at the row for which the employee number is 2100.
- the text value in the employee-name column of EMP table at the row for which the employee number is 2100 is “John”.
- the result of accessing the above URL using text( ) is “John”.
- “John” is inlined inside a fragment of the visualized XML document as follows: ⁇ ENAME>John ⁇ /ENAME>
- the mime information may be derived automatically by the database, based on other auxiliary information that may be stored with the URL or through user written functions.
- An example of a pair of enclosing tags that identify the relational database that contains the target data is ⁇ oradb> . . . ⁇ /oradb>, where “oradb” is the name of the relational database that contains the target data, as shown below (not all the elements in the visualization are shown): ⁇ oradb> ⁇ SCOTT> ⁇ EMP> ⁇ ROW> ⁇ EMPNO>21 ⁇ /EMPNO> ⁇ ENAME>John ⁇ /ENAME> ⁇ SALARY>100,000 ⁇ /SALARY> ⁇ /ROW> ...
- Each schema in the relational database for which the current user has been granted access privileges corresponds to one element in the visualized XML document.
- the name of the element is the same as the name of the schema to which the element corresponds.
- the schema SCOTT in the relational database “oradb” is represented by the element with the same name in the visualized XML document.
- the schema JONES is represented by the element with the same name in the visualized XML document.
- the following visualized XML document is a visualization of the relational database down to the schema element level. For the purpose of illustration, only the elements corresponding to schemas SCOTT and JONES are shown. ⁇ oradb> ⁇ SCOTT> ⁇ /SCOTT> ⁇ JONES> ⁇ /JONES> ⁇ /oradb>
- Each table or view in the relational database for which the current user has been granted access privileges corresponds to one element in the visualized XML document.
- the name of the element is the same as the name of the table or view to which the element corresponds.
- the table EMP in the relational database “oradb” is represented by the element with the same name in the visualized XML document.
- the table DEPT is represented by the element with the same name in the visualized XML document.
- the following visualized XML document is a visualization of the relational database down to the table element level. For the purpose of illustration, only the elements corresponding to tables EMP and DEPT are shown.
- Each row of each table or view in the relational database for which the current user has been granted access privileges corresponds to one element in the visualized XML document.
- the following visualized XML document is a visualization of the relational database down to the row element level. For the purpose of illustration, only the elements corresponding to rows of tables EMP and DEPT are shown. ⁇ oradb> ⁇ SCOTT> ⁇ EMP> ⁇ ROW>
- Each column of each table or view in the relational database for which the current user has been granted access privileges corresponds to one element in the visualized XML document.
- the name of the element is the same as the name of the column to which the element corresponds.
- the column EMPNO in table EMP is represented by the element with the same name in the visualized XML document.
- the column ENAME is represented by the element with the same name in the visualized XML document.
- the following visualized XML document is a visualization of the relational database down to the column element level. For the purpose of illustration, only the elements corresponding to columns EMPNO and ENAME in table EMP are shown.
- the Xpath query over the XML visualization may be translated into relational database queries and the result formatted in XML.
- Techniques are provided for converting XPath expressions into relational database queries.
- the XPath expression that is to be converted into a query is in the context of the relational database “oradb” .
- the format of a typical XPath expression is the context of “oradb” can be generalized as follows:
- Each element of the above XPath expression may optionally have a predicate.
- Predicates take the form,
- the element, Row may have a predicate as follows,
- results of the SQL statement can then be converted into a corresponding fragment of the visualized XML document.
- results of the SQL statement can then be converted into a corresponding fragment of the visualized XML document.
- the syntax used in the preceding statements is merely illustrative.
- the actual syntax of the query language statements may vary from implementation to implementation.
- the present invention is not limited to any particular syntax.
- the results of the query language statement can then be converted into a corresponding fragment of the visualized XML document.
- a special data type is provided in the relational database for storing URIs and URLs in the relational database.
- a data type is herein referred to as an “Uritype”.
- URIs and URLs can be stored in columns in relational database tables by defining the URIs and URLs as Uritype data.
- FIG. 2A is a block diagram that illustrates a hierarchy of Uritypes.
- FIG. 2A shows a general Uritype 210 that comprises subtypes.
- the subtypes are DB-Uritype 212 , HTTP-Uritype 214 , and FTP-Uritype 216 .
- the HTTP-Uritype stores HTTP (HyperText Transfer Protocol) URLs, and fetches the data pointed to by the URL using the HTTP protocol.
- the FTP-Uritype stores FTP (File Transfer Protocols) URLs and fetches the data, using FTP.
- the DB-Uritype stores intra-database references using the Xpath mechanism described herein.
- the DB-Uritype can fetch the data associated with the URL using the Xpath translation mechanism defined earlier or through other mechanisms.
- the user may define subtypes of the Uritype or any of the other subtypes, and provide the implementation for getting the data pointed to by that URL.
- the general functions associated with the Uritype data type include retrieving URIs and URLs as well as retrieving XML documents that are stored as LOBs, for example, CLOBs and BLOBs, in the relational database.
- the current user wishes to retrieve target data, pointed to by the URL, from the relational database
- the current user's XPath expressions are automatically converted into appropriate query language statements.
- the actual syntax of such statements depend on the query language used in the relational database and may vary from implementation to implementation.
- the present invention is not limited to any particular syntax.
- the relational database functions of the Uritype data type can be abstracted by the following statements:
- FIG. 2B is a block diagram that illustrates a relational database table that stores Uritype data.
- Relational database table 200 is a Purchase Order table.
- Table 200 has 2 columns: Purchase Order Number column 250 and Purchase Order Link column 260 . Both columns 250 and 260 contain 3 rows of data, namely, row 271 , row 272 and row 273 .
- the Purchase Order Link column can store data of type UriType.
- Column 260 at row 271 stores data of type HTTP-Uritype.
- Column 260 at row 272 stores data of type FTP-Uritype.
- column 260 at row 273 stores data of type DB-Uritype. Note that since the DB-Uritype, HTTP-Uritype etc., have been defined as subtypes of the UriType type, we can store instances of these types in the Purchase Order Link column.
- the database will fetch the purchase order through HTTP for the first row, use FTP for the second row and use the DB-Uritype processing mechanism for the last row.
- a mechanism is provided to modify, add or delete XML data that is stored in the relational database using the standard URIs and URLs as described herein.
- Scott can perform the following: 1) selects the update operation for updating XML data and 2) uses the following XPath expressions:
- a general purpose servlet may be provided to allow the current user to modify, add or delete XML data that is stored in the relational database using the standard URIs and URLs.
- a special servlet may be provided for each database operation.
- FIG. 3 is a block diagram that illustrates a computer system 300 upon which an embodiment of the invention may be implemented.
- Computer system 300 includes a bus 302 or other communication mechanism for communicating information, and a processor 304 coupled with bus 302 for processing information.
- Computer system 300 also includes a main memory 306 , such as a random access memory (RAM) or other dynamic storage device, coupled to bus 302 for storing information and instructions to be executed by processor 304 .
- Main memory 306 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 304 .
- Computer system 300 further includes a read only memory (ROM) 308 or other static storage device coupled to bus 302 for storing static information and instructions for processor 304 .
- a storage device 301 such as a magnetic disk or optical disk, is provided and coupled to bus 302 for storing information and instructions.
- Computer system 300 may be coupled via bus 302 to a display 312 , such as a cathode ray tube (CRT), for displaying information to a computer user.
- a display 312 such as a cathode ray tube (CRT)
- An input device 314 is coupled to bus 302 for communicating information and command selections to processor 304 .
- cursor control 316 is Another type of user input device
- cursor control 316 such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 304 and for controlling cursor movement on display 312 .
- This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane.
- the invention is related to the use of computer system 300 for implementing the techniques described herein. According to one embodiment of the invention, those techniques are implemented by computer system 300 in response to processor 304 executing one or more sequences of one or more instructions contained in main memory 306 . Such instructions may be read into main memory 306 from another computer-readable medium, such as storage device 310 . Execution of the sequences of instructions contained in main memory 306 causes processor 304 to perform the process steps described herein. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in main memory 306 . In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software.
- Non-volatile media includes, for example, optical or magnetic disks, such as storage device 310 .
- Volatile media includes dynamic memory, such as main memory 306 .
- Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 302 . Transmission media can also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.
- Computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.
- Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to processor 304 for execution.
- the instructions may initially be carried on a magnetic disk of a remote computer.
- the remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem.
- a modem local to computer system 300 can receive the data on the telephone line and use an infrared transmitter to convert the data to an infrared signal.
- An infrared detector coupled to bus 302 can receive the data carried in the infrared signal and place the data on bus 302 .
- Bus 302 carries the data to main memory 306 , from which processor 304 retrieves and executes the instructions.
- the instructions received by main memory 306 may optionally be stored on storage device 310 either before or after execution by processor 304 .
- Computer system 300 also includes a communication interface 318 coupled to bus 302 .
- Communication interface 318 provides a two-way data communication coupling to a network link 320 that is connected to a local network 322 .
- communication interface 318 may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line.
- ISDN integrated services digital network
- communication interface 318 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN.
- LAN local area network
- Wireless links may also be implemented.
- communication interface 318 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
- Network link 320 typically provides data communication through one or more networks to other data devices.
- network link 320 may provide a connection through local network 322 to a host computer 324 or to data equipment operated by an Internet Service Provider (ISP) 326 .
- ISP 326 in turn provides data communication services through the worldwide packet data communication network now commonly referred to as the “Internet” 328 .
- Internet 328 uses electrical, electromagnetic or optical signals that carry digital data streams.
- the signals through the various networks and the signals on network link 320 and through communication interface 318 which carry the digital data to and from computer system 300 , are exemplary forms of carrier waves transporting the information.
- Computer system 300 can send messages and receive data, including program code, through the network(s), network link 320 and communication interface 318 .
- a server 330 might transmit a requested code for an application program through Internet 328 , ISP 326 , local network 322 and communication interface 318 .
- one such downloaded application implements the techniques described herein.
- the received code may be executed by processor 304 as it is received, and/or stored in storage device 301 , or other non-volatile storage for later execution. In this manner, computer system 300 may obtain application code in the form of a carrier wave.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
- This application is related to and claims domestic priority under 35 U.S.C. §119(e) from prior U.S. Provisional Patent Application Serial No. 60/230,878 filed on Sep. 7, 2000 entitled “XML DATA STORAGE, QUERY REWRITES, VISUALIZATION, MAPPING AND REFERENCING”, by inventors Muralidhar Krishnaprasad, Vishwanathan Krishnamurthy, and Ravi Murthy, the entire disclosure of which is hereby incorporated by reference as if fully set forth herein.
- This application is related to U.S. patent application Ser. No. ______, Attorney Docket No. 50277-1565, filed together herewith, entitled “APPARATUS AND METHOD FOR MAPPING RELATIONAL DATA AND METADATA TO XML,” naming as inventors Muralidhar Krishnaprasad, Vishwanathan Krishnamurthy, Ravi Murthy and Visar Nimani, the entire disclosure of which is hereby incorporated by reference as if fully set forth herein; and
- This application is related to U.S. patent application Ser. No. ______, Attorney Docket No. 50277-1566, filed together herewith, entitled “METHOD AND APPARATUS FOR FLEXIBLE STORAGE AND UNIFORM MANIPULATION OF XML DATA IN A RELATIONAL DATABASE SYSTEM”, naming as inventors Muralidhar Krishnaprasad, Vishwanathan Krishnamurthy, and Ravi Murthy, the entire disclosure of which is hereby incorporated by reference as if fully set forth herein.
- The present invention relates generally to relational databases and, more specifically, to XML visualization of a database and DBURI references to database objects.
- On the World Wide Web, there is a need to reference data from different sources inside documents. The standard way of referencing such data is through the use of URIs—or universal resource identifiers. Since a vast majority of the data lies inside relational databases, it is necessary to support a standard URI based access methods to such data. Typically, such applications are written using standard mechanisms like Servlets, which in-turn may execute SQL statements to retrieve and format the database data. Significant processing is often needed to convert the results of the SQL data into a standard format required by the user, such as extensible Markup Language (XML). XML is a World Wide Web Consortium (W3C) standard for representing data.
- Based on the foregoing, it is clearly desirable to provide a less cumbersome mechanism and technique for allowing clients, such as browsers, that support accessing resources using URLs, to access relational data.
- Techniques are provided for allowing a user to view and retrieve data from a relational database in XML format.
- Techniques are provided for
- (1) the user to access this data through the World Wide Web by providing URI references to such data, and
- (2) to store and perform operations on these URI references inside the database.
- Techniques are also provided for using XML syntax in exchanging data with relational databases. According to certain embodiments of the invention, an access mechanism is provided that allows one or more portions of the relational database to be accessed as if it were an XML document. Users may navigate through those “visualized” portions of the database using XPath expressions. Techniques are also provided to modify the “visualized” portions of the database and these modifications are converted to relational database operations such as SQL DMLs and DDLs.
- The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
- FIG. 1A is a block diagram that illustrates schemas and schema objects in a relational database;
- FIG. 1B is a block diagram that illustrates tables stored in a relational database;
- FIG. 2A is a block diagram that illustrates a hierarchy of Uritypes;
- FIG. 2B is a block diagram that illustrates a relational database table that stores Uritype data; and
- FIG. 3 depicts a computer upon which embodiments of the invention may be implemented.
- Techniques are provided for using XML syntax for accessing data in relational databases. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present invention.
- Using the techniques described herein, any particular user of the relational database, herein referred to as the “current user”, can visualize as an XML tree all the tables and views and the associated schema, in the relational database, to which the current user has been granted access privileges. In other words, the user, instead of seeing the database data in the form of tables and views, the data is presented to the user in the form of an XML document, and the typical structure of an XML document is a tree.
- There may be several concurrent current users of the database. However, for the purpose of simplifying the description, the techniques described herein refer to a single current user. The XML tree is hereafter referred to as a “visualized XML document”. The visualized XML document comprises XML representations of the tables and views and the associated schema. Because the XML document is based on the access rights of a user, the XML document will vary from user to user based on each user's access rights. Thus, the visualized XML document, as described herein, is associated with the current user.
- The data items that are identified by a URL or URI, and that are to be accessed in a relational database, are referred to herein as “target data”. Target data may vary from implementation to implementation. Target data may be any one of numerous types of data, such as relational database schema objects, relational data, control files, etc. The present invention is not limited to target data of any particular type.
- In order for the current user to access and manipulate target data in the relational databases as if the target data are XML data, a mechanism is provided for: 1) defining a default virtual visualization of any relational database for the current user, including all of the data for which the current user has access privileges in the relational database, wherein the default virtual visualization is defined as a canonical XML document, 2) providing a standard Uniform Resource Indicator (URI) that is locally defined within the database and by which one or more fragments of the visualized XML document can be accessed by defining the URI as an XPath expression over the visualized XML document, 3) providing a standard Uniform Resource Locator (URL) as a mechanism that can be used in conjunction with a web browser that is external to the relational database for accessing data stored in the relational database by defining the URL as an Xpath expression over the visualized XML document, 4) providing, in the relational database, new data types and new object types that can be used for storing the URIs and URLs, and 5) providing a mechanism to modify, create, add or delete data in the relational database through the visualized document, using the standard URIs and URLs as described herein.
- XPath expressions are W3c standard ways of navigating XML documents. XPath expressions allow for traversals and insert/deletes/updates on the visualized XML document (the XML visualization of the relational database). The XPath expressions can be converted into SQL Data Definition Language (DDL) and Data Manipulation Language (DML) commands in the relational database.
- The combination of (1) XML visualization of the relational database, and (2) the mechanism for navigating through the visualized XML document using XPath expressions, allows the user to “point to” any data in the relational database. For example, an XPath expression such as, /SCOTT/EMP/ROW[EMPNO=2100] points to the data value in the row identified by EMPNO=21. The row in question is in a relational database table called EMP, which is a schema object of the relational database schema called Scott.
- The XML visualization of the relational database is described in greater detail herein.
- According to certain embodiments, the current user can see all the data in the relational database, to which the user has been granted access privileges, as a visualized XML document. The visualized XML document includes a “database tag” and a set of schemas with tables and views. For example, if the database is called “oradb” then the XML document starts with the database tag “<oradb>” and ends with the database tag “</oradb>”.
- The current user is permitted to read, insert, update and delete elements from the visualized XML document. The current user is thus unaware of the actual nature of the storage or access of the data in the relational database. The current user simply uses XPath expressions for navigation through the visualized XML document.
- For example, assume that the current user of the relational database is Scott. Associated with each current user of the relational database is a schema by the same name. A schema is a logical collection of relational database objects such as tables, views clusters, functions, etc.
- FIG. 1A is a block diagram that illustrates schemas and schema objects in a relational database.
Column 102 of FIG. 1A contains a list of schema objects. For the purpose of explanation, only two schemas, SCOTT and JONES, are shown.Column 104 contains the relational database objects in each schema. For the purpose of explanation, only two tables, EMP and DEPT, are shown. Schema SCOTT contains table EMP and schema JONES contains table DEPT. - FIG. 1B is a block diagram that illustrates tables stored in a relational database.
Relational database 110 contains tables, EMP and DEPT. Table EMP has 3 columns, EMPNO, ENAME and SALARY. Each column of EMP contains rows of values. Table DEPT has 2 columns, DEPTNO and DNAME. Each column of DEPT contains rows of values. - Assume that the current user, Scott, has privileges to access schemas SCOTT and JONES in the relational database and has privileges to access the data associated with SCOTT and JONES. According to certain embodiments of the techniques, the current user, Scott, is able to see a default virtual visualization of the relational database as follows (not the full visualization):
<oradb> <SCOTT> <EMP> <ROW> <EMPNO>21</EMPNO> <ENAME>John</ENAME> <SALARY>100,000</SALARY> </ROW> <ROW> ...<!-- other emp values --> </ROW> ... </EMP> ...<!-- other tables.. --> </SCOTT> <JONES> <DEPT> <ROW> <DEPTNO>1</DEPTNO> <DNAME>Marketing</DNAME> </ROW> <ROW> ...<!-- other dept values --> </ROW> </DEPT> </JONES> </oradb> - The above default virtual visualization is merely an example of one implementation of a default virtual visualization. The default virtual visualization may vary from implementation to implementation. The invention is not restricted to a particular visualization model.
- According to certain embodiments of the techniques, a standard URL and URI mechanism is also provided to access the data stored in any database, by defining the URL and URI as an XPath expression over the visualized XML document.
- According to one embodiment of the invention, the URL may be processed by using a servlet, which uses the native URI processing mechanisms to access the data pointed by the URL.
- According to certain embodiments of the invention, the database tag (oradb) may be implicitly bound in the processing context and need not be explicitly specified in the URL.
- A current user who does not have local access to the relational database may use a browser to access data in the relational database over the Internet by using a URL. For example, assume that the current user is Scott and that Scott would like to use a browser to access the employee-name column of EMP table at the row for which the employee number is 2100, and where the EMP table is in schema SCOTT. The URL that Scott would use may look like the following:
- http ://machine-name/servlet-name/SCOTT/EMP/ROW[EMPNO=2100]/ENAME
- In the above URL, the database tag, “oradb”, is implicitly bound, and thus the user need not specify the database tag in the URL.
- The result of accessing the URL or the URI would be a fragment of the visualized XML document containing the ename argument as shown below:
<? xml version=″1.0″?> <ENAME>John</ENAME> - The current user can augment the URL or URI with content types to specify the Multipurpose Internet Mail Extensions (MIME) type of the output. For example, if the URL points to a BLOB (Binary Large OBject) column that is storing an image, wherein the image is the “target data”, then the content type can be set to gif. Thus, in response to using the URL, the current user obtains the image rather than, for example, a large hexadecimal file.
- As another example, the current user may augment the URL to request, as the target data, the text value of the column to which the URL points. For example, assume that the current user, Scott, uses the following URL to access the employee-name column of EMP table at the row for which the employee number is 2100:
http://machine-name/<servlet-name>/ /SCOTT/EMP/ROW[EMPNO=2100]/ENAME/text() - “text( )” is an XPath standard to identify the text node. The use of text( ) in the above URL would produce a result that contains only the text value in the employee-name column of EMP table at the row for which the employee number is 2100. The text value in the employee-name column of EMP table at the row for which the employee number is 2100 is “John”. Thus, the result of accessing the above URL using text( ) is “John”. In contrast, when text( ) is not used in the URL to access the employee-name column in the example, “John” is inlined inside a fragment of the visualized XML document as follows:
<ENAME>John</ENAME> - In another embodiment of the invention, the mime information may be derived automatically by the database, based on other auxiliary information that may be stored with the URL or through user written functions.
- Techniques are provided for defining the default virtual visualization of the database as a canonical XML document. According to one embodiment, the rules for defining the default virtual visualization are as follows:
- 1) There is a pseudo top-level enclosing tag that identifies the relational database that contains the target data. An example of a pair of enclosing tags that identify the relational database that contains the target data is <oradb> . . . </oradb>, where “oradb” is the name of the relational database that contains the target data, as shown below (not all the elements in the visualization are shown):
<oradb> <SCOTT> <EMP> <ROW> <EMPNO>21</EMPNO> <ENAME>John</ENAME> <SALARY>100,000</SALARY> </ROW> ... </EMP> ...<!--other tables..--> </SCOTT> <JONES> <DEPT> <ROW> ...<!--other dept values--> </ROW> </DEPT> </JONES> </oradb> - 2) Each schema in the relational database for which the current user has been granted access privileges corresponds to one element in the visualized XML document. The name of the element is the same as the name of the schema to which the element corresponds. In the example illustrated herein, the schema SCOTT in the relational database “oradb” is represented by the element with the same name in the visualized XML document. Similarly, the schema JONES is represented by the element with the same name in the visualized XML document. The following visualized XML document is a visualization of the relational database down to the schema element level. For the purpose of illustration, only the elements corresponding to schemas SCOTT and JONES are shown.
<oradb> <SCOTT> </SCOTT> <JONES> </JONES> </oradb> - 3) Each table or view in the relational database for which the current user has been granted access privileges corresponds to one element in the visualized XML document. The name of the element is the same as the name of the table or view to which the element corresponds. In the example illustrated herein, the table EMP in the relational database “oradb” is represented by the element with the same name in the visualized XML document. Similarly, the table DEPT is represented by the element with the same name in the visualized XML document. The following visualized XML document is a visualization of the relational database down to the table element level. For the purpose of illustration, only the elements corresponding to tables EMP and DEPT are shown.
<oradb> <SCOTT> <EMP> </EMP> </SCOTT> <JONES> <DEPT> <DEPT> </JONES> </oradb> - 4) Each row of each table or view in the relational database for which the current user has been granted access privileges corresponds to one element in the visualized XML document. The following visualized XML document is a visualization of the relational database down to the row element level. For the purpose of illustration, only the elements corresponding to rows of tables EMP and DEPT are shown.
<oradb> <SCOTT> <EMP> <ROW> -
</ROW> ...<!—multiple ROW tag pairs - each pair corresponding to a single row> </EMP> </SCOTT> <JONES> <DEPT> <ROW> </ROW> ...<!—multiple ROW tag pairs - each pair corresponding to a single row> </DEPT> </JONES> </oradb> - 5) Each column of each table or view in the relational database for which the current user has been granted access privileges corresponds to one element in the visualized XML document. The name of the element is the same as the name of the column to which the element corresponds. In the example illustrated herein, the column EMPNO in table EMP is represented by the element with the same name in the visualized XML document. Similarly, the column ENAME is represented by the element with the same name in the visualized XML document. The following visualized XML document is a visualization of the relational database down to the column element level. For the purpose of illustration, only the elements corresponding to columns EMPNO and ENAME in table EMP are shown.
<oradb> <SCOTT> <EMP> <ROW> <EMPNO>2100</EMPNO> <ENAME>JOHN</ENAME> <SALARY>100000</SALARY> </ROW> <ROW> <EMPNO>2200</EMPNO> <ENAME>TOM</ENAME> <SALARY>35000</SALARY> </ROW> ...<!—other rows..> </EMP> </SCOTT> <JONES> <DEPT> <ROW> <DEPTNO>1</DEPTNO> <DNAME>MARKETING</DNAME> </ROW> ...<!—other rows..> </DEPT> </JONES> </oradb> - According to one embodiment of the invention, the Xpath query over the XML visualization may be translated into relational database queries and the result formatted in XML. Techniques are provided for converting XPath expressions into relational database queries. For the purpose of explanation, assume that the XPath expression that is to be converted into a query is in the context of the relational database “oradb” . Thus, the format of a typical XPath expression is the context of “oradb” can be generalized as follows:
- /Schema/Table/Row/Column/Attribute . . . (! further attributes)
- Each element of the above XPath expression may optionally have a predicate. Predicates take the form,
- [(element) (operator) (value)]
- For example, the element, Row, may have a predicate as follows,
- /Schema/Table/Row [Column1=2100]/Column2
- The rules for converting XPath expressions into relational database queries will refer to the above general format for an XPath expression and are as follows:
- 1) An XPath expression of the form /Schema/Table is converted to a corresponding relational database query such as the following SQL statement,
- Select *
- From Schema.Table
- The syntax used in the preceding statement is merely illustrative. The actual syntax of SQL statements may vary from implementation to implementation. The present invention is not limited to any particular syntax.
- The results of the SQL statement can then be converted into a corresponding fragment of the visualized XML document.
- 2) An XPath expression of the form /Schema/Table/Row/Column is converted to a corresponding relational database query such as the following SQL statement,
- Select Column
- From Schema.Table
- The syntax used in the preceding statement is merely illustrative. The actual syntax of SQL statements may vary from implementation to implementation. The present invention is not limited to any particular syntax.
- The results of the SQL statement can then be converted into a corresponding fragment of the visualized XML document.
- 3) An XPath expression of the form /Schema/Table/Row [Empno=2100]/Column is converted to a corresponding relational database query such as the following SQL statement,
- Select Column2
- From Schema.Table
- Where Column1=2100
- The syntax used in the preceding statements is merely illustrative. The actual syntax of the query language statements may vary from implementation to implementation. The present invention is not limited to any particular syntax. The results of the query language statement can then be converted into a corresponding fragment of the visualized XML document.
- According to certain embodiments, a special data type is provided in the relational database for storing URIs and URLs in the relational database. Such a data type is herein referred to as an “Uritype”. URIs and URLs can be stored in columns in relational database tables by defining the URIs and URLs as Uritype data.
- FIG. 2A is a block diagram that illustrates a hierarchy of Uritypes. FIG. 2A shows a
general Uritype 210 that comprises subtypes. According to certain embodiments, the subtypes are DB-Uritype 212, HTTP-Uritype 214, and FTP-Uritype 216. - The HTTP-Uritype stores HTTP (HyperText Transfer Protocol) URLs, and fetches the data pointed to by the URL using the HTTP protocol. The FTP-Uritype stores FTP (File Transfer Protocols) URLs and fetches the data, using FTP. The DB-Uritype stores intra-database references using the Xpath mechanism described herein.
- The DB-Uritype can fetch the data associated with the URL using the Xpath translation mechanism defined earlier or through other mechanisms.
- The user may define subtypes of the Uritype or any of the other subtypes, and provide the implementation for getting the data pointed to by that URL.
- Apart from being able to store URIs and URLs, the general functions associated with the Uritype data type include retrieving URIs and URLs as well as retrieving XML documents that are stored as LOBs, for example, CLOBs and BLOBs, in the relational database.
- When the current user wishes to retrieve target data, pointed to by the URL, from the relational database, the current user's XPath expressions are automatically converted into appropriate query language statements. The actual syntax of such statements depend on the query language used in the relational database and may vary from implementation to implementation. The present invention is not limited to any particular syntax. The relational database functions of the Uritype data type can be abstracted by the following statements:
- getURL( );
- getBLOB( );
- getCLOB( ).
- getXML( );
- The preceding statements merely illustrate function. Such statements are not necessarily query language statements. The invention is not restricted to a particular set of query language statements.
- FIG. 2B is a block diagram that illustrates a relational database table that stores Uritype data. Relational database table200 is a Purchase Order table. Table 200 has 2 columns: Purchase
Order Number column 250 and PurchaseOrder Link column 260. Bothcolumns row 271,row 272 androw 273. The Purchase Order Link column can store data of type UriType. -
Column 260 atrow 271 stores data of type HTTP-Uritype.Column 260 atrow 272 stores data of type FTP-Uritype. Finally,column 260 atrow 273 stores data of type DB-Uritype. Note that since the DB-Uritype, HTTP-Uritype etc., have been defined as subtypes of the UriType type, we can store instances of these types in the Purchase Order Link column. - The current user can retrieve any of the data pointed by the Uritype data stored in table200 The database will automatically fetch the data using the appropriate mechanisms.
- For example, the query shown below, retrieves the Purchase Order data pointed to by the Purchase Order Link column:
- Select p.PurchaseOrderLink.getXML( )
- From PurchaseOrderTable p;
- The database will fetch the purchase order through HTTP for the first row, use FTP for the second row and use the DB-Uritype processing mechanism for the last row.
- The syntax used in the preceding statements is merely illustrative. The actual syntax may vary from implementation to implementation. The present invention is not limited to any particular syntax. The conversion into the appropriate query is transparent to the current user. Thus, it is not necessary for the current user to be aware of the type of the target data.
- According to certain embodiments, a mechanism is provided to modify, add or delete XML data that is stored in the relational database using the standard URIs and URLs as described herein.
- For example, assume that the current user, Scott, is able to see a default virtual visualization of the relational database as follows (not the full visualization):
<oradb> <SCOTT> <EMP> <ROW> <EMPNO>21 </EMPNO> <ENAME>John</ENAME> <SALARY>100,000</SALARY> </ROW> <ROW> ... <!-- other emp values --> </ROW> ... </EMP> .... <!-- other tables.. --> </SCOTT> <JONES> <DEPT> <ROW> <DEPTNO>1</DEPTNO> <DNAME>Marketing</DNAME> </ROW> <ROW> ... <!-- other dept values --> </ROW> </DEPT> </JONES> </oradb> - Further assume that the current user, Scott, would like to update data at the employee-name column of EMP table at the row for which the employee number is 2100. The update comprises changing the name “John” to “Mary”.
- According to certain embodiments, if the current user, Scott, has direct access to the relational database, then Scott can perform the following: 1) selects the update operation for updating XML data and 2) uses the following XPath expressions:
- /SCOTT/EMP/ROW[EMPNO=2100]/ENAME
- <ENAME>Mary</ENAME>
- The XPath expression /SCOTT/EMP/ROW[EMPNO=2100]/ENAME indicates the row and column of the target data that is to be updated.
- The XPath expression <ENAME>Mary</ENAME>indicates the new value of the target data to be updated.
- The above XPath expressions are converted into query language statements such as:
UPDATE “SCOTT”.“EMP” SET “ENAME” = ‘Mary’ Where “EMPNO” = 2100; - If the current user, Scott, is using a web browser to access target data in the relational database, then according to certain embodiments, a general purpose servlet may be provided to allow the current user to modify, add or delete XML data that is stored in the relational database using the standard URIs and URLs. Using the above example of updating the name “John” to “Mary”, a general purpose servlet is provided that allows Scott to perform the following: 1) select the update operation for updating XML data and 2) post to the servlet the “update” information in the form of the following XPath expressions:
/SCOTT/EMP/ROW[EMPNO=2100]/ENAME <ENAME>Mary</ENAME> - According to certain other embodiments, a special servlet may be provided for each database operation. In other words, there may be an “Insert-servlet” for the INSERT operation, a “Delete-servlet” for the DELETE operation, and an “Update-servlet” for the UPDATE operation.
- Using the above example of updating the name “John” to “Mary”, an “Insert_servlet” is provided that allows Scott to perform the following: 1) select the update operation for updating XML data and 2) post to the servlet the “update” information in the form of the following XPath expressions:
http://machine-name/<update- servlet>/SCOTT/EMP/ROW[EMPNO=2100]/ENAME <ENAME>Mary</ENAME> - The same mechanism is used to modify, add or delete metadata. For example, if the current user, Scott would like to delete the schema SCOTT, then Scott can perform the following: 1) selects the delete operation for deleting XML data in the relational database and 2) uses the following XPath expression that indicates which level in the visualized XML document to delete:
- http://machine-name/<delete-servlet>/SCOTT
- FIG. 3 is a block diagram that illustrates a
computer system 300 upon which an embodiment of the invention may be implemented.Computer system 300 includes abus 302 or other communication mechanism for communicating information, and aprocessor 304 coupled withbus 302 for processing information.Computer system 300 also includes amain memory 306, such as a random access memory (RAM) or other dynamic storage device, coupled tobus 302 for storing information and instructions to be executed byprocessor 304.Main memory 306 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed byprocessor 304.Computer system 300 further includes a read only memory (ROM) 308 or other static storage device coupled tobus 302 for storing static information and instructions forprocessor 304. A storage device 301, such as a magnetic disk or optical disk, is provided and coupled tobus 302 for storing information and instructions. -
Computer system 300 may be coupled viabus 302 to adisplay 312, such as a cathode ray tube (CRT), for displaying information to a computer user. Aninput device 314, including alphanumeric and other keys, is coupled tobus 302 for communicating information and command selections toprocessor 304. Another type of user input device iscursor control 316, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections toprocessor 304 and for controlling cursor movement ondisplay 312. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane. - The invention is related to the use of
computer system 300 for implementing the techniques described herein. According to one embodiment of the invention, those techniques are implemented bycomputer system 300 in response toprocessor 304 executing one or more sequences of one or more instructions contained inmain memory 306. Such instructions may be read intomain memory 306 from another computer-readable medium, such asstorage device 310. Execution of the sequences of instructions contained inmain memory 306 causesprocessor 304 to perform the process steps described herein. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained inmain memory 306. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software. - The term “computer-readable medium” as used herein refers to any medium that participates in providing instructions to
processor 304 for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical or magnetic disks, such asstorage device 310. Volatile media includes dynamic memory, such asmain memory 306. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprisebus 302. Transmission media can also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications. - Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.
- Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to
processor 304 for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local tocomputer system 300 can receive the data on the telephone line and use an infrared transmitter to convert the data to an infrared signal. An infrared detector coupled tobus 302 can receive the data carried in the infrared signal and place the data onbus 302.Bus 302 carries the data tomain memory 306, from whichprocessor 304 retrieves and executes the instructions. The instructions received bymain memory 306 may optionally be stored onstorage device 310 either before or after execution byprocessor 304. -
Computer system 300 also includes acommunication interface 318 coupled tobus 302.Communication interface 318 provides a two-way data communication coupling to anetwork link 320 that is connected to alocal network 322. For example,communication interface 318 may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line. As another example,communication interface 318 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation,communication interface 318 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information. - Network link320 typically provides data communication through one or more networks to other data devices. For example,
network link 320 may provide a connection throughlocal network 322 to ahost computer 324 or to data equipment operated by an Internet Service Provider (ISP) 326.ISP 326 in turn provides data communication services through the worldwide packet data communication network now commonly referred to as the “Internet” 328.Local network 322 andInternet 328 both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals onnetwork link 320 and throughcommunication interface 318, which carry the digital data to and fromcomputer system 300, are exemplary forms of carrier waves transporting the information. -
Computer system 300 can send messages and receive data, including program code, through the network(s),network link 320 andcommunication interface 318. In the Internet example, aserver 330 might transmit a requested code for an application program throughInternet 328,ISP 326,local network 322 andcommunication interface 318. In accordance with the invention, one such downloaded application implements the techniques described herein. - The received code may be executed by
processor 304 as it is received, and/or stored in storage device 301, or other non-volatile storage for later execution. In this manner,computer system 300 may obtain application code in the form of a carrier wave. - In the foregoing specification, the invention has been described with reference to specific embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
Claims (38)
Priority Applications (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/949,020 US7873649B2 (en) | 2000-09-07 | 2001-09-06 | Method and mechanism for identifying transaction on a row of data |
PCT/US2001/028180 WO2002021339A2 (en) | 2000-09-07 | 2001-09-07 | Method and apparatus for xml data storage, query rewrites, visualization, mapping and references |
CA2421214A CA2421214C (en) | 2000-09-07 | 2001-09-07 | Method and apparatus for xml data storage, query rewrites, visualization, mapping and referencing |
AU2001290693A AU2001290693B2 (en) | 2000-09-07 | 2001-09-07 | Method and apparatus for XML data storage, query rewrites, visualization, mapping and references |
JP2002525479A JP4890728B2 (en) | 2000-09-07 | 2001-09-07 | Method and apparatus for XML data storage, query rewriting, visualization, mapping, and referencing |
EP01970715.7A EP1337937B1 (en) | 2000-09-07 | 2001-09-07 | Method and apparatus for xml data storage, query rewrites, visualization, mapping and references |
CA2767315A CA2767315C (en) | 2000-09-07 | 2001-09-07 | Method and apparatus for xml data storage, query rewrites, visualization, mapping and referencing |
AU9069301A AU9069301A (en) | 2000-09-07 | 2001-09-07 | Method and apparatus for xml data storage, query rewrites, visualization, mapping and references |
HK03106200.0A HK1054092A1 (en) | 2000-09-07 | 2003-08-29 | Method and apparatus for xml data storage, query rewrites, visualization, mapping and references |
JP2011128317A JP5320438B2 (en) | 2000-09-07 | 2011-06-08 | Method and apparatus for XML data storage, query rewriting, visualization, mapping, and referencing |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US23087800P | 2000-09-07 | 2000-09-07 | |
US09/949,020 US7873649B2 (en) | 2000-09-07 | 2001-09-06 | Method and mechanism for identifying transaction on a row of data |
Publications (2)
Publication Number | Publication Date |
---|---|
US20020078094A1 true US20020078094A1 (en) | 2002-06-20 |
US7873649B2 US7873649B2 (en) | 2011-01-18 |
Family
ID=26924650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/949,020 Expired - Lifetime US7873649B2 (en) | 2000-09-07 | 2001-09-06 | Method and mechanism for identifying transaction on a row of data |
Country Status (1)
Country | Link |
---|---|
US (1) | US7873649B2 (en) |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030140310A1 (en) * | 2002-01-23 | 2003-07-24 | Siemens Ag | Automation system and method for producing a documentation |
US20030200506A1 (en) * | 2002-04-23 | 2003-10-23 | International Business Machines Corporation | Anchoring method for computing an XPath expression |
US20040117439A1 (en) * | 2001-02-12 | 2004-06-17 | Levett David Lawrence | Client software enabling a client to run a network based application |
US20040119743A1 (en) * | 2002-12-20 | 2004-06-24 | Songwen Xu | Dynamic tree representation for internet enterprise applications |
US20040172382A1 (en) * | 2003-02-28 | 2004-09-02 | Microsoft Corporation. | System and method for generating a request for information about selected objects |
US20040205053A1 (en) * | 2003-04-08 | 2004-10-14 | International Business Machines Corporation | System and method for caching database query statements |
US20040236756A1 (en) * | 2003-05-19 | 2004-11-25 | Shu-Yao Chien | Storing element-based descriptions of documents in a database |
US20050015383A1 (en) * | 2003-07-15 | 2005-01-20 | Microsoft Corporation | Method and system for accessing database objects in polyarchical relationships using data path expressions |
US20050050069A1 (en) * | 2003-08-29 | 2005-03-03 | Alexander Vaschillo | Relational schema format |
US20050131926A1 (en) * | 2003-12-10 | 2005-06-16 | Siemens Corporate Research Inc. | Method of hybrid searching for extensible markup language (XML) documents |
US20050160110A1 (en) * | 2004-01-16 | 2005-07-21 | Charlet Kyle J. | Apparatus, system, and method for defining a metadata schema to facilitate passing data between an extensible markup language document and a hierarchical database |
US20050216501A1 (en) * | 2004-03-23 | 2005-09-29 | Ilker Cengiz | System and method of providing and utilizing an object schema to facilitate mapping between disparate domains |
US20050289150A1 (en) * | 2004-06-29 | 2005-12-29 | International Business Machines Corporation | Access controller using tree-structured data |
US20060036612A1 (en) * | 2002-03-01 | 2006-02-16 | Harrop Jason B | Document assembly system |
US20060035629A1 (en) * | 2002-06-06 | 2006-02-16 | Ntt Docomo, Inc. | Communication system, data processing control method, server, and data processing control program |
US20070088741A1 (en) * | 2005-09-09 | 2007-04-19 | Salesforce.Com, Inc. | Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment |
US20070143253A1 (en) * | 2005-12-19 | 2007-06-21 | Pekka Kostamaa | Database system |
US20070174309A1 (en) * | 2006-01-18 | 2007-07-26 | Pettovello Primo M | Mtreeini: intermediate nodes and indexes |
US20070288591A1 (en) * | 2006-06-13 | 2007-12-13 | Wong Henry Y | Method, system, and program product for caching application data in a browser cache |
US20090157627A1 (en) * | 2007-09-28 | 2009-06-18 | Xcerion Ab | Network operating system |
US20090288078A1 (en) * | 2008-05-15 | 2009-11-19 | International Business Machines Corporation | Method and Apparatus for Deploying Applications |
US7664742B2 (en) | 2005-11-14 | 2010-02-16 | Pettovello Primo M | Index data structure for a peer-to-peer network |
CN1542657B (en) * | 2003-04-07 | 2010-04-28 | 汤姆森特许公司 | Method for ensuring data compatibility when storing data items in a database |
US7739223B2 (en) | 2003-08-29 | 2010-06-15 | Microsoft Corporation | Mapping architecture for arbitrary data models |
US7873649B2 (en) * | 2000-09-07 | 2011-01-18 | Oracle International Corporation | Method and mechanism for identifying transaction on a row of data |
US7917547B2 (en) | 2008-06-10 | 2011-03-29 | Microsoft Corporation | Virtualizing objects within queries |
US20120317309A1 (en) * | 2011-06-10 | 2012-12-13 | Benco Davis S | Method to synchronize content across networks |
US8631028B1 (en) | 2009-10-29 | 2014-01-14 | Primo M. Pettovello | XPath query processing improvements |
US20140040321A1 (en) * | 2003-11-24 | 2014-02-06 | Ebay Inc. | Backward compatibility in database schemas |
US20140114993A1 (en) * | 2012-10-22 | 2014-04-24 | Yahoo! Inc. | Method and system for maintaining data in a data storage system |
US9171100B2 (en) | 2004-09-22 | 2015-10-27 | Primo M. Pettovello | MTree an XPath multi-axis structure threaded index |
US9201711B2 (en) | 2003-11-24 | 2015-12-01 | Ebay Inc. | API and business language schema design framework for message exchanges |
WO2016033639A1 (en) * | 2014-09-05 | 2016-03-10 | Jonathan Robert Burnett | System, method, and graphical user interface for facilitating a search |
US10713230B2 (en) | 2004-04-02 | 2020-07-14 | Salesforce.Com, Inc. | Custom entities and fields in a multi-tenant database system |
US11176205B2 (en) * | 2019-06-17 | 2021-11-16 | Google Llc | Visual data model object dependency tracing |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7996429B2 (en) * | 2008-06-12 | 2011-08-09 | Novell, Inc. | Mechanisms to persist hierarchical object relations |
US11741093B1 (en) | 2021-07-21 | 2023-08-29 | T-Mobile Usa, Inc. | Intermediate communication layer to translate a request between a user of a database and the database |
Citations (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US123993A (en) * | 1872-02-27 | Improvement in elevated tracks of wire or rope | ||
US156772A (en) * | 1874-11-10 | Improvement in foot-rests for chairs | ||
US169788A (en) * | 1875-11-09 | Improvement in burglar-alarms | ||
US6012067A (en) * | 1998-03-02 | 2000-01-04 | Sarkar; Shyam Sundar | Method and apparatus for storing and manipulating objects in a plurality of relational data managers on the web |
US6240407B1 (en) * | 1998-04-29 | 2001-05-29 | International Business Machines Corp. | Method and apparatus for creating an index in a database system |
US6253195B1 (en) * | 1998-09-21 | 2001-06-26 | Microsoft Corporation | Optimized query tree |
US6282537B1 (en) * | 1996-05-30 | 2001-08-28 | Massachusetts Institute Of Technology | Query and retrieving semi-structured data from heterogeneous sources by translating structured queries |
US20010047372A1 (en) * | 2000-02-11 | 2001-11-29 | Alexander Gorelik | Nested relational data model |
US20020035606A1 (en) * | 2000-05-18 | 2002-03-21 | Kenton Stephen J. | Method and system for straight through processing |
US20020038358A1 (en) * | 2000-08-08 | 2002-03-28 | Sweatt Millard E. | Method and system for remote television replay control |
US6366934B1 (en) * | 1998-10-08 | 2002-04-02 | International Business Machines Corporation | Method and apparatus for querying structured documents using a database extender |
US20020054090A1 (en) * | 2000-09-01 | 2002-05-09 | Silva Juliana Freire | Method and apparatus for creating and providing personalized access to web content and services from terminals having diverse capabilities |
US20020073019A1 (en) * | 1989-05-01 | 2002-06-13 | David W. Deaton | System, method, and database for processing transactions |
US6418448B1 (en) * | 1999-12-06 | 2002-07-09 | Shyam Sundar Sarkar | Method and apparatus for processing markup language specifications for data and metadata used inside multiple related internet documents to navigate, query and manipulate information from a plurality of object relational databases over the web |
US20020091725A1 (en) * | 1998-05-12 | 2002-07-11 | David Skok | Method and apparatus for providing client-based web page content creation and management |
US20020100027A1 (en) * | 2000-07-26 | 2002-07-25 | International Business Machines Corporation | Method of externalizing relational and ASN.1-formatted data into XML format |
US6438540B2 (en) * | 1998-08-14 | 2002-08-20 | Vignette Corporation | Automatic query and transformative process |
US20020116457A1 (en) * | 2001-02-22 | 2002-08-22 | John Eshleman | Systems and methods for managing distributed database resources |
US20020116371A1 (en) * | 1999-12-06 | 2002-08-22 | David Dodds | System and method for the storage, indexing and retrieval of XML documents using relation databases |
US20020120685A1 (en) * | 1999-06-01 | 2002-08-29 | Alok Srivastava | System for dynamically invoking remote network services using service descriptions stored in a service registry |
US20020123993A1 (en) * | 1999-12-02 | 2002-09-05 | Chau Hoang K. | XML document processing |
US20020133497A1 (en) * | 2000-08-01 | 2002-09-19 | Draper Denise L. | Nested conditional relations (NCR) model and algebra |
US20020169788A1 (en) * | 2000-02-16 | 2002-11-14 | Wang-Chien Lee | System and method for automatic loading of an XML document defined by a document-type definition into a relational database including the generation of a relational schema therefor |
US20020169842A1 (en) * | 2001-04-02 | 2002-11-14 | Centegy Corporation | Method and system for facilitating the integration of a plurality of dissimilar systems |
US20020184401A1 (en) * | 2000-10-20 | 2002-12-05 | Kadel Richard William | Extensible information system |
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 |
US6516327B1 (en) * | 1998-12-24 | 2003-02-04 | International Business Machines Corporation | System and method for synchronizing data in multiple databases |
US20030028563A1 (en) * | 2001-06-26 | 2003-02-06 | William Stutz | Methods and apparatus for extendible information aggregation and presentation |
US6574655B1 (en) * | 1999-06-29 | 2003-06-03 | Thomson Licensing Sa | Associative management of multimedia assets and associated resources using multi-domain agent-based communication between heterogeneous peers |
US20030126136A1 (en) * | 2001-06-22 | 2003-07-03 | Nosa Omoigui | System and method for knowledge retrieval, management, delivery and presentation |
US6591295B1 (en) * | 1999-11-05 | 2003-07-08 | Oracle International Corp. | Methods and apparatus for using multimedia data stored in a relational database in web applications |
US6604100B1 (en) * | 2000-02-09 | 2003-08-05 | At&T Corp. | Method for converting relational data into a structured document |
US20030158897A1 (en) * | 2000-05-09 | 2003-08-21 | Viryanet Ltd. | Networked platform for creating and supporting communities |
US20040015783A1 (en) * | 2002-06-20 | 2004-01-22 | Canon Kabushiki Kaisha | Methods for interactively defining transforms and for generating queries by manipulating existing query data |
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 |
US20040064466A1 (en) * | 2002-09-27 | 2004-04-01 | Oracle International Corporation | Techniques for rewriting XML queries directed to relational database constructs |
US6766330B1 (en) * | 1999-10-19 | 2004-07-20 | International Business Machines Corporation | Universal output constructor for XML queries universal output constructor for XML queries |
US20040143581A1 (en) * | 2003-01-15 | 2004-07-22 | Bohannon Philip L. | Cost-based storage of extensible markup language (XML) data |
US20040148278A1 (en) * | 2003-01-22 | 2004-07-29 | Amir Milo | System and method for providing content warehouse |
US6772413B2 (en) * | 1999-12-21 | 2004-08-03 | Datapower Technology, Inc. | Method and apparatus of data exchange using runtime code generator and translator |
US20040167904A1 (en) * | 2003-02-20 | 2004-08-26 | Ji-Rong Wen | Semi-structured data storage schema selection |
US6785673B1 (en) * | 2000-02-09 | 2004-08-31 | At&T Corp. | Method for converting relational data into XML |
US20040193575A1 (en) * | 2003-03-25 | 2004-09-30 | Chia-Hsun Chen | Path expressions and SQL select statement in object oriented language |
US20040199524A1 (en) * | 2000-03-17 | 2004-10-07 | Michael Rys | Systems and methods for transforming query results into hierarchical information |
US6810429B1 (en) * | 2000-02-03 | 2004-10-26 | Mitsubishi Electric Research Laboratories, Inc. | Enterprise integration system |
US20040260691A1 (en) * | 2003-06-23 | 2004-12-23 | Desai Arpan A. | Common query runtime system and application programming interface |
US20040267719A1 (en) * | 2003-06-27 | 2004-12-30 | Microsoft Corporation | System and method for managed database query pre-optimization |
US20040267760A1 (en) * | 2003-06-23 | 2004-12-30 | Brundage Michael L. | Query intermediate language method and system |
US20050004892A1 (en) * | 2003-06-23 | 2005-01-06 | Brundage Michael L. | Query optimizer system and method |
US20050022115A1 (en) * | 2001-05-31 | 2005-01-27 | Roberts Baumgartner | Visual and interactive wrapper generation, automated information extraction from web pages, and translation into xml |
US20050044078A1 (en) * | 1998-03-11 | 2005-02-24 | Overture Services, Inc. | Technique for processing data in a network |
US6871204B2 (en) * | 2000-09-07 | 2005-03-22 | Oracle International Corporation | Apparatus and method for mapping relational data and metadata to XML |
US20050097084A1 (en) * | 2003-10-31 | 2005-05-05 | Balmin Andrey L. | XPath containment for index and materialized view matching |
US6918082B1 (en) * | 1998-12-17 | 2005-07-12 | Jeffrey M. Gross | Electronic document proofing system |
US20050160076A1 (en) * | 2004-01-20 | 2005-07-21 | Fujitsu Limited | Method and apparatus for referring to database integration, and computer product |
US6947945B1 (en) * | 2000-03-21 | 2005-09-20 | International Business Machines Corporation | Using an XML query language to publish relational data as XML |
US20050210002A1 (en) * | 2004-03-18 | 2005-09-22 | Microsoft Corporation | System and method for compiling an extensible markup language based query |
US6976210B1 (en) * | 1999-08-31 | 2005-12-13 | Lucent Technologies Inc. | Method and apparatus for web-site-independent personalization from multiple sites having user-determined extraction functionality |
US20050289125A1 (en) * | 2004-06-23 | 2005-12-29 | Oracle International Corporation | Efficient evaluation of queries using translation |
US20050289138A1 (en) * | 2004-06-25 | 2005-12-29 | Cheng Alex T | Aggregate indexing of structured and unstructured marked-up content |
US7028028B1 (en) * | 2001-05-17 | 2006-04-11 | Enosys Markets,Inc. | System for querying markup language data stored in a relational database according to markup language schema |
US7031956B1 (en) * | 2000-02-16 | 2006-04-18 | Verizon Laboratories Inc. | System and method for synchronizing and/or updating an existing relational database with supplemental XML data |
US7043716B2 (en) * | 2001-06-13 | 2006-05-09 | Arius Software Corporation | System and method for multiple level architecture by use of abstract application notation |
US7051071B2 (en) * | 2000-02-16 | 2006-05-23 | Bea Systems, Inc. | Workflow integration system for enterprise wide electronic collaboration |
US7062507B2 (en) * | 2003-02-24 | 2006-06-13 | The Boeing Company | Indexing profile for efficient and scalable XML based publish and subscribe system |
US20060224576A1 (en) * | 2005-04-04 | 2006-10-05 | Oracle International Corporation | Effectively and efficiently supporting XML sequence type and XQuery sequence natively in a SQL system |
US7124137B2 (en) * | 2002-12-19 | 2006-10-17 | International Business Machines Corporation | Method, system, and program for optimizing processing of nested functions |
US20070233645A1 (en) * | 2006-03-28 | 2007-10-04 | Trenten Peterson | System and Method for Building an XQuery Using a Model-Based XQuery Building Tool |
US20100070448A1 (en) * | 2002-06-24 | 2010-03-18 | Nosa Omoigui | System and method for knowledge retrieval, management, delivery and presentation |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5999941A (en) | 1997-11-25 | 1999-12-07 | Micron Electronics, Inc. | Database access using active server pages |
JPH11296541A (en) | 1998-04-14 | 1999-10-29 | Fujitsu Ltd | Structured data management system and computer-readable recording medium recording structured data management program |
US6269380B1 (en) | 1998-08-31 | 2001-07-31 | Xerox Corporation | Property based mechanism for flexibility supporting front-end and back-end components having different communication protocols |
US6584459B1 (en) | 1998-10-08 | 2003-06-24 | International Business Machines Corporation | Database extender for storing, querying, and retrieving structured documents |
US20020124100A1 (en) * | 1999-05-20 | 2002-09-05 | Jeffrey B Adams | Method and apparatus for access to, and delivery of, multimedia information |
WO2001033433A1 (en) * | 1999-11-01 | 2001-05-10 | Xcoders Inc. | Method and apparatus for establishing and using an xml database |
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 |
WO2001065419A2 (en) | 2000-03-02 | 2001-09-07 | Nimble Technology, Inc. | Method and apparatus for storing semi-structured data in a structured manner |
US6934712B2 (en) | 2000-03-21 | 2005-08-23 | International Business Machines Corporation | Tagging XML query results over relational DBMSs |
US6704024B2 (en) * | 2000-08-07 | 2004-03-09 | Zframe, Inc. | Visual content browsing using rasterized representations |
US7873649B2 (en) * | 2000-09-07 | 2011-01-18 | Oracle International Corporation | Method and mechanism for identifying transaction on a row of data |
AU2002334721B2 (en) | 2001-09-28 | 2008-10-23 | Oracle International Corporation | An index structure to access hierarchical data in a relational database system |
CA2382712A1 (en) | 2002-04-19 | 2003-10-19 | Ibm Canada Limited-Ibm Canada Limitee | Detection and prevention of writing conflicts within nested query statements |
US6917935B2 (en) | 2002-06-26 | 2005-07-12 | Microsoft Corporation | Manipulating schematized data in a database |
US7509631B2 (en) | 2004-05-21 | 2009-03-24 | Bea Systems, Inc. | Systems and methods for implementing a computer language type system |
-
2001
- 2001-09-06 US US09/949,020 patent/US7873649B2/en not_active Expired - Lifetime
Patent Citations (77)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US156772A (en) * | 1874-11-10 | Improvement in foot-rests for chairs | ||
US169788A (en) * | 1875-11-09 | Improvement in burglar-alarms | ||
US123993A (en) * | 1872-02-27 | Improvement in elevated tracks of wire or rope | ||
US20020073019A1 (en) * | 1989-05-01 | 2002-06-13 | David W. Deaton | System, method, and database for processing transactions |
US6282537B1 (en) * | 1996-05-30 | 2001-08-28 | Massachusetts Institute Of Technology | Query and retrieving semi-structured data from heterogeneous sources by translating structured queries |
US6012067A (en) * | 1998-03-02 | 2000-01-04 | Sarkar; Shyam Sundar | Method and apparatus for storing and manipulating objects in a plurality of relational data managers on the web |
US20050044078A1 (en) * | 1998-03-11 | 2005-02-24 | Overture Services, Inc. | Technique for processing data in a network |
US6240407B1 (en) * | 1998-04-29 | 2001-05-29 | International Business Machines Corp. | Method and apparatus for creating an index in a database system |
US20020091725A1 (en) * | 1998-05-12 | 2002-07-11 | David Skok | Method and apparatus for providing client-based web page content creation and management |
US6438540B2 (en) * | 1998-08-14 | 2002-08-20 | Vignette Corporation | Automatic query and transformative process |
US20020198874A1 (en) * | 1998-08-14 | 2002-12-26 | Nasr Roger I. | Automatic query and transformative process |
US6253195B1 (en) * | 1998-09-21 | 2001-06-26 | Microsoft Corporation | Optimized query tree |
US6366934B1 (en) * | 1998-10-08 | 2002-04-02 | International Business Machines Corporation | Method and apparatus for querying structured documents using a database extender |
US6918082B1 (en) * | 1998-12-17 | 2005-07-12 | Jeffrey M. Gross | Electronic document proofing system |
US6516327B1 (en) * | 1998-12-24 | 2003-02-04 | International Business Machines Corporation | System and method for synchronizing data in multiple databases |
US20020120685A1 (en) * | 1999-06-01 | 2002-08-29 | Alok Srivastava | System for dynamically invoking remote network services using service descriptions stored in a service registry |
US6574655B1 (en) * | 1999-06-29 | 2003-06-03 | Thomson Licensing Sa | Associative management of multimedia assets and associated resources using multi-domain agent-based communication between heterogeneous peers |
US6976210B1 (en) * | 1999-08-31 | 2005-12-13 | Lucent Technologies Inc. | Method and apparatus for web-site-independent personalization from multiple sites having user-determined extraction functionality |
US6766330B1 (en) * | 1999-10-19 | 2004-07-20 | International Business Machines Corporation | Universal output constructor for XML queries universal output constructor for XML queries |
US6591295B1 (en) * | 1999-11-05 | 2003-07-08 | Oracle International Corp. | Methods and apparatus for using multimedia data stored in a relational database in web applications |
US6643633B2 (en) * | 1999-12-02 | 2003-11-04 | International Business Machines Corporation | Storing fragmented XML data into a relational database by decomposing XML documents with application specific mappings |
US20020123993A1 (en) * | 1999-12-02 | 2002-09-05 | Chau Hoang K. | XML document processing |
US20020156772A1 (en) * | 1999-12-02 | 2002-10-24 | International Business Machines | Generating one or more XML documents from a single SQL query |
US6721727B2 (en) * | 1999-12-02 | 2004-04-13 | International Business Machines Corporation | XML documents stored as column data |
US20060101320A1 (en) * | 1999-12-06 | 2006-05-11 | David Dodds | System and method for the storage, indexing and retrieval of XML documents using relational databases |
US6418448B1 (en) * | 1999-12-06 | 2002-07-09 | Shyam Sundar Sarkar | Method and apparatus for processing markup language specifications for data and metadata used inside multiple related internet documents to navigate, query and manipulate information from a plurality of object relational databases over the web |
US20020116371A1 (en) * | 1999-12-06 | 2002-08-22 | David Dodds | System and method for the storage, indexing and retrieval of XML documents using relation databases |
US6772413B2 (en) * | 1999-12-21 | 2004-08-03 | Datapower Technology, Inc. | Method and apparatus of data exchange using runtime code generator and translator |
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 |
US6810429B1 (en) * | 2000-02-03 | 2004-10-26 | Mitsubishi Electric Research Laboratories, Inc. | Enterprise integration system |
US6785673B1 (en) * | 2000-02-09 | 2004-08-31 | At&T Corp. | Method for converting relational data into XML |
US6604100B1 (en) * | 2000-02-09 | 2003-08-05 | At&T Corp. | Method for converting relational data into a structured document |
US20010047372A1 (en) * | 2000-02-11 | 2001-11-29 | Alexander Gorelik | Nested relational data model |
US20020169788A1 (en) * | 2000-02-16 | 2002-11-14 | Wang-Chien Lee | System and method for automatic loading of an XML document defined by a document-type definition into a relational database including the generation of a relational schema therefor |
US7072896B2 (en) * | 2000-02-16 | 2006-07-04 | Verizon Laboratories Inc. | System and method for automatic loading of an XML document defined by a document-type definition into a relational database including the generation of a relational schema therefor |
US7051071B2 (en) * | 2000-02-16 | 2006-05-23 | Bea Systems, Inc. | Workflow integration system for enterprise wide electronic collaboration |
US7031956B1 (en) * | 2000-02-16 | 2006-04-18 | Verizon Laboratories Inc. | System and method for synchronizing and/or updating an existing relational database with supplemental XML data |
US20040199524A1 (en) * | 2000-03-17 | 2004-10-07 | Michael Rys | Systems and methods for transforming query results into hierarchical information |
US6947945B1 (en) * | 2000-03-21 | 2005-09-20 | International Business Machines Corporation | Using an XML query language to publish relational data as XML |
US20030158897A1 (en) * | 2000-05-09 | 2003-08-21 | Viryanet Ltd. | Networked platform for creating and supporting communities |
US20020035606A1 (en) * | 2000-05-18 | 2002-03-21 | Kenton Stephen J. | Method and system for straight through processing |
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 |
US20020100027A1 (en) * | 2000-07-26 | 2002-07-25 | International Business Machines Corporation | Method of externalizing relational and ASN.1-formatted data into XML format |
US20020133497A1 (en) * | 2000-08-01 | 2002-09-19 | Draper Denise L. | Nested conditional relations (NCR) model and algebra |
US20020038358A1 (en) * | 2000-08-08 | 2002-03-28 | Sweatt Millard E. | Method and system for remote television replay control |
US20020054090A1 (en) * | 2000-09-01 | 2002-05-09 | Silva Juliana Freire | Method and apparatus for creating and providing personalized access to web content and services from terminals having diverse capabilities |
US6871204B2 (en) * | 2000-09-07 | 2005-03-22 | Oracle International Corporation | Apparatus and method for mapping relational data and metadata to XML |
US7260585B2 (en) * | 2000-09-07 | 2007-08-21 | Oracle International Corporation | Apparatus and method for mapping relational data and metadata to XML |
US20020184401A1 (en) * | 2000-10-20 | 2002-12-05 | Kadel Richard William | Extensible information system |
US20020116457A1 (en) * | 2001-02-22 | 2002-08-22 | John Eshleman | Systems and methods for managing distributed database resources |
US20020169842A1 (en) * | 2001-04-02 | 2002-11-14 | Centegy Corporation | Method and system for facilitating the integration of a plurality of dissimilar systems |
US20070038780A1 (en) * | 2001-04-02 | 2007-02-15 | Irving Rappaport | Method and system for facilitating the integration of a plurality of dissimilar systems |
US7028028B1 (en) * | 2001-05-17 | 2006-04-11 | Enosys Markets,Inc. | System for querying markup language data stored in a relational database according to markup language schema |
US20050022115A1 (en) * | 2001-05-31 | 2005-01-27 | Roberts Baumgartner | Visual and interactive wrapper generation, automated information extraction from web pages, and translation into xml |
US7043716B2 (en) * | 2001-06-13 | 2006-05-09 | Arius Software Corporation | System and method for multiple level architecture by use of abstract application notation |
US20030126136A1 (en) * | 2001-06-22 | 2003-07-03 | Nosa Omoigui | System and method for knowledge retrieval, management, delivery and presentation |
US20030028563A1 (en) * | 2001-06-26 | 2003-02-06 | William Stutz | Methods and apparatus for extendible information aggregation and presentation |
US20040015783A1 (en) * | 2002-06-20 | 2004-01-22 | Canon Kabushiki Kaisha | Methods for interactively defining transforms and for generating queries by manipulating existing query data |
US20100070448A1 (en) * | 2002-06-24 | 2010-03-18 | Nosa Omoigui | System and method for knowledge retrieval, management, delivery and presentation |
US20040064466A1 (en) * | 2002-09-27 | 2004-04-01 | Oracle International Corporation | Techniques for rewriting XML queries directed to relational database constructs |
US7124137B2 (en) * | 2002-12-19 | 2006-10-17 | International Business Machines Corporation | Method, system, and program for optimizing processing of nested functions |
US20040143581A1 (en) * | 2003-01-15 | 2004-07-22 | Bohannon Philip L. | Cost-based storage of extensible markup language (XML) data |
US20040148278A1 (en) * | 2003-01-22 | 2004-07-29 | Amir Milo | System and method for providing content warehouse |
US20040167904A1 (en) * | 2003-02-20 | 2004-08-26 | Ji-Rong Wen | Semi-structured data storage schema selection |
US7062507B2 (en) * | 2003-02-24 | 2006-06-13 | The Boeing Company | Indexing profile for efficient and scalable XML based publish and subscribe system |
US20040193575A1 (en) * | 2003-03-25 | 2004-09-30 | Chia-Hsun Chen | Path expressions and SQL select statement in object oriented language |
US20040260691A1 (en) * | 2003-06-23 | 2004-12-23 | Desai Arpan A. | Common query runtime system and application programming interface |
US20040267760A1 (en) * | 2003-06-23 | 2004-12-30 | Brundage Michael L. | Query intermediate language method and system |
US20050004892A1 (en) * | 2003-06-23 | 2005-01-06 | Brundage Michael L. | Query optimizer system and method |
US20040267719A1 (en) * | 2003-06-27 | 2004-12-30 | Microsoft Corporation | System and method for managed database query pre-optimization |
US20050097084A1 (en) * | 2003-10-31 | 2005-05-05 | Balmin Andrey L. | XPath containment for index and materialized view matching |
US20050160076A1 (en) * | 2004-01-20 | 2005-07-21 | Fujitsu Limited | Method and apparatus for referring to database integration, and computer product |
US20050210002A1 (en) * | 2004-03-18 | 2005-09-22 | Microsoft Corporation | System and method for compiling an extensible markup language based query |
US20050289125A1 (en) * | 2004-06-23 | 2005-12-29 | Oracle International Corporation | Efficient evaluation of queries using translation |
US20050289138A1 (en) * | 2004-06-25 | 2005-12-29 | Cheng Alex T | Aggregate indexing of structured and unstructured marked-up content |
US20060224576A1 (en) * | 2005-04-04 | 2006-10-05 | Oracle International Corporation | Effectively and efficiently supporting XML sequence type and XQuery sequence natively in a SQL system |
US20070233645A1 (en) * | 2006-03-28 | 2007-10-04 | Trenten Peterson | System and Method for Building an XQuery Using a Model-Based XQuery Building Tool |
Cited By (115)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7873649B2 (en) * | 2000-09-07 | 2011-01-18 | Oracle International Corporation | Method and mechanism for identifying transaction on a row of data |
US20040117439A1 (en) * | 2001-02-12 | 2004-06-17 | Levett David Lawrence | Client software enabling a client to run a network based application |
US20030140310A1 (en) * | 2002-01-23 | 2003-07-24 | Siemens Ag | Automation system and method for producing a documentation |
US7895516B2 (en) * | 2002-03-01 | 2011-02-22 | Speedlegal Holdings Inc. | Document assembly system |
US20110161801A1 (en) * | 2002-03-01 | 2011-06-30 | Jason Brett Harrop | Document assembly system |
US20060036612A1 (en) * | 2002-03-01 | 2006-02-16 | Harrop Jason B | Document assembly system |
US9003276B2 (en) | 2002-03-01 | 2015-04-07 | Speedlegal Holdings Inc. | Document assembly system |
US20030200506A1 (en) * | 2002-04-23 | 2003-10-23 | International Business Machines Corporation | Anchoring method for computing an XPath expression |
US8407326B2 (en) * | 2002-04-23 | 2013-03-26 | International Business Machines Corporation | Anchoring method for computing an XPath expression |
US20060035629A1 (en) * | 2002-06-06 | 2006-02-16 | Ntt Docomo, Inc. | Communication system, data processing control method, server, and data processing control program |
US7694219B2 (en) * | 2002-12-20 | 2010-04-06 | Oracle International Corporation | Dynamic tree representation for internet enterprise applications |
US20040119743A1 (en) * | 2002-12-20 | 2004-06-24 | Songwen Xu | Dynamic tree representation for internet enterprise applications |
US20040172382A1 (en) * | 2003-02-28 | 2004-09-02 | Microsoft Corporation. | System and method for generating a request for information about selected objects |
CN1542657B (en) * | 2003-04-07 | 2010-04-28 | 汤姆森特许公司 | Method for ensuring data compatibility when storing data items in a database |
US7099863B2 (en) | 2003-04-08 | 2006-08-29 | International Business Machines Corporation | System and method for caching database query statements |
US20040205053A1 (en) * | 2003-04-08 | 2004-10-14 | International Business Machines Corporation | System and method for caching database query statements |
US7562081B2 (en) * | 2003-05-19 | 2009-07-14 | Teradata Us, Inc. | Storing element-based descriptions of documents in a database |
US7996425B1 (en) * | 2003-05-19 | 2011-08-09 | Teradata Us, Inc. | Storing element-based descriptions of documents in a database |
US20040236756A1 (en) * | 2003-05-19 | 2004-11-25 | Shu-Yao Chien | Storing element-based descriptions of documents in a database |
US20050160090A1 (en) * | 2003-07-15 | 2005-07-21 | Microsoft Corporation | Method and system for accessing database objects in polyarchical relationships using data path expressions |
US20050015383A1 (en) * | 2003-07-15 | 2005-01-20 | Microsoft Corporation | Method and system for accessing database objects in polyarchical relationships using data path expressions |
US7739223B2 (en) | 2003-08-29 | 2010-06-15 | Microsoft Corporation | Mapping architecture for arbitrary data models |
US7912862B2 (en) * | 2003-08-29 | 2011-03-22 | Microsoft Corporation | Relational schema format |
US20050050069A1 (en) * | 2003-08-29 | 2005-03-03 | Alexander Vaschillo | Relational schema format |
US20090024642A1 (en) * | 2003-08-29 | 2009-01-22 | Microsoft Corporation | Relational schema format |
US7403956B2 (en) * | 2003-08-29 | 2008-07-22 | Microsoft Corporation | Relational schema format |
US10275291B2 (en) | 2003-11-24 | 2019-04-30 | Ebay Inc. | API and business language schema design framework for message exchanges |
US9201711B2 (en) | 2003-11-24 | 2015-12-01 | Ebay Inc. | API and business language schema design framework for message exchanges |
US11556397B2 (en) | 2003-11-24 | 2023-01-17 | Ebay Inc. | API and business language schema design framework for message exchanges |
US10678607B2 (en) | 2003-11-24 | 2020-06-09 | Ebay Inc. | API and business language schema design framework for message exchanges |
US20140040321A1 (en) * | 2003-11-24 | 2014-02-06 | Ebay Inc. | Backward compatibility in database schemas |
US10031929B2 (en) | 2003-11-24 | 2018-07-24 | Paypal, Inc. | Techniques for maintaining compatibility in database schemas |
US9058343B2 (en) * | 2003-11-24 | 2015-06-16 | Ebay Inc. | Backward compatibility in database schemas |
US20050131926A1 (en) * | 2003-12-10 | 2005-06-16 | Siemens Corporate Research Inc. | Method of hybrid searching for extensible markup language (XML) documents |
US7912874B2 (en) | 2004-01-16 | 2011-03-22 | International Business Machines Corporation | Apparatus and system for defining a metadata schema to facilitate passing data between an extensible markup language document and a hierarchical database |
US7822786B2 (en) | 2004-01-16 | 2010-10-26 | International Business Machines Corporation | Apparatus, system, and method for defining a metadata schema to facilitate passing data between an extensible markup language document and a hierarchical database |
US20050160110A1 (en) * | 2004-01-16 | 2005-07-21 | Charlet Kyle J. | Apparatus, system, and method for defining a metadata schema to facilitate passing data between an extensible markup language document and a hierarchical database |
US7418456B2 (en) * | 2004-01-16 | 2008-08-26 | International Business Machines Corporation | Method for defining a metadata schema to facilitate passing data between an extensible markup language document and a hierarchical database |
US20080215527A1 (en) * | 2004-01-16 | 2008-09-04 | International Business Machines Corporation | Apparatus and system for defining a metadata schema to facilitate passing data between an extensible markup language document and a hierarchical database |
US7685155B2 (en) | 2004-03-23 | 2010-03-23 | Microsoft Corporation | System and method of providing and utilizing an object schema to facilitate mapping between disparate domains |
US20050216501A1 (en) * | 2004-03-23 | 2005-09-29 | Ilker Cengiz | System and method of providing and utilizing an object schema to facilitate mapping between disparate domains |
US10713230B2 (en) | 2004-04-02 | 2020-07-14 | Salesforce.Com, Inc. | Custom entities and fields in a multi-tenant database system |
US20050289150A1 (en) * | 2004-06-29 | 2005-12-29 | International Business Machines Corporation | Access controller using tree-structured data |
US7505976B2 (en) * | 2004-06-29 | 2009-03-17 | International Business Machines Corporation | Access controller using tree-structured data |
US20090204616A1 (en) * | 2004-06-29 | 2009-08-13 | International Business Machines Corporation | Access controller using tree-structured data |
US7853613B2 (en) * | 2004-06-29 | 2010-12-14 | International Business Machines Corporation | Access controller using tree-structured data |
US9171100B2 (en) | 2004-09-22 | 2015-10-27 | Primo M. Pettovello | MTree an XPath multi-axis structure threaded index |
US11704102B2 (en) | 2005-09-09 | 2023-07-18 | Salesforce, Inc. | Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment |
US10235148B2 (en) | 2005-09-09 | 2019-03-19 | Salesforce.Com, Inc. | Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment |
US9195687B2 (en) | 2005-09-09 | 2015-11-24 | Salesforce.Com, Inc. | System, method and computer program product for validating one or more metadata objects |
US11314494B2 (en) | 2005-09-09 | 2022-04-26 | Salesforce.Com, Inc. | Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment |
US20110196883A1 (en) * | 2005-09-09 | 2011-08-11 | Salesforce.Com, Inc. | Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment |
US9298750B2 (en) | 2005-09-09 | 2016-03-29 | Salesforce.Com, Inc. | System, method and computer program product for validating one or more metadata objects |
US9378227B2 (en) | 2005-09-09 | 2016-06-28 | Salesforce.Com, Inc. | Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment |
US12242835B2 (en) | 2005-09-09 | 2025-03-04 | Salesforce, Inc. | Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment |
US10521211B2 (en) | 2005-09-09 | 2019-12-31 | Salesforce.Com, Inc. | Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment |
US20070088741A1 (en) * | 2005-09-09 | 2007-04-19 | Salesforce.Com, Inc. | Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment |
US7949684B2 (en) * | 2005-09-09 | 2011-05-24 | Salesforce.Com, Inc. | Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment |
US8635232B2 (en) | 2005-09-09 | 2014-01-21 | Salesforce.Com, Inc. | Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment |
US8166074B2 (en) | 2005-11-14 | 2012-04-24 | Pettovello Primo M | Index data structure for a peer-to-peer network |
US20100131564A1 (en) * | 2005-11-14 | 2010-05-27 | Pettovello Primo M | Index data structure for a peer-to-peer network |
US7664742B2 (en) | 2005-11-14 | 2010-02-16 | Pettovello Primo M | Index data structure for a peer-to-peer network |
US20070143253A1 (en) * | 2005-12-19 | 2007-06-21 | Pekka Kostamaa | Database system |
US7792809B2 (en) * | 2005-12-19 | 2010-09-07 | Tera data US, Inc. | Database system |
US20070174309A1 (en) * | 2006-01-18 | 2007-07-26 | Pettovello Primo M | Mtreeini: intermediate nodes and indexes |
US20070288591A1 (en) * | 2006-06-13 | 2007-12-13 | Wong Henry Y | Method, system, and program product for caching application data in a browser cache |
US20090158142A1 (en) * | 2007-09-28 | 2009-06-18 | Xcerion Ab | Network operating system |
US8959123B2 (en) | 2007-09-28 | 2015-02-17 | Xcerion Aktiebolag | User interface framework |
US8112460B2 (en) | 2007-09-28 | 2012-02-07 | Xcerion Aktiebolag | Framework for applying rules |
US8234315B2 (en) | 2007-09-28 | 2012-07-31 | Xcerion Aktiebolag | Data source abstraction system and method |
US8239511B2 (en) | 2007-09-28 | 2012-08-07 | Xcerion Aktiebolag | Network operating system |
US8996459B2 (en) | 2007-09-28 | 2015-03-31 | Xcerion Aktiebolag | Offline and/or client-side execution of a network application |
US20090157627A1 (en) * | 2007-09-28 | 2009-06-18 | Xcerion Ab | Network operating system |
US20090171974A1 (en) * | 2007-09-28 | 2009-07-02 | Xcerion Ab | Network operating system |
US8615531B2 (en) * | 2007-09-28 | 2013-12-24 | Xcerion Aktiebolag | Programmatic data manipulation |
US8620863B2 (en) | 2007-09-28 | 2013-12-31 | Xcerion Aktiebolag | Message passing in a collaborative environment |
US20090172085A1 (en) * | 2007-09-28 | 2009-07-02 | Xcerion Ab | Network operating system |
US20090172715A1 (en) * | 2007-09-28 | 2009-07-02 | Xcerion Ab | Network operating system |
US20090171993A1 (en) * | 2007-09-28 | 2009-07-02 | Xcerion Ab | Network operating system |
US8156146B2 (en) | 2007-09-28 | 2012-04-10 | Xcerion Aktiebolag | Network file system |
US8688627B2 (en) | 2007-09-28 | 2014-04-01 | Xcerion Aktiebolag | Transaction propagation in a networking environment |
US11838358B2 (en) | 2007-09-28 | 2023-12-05 | Xcerion Aktiebolag | Network operating system |
US8738567B2 (en) | 2007-09-28 | 2014-05-27 | Xcerion Aktiebolag | Network file system with enhanced collaboration features |
US8843942B2 (en) | 2007-09-28 | 2014-09-23 | Xcerion Aktiebolag | Interpreting semantic application code |
US20090172702A1 (en) * | 2007-09-28 | 2009-07-02 | Xcerion Ab | Network operating system |
US8954526B2 (en) | 2007-09-28 | 2015-02-10 | Xcerion Aktiebolag | Network operating system |
US8280925B2 (en) | 2007-09-28 | 2012-10-02 | Xcerion Aktiebolag | Resolution of multi-instance application execution |
US20090192969A1 (en) * | 2007-09-28 | 2009-07-30 | Xcerion Aktiebolag | Network operating system |
US20090193410A1 (en) * | 2007-09-28 | 2009-07-30 | Xcerion Aktiebolag | Network operating system |
US20090172087A1 (en) * | 2007-09-28 | 2009-07-02 | Xcerion Ab | Network operating system |
US9071623B2 (en) | 2007-09-28 | 2015-06-30 | Xcerion Aktiebolag | Real-time data sharing |
US20090157628A1 (en) * | 2007-09-28 | 2009-06-18 | Xcerion Ab | Network operating system |
US20090192992A1 (en) * | 2007-09-28 | 2009-07-30 | Xcerion Aktiebolag | Network operating system |
US20090193440A1 (en) * | 2007-09-28 | 2009-07-30 | Xcerion Aktiebolag | Network operating system |
US20090177734A1 (en) * | 2007-09-28 | 2009-07-09 | Xcerion Ab | Network operating system |
US20090164592A1 (en) * | 2007-09-28 | 2009-06-25 | Xcerion Ab | Network operating system |
US20090172078A1 (en) * | 2007-09-28 | 2009-07-02 | Xcerion Ab | Network operating system |
US20090172086A1 (en) * | 2007-09-28 | 2009-07-02 | Xcerion Ab | Network operating system |
US9344497B2 (en) | 2007-09-28 | 2016-05-17 | Xcerion Aktiebolag | State management of applications and data |
US20090172568A1 (en) * | 2007-09-28 | 2009-07-02 | Xcerion Ab | Network operating system |
US9621649B2 (en) | 2007-09-28 | 2017-04-11 | Xcerion Aktiebolag | Network operating system |
US9063808B2 (en) * | 2008-05-15 | 2015-06-23 | International Business Machines Corporation | Deploying a package for a software application |
US20090288078A1 (en) * | 2008-05-15 | 2009-11-19 | International Business Machines Corporation | Method and Apparatus for Deploying Applications |
US7917547B2 (en) | 2008-06-10 | 2011-03-29 | Microsoft Corporation | Virtualizing objects within queries |
KR101608101B1 (en) | 2008-06-10 | 2016-03-31 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | Virtualizing objects within queries |
JP2011524052A (en) * | 2008-06-10 | 2011-08-25 | マイクロソフト コーポレーション | Virtualization object in query |
US8631028B1 (en) | 2009-10-29 | 2014-01-14 | Primo M. Pettovello | XPath query processing improvements |
CN103621047A (en) * | 2011-06-10 | 2014-03-05 | 阿尔卡特朗讯 | A method to synchronize content across networks |
US9160795B2 (en) * | 2011-06-10 | 2015-10-13 | Alcatel Lucent | Method to synchronize content across networks |
US20120317309A1 (en) * | 2011-06-10 | 2012-12-13 | Benco Davis S | Method to synchronize content across networks |
US20140114993A1 (en) * | 2012-10-22 | 2014-04-24 | Yahoo! Inc. | Method and system for maintaining data in a data storage system |
WO2016033639A1 (en) * | 2014-09-05 | 2016-03-10 | Jonathan Robert Burnett | System, method, and graphical user interface for facilitating a search |
US20220050874A1 (en) * | 2019-06-17 | 2022-02-17 | Google Llc | Visual data model object dependency tracing |
US11176205B2 (en) * | 2019-06-17 | 2021-11-16 | Google Llc | Visual data model object dependency tracing |
US11720637B2 (en) * | 2019-06-17 | 2023-08-08 | Google Llc | Visual data model object dependency tracing |
Also Published As
Publication number | Publication date |
---|---|
US7873649B2 (en) | 2011-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7873649B2 (en) | Method and mechanism for identifying transaction on a row of data | |
JP5320438B2 (en) | Method and apparatus for XML data storage, query rewriting, visualization, mapping, and referencing | |
US7024425B2 (en) | Method and apparatus for flexible storage and uniform manipulation of XML data in a relational database system | |
US7668806B2 (en) | Processing queries against one or more markup language sources | |
US9330149B2 (en) | Techniques for query and DML over relational tables using spreadsheet applications | |
AU2004237062B2 (en) | Retaining hierarchical information in mapping between XML documents and relational data | |
US6836778B2 (en) | Techniques for changing XML content in a relational database | |
US7499909B2 (en) | Techniques of using a relational caching framework for efficiently handling XML queries in the mid-tier data caching | |
US7099888B2 (en) | Accessing a remotely located nested object | |
US7260585B2 (en) | Apparatus and method for mapping relational data and metadata to XML | |
US7386568B2 (en) | Techniques for partial rewrite of XPath queries in a relational database | |
US6947950B2 (en) | Techniques for managing multiple hierarchies of data from a single interface | |
AU2001290693A1 (en) | Method and apparatus for XML data storage, query rewrites, visualization, mapping and references | |
US20050289175A1 (en) | Providing XML node identity based operations in a value based SQL system | |
US8650204B2 (en) | Techniques for efficiently supporting XQuery update facility in SQL/XML | |
US8073843B2 (en) | Mechanism for deferred rewrite of multiple XPath evaluations over binary XML | |
CN101517572A (en) | Semantic aware processing of XML documents | |
US8073841B2 (en) | Optimizing correlated XML extracts | |
US8407209B2 (en) | Utilizing path IDs for name and namespace searches | |
US7801856B2 (en) | Using XML for flexible replication of complex types | |
AU2007229359B2 (en) | Method and apparatus for flexible storage and uniform manipulation of XML data in a relational database system | |
WO2009027185A1 (en) | Apparatus, system, and method for xml based disconnected data access for multivalued/hierarchical databases |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ORACLE CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KRISHNAPRASAD, MURALIDHAR;KRISHNAMURTHY, VISWANATHAN;MURTHY, RAVI;REEL/FRAME:012472/0198 Effective date: 20011106 |
|
AS | Assignment |
Owner name: ORACLE INTERNATIONAL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ORACLE CORPORATION;REEL/FRAME:013944/0938 Effective date: 20030411 Owner name: ORACLE INTERNATIONAL CORPORATION,CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ORACLE CORPORATION;REEL/FRAME:013944/0938 Effective date: 20030411 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
CC | Certificate of correction | ||
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552) Year of fee payment: 8 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |