Patents by Inventor John J. Stecher

John J. Stecher 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: 8856742
    Abstract: In an embodiment, a first debug agent at a first computer receives a packet. The first debug agent adds a debug command and an identifier of the first debug agent to the packet and sends the packet to a receiving computer. A second debug agent at the receiving computer removes the debug command and the identifier of the first debug agent from the packet and sends the packet to a second program that executes at the receiving computer. The second debug agent further executes the debug command, which causes the second program that executes on the receiving computer to halt execution at a breakpoint or address watch memory location. The second debug agent sends the state of the second program to the first debug agent, which presents, at the first computer, the state and a listing of the second program.
    Type: Grant
    Filed: June 11, 2010
    Date of Patent: October 7, 2014
    Assignee: International Business Machines Corporation
    Inventors: Steven J. Branda, William T. Newport, John J. Stecher, Robert Wisniewski
  • Patent number: 8813082
    Abstract: A method and apparatus for managing thread priority based on object creation rates. Embodiments of the invention provide a thread monitor configured to reduce the execution priority of a thread creating a sufficient number of new objects to be disruptive of system performance. Thus, although the thread may still create a large number of objects, by monitoring object creation rates and reducing the execution priority of such a thread, overall system performance may be improved. In other words, a given thread may still “misbehave,” but receive fewer opportunities to do so.
    Type: Grant
    Filed: June 22, 2006
    Date of Patent: August 19, 2014
    Assignee: International Business Machines Corporation
    Inventors: Eric L. Barsness, John M. Santosuosso, John J. Stecher
  • Patent number: 8364636
    Abstract: A combination of synchronous and asynchronous replication of data is used to replicate a local database to a replicated database. The typical tradeoff between synchronous and asynchronous replication is optimized by using hybrid replication, which is to use synchronous replication for inserting new data and asynchronous replication for updating existing data. The combined use of synchronous and asynchronous in this manner provides an efficient replicated database where the replicated database can tolerate some delay in data updates but requires no data loss of new data.
    Type: Grant
    Filed: September 14, 2009
    Date of Patent: January 29, 2013
    Assignee: International Business Machines Corporation
    Inventors: William T. Newport, John J. Stecher
  • Patent number: 8261245
    Abstract: A computer implemented method, apparatus and program product for analyzing performance data particular to an algorithm using a profiler algorithm, and automatically associates the performance data with a reference clock time. The performance data may be automatically associated with a tag, also associated with the reference clock time. Using the tag, the performance data may be associated with a portion of the algorithm. For instance, the tag may be associated with a corresponding tag associated with the algorithm. User input may be received that designates both the tag and an additional tag associated with the program code. Aspects may identify tags in the performance data that correspond to both the tag and additional tag of program code. The portion of the performance data bounded by the identified tags in the performance data may be retrieved and displayed to a user. In this manner, the performance data may be automatically associated with a portion of algorithm.
    Type: Grant
    Filed: January 22, 2008
    Date of Patent: September 4, 2012
    Assignee: International Business Machines Corporation
    Inventors: Steven J. Branda, John J. Stecher
  • Publication number: 20110307871
    Abstract: In an embodiment, a first debug agent at a first computer receives a packet. The first debug agent adds a debug command and an identifier of the first debug agent to the packet and sends the packet to a receiving computer. A second debug agent at the receiving computer removes the debug command and the identifier of the first debug agent from the packet and sends the packet to a second program that executes at the receiving computer. The second debug agent further executes the debug command, which causes the second program that executes on the receiving computer to halt execution at a breakpoint or address watch memory location. The second debug agent sends the state of the second program to the first debug agent, which presents, at the first computer, the state and a listing of the second program.
    Type: Application
    Filed: June 11, 2010
    Publication date: December 15, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Steven J. Branda, William T. Newport, John J. Stecher, Robert Wisniewski
  • Patent number: 8060812
    Abstract: A system for class verification includes a data storage device holding verification caches; and a host system in communication with the data storage device, the host system executing a virtual machine (VM), including a class verifier. The VM is configured to perform: initiating loading of a class; searching for the class in the verification caches, wherein a record from the verification caches, including a checksum, is returned upon locating the class; comparing the checksum in the record to a checksum of the class being loaded; completing the loading of the class when the checksums match; performing bytecode verification of the class upon one of: a checksum comparison mismatch, and a failure to locate the class in the verification caches; calculating new checksum of the class upon a successful bytecode verification; and storing the new checksum in the verification caches.
    Type: Grant
    Filed: July 27, 2007
    Date of Patent: November 15, 2011
    Assignee: International Business Machines Corporation
    Inventors: Steven J. Branda, John J. Stecher
  • Publication number: 20110099542
    Abstract: In an embodiment, a conditional branch is detected that selects between execution of a first alternative block and a second alternative block. A first count and a second count are saved, where the first count is a number of times the first alternative block was executed, and the second count is a number of times the second alternative block was executed. If the first count is greater than a threshold and the second count equals zero, the first alternative block is compiled into first alternative block object code and the second alternative block is not compiled. If the first count is not greater than the threshold, the first alternative block is compiled into the first alternative block object code and the second alternative block is compiled into second alternative block object code.
    Type: Application
    Filed: October 28, 2009
    Publication date: April 28, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Steven J. Branda, John J. Stecher
  • Publication number: 20110066592
    Abstract: A combination of synchronous and asynchronous replication of data is used to replicate a local database to a replicated database. The typical tradeoff between synchronous and asynchronous replication is optimized by using hybrid replication, which is to use synchronous replication for inserting new data and asynchronous replication for updating existing data. The combined use of synchronous and asynchronous in this manner provides an efficient replicated database where the replicated database can tolerate some delay in data updates but requires no data loss of new data.
    Type: Application
    Filed: September 14, 2009
    Publication date: March 17, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William T. Newport, John J. Stecher
  • Patent number: 7742476
    Abstract: The present invention a synchronous peer to peer transfer model that utilizes all available network bandwidth to deploy application code to an entire cluster as fast as it can be sent to one machine. A method in accordance with an embodiment of the present invention includes: determining a number N of simultaneous connections that should be opened to the cluster members to maximize network bandwidth; and synchronously deploying the application to the cluster members using the N simultaneous connections.
    Type: Grant
    Filed: August 4, 2006
    Date of Patent: June 22, 2010
    Assignee: International Business Machines Corporation
    Inventors: Steven J. Branda, Robert V. Geiner, John J. Stecher
  • Patent number: 7739698
    Abstract: The “API Usage Tool” (AUT) comprises an Interactive Developer Environment Plug-in (IDEP) and a Web Service Component (WSC). The IDEP opens the source code file containing API method calls, identifies the API method calls in the source code, and saves the identified API method calls to an API usage log. The WSC searches API usage data sheets for usage, best practices and known bugs for each identified API method call. The WSC generates an API usage compilation based on the identified API method calls. The IDEP compares the API usage compilation to the dynamic data in the usage log, looking for conflicts between the compiled usage and the actual usage in the source code. The IDEP marks any API method calls in the source code that do not comport with the compiled usage guidelines.
    Type: Grant
    Filed: May 25, 2006
    Date of Patent: June 15, 2010
    Assignee: International Business Machines Corporation
    Inventors: Steven J. Branda, Robert V. Geiner, John J. Stecher
  • Patent number: 7685604
    Abstract: A method for capturing and converting legacy applications into a Business Process Execution Language (BPEL) model supporting a Service Oriented Architecture (SOA), the method comprising: starting a recorder for recording the legacy applications; mapping the plurality of variables of the legacy applications to a plurality of fields and to a plurality of sub-fields of the BPEL model; highlighting and identifying the plurality of fields and the plurality of sub-fields; identifying and generating partner links; identifying additional input variables of the legacy applications; mapping the additional input variables of the legacy applications to arbitrary variables; repeating the previous steps until an end result is generated; and ending the recorder.
    Type: Grant
    Filed: June 29, 2006
    Date of Patent: March 23, 2010
    Assignee: International Business Machines Corporation
    Inventors: Randall P. Baartman, Steven J. Branda, Christopher D. Johnson, Bhushan K. Lokhande, John J Stecher
  • Patent number: 7668904
    Abstract: Methods, apparatuses, and products are disclosed for session replication that include enqueueing sessions on a replication queue and flushing enqueued sessions, from the replication queue to a replication peer, in dependence upon flushing criteria, for storage on a replication medium. The replication medium may be non-volatile storage in a database or remote random access memory. Flushing may be carried out periodically or in dependence upon replication queue depth. Flushing may include aggregating sessions from the replication queue for transmission to the replication peer.
    Type: Grant
    Filed: July 28, 2005
    Date of Patent: February 23, 2010
    Assignee: International Business Machines Corporation
    Inventors: William T. Newport, John J. Stecher
  • Publication number: 20100037244
    Abstract: A method for providing inline service-oriented architecture application fragments is disclosed. A remote procedure call is initially from a client application executing on a first data processing system by an application server executing on a second data processing system. The remote procedure call is a call to execute a service in a service-oriented architecture hosted by the application server. The remote procedure call includes a metadata tag indicating a preference for having computer-executable code corresponding to the service transmitted from the second data processing system to the first data processing system for execution on the first data processing system. A determination is made whether or not the service supports transmitting computer-executable code. If the service supports the transmitting computer-executable code, a service unit of work is transmitted to the first data processing system.
    Type: Application
    Filed: August 8, 2008
    Publication date: February 11, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: STEVEN J. BRANDA, WILLIAM T. NEWPORT, JOHN J. STECHER, ROBERT WISNIEWSKI
  • Publication number: 20090282414
    Abstract: Middleware may dynamically restrict or otherwise allocate computer resources in response to changing demand and based on prioritized user access levels. Users associated with a relatively low priority may have their resource access delayed in response to high demand, e.g., processor usage. Users having a higher priority may experience uninterrupted access during the same period and until demand subsides.
    Type: Application
    Filed: May 7, 2008
    Publication date: November 12, 2009
    Inventors: Steven J. Branda, John J. Stecher, Robert Wisniewski
  • Publication number: 20090265704
    Abstract: Embodiments of the invention provide methods, systems, and articles of manufacture for managing and executing applications in a clustered server system. In one embodiment, an application may be installed at an application server having the associated lowest energy cost of maintenance, thereby lowering the cost of operating the system. In another embodiment, requests for services from the system may be routed to application servers having the lowest energy cost, thereby lowering the cost of operating the system.
    Type: Application
    Filed: April 17, 2008
    Publication date: October 22, 2009
    Inventors: Steven J. Branda, Chris D. Johnson, John J. Stecher, Matthew R. Weaver
  • Publication number: 20090265419
    Abstract: Embodiments of the invention provide methods, systems, and articles of manufacture for managing and executing applications in a clustered server system. In one embodiment, an application may be installed at an application server having the associated lowest energy cost of maintenance, thereby lowering the cost of operating the system. In another embodiment, requests for services from the system may be routed to application servers having the lowest energy cost, thereby lowering the cost of operating the system.
    Type: Application
    Filed: April 17, 2008
    Publication date: October 22, 2009
    Inventors: Steven J. Branda, Chris D. Johnson, John J. Stecher, Matthew R. Weaver
  • Publication number: 20090254918
    Abstract: A method, system, and computer program product for optimizing “Hypertext Preprocessor” (PHP) processes by identifying the PHP pages which are active on a server and forwarding requests for specific pages to a processor which has recently processed that page. A request processing optimization (RPO) utility assigns an initial request received at the server for a PHP page based on a number of factors which may include a relative usage level of a processor within a pool of available processors on a server. The RPO utility assigns a request to additional processors based on: (1) a threshold frequency of page requests; and (2) a resource intensive factor of a page request measured by average response time of the page request. The assignment of PHP pages to a particular processor(s) enhances cache performance since the requisite code for a specific PHP page is loaded into the processor's cache.
    Type: Application
    Filed: April 3, 2008
    Publication date: October 8, 2009
    Inventors: Steven J. Branda, William T. Newport, John J. Stecher, Robert Wisniewski
  • Publication number: 20090228537
    Abstract: A method, apparatus and program product include an object heap having memory space dedicated to individual threads. Individual threads may allocate objects into their respective, assigned spaces. If their space should become full, the thread may allocate an object to a shared space of the object heap. Filling the space in this manner may allow the thread to continue working, without pauses. The thread may be continued to allocate objects and otherwise complete the work until it is done, and before any associated cleanup and consequent pauses. A garbage collection algorithm minimizes pauses for a given transaction by making the garbage collection scheme aware of the presence of end to end transactions. This awareness may allow the system to make appropriate decisions for optimizing object allocation processes.
    Type: Application
    Filed: March 7, 2008
    Publication date: September 10, 2009
    Inventors: Steven J. Branda, William T. Newport, John J. Stecher, Robert Wisniewski
  • Publication number: 20090216784
    Abstract: A method of storing probabilistic data in accordance with an exemplary embodiment of the present invention includes capturing a first instance of a probabilistic data sample, storing the first instance of the probabilistic data sample as a probabilistic data record, collecting a second instance of the probabilistic data sample, refining the probabilistic data record with the second instance of the probabilistic data sample to establish a refined probabilistic data record, and saving the refined probabilistic data record in a probabilistic data record database.
    Type: Application
    Filed: February 26, 2008
    Publication date: August 27, 2009
    Inventors: Steven J. Branda, William T. Newport, John J. Stecher, Robert Wisniewski
  • Publication number: 20090204956
    Abstract: A computer implemented method, for multiple-mode software license enforcement on a client, including encoding in the software at least one predetermined event that occurs prior to a validation of the software program and encoding it with different functional states. The software's resulting modification may be of reduced or increased functionality or both reduced and increased functionality. The predetermined events may be the elapsing of a predetermined length of time, the entry of a valid registration key or an act of validating. Each of these events may take place a multiple number of times.
    Type: Application
    Filed: February 8, 2008
    Publication date: August 13, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Steven J. Branda, Surya V. Duggirala, Bhushan K. Lokhande, Timothy P. Pickett, John J. Stecher