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: 8140588
    Abstract: 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: Grant
    Filed: May 1, 2008
    Date of Patent: March 20, 2012
    Assignee: International Business Machines Corporation
    Inventors: Timo J. Salo, Kevin J. Williams
  • Patent number: 7958105
    Abstract: 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: Grant
    Filed: March 7, 2008
    Date of Patent: June 7, 2011
    Assignee: International Business Machines Corporation
    Inventors: Avraham Leff, James T. Rayfield, Timo J. Salo, Brandon J. W. Smith
  • Publication number: 20090228440
    Abstract: 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: Application
    Filed: March 7, 2008
    Publication date: September 10, 2009
    Inventors: Avraham Leff, James T. Rayfield, Timo J. Salo, Brandon J.W. Smith
  • Patent number: 7421436
    Abstract: 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: Grant
    Filed: December 21, 2001
    Date of Patent: September 2, 2008
    Assignee: International Business Machines Corporation
    Inventors: Timo J. Salo, Kevin J. Williams
  • Publication number: 20080208898
    Abstract: 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: Application
    Filed: May 1, 2008
    Publication date: August 28, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Timo J. Salo, Kevin J. Williams
  • Patent number: 7246359
    Abstract: 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: Grant
    Filed: July 31, 2003
    Date of Patent: July 17, 2007
    Assignee: International Business Machines Corporation
    Inventors: Timo J. Salo, Kevin J. Williams
  • Patent number: 7197496
    Abstract: 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: Grant
    Filed: January 20, 2004
    Date of Patent: March 27, 2007
    Assignee: International Business Machines Corporation
    Inventors: Brent H. Daniel, Timo J. Salo, Kevin J. Williams
  • Patent number: 6704735
    Abstract: 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: Grant
    Filed: January 11, 2000
    Date of Patent: March 9, 2004
    Assignee: International Business Machines Corporation
    Inventors: Timo J. Salo, Kevin J. Williams
  • Publication number: 20030120628
    Abstract: 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: Application
    Filed: December 21, 2001
    Publication date: June 26, 2003
    Applicant: International Business Machines Corporation
    Inventors: Timo J. Salo, Kevin J. Williams
  • Patent number: 6542883
    Abstract: 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: Grant
    Filed: March 9, 2000
    Date of Patent: April 1, 2003
    Assignee: International Business Machines Corporation
    Inventor: Timo J. Salo
  • Patent number: 6456995
    Abstract: 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: Grant
    Filed: December 31, 1998
    Date of Patent: September 24, 2002
    Assignee: International Business Machines Corporation
    Inventors: Timo J. Salo, Kevin J. Williams
  • Patent number: 6457065
    Abstract: 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: Grant
    Filed: January 5, 1999
    Date of Patent: September 24, 2002
    Assignee: International Business Machines Corporation
    Inventors: Lawrence Scott Rich, Timo J. Salo
  • Patent number: 6453321
    Abstract: 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: Grant
    Filed: February 11, 1999
    Date of Patent: September 17, 2002
    Assignee: IBM Corporation
    Inventors: Justin H. Hill, Timo J. Salo
  • Patent number: 6397206
    Abstract: 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: Grant
    Filed: December 15, 1999
    Date of Patent: May 28, 2002
    Assignee: International Business Machines Corporation
    Inventors: Justin H. Hill, Timo J. Salo
  • Patent number: 6298478
    Abstract: 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: Grant
    Filed: December 31, 1998
    Date of Patent: October 2, 2001
    Assignee: International Business Machines Corporation
    Inventors: Martin P. Nally, Lawrence Scott Rich, Timo J. Salo