Patents by Inventor Giuseppe Coviello

Giuseppe Coviello 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: 9965209
    Abstract: A method in a graph storage and processing system is provided. The method includes storing, in a scalable, distributed, fault-tolerant, in-memory graph storage device, base graph data representative of graphs, and storing, in a real-time, in memory graph storage device, update graph data representative of graph updates for the graphs with respect to a time threshold. The method further includes sampling the base graph data to generate sampled portions of the graphs and storing the sampled portions, by an in-memory graph sampler. The method additionally includes providing, by a query manager, a query interface between applications and the system. The method also includes forming, by the query manager, graph data representative of a complete graph from at least the base graph data and the update graph data, if any. The method includes processing, by a graph computer, the sampled portions using batch-type computations to generate approximate results for graph-based queries.
    Type: Grant
    Filed: August 20, 2015
    Date of Patent: May 8, 2018
    Assignee: NEC Corporation
    Inventors: Kunal Rao, Giuseppe Coviello, Srimat Chakradhar, Souvik Bhattacherjee, Srihari Cadambi
  • Patent number: 9811540
    Abstract: Systems and methods for recognizing a face are disclosed and includes receiving images of faces; generating feature vectors of the images; generating clusters of feature vectors each with a centroids or a cluster representative; for a query to search for a face, generating corresponding feature vectors for the face and comparing the feature vector with the centroids of all clusters; for clusters above a similarity threshold, comparing cluster members with the corresponding feature vector; and indicating as matching candidates for cluster members with similarity above a threshold.
    Type: Grant
    Filed: April 1, 2016
    Date of Patent: November 7, 2017
    Assignee: NEC Corporation
    Inventors: Min Feng, Giuseppe Coviello, Srimat Chakradhar, Nitin Agrawal, Yi Yang
  • Patent number: 9720597
    Abstract: Systems and methods for swapping out and in pinned memory regions between main memory and a separate storage location in a system, including establishing an offload buffer in an interposing library; swapping out pinned memory regions by transferring offload buffer data from a coprocessor memory to a host processor memory, unregistering and unmapping a memory region employed by the offload buffer from the interposing library, wherein the interposing library is pre-loaded on the coprocessor, and collects and stores information employed during the swapping out. The pinned memory regions are swapped in by mapping and re-registering the files to the memory region employed by the offload buffer, and transferring data of the offload buffer data from the host memory back to the re-registered memory region.
    Type: Grant
    Filed: January 23, 2015
    Date of Patent: August 1, 2017
    Assignee: NEC Corporation
    Inventors: Cheng-Hong Li, Giuseppe Coviello, Kunal Rao, Murugan Sankaradas, Srihari Cadambi, Srimat Chakradhar, Rajat Phull
  • Patent number: 9652247
    Abstract: Methods are provided. A method for swapping-out an offload process from a coprocessor includes issuing a snapify_pause request from a host processor to the coprocessor to initiate a pausing of the offload process executing by the coprocessor and another process executing by the host processor using a plurality of locks. The offload process is previously offloaded from the host processor to the coprocessor. The method further includes issuing a snapify_capture request from the host processor to the coprocessor to initiate a local snapshot capture and saving of the local snapshot capture by the coprocessor. The method also includes issuing a snapify_wait request from the host processor to the coprocessor to wait for the local snapshot capture and the saving of the local snapshot capture to complete by the coprocessor.
    Type: Grant
    Filed: December 16, 2014
    Date of Patent: May 16, 2017
    Assignee: NEC Corporation
    Inventors: Cheng-Hong Li, Giuseppe Coviello, Srimat Chakradhar, Arash Rezaei
  • Patent number: 9569161
    Abstract: A method for running application software for a mobile device by virtualizing a mobile device operating system (OS); running a virtual instance of the mobile device OS with the application software on a server on the cloud; and rendering on the server and sending a display image for the mobile device screen to be displayed on the mobile device.
    Type: Grant
    Filed: January 8, 2014
    Date of Patent: February 14, 2017
    Assignee: NEC Corporation
    Inventors: Giuseppe Coviello, Murugan Sankaradass, Srimat Chakradhar, Valentina Pelliccia
  • Publication number: 20160299920
    Abstract: Systems and methods for recognizing a face are disclosed and includes receiving images of faces; generating feature vectors of the images; generating clusters of feature vectors each with a centroids or a cluster representative; for a query to search for a face, generating corresponding feature vectors for the face and comparing the feature vector with the centroids of all clusters; for clusters above a similarity threshold, comparing cluster members with the corresponding feature vector; and indicating as matching candidates for cluster members with similarity above a threshold.
    Type: Application
    Filed: April 1, 2016
    Publication date: October 13, 2016
    Inventors: Min Feng, Giuseppe Coviello, Srimat Chakradhar, Nitin Agrawal, Yi Yang
  • Publication number: 20160300157
    Abstract: A big data processing system includes a memory management engine having stream buffers, realtime views and models, and batch views and models, the stream buffers coupleable to one or more stream processing frameworks to process stream data, the batch models coupleable to one or more batch processing frameworks; one or more processing engines including Join, Group, Filter, Aggregate, Project functional units and classifiers; and a client layer engine communicating with one or more big data applications, the client layer engine handling an output layer, an API layer, and an unified query layer.
    Type: Application
    Filed: April 4, 2016
    Publication date: October 13, 2016
    Inventors: Murugan Sankaradas, Giuseppe Coviello, Srimat Chakradhar, Marco Gianfico, Emanuel Di Nardo
  • Patent number: 9367357
    Abstract: Methods and systems for scheduling jobs to manycore nodes in a cluster include selecting a job to run according to the job's wait time and the job's expected execution time; sending job requirements to all nodes in a cluster, where each node includes a manycore processor; determining at each node whether said node has sufficient resources to ever satisfy the job requirements and, if no node has sufficient resources, deleting the job; creating a list of nodes that have sufficient free resources at a present time to satisfy the job requirements; and assigning the job to a node, based on a difference between an expected execution time and associated confidence value for each node and a hypothetical fastest execution time and associated hypothetical maximum confidence value.
    Type: Grant
    Filed: April 24, 2014
    Date of Patent: June 14, 2016
    Assignee: NEC Corporation
    Inventors: Srihari Cadambi, Kunal Rao, Srimat Chakradhar, Rajat Phull, Giuseppe Coviello, Murugan Sankaradass, Cheng-Hong Li
  • Publication number: 20160110134
    Abstract: A graph storage and processing system is provided. The system includes a scalable, distributed, fault-tolerant, in-memory graph storage device for storing base graph data representative of graphs. The system further includes a real-time, in memory graph storage device for storing update graph data representative of graph updates for the graphs with respect to a time threshold. The system also includes an in-memory graph sampler for sampling the base graph data to generate sampled portions of the graphs and for storing the sampled portions of the graph. The system additionally includes a query manager for providing a query interface between applications and the system and for forming graph data representative of a complete graph from at least the base graph data and the update graph data, if any. The system also includes a graph computer for processing the sampled portions using batch-type computations to generate approximate results for graph-based queries.
    Type: Application
    Filed: August 20, 2015
    Publication date: April 21, 2016
    Inventors: Kunal Rao, Giuseppe Coviello, Srimat Chakradhar, Souvik Bhattacherjee, Srihari Cadambi
  • Publication number: 20160110404
    Abstract: A method is provided for detecting abnormal changes in real-time in dynamic graphs. The method includes extracting, by a graph sampler, an active sampled graph from an underlying base graph. The method further includes merging, by a graph merger, the active sampled graph with graph updates within a predetermined recent time period to generate a merged graph. The method also includes computing, by a graph diameter computer, a diameter of the merged graph. The method additionally includes determining, by a graph diameter change determination device, whether a graph diameter change exists. The method further includes generating, by an alarm generator, a user-perceptible alarm responsive to the graph diameter change.
    Type: Application
    Filed: August 20, 2015
    Publication date: April 21, 2016
    Inventors: Kunal Rao, Giuseppe Coviello, Srimat Chakradhar, Souvik Bhattacherjee, Srihari Cadambi
  • Publication number: 20160110409
    Abstract: A method in a graph storage and processing system is provided. The method includes storing, in a scalable, distributed, fault-tolerant, in-memory graph storage device, base graph data representative of graphs, and storing, in a real-time, in memory graph storage device, update graph data representative of graph updates for the graphs with respect to a time threshold. The method further includes sampling the base graph data to generate sampled portions of the graphs and storing the sampled portions, by an in-memory graph sampler. The method additionally includes providing, by a query manager, a query interface between applications and the system. The method also includes forming, by the query manager, graph data representative of a complete graph from at least the base graph data and the update graph data, if any. The method includes processing, by a graph computer, the sampled portions using batch-type computations to generate approximate results for graph-based queries.
    Type: Application
    Filed: August 20, 2015
    Publication date: April 21, 2016
    Inventors: Kunal Rao, Giuseppe Coviello, Srimat Chakradhar, Souvik Bhattacherjee, Srihari Cadambi
  • Patent number: 9152467
    Abstract: A method is disclosed to manage a multi-processor system with one or more manycore devices, by managing real-time bag-of-tasks applications for a cluster, wherein each task runs on a single server node, and uses the offload programming model, and wherein each task has a deadline and three specific resource requirements: total processing time, a certain number of manycore devices and peak memory on each device; when a new task arrives, querying each node scheduler to determine which node can best accept the task and each node scheduler responds with an estimated completion time and a confidence level, wherein the node schedulers use an urgency-based heuristic to schedule each task and its offloads; responding to an accept/reject query phase, wherein the cluster scheduler send the task requirements to each node and queries if the node can accept the task with an estimated completion time and confidence level; and scheduling tasks and offloads using a aging and urgency-based heuristic, wherein the aging guarante
    Type: Grant
    Filed: April 6, 2013
    Date of Patent: October 6, 2015
    Assignee: NEC Laboratories America, Inc.
    Inventors: Srihari Cadambi, Kunal Rao, Srimat T. Chakradhar, Rajat Phull, Giuseppe Coviello, Murugan Sankaradass, Cheng-Hong Li
  • Publication number: 20150212823
    Abstract: Methods are provided. A method for swapping-out an offload process from a coprocessor includes issuing a snapify_pause request from a host processor to the coprocessor to initiate a pausing of the offload process executing by the coprocessor and another process executing by the host processor using a plurality of locks. The offload process is previously offloaded from the host processor to the coprocessor. The method further includes issuing a snapify_capture request from the host processor to the coprocessor to initiate a local snapshot capture and saving of the local snapshot capture by the coprocessor. The method also includes issuing a snapify_wait request from the host processor to the coprocessor to wait for the local snapshot capture and the saving of the local snapshot capture to complete by the coprocessor.
    Type: Application
    Filed: December 16, 2014
    Publication date: July 30, 2015
    Inventors: Cheng-Hong Li, Giuseppe Coviello, Srimat Chakradhar, Arash Rezaei
  • Publication number: 20150212892
    Abstract: Methods are provided. A method includes capturing a snapshot of an offload process being executed by one or more many-core processors. The offload process is in signal communication with a host process being executed by a host processor. At least the offload is in signal communication with a monitoring process. The method further includes terminating the offload process on the one or more many-core processors, by the monitor process responsive to a communication between the monitor process and the offload processing being disrupted. The snapshot includes a respective predetermined minimum set of information required to restore a same state of the process as when the snapshot was taken.
    Type: Application
    Filed: December 16, 2014
    Publication date: July 30, 2015
    Inventors: Cheng-Hong Li, Giuseppe Coviello, Srimat Chakradhar, Arash Rezaei
  • Publication number: 20150212733
    Abstract: Systems and methods for swapping out and in pinned memory regions between main memory and a separate storage location in a system, including establishing an offload buffer in an interposing library; swapping out pinned memory regions by transferring offload buffer data from a coprocessor memory to a host processor memory, unregistering and unmapping a memory region employed by the offload buffer from the interposing library, wherein the interposing library is pre-loaded on the coprocessor, and collects and stores information employed during the swapping out. The pinned memory regions are swapped in by mapping and re-registering the files to the memory region employed by the offload buffer, and transferring data of the offload buffer data from the host memory back to the re-registered memory region.
    Type: Application
    Filed: January 23, 2015
    Publication date: July 30, 2015
    Inventors: Cheng-Hong LI, Giuseppe Coviello, Kunal Rao, Murugan Sankaradas, Srihari Cadambi, Srimat Chakradhar, Rajat Phull
  • Patent number: 9086925
    Abstract: A runtime method is disclosed that dynamically sets up core containers and thread-to-core affinity for processes running on manycore coprocessors. The method is completely transparent to user applications and incurs low runtime overhead. The method is implemented within a user-space middleware that also performs scheduling and resource management for both offload and native applications using the manycore coprocessors.
    Type: Grant
    Filed: April 6, 2013
    Date of Patent: July 21, 2015
    Assignee: NEC Laboratories America, Inc.
    Inventors: Cheng-Hong Li, Kunal Rao, Srihari Cadambi, Rajat Phull, Giuseppe Coviello, Murugan Sankaradas, Srimat Chakradhar
  • Publication number: 20150113542
    Abstract: A method is provided for controlling a compute cluster having a plurality of nodes. Each of the plurality of nodes has a respective computing device with a main server and one or more coprocessor-based hardware accelerators. The method includes receiving a plurality of jobs for scheduling. The method further includes scheduling the plurality of jobs across the plurality of nodes responsive to a knapsack-based sharing-aware schedule generated by a knapsack-based sharing-aware scheduler. The knapsack-based sharing-aware schedule is generated to co-locate together on a same computing device certain ones of the plurality of jobs that are mutually compatible based on a set of requirements whose fulfillment is determined using a knapsack-based sharing-aware technique that uses memory as a knapsack capacity and minimizes makespan while adhering to coprocessor memory and thread resource constraints.
    Type: Application
    Filed: October 3, 2014
    Publication date: April 23, 2015
    Inventors: Srihari Cadambi, Giuseppe Coviello, Srimat Chakradhar
  • Publication number: 20140289637
    Abstract: A method for running application software for a mobile device by virtualizing a mobile device operating system (OS); running a virtual instance of the mobile device OS with the application software on a server on the cloud; and rendering on the server and sending a display image for the mobile device screen to be displayed on the mobile device.
    Type: Application
    Filed: January 8, 2014
    Publication date: September 25, 2014
    Applicant: NEC Laboratories America, Inc.
    Inventors: Giuseppe Coviello, Murugan Sankaradass, Srimat Chakradhar, Valentina Pelliccia
  • Publication number: 20140237477
    Abstract: Methods and systems for scheduling jobs to manycore nodes in a cluster include selecting a job to run according to the job's wait time and the job's expected execution time; sending job requirements to all nodes in a cluster, where each node includes a manycore processor; determining at each node whether said node has sufficient resources to ever satisfy the job requirements and, if no node has sufficient resources, deleting the job; creating a list of nodes that have sufficient free resources at a present time to satisfy the job requirements; and assigning the job to a node, based on a difference between an expected execution time and associated confidence value for each node and a hypothetical fastest execution time and associated hypothetical maximum confidence value.
    Type: Application
    Filed: April 24, 2014
    Publication date: August 21, 2014
    Applicant: NEC Laboratories America, Inc.
    Inventors: Srihari Cadambi, Kunal Rao, Srimat Chakradhar, Rajat Phull, Giuseppe Coviello, Murugan Sankaradass, Cheng-Hong Li
  • Publication number: 20140208072
    Abstract: A method is disclosed to manage a multi-processor system with one or more multiple-core coprocessors by intercepting coprocessor offload infrastructure application program interface (API) calls; scheduling user processes to run on one of the coprocessors; scheduling offloads within user processes to run on one of the coprocessors; and affinitizing offloads to predetermined cores within one of the coprocessors by selecting and allocating cores to an offload, and obtaining a thread-to-core mapping from a user.
    Type: Application
    Filed: April 6, 2013
    Publication date: July 24, 2014
    Applicant: NEC Laboratories America, Inc.
    Inventors: Srihari Cadambi, Kunal Rao, Srimat T. Chakradhar, Rajat Phull, Giuseppe Coviello, Murugan Sankaradass, Cheng-Hong Li