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: 8856742Abstract: 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: GrantFiled: June 11, 2010Date of Patent: October 7, 2014Assignee: International Business Machines CorporationInventors: Steven J. Branda, William T. Newport, John J. Stecher, Robert Wisniewski
-
Patent number: 8813082Abstract: 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: GrantFiled: June 22, 2006Date of Patent: August 19, 2014Assignee: International Business Machines CorporationInventors: Eric L. Barsness, John M. Santosuosso, John J. Stecher
-
Patent number: 8364636Abstract: 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: GrantFiled: September 14, 2009Date of Patent: January 29, 2013Assignee: International Business Machines CorporationInventors: William T. Newport, John J. Stecher
-
Patent number: 8261245Abstract: 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: GrantFiled: January 22, 2008Date of Patent: September 4, 2012Assignee: International Business Machines CorporationInventors: Steven J. Branda, John J. Stecher
-
Publication number: 20110307871Abstract: 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: ApplicationFiled: June 11, 2010Publication date: December 15, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Steven J. Branda, William T. Newport, John J. Stecher, Robert Wisniewski
-
Patent number: 8060812Abstract: 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: GrantFiled: July 27, 2007Date of Patent: November 15, 2011Assignee: International Business Machines CorporationInventors: Steven J. Branda, John J. Stecher
-
Publication number: 20110099542Abstract: 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: ApplicationFiled: October 28, 2009Publication date: April 28, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Steven J. Branda, John J. Stecher
-
Publication number: 20110066592Abstract: 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: ApplicationFiled: September 14, 2009Publication date: March 17, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: William T. Newport, John J. Stecher
-
Patent number: 7742476Abstract: 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: GrantFiled: August 4, 2006Date of Patent: June 22, 2010Assignee: International Business Machines CorporationInventors: Steven J. Branda, Robert V. Geiner, John J. Stecher
-
Patent number: 7739698Abstract: 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: GrantFiled: May 25, 2006Date of Patent: June 15, 2010Assignee: International Business Machines CorporationInventors: Steven J. Branda, Robert V. Geiner, John J. Stecher
-
Patent number: 7685604Abstract: 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: GrantFiled: June 29, 2006Date of Patent: March 23, 2010Assignee: International Business Machines CorporationInventors: Randall P. Baartman, Steven J. Branda, Christopher D. Johnson, Bhushan K. Lokhande, John J Stecher
-
Patent number: 7668904Abstract: 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: GrantFiled: July 28, 2005Date of Patent: February 23, 2010Assignee: International Business Machines CorporationInventors: William T. Newport, John J. Stecher
-
Publication number: 20100037244Abstract: 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: ApplicationFiled: August 8, 2008Publication date: February 11, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: STEVEN J. BRANDA, WILLIAM T. NEWPORT, JOHN J. STECHER, ROBERT WISNIEWSKI
-
Publication number: 20090282414Abstract: 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: ApplicationFiled: May 7, 2008Publication date: November 12, 2009Inventors: Steven J. Branda, John J. Stecher, Robert Wisniewski
-
Publication number: 20090265704Abstract: 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: ApplicationFiled: April 17, 2008Publication date: October 22, 2009Inventors: Steven J. Branda, Chris D. Johnson, John J. Stecher, Matthew R. Weaver
-
Publication number: 20090265419Abstract: 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: ApplicationFiled: April 17, 2008Publication date: October 22, 2009Inventors: Steven J. Branda, Chris D. Johnson, John J. Stecher, Matthew R. Weaver
-
Publication number: 20090254918Abstract: 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: ApplicationFiled: April 3, 2008Publication date: October 8, 2009Inventors: Steven J. Branda, William T. Newport, John J. Stecher, Robert Wisniewski
-
Publication number: 20090228537Abstract: 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: ApplicationFiled: March 7, 2008Publication date: September 10, 2009Inventors: Steven J. Branda, William T. Newport, John J. Stecher, Robert Wisniewski
-
Publication number: 20090216784Abstract: 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: ApplicationFiled: February 26, 2008Publication date: August 27, 2009Inventors: Steven J. Branda, William T. Newport, John J. Stecher, Robert Wisniewski
-
Publication number: 20090204956Abstract: 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: ApplicationFiled: February 8, 2008Publication date: August 13, 2009Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Steven J. Branda, Surya V. Duggirala, Bhushan K. Lokhande, Timothy P. Pickett, John J. Stecher