Hashing Patents (Class 711/216)
  • Patent number: 10255208
    Abstract: A data transfer apparatus according to an embodiment includes: a first main memory configured to store first data to be used by a first processor; a first hash table in which a hash value and address information of the first data stored in the first main memory are registered; and a data transfer unit configured to transfer data having a hash value not registered in the first hash table from among second data stored in a second main memory from the second main memory to the first main memory.
    Type: Grant
    Filed: September 21, 2016
    Date of Patent: April 9, 2019
    Assignee: Toshiba Memory Corporation
    Inventors: Seiji Maeda, Hiroyuki Usui
  • Patent number: 10216966
    Abstract: A technique perturbs an extent key to compute a candidate extent key in the event of a collision with metadata (i.e., two extents having different data that yield identical hash values) stored in a memory of a node in a cluster. The perturbing technique may be used to compute a candidate extent key that is not previously stored in an extent store instance. The candidate extent key may be computed from a hash value of an extent using a perturbing algorithm, i.e., a hash collision computation, which illustratively adds a perturb value to the hash value. The perturb value is illustratively sufficient to ensure that the candidate extent key resolves to a same hash bucket and node (extent store instance) as the original extent key. In essence, the technique ensures that the original extent key is perturbed in a deterministic manner to generate the candidate extent key, so that the original extent and candidate extent key “decode” to the same hash bucket and extent store instance.
    Type: Grant
    Filed: February 24, 2016
    Date of Patent: February 26, 2019
    Assignee: NetApp, Inc.
    Inventors: Edward D. McClanahan, Jeffrey S. Kimmel
  • Patent number: 10205590
    Abstract: Methods and systems for reducing the size of a cryptographic key in a test simulation environment are disclosed. In one example, a method includes determining a minimum key size value and maximum key size value for a private cryptographic key for each of a plurality of key exchange value pairs and deriving, for each of the plurality of key exchange value pairs, a key sizing constant based on the minimum key size value and the maximum key size value. The method further includes storing each of the plurality of selected key exchange value pairs and associated key sizing constant in a data store, selecting a key exchange value pair to be applied to a test simulation session conducted between a first test simulation endpoint and a second test simulation endpoint, and generating a private cryptographic key based on the key sizing constant associated with the selected key exchange value pair.
    Type: Grant
    Filed: December 11, 2015
    Date of Patent: February 12, 2019
    Assignee: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
    Inventors: Andrei Cipu, Alexandru Badea
  • Patent number: 10176117
    Abstract: A method for managing metadata in a storage system is disclosed. The system includes a processor, a storage medium, a first metadata table that maps every data block's LBN to its unique content ID, and a second metadata table that maps every content ID to its PBN on the storage medium. During a data movement process, the processor is configured to determine the content ID of the data block and update its entry in the second metadata table without accessing the first metadata table. A method is also disclosed to reduce the size of the first metadata table. Only content ID is stored in the first metadata table and its LBN is determined by the metadata entry's relative position in the table. Metadata entries are stored in metadata blocks and deduplicated.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: January 8, 2019
    Assignee: Cacheio LLC
    Inventors: Arthur James Beaverson, Bang Chang
  • Patent number: 10164945
    Abstract: An apparatus, computer-readable medium and computer-implemented method for masking data, including applying an irreversible function to a first data element to generate a derivative data element, the first data element being of a first data type and the derivative data element being of a second data type different than the first data type, selecting at least a portion of the derivative data element to serve as a template, generating a masked data element as the result of converting the template from the second data type to the first data type.
    Type: Grant
    Filed: May 23, 2016
    Date of Patent: December 25, 2018
    Assignee: Informatica LLC
    Inventors: Igor Balabine, Bala Kumaresan
  • Patent number: 10162674
    Abstract: Method and system for serializing access to datasets, suitable for use in a workflow management system which executes multiple business processes, wherein a single process instance is enabled to invoke web services which may update datasets of different storages holding redundant information. Business Process Execution Language for Web Services allows defining business processes that make use of web services and business processes that externalize their functionality as web services. As the business process has no knowledge about data that is accessed by invoked web services, concurrent process instances may update the same pieces of information within a database. Unless access to the data is carried out as a transaction, parallel execution of the process instances may cause data inconsistencies, which may be avoided by serializing the execution of process instances based on correlation information associated with messages consumed by the process instances.
    Type: Grant
    Filed: May 9, 2016
    Date of Patent: December 25, 2018
    Assignee: International Business Machines Corporation
    Inventors: Frank Leymann, Dieter Roller
  • Patent number: 10110377
    Abstract: A communication system and key information sharing method which allows first and second communication devices to share key information and perform cryptograph processing. The monitoring device calculates hash value based on copy data of storage content of an ECU, and transmits a part to the ECU as confirmation information. The ECU further extracts a part from a value, obtained by removing confirmation information from hash value calculated by the ECU, and transmits part to the monitoring device as response information when the received confirmation information is included in the hash value calculated by the ECU. The monitoring device determines whether the received response information is included in hash value of the monitoring device or not. The ECU and monitoring device each use residual value, obtained by removing confirmation information and response information from hash value calculated by the ECU or monitoring device, for following cryptograph processing as a shared key.
    Type: Grant
    Filed: June 22, 2015
    Date of Patent: October 23, 2018
    Assignees: NATIONAL UNIVERSITY CORPORATION NAGOYA UNIVERSITY, AUTONETWORKS TECHNOLOGIES, LTD., SUMITOMO WIRING SYSTEMS, LTD., SUMITOMO ELECTRIC INDUSTRIES, LTD.
    Inventors: Hiroaki Takada, Ryo Kurachi, Naoki Adachi
  • Patent number: 10078646
    Abstract: An approach for fingerprinting large data objects at the wire speed has been disclosed. The techniques include Fresh/Shift pipelining, split Fresh, optimization, online channel sampling, and pipelined selection. The architecture can also be replicated to work in parallel for higher system throughput. Fingerprinting may provide an efficient mechanism for identifying duplication in a data stream, and deduplication based on the identified fingerprints may provide reduced storage costs, reduced network bandwidth consumption, reduced processing time and other benefits. In some embodiments, fingerprinting may be used to ensure or verify data integrity and may facilitate detection of corruption or tampering. An efficient manner of generating fingerprints (either via hardware, software, or a combination) may reduce a computation load and/or time required to generate fingerprints.
    Type: Grant
    Filed: August 25, 2015
    Date of Patent: September 18, 2018
    Assignee: HGST Netherlands B.V.
    Inventors: Zvonimir Bandic, Cyril Guyot, Dongyang Li, Ashwin Narasimha, Qingbo Wang, Ken Yang
  • Patent number: 10067703
    Abstract: Managing a streaming environment of an operator graph by performing corrective actions based on a threshold of changes in state being reached. An operator graph includes states of information stored within a memory of a first processing element configured to process a set of tuples. The memory of the first processing element is monitored. A change in the information from a first state to a second state is identified, based on the monitoring. The change from the first state to the second state is recorded. A determination is made if the change from the first state to the second state has caused a threshold of changes between the states of the information to be reached. A corrective action is performed that modifies a configuration of the operator graph in response to the threshold of changes between the states of the information being reached.
    Type: Grant
    Filed: December 15, 2015
    Date of Patent: September 4, 2018
    Assignee: International Business Machines Corporation
    Inventors: Eric L. Barsness, Michael J. Branson, Ryan K. Cradick, John M. Santosuosso
  • Patent number: 10067708
    Abstract: Data synchronization between memories of a data processing system is achieved by transferring the data blocks from a first memory to a second memory, forming a hash list from addresses of data blocks that are written to the second memory or modified in the second memory. The hash list may be to identify a set of data blocks that are possibly written to or modified. Data blocks that are possibly modified may be written back from the second memory to the first memory in response to a synchronization event. The hash list may be updated by computing, in hardware or software, hash functions of an address of the transferred or modified data block to determine bit positions to be set. The hash list may be queried by computing hash functions of an address to determine bit positions, and checking bits in the hash list at those bit positions.
    Type: Grant
    Filed: December 22, 2015
    Date of Patent: September 4, 2018
    Assignee: Arm Limited
    Inventor: Jonathan Curtis Beard
  • Patent number: 10049118
    Abstract: A cluster-wide consistency checker ensures that two file systems of a storage input/output (I/O) stack executing on each node of a cluster are self-consistent as well as consistent with respect to each other. The file systems include a deduplication file system and a host-facing file system that cooperate to provide a layered file system of the storage I/O stack. The deduplication file system is a log-structured file system managed by an extent store layer of the storage I/O stack, whereas the host-facing file system is managed by a volume layer of the stack. Illustratively, each log-structured file system implements a key-value store and cooperates with other nodes of the cluster to provide a cluster-wide (global) key-value store. The consistency checker verifies and/or fixes on-disk structures of the layered file system to ensure its consistency.
    Type: Grant
    Filed: June 1, 2015
    Date of Patent: August 14, 2018
    Assignee: NetApp, Inc.
    Inventors: Dhaval Patel, Chaitanya Patel, John Muth, Srinath Krishnamachari
  • Patent number: 9952922
    Abstract: Apparatus suitable for detecting a fault in a processor comprises a monitor which receives input and output signals from the processor and generates a hash index key which is used to access entries in a hash table. The entries may include actions such as setting a timer so that the response of an output to a change of state of an input may be confirmed as valid within a specified time interval.
    Type: Grant
    Filed: July 18, 2013
    Date of Patent: April 24, 2018
    Assignee: NXP USA, Inc.
    Inventors: Graham Edmiston, Alan Devine, David McMenamin, Andrew Roberston, James Andrew Collier Scobie
  • Patent number: 9935917
    Abstract: A method of discovering and assigning an IP address to a device to be discovered in a communication network having multiple interconnected nodes includes continuously monitoring, by the device to be discovered, the network for address resolution protocol (ARP) requests. The discoverer node transmits a number of ARP request to the network. The device to be discovered receives the number of ARP requests. The device to be discovered determines whether the number of ARP requests are unanswered by other devices in the network. The device to be discovered answers to the number of ARP requests with an ARP reply to claim an IP address associated with the number of ARP requests. The discoverer node and the device to be discovered exchange a pair of User Datagram Protocol (UDP) packets to complete the detection process.
    Type: Grant
    Filed: June 10, 2016
    Date of Patent: April 3, 2018
    Assignee: Accedian Networks Inc.
    Inventors: Claude Robitaille, Guillaume Lemieux
  • Patent number: 9870227
    Abstract: A method and apparatus for performing stencil computations efficiently are disclosed. In one embodiment, a processor receives an offset, and in response, retrieves a value from a memory via a single instruction, where the retrieving comprises: identifying, based on the offset, one of a plurality of registers of the processor; loading an address stored in the identified register; and retrieving from the memory the value at the address.
    Type: Grant
    Filed: November 8, 2012
    Date of Patent: January 16, 2018
    Assignee: THE REGENTS OF THE UNIVERSITY OF CALIFORNIA
    Inventor: David Donofrio
  • Patent number: 9779123
    Abstract: Techniques for performing database operations using vectorized instructions are provided. In one technique, a hash table build phase involves executing vectorized instructions to determine whether a bucket in a hash table includes a free slot for inserting a key. A number of data elements from the bucket are loaded in a register. A vectorized instruction is executed against the register may be used to determine a position, within the register, that contains the “smallest” data element. If the data element at that position is zero (or negative), then it is determined that the corresponding position in the bucket is an available slot for inserting a key and corresponding data value.
    Type: Grant
    Filed: January 7, 2016
    Date of Patent: October 3, 2017
    Assignee: Oracle International Corporation
    Inventors: Rajkumar Sen, Nipun Agarwal
  • Patent number: 9760283
    Abstract: Systems and methods for managing sparsely updated counters in memory include, for a given interval of time and N counters associated with the given interval, managing a first set of the N counters in a first level of storage in the memory, wherein the first level of storage utilizes a hash table to store a counter identifier and a value for each of the first set; and responsive to filling up the first level of storage for a given user in the given interval, managing the first set and a second set of the N counters in a second level of storage in the memory, wherein the set utilizes memory buckets to incrementally store the first set and the second set.
    Type: Grant
    Filed: September 28, 2015
    Date of Patent: September 12, 2017
    Assignee: Zscaler, Inc.
    Inventors: Satish Kalipatnapu, Sushil Pangeni, Kumar Gaurav, Chakkaravarthy Periyasamy Balaiah
  • Patent number: 9747340
    Abstract: The described method and system enables a client at a branch office to retrieve data from a local hosted cache instead of an application server over a WAN to improve latency and reduce overall WAN traffic. A server at the data center may be adapted to provide either a list of hashes or the requested data based on whether a hosted cache system is enabled. A hosted cache at the client side may provide the data to the client based on the hashes. The hashes may be generated to provide a fingerprint of the data which may be used to index the data in an efficient manner.
    Type: Grant
    Filed: June 19, 2008
    Date of Patent: August 29, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ravi T. Rao, Sandeep K. Singhal, See-Mong Tan, R Scott Briggs, Kushal Narkhede, Eliot John Flannery, Nilesh R. Shah, Gianluigi Nusca, Khawar Mahmood Zuberi
  • Patent number: 9703484
    Abstract: Output is produced from a memory block. A key memory is accessed to produce memory output based on a value of a first index. The memory output includes a stored compressed key and a stored index. A compressed key is produced based on the uncompressed key. The produced compressed key is compared with the stored compressed key. The stored index is output when the stored compressed key matches the produced compressed key.
    Type: Grant
    Filed: October 9, 2014
    Date of Patent: July 11, 2017
    Assignee: Memobit Technologies AB
    Inventors: Pär S Westlund, Lars-Olof B Svensson
  • Patent number: 9690942
    Abstract: A serial input/output (SIO) device with a serial peripheral interface (SPI) bus gateway controller. The gateway controller retrieves operation code (opcode) from a signal from the SPI bus and an address number from the signal; the gateway controller further compares the retrieved opcode with a restrict opcode, the retrieved address number with a restrict address number. When either the retrieved opcode matches the restrict opcode, or the retrieved address number matches the restrict address number, the gateway controller blocks the signal.
    Type: Grant
    Filed: October 22, 2014
    Date of Patent: June 27, 2017
    Assignees: HONG FU JIN PRECISION INDUSTRY (WuHan) CO., LTD., HON HAI PRECISION INDUSTRY CO., LTD.
    Inventor: Hung-Chi Huang
  • Patent number: 9684462
    Abstract: Method and apparatus for storing records in non-uniform access memory. In various embodiments, the placement of records is localized in one or more regions of the memory. This can be accomplished utilizing different ordered lists of hash functions to preferentially map records to different regions of the memory to achieve one or more performance characteristics or to account for differences in the underlying memory technologies. For example, one ordered list of hash functions may localize the data for more rapid access. Another list of hash functions may localize the data that is expected to have a relatively short lifetime. Localizing such data may significantly improve the erasure performance and/or memory lifetime, e.g., by concentrating the obsolete data elements in one location. Thus, the two or more lists of ordered hash functions may improve one or more of access latency, memory lifetime, and/or operation rate.
    Type: Grant
    Filed: October 13, 2015
    Date of Patent: June 20, 2017
    Assignee: SimpliVity Corporation
    Inventors: Arthur J. Beaverson, Paul Bowden, Sowmya Manjanatha, Jinsong Huang
  • Patent number: 9659046
    Abstract: Techniques for performing database operations using vectorized instructions are provided. In one technique, a hash table probe phase involves executing vectorized instructions to determine where in a bucket a particular key is located. This determination may be preceded by one or more vectorized instructions that are used to determine whether the bucket contains the particular key.
    Type: Grant
    Filed: July 31, 2013
    Date of Patent: May 23, 2017
    Assignee: Oracle Inernational Corporation
    Inventors: Rajkumar Sen, Sabina Petride, Nipun Agarwal
  • Patent number: 9613128
    Abstract: Systems and methods are disclosed for a cache-sensitive index that uses fixed-size partial keys. The index may include a node comprising a child group pointer, a number of partial keys and a similar number of full-key pointers. The node may also include a record count. The nodes are organized into groups. The groups may contain a number of nodes one greater than the number of partial keys in a node and the nodes in a group may be stored contiguously in memory. The child group pointer and the number of partial keys may fit within a cache line. A method is disclosed for traversing the index, for bulk-loading the index, and for live deletion of records from the index.
    Type: Grant
    Filed: July 21, 2014
    Date of Patent: April 4, 2017
    Assignee: VERISIGN, INC.
    Inventors: Michael Bentkofsky, Florent Guiliani
  • Patent number: 9569134
    Abstract: An example method includes determining a configuration of two or more partitions for a sequential access medium. At least one partition stores data de-duplication data structures while at least one other partition stores a repository of unique data blocks associated with the data structures. The method also includes controlling a data de-duplication computer to configure the sequential access medium according to the configuration. The method includes producing an output sequence for writing the data structures and a set of unique data blocks associated with the set of data structures to the sequential access medium as configured with the two or more partitions. One embodiment includes controlling a data de-duplication computer to write the data de-duplication data structures and the set of unique data blocks to the sequential access medium according to the output sequence.
    Type: Grant
    Filed: August 23, 2010
    Date of Patent: February 14, 2017
    Assignee: Quantum Corporation
    Inventor: Roderick B. Wideman
  • Patent number: 9563477
    Abstract: In one embodiment, the present invention includes a method for allocating a second number of buckets for a hash table shared concurrently by a plurality of threads, where the second number of buckets are logically mapped onto a corresponding parent one of the first number of buckets, and publishing an updated capacity of the hash table to complete the allocation, without performing any rehashing, such that the rehashing can later be performed in an on-demand, per bucket basis. Other embodiments are described and claimed.
    Type: Grant
    Filed: April 8, 2009
    Date of Patent: February 7, 2017
    Assignee: Intel Corporation
    Inventor: Anton Malakhov
  • Patent number: 9558073
    Abstract: Disclosed are systems, computer-readable mediums, and methods for incremental block level backup. An initial backup of a volume is created at a backup server, where creating the initial backup includes retrieving an original metadata file from a metadata server, and retrieving a copy of all data of the volume based on the original metadata file. A first incremental backup of the volume is then created at the backup server, where creating the first incremental backup includes retrieving a first metadata file, where the first metadata file was created separately from the original metadata file. A block identifier of the first metadata file is compared to a corresponding block identifier of the original metadata file to determine a difference between the first and original block identifiers, and a copy of a changed data block of the volume is retrieved based on the comparison of the first and original block identifiers.
    Type: Grant
    Filed: April 13, 2015
    Date of Patent: January 31, 2017
    Assignee: NETAPP, INC.
    Inventors: Jared Cantwell, Matt Holiday
  • Patent number: 9544226
    Abstract: Aspects and implementations of the present disclosure are directed to a network device. The network device includes memory for storing a first dataset comprising first data structures, a second dataset comprising second data structures, and a set of Boolean values. Each first data structure includes an address and a corresponding instruction parameter. Each second data structure includes an address prefix and at least one intermediary value. Each Boolean value corresponds to a respective address prefix and indicates whether the second dataset includes a second data structure with the respective address prefix. The network device is configured to identify a first address and a first address prefix for a first data packet, identify one or more intermediary values for the first address prefix using the set of Boolean values, and identify a packet processing instruction parameter using the one or more identified intermediary values.
    Type: Grant
    Filed: December 27, 2013
    Date of Patent: January 10, 2017
    Assignee: Google Inc.
    Inventor: Peter Michael Klausler
  • Patent number: 9542558
    Abstract: In various embodiments, methods, devices and systems for securely generating, sealing, and restoring factory-generated calibration and provisioning data for an electronic device are described, in which calibration and provisioning data for an electronic device are generated in a distributed manner and stored on a storage system. The calibration data can be retrieved from the storage system during device assembly and finalized calibration and provisioning data for each electronic device can be stored to the storage system. In one embodiment, a sealing server, to attest to the authenticity of the factory-generated data, seals the finalized calibration data. In one embodiment, an electronic device can access a data store containing the factory-generated data and can update or restore calibration or provisioning data for the device from the data store.
    Type: Grant
    Filed: March 12, 2014
    Date of Patent: January 10, 2017
    Assignee: Apple Inc.
    Inventors: Thomas P. Mensch, Jason D. Gosnell, Jerrold V. Hauck, Muralidhar S. Vempaty, Dallas B. De Atley
  • Patent number: 9495104
    Abstract: Techniques for automatically allocating space in a flash storage-based cache are provided. In one embodiment, a computer system collects I/O trace logs for a plurality of virtual machines or a plurality of virtual disks and determines cache utility models for the plurality of virtual machines or the plurality of virtual disks based on the I/O trace logs. The cache utility model for each virtual machine or each virtual disk defines an expected utility of allocating space in the flash storage-based cache to the virtual machine or the virtual disk over a range of different cache allocation sizes. The computer system then calculates target cache allocation sizes for the plurality of virtual machines or the plurality of virtual disks based on the cache utility models and allocates space in the flash storage-based cache based on the target cache allocation sizes.
    Type: Grant
    Filed: January 8, 2015
    Date of Patent: November 15, 2016
    Assignee: VMware, Inc.
    Inventors: Sandeep Uttamchandani, Li Zhou, Fei Meng, Deng Liu
  • Patent number: 9471500
    Abstract: Systems and methods for generating and storing a data structure for maintaining cache supporting compression and cache-wide deduplication, including generating data structures with fixed size memory regions configured to hold multiple signatures as keys, wherein the number of the fixed size memory regions is bounded. A first mapping is generated from short-length signatures to a storage location and a quantized length measure on a cache storage device; and unused contiguous regions on the cache device are allocated. Metadata and cache page content is retrieved using a single input/output operation; a correctness of a full value of hash functions of uncompressed cache page content is validated; a second mapping is generated from short-length signatures to entries in the first mapping; and verification of whether the cached page content corresponds to a full-length original logical block address using the metadata is performed.
    Type: Grant
    Filed: April 11, 2014
    Date of Patent: October 18, 2016
    Assignee: NEC Corporation
    Inventors: Erik Kruus, Cristian Ungureanu, Wen Xia
  • Patent number: 9438517
    Abstract: In a method of identifying matching packets at different locations in a network, a first plurality of packets is received at a first location in the network, and a first subset thereof is selected in accordance with a filter. A second plurality of packets is received at a second location in the network, and a second subset thereof is selected in accordance with the same filter. Each packet in the first and second subsets is parsed to extract invariant header fields from an outermost IP header inwards, until a minimal set of invariant header fields is obtained for that packet, or until it is determined that a minimal set is not obtainable for that packet. A packet signature is computed from the minimal set for each packet having a minimal set, and the packet signatures are compared to identify matching packets in the first and second subsets.
    Type: Grant
    Filed: October 30, 2013
    Date of Patent: September 6, 2016
    Assignee: Viavi Solutions Inc.
    Inventors: Lai-chong Chan, Brian Moody
  • Patent number: 9418176
    Abstract: Structure of a resultant Every Document as a Graph (EVG) graph may be outlined using an EVG query. First metadata for a first data source may be retrieved. At least one entity key may be determined for a first entity, the entity key coming directly from the EVG query or from an entity on a preceding level of the EVG graph. Based on the first metadata and entity key, an edge may be created in the EVG graph beginning at the first entity, wherein the edge contains information retrieved from the first data source. Second metadata for a second data source may be retrieved. Based on the second metadata and information contained in the edge retrieved from first data source, a second entity may be created in the EVG graph, wherein the edge connects to the second entity, wherein the second entity contains information retrieved from the second data source.
    Type: Grant
    Filed: October 9, 2015
    Date of Patent: August 16, 2016
    Assignee: LinkedIn Corporation
    Inventors: Denis Baranov, Walter Ronald Fender, Armen Nofer Hamstra
  • Patent number: 9401810
    Abstract: An approach is provided for reducing communication traffic and cost by applying recipient criteria in identity-based encryption. A recipient criterion application selects one or more recipient criteria for data, and encrypts the data using the selected one or more recipient criteria as a public key of identity-based encryption.
    Type: Grant
    Filed: June 10, 2013
    Date of Patent: July 26, 2016
    Assignee: Nokia Technologies Oy
    Inventors: Sampo Sovio, Vesa-Veikko Luukkala
  • Patent number: 9372757
    Abstract: Disclosed are systems, computer-readable mediums, and methods for incremental block level backup. An initial backup of a volume is created at a backup server, where creating the initial backup includes retrieving an original metadata file from a metadata server, and retrieving a copy of all data of the volume based on the original metadata file. A first incremental backup of the volume is then created at the backup server, where creating the first incremental backup includes retrieving a first metadata file, where the first metadata file was created separately from the original metadata file. A block identifier of the first metadata file is compared to a corresponding block identifier of the original metadata file to determine a difference between the first and original block identifiers, and a copy of a changed data block of the volume is retrieved based on the comparison of the first and original block identifiers.
    Type: Grant
    Filed: October 18, 2013
    Date of Patent: June 21, 2016
    Assignee: NETAPP, INC.
    Inventors: Jared Cantwell, Matt Holiday
  • Patent number: 9336033
    Abstract: A virtual-machine-based system that identifies an application or process in a virtual machine in order to locate resources associated with the identified application. Access to the located resources is then controlled based on a context of the identified application. Those applications without the necessary context will have a different view of the resource.
    Type: Grant
    Filed: November 4, 2013
    Date of Patent: May 10, 2016
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Carl A. Waldspurger, Pratap Subrahmanyam
  • Patent number: 9336217
    Abstract: Technologies are generally provided for conveying tree and index needs of a database by collecting and forwarding a statistically representative set of data requests so that a new datacenter can use its existing auto-learning and adjustment techniques to create local indices before receiving its first real or live requests. In some examples, requests at an origin datacenter may be collected to provide a small population of queries that are representative of a larger population of queries. Filters anonymizers may be employed to adhere to data sharing rules and restrictions while still allowing a new datacenter to build indices and test performance. Thus, the new datacenter may be trained asynchronously from another site and without actual data changing hands. Training and testing of destination database services may be completed before committing to customer migration.
    Type: Grant
    Filed: August 27, 2014
    Date of Patent: May 10, 2016
    Assignee: EMPIRE TECHNOLOGY DEVELOPMENT LLC
    Inventor: Ezekiel Kruglick
  • Patent number: 9300748
    Abstract: According to one embodiment, a local proxy caches in a local stream store one or more streams of data transmitted over the WAN to a remote proxy. In response to a flow of data received from one of the clients of the local LAN, the local proxy chunks using a predetermined chunk algorithm the flow into chunks in sequence, and selectively indexes the chunks in a chunk index maintained by the local proxy based on locations of the chunks in the flow, where a number of chunks in a first region of the flow indexed is different than a number of chunks in a second region of the flow indexed. The chunk index includes multiple chunk index entries referenced to the streams stored in the stream store.
    Type: Grant
    Filed: January 16, 2013
    Date of Patent: March 29, 2016
    Assignee: Cisco Technology, Inc.
    Inventor: Sean Christopher Rhea
  • Patent number: 9292558
    Abstract: Techniques for performing database operations using vectorized instructions are provided. In one technique, an aggregation operation involves executing vectorized instructions to update a data value that corresponds to a particular key. The aggregation operation may be one of count, sum, minimum, maximum, or average.
    Type: Grant
    Filed: August 1, 2013
    Date of Patent: March 22, 2016
    Assignee: Oracle International Corporation
    Inventors: Rajkumar Sen, Sabina Petride, Nipun Agarwal
  • Patent number: 9292530
    Abstract: The technique introduced here includes a system and method for identification of duplicate data directly at a data-object level. The technique illustratively utilizes a hierarchical tree of fingerprints for each data object to compare data objects and identify duplicate data blocks referenced by the data objects. The hierarchical fingerprint trees are constructed in such a manner that a top-level fingerprint (or object-level fingerprint) of the hierarchical tree is representative of all data blocks referenced by a storage system. In embodiments, inline techniques are utilized to generate hierarchical fingerprints for new data objects as they are created, and an object-level fingerprint of the new data object is compared against preexisting object-level fingerprints in the storage system to identify exact or close matches.
    Type: Grant
    Filed: June 14, 2011
    Date of Patent: March 22, 2016
    Assignee: NetApp, Inc.
    Inventors: Giridhar Appaji Nag Yasa, Nagesh Panyam Chandrasekarasastry
  • Patent number: 9280609
    Abstract: An exact match lookup system includes a hash function that generates a hash value in response to an input hash key. The hash value is used to retrieve a hash bucket index value from a hash bucket index table. The hash bucket index value is used to retrieve a plurality of hash keys from a plurality of hash bucket tables, in parallel. The retrieved hash keys are compared with the input hash key to identify a match. Hit logic generates an output index by concatenating the hash bucket index value with an address associated with the hash bucket table that provides the matching hash key. An exact match result is provided in response to the output index. A content addressable memory (CAM) may store hash keys that do not fit in the hash bucket tables.
    Type: Grant
    Filed: September 8, 2009
    Date of Patent: March 8, 2016
    Assignee: Brocade Communications Systems, Inc.
    Inventor: Jian Liu
  • Patent number: 9256686
    Abstract: Embodiments of the present invention are directed to the use of a Bloom Filter in a web analytics application. Large sets of data, obtained from on and offline sources, may be analyzed using a Bloom Filter to find desired patterns within the data. The use of a Bloom Filter in the analysis allows for a more efficient use of resources to perform the analysis.
    Type: Grant
    Filed: September 14, 2009
    Date of Patent: February 9, 2016
    Assignee: International Business Machines Corporation
    Inventor: Travis Woodruff
  • Patent number: 9256631
    Abstract: Techniques for performing database operations using vectorized instructions are provided. In one technique, a hash table build phase involves executing vectorized instructions to determine whether a bucket in a hash table includes a free slot for inserting a key. A number of data elements from the bucket are loaded in a register. A vectorized instruction is executed against the register may be used to determine a position, within the register, that contains the “smallest” data element. If the data element at that position is zero (or negative), then it is determined that the corresponding position in the bucket is an available slot for inserting a key and corresponding data value.
    Type: Grant
    Filed: July 31, 2013
    Date of Patent: February 9, 2016
    Assignee: Oracle International Corporation
    Inventors: Rajkumar Sen, Nipun Agarwal
  • Patent number: 9251066
    Abstract: A system and method for performing garbage collection. A system includes a storage medium, a first table including entries which map a virtual address to locations in the storage medium, and a second table with entries which include a reverse mapping of a physical address in a data storage medium to one or more virtual addresses. A storage controller is configured to perform garbage collection. During garbage collection, the controller is configured to identify one or more entries in the second table which correspond to a segment to be garbage collected. In response to determining the first table includes a valid mapping for a virtual address included in an entry of the one of the one or more entries, the controller is configured to copy data from a first location identified in the entry to a second location in the data storage medium, and reclaim the first storage location.
    Type: Grant
    Filed: November 10, 2014
    Date of Patent: February 2, 2016
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, John Hayes, Ethan Miller, Cary Sandvig, Joseph S. Hasbani, Feng Wang
  • Patent number: 9223720
    Abstract: A lookup circuit evaluates hash functions that map keys to addresses in lookup tables. The circuit includes multiple hash function sub-circuits, each of which applies a respective hash function to an input key, producing a hash value. Candidate pairs of hash functions to be implemented by the hash function sub-circuits (or hash function bit matrices thereof) may be generated and tested for suitability in hashing a particular collection of keys. Each hash function bit matrix may be generated according to heuristics chosen to improve the likelihood that it will be suitable for use in a pair, and may be tested against previously generated hash function bit matrices contained in one or more pools (each of which may contain matrices generated using different heuristics) to identify suitable pairs. The hash function bit matrices may be represented in the pools in a tabulated form, which may reduce the suitability testing time.
    Type: Grant
    Filed: December 13, 2013
    Date of Patent: December 29, 2015
    Assignee: Oracle International Corporation
    Inventors: David R. Chase, Nils Gura, Guy L. Steele, Jr.
  • Patent number: 9209990
    Abstract: A method and system is directed to routing a flow of packets over a network to multiple traffic management devices. An apparatus receives each packet from a network and forwards the packet to one of a group of traffic management devices. The apparatus also may receive packets from servers for which the traffic management devices are managing communications. When forwarding packets, a traffic management device is selected from the group of traffic management devices by employing a hash of an IP address and port number. The IP address and port number are selected from source or destination information in the packet that has a greater port number. When the traffic management device performs a network address translation, further actions may be performed so that packets that are part of a flow between two network devices are delivered to the same traffic management device.
    Type: Grant
    Filed: March 12, 2010
    Date of Patent: December 8, 2015
    Assignee: F5 Networks, Inc.
    Inventors: Paul Szabo, David D. Schmitt, Ning X. Li
  • Patent number: 9172698
    Abstract: Functional randomness in security tokens (FRIST) may achieve improved security in two-factor authentication hardware tokens by improving on the algorithms used to securely generate random data. A system and method in one embodiment according to the present invention may allow for security of a token based on storage cost and computational security. This approach may enable communication where security is no longer based solely on onetime pads (OTPs) generated from a single cryptographic function (e.g., SHA-256).
    Type: Grant
    Filed: October 11, 2013
    Date of Patent: October 27, 2015
    Assignee: UT-Battelle, LLC
    Inventors: Philip G. Evans, Travis S. Humble, Nathanael R. Paul, Raphael C. Pooser, Stacy J. Prowell
  • Patent number: 9135833
    Abstract: A method and network element identify a set of bit indices for forming compressed keys, which are used to map a set of keys of corresponding input values to assigned lookup values in a hash table, where the keys of the input values have colliding hash values according to a hash function of the hash table. The method includes a set of steps including receiving the set of keys. The bits of the set of keys are traversed to find a best split bit index. The set of keys are split into two subsets according to the best split bit index. A check is made whether all of the set of keys have been split into separate subsets. A selected best split bit is added to a bit index. Alternate split bits are tallied and a bit is selected with a highest tally to add to bit index.
    Type: Grant
    Filed: April 9, 2013
    Date of Patent: September 15, 2015
    Assignee: Telefonaktiebolaget L M Ericsson (publ)
    Inventor: Vikram Guleria
  • Patent number: 9088406
    Abstract: Systems, methods, and devices synchronize data streams by hashing received data frames to generate a sequence of hash values, comparing the generated hash value sequence to a hash value sequence received in a control stream, and processing data frames when the hash value sequences match. A source device and multiple receiver devices may synchronize audio data encoded in data frames, applying a hash function to each data frame to generate a first sequence of hash values, transmitting the data frames on a first channel and the first sequence of hash values on a control channel, receiving the data frames and the first sequence of hash values in the receiver devices, applying the hash algorithm to received data frames to generate a second sequence of hash values, comparing the first and second sequences of hash values, and processing data frames when the first and second sequences of hash values match.
    Type: Grant
    Filed: July 29, 2012
    Date of Patent: July 21, 2015
    Assignee: QUALCOMM Incorporated
    Inventors: Adam E. Newham, Joel Benjamin Linsky, Rohit Sauhta, Brian F. Miller, Kevin Wayne Bartig
  • Patent number: 9077520
    Abstract: A method for securing communications between a first node (N1) and a second node (N2) in a network (1) further comprising a management device (2) provided with root keying materials, the method comprising the following steps: the management device generating, based on root keying materials, a first node keying material shares comprising a number of sub-elements and the first node keying material shares being arranged for generating a first complete key, the management device selecting a subset of sub-elements of the first keying material shares, the number of sub-elements selected being less or equal than the total number of sub-elements of the first keying material shares, and the selected sub-elements forming a first node partial keying material shares or symmetric-key generation engine, the first node generating, based on the first node symmetric-key generation engine and on an identifier of the second node, a first key, used for securing communications with the second node.
    Type: Grant
    Filed: March 16, 2010
    Date of Patent: July 7, 2015
    Assignee: KONINKLIJKE PHILIPS N.V.
    Inventors: Oscar Garcia Morchon, Bozena Erdmann, Klaus Kursawe
  • Patent number: 9047343
    Abstract: A technique for pattern matching is provided. A processing circuit receives an input string streamed in as input, and the input string is designated into substrings according to predefined bytes. A first substring of the substrings is in a first register to be compared against a pattern of the predefined bytes in a second register. The processing circuit compares the first substring in the first register to the pattern in the second register according to a type of evaluations specified in a third register, and determines state information that includes a number of states achieved for the pattern based on the comparison. The state information is stored in a fourth register to be utilized in a next run for a next substring of the substrings making up the input string, where the next run builds from the state information in the fourth register.
    Type: Grant
    Filed: January 15, 2013
    Date of Patent: June 2, 2015
    Assignee: International Business Machines Corporation
    Inventor: Eric M. Schwarz
  • Patent number: 9032183
    Abstract: Apparatus and method for placing data based on the content of the data in random access memory such that indexing operations are not required. A strong (e.g., cryptographic) hash is applied to a data element resulting in a signature. A weaker hash function is then applied to the signature to generate a storage location in memory for the data element. The weaker hash function assigns multiple data elements to the same storage location while the signature comprises a unique identifier for locating a particular data element at this location. In one embodiment a plurality of weak hash functions are applied successively to increase storage space utilization. In other embodiments, the assigned storage location can be determined by one or more attributes of the data element and/or the storage technology, e.g, long-lived versus short-lived data and/or different regions of the memory having different performance (e.g., access latency memory lifetime) characteristics.
    Type: Grant
    Filed: February 24, 2012
    Date of Patent: May 12, 2015
    Assignee: SimpliVity Corp.
    Inventors: John Michael Czerkowicz, Arthur J. Beaverson, Steven Bagby, Sowmya Manjanatha