Patents by Inventor Jason Nieh

Jason Nieh 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: 8402318
    Abstract: A method for recording and replaying execution of an application running on a computer system using a program module is provided. The method includes recording events which result from the execution of the application including a non-deterministic event, wherein the program module deterministically records the non-deterministic event, saving the recorded events for deterministic replay of the recorded execution, restoring the saved recorded events, and deterministically replaying the recorded execution of the application.
    Type: Grant
    Filed: March 23, 2010
    Date of Patent: March 19, 2013
    Assignee: The Trustees of Columbia University in the City of New York
    Inventors: Jason Nieh, Nicolas Viennot, Oren Laadan
  • Patent number: 8280944
    Abstract: Methods, media and systems for managing a distributed application running in a plurality of digital processing devices are provided. In some embodiments, a method includes running one or more processes associated with the distributed application in virtualized operating system environments on a plurality of digital processing devices, suspending the one or more processes, and saving network state information relating to network connections among the one or more processes. The method further include storing process information relating to the one or more processes, recreating the network connections using the saved network state information, and restarting the one or more processes using the stored process information.
    Type: Grant
    Filed: October 20, 2006
    Date of Patent: October 2, 2012
    Assignee: The Trustees of Columbia University in the City of New York
    Inventors: Oren Laadan, Jason Nieh, Dan Phung
  • Publication number: 20120210333
    Abstract: Methods, systems; and media for application fault containment are provided. In accordance with some embodiments, a method for application fault containment is provided, the method comprising: determining a plurality of applications associated with a processing device; isolating each of the plurality of applications into an application container; receiving a user selection of one of the plurality of applications; and creating the application container of a container type for the user selected application in response to receiving the user selection; wherein, upon determining that the container type is a persistent container, configuring the created application container to maintain state information across executions of the user selected application, and wherein, upon determining that the container type is an ephemeral container, configuring the created application container to be removed after a single execution of the user selected application.
    Type: Application
    Filed: May 10, 2011
    Publication date: August 16, 2012
    Inventors: Shaya Joseph Potter, Jason Nieh
  • Patent number: 8214367
    Abstract: Systems for recording, searching, and outputting display information are provided. In some embodiments, systems for recording display information are provided. The systems include a virtual display that: intercepts display-changes describing changes to be made to a state of a display; sends the display-changes to a client for display; records the display-changes; and a context recorder that records context information describing a state of the display derived from a source independently of the display changes and independently of screen-images. In some embodiments, the systems further include a display system that generates an output screen-image based at least in part on at least one of the display-changes and in response to a search of the context information. In some embodiments, the virtual display further records screen-images; and the display system further generates the output screen-image based at least in part on a recorded-screen-image of the recorded screen-images.
    Type: Grant
    Filed: February 27, 2008
    Date of Patent: July 3, 2012
    Assignee: The Trustees of Columbia University in the City of New York
    Inventors: Ricardo Baratto, Oren Laadan, Dan Phung, Shaya Joseph Potter, Jason Nieh
  • Patent number: 7962798
    Abstract: Methods, systems, and media for enabling a software application to recover from a fault condition, and for protecting a software application from a fault condition, are provided. In some embodiments, methods include detecting a fault condition during execution of the software application, restoring execution of the software application to a previous point of execution, the previous point of execution occurring during execution of a first subroutine in the software application, and forcing the first subroutine to forego further execution and return to a caller of the first subroutine.
    Type: Grant
    Filed: April 17, 2007
    Date of Patent: June 14, 2011
    Assignee: The Trustees of Columbia University in the City of New York
    Inventors: Michael E. Locasto, Angelos D. Keromytis, Salvatore J. Stolfo, Angelos Stavrou, Gabriela Cretu, Stylianos Sidiroglou, Jason Nieh, Oren Laadan
  • Publication number: 20110131278
    Abstract: Apparatus, systems, and methods can operate to provide efficient data transfer in a peer-to-peer network. A list of peer computers can be accessed and sorted by a data exchange metric. A requester peer is selected by traversing the list from a peer computer with a smallest data exchange metric to a peer computer with a largest data exchange metric to identify a peer computer with a pending data block request, the peer computer with the pending data block request being the requester peer and having an associated data exchange metric. A data block is then transmitted to the requester peer and the data exchange metric associated with the requester peer is updated to provide an updated data exchange metric for the requester peer. The list of peer computers can then be resorted. Additional apparatus, systems, and methods are disclosed.
    Type: Application
    Filed: May 22, 2009
    Publication date: June 2, 2011
    Inventors: Jason Nieh, Alexander Sherman, Clifford Stein
  • Publication number: 20100251031
    Abstract: A method for recording and replaying execution of an application running on a computer system using a program module is provided. The method includes recording events which result from the execution of the application including a non-deterministic event, wherein the program module deterministically records the non-deterministic event, saving the recorded events for deterministic replay of the recorded execution, restoring the saved recorded events, and deterministically replaying the recorded execution of the application.
    Type: Application
    Filed: March 23, 2010
    Publication date: September 30, 2010
    Inventors: Jason NIEH, Nicolas VIENNOT, Oren LAADAN
  • Patent number: 7730157
    Abstract: A method and system are provided for executing an application remotely on a server computer for a client computer in a computer network. The server receives at user input from the client computer associated with the application, and executes the application. The server processes display commands of the application to generate display primitives, and translates the display primitives into lower level display commands defining display updates using semantic information of the display primitives. The lower level display commands are selected from a predetermined set of lower level display commands. The lower level display commands are aggregated and ordered into one or more command queues. Each command queue is associated with a given display region. The server computer transmits the lower level display commands in the one or more command queues over the network to the client computer.
    Type: Grant
    Filed: September 8, 2005
    Date of Patent: June 1, 2010
    Assignee: The Trustees of Columbia University in the City of New York
    Inventors: Ricardo Baratto, Jason Nieh
  • Publication number: 20100011243
    Abstract: Methods, systems, and media for enabling a software application to recover from a fault condition, and for protecting a software application from a fault condition, are provided. In some embodiments, methods include detecting a fault condition during execution of the software application, restoring execution of the software application to a previous point of execution, the previous point of execution occurring during execution of a first subroutine in the software application, and forcing the first subroutine to forego further execution and return to a caller of the first subroutine.
    Type: Application
    Filed: April 17, 2007
    Publication date: January 14, 2010
    Applicant: THE TRUSTEES OF COLUMBIA UNIVERSITY
    Inventors: Michael E. Locasto, Angelos D. Keromytis, Salvatore J. Stolfo, Angelos Stavrou, Gabriela Cretu, Stylianos Sidiroglou, Jason Nieh, Oren Laadan
  • Publication number: 20080301101
    Abstract: Systems for recording, searching, and outputting display information are provided. In some embodiments, systems for recording display information are provided. The systems include a virtual display that: intercepts display-changes describing changes to be made to a state of a display; sends the display-changes to a client for display; records the display-changes; and a context recorder that records context information describing a state of the display derived from a source independently of the display changes and independently of screen-images. In some embodiments, the systems further include a display system that generates an output screen-image based at least in part on at least one of the display-changes and in response to a search of the context information. In some embodiments, the virtual display further records screen-images; and the display system further generates the output screen-image based at least in part on a recorded-screen-image of the recorded screen-images.
    Type: Application
    Filed: February 27, 2008
    Publication date: December 4, 2008
    Applicant: THE TRUSTEES OF COLUMBIA UNIVERSITY IN THE CITY OF NEW YORK
    Inventors: Ricardo BARATTO, Oren Laadan, Dan Phung, Shaya J. Potter, Jason Nieh
  • Publication number: 20070299965
    Abstract: A system and method for managing perceived response time includes transmitting a request or response. If the request or response is dropped, response time is managed by providing a retransmission from a response time manager, without the response time manager satisfying the request or response. The response time manager is located between a client and a server.
    Type: Application
    Filed: June 22, 2006
    Publication date: December 27, 2007
    Inventors: Jason Nieh, David P. Olshefski
  • Publication number: 20070244962
    Abstract: Methods, media and systems for managing a distributed application running in a plurality of digital processing devices are provided. In some embodiments, a method includes running one or more processes associated with the distributed application in virtualized operating system environments on a plurality of digital processing devices, suspending the one or more processes, and saving network state information relating to network connections among the one or more processes. The method further include storing process information relating to the one or more processes, recreating the network connections using the saved network state information, and restarting the one or more processes using the stored process information.
    Type: Application
    Filed: October 20, 2006
    Publication date: October 18, 2007
    Applicant: THE TRUSTEES OF COLUMBIA UNIVERSITY IN THE CITY OF NEW YORK
    Inventors: Oren Laadan, Jason Nieh, Dan Phung
  • Publication number: 20070245334
    Abstract: Methods, media and systems for maintaining execution of a software process are provided. In some embodiments, methods for maintaining execution of a software process are provided, comprising: suspending one or more processes running in a virtualized operating system environment on a first digital processing device; saving information relating to the one or more processes; restarting the one or more processes on a second digital processing device; and updating an operating system of the first digital processing device.
    Type: Application
    Filed: October 20, 2006
    Publication date: October 18, 2007
    Applicant: THE TRUSTEES OF COLUMBIA UNIVERSITY IN THE CITY OF NEW YORK
    Inventors: Jason Nieh, Shaya Potter, Oren Laadan
  • Publication number: 20070233880
    Abstract: Methods, media and systems for enabling a consistent web browsing session on different digital processing devices are provided. In some embodiments, a method includes storing data relating to one or more virtualized processes associated with a web browsing session on a first digital processing device in a storage device; connecting the storage device to a second digital processing device running an operating system; and restarting the one or more virtualized processes in the operating system of the second digital processing device using the stored data.
    Type: Application
    Filed: October 20, 2006
    Publication date: October 4, 2007
    Applicant: THE TRUSTEES OF COLUMBIA UNIVERSITY IN THE CITY OF NEW YORK
    Inventors: Jason Nieh, Shaya Potter, Oren Laadan
  • Publication number: 20070214505
    Abstract: Methods, media and systems for responding to a Denial of Service (DoS) attack are provided. In some embodiments, a method includes detecting a DoS attack, migrating one or more processes that provide a service to an unaffected system; authenticating users that are authorized to use the service; and routing traffic generated by authenticated users to the unaffected system.
    Type: Application
    Filed: October 20, 2006
    Publication date: September 13, 2007
    Inventors: Angelos Stavrou, Angelos Keromytis, Jason Nieh, Vishal Misra, Daniel Rubenstein
  • Publication number: 20060184614
    Abstract: A method and system are provided for executing an application remotely on a server computer for a client computer in a computer network. The server receives at user input from the client computer associated with the application, and executes the application. The server processes display commands of the application to generate display primitives, and translates the display primitives into lower level display commands defining display updates using semantic information of the display primitives. The lower level display commands are selected from a predetermined set of lower level display commands. The lower level display commands are aggregated and ordered into one or more command queues. Each command queue is associated with a given display region. The server computer transmits the lower level display commands in the one or more command queues over the network to the client computer.
    Type: Application
    Filed: September 8, 2005
    Publication date: August 17, 2006
    Applicant: THE TRUSTEES OF COLUMBIA UNIVERSITY IN THE CITY OF NEW YORK
    Inventors: Ricardo Baratto, Jason Nieh