Patents by Inventor Lawrence Koved

Lawrence Koved 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).

  • Publication number: 20090094667
    Abstract: Systems and methods are presented for automatically determining the security requirements of program code during the creation or modification of that program code and for presenting the necessary security permissions to a developer of the program code at the time of the creation or modification of the program code. A cache is established containing program code segments including library calls and application program interfaces that require security permissions at runtime. The cache also includes the security permissions associated with the stored program code segments. Program code editing is monitored in real time during the editing, and instances of edits that add, modify or delete the stored program code segments from the program code being edited are identified. The security permissions associated with the program code segments that are modified by the edits are retrieved from the cache.
    Type: Application
    Filed: October 5, 2007
    Publication date: April 9, 2009
    Applicant: International Business Machines Corporation
    Inventors: Ted A. Habeck, Lawrence Koved, Jeff McAffer, Marco Pistoia
  • Patent number: 7496757
    Abstract: A software security system is arranged to verify the authenticity of each element of a Java Virtual Machine installation. A digital signature is attached to each file of the JVM installation. A loader (20) verifies the digital signature of the JVM DLL (30). The JVM DLL 30 then verifies the digital signature of each other DLL and configuration file to be loaded (40, 50, 60, 70), and only loads those files which have successfully verified digital signatures. In this way the security of the JVM is enhanced, a user has greater confidence that the Java applications will function correctly, and the detection of incorrect or damaged JVM installations is improved.
    Type: Grant
    Filed: January 14, 2002
    Date of Patent: February 24, 2009
    Assignee: International Business Machines Corporation
    Inventors: Paul Harry Abbott, Lawrence Koved, Anthony Joseph Nadalin, Marco Pistoia
  • Patent number: 7493602
    Abstract: A unified program analysis framework that facilitates the analysis of complex multi-language software systems, analysis reuse, and analysis comparison, by employing techniques such as program translation and automatic results mapping, is presented. The feasibility and effectiveness of such a framework are demonstrated using a sample application of the framework. The comparison yields new insights into the effectiveness of the techniques employed in both analysis tools. These encouraging results yield the observation that such a unified program analysis framework will prove to be valuable both as a testbed for examining different language analysis techniques, and as a unified toolset for broad program analysis.
    Type: Grant
    Filed: May 2, 2005
    Date of Patent: February 17, 2009
    Assignee: International Business Machines Corporation
    Inventors: Trent R. Jaeger, Lawrence Koved, Liangzhao Zeng, Xiaolan Zhang
  • Publication number: 20090019430
    Abstract: A unified program analysis framework that facilitates the analysis of complex multi-language software systems, analysis reuse, and analysis comparison, by employing techniques such as program translation and automatic results mapping, is presented. The feasibility and effectiveness of such a framework are demonstrated using a sample application of the framework. The comparison yields new insights into the effectiveness of the techniques employed in both analysis tools. These encouraging results yield the observation that such a unified program analysis framework will prove to be valuable both as a testbed for examining different language analysis techniques, and as a unified toolset for broad program analysis.
    Type: Application
    Filed: July 22, 2008
    Publication date: January 15, 2009
    Applicant: International Business Machines Corporation
    Inventors: Trent R. Jaeger, Lawrence Koved, Liangshao Zeng, Xiaolan Zhang
  • Publication number: 20080168527
    Abstract: A method for enforcing privacy policies associated with data. The method includes accessing a database to identify labeled data in the database, the labeled data associated with a privacy policy. An access node accessing the label data is determined. For the access node accessing the labeled data, it is determined whether the access node applies an authorization test as indicated by the privacy policy. An authorization test is associated with the access node if the access node does not apply necessary authorization indicated by the privacy policy.
    Type: Application
    Filed: January 4, 2007
    Publication date: July 10, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Lawrence Koved, Marco Pistoia
  • Publication number: 20080104698
    Abstract: A method and apparatus for implementing a new Permission for methods that perform callback operations are provided. The method and apparatus provide an AdoptPermission Permission type that allows a method to pass a Java 2 authorization test without having the specific required Permissions expressly granted to the method and without the method having the AllPermission Permission granted to it. With the apparatus and method, an AdoptPermission Permission type is defined that operates to allow a ProtectionDomain to “adopt” a required Permission. However, this adoption of a required Permission can only be performed if the ProtectionDomain of at least one method in the thread stack has been granted a Permission that implies the required Permission.
    Type: Application
    Filed: January 3, 2008
    Publication date: May 1, 2008
    Inventors: Lawrence Koved, Anthony Nadalin, Marco Pistoia
  • Patent number: 7343620
    Abstract: A method and apparatus for implementing a new Permission for methods that perform callback operations are provided. The method and apparatus provide an AdoptPermission Permission type that allows a method to pass a Java 2 authorization test without having the specific required Permissions expressly granted to the method and without the method having the AllPermission Permission granted to it. With the apparatus and method, an AdoptPermission Permission type is defined that operates to allow a ProtectionDomain to “adopt” a required Permission. However, this adoption of a required Permission can only be performed if the ProtectionDomain of at least one method in the thread stack has been granted a Permission that implies the required Permission.
    Type: Grant
    Filed: August 13, 2003
    Date of Patent: March 11, 2008
    Assignee: International Business Machines Corporation
    Inventors: Lawrence Koved, Anthony Joseph Nadalin, Marco Pistoia
  • Publication number: 20080060083
    Abstract: A digital rights management (DRM) system and methodology for a Java client implementing a Java Runtime Environment (JRE). The JRE comprises a Java Virtual Machine (JVM) and Java runtime libraries components and is capable of executing a player application for presenting content that can be presented through a Java program (e.g., a Java application, applet, servlet, bean, etc.) and downloaded from a content server to the client. The DRM system includes an acquisition component for receiving downloaded protected contents; and a dynamic rights management layer located between the JRE and player application for receiving requests to view or play downloaded protected contents from the player, and, in response to each request, determining the rights associated with protected content and enabling viewing or playing of the protected contents via the player application if permitted according to the rights.
    Type: Application
    Filed: October 31, 2007
    Publication date: March 6, 2008
    Applicant: International Business Machines Corporation
    Inventors: Lawrence Koved, Magda Mourad, Jonathan Munson, Giovanni Pacifici, Marco Pistoia, Alaa Youssef
  • Patent number: 7308717
    Abstract: A digital rights management (DRM) system and methodology for a Java client implementing a Java Runtime Environment (JRE). The JRE comprises a Java Virtual Machine (JVM) and Java runtime libraries components and is capable of executing a player application for presenting content that can be presented through a Java program (e.g., a Java application, applet, servlet, bean, etc.) and downloaded from a content server to the client. The DRM system includes an acquisition component for receiving downloaded protected contents; and a dynamic rights management layer located between the JRE and player application for receiving requests to view or play downloaded protected contents from the player, and, in response to each request, determining the rights associated with protected content and enabling viewing or playing of the protected contents via the player application if permitted according to the rights.
    Type: Grant
    Filed: February 23, 2001
    Date of Patent: December 11, 2007
    Assignee: International Business Machines Corporation
    Inventors: Lawrence Koved, Magda M. Mourad, Jonathan P. Munson, Giovanni Pacifici, Marco Pistoia, Alaa S. Youssef
  • Publication number: 20070169124
    Abstract: A method, system and program product for minimizing unwanted synchronizations in a multithreading program. Program functions in a multithreading program that should not be synchronized are identified as input tails, e.g., manually identified. An invocation graph is constructed for the multithreading program with nodes identified as head nodes and tail nodes that correspond to the input tails. Synchronization information is collected for each node of the invocation graph. Sources of synchronization in the invocation graph are represented as source nodes. All paths from head nodes to tail nodes through at least one source node are identified.
    Type: Application
    Filed: November 10, 2005
    Publication date: July 19, 2007
    Inventors: Aaron Kershenbaum, Lawrence Koved, George Leeman, Darrell Reimer
  • Patent number: 7237236
    Abstract: A method and apparatus for automatically determining optimum placement of privileged code enablement locations in existing code are provided. A method invocation graph of existing code is generated and a static analysis of the method invocation graph is performed. The static analysis is used to analyze the permission propagation through chains of method invocations in the method invocation graph. When a method invocation in the method invocation graph satisfies one or more user definable criteria, the location in the method invocation graph is saved to a file that identifies recommended insertion points for a call to the authorization enablement code. This file may then be used to manually review the code to determine if a call to privileged mode enablement should actually be made at the identified locations. Alternatively, the call to privileged mode enablement may be automatically inserted at the indicated locations using refactoring.
    Type: Grant
    Filed: August 22, 2002
    Date of Patent: June 26, 2007
    Assignee: International Business Machines Corporation
    Inventors: Aaron Stephen Jay Kershenbaum, Lawrence Koved, Anthony Joseph Nadalin, Marco Pistoia
  • Patent number: 7219341
    Abstract: A method, system and apparatus for performing selective data processing based upon a static analysis of the code of a compiled object. A compiled object, for example an enterprise bean, can be analyzed to determine how individual methods in the enterprise bean access specific objects. Those specific objects can include, for instance, data members of a class, or class objects passed into one or more individual methods of the enterprise bean. Where the individual methods of the enterprise bean do not mutate or otherwise change the state of the specific objects, those objects can be accessed by reference only. Importantly, where the specific objects are data fields linked to a table in a database as managed by a container managed persistence (CMP) bean, an update to the table will not be required when the static analysis of the enterprise bean otherwise indicates that the data fields are merely accessed, but not updated.
    Type: Grant
    Filed: October 31, 2002
    Date of Patent: May 15, 2007
    Assignee: International Business Machines Corporation
    Inventors: Ann Eleanor Dalton, David Granshaw, Matt Richard Hogstrom, Aaron Stephen Jay Kershenbaum, Lawrence Koved, Bert Laonipon, Simon Christopher Nash, Marco Pistola
  • Publication number: 20060248519
    Abstract: A unified program analysis framework that facilitates the analysis of complex multi-language software systems, analysis reuse, and analysis comparison, by employing techniques such as program translation and automatic results mapping, is presented. The feasibility and effectiveness of such a framework are demonstrated using a sample application of the framework. The comparison yields new insights into the effectiveness of the techniques employed in both analysis tools. These encouraging results yield the observation that such a unified program analysis framework will prove to be valuable both as a testbed for examining different language analysis techniques, and as a unified toolset for broad program analysis.
    Type: Application
    Filed: May 2, 2005
    Publication date: November 2, 2006
    Applicant: IBM Corporation
    Inventors: Trent Jaeger, Lawrence Koved, Liangzhao Zeng, Xiaolan Zhang
  • Patent number: 7076804
    Abstract: This invention provides methods and apparatus for determining a set of authorization usage for collection of code. By using a program graph, the present invention identifies the code within in bounded paths in the program graph that use authorization. The level of precision is able to identify authorization usage to the level of basic blocks, methods, classes or other collections of code. By using the analysis technique described in this invention, we can determine the authorizations needed by collections code, including Java applets, servlets, and Enterprise JavaBeans. By using the present invention, it is possible, prior to loading the mobile code, to prompt the administrator or end-user to authorize or deny the code access to restricted the resources, or determine whether authorization testing will be required.
    Type: Grant
    Filed: May 11, 2001
    Date of Patent: July 11, 2006
    Assignee: International Business Machines Corporation
    Inventors: Aaron Kershenbaum, Lawrence Koved, Marco Pistoia
  • Publication number: 20050262487
    Abstract: Improved detecting the authorization requirements and defining the security policies for an application comprising one or more components is disclosed. A call and resource-access graph is used to model all the possible paths of execution within the application. Then, paths of execution detected during the analysis are combined with the access control information found in the security policy of the application. Finally, for each authorization point in the application, a minimal security policy is reported that the executing principal should be granted in order to pass the authorization successfully.
    Type: Application
    Filed: May 11, 2004
    Publication date: November 24, 2005
    Applicant: International Business Machines Corporation
    Inventors: Marco Pistoia, Lawrence Koved, Paolina Centonze
  • Publication number: 20050039158
    Abstract: A method and apparatus for implementing a new Permission for methods that perform callback operations are provided. The method and apparatus provide an AdoptPermission Permission type that allows a method to pass a Java 2 authorization test without having the specific required Permissions expressly granted to the method and without the method having the AllPermission Permission granted to it. With the apparatus and method, an AdoptPermission Permission type is defined that operates to allow a ProtectionDomain to “adopt” a required Permission. However, this adoption of a required Permission can only be performed if the ProtectionDomain of at least one method in the thread stack has been granted a Permission that implies the required Permission.
    Type: Application
    Filed: August 13, 2003
    Publication date: February 17, 2005
    Applicant: International Business Machines Corporation
    Inventors: Lawrence Koved, Anthony Nadalin, Marco Pistoia
  • Publication number: 20050015752
    Abstract: A system and method for providing “static analysis” of programs to aid in improving runtime performance, stability, security and privacy characteristics of deployed application code. The method includes performing a set of analyses that sifts through the program code and identifies programming security and/or privacy model coding errors. In particular the invention focuses on identifying coding errors that cause loss of correctness, performance degradation, security, privacy and maintainability vulnerabilities. A deep analysis of the program is performed using detailed control and data flow analyses. These deeper analyses provide a much better perspective of the overall application behavior. This deep analysis is in contrast to shallow analyses in current industry tools, which inspect or model a single or a few classes at a time.
    Type: Application
    Filed: July 15, 2003
    Publication date: January 20, 2005
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Bowen Alpern, Robert Johnson, Aaron Kershenbaum, Lawrence Koved, George Leeman, Marco Pistoia, Darrell Reimer, Kavitha Srinivas, Harini Srinivasan
  • Publication number: 20040088687
    Abstract: A method, system and apparatus for performing selective data processing based upon a static analysis of the code of a compiled object. A compiled object, for example an enterprise bean, can be analyzed to determine how individual methods in the enterprise bean access specific objects. Those specific objects can include, for instance, data members of a class, or class objects passed into one or more individual methods of the enterprise bean. Where the individual methods of the enterprise bean do not mutate or otherwise change the state of the specific objects, those objects can be accessed by reference only. Importantly, where the specific objects are data fields linked to a table in a database as managed by a container managed persistence (CMP) bean, an update to the table will not be required when the static analysis of the enterprise bean otherwise indicates that the data fields are merely accessed, but not updated.
    Type: Application
    Filed: October 31, 2002
    Publication date: May 6, 2004
    Applicant: International Business Machines Corporation
    Inventors: Ann Eleanor Dalton, David Granshaw, Matt Richard Hogstrom, Aaron Stephen Jay Kershenbaum, Lawrence Koved, Bert Laonipon, Simon Christopher Nash, Marco Pistola
  • Publication number: 20040040017
    Abstract: A method and apparatus for automatically determining optimum placement of privileged code enablement locations in existing code are provided. With the apparatus and method, a method invocation graph of existing code is generated and a static analysis of the method invocation graph is performed. The static analysis is used to analyze the permission propagation through chains of method invocations in the method invocation graph. When a method invocation in the method invocation graph satisfies one or more user definable criteria, the location in the method invocation graph is save to a file that identifies recommended insertion points for a call to the authorization enablement code. A default criteria for insertion of a call to authorization enablement is the boundary between application code and API code.
    Type: Application
    Filed: August 22, 2002
    Publication date: February 26, 2004
    Applicant: International Business Machines Corporation
    Inventors: Aaron Stephen Jay Kershenbaum, Lawrence Koved, Anthony Joseph Nadalin, Marco Pistoia
  • Publication number: 20030135746
    Abstract: A software security system is arranged to verify the authenticity of each element of a Java Virtual Machine installation. A digital signature is attached to each file of the JVM installation. A loader (20) verifies the digital signature of the JVM DLL (30). The JVM DLL 30 then verifies the digital signature of each other DLL and configuration file to be loaded (40, 50, 60, 70), and only loads those files which have successfully verified digital signatures. In this way the security of the JVM is enhanced, a user has greater confidence that the Java applications will function correctly, and the detection of incorrect or damaged JVM installations is improved.
    Type: Application
    Filed: January 14, 2002
    Publication date: July 17, 2003
    Applicant: International Business Machines Corporation
    Inventors: Paul Harry Abbott, Lawrence Koved, Anthony Joseph Nadalin, Marco Pistoia