Patents by Inventor Timo J. Salo
Timo J. Salo has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 8140588Abstract: A many-to-many relationship management system. In an object persistence management system, a many-to-many relationship manager can include one or more related objects; a junction table storing relationships between the related objects; and, one or more corresponding links. Each link can correspond to one of the objects. Furthermore, each link can persist state information for the corresponding object in an associated object table. Finally, each link can manage the junction table responsive to changing relationships with others of the related objects. Importantly, as the present invention distributes the management of the junction table, a counter-operation management protocol can be provided which can resolve conflicts which arise in the management of the junction table in response to changing relationships among their associated objects.Type: GrantFiled: May 1, 2008Date of Patent: March 20, 2012Assignee: International Business Machines CorporationInventors: Timo J. Salo, Kevin J. Williams
-
Patent number: 7958105Abstract: A method, system and computer program product for retrieving data records to a client computer. An identifier of a base query is received from the client computer. The base query is configured to select a set of data records from a database that the client computer has permission to access. A modifying clause is also received from the client computer. The modifying clause comprises a directive restricting the set of data records to a subset of data records. The modifying clause may optionally comprise an expression for sorting. A combined query is generated from the base query and the modifying clause. The query is configured to return the subset of data records. The combined query is further configured to sort the subset of data records based on the value of the expression if the expression is present. The combined query is executed at the database.Type: GrantFiled: March 7, 2008Date of Patent: June 7, 2011Assignee: International Business Machines CorporationInventors: Avraham Leff, James T. Rayfield, Timo J. Salo, Brandon J. W. Smith
-
Publication number: 20090228440Abstract: A method, system and computer program product for retrieving data records to a client computer. An identifier of a base query is received from the client computer. The base query is configured to select a set of data records from a database that the client computer has permission to access. A modifying clause is also received from the client computer. The modifying clause comprises a directive restricting the set of data records to a subset of data records. The modifying clause may optionally comprise an expression for sorting. A combined query is generated from the base query and the modifying clause. The query is configured to return the subset of data records. The combined query is further configured to sort the subset of data records based on the value of the expression if the expression is present. The combined query is executed at the database.Type: ApplicationFiled: March 7, 2008Publication date: September 10, 2009Inventors: Avraham Leff, James T. Rayfield, Timo J. Salo, Brandon J.W. Smith
-
Patent number: 7421436Abstract: A many-to-many relationship management system. In an object persistence management system, a many-to-many relationship manager can include one or more related objects; a junction table storing relationships between the related objects; and, one or more corresponding links. Each link can correspond to one of the objects. Furthermore, each link can persist state information for the corresponding object in an associated object table. Finally, each link can manage the junction table responsive to changing relationships with others of the related objects. Importantly, as the present invention distributes the management of the junction table, a counter-operation management protocol can be provided which can resolve conflicts which arise in the management of the junction table in response to changing relationships among their associated objects.Type: GrantFiled: December 21, 2001Date of Patent: September 2, 2008Assignee: International Business Machines CorporationInventors: Timo J. Salo, Kevin J. Williams
-
Publication number: 20080208898Abstract: A many-to-many relationship management system. In an object persistence management system, a many-to-many relationship manager can include one or more related objects; a junction table storing relationships between the related objects; and, one or more corresponding links. Each link can correspond to one of the objects. Furthermore, each link can persist state information for the corresponding object in an associated object table. Finally, each link can manage the junction table responsive to changing relationships with others of the related objects. Importantly, as the present invention distributes the management of the junction table, a counter-operation management protocol can be provided which can resolve conflicts which arise in the management of the junction table in response to changing relationships among their associated objects.Type: ApplicationFiled: May 1, 2008Publication date: August 28, 2008Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Timo J. Salo, Kevin J. Williams
-
Patent number: 7246359Abstract: A collection of target Enterprise JavaBeans (EJBs) that are associated with the source EJB in a one-to-many association is obtained in response to traversing the one-to-many association of the source EJB. The collection of target EJBs is registered in a collection registry. The source EJB is passivated without passivating the collection of target EJBs, and the source EJB is later reactivated. The collection of target EJBs that are associated with the source EJB that is reactivated is fetched from the collection registry in response to traversing the one to many association of the source EJB that is reactivated. The one-to-many association between the source EJB and the collection of target EJBs may be managed by a link object that is generated by a link factory.Type: GrantFiled: July 31, 2003Date of Patent: July 17, 2007Assignee: International Business Machines CorporationInventors: Timo J. Salo, Kevin J. Williams
-
Patent number: 7197496Abstract: The present invention comprises a Dynamic Query Interface (DQI). The DQI provides an apparatus and method for dynamically discovering the shape of data returned by a DBMS in response to a query statement. The DQI comprises a Query Schema, a Select Macro, and a Macro Expansion Module (MEM). Unlike conventional query statements, a Select Macro only requires a select-clause. The MEM builds a conventional query statement from a Select Macro using information contained in the Query Schema. The Macro Token expansion approach implemented in the MEM obviates the need for full language parsing and is thus much more suited to runtime execution than prior art solutions. Furthermore, because the MEM examines a Select Macro at runtime, the MEM has the added advantage over prior art solutions of being able to discover dynamically the shape of the requested data at runtime.Type: GrantFiled: January 20, 2004Date of Patent: March 27, 2007Assignee: International Business Machines CorporationInventors: Brent H. Daniel, Timo J. Salo, Kevin J. Williams
-
Patent number: 6704735Abstract: A technique for managing life cycles of objects which are created by mapping layer software in response to retrieving data from a relational database. Object-level cursors are defined, where an object cursor is mapped to a database cursor for a particular cursored query. When the application traverses from one root object to another, the object-level cursor is advanced and memory used to store the objects corresponding to the previous subset of cursored rows is released, freeing memory space for a next set of objects corresponding to a next subset of cursored rows. The database cursor is also advanced to align with a row corresponding to the current root object to be processed by the application. Using this technique, result sets may be arbitrarily large without impacting system performance or efficiency.Type: GrantFiled: January 11, 2000Date of Patent: March 9, 2004Assignee: International Business Machines CorporationInventors: Timo J. Salo, Kevin J. Williams
-
Publication number: 20030120628Abstract: A many-to-many relationship management system. In an object persistence management system, a many-to-many relationship manager can include one or more related objects; a junction table storing relationships between the related objects; and, one or more corresponding links. Each link can correspond to one of the objects. Furthermore, each link can persist state information for the corresponding object in an associated object table. Finally, each link can manage the junction table responsive to changing relationships with others of the related objects. Importantly, as the present invention distributes the management of the junction table, a counter-operation management protocol can be provided which can resolve conflicts which arise in the management of the junction table in response to changing relationships among their associated objects.Type: ApplicationFiled: December 21, 2001Publication date: June 26, 2003Applicant: International Business Machines CorporationInventors: Timo J. Salo, Kevin J. Williams
-
Patent number: 6542883Abstract: A method, system, and computer program product for increasing the efficiency of operations that are to be performed against an arbitrary relational database by automatically ordering the operations according to the referential integrity constraints defined for the affected tables. Because the ordering is performed programmatically, the application developer is relieved of the burden of attempting to structure the application in a manner that avoids violating the referential integrity constraints. The efficiency of modifying the database increases significantly using this technique. The ordering may be performed at a database engine. Existing applications may take advantage of this ordering technique, without requiring change to the application itself. Batch-mode write operations are possible when using this technique, thereby reducing the number of network round-trips that must be performed.Type: GrantFiled: March 9, 2000Date of Patent: April 1, 2003Assignee: International Business Machines CorporationInventor: Timo J. Salo
-
Patent number: 6456995Abstract: Systems, methods and computer program products automatically order database transaction by an object-oriented transaction system. The objects in the completed transaction are clustered into groups of objects to be inserted into the relational database, objects to be deleted from the relational database and objects to be updated in the relational database. The objects to be inserted into the relational database are ordered according to an insert precedence of the objects into the relational database to thereby define an insert order. The objects to be deleted from the relational database are ordered according to a delete precedence of the objects from the relational database are ordered according to a delete precedence of the objects from the relational database to thereby define a delete order. The objects to be inserted into the relational database are inserted into the relational database in the insert order. Then, the objects to be updated in the relational database are updated in an arbitrary order.Type: GrantFiled: December 31, 1998Date of Patent: September 24, 2002Assignee: International Business Machines CorporationInventors: Timo J. Salo, Kevin J. Williams
-
Patent number: 6457065Abstract: A method, system, and computer program product for improving the performance of distributed object systems. A remote object is replicated to the node of the distributed system from which it is accessed. The scope of the replication is a transaction. Thereafter, method invocations on the object occur locally, avoiding the performance overhead of frequent round trips to the remote persistent object store. Changes made to a replicated object by a transaction are represented using a tree structure that is internally managed by the application. When an application or application user has made modifications to a replicated object and requests to commit the modifications, a determination is first made as to whether committing the modifications will result in an unacceptable data conflict. If no unacceptable data conflict will occur, and after resolution of those conflicts that can be resolved, the modifications are committed.Type: GrantFiled: January 5, 1999Date of Patent: September 24, 2002Assignee: International Business Machines CorporationInventors: Lawrence Scott Rich, Timo J. Salo
-
Patent number: 6453321Abstract: A technique for creating and using a structured cache to increase the efficiency of reading persistent objects from a database. The structured cache is comprised of an object cache, an associations cache, and a data cache. Data read-ahead is used to retrieve rows from a relational database in advance of an application's need for the data. Entries are created in the data cache and association cache as the rows are processed. The data cache stores data in unstructured binary format, delaying the expense of instantiation until an object is requested by the application. At that time, data is retrieved from the data cache, an object is instantiated from the data, and an entry is created in the object cache. This approach also saves storage space that would be wasted if objects were instantiated upon retrieval, but never used. The association cache stores members of an association, organized by member key within owner key for each association.Type: GrantFiled: February 11, 1999Date of Patent: September 17, 2002Assignee: IBM CorporationInventors: Justin H. Hill, Timo J. Salo
-
Patent number: 6397206Abstract: A technique for using working set hints and query signatures to optimize the selection and execution of fixed, static services or queries of information from a database, object server, or similar data repository. The working set hints describe how to read ahead when doing a database query, in order to retrieve data in a single database access that a task is likely to need as it continues executing. By storing the working set hints externally from the application code, the hints can be modified as experience is gained about the true working set that is required during use of each task without having to modify and recompile the application itself. Signatures are created and associated with query commands or services. These signatures are compared to the working set hints for a task when the task traverses an association and needs to retrieve data from the data repository.Type: GrantFiled: December 15, 1999Date of Patent: May 28, 2002Assignee: International Business Machines CorporationInventors: Justin H. Hill, Timo J. Salo
-
Patent number: 6298478Abstract: A technique for providing a transaction management subsystem for an enterprise computing environment in which multiple concurrent and/or nested transactions may access the same Enterprise JavaBeans (EJBs) simultaneously. The transaction management subsystem provides a view for each transaction which includes an independent version of an EJB's business logic and its instance data. When an application or application user has made modifications to an EJB version and requests to commit the modifications, a determination is first made as to whether committing the modifications will result in an unacceptable data conflict with other versions of the same EJB. If no unacceptable data conflict will occur, and after resolution of those conflicts that can be resolved, the modifications are committed. The management subsystem also supports nested transactions, where each subtransaction may have an independent view of an EJB. Subtransactions may commit or roll back independently.Type: GrantFiled: December 31, 1998Date of Patent: October 2, 2001Assignee: International Business Machines CorporationInventors: Martin P. Nally, Lawrence Scott Rich, Timo J. Salo