Patents Assigned to Oracle Corporation
  • Patent number: 6363396
    Abstract: A method and system are provided for reconfiguring a multiple node system after an epoch change in a manner that reduces the overhead and system unavailability typically incurred during reconfiguration. A resource-to-master mapping is established using the combination of a resource-to-bucket hash function and a bucket-to-node hash function. The resource-to-bucket hash function is not changed in response to an epoch change. The bucket-to-node hash function does change in response to epoch changes. Techniques are disclosed for adjusting the dynamic bucket-to-node hash function after an epoch change in a manner that load balances among the new number of nodes in the system. Further, the changes to the bucket-to-node assignments are performed in a way that reduces the number of resources that have to be remastered. In one embodiment, only those resources that lose their masters during an epoch change are assigned new masters during an initial reconfiguration.
    Type: Grant
    Filed: December 21, 1998
    Date of Patent: March 26, 2002
    Assignee: Oracle Corporation
    Inventors: Boris Klots, Roger J. Bamford, Jeffrey Fischer, Ravi Mirchandaney
  • Patent number: 6360222
    Abstract: A method of and system for organizing entries of an information directory based on relationships or “connections” between the users, and for adding new directory entries to the information directory without intervention by a system administrator. Each connection between entries is created with a “relationship type” describing the connection. According to one embodiment of the present invention, new entries are created by existing users who have existing entries in the information directory. Significantly, an existing user is allowed to access and modify contents of his own directory entry. The existing user may then submit a new user profile to the information directory system to create a new entry for the new user. Further, when an existing user submits the profile for a new user, the information is stored in a relationship list within the existing user's entry.
    Type: Grant
    Filed: May 6, 1998
    Date of Patent: March 19, 2002
    Assignee: Oracle Corporation
    Inventor: John D. Quinn
  • Patent number: 6360228
    Abstract: Described herein is a framework for providing statement atomicity for DDL statements. The framework allows the ability to perform, as multiple transactions, the DDL operations specified by a DDL statement. To begin execution of a DDL statement, a DBMS, for example, updates a flag to indicate that DDL operations have commenced. While the flag is set to this state, the DBMS prevents execution of operations that depend on the DDL statement being executed as an atomic unit. If the DDL operations are aborted, the flag is set to a state that indicates that the execution of the DDL operations did not complete, and the DBMS continues to disallow dependent operations that depend on the atomicity of the DDL statement. Because the flag is used to provide statement atomicity, DDL operations may be performed as multiple transactions. For a DML statement, a mechanism described herein preserves the transactional context of a DML statement.
    Type: Grant
    Filed: June 2, 1999
    Date of Patent: March 19, 2002
    Assignee: Oracle Corporation
    Inventors: Seema Sundara, Ravi Murthy, Nipun Agarwal, Jagannathan Srinivasan
  • Patent number: 6357002
    Abstract: BIOS (Basic Input/Output System) identification information is automatically extracted from raw BIOS data for a computer system from any of a plurality of vendors. The raw BIOS data is processed using a searching and parsing routine to reformat the raw BIOS data to a BIOS variable such that BIOS identification information is more easily accessible from the BIOS variable. The raw BIOS data is processed within a computer system from any of the plurality of vendors irrespective of the initial format of the raw BIOS data to generate the BIOS variable. In addition, the BIOS variable is searched for predetermined text strings corresponding to the plurality of possible vendors such that the brand name, the model name, the BIOS date, and/or the BIOS version may be determined for a computer system from any of the plurality of vendors.
    Type: Grant
    Filed: August 11, 1999
    Date of Patent: March 12, 2002
    Assignee: Oracle Corporation
    Inventors: Patrick D. Lupo, Sajid G. Hussain, Gregory D. Collins
  • Patent number: 6356880
    Abstract: Methods, devices and systems for assigning a value associated with a manufacturing or service-related transaction to a task within an organizational logical structure includes a step of retrieving attributes of the transaction, such attributes including, for example, an identification of the item, whether the item was procured, the PO number, the category of the item and/or an identification of the sub-inventory, in the case of a material transaction. A plurality of predefined task assignment rules are then searched for a matching rule that includes respective criteria corresponding to each retrieved attribute. Each of the plurality of task assignment rules includes an identification of a task within the organizational logical structure. The value associated with the transaction may then be assigned to the task identified in the matching rule. The assigned value may include the cost associated with the transaction.
    Type: Grant
    Filed: April 27, 1999
    Date of Patent: March 12, 2002
    Assignee: Oracle Corporation
    Inventors: Roger J. Goossens, Alvin Law, Mahesh Damodare
  • Patent number: 6353830
    Abstract: One embodiment of the present invention provides a method for constructing a query for an object-relational database. This method displays at least part of a schema for the object-relational database to a user in a graphical representation. Next, the method allows the user to perform graphical manipulations on the schema. The method then generates a query based upon the schema and the graphical manipulations, and this query is sent to the object-relational database. Another embodiment of the present invention provides a method for processing an object-relational query for transmission from a client to an object-relational database server. This method receives the query at the client, and parses the query to determine which object-relational structures the query is attempting to access.
    Type: Grant
    Filed: February 16, 2000
    Date of Patent: March 5, 2002
    Assignee: Oracle Corporation
    Inventors: David R. Yee, David Brennan Gaunce
  • Patent number: 6353836
    Abstract: A method and apparatus are provided for transferring a resource from the cache of one database server to the cache of another database server without first writing the resource to disk. When a database server (Requestor) desires to modify a resource, the Requestor asks for the current version of the resource. The database server that has the current version (Holder) directly ships the current version to the Requestor. Upon shipping the version, the Holder loses permission to modify the resource, but continues to retain the resource in memory. When the retained version of the resource, or a later version thereof, is written to disk, the Holder can discard the retained version of the resource. Otherwise, the Holder does not discard the retained version. Using this technique, single-server failures are recovered without having to merge the recovery logs of the various database servers that had access to the resource.
    Type: Grant
    Filed: November 24, 1998
    Date of Patent: March 5, 2002
    Assignee: Oracle Corporation
    Inventors: Roger J. Bamford, Boris Klots
  • Patent number: 6351742
    Abstract: A method and system for optimizing the execution of database statements are described. An aspect is directed to the generation of an execution plan for a database statement, wherein the database statement contains a predicate having one or more arguments whose values are not known at the time the execution plan is generated (e.g., at compile time). A feature of this aspect involves passing a description of the argument(s) to the optimizer. An example of such a description includes the argument type of the predicate argument.
    Type: Grant
    Filed: March 18, 1999
    Date of Patent: February 26, 2002
    Assignee: Oracle Corporation
    Inventors: Nipun Agarwal, Dinesh Das, Jagannathan Srinivasan
  • Patent number: 6351754
    Abstract: A method and system for reducing overhead associated with recovering after a failure. According to the method, a checkpoint value is maintained that indicates which records of a plurality of records have to be processed after the failure. The plurality of records contain change information that corresponds to a plurality of data blocks. A target checkpoint value is determined based on a desired number of data block reads that will be required during a redo phase of recovery. Changes contained in volatile memory are then written to nonvolatile memory to advance the checkpoint value to at least the target checkpoint value. According to another aspect of the invention, the target checkpoint value is determined using a circular queue of offset buckets. The offset buckets are used to store index values that are associated with buffers in the ordered list. The target checkpoint value is periodically set equal to an index value that is contained in an offset bucket.
    Type: Grant
    Filed: June 23, 1998
    Date of Patent: February 26, 2002
    Assignee: Oracle Corporation
    Inventors: William H. Bridge, Jr., Boris Klots, Juan R. Loaiza, Ashok Joshi
  • Patent number: 6345272
    Abstract: A method and apparatus are provided for rewriting aggregate queries to access a materialized view when (1) the queries place a restriction on an ordered dimension, (2) the materialized view aggregates the information referenced in the query and groups by the same dimension, and (3) the materialized view groups the information at a coarser level of granularity than the granularity associated with the restriction contained in the aggregate queries.
    Type: Grant
    Filed: July 27, 1999
    Date of Patent: February 5, 2002
    Assignee: Oracle Corporation
    Inventors: Andrew Witkowski, Randall Bello, Mohamed Ziauddin
  • Patent number: 6341303
    Abstract: A scheduler for allocating a computer system resource, such as processor time, among processes (e.g., database processes) according to a plan. A scheduling plan may include multiple sub-plans, and each plan and sub-plan may include multiple classes of processes with associated weights or values. Within a plan, the resource is first allocated to the classes and/or sub-plans included in a first level of the plan according to their associated weights. Any unallocated portion of the resource is then allocated to classes/sub-plans in subsequent levels, in turn, according to their assigned weights. If a given class of processes is empty when the resource is allocated in a level including the class, the allocation that would have been allotted to the class may be carried over into the next level. An active scheduling plan may be dynamically replaced during system operations.
    Type: Grant
    Filed: August 28, 1998
    Date of Patent: January 22, 2002
    Assignee: Oracle Corporation
    Inventors: Ann Rhee, Sumanta K. Chatterjee, Juan R. Loaiza, Kesavan Srinivasan
  • Patent number: 6341340
    Abstract: A database or some portion thereof is partitioned into ownership groups. Each ownership group is assigned one or more database servers as owners of the ownership group. The database servers that are assigned as owners of an ownership group are treated as the owners of all data items that belong to the ownership group. That is, they are allowed to directly access the data items within the ownership group, while other database servers are not allowed to directly access those data items. A mechanism is provided for transitioning ownership of a data item. Ownership is transferred by disabling access to the data item, waiting for all transactions that have made changes to the data item to either commit or abort, changing data that indicates ownership of the data item from a first owner to a second owner, and enabling access to the data item.
    Type: Grant
    Filed: December 28, 1998
    Date of Patent: January 22, 2002
    Assignee: Oracle Corporation
    Inventors: Alex Tsukerman, Gary C. Ngai, Gianfranco Putzolu, J. William Lee
  • Patent number: 6334114
    Abstract: A method and system for processing multiple-request transactions in a stateless environment is provided. A cartridge execution engine intercepts browser messages directed to a cartridge. The cartridge execution engine determines whether the browser messages are associated with transactions. If it is determined that browser messages are associated with transactions, then the cartridge execution engine sends transaction control messages to a transaction manager. In addition, the cartridge execution engine sends operation messages to the cartridge. The cartridge then performs the operations specified in the operation messages. In response to the transaction control messages from the cartridge execution engine, the transaction manager causes the multiple-request transactions to be either committed or rolled back as an atomic unit of work.
    Type: Grant
    Filed: October 31, 1997
    Date of Patent: December 25, 2001
    Assignee: Oracle Corporation
    Inventors: Lawrence Jacobs, Seshu Adunuthula, Mala Anand
  • Patent number: 6334193
    Abstract: A system is provided for handling an error by identifying an activity that generated the error. The system determines whether the activity has an associated user-defined error handling process. If the activity has an associated user-defined error handling process, then the system executes the associated user-defined error handling process. If the activity does not have an associated user-defined error handling process, then the system executes a default error handling process. A particular activity my have multiple associated user-defined error handling processes. The system selects among the multiple user-defined error handling processes using one or more error handling parameters. The system includes an activity execution module configured to execute process definitions and identify errors that occur when executing process definitions.
    Type: Grant
    Filed: May 29, 1997
    Date of Patent: December 25, 2001
    Assignee: Oracle Corporation
    Inventor: George Buzsaki
  • Patent number: 6334128
    Abstract: A method and apparatus for refreshing stale materialized views is provided. Prior to executing a query to refresh a materialized view from data in the base tables of the materialized view, the query is rewritten to refresh the materialized view from data in one or more other materialized views. To take advantage of the efficiency gained by refreshing a materialized view based on another materialized view, a refresh sequence is established based on the dependencies between materialized views in the database system. The dependencies indicate which materialized views can be refreshed from which other materialized views. When a materialized view can be refreshed based on any one of a number of eligible materialized views, the refresh sequence may additionally take into account the relative benefit associated with refreshing the materialized view with each of the eligible materialized views.
    Type: Grant
    Filed: December 28, 1998
    Date of Patent: December 25, 2001
    Assignee: Oracle Corporation
    Inventors: William D. Norcott, Mohamed Ziauddin
  • Patent number: 6330625
    Abstract: An apparatus and method for accessing a data item from a storage system having a plurality of data storage devices are disclosed. I/O operation requests are submitted to multiple data storage devices for each data item to be accessed. The I/O operation requests are issued to copies of the data items that reside on a plurality of data storage devices. More I/O operation requests are submitted than the number of data items that are to be accessed, written, or updated.
    Type: Grant
    Filed: January 15, 1999
    Date of Patent: December 11, 2001
    Assignee: Oracle Corporation
    Inventor: William Bridge
  • Patent number: 6324567
    Abstract: A method and apparatus allows a client to easily send multiple commands to a server. The client registers one or more tables with the method and apparatus of the present invention, which contain information with which to query the client if the client provides commands to be sent to a server. When the client sends a command intended for the server, the command and the tables are used to query the client. If the application responds affirmatively to the query, additional commands are generated for sending to the server. The method and apparatus assist in handling errors by deleting, either unconditionally or upon receipt of an instruction from the client, all pending commands related to the command causing the error and not generating additional such commands.
    Type: Grant
    Filed: February 11, 1999
    Date of Patent: November 27, 2001
    Assignee: Oracle Corporation
    Inventors: Luxi Chidambaran, Sahikanth Chandrasekaran
  • Patent number: 6324623
    Abstract: In a multi-threaded computing environment, a shared cache system reduces the amount of redundant information stored in memory. A cache memory area provides both global readable data and private writable data to processing threads. A particular processing thread accesses data by first checking its private views of modified data and then its global views of read-only data. Uncached data is read into a cache buffer for global access. If write access is required by the processing thread, the data is copied into a new cache buffer, which is assigned to the processing thread's private view. The particular shared cache system supports generational views of data. The system is particularly useful in on-line analytical processing of multi-dimensional databases.
    Type: Grant
    Filed: May 30, 1997
    Date of Patent: November 27, 2001
    Assignee: Oracle Corporation
    Inventor: James E. Carey
  • Patent number: 6321238
    Abstract: A database or some portion thereof is partitioned into ownership groups. Each ownership group is assigned one or more database servers as owners of the ownership group. The database servers that are assigned as owners of an ownership group are treated as the owners of all data items that belong to the ownership group. That is, they are allowed to directly access the data items within the ownership group, while other database servers are not allowed to directly access those data items. Accordingly, a database system is provided which includes one or more persistent storage devices having a database stored thereon, and a plurality of database servers executing on a plurality of nodes. Each node has direct access to the persistent storage devices. At least a portion of the database is partitioned into a plurality of ownership groups. Each ownership group is assigned an owner set.
    Type: Grant
    Filed: December 28, 1998
    Date of Patent: November 20, 2001
    Assignee: Oracle Corporation
    Inventor: Gianfranco Putzolu
  • Patent number: 6321218
    Abstract: An approach for automatically determining database tables that are best suited for index tuning involves analyzing query performance data that specifies an average amount of time required to execute a plurality of queries on the database tables. One or more particular queries are selected from the plurality of queries based upon the query performance data. Data tables required to process the one or more particular queries are selected for index tuning.
    Type: Grant
    Filed: February 24, 1999
    Date of Patent: November 20, 2001
    Assignee: Oracle Corporation
    Inventors: Todd Guay, Gregory Smith, Gaylen Royal, Cheryl Mrozienski