Patents Assigned to Oracle Corporation
  • Patent number: 5826085
    Abstract: An object oriented interactive application interface for facilitating application program development in a networked computer system providing on-line services is disclosed. The present invention is an Interactive Application Object module (IAO), comprising a client side portion and a server side portion, that facilitates the development of client applications for interaction with a server across a network. The IAO comprises a set of software objects that include interfaces and methods for implementing a client on-line service application at a high abstraction layer. The IAO provides high level objects for use by a client application for handling a large set of interactive system and business functions. On the client device, the IAO insulates the client application from the implementation details of a particular low level network interface.
    Type: Grant
    Filed: July 12, 1995
    Date of Patent: October 20, 1998
    Assignee: Oracle Corporation
    Inventors: Curtis Bennett, Dan Berkery, Shanmugam Chinnasamy, Jay Daugherty, John C. Hughes, Rob Lippmann, Niranjan Nagar, Ronald K. Park, Ankur Sharma
  • Patent number: 5822748
    Abstract: Sort plus operations such as "group by" and "distinct" generally require sorting of the retrieved data before performing the sort plus operation. A method and apparatus is disclosed for executing a query specifying a sort plus operation without performing the sorting operation. A cost-based optimizer determines at least one execution path where the data is retrieved from a sorted source and the data is processed to satisfy the query without sorting. Execution costs are determined for the respective execution paths, and the execution path having the lowest overall execution cost is selected to process the query.
    Type: Grant
    Filed: February 28, 1997
    Date of Patent: October 13, 1998
    Assignee: Oracle Corporation
    Inventors: Jeffrey Ira Cohen, Cetin Ozbutun, Michael Depledge, Hakan Jakobsson
  • Patent number: 5819256
    Abstract: A method and apparatus for processing count queries in a database system is provided. The database server determines whether it is possible for the target data specified in a count query to contain null values. If the target data cannot contain null values, the count query is converted into a count star query. Count star queries are executed by counting the number of records that store the target data without actually reading and evaluating the target data. If an index for the table that stores the target data exists, then the number of records are counted without accessing the table itself by counting record identifiers in the index. If the index is a bitmap index, the number of bits that are set in bitmaps from the index are counted without actually generating record identifiers from the bitmaps. Many processes are used to generate intermediate count values from the bitmaps. The intermediate count values are summed to produce a total count value.
    Type: Grant
    Filed: November 20, 1996
    Date of Patent: October 6, 1998
    Assignee: Oracle Corporation
    Inventors: Cetin Ozbutun, Michael Depledge, Hakan Jakobsson, Jeffrey I. Cohen
  • Patent number: 5819251
    Abstract: A system and apparatus is disclosed which stores, retrieves and analyzes relational and non-relational data. An application program provides a data query statement containing both relational and non-relational portions to a relational server. In an embodiment, the query statement is a Structured Query Language ("SQL") CONTAINS stored procedure or CONTAINS function statement. The relational data server then provides the non-relational query to either a text queue or database management language ("DML") queue. A non-relational data server then accesses either the text queue or the DML queue. The non-relational data server obtains pointers to the non-relational data and stores them in a temporary table. The pointers and relational data portion are processed by the relational server to obtain the relational and non-relational data. In an embodiment, the non-relational data server is a text server including an engine, filter, lexer, data storage and word list.
    Type: Grant
    Filed: February 6, 1996
    Date of Patent: October 6, 1998
    Assignee: Oracle Corporation
    Inventors: Mark Kremer, Quoc Tai Tran, Michael Depledge, Santanu Mukhopadhyay, William M. Keese, Behrouz Arbab-Dehkordi
  • Patent number: 5809495
    Abstract: A computer implemented method, involving a database management system, retrieves information from a data structure in a memory of a computer system. A user process specifies in a database query language statement a key value used to directly access the information, rather than sequentially searching the entire data structure for the information. A database management system process uses the value to find a location in the data structure at which said information is stored and maps the location in the data structure to a memory address in memory at which the information corresponding to the value is stored. The database management system process retrieves the information from the data structure in memory beginning at the memory address and provides the information to the user process in response to the database query language statement.
    Type: Grant
    Filed: June 4, 1996
    Date of Patent: September 15, 1998
    Assignee: Oracle Corporation
    Inventor: Juan R. Loaiza
  • Patent number: 5809266
    Abstract: The present invention is a method and apparatus for declarative report definition and generation using an enhanced, graphical data model and a graphical user interface (GUI) for graphically specifying data items and data computations to be performed on the data is described. It provides a set of data model objects, a data model painter for creating, defining, and visualizing the data model objects, and a data engine that retrieves the data according to the definition of the data objects. That is, the present invention provides a graphical data model allowing a user to graphically specify both the data and computations to be performed on the data and uses the layout metaphor (i.e., "painter") to specify the data. Data model objects include: queries, groups, columns, parameters, cross products, and links. Unlike the prior art, allows the use of multiple queries each containing one or more break groups and cross product groups where groups belonging to two different queries are connected by link objects.
    Type: Grant
    Filed: January 21, 1997
    Date of Patent: September 15, 1998
    Assignee: Oracle Corporation
    Inventors: Andre Touma, Richard Davis, David Simson, Marco Tilli, Steve Breyer
  • Patent number: 5806075
    Abstract: The present invention provides the ability to replicate modifications made at a local site to multiple remote sites in a peer-to-peer environment. Information regarding these replicated modifications (e.g., insert, delete, or update) are contained in a set of replication tables. Thus, modifications can be duplicated at other sites immediately after the original modification, or deferred until the remote site is available. The replication tables of the present invention include a transactions table, transaction nodes table, calls table, call nodes table, and an exceptions table. The present invention further provides a logic-oriented procedure-level replication. Procedure-level replication modifies a remote site based on the logical operations used to modify the data at the originating site. Procedure-level replication provides the ability to identify conflicting updates as well. Information concerning conflicts identified by the present invention can be retained in the replication tables.
    Type: Grant
    Filed: January 14, 1997
    Date of Patent: September 8, 1998
    Assignee: Oracle Corporation
    Inventors: Sandeep Jain, Dean Daniels
  • Patent number: 5806074
    Abstract: An apparatus and method for providing adaptable and configurable conflict resolution within a replicated data environment is disclosed.
    Type: Grant
    Filed: March 19, 1996
    Date of Patent: September 8, 1998
    Assignee: Oracle Corporation
    Inventors: Benny Souder, Lip Boon Doo, Alan Downing
  • Patent number: 5805804
    Abstract: An improved system and method for providing multimedia data in a networked system is disclosed. The present invention provides a platform for distributed client-server computing and access to data over asymmetric real-time networks. A service mechanism allows applications to be split such that client devices (set-top boxes, personal digital assistants, etc.) can focus on presentation, while backend services running in a distributed server complex, provide access to data via messaging across an abstracted interface.
    Type: Grant
    Filed: March 12, 1997
    Date of Patent: September 8, 1998
    Assignee: Oracle Corporation
    Inventors: Andrew Laursen, Jeffrey C. Olkin, Mark A. Porter, Farzad Nazem, William Bailey, Mark Moore
  • Patent number: 5806076
    Abstract: A method and an apparatus for tracking of the dependencies between transactions is provided. Every time a data item is updated, a record is made of the transaction that updated the data item. Before another transaction locks a data item previously locked by the transaction, the entry is updated to indicate that the transaction committed and the commit time of the transaction. These entries are contained in a list head that is maintained on the same block as the data item, and a list tail that is stored separate from the data block that contains the data item. A depends-on time is maintained for each transaction. Whenever the transaction updates a data item, the depends-on time is set to the greater of the current depends-on time and the commit time of the most recently committed transaction that updated the version of the data item.
    Type: Grant
    Filed: October 29, 1996
    Date of Patent: September 8, 1998
    Assignee: Oracle Corporation
    Inventors: Gary C. Ngai, Roger J. Bamford, Garret Swart
  • Patent number: 5802512
    Abstract: The present invention is directed toward a method for storing, verifying and salvaging user-defined queries in a database environment. The method comprises retrieving a stored query and an associated stored application version identifier and comparing the stored application version identifier with a current application version identifier. If the application version identifiers do not match, the entire stored query is checked for validity. If an error is found in the stored query, the query is parsed into subparts and each subpart of the stored query is checked for validity. If a subpart is valid, it is built into a new, updated query. The stored version identifier is updated to reflect the current application version so that verification is not performed again.
    Type: Grant
    Filed: March 12, 1996
    Date of Patent: September 1, 1998
    Assignee: Oracle Corporation
    Inventor: Peter A. Wallack
  • Patent number: 5802528
    Abstract: A method and apparatus for comparing a first set of data and a second set of data are disclosed. A subset of base data is compared to a subset of replicated data to determine discrepancies. These discrepancies are then used to modify the replicated set of data, and the replicated set of data thus becomes identical to the base set of data. Alternately, the base data is compared directly to the replicated data and differences between the base data and the replicated data are obtained. These differences are then used to modify the replicated data to become identical to the base data.
    Type: Grant
    Filed: May 24, 1996
    Date of Patent: September 1, 1998
    Assignee: Oracle Corporation
    Inventors: Brian M. Oki, James Stamos, Gary Hallmark
  • Patent number: 5802523
    Abstract: The present invention discloses a method and apparatus for reducing the memory required to store bind variable descriptors in a database system. In embodiments of the invention, bind variable descriptors continue to be maintained in the shared cursor objects, but bind variables are no longer maintained in the instantiation objects. If the bind variables associated with an instantiation object are accurately described by the bind variable descriptors in a shared object to which the instantiation object is linked, then only data indicating the bind variables associated with the instantiation object are accurately described is maintained in the instantiation object. In contrast, if the bind variable descriptors associated with an instantiation object are not accurately described, only data describing how the attributes of the bind variables associated with the instantiation object differ from those associated with the shared cursor object are maintained in the instantiation object.
    Type: Grant
    Filed: June 21, 1996
    Date of Patent: September 1, 1998
    Assignee: Oracle Corporation
    Inventors: Amit Jasuja, Roger Taranto
  • Patent number: 5802521
    Abstract: A method and apparatus for determining distinct cardinality of a data sample using dual hash bitmaps. Two different bitmaps determine the distinct cardinality of the data sample (e.g., a column of data within a data table of a database). A small sized bitmap, M*sqrt(C*K), is used where M is a programmable value that reduces collision error, C is the size of the column ("data sample size"), and K is a key density value. Once selected, both M and K are constant. Sample entry values are hashed by a hash function and a modulo function determines an entry into the first bitmap. Based on the bitmap's bit entries, a first counter is updated, or not, to maintain a first distinct cardinality value. A large bitmap is used having a size, M*C, but only a small fraction is actually used, M*sqrt(C*K). Only hashed column entries falling inside the fraction are processed as above to maintain a second counter. At the end of the data sample entry processing, the second counter is extrapolated to the large bitmap size.
    Type: Grant
    Filed: October 7, 1996
    Date of Patent: September 1, 1998
    Assignee: Oracle Corporation
    Inventors: Mohamed Ziauddin, Michael T. Ong
  • Patent number: 5799306
    Abstract: A method and apparatus for replicating data in a computer system having a plurality of sites is provided. Data stored at a first site is organized as one or more sets of formatted data. A mapping is created between subsets of data within the sets of formatted data and one or more object groups. These logical mappings to object groups allow distribution of the subsets of data at a finer level of granularity than previously provided and allow the subsets of data to potentially span multiple sets of formatted data. For each of the object groups, a replica of each subset of data that is mapped to the object group is created at one or more replication sites. When a data modification is detected to a subset of data that has been mapped to one of the one or more object groups, the data modification is propagated to the corresponding replication sites.
    Type: Grant
    Filed: June 21, 1996
    Date of Patent: August 25, 1998
    Assignee: Oracle Corporation
    Inventors: Harry Sun, Benny Souder, Peter Lim
  • Patent number: 5799210
    Abstract: A method and apparatus are provided for allocating buffer memory for database sort operations. A database parameter is set to determine whether and how direct write buffers are to be allocated for sort operations. If the parameter is set to a first value, then no direct write buffers will be used, and sort operations will write to disk through a buffer cache. If the parameter is set to a second value, then direct write buffers will be used to perform writes to disk. Then size and number of direct write buffers to be used will be determined by the values set in other database parameters. If the parameter is set to a third value, direct write buffers will be allocated a portion of the memory available to perform the sort operation. The size and number of direct write buffers will be determined in accordance with database formulae that are designed to optimize sort and data write performance.
    Type: Grant
    Filed: April 18, 1996
    Date of Patent: August 25, 1998
    Assignee: Oracle Corporation
    Inventors: Jeffrey I. Cohen, William H. Waddington
  • Patent number: 5796934
    Abstract: A method for providing fault tolerance in a client/server computer system. A client is initially connected to a primary server. The primary server normally handles all of the client's transactions. However, a secondary connection is designated to a backup server, whereby if the primary server ever becomes disabled, the client is automatically switched over to the backup server. In-flight transaction information corresponding to transactions currently being processed by the primary server is stored and regularly updated by the client. The client regularly polls the primary server to check whether the primary server is properly functioning. If the primary server becomes disabled, all in-flight transactions pending on the disabled server are rolled back and the client resubmits in-flight transaction information to the backup server so that it can complete any transactions which were in progress on the primary server at the time of the failure. Thus, server failures are transparent to the user.
    Type: Grant
    Filed: May 31, 1996
    Date of Patent: August 18, 1998
    Assignee: Oracle Corporation
    Inventors: Pradeep Bhanot, Paul Jackson
  • Patent number: 5794241
    Abstract: Method for dynamically enabling and disabling table locking for a table in a database in a relational database management system. A table locking state is associated with the table and can be set to either enabled or disabled to indicate the current state of table locking for the table. To disable table locking, a user must first acquire an exclusive table lock. To re-enable table locking, a user must wait for any user currently accessing the table to perform e.g., a query, to finish accessing the table before table locking is enabled.
    Type: Grant
    Filed: April 8, 1996
    Date of Patent: August 11, 1998
    Assignee: Oracle Corporation
    Inventor: Juan R. Loaiza
  • Patent number: 5790851
    Abstract: An arbitration procedure allowing processes and their associated processors to perform useful work while they have pending service requests for access to shared resources within a multi-processor system environment. The arbitration procedure of the present invention is implemented within a multi-processor system (e.g., a symmetric multi-processor system) wherein multiple processes can simultaneously request "locks" which control access to shared resources such that access to these shared resources are globally synchronized among the many processes. Rather than assigning arbitration to the operating system, the present invention provides an arbitration procedure that is application-specific. This arbitration process provides a reservation mechanism for contending processes such that any given process only requests a lock call to the operating system when a lock is available for that process, thereby avoiding spinlock by the operating system.
    Type: Grant
    Filed: April 15, 1997
    Date of Patent: August 4, 1998
    Assignee: Oracle Corporation
    Inventors: Richard Frank, Gopolan Arun, Richard Anderson, Stephen Klein
  • Patent number: 5787410
    Abstract: The present invention provides a computer implemented method and apparatus for storing and retrieving data in a database management system (DBMS) in multiple languages, simultaneously, using a fully-populated Sub-Table. In one embodiment, the method and apparatus include generating a Base Table and a Translation Sub-Table. The Base Table includes base rows, each having a primary key and zero or more untranslatable values, exclusive of translatable data values. The Translation Sub-Table includes sets of sub-table rows, wherein each set of sub-table rows corresponds to a base row in the Base Table. In each set of sub-table rows, a sub-table row is provided for each operational language having at least one translatable data value corresponding to the primary key of the respective base row.
    Type: Grant
    Filed: February 20, 1996
    Date of Patent: July 28, 1998
    Assignee: Oracle Corporation
    Inventor: Douglas James McMahon