Patents by Inventor Joseph Caradonna

Joseph Caradonna 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: 10229010
    Abstract: A method, non-transitory computer readable medium, and computing device that determines when a software failure associated with a virtual storage controller has occurred. At least a portion of a transaction log corresponding to the virtual storage controller is stored in a stable storage device, when the determining indicates that the software failure associated with the virtual storage controller has occurred. A determination is made when the virtual storage controller has rebooted. The at least a portion of the transaction log is retrieved from the stable storage device, when the determining indicates that the virtual storage controller has rebooted. Thereby, state can be preserved and transactions pending, but not yet committed to storage server devices, can be replayed and proceed with minimal or no impact on the client devices originating the transactions.
    Type: Grant
    Filed: November 23, 2016
    Date of Patent: March 12, 2019
    Assignee: NetApp, Inc.
    Inventors: Joseph CaraDonna, Donna Duffy, Brian McCarthy
  • Patent number: 10067841
    Abstract: A passive state storage controller monitors a plurality of active state storage controllers to determine when a failure of at least one of the active state storage controllers occurs. Based on a determination of a failure, the passive state storage controller remaps storage devices to the passive state storage controller from the failed storage controller. The passive state storage controller may also remap network interfaces. The passive state storage controller retrieves a transaction log of the failed storage controller from a transaction log database, and replays transactions in the retrieved transaction log. The passive state storage controller switches to operating in an active state.
    Type: Grant
    Filed: April 24, 2017
    Date of Patent: September 4, 2018
    Assignee: NetApp, Inc.
    Inventors: Joseph CaraDonna, Rajesh Rajaraman, Ahmed Shihab, Jason Goldschmidt
  • Publication number: 20170228298
    Abstract: A passive state storage controller monitors a plurality of active state storage controllers to determine when a failure of at least one of the active state storage controllers occurs. Based on a determination of a failure, the passive state storage controller remaps storage devices to the passive state storage controller from the failed storage controller. The passive state storage controller may also remap network interfaces. The passive state storage controller retrieves a transaction log of the failed storage controller from a transaction log database, and replays transactions in the retrieved transaction log. The passive state storage controller switches to operating in an active state.
    Type: Application
    Filed: April 24, 2017
    Publication date: August 10, 2017
    Inventors: Joseph CaraDonna, Rajesh Rajaraman, Ahmed Shihab, Jason Goldschmidt
  • Patent number: 9632890
    Abstract: A method, non-transitory computer readable medium, and apparatus that monitors with a passive storage controller a plurality of active storage controllers. A determination is made with the passive storage controller when a failure of one of the active storage controllers has occurred based on the monitoring. Storage device(s) previously assigned to the one of the active storage controllers are remapped to the passive storage controller. A transaction log associated with the one of the active storage controllers is retrieved with the passive storage controller from a transaction log database. Transaction(s) in the transaction log are replayed with the passive storage controller, when the failure of the one of the active storage controllers is determined to have occurred.
    Type: Grant
    Filed: January 29, 2015
    Date of Patent: April 25, 2017
    Assignee: NetApp, Inc.
    Inventors: Joseph Caradonna, Rajesh Rajaraman, Ahmed Shihab, Jason Goldschmidt
  • Patent number: 9600604
    Abstract: A system and method for planning and configuring the components of a modular computing system is provided. In some embodiments, the method for planning an implementation of a modular computing system comprises presenting a user interface at a display device, the user interface including a plurality of user-selectable objects, each of the user-selectable objects representing a component of the modular computing system. A user selection is received via a user input device. The user selection is from among the user-selectable objects and specifies one of an enclosure, an existing component, and a future component of the modular computing system. A representation of the specified one of an enclosure, an existing component, and a future component is displayed at a display device. The user selection is verified with respect to an implementation guideline. An indicator of whether the user selection meets the implementation guideline is displayed at the display device.
    Type: Grant
    Filed: July 18, 2013
    Date of Patent: March 21, 2017
    Assignee: NETAPP, INC.
    Inventors: Joseph CaraDonna, Steven C. Miller, Stephen W. Daniel, Rodney A. DeKoning, Gaurav Makkar, Brian Hackworth, Michael S. Riley, Valentin M. Bercovici
  • Publication number: 20170075776
    Abstract: A method, non-transitory computer readable medium, and computing device that determines when a software failure associated with a virtual storage controller has occurred. At least a portion of a transaction log corresponding to the virtual storage controller is stored in a stable storage device, when the determining indicates that the software failure associated with the virtual storage controller has occurred. A determination is made when the virtual storage controller has rebooted. The at least a portion of the transaction log is retrieved from the stable storage device, when the determining indicates that the virtual storage controller has rebooted. Thereby, state can be preserved and transactions pending, but not yet committed to storage server devices, can be replayed and proceed with minimal or no impact on the client devices originating the transactions.
    Type: Application
    Filed: November 23, 2016
    Publication date: March 16, 2017
    Inventors: Joseph CaraDonna, Donna Duffy, Brian McCarthy
  • Patent number: 9507674
    Abstract: A method, non-transitory computer readable medium, and host device that receives one or more transactions. A state is stored in a transaction log in a volatile memory wherein the state includes information associated with the one or more transactions. The transaction log is stored in a stable storage device when a failure is determined to a have occurred. The transaction log can then be retrieved and replayed subsequent to a reboot. Thereby, state can be preserved and transactions pending, but not yet committed to storage server devices, can be replayed and proceed with minimal or no impact on the client devices originating the write transactions.
    Type: Grant
    Filed: June 26, 2014
    Date of Patent: November 29, 2016
    Assignee: NetApp, Inc.
    Inventors: Brian McCarthy, Donna Duffy, Joseph CaraDonna
  • Publication number: 20160011929
    Abstract: A method, non-transitory computer readable medium and host device that monitors an active virtual storage controller. A determination of when a failure of the active virtual storage controller has occurred is made based on the monitoring. When the failure of the active virtual storage controller is determined to have occurred, one or more storage devices previously assigned to the active virtual storage controller are remapped to a passive virtual storage controller and one or more transactions in a transaction log are replayed.
    Type: Application
    Filed: July 8, 2014
    Publication date: January 14, 2016
    Inventors: Joseph Caradonna, Rajesh Rajaraman, Jason Goldschmidt
  • Publication number: 20160011950
    Abstract: A method, non-transitory computer readable medium, and apparatus that monitors with a passive storage controller a plurality of active storage controllers. A determination is made with the passive storage controller when a failure of one of the active storage controllers has occurred based on the monitoring. Storage device(s) previously assigned to the one of the active storage controllers are remapped to the passive storage controller. A transaction log associated with the one of the active storage controllers is retrieved with the passive storage controller from a transaction log database. Transaction(s) in the transaction log are replayed with the passive storage controller, when the failure of the one of the active storage controllers is determined to have occurred.
    Type: Application
    Filed: January 29, 2015
    Publication date: January 14, 2016
    Inventors: Joseph Caradonna, Rajesh Rajaraman, Ahmed Shihab
  • Publication number: 20150149823
    Abstract: A method, non-transitory computer readable medium, and host device that receives one or more transactions. A state is stored in a transaction log in a volatile memory wherein the state includes information associated with the one or more transactions. The transaction log is stored in a stable storage device when a failure is determined to a have occurred. The transaction log can then be retrieved and replayed subsequent to a reboot. Thereby, state can be preserved and transactions pending, but not yet committed to storage server devices, can be replayed and proceed with minimal or no impact on the client devices originating the write transactions.
    Type: Application
    Filed: June 26, 2014
    Publication date: May 28, 2015
    Inventors: Brian McCarthy, Donna Duffy, Joseph CaraDonna
  • Patent number: 8983822
    Abstract: A system and method of testing, during development, the operation of a clustered storage server system and its associated storage operating system. The system includes at least one host computer having a host operating system, and at least one virtual computer having a simulated storage operating system, at least one simulated disk, a simulated NVRAM, and a simulated flashcard within a guest operating system hosted by the host operating system. The simulated storage operating system represents an actual storage operating system. Facilities of the simulated storage operating system including the simulated disk, the simulated NVRAM, and the simulated flashcard are mapped onto corresponding facilities of the host operating system via virtualization components of the virtual computer so that the simulated storage operating system operates substantially the same as the actual storage operating system on low cost host hardware platforms.
    Type: Grant
    Filed: August 13, 2013
    Date of Patent: March 17, 2015
    Assignee: NetApp, Inc.
    Inventors: Joseph Caradonna, Brian McCarthy
  • Publication number: 20150026621
    Abstract: A system and method for planning and configuring the components of a modular computing system is provided. In some embodiments, the method for planning an implementation of a modular computing system comprises presenting a user interface at a display device, the user interface including a plurality of user-selectable objects, each of the user-selectable objects representing a component of the modular computing system. A user selection is received via a user input device. The user selection is from among the user-selectable objects and specifies one of an enclosure, an existing component, and a future component of the modular computing system. A representation of the specified one of an enclosure, an existing component, and a future component is displayed at a display device. The user selection is verified with respect to an implementation guideline. An indicator of whether the user selection meets the implementation guideline is displayed at the display device.
    Type: Application
    Filed: July 18, 2013
    Publication date: January 22, 2015
    Inventors: Joseph CaraDonna, Steven C. Miller, Stephen W. Daniel, Rodney A. DeKoninig, Gaurav Makkar, Brian Hackworth, Michael S. Riley, Valentin M. Bercovici
  • Publication number: 20150026076
    Abstract: A system and method for helping customers install a modular computing system is provided. In some embodiments, the method comprises determining, using a computing system, whether all components of a modular computing system have been received by a customer. Based on determining that not all the components of the modular computing system have been received by the customer, it is determined whether the modular computing system can be incrementally deployed. A customer instruction for incrementally deploying the modular computing system is provided at a display device. A communication link is established with a component of the modular computing system. Communications directed over the communication link are used to determine whether a customer correctly performed the provided customer instruction. In one such embodiment, the determining of whether the modular computing system can be incrementally deployed includes determining whether a minimum resource requirement is met.
    Type: Application
    Filed: July 18, 2013
    Publication date: January 22, 2015
    Inventors: Joseph CaraDonna, Steven C. Miller, Stephen W. Daniel, Rodney A. DeKoning, Gaurav Makkar, Brian Hackworth, Michael S. Riley, Valentin M. Bercovici
  • Publication number: 20150026077
    Abstract: A system and method for providing customer guidance in deploying a modular computing system is provided. In some embodiments, the method comprises receiving a shipping container identifier. A computing system is used to determine, based on the shipping container identifier, that a component of the modular computing system has been received by a customer. It is determined whether the modular computing system can be deployed based on the component having been received by the customer. An indicator is provided of whether the modular computing system can be deployed. An instruction is provided for deploying the modular computing system, and a diagnostic procedure is performed on a deployed component of the modular computing system. In one such embodiment, the diagnostic procedure determines whether the instruction was correctly performed.
    Type: Application
    Filed: July 18, 2013
    Publication date: January 22, 2015
    Inventors: Joseph CaraDonna, Steven C. Miller, Stephen W. Daniel, Rodney A. DeKoning, Gaurav Makkar, Brian Hackworth, Michael S. Riley, Valentin M. Bercovici
  • Publication number: 20140165057
    Abstract: A system and method of testing, during development, the operation of a clustered storage server system and its associated storage operating system. The system includes at least one host computer having a host operating system, and at least one virtual computer having a simulated storage operating system, at least one simulated disk, a simulated NVRAM, and a simulated flashcard within a guest operating system hosted by the host operating system. The simulated storage operating system represents an actual storage operating system. Facilities of the simulated storage operating system including the simulated disk, the simulated NVRAM, and the simulated flashcard are mapped onto corresponding facilities of the host operating system via virtualization components of the virtual computer so that the simulated storage operating system operates substantially the same as the actual storage operating system on low cost host hardware platforms.
    Type: Application
    Filed: August 13, 2013
    Publication date: June 12, 2014
    Applicant: NETAPP, INC.
    Inventors: JOSEPH CARADONNA, BRIAN MCCARTHY
  • Patent number: 8532973
    Abstract: A system and method of testing, during development, the operation of a clustered storage server system and its associated storage operating system. The system includes at least one host computer having a host operating system, and at least one virtual computer having a simulated storage operating system, at least one simulated disk, a simulated NVRAM, and a simulated flashcard within a guest operating system hosted by the host operating system. The simulated storage operating system represents an actual storage operating system. Facilities of the simulated storage operating system including the simulated disk, the simulated NVRAM, and the simulated flashcard are mapped onto corresponding facilities of the host operating system via virtualization components of the virtual computer so that the simulated storage operating system operates substantially the same as the actual storage operating system on low cost host hardware platforms.
    Type: Grant
    Filed: June 27, 2008
    Date of Patent: September 10, 2013
    Assignee: NetApp, Inc.
    Inventors: Joseph CaraDonna, Brian McCarthy
  • Patent number: 8190587
    Abstract: To promote an image, an identification of at least one of an symbol name and an existing symbol value associated with the symbol name is received. An identification of a new symbol value is also received. It is then determined that a binary file that is a component of an unpromoted image is to be modified, wherein the image has previously been compiled and linked. The binary file is read to find occurrences of at least one of the symbol name or the existing symbol value in the binary file. The existing symbol value is replaced with the new symbol value to promote the image. The image is promoted without recompiling or relinking the binary file.
    Type: Grant
    Filed: December 11, 2008
    Date of Patent: May 29, 2012
    Assignee: Network Appliance, Inc.
    Inventors: Joseph CaraDonna, Amol Dixit
  • Patent number: 7694302
    Abstract: The invention provides a method and system for scheduling tasks in an MP system, and provides parallel execution of those tasks while implicitly synchronizing access to resources used by that system. Tasks in the system are each assigned to a scheduling domain, thus associating those tasks with a set of resources controlled by that domain. A scheduler operating at each processor implicitly synchronizes those resources controlled by each domain, by scheduling only one task for each domain to execute concurrently in the system. Because each instance of the scheduler selects which task is next run independently of its processor, each domain can migrate from one processor to another; thus, each domain can have a task executing on any processor, so long as no domain has two tasks executing concurrently in the system. Thus, domains are not bound to any particular processor. Hence the method and system are symmetric.
    Type: Grant
    Filed: April 5, 2001
    Date of Patent: April 6, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Vijayan Rajan, Jeffrey Kimmel, Steven R. Kleiman, Joseph Caradonna