Patents Assigned to Sybase, Inc.
-
Patent number: 6363387Abstract: A Client/Server Database System with improved methods for enhancing concurrency using a “row update” bit and deferred locking is described. Data rows in the system are designed to include ROW_DELETE and ROW_UPDATE status bits. When a transaction updates a row, it sets the ROW_UPDATE bit. When a transaction inserts a row, neither the ROW_UPDATE nor the ROW_DELETE status bits are set. When a transaction deletes a row, it sets the ROW_DELETE bit but the contents of the data row are left intact. Methods are described for processing database transactions (e.g., in response to SQL queries) using these status bits or flags, together with deferred locking techniques, in a manner that reduces locking overhead and increase concurrency. The approach provides a particular performance advantage over systems that employ row-level locking.Type: GrantFiled: July 31, 1999Date of Patent: March 26, 2002Assignee: Sybase, Inc.Inventors: Nagavamsi Ponnekanti, Jameison B. Martin
-
Patent number: 6356946Abstract: A distributed (e.g., client/server) computing environment is described which implements protocol methodology simplifying the use of objects in distributed applications. In particular, the methodology facilitates streaming to clients executable objects (e.g., Java objects) stored and managed remotely (e.g., objects stored and managed in relational databases), so that the objects may be executed or otherwise manipulated locally at the clients. The methodology is implemented by extending an existing streaming protocol to support a “chunked” datatype; within a data stream, the system can have individual data items which are themselves streams of indeterminate length. This streaming data type is an undifferentiated data type or simply a “BLOB” (i.e., binary large object). Using the BLOB extension, the system provides a set of BLOB subtypes which take advantage of existing object streaming mechanism (e.g.Type: GrantFiled: January 19, 1999Date of Patent: March 12, 2002Assignee: Sybase Inc.Inventors: David Lyndon Clegg, Adarsh Ratan Pannu
-
Patent number: 6353826Abstract: Database system and methods are described for improving execution speed of database queries (e.g., for decision support). A multi-attribute selectivity optimization methodology is described that provides a more accurate estimate of the cost of a query execution plan, so that the predicted performance of the final execution plan will be more accurate. The densities by how much the selectivity deviates from a single attribute density and by how much the multi-attribute densities differ from one another are used as a basis for multi-selectivity estimates. The multi-attribute densities are used to scale estimates between extremes of total independence and total dependence. By taking into account how well attributes are correlated, the approach is able to provide more accurate multi-selectivity estimates. As a result, the database system can formulate better query plans and, thus, provide better performance.Type: GrantFiled: August 27, 1999Date of Patent: March 5, 2002Assignee: Sybase, Inc.Inventor: Edwin Anthony Seputis
-
Patent number: 6341281Abstract: Database system and methods are described for improving execution speed of database queries (e.g., for decision support) by optimizing execution of nested queries or “subqueries,” which are commonly used in client/server database environments. In particular, the basic approach employed is to recognize the part of the subquery that is not related to the outer references and cache the result of that part after its first execution. Later, the result can be reused and combined with the result of the rest of the subquery that is changing for each iteration. Methods are employed to recognize the invariant part of a data flow tree, and to restructure the evaluation plan to reuse the stored intermediate result. An efficient method is used to teach an existing join optimizer to understand the invariant feature and thus allow it to be able to generate better join plans in the new context.Type: GrantFiled: April 2, 1999Date of Patent: January 22, 2002Assignee: Sybase, Inc.Inventors: Roger Dermot MacNicol, Steven A. Kirk, Randall George Bello, Jun Rao, Katherine Tsouya Yang
-
Patent number: 6341288Abstract: An “UltraLite” database development environment capable of creating a database application that is more portable across multiple devices, including ones having limited computational power, is described. The applications themselves can incorporate SQL statements and SQL cursors for use against data sources, including UltraLite databases. The UltraLite development environment generates code to process the SQL in the application. The application code and generated code are compiled and then linked with the UltraLite runtime library. The result is an UltraLite program that includes application logic and database logic together in a single program. The environment includes, at its core, an “Analyzer” which receives SQL from the pre-compiler and submits the SQL to an available database server (e.g., Sybase Adaptive Server Anywhere) for parsing and optimization. The Analyzer uses the database server's (i.e.Type: GrantFiled: July 29, 1998Date of Patent: January 22, 2002Assignee: Sybase, Inc.Inventors: David P. Yach, James D. Graham, Anthony F. Scian
-
Patent number: 6321234Abstract: A SQL database server system having an enhanced logging system is described. The logging system implements a “private log cache” (PLC) for reducing the contention on the system's “log” resource (which is protected by a log semaphore). An area of memory private to a user's task is set aside as a PLC—a cache where log records are built and stored before being posted to the log. Each PLC may hold multiple log records for a single transaction before they are flushed to the log (page chain) through the log semaphore. When a transaction commits or the memory fills with log records, the PLC associated with the transaction is flushed to the log. Because the log records for a complete transaction are immediately transferred through the log semaphore, contention on the log semaphore decreases. Contention alleviated by the PLC dramatically increases transaction throughput of the database server system.Type: GrantFiled: November 8, 1996Date of Patent: November 20, 2001Assignee: Sybase, Inc.Inventor: Daniel Debrunner
-
Patent number: 6266666Abstract: A Component Transaction Server (CTS) is described, which provides a framework for deploying the middle-tier logic of distributed component-based applications. The CTS simplifies the creation and administration of Internet applications that service thousands of simultaneous clients. The CTS components, which execute on the middle-tier between end-user client applications and remote databases, provide efficient management of client sessions, security, threads, third-tier database connections, and transaction flow, without requiring specialized knowledge on the part of the component developer. The system's scalability and platform independence allows one to develop application on inexpensive uniprocessor machines, then deploy the application on an enterprise-grade multiprocessor server. In its Result Set module, the CTS provides tabular result sets, thus making the environment very desirable for business applications. In most component-based systems, a component interface returns an object.Type: GrantFiled: September 8, 1998Date of Patent: July 24, 2001Assignee: SYBASE, Inc.Inventors: Evan Ireland, David W. Van Couvering
-
Patent number: 6233726Abstract: A visual development environment is described which provides drag-and-drop code editing methodology, using Reference Card and Parameter Wizard methodologies. A Reference Card provides quick information on the most important classes and member functions, within one's code. During a session, the user may use the Reference Card to select an action that the user wants to perform. The user can search through a hierarchy of actions or perform a text search to locate the desired action, then open the Parameter Wizard to create the code (e.g., C++ code) required to perform that action. The Reference Card also provides help on all the items listed. The Parameter Wizard, which operates in conjunction with the Reference Card, guides the user through the construction of function calls. This is particularly useful for complicated functions or for functions with which the user is unfamiliar. The Parameter Wizard helps the user construct a function call by showing what argument values are required.Type: GrantFiled: May 7, 1997Date of Patent: May 15, 2001Assignee: Sybase, Inc.Inventors: Ivan Thomas Bowman, Geno Coschi, Robert Veitch
-
Patent number: 6112024Abstract: An "Object Cycle" versioning system having an Object Cycle Server is described. The server communicates over a wire or a network for providing versioning services to multiple clients. During a user session, a user invokes operation of the system from within the development environment of the particular client being used. From the perspective of the Object Cycle Server, each client is simply "a client" (without regard to proprietary nature) which desires to store "an object." The Object Cycle Server, in turn, maps the object into a meta model which serves as a container for facilitating version control. With the model, therefore, operations supported by the system for versioning will execute correctly even if the objects are stored in a format other than a relational database, such as an object-oriented database, a file server, or other storage system. The model separates out the name of an object from where the object itself is actually stored.Type: GrantFiled: October 2, 1996Date of Patent: August 29, 2000Assignee: Sybase, Inc.Inventors: Kenneth Almond, Robert Wait, Atul Thombre, Richung Shaw
-
Patent number: 6061763Abstract: Computer systems and computer implemented methods are provided for managing memory in a database management system. The computer memory is partitioned into a plurality of buffer caches, each of which is separately addressable. One buffer cache is set aside as a default buffer cache, while the other buffer caches are reserved for specific data objects meeting certain predefined criteria. Those objects meeting the predefined criteria are stored in reserved buffer caches where they are likely to remain for a relatively long period of time (in comparison to data objects stored in the default buffer caches). A buffer cache may have a plurality of memory pools, each of which contains multiple storage blocks. The storage blocks in a given memory pool are identically sized, while the storage blocks in one memory pool are sized differently from the storage blocks in another memory pool.Type: GrantFiled: September 19, 1997Date of Patent: May 9, 2000Assignee: Sybase, Inc.Inventors: David S. Rubin, Robert E. Mihalyi, David A. Marshall
-
Patent number: 6014674Abstract: A relational database system providing improved data structures and methods which operate for translating log records is described. A table of translation functions or methods (pointers) is provided, one per "logop" (i.e., log operation) record type. The logop, which is a single byte value, can be used as an index into the table. During times when a log incompatibility state exists in a database, a Log Compatibility module is invoked for performing appropriate translations. In the client's stack space, hidden from client code, a buffer is provided in which a reformatted log record can be stored. An appropriate translate method installed for the current logop is called; it procures a pointer to that buffer, and reformats the log record into that space. The system returns to the client a pointer to a reformatted log record in its own stack space, with the client largely unaware of the issue.Type: GrantFiled: November 13, 1997Date of Patent: January 11, 2000Assignee: Sybase, Inc.Inventor: Scott E. McCargar
-
Patent number: 6012054Abstract: Database system and methods are described for improving execution speed of database queries (e.g., for decision support) by provides methods employing spline histograms for improving the determination of selectivity estimates. The general approach improves histogram-based cost estimates as follows. The constant associated with a predicate (e.g., in r.a>5, the constant is "5") is used to do a binary search in an array of histogram boundary values, for determining a particular histogram cell. Once a cell has been found, the system employs interpolation to find out how much of the cell has been selected. Once this interpolation value is found, it is used with a cell weighting and a spline value or weighting to estimate the selectivity of the predicate value, which takes into account how data values are distributed within the cell. As a result of increased accuracy of estimates, the system can formulate better query plans and, thus, provides better performance.Type: GrantFiled: October 23, 1997Date of Patent: January 4, 2000Assignee: Sybase, Inc.Inventor: Edwin Anthony Seputis
-
Patent number: 6006230Abstract: A database client/server development system providing support for remote sessions with user-created application objects is described. When a user desires to create a "remoteable" object from a user object, the user assigns a proxy name or alias, thereby providing a mechanism to differentiate the real (local) version of the object from a remote version of that object. When the user creates the proxy, the system generates all of the interface definitions for the object (i.e., to access its internal functionality) which are capable of being proxied (i.e., "proxiable"). A given object can reside locally, remotely, or both; the proxy mechanism allows the application to resolve at runtime which version of the object to invoke. When the user's final application is deployed, the proxy object is deployed at the client machine for use at the client for accessing the real version at the server. If desired, an application can be deployed with a real copy of the object, in addition to the proxy.Type: GrantFiled: January 29, 1997Date of Patent: December 21, 1999Assignee: Sybase, Inc.Inventors: Patrick B. Ludwig, Scott P. Marlow
-
Patent number: 5953524Abstract: A multimedia application development system including an authoring environment and a runtime module for executing applications developed in the authoring environment is described. The system allows creation of customized objects (e.g., custom controls), by creating a user-defined class or "UDC." Typically, a UDC is created from one or more existing classes, inheriting, at least in part, behavior and functionality of those existing classes. The system provides methods where actual binding of properties and methods to an object instance of a class is deferred until runtime. With specific regard to UDC-created objects, the behaviors of parent classes are not bound to object instances at compile time. Instead, these behaviors are "late bound" by fetching them from the parent classes at runtime, on an "as needed" basis. Further, "which" particular parent classes are actually employed for this purpose at runtime can be altered, thereby providing further flexibility to the system.Type: GrantFiled: November 22, 1996Date of Patent: September 14, 1999Assignee: Sybase, Inc.Inventors: Peihuan Meng, Steven M. Barrington
-
Patent number: 5950188Abstract: A Client/Server Database system is described which includes a Database Server providing methods for executing system-created internal command statements (e.g., SQL statements), such as those which ordinarily are submitted to the server by various Clients. The Database Server is modified so that it can be its own "user," thus removing the fundamental schism which had existed in prior systems. The system is allowed to issue SQL commands to itself and, thus, can do anything that either the system or the user can do. The methodology is particularly useful for carrying out upgrades. The system can now set flags that are not accessible to users. Unlike a standalone "utility" approach, however, authentication is assured. Here, the system is assured that a known user--itself--has issued the command. As a result, it is no longer necessary to expose "dangerous" system functions to users.Type: GrantFiled: November 19, 1996Date of Patent: September 7, 1999Assignee: Sybase, Inc.Inventor: Elton P. Wildermuth
-
Patent number: 5937415Abstract: A Client/Server Database System with improved methods for performing database queries, particularly DSS-type queries, is described. The system includes one or more Clients (e.g., Terminals or PCs) connected via a Network to a Server. In general operation, Clients store data in and retrieve data from one or more database tables resident on the Server by submitting SQL commands, some of which specify "queries"--criteria for selecting particular records of a table. The system implements a "Data Pipeline" feature for programming replication of data from one database to another in client applications. Specifically, a pipeline object and SQL SELECT statement are built using a Pipeline Painter. The Data Pipeline lets a user (developer) easily move data from a high-end database server (e.g., Sybase) to a local database (Watcom SQL), all without the user having to issue SQL commands. The pipeline object facilitates moving data from one database management system to another, or between databases of the same type.Type: GrantFiled: December 11, 1996Date of Patent: August 10, 1999Assignee: Sybase, Inc.Inventors: Kim A. Sheffield, Alan L. Preston
-
Patent number: 5937401Abstract: A Client/Server Database system is described which includes a Database Server providing methods eliminating duplicates from an ordered tuple stream (e.g., resulting from a query involving a database "join"), without the need for performing an expensive sort operation. Specifically, the system provides a "filter" which eliminates duplicates without having to perform a sort. The filter, which is implemented as an optimization at the level of the query processor, comprises two basic pieces. The first piece, INIT.sub.-- FILTER, simply serves to initialize the filter--that is, the piece sets a flag that forces the filter to pass the first tuple encountered and to construct a first key from it. The second piece, FILTER, serves as the actual filter, when the system scans the tuple stream. If the current tuple has the same key as the preceding tuple, then the current tuple is thrown away. Otherwise, the current tuple is passed and a new key is constructed from it. The positions of both INIT.sub.Type: GrantFiled: November 27, 1996Date of Patent: August 10, 1999Assignee: Sybase, Inc.Inventor: Richard Hillegas
-
Patent number: 5925100Abstract: A client/server system is described incorporating methods for managing object availability through semantic object "load sets." By associating a particular "load set" with each object which might be requested by a client, improved object fetching and cache management is provided. Methods are described for managing object fetching and discarding on a per object basis, not on a per page basis. Each "semantic object" is packaged in a "storable," which incorporates dependency lists indicating the context in which the object is to be used (i.e., with which dependent objects). Additionally, a program developer can specify that the set of behaviors is defined at runtime, using "prefetch" primitives provided by the system. This allows an executing application to prefetch objects based on the then-existing dynamics of the system. With this approach, object availability in a distributed object environment (e.g., Internet) is improved.Type: GrantFiled: March 21, 1996Date of Patent: July 20, 1999Assignee: Sybase, Inc.Inventors: Raymond G. Drewry, David George, Dirk Epperson
-
Patent number: 5924091Abstract: System and methods are described for improved sorting of information records. The system provides radix sorting on native data types--that is, without the resource-expensive approach of converting data types into character representations. A correct interpretation of a group of bits under examination is provided by the system at the point of examination by a radixsort engine. "Sort plan" information is provided to the radixsort engine instructing it how a particular set of bits should be interpreted for purposes of comparison. The knowledge includes a "comparison type" for a set of bits under exam. This is employed by the engine to determine an appropriate "weighting" of each group of bits--how each group should be treated at the point of comparison. The engine itself operates generically: it simply operates on the set of bits as specified by the sort plan entries, regardless of the particular data types which comprise the bits or the one or more keys from which the bits are derived.Type: GrantFiled: August 28, 1996Date of Patent: July 13, 1999Assignee: Sybase, Inc.Inventor: Neil A. Burkhard
-
Patent number: 5918225Abstract: A Client/Server Database System with improved methods for performing database queries, particularly DSS-type queries, is described. The system includes one or more Clients (e.g., Terminals or PCs) connected via a Network to a Server. In general operation, Clients store data in and retrieve data from one or more database tables resident on the Server by submitting SQL commands, some of which specify "queries"--criteria for selecting particular records of a table. The system implements methods for storing data vertically (i.e., by column), instead of horizontally (i.e., by row) as is traditionally done. Each column comprises a plurality of "cells" (i.e., column value for a record), which are arranged on a data page in a contiguous fashion. The system builds the value lookup table for tracking unique values in the cells. As additional unique values are inserted into the column of the user's table (i.e.Type: GrantFiled: March 20, 1997Date of Patent: June 29, 1999Assignee: Sybase, Inc.Inventors: Peter W. White, Clark D. French, Yong Min Chen, David Yach