Patent application number | Description | Published |
20090158047 | HIGH PERFORMANCE SECURE CACHING IN THE MID-TIER - In a multi-tier data server system, data from the first tier is cached in a mid-tier cache of the middle tier. Access control information from the first tier for the data is also cached within the mid-tier cache. Caching the security information in the middle tier allows the middle tier to make access control decisions regarding requests for data made by clients in the outer tier. | 06-18-2009 |
20100281060 | TYPE SYSTEM FOR ACCESS CONTROL LISTS - A method and storage media for performing access resolution using ACL types is provided. Under an AND semantic, an intersection set formed from the types of multiple ACLs protecting a resource may be utilized to efficiently determine whether a request for a privilege to access the resource is granted or denied. If the privilege is not a member of the intersection set, the privilege cannot be granted. A union set may be used for an OR semantic. A global ACL type may represent all privileges system-wide or application-wide. A global ACL may represent a system-wide or application-wide access policy. A conjunction of a global ACL and a regular ACL may be stored in a cache. The union set, intersection set, or access resolution may also be cached for subsequent request processing. | 11-04-2010 |
20100299356 | TYPE SYSTEM FOR BUILDING EXTENSIBLE BUSINESS APPLICATIONS - A platform (referred to herein as Extensible Application Platform, or XAP) for developing extensible business applications. In one set of embodiments, XAP can include an Extensible Markup Language (XML) based application model that is designed to support a high degree of application extensibility. For example, the XAP application model can support declarative definition of application semantics, separation of application data and metadata, and a flexible type system that allows constraints and calculations (e.g., XQuery constraints and calculations) for a data object instance (e.g., an XML document) to change over time. In certain embodiments, the XAP application model can be implemented via a server-side database/application engine that is configured to interoperate with a spreadsheet-like, client-side user interface. Using the spreadsheet-like UI, a non-programmer can build, customize, and run an application workflow that operates on top of a shared database like a traditional business application. | 11-25-2010 |
20100318570 | PLUGGABLE SESSION CONTEXT - A method and apparatus are described for sharing a session to access a database. A database server receives, in a session, a session context identifier and a command. The session context identifier identifies a session context to use for the session. The session context is a set of information or commands that plug into a session state and specify how commands in the session are to be performed for a particular user or privilege level. In response to receiving the identifier, the database server associates the session context with the database session for the connection. The database server uses the session context to process the command. The session context may then be detached from the session, allowing another user to attach to the session via another session context. | 12-16-2010 |
20110023082 | TECHNIQUES FOR ENFORCING APPLICATION ENVIRONMENT BASED SECURITY POLICIES USING ROLE BASED ACCESS CONTROL - An application platform examines, at runtime, various specified aspects of an application environment in which an application interacts with a user. Such examinations are made to determine a state for each of the various specified aspects. Further, the platform automatically activates particular application environment roles for the user depending on the result of the examinations. For example, an application environment role may be activated representing a particular detected mode of communication (e.g., encrypted network communications) or a particular detected manner of authentication (e.g., password authentication). Such activations are based on the detected states and specified states for the various specified aspects of the application environment. Such activations may occur in the context of an application attempting to perform an operation on an access controlled object on behalf of a user. Further, such activations may occur in the context of establishing or maintaining a user session for a user of an application. | 01-27-2011 |
20130111151 | SOFTWARE TRANSLATION LOOKASIDE BUFFER FOR PERSISTENT POINTER MANAGEMENT | 05-02-2013 |
20130346438 | TYPE SYSTEM FOR BUILDING EXTENSIBLE BUSINESS APPLICATIONS - A platform (referred to herein as Extensible Application Platform, or XAP) for developing extensible business applications. In one set of embodiments, XAP can include an Extensible Markup Language (XML) based application model that is designed to support a high degree of application extensibility. For example, the XAP application model can support declarative definition of application semantics, separation of application data and metadata, and a flexible type system that allows constraints and calculations (e.g., XQuery constraints and calculations) for a data object instance (e.g., an XML document) to change over time. In certain embodiments, the XAP application model can be implemented via a server-side database/application engine that is configured to interoperate with a spreadsheet-like, client-side user interface. Using the spreadsheet-like UI, a non-programmer can build, customize, and run an application workflow that operates on top of a shared database like a traditional business application. | 12-26-2013 |
20140074819 | Optimal Data Representation and Auxiliary Structures For In-Memory Database Query Processing - A method for providing optimized data representation of relations for in-memory database query processing is disclosed. The method seeks to optimize the use of the available memory by encoding relations on which the in-memory database query processing is performed and by employing auxiliary structures to maintain performance. Relations are encoded based on data patterns in one or more attribute-columns of the relation and the encoding that is selected is suited to a particular type of data in the column. Members of a set of auxiliary structures are selected based on the benefit the structure can provide and the cost of the structure in terms of the amount of memory used. Encoding of the relations is performed in real-time while query processing occurs, using locks to eliminate conflicts between the query processing and encoding. | 03-13-2014 |
20140082597 | UNIFYING STATIC AND DYNAMIC COMPILER OPTIMIZATIONS IN SOURCE-CODE BASES - Techniques are described for unifying static and dynamic compiler optimizations in source code bases. In an embodiment, a first compiler compiles source code of a target function to generate ahead-of-time (AOT) compiled machine code. A second compiler compiles the source code to generate an intermediate representation (IR) of the target function. In response to determining that the target function should be just-in-time (JIT) compiled, the AOT-compiled machine code for the target function is linked to the IR of the target function. During runtime, a physical processor executes AOT-compiled machine code of an executable program. When the target function is encountered for the first time, a JIT compiler is invoked. The JIT compiler generates JIT-compiled machine code for the target function. The physical processor executes the JIT-compiled machine code in place of the AOT-compiled machine code for the target function. | 03-20-2014 |
20140101205 | Efficient Pushdown Of Joins In A Heterogeneous Database System Involving A Large-Scale Low-Power Cluster - A system and method for allocating join processing between and RDBMS and an assisting cluster. In one embodiment, the method estimates a cost of performing the join completely in the RDBMS and the cost of performing the join with the assistance of a cluster coupled to the RDBMS. The cost of performing the join with the assistance of the cluster includes estimating a cost of a broadcast join or a partition join depending on the sizes of the tables. Additional costs are incurred when there is a blocking operation, which prevents the cluster from being able to process portions of the join. The RDBMS also maintains transactional consistency when the cluster performs some or all of the join processing. | 04-10-2014 |
20140157247 | Enabling Symbol Resolution of Private Symbols in Legacy Programs and Optimizing Access to the Private Symbols - A method for generating a binary executable of a program so that private symbols in a module are accessible from another module. In one embodiment, the method compiles a source program to an intermediate representation and scans the representation to find the private symbols in the program's modules. It then wraps a function around each private symbol. When called, the function returns an address of the private symbol, so that the other module can access the symbol from outside the module in which the symbol is found. At run time, a call is made to obtain the address of the function, which is then executed to obtain the address of the private symbol so that the symbol can be accessed. In another embodiment, a Just-In-Time compiler executes the wrapper functions and patches the executable program with the direct address of the private symbol to avoid a call to the wrapper function. | 06-05-2014 |
20140189665 | System For Applying Transformation To Improve Graph Analysis - A method for performing a neighbor-flipping transformation is provided. In one embodiment, a graph analysis program for computing a function relating to nodes in a directed graph is obtained and analyzed for neighborhood iterating operations, in which a function is computed over sets of nodes in the graph. For any detected neighborhood iterating operation, the method transforms the iterating operation by reversing the neighbor node relationship between the nodes in the operation. The transformed operation computes the same value for the function as the operation prior to transformation. The method alters the neighbor node relationship automatically, so that a user does not have to recode the graph analysis program. In some cases, the method includes construction of edges in the reverse direction while retaining the original edges in addition to performing the transformation. | 07-03-2014 |
20140258635 | INVALIDATING ENTRIES IN A NON-COHERENT CACHE - Techniques are provided for performing an invalidate operation in a non-coherent cache. In response to receiving an invalidate instruction, a cache unit only invalidates cache entries that are associated with invalidation data. In this way, a separate invalidate instruction is not required for each cache entry that is to be invalidated. Also, cache entries that are not to be invalidated remain unaffected by the invalidate operation. A cache entry may be associated with invalidation data if an address of the corresponding data item is in a particular set of addresses. The particular set of addresses may have been specified as a result of an invalidation instruction specified in code that is executing on a processor that is coupled to the cache. | 09-11-2014 |
20140258637 | FLUSHING ENTRIES IN A NON-COHERENT CACHE - Techniques are provided for performing a flush operation in a non-coherent cache. In response to determining to perform a flush operation, a cache unit flushes certain data items. The flush operation may be performed in response to a lapse of a particular amount of time, such as a number of cycles, or an explicit flush instruction that does not indicate any cache entry or data item. The cache unit may store change data that indicates which entry stores a data item that has been modified but not yet been flushed. The change data may be used to identify the entries that need to be flushed. In one technique, a dirty cache entry that is associated with one or more relatively recent changes is not flushed during a flush operation. | 09-11-2014 |
Patent application number | Description | Published |
20080215528 | Multi-Model Access To Data - Techniques are provided for accessing data stored in a database. According to one technique, an application makes one or more calls to an operating system to access a file. The operating system includes routines that implement an operating system file system. The one or more calls are made to the routines that implement the operating system file system. In response to the one or more calls, one or more database commands are issued to a database server that manages the database. The database server executes the database commands to retrieve the data from the database. The file is generated from the data, and provided to the application. | 09-04-2008 |
20080275919 | INDEX MAINTENANCE FOR OPERATIONS INVOLVING INDEXED XML DATA - A method and system are provided for maintaining an XML index in response to piece-wise modifications on indexed XML documents. The database server that manages the XML index determines which nodes are involved in the piece-wise modifications, and updates the XML index based on only those nodes. Index entries for nodes not involved in the piece-wise modifications remain unchanged. | 11-06-2008 |
20100011010 | METHOD AND MECHANISM FOR EFFICIENT STORAGE AND QUERY OF XML DOCUMENTS BASED ON PATHS - A method, mechanism, and computer program product for storing, accessing, and managing XML data is disclosed. The approach supports efficient evaluation of XPath queries and also improves the performance of data/fragment extraction. The approach can be applied to schema-less documents. The approach is applicable to all database systems and other servers which support storing and managing XML content. In addition, the approach can be applied to store, manage, and retrieve other types of unstructured or semi-structured data in a database system. | 01-14-2010 |
20110137963 | PERFORMING AN ACTION IN RESPONSE TO A FILE SYSTEM EVENT - A method and apparatus for performing an action in response to a file system event is provided. According to one aspect, sets of “event listeners” are associated with a file hierarchy and/or the nodes thereof. Each event listener contains a set of “event handlers.” Each event handler corresponds to a separate type of event that may occur relative to the file hierarchy's nodes. When an event is going to occur relative to the hierarchy or a node thereof, all event listeners that are associated with that hierarchy/node are inspected to determine whether those event listeners contain any event handlers that correspond to the event's type. Those event handlers that correspond to the event's type are placed in an ordered list of event handlers to be invoked. As the event handlers in the list are invoked, programmatic mechanisms that correspond to those event handlers are executed to perform customized user-specified actions. | 06-09-2011 |
20130066929 | VERSIONING IN INTERNET FILE SYSTEM - Techniques are provided for managing versions of files in a file system. According to one technique, new versions of directories are created in response to creation of new versions of files that descend from the directories, where the different versions of a versioned directory are associated with different points in time. Links are maintained between the files in the file system such that the versions of the files that descend from a particular version of a versioned directory reflect the point in time associated with the versioned directory. | 03-14-2013 |