Patents by Inventor Philip Shilane

Philip Shilane 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: 10761765
    Abstract: A source site includes a controller, a set of source worker nodes, and a message queue connected between the controller and source worker nodes. A destination site includes a set of destination worker nodes. The controller identifies differences between a first snapshot created at the source site at a first time and a second snapshot created at a second time, after the first time. Based on the differences, a set of tasks are generated. The tasks include one or more of copying an object from the source to destination or deleting an object from the destination. The controller places the tasks onto the message queue. A first source worker node retrieves the first task and coordinates with a first destination worker node to perform the first task. A second source worker nodes retrieves the second task and coordinates with a second destination worker node to perform the second task.
    Type: Grant
    Filed: February 2, 2018
    Date of Patent: September 1, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Abhinav Duggal, Atul Avinash Karmarkar, Philip Shilane, Kevin Xu
  • Publication number: 20200250083
    Abstract: Systems and methods for cleaning a storage system. A deduplicated storage system is cleaned by identifying structures that include dead or unreferenced segments. This includes processing recipes to identify the segments that are no longer part of a live object recipe. Then, the dead segments are removed. This is accomplished by copying forward the live segments and then deleting, as a whole, the structure that included the dead segments.
    Type: Application
    Filed: February 1, 2019
    Publication date: August 6, 2020
    Inventors: Philip Shilane, Kimberly Lu, Joseph Brandt, Nicholas Noto, Tipper Truong, Mariah Arevalo
  • Patent number: 10733158
    Abstract: A method, computer program product, and computing system for receiving a candidate data portion; calculating a distance-preserving hash for the candidate data portion; and performing an entropy analysis on the distance-preserving hash to generate a hash entropy for the candidate data portion.
    Type: Grant
    Filed: May 3, 2019
    Date of Patent: August 4, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Sorin Faibish, Philip Shilane, Ivan Basov, Istvan Gonczi, Philippe Armangau, Vamsi Vankamamidi
  • Patent number: 10691613
    Abstract: One embodiment is related to a method for implementing a cache hierarchy, comprising: implementing a plurality of cache layers in the cache hierarchy; and determining a cache algorithm for each cache layer of the plurality of cache layers.
    Type: Grant
    Filed: January 27, 2017
    Date of Patent: June 23, 2020
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Hao Tong, Philip Shilane
  • Publication number: 20200159611
    Abstract: A controller at a source site generates a set of tasks associated with a replication job. Each task includes one or more of copying an object from the source to destination site, or deleting an object from the destination site. The tasks are placed onto a message queue at the source site. Source worker nodes at the source site retrieve the tasks from the source site message queue for processing in conjunction with destination worker nodes at the destination site. A destination worker node, upon receiving a task from a source worker nodes, places the task onto a message queue at the destination site for retrieval by a backend worker node that handles writing to an object store at the destination site.
    Type: Application
    Filed: January 14, 2020
    Publication date: May 21, 2020
    Inventors: Philip Shilane, Kevin Xu, Abhinav Duggal, Atul Avinash Karmarkar
  • Patent number: 10635594
    Abstract: One embodiment is related to a method for redistributing cache space, comprising: determining utility values associated with all of a plurality of clients, each client being associated with a respective utility value, the utility value being indicative of an efficiency of cache space usage of the associated client; and redistributing cache space among the plurality of clients based on the utility values.
    Type: Grant
    Filed: December 30, 2016
    Date of Patent: April 28, 2020
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Grant Wallace, Philip Shilane, Shuang Liang
  • Publication number: 20200125410
    Abstract: A schedule is stored indicating a frequency of replication from source to destination sites. When a replication job is initiated, information identifying one or more objects at the source site to be replicated is copied into a snapshot without pausing user operations against the one or more objects. The snapshot is compared with a previous snapshot to generate replication tasks for the replication job. The replication tasks are placed onto a message queue at the source site, where a worker node at the source site retrieves a replication task from the message queue and processes the replication task in conjunction with a worker node at the destination site.
    Type: Application
    Filed: October 29, 2019
    Publication date: April 23, 2020
    Inventors: Atul Avinash Karmarkar, Philip Shilane, Kevin Xu, Abhinav Duggal
  • Patent number: 10592420
    Abstract: One embodiment is related to a method for redistributing cache space, comprising: determining a request by a first client of a plurality of clients for additional cache space, each of the plurality of clients being associated with a guaranteed minimum amount (MIN) and a maximum amount (MAX) of cache space; and fulfilling or denying the request based on an amount of cache space the first client currently occupies, an amount of cache space requested by the first client, and the MIN and the MAX cache space associated with the first client.
    Type: Grant
    Filed: December 30, 2016
    Date of Patent: March 17, 2020
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Shuang Liang, Philip Shilane, Grant Wallace
  • Patent number: 10585746
    Abstract: A controller at a source site generates a set of tasks associated with a replication job. Each task involves a source worker node from among a set of source worker nodes at the source site, a destination worker node from among a set of destination worker nodes at the destination site, and includes one or more of copying an object from the source to destination site, or deleting an object from the destination site. Status update messages concerning the tasks are received at a message queue connected between the controller and the set of source worker nodes. The status update messages are logged into a persistent key-value store. Upon a failure to complete the replication job, the key-value store is accessed to identify tasks that were and were not completed before the failure. The tasks that were not completed are resent to the source worker nodes.
    Type: Grant
    Filed: February 2, 2018
    Date of Patent: March 10, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Philip Shilane, Kevin Xu, Abhinav Duggal, Atul Avinash Karmarkar
  • Publication number: 20200034244
    Abstract: Segmentation of a backup or a backup stream. A backup is segmented using a window that is sized to correspond to a size of a header portion of a page of a database. The data in the window is evaluated to determine whether the data matches header criteria. The data may be evaluated with a stronger check as well. If the checks are positive or true, a page is located and subsequent pages can be located by advancing the window by the page size.
    Type: Application
    Filed: July 26, 2018
    Publication date: January 30, 2020
    Inventors: Philip Shilane, Arun Chakravarthy
  • Publication number: 20200019622
    Abstract: A deduplicated microservices-based storage system and method running in a cloud includes frontend and backend microservice nodes that process requests from a plurality of clients and interface with a master node and one or more worker nodes connected as a network for deduplicating, storing and retrieving data from object storage. A custom metric compares demand on system resources to thresholds and dynamically scales resources to add or eliminate resources according to demand. The master node partitions the range of values identifying data similarity groups across the worker nodes, reassigns ranges of values using consistent hashing as worker nodes are scaled, and maintains a mapping of ranges of values to worker IP addresses.
    Type: Application
    Filed: July 11, 2018
    Publication date: January 16, 2020
    Applicant: EMC IP Holding Company LLC
    Inventors: Kimberly Lu, Venkata Ravi Chandra Bandlamudi, Joseph Samuel Brandt, Atul Avinash Karmarkar, Philip Shilane
  • Publication number: 20200019475
    Abstract: In a deduplicated microservices-based storage system and method running in a cloud includes frontend and backend microservice nodes that process requests from a plurality of clients and interface with a master node and one or more worker nodes connected as a network for deduplicating, storing and retrieving data from object storage, a worker node receives queries and fingerprints for data segments of a data similarity group to be deduplicated, obtains and returns the similarity group from its cache or from object storage using a key. The system compares the received fingerprints to stored fingerprints to determine non-duplicates for deduplication. The worker node updates similarity groups in its cache and in a write-ahead log with a reference to a compression region of non-duplicate segments, and periodically writes modified objects from its cache to object storage.
    Type: Application
    Filed: July 11, 2018
    Publication date: January 16, 2020
    Applicant: EMC IP Holding Company LLC
    Inventors: Atul Avinash Karmarkar, Philip Shilane, Venkata Ravi Chandra Bandlamudi
  • Publication number: 20200019629
    Abstract: One example method includes receiving a write request that includes a data structure version to be written, wherein the data structure version is associated with a unique identifier, storing the data structure version in association with the unique identifier, receiving a read request for a most recent version of the data structure and, when the stored data structure version is not the most recent version of the data structure, examining respective unique identifiers of each of a group of other stored data structure versions to determine which stored data structure version is the most recent. Finally, the example method includes returning the most recent data structure version, notwithstanding that one or more other data structure versions existed at the time that the read request was received.
    Type: Application
    Filed: July 10, 2018
    Publication date: January 16, 2020
    Inventors: Philip Shilane, Venkata Ravi Chandra Bandlamudi, Atul A. Karmarkar
  • Publication number: 20200019330
    Abstract: In a method of processing data similarity groups, a combined read/write cache comprises an in-memory data structure having a fixed allocation of physical memory that includes a write portion comprising memory allocated to write entries and a read portion comprising memory allocated to read entries. Similarity group entries are written into the cache using keys based upon an identifier of a similarity group, and similarity group entries are read from the cache using keys based upon both similarity group and subgroup identifiers. The sizes of memory allocated to the write portion and to the read portion are dynamically varied within the fixed memory allocation based upon demand while maintaining the fixed memory allocation constant.
    Type: Application
    Filed: July 11, 2018
    Publication date: January 16, 2020
    Applicant: EMC IP Holding Company LLC
    Inventors: Joseph Samuel Brandt, Venkata Ravi Chandra Bandlamudi, Philip Shilane
  • Publication number: 20200019476
    Abstract: Write performance is accelerated in a microservices deduplication system having a master node and a worker node, where the worker node receives and writes updates to data similarity groups to a cache and to a primary write-ahead log. Periodically, the worker writes updated similarity groups from cache to object storage, and flushes the contents of the primary write-ahead log. During flushing of the primary write-ahead log, the worker writes similarity group updates to a secondary write-ahead log which is swapped for the primary write-ahead log and which becomes a new primary write-ahead log for updates during flushing and during a subsequent time period. The previous primary write-ahead log becomes the new secondary write-ahead log, and the log swapping is repeated during subsequent time periods.
    Type: Application
    Filed: July 11, 2018
    Publication date: January 16, 2020
    Applicant: EMC IP Holding Company LLC
    Inventors: Mariah Arevalo, Atul Avinash Karmarkar, Venkata Ravi Chandra Bandlamudi, Philip Shilane
  • Patent number: 10534674
    Abstract: In a deduplicated microservices-based storage system and method running in a cloud includes frontend and backend microservice nodes that process requests from a plurality of clients and interface with a master node and one or more worker nodes connected as a network for deduplicating, storing and retrieving data from object storage, a worker node receives queries and fingerprints for data segments of a data similarity group to be deduplicated, obtains and returns the similarity group from its cache or from object storage using a key. The system compares the received fingerprints to stored fingerprints to determine non-duplicates for deduplication. The worker node updates similarity groups in its cache and in a write-ahead log with a reference to a compression region of non-duplicate segments, and periodically writes modified objects from its cache to object storage.
    Type: Grant
    Filed: July 11, 2018
    Date of Patent: January 14, 2020
    Assignee: EMC IP HOLDING COMPANY, LLC
    Inventors: Atul Avinash Karmarkar, Philip Shilane, Venkata Ravi Chandra Bandlamudi
  • Patent number: 10509769
    Abstract: Managing data blocks stored in a data processing system comprises logging input/output (I/O) accesses to an in-memory buffer with each log entry recording at least identifiers of the data blocks accessed and when the data blocks were accessed. When the size of the log entries reaches a predetermined threshold, the system may append log entries of the in-memory buffer to the end of a history log file. The history log file is analyzed to determine patterns of accesses, and each pattern is stored in a record in an access heuristics database. While processing a request for access to a data block, the data processing system queries the access heuristics database to obtain prior access patterns associated with the data block. A data management action may be taken based on the prior access patterns.
    Type: Grant
    Filed: June 12, 2014
    Date of Patent: December 17, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Philip Shilane, Grant Wallace
  • Patent number: 10509675
    Abstract: A set of tasks, associated with a replication job, are generated for replicating from a source to destination site. An initial number of worker nodes are allocated to process the tasks. Each task involves a first type of worker node at the source site, a second type of worker node at the destination site, and includes one or more of copying an object from the source site to the destination site, or deleting an object from the destination site. The replication job is monitored. Based on the monitoring, a number of worker nodes is adjusted from the initial number to a new number, different from the initial number.
    Type: Grant
    Filed: February 2, 2018
    Date of Patent: December 17, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Atul Avinash Karmarkar, Philip Shilane, Kevin Xu, Abhinav Duggal
  • Patent number: 10467102
    Abstract: Described embodiments provide systems and methods for operating a storage system that may determine one or more properties for each of a plurality of input/output (I/O) to a production volume of a storage system and monitor one or more operating conditions of the storage system. Embodiments may further include determining a score for each I/O based upon one or more of: the one or more properties of the I/O and the one or more operating conditions; adapting a replication threshold based upon the one or more operating conditions; comparing the determined score for each I/O to the adapted replication threshold; and based upon the comparison, performing continuous replication or snapshot replication for each I/O.
    Type: Grant
    Filed: December 15, 2016
    Date of Patent: November 5, 2019
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Leehod Baruch, Assaf Natanzon, Philip Shilane
  • Patent number: 10437782
    Abstract: A system for directing for storage comprises a processor and a memory. The processor is configured to determine a segment overlap for each of a plurality of nodes. The processor is further configured to determine a selected node of the plurality of nodes based at least in part on the segment overlap for each of the plurality of nodes and based at least in part on a selection criteria. The memory is coupled to the processor and configured to provide the processor with instructions.
    Type: Grant
    Filed: May 1, 2014
    Date of Patent: October 8, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Frederick Douglis, Philip Shilane, R. Hugo Patterson