Patents by Inventor Steven R. Chalmer

Steven R. Chalmer 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: 11294702
    Abstract: A method for processing data includes receiving an offload request by a first virtual machine (VM), issuing, in response to the offload request and based on a processing pipeline, a processing request to a processing unit, and servicing, by the processing unit, the processing request to obtain a result.
    Type: Grant
    Filed: May 1, 2019
    Date of Patent: April 5, 2022
    Assignee: EMC IP Holding Company LLC
    Inventors: Jonathan I. Krasner, Steven R. Chalmer, Serge Joseph Pirotte, Steven T. McClure
  • Patent number: 11119802
    Abstract: A method for processing data includes receiving a write request by a host operating system during a predetermined time window, storing data associated with the write request in a shared memory, making a first determination that a threshold number of write requests are obtained within the predetermined time window, and, in response to the first determination, sending an offload request to a virtual machine (VM), wherein the offload request specifies at least the write request.
    Type: Grant
    Filed: May 1, 2019
    Date of Patent: September 14, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Jonathan I. Krasner, Sweetesh Singh, Steven R. Chalmer
  • Patent number: 11119803
    Abstract: A method for processing data includes monitoring, by a virtual machine (VM), a plurality of computing resources, receiving an offload request by the VM, selecting, based on the monitoring, a computing resource from the plurality of computing resources, issuing, by the VM and in response to the offload request, the processing request to the computing resource, and servicing, by the computing resource, the processing request to obtain a result, wherein the VM and the computing resource are executing on a computing device.
    Type: Grant
    Filed: May 1, 2019
    Date of Patent: September 14, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Jonathan I. Krasner, Steven R. Chalmer, Chakib Ourraoui, Sweetesh Singh
  • Publication number: 20200348957
    Abstract: A method for processing data includes receiving a write request by a host operating system during a predetermined time window, storing data associated with the write request in a shared memory, making a first determination that a threshold number of write requests are obtained within the predetermined time window, and, in response to the first determination, sending an offload request to a virtual machine (VM), wherein the offload request specifies at least the write request.
    Type: Application
    Filed: May 1, 2019
    Publication date: November 5, 2020
    Inventors: Jonathan I. Krasner, Sweetesh Singh, Steven R. Chalmer
  • Publication number: 20200348958
    Abstract: A method for processing data includes monitoring, by a virtual machine (VM), a plurality of computing resources, receiving an offload request by the VM, selecting, based on the monitoring, a computing resource from the plurality of computing resources, issuing, by the VM and in response to the offload request, the processing request to the computing resource, and servicing, by the computing resource, the processing request to obtain a result, wherein the VM and the computing resource are executing on a computing device.
    Type: Application
    Filed: May 1, 2019
    Publication date: November 5, 2020
    Inventors: Jonathan I. Krasner, Steven R. Chalmer, Chakib Ourraoui, Sweetesh Singh
  • Publication number: 20200348959
    Abstract: A method for processing data includes receiving an offload request by a first virtual machine (VM), issuing, in response to the offload request and based on a processing pipeline, a processing request to a processing unit, and servicing, by the processing unit, the processing request to obtain a result.
    Type: Application
    Filed: May 1, 2019
    Publication date: November 5, 2020
    Inventors: Jonathan I. Krasner, Steven R. Chalmer, Serge Joseph Pirotte, Steven T. McClure
  • Patent number: 10437622
    Abstract: Operating a hypervisor includes running a hypervisor as a thread of an underlying operating system and loading a guest operating system using the hypervisor based on the thread of the underlying operating system, where the hypervisor runs independently of the guest operating system and independently of other hypervisors running as other threads of the underlying operating system. The hypervisor may be a first hypervisor and operating a hypervisor may further include running a second hypervisor nested with the first hypervisor, where the guest operating system may be loaded using both the first hypervisor and the second hypervisor. The underlying operating system may be an operating system of a storage system.
    Type: Grant
    Filed: June 2, 2015
    Date of Patent: October 8, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Steven R. Chalmer, Matthew H. Fredette, Steven T. McClure, Uresh K. Vahalia
  • Patent number: 10430220
    Abstract: Software emulations of physical devices allow protocol neutral communications between heterogeneous operating systems. Within a computing node of a storage cluster, a logical communications cut-through device connects a guest operating system to a front end adapter and enables the guest operating system to perform operations on an allocated portion of computing node memory without hypervisor intervention. The cut-through device may implement an industry standard memory-mapped interface, thereby enabling a guest operating system to discover the cut-through device and obtain access to memory that is shared with the hypervisor and/or another guest OS. Moreover, if guest OSs and/or the hypervisor share any communications protocol then the channel may be utilized at memory speeds. This may be advantageous in symmetric multiprocessing environments in which multiple guest OSs can have core affinities.
    Type: Grant
    Filed: September 24, 2015
    Date of Patent: October 1, 2019
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Steven R. Chalmer, Jonathan Krasner, Serge Pirotte, Matt Fredette, Steven T. McClure
  • Patent number: 10089706
    Abstract: An interface mitigates the need for inter-application locks in a storage system with a HPP. The interface includes a virtual device driver that can be accessed by both emulation threads and guest OS Container threads and separate memory pages that are pinned for use as buffer spaces. The pinned buffer memory pages are shared by CPU cores and by individual virtual HPP client drivers. The interface enables virtualization of GPUs and HPPs.
    Type: Grant
    Filed: September 23, 2015
    Date of Patent: October 2, 2018
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Jonathan Krasner, Steven R. Chalmer
  • Patent number: 9935652
    Abstract: Data is compressed based on non-identical similarity between a first data set and a second data set. A representation of the differences is used to represent one of the data sets. For example, a probabilistically unique value may be generated as a new block label. Probabilistic comparison of the new block label with a plurality of training labels associated with training blocks produces a plurality of training labels that are potentially similar to the new block label. The Hamming distance between each potentially similar training label and the new block label is determined to select the training label with the smallest calculated Hamming distance from the new block label. A bitmap of differences between the new block and the training block associated with the selected training label is compressed and stored as a compressed representation of the new block.
    Type: Grant
    Filed: October 2, 2017
    Date of Patent: April 3, 2018
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Steven R Chalmer, Jonathan Krasner
  • Patent number: 9864609
    Abstract: A non-disruptive, non-migratory hypervisor reboot is performed by suspending execution of the guest operating system, rebooting the container, and then resuming execution of the guest operating system. Suspending execution of the guest operating system can include stopping guest OS access to processing resources. Reboot includes the container loading or reloading itself while preserving the contents of the volatile memory in place. It is also possible to relocate some or all of the contents of the volatile memory to different addresses by creating an abstraction layer.
    Type: Grant
    Filed: June 13, 2013
    Date of Patent: January 9, 2018
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Steven McClure, Jonathan I. Krasner, Serge J. Pirotte, Velmurugan Rathnam, Steven R. Chalmer
  • Patent number: 8996821
    Abstract: Methods and systems are disclosed for providing resource sharing in a computing environment using file descriptor isomorphism. The methods and systems may perform a method in a computing environment having processor systems executing processes. The method may include receiving a request from a first process to access a first resource. Further, the method may include generating a first Global File Descriptor (GFD) that references a first entry in a GFD table, the first GFD entry including a reference to a first entry in a resource descriptor table pointing to the first resource. Based on the request, at least one GFD field associated with the first GFD entry is configured. Thus, methods and systems may manage access by the first process to the first resource using the first GFD entry.
    Type: Grant
    Filed: December 15, 2004
    Date of Patent: March 31, 2015
    Assignee: EMC Corporation
    Inventors: Steven T. McClure, Steven R. Chalmer, Brett D. Niver
  • Patent number: 8533696
    Abstract: Methods and systems are disclosed that relate to running a plurality of software instances on an embedded computer system without requiring substantial modifications to each software instance. An exemplary method includes storing context information relating to a first instance. An instance includes a set of independent threads of execution each with its own code context, interrupt service routines, drivers, and operating system services. Both a second instance and a thread associated with the second instance are chosen to run. Context information relating to the second instance is restored and the second instance is run on the operating system.
    Type: Grant
    Filed: September 29, 2006
    Date of Patent: September 10, 2013
    Assignee: EMC Corporation
    Inventors: Steven R. Chalmer, Steven T. McClure, David L. Reese
  • Patent number: 8424013
    Abstract: Methods and systems are disclosed that relate to handling interrupts across multiple software instances. An exemplary method includes receiving an interrupt at a current CPU. An instance includes a set of independent threads of execution each with its own code context, interrupt service routines, drivers, and operating system services. The method further includes storing context information relating to the first instance, identifying the second instance associated with the interrupt, running at least one interrupt service routine, and restoring the context information relating to the first instance.
    Type: Grant
    Filed: September 29, 2006
    Date of Patent: April 16, 2013
    Assignee: EMC Corporation
    Inventors: Steven R. Chalmer, Steven T. McClure, David L. Reese
  • Patent number: 8085794
    Abstract: Described are techniques for determining a set of routing information for a plurality of components performing routing in a network. Destinations that are directly connected to each of the plurality of components are determined. Each of the plurality of components is associated with one of a plurality of routing tables. Each of the plurality of routing tables stores routing information in accordance with destinations in the network. Cost information is stored in the plurality of routing tables for each destination directly connected to one of the plurality of components. For each of the plurality of components, a set of neighboring components is determined. For each neighboring component, routing information for a destination is adopted from the routing table of said each neighboring component in accordance with an adoption rule. Processing is repeatedly performed until the routing tables have not been modified.
    Type: Grant
    Filed: June 16, 2006
    Date of Patent: December 27, 2011
    Assignee: EMC Corporation
    Inventors: Brett D. Niver, William F. Baxter, III, Steven R. Chalmer
  • Patent number: 7996848
    Abstract: In a methods and systems of controlling a process's access to a device driver, a lock may be used to establish a process wait state or to wake up one or more processes. A spinlock may be used to acquire a lock associated with a device driver. The lock includes a lock value representing the availability of the lock. If the lock value is a first value, the process acquires the lock and sets the lock value to a second value. Otherwise, the process returns to the step of using the spinlock to acquire the lock associated with the device driver. If the lock is acquired, the process accesses the device driver. If the device is not ready, the process is set to wait for the lock. Waiting for the lock comprises setting a field of the process to a pointer to the lock and setting a state of the process to waiting. After the device has been successfully accessed or the process has been set to wait for the lock, the lock is released typically by setting the lock value to the first value.
    Type: Grant
    Filed: January 3, 2006
    Date of Patent: August 9, 2011
    Assignee: EMC Corporation
    Inventors: Steven T. McClure, Steven R. Chalmer, Brett D. Niver
  • Patent number: 7818447
    Abstract: Described is an end-to-end broadcast-based messaging technique used in controlling message flow in a data storage system. Each node stores flow control state information about all the nodes which is used in determining whether to send a data transmission to a receiving node. The flow control state information includes an indicator as to whether each node is receiving incoming data transmissions. If a node is not receiving incoming data transmissions, the flow control state information also includes an associated expiration time. Data transmissions are resumed to a receiving node based on the earlier of a sending node determining that the expiration time has lapsed, or receiving a control message from the receiving node explicitly turning on data transmissions. Each node maintains and updates its local copy of the flow control state information in accordance with control messages sent by each node to turn on and off data transmissions.
    Type: Grant
    Filed: March 28, 2003
    Date of Patent: October 19, 2010
    Assignee: EMC Corporation
    Inventors: Brett D. Niver, Steven R. Chalmer, Steven T. McClure, Stephen D. MacArthur, Avinash Kallat
  • Patent number: 7810094
    Abstract: A process scheduling method includes executing a plurality of symmetric schedulers on respective processors of a multiprocessing system. Each scheduler periodically accesses a shared lock to obtain exclusive access to a shared scheduling data structure including (a) process information identifying the processes, and (b) scheduling information reflecting the executability and priorities of the processes. After obtaining the lock, each scheduler performs a scheduling routine including (a) utilizing the scheduling information and a scheduling algorithm to identify a next executable process, and (b) (1) activating the identified process to begin executing on the processor on which the scheduler is executing, and (2) updating the scheduling information to reflect the activation of the identified process. The scheduler then accesses the lock to relinquish exclusive access to the scheduling data structure.
    Type: Grant
    Filed: September 30, 2005
    Date of Patent: October 5, 2010
    Assignee: EMC Corporation
    Inventors: Steven T. McClure, Steven R. Chalmer, Brett D. Niver
  • Patent number: 7793160
    Abstract: Methods and systems consistent with the present invention may facilitate error tracing in computer software. Such methods and systems may maintain context information of a target process, swap from a context of the target process to a context of an error-tracing process, and trace an error from the target process using the error-tracing process and the context information of the target process.
    Type: Grant
    Filed: March 29, 2005
    Date of Patent: September 7, 2010
    Assignee: EMC Corporation
    Inventors: Steven T. McClure, Steven R. Chalmer, Brett D. Niver
  • Patent number: 7673100
    Abstract: Methods and systems are disclosed that relate to locating cached data corresponding to data in persistent memory within a data storage facility. An exemplary method includes receiving a request for data in persistent memory, applying a function to a persistent memory address of the requested data to determine an address of one of a plurality of cache tag controllers, each of which controls nonduplicative cache tags, and looking up, at the addressed cache tag controller, a cache memory address for data corresponding to the requested data.
    Type: Grant
    Filed: July 10, 2006
    Date of Patent: March 2, 2010
    Assignee: EMC Corporation
    Inventors: Brett D. Niver, Steven R. Chalmer, Steven T. McClure