Patents by Inventor Daniel Davies

Daniel Davies 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: 9672557
    Abstract: One embodiment of the present invention provides a system for dynamically assigning vertices to processors to generate a recommendation for a customer. During operation, the system receives graph data with customer and product vertices and purchase edges. The system traverses the graph from a customer vertex to a set of product vertices. The system divides the set of product vertices among a set of processors. Subsequently, the system determines a set of product frontier vertices for each processor. The system traverses the graph from the set of product frontier vertices to a set of customer vertices. The system divides the set of customer vertices among a set of processors. Then, the system determines a set of customer frontier vertices for each processor. The system traverses the graph from the set of customer frontier vertices to a set of recommendable product vertices. The system generates one or more product recommendations for the customer.
    Type: Grant
    Filed: October 11, 2013
    Date of Patent: June 6, 2017
    Assignee: PALO ALTO RESEARCH CENTER INCORPORATED
    Inventors: Rong Zhou, Daniel Davies
  • Publication number: 20170142456
    Abstract: Embodiments herein provide for protocol independent asset insertion decisioning. One embodiment provides for communicatively coupling a plurality of COD providers to a request manager and communicatively coupling a plurality of ADSs to the request manager. Some of the COD providers have different communication protocols. The request manager processes requests from the COD content providers for asset insertions from the ADSs according to the communication protocols of the COD providers, receives asset insertion decisions from the ADSs, and conveys the asset insertion decisions of the ADSs to the COD providers. The request manager then processes a request from a first of the COD providers to switch from a first of the ADSs to a second of the ADSs, directs the second ADS to perform an asset insertion decision on behalf of the first COD provider, and conveys the asset insertion decision from the second ADS to the first COD provider.
    Type: Application
    Filed: November 17, 2015
    Publication date: May 18, 2017
    Inventor: Daniel Davies
  • Patent number: 9558138
    Abstract: A system and method for making and using a computing system with unified storage, processing, and network switch fabrics are provided. Processing nodes, either physical or virtual, are associated with intra-module ports, inter-module ports, and local storage spaces. A plurality of processing nodes are linked through intra-module ports to form processing modules. A plurality of the processing modules are further connected through inter-module ports to form the computing system. Several inter-module connection schemes are described, each of which can be adapted to use with existing network packet routing algorithms. Each processing node need only to keep track of the states of its directly connected neighbors, obviating the need for a high-speed connection to the rest processing nodes within the system. As a result, dedicated network switching equipment is not needed and network capacity grows naturally as processing nodes are added.
    Type: Grant
    Filed: June 24, 2014
    Date of Patent: January 31, 2017
    Assignee: Palo Alto Research Center Incorporated
    Inventor: Daniel Davies
  • Patent number: 9530056
    Abstract: A method (300) is provided for classifying an image as being one of a daytime image or a nighttime image. The method includes: obtaining an image to be analyzed (302); determining a first parameter (nH) representative of a first amount of pixels in the image that are sufficiently red or yellow (308); determining a second parameter (nV) representative of a second amount of pixels in the image that are sufficiently light (308); and classifying an image as one of a daytime image or a nighttime image based upon the first and second parameters (310, 312, 314).
    Type: Grant
    Filed: June 15, 2012
    Date of Patent: December 27, 2016
    Inventors: Bhaskar Saha, Daniel Davies, Ajay Raghavan
  • Patent number: 9529935
    Abstract: One embodiment of the present invention provides a computing system. The computing system includes a processor and a memory. The memory stores instructions which when executed by the processor cause the processor to perform a method. The method comprises identifying a first vertex and a second vertex in a graph as candidates for a link between the first and the second vertices. The first and second vertices represent elements in a data set. The method further comprises determining a link indicator based on a first link count, which indicates a sum of respective weights of links of a vertex, associated with the first vertex and a second link count associated with the second vertex. The method also includes determining whether to connect the first and second vertices with a link based on the link indicator's conformity with a link threshold, which determines whether to connect two vertices using a link.
    Type: Grant
    Filed: February 26, 2014
    Date of Patent: December 27, 2016
    Assignee: PALO ALTO RESEARCH CENTER INCORPORATED
    Inventor: Daniel Davies
  • Patent number: 9529887
    Abstract: One embodiment of the present invention provides a computing system, which identifies, for graph clustering, first and second sets of vertices in a graph. A respective vertex in the first set of vertices is an exemplar. A respective vertex in the second set of vertices is not an exemplar and not associated with a vertex identifier. The system assigns a vertex identifier of a first vertex in the first set to a second vertex in the second set based on type and strength of relationship between the vertices. The vertices represent elements in a data set. The vertex identifiers of the first and second vertices do not change before convergence. The system allocates the first vertex and the second vertex to a first vertex cluster associated with the vertex identifier, and detects convergence based on modularity associated with vertex clusters representing information of interest in the data set.
    Type: Grant
    Filed: December 10, 2013
    Date of Patent: December 27, 2016
    Assignee: PALO ALTO RESEARCH CENTER INCORPORATED
    Inventor: Daniel Davies
  • Patent number: 9400834
    Abstract: One embodiment of the present invention provides a computing system. The computing system includes a processor and a computer-readable storage medium. The computer-readable storage medium stores instructions which when executed by the processor cause the processor to perform a method. The method comprises assigning a vertex identifier of a first vertex to a second vertex in a graph based on an edge between the first vertex and the second vertex. The vertices represent elements in a data set, the edge represents a type and strength of relationship between the vertices. The method further comprises provisionally assigning each vertex to a vertex cluster associated with the vertex identifier, and converging the assignments based on a measure of cluster quality associated with all the vertex clusters. Each vertex cluster represents information of interest in the data set. One measure of clustering quality is called “modularity.
    Type: Grant
    Filed: December 6, 2013
    Date of Patent: July 26, 2016
    Assignee: PALO ALTO RESEARCH CENTER INCORPORATED
    Inventor: Daniel Davies
  • Patent number: 9330411
    Abstract: One embodiment of the present invention provides a system for generating a product recommendation. During operation, the system receives graph data indicating vertices and edges of the graph. The vertices represent customers and products and the edges represent purchases. The system then receives a query of the graph to determine a product recommendation. Next, the system generates a finite-state machine (FSM) based on the query, executes the query, and determines whether a current state of the FSM is a traversal state. In response to the current state being a traversal state, the system generates a traversal FSM. The system then searches the traversal FSM for a nearest future traversal state, generates a bitmask for the future traversal state, and utilizes the generated bitmask when executing the future traversal state to generate the product recommendation.
    Type: Grant
    Filed: September 27, 2013
    Date of Patent: May 3, 2016
    Assignee: PALO ALTO RESEARCH CENTER INCORPORATED
    Inventors: Rong Zhou, Daniel Davies
  • Publication number: 20150370741
    Abstract: A system and method for making and using a computing system framework with unified storage, processing, and network switching fabrics are provided. Processing nodes, either physical or virtual, are associated with intra-module ports, inter-module ports, and local storage spaces. A plurality of processing nodes are linked through intra-module ports to form processing modules. A plurality of the processing modules are connected through inter-module ports to form the computing system. Network switch can be incorporated into intra-module or inter-module connections. Several inter-module connection schemes, which can be adapted to use with existing network packet routing algorithms, are disclosed. Each processing node needs only to keep track of the states of its directly connected neighbors, obviating the need for a high-speed connection to the rest processing nodes within the system. Dedicated network switching equipment can be flexibly employed and network capacity grows naturally as processing nodes are added.
    Type: Application
    Filed: October 10, 2014
    Publication date: December 24, 2015
    Inventor: Daniel Davies
  • Publication number: 20150370740
    Abstract: A system and method for making and using a computing system with unified storage, processing, and network switch fabrics are provided. Processing nodes, either physical or virtual, are associated with intra-module ports, inter-module ports, and local storage spaces. A plurality of processing nodes are linked through intra-module ports to form processing modules. A plurality of the processing modules are further connected through inter-module ports to form the computing system. Several inter-module connection schemes are described, each of which can be adapted to use with existing network packet routing algorithms. Each processing node need only to keep track of the states of its directly connected neighbors, obviating the need for a high-speed connection to the rest processing nodes within the system. As a result, dedicated network switching equipment is not needed and network capacity grows naturally as processing nodes are added.
    Type: Application
    Filed: June 24, 2014
    Publication date: December 24, 2015
    Inventor: Daniel Davies
  • Publication number: 20150310644
    Abstract: One embodiment of the present invention provides a computing system. The computing system includes a processor and a computer-readable storage medium. The computer-readable storage medium stores instructions which when executed by the processor cause the processor to perform a method. The method comprises obtaining from a first data structure one or more pointers to corresponding elements in a second data structure. A respective vertex of a graph corresponds to an element in the first data structure and the graph supports multiple edge types between respective vertex pairs. The method further comprises obtaining from the second data structure a respective edge type associated with a respective vertex and a respective successor vertex of the edge type and enumerating a respective successor vertex of an edge type of a vertex from the second data structure based on a pointer in an element in the first data structure associated with the vertex.
    Type: Application
    Filed: April 28, 2014
    Publication date: October 29, 2015
    Applicant: Palo Alto Research Center Incorporated
    Inventors: Rong Zhou, Daniel Davies
  • Patent number: 9165268
    Abstract: A method for determining a marking material usage estimate for a print job to be performed by a printing system is provided. The method is implemented in a computer system having one or more processors configured to execute one or more computer program modules. The method includes receiving compressed data of an image of the print job, wherein the image has a plurality of image pixels each having an image pixel intensity value, wherein the image pixels are transformed into the compressed data using a compression scheme; obtaining marking material usage statistics by partially decompressing the compressed data so as to obtain average pixel intensity values of the image pixels in the image; and determining the marking material usage estimate for the print job using the obtained marking material usage statistics.
    Type: Grant
    Filed: May 7, 2012
    Date of Patent: October 20, 2015
    Assignee: XEROX CORPORATION
    Inventor: Daniel Davies
  • Publication number: 20150242532
    Abstract: One embodiment of the present invention provides a computing system. The computing system includes a processor and a memory. The memory stores instructions which when executed by the processor cause the processor to perform a method. The method comprises identifying a first vertex and a second vertex in a graph as candidates for a link between the first and the second vertices. The first and second vertices represent elements in a data set. The method further comprises determining a link indicator based on a first link count, which indicates a sum of respective weights of links of a vertex, associated with the first vertex and a second link count associated with the second vertex. The method also includes determining whether to connect the first and second vertices with a link based on the link indicator's conformity with a link threshold, which determines whether to connect two vertices using a link.
    Type: Application
    Filed: February 26, 2014
    Publication date: August 27, 2015
    Applicant: Palo Alto Research Center Incorporated
    Inventor: Daniel Davies
  • Publication number: 20150193854
    Abstract: One embodiment of the present invention provides a system for generating a product recommendation by translating transaction data to graph representation for input to a graph analytics application. During operation, the system generates a transaction table to store transaction data, a customer table to store customer data, and a product table to store products data. The system generates a table containing topology and edge identifier information and a table containing edge attribute information. Next, the system generates headers that include data describing the customer table and/or the product table and/or the table containing edge attribute information. The system then generates files containing the one or more headers and data from the tables, in which the data describes a graph with edges representing transactions and vertices representing customers or products. Subsequently, the system submits the one or more files as input to the graph analytics application to generate a product recommendation.
    Type: Application
    Filed: January 6, 2014
    Publication date: July 9, 2015
    Applicant: Palo Alto Research Center Incorporated
    Inventors: Eric Huang, Rong Zhou, Daniel Davies
  • Publication number: 20150161228
    Abstract: One embodiment of the present invention provides a computing system. The computing system includes a processor and a computer-readable storage medium. The computer-readable storage medium stores instructions which when executed by the processor cause the processor to perform a method. The method comprises assigning a vertex identifier of a first vertex to a second vertex in a graph based on an edge between the first vertex and the second vertex. The vertices represent elements in a data set, the edge represents a type and strength of relationship between the vertices. The method further comprises provisionally assigning each vertex to a vertex cluster associated with the vertex identifier, and converging the assignments based on a measure of cluster quality associated with all the vertex clusters. Each vertex cluster represents information of interest in the data set. One measure of clustering quality is called “modularity.
    Type: Application
    Filed: December 6, 2013
    Publication date: June 11, 2015
    Applicant: Palo Alto Research Center Incorporated
    Inventor: Daniel Davies
  • Publication number: 20150161229
    Abstract: One embodiment of the present invention provides a computing system, which identifies, for graph clustering, first and second sets of vertices in a graph. A respective vertex in the first set of vertices is an exemplar. A respective vertex in the second set of vertices is not an exemplar and not associated with a vertex identifier. The system assigns a vertex identifier of a first vertex in the first set to a second vertex in the second set based on type and strength of relationship between the vertices. The vertices represent elements in a data set. The vertex identifiers of the first and second vertices do not change before convergence. The system allocates the first vertex and the second vertex to a first vertex cluster associated with the vertex identifier, and detects convergence based on modularity associated with vertex clusters representing information of interest in the data set.
    Type: Application
    Filed: December 10, 2013
    Publication date: June 11, 2015
    Applicant: Palo Alto Research Center Incorporated
    Inventor: Daniel Davies
  • Publication number: 20150106223
    Abstract: One embodiment of the present invention provides a system for dynamically assigning vertices to processors to generate a recommendation for a customer. During operation, the system receives graph data with customer and product vertices and purchase edges. The system traverses the graph from a customer vertex to a set of product vertices. The system divides the set of product vertices among a set of processors. Subsequently, the system determines a set of product frontier vertices for each processor. The system traverses the graph from the set of product frontier vertices to a set of customer vertices. The system divides the set of customer vertices among a set of processors. Then, the system determines a set of customer frontier vertices for each processor. The system traverses the graph from the set of customer frontier vertices to a set of recommendable product vertices. The system generates one or more product recommendations for the customer.
    Type: Application
    Filed: October 11, 2013
    Publication date: April 16, 2015
    Applicant: Palo Alto Research Center Incorporated
    Inventors: Rong Zhou, Daniel Davies
  • Publication number: 20150095182
    Abstract: One embodiment of the present invention provides a system for generating a product recommendation. During operation, the system receives graph data indicating vertices and edges of the graph. The vertices represent customers and products and the edges represent purchases. The system then receives a query of the graph to determine a product recommendation. Next, the system generates a finite-state machine (FSM) based on the query, executes the query, and determines whether a current state of the FSM is a traversal state. In response to the current state being a traversal state, the system generates a traversal FSM. The system then searches the traversal FSM for a nearest future traversal state, generates a bitmask for the future traversal state, and utilizes the generated bitmask when executing the future traversal state to generate the product recommendation.
    Type: Application
    Filed: September 27, 2013
    Publication date: April 2, 2015
    Applicant: Palo Alto Research Center Incorporated
    Inventors: Rong Zhou, Daniel Davies
  • Patent number: 8705893
    Abstract: A system which generates a floor plan of a building includes: a camera which obtains a series of images as it is moved, each image represented by a first data set representing color and a second 3D data set representing depth. A processor generates the floor plan from the image data, defined by polylines that represent structures of the building and polygons that represent an area which has been observed by the camera. Suitably, the processor: performs a local matching sub-process which is operative to align two adjacent images with one another; performs a global matching sub-process in which key images and registered to one another; finds a 2D subset of points from the image data associated with each image, corresponding to a plane defined therethrough; determines the polylines based on said subset of points; and defines the polygons based on the polylines and a determined pose of the camera.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: April 22, 2014
    Assignee: Palo Alto Research Center Incorporated
    Inventors: Ying Zhang, Juan Liu, Craig Eldershaw, David Garcia, Daniel Davies, Kelly L. Coupe, Chuanjiang Luo
  • Patent number: D765496
    Type: Grant
    Filed: September 25, 2015
    Date of Patent: September 6, 2016
    Inventors: Tim White, Daniel Davies