Patents Assigned to SAS Institute
  • Patent number: 9811524
    Abstract: An apparatus comprising a processor component to: provide, to a control device, an indication of availability to perform a processing task with one or more data set portions as a node device; perform a processing task specified by the control device with the one or more data set portions; and request a pointer to a location at which to store the one or more data set portions as a data block within a data file. In response to the data set including partitioned data, for each data set portion, include a data sub-block size of the data set portion and a hashed identifier derived from a partition label of a partition in the request; receive, from the control device, the requested pointer to the location; and store each data set portion as a data sub-block within the data block starting at the location within the data file.
    Type: Grant
    Filed: July 26, 2016
    Date of Patent: November 7, 2017
    Assignee: SAS Institute Inc.
    Inventors: Brian Payton Bowman, Steven E. Krueger, Richard Todd Knight, Chih-Wei Ho
  • Patent number: 9811505
    Abstract: Various embodiments include a system having interfaces, storage devices, memory, and processing circuitry. The system may include logic to render a portion of a first layer and a portion of a second layer for presentation, determine parameters of tokens for the second layer based a result of the rendering of the second layer, the parameters to include at least one of token width values, token offset values, line height values, and line top values. The system also to align the first layer and the second layer based on the parameters of the tokens for the second layer, and present the first layer and the second layer on a display, the first layer to present tokens and the second layer to receive events.
    Type: Grant
    Filed: March 18, 2016
    Date of Patent: November 7, 2017
    Assignee: SAS Institute Inc.
    Inventors: Tammy Gagliano, Yifei Li, Bin Zhou, Bo Wang, Wei Wu
  • Patent number: 9805324
    Abstract: Exemplary embodiments are generally directed to methods, mediums, and systems for accounting for extensions or reductions of the period for which a resource (e.g., computer processor time, scientific apparatus, storage units, devices, etc.) is allocated. According to exemplary embodiments, allocation-based aggregated effects of extension and relinquishment are modeled. The modeled effects are used to offset allocation forecasts based on historical data. As a result, the dimensionality of the problem of incorporating in-house data is greatly reduced as compared to other techniques, and allocation forecasts can be made more accurately and efficiently.
    Type: Grant
    Filed: September 13, 2016
    Date of Patent: October 31, 2017
    Assignee: SAS Institute Inc.
    Inventors: Bingfeng Ding, Feng Chen, Kevin L. Scott, Metin Balikcioglu, Tugrul Sanli, Xiaodong Yao
  • Patent number: 9798755
    Abstract: A data processing system having multiple executable threads is configured to generate a cross-product matrix in a single pass through data. An example system comprises memory for receiving the data, a processor having a plurality of executable threads, and software code for generating a cross-product matrix in a single pass through the data. The software code includes threaded variable levelization code for generating thread specific binary trees for classification variables, variable tree merge code for combining the thread-specific trees into overall trees for the classification variables, effect levelization code for generating sub-matrices of the cross-product matrix using the overall trees for the classification variables, and cross-product matrix generation code for generating the cross-product matrix by storing and ordering the elements of the sub-matrices in contiguous memory space.
    Type: Grant
    Filed: February 12, 2015
    Date of Patent: October 24, 2017
    Assignee: SAS Institute Inc.
    Inventors: James Howard Goodnight, Oliver Schabenberger
  • Patent number: 9798575
    Abstract: Techniques to manage virtual classes for statistical tests are described. An apparatus may comprise a simulated data component to generate simulated data for a statistical test, statistics of the statistical test based on parameter vectors to follow a probability distribution, a statistic simulator component to simulate statistics for the parameter vectors from the simulated data with a distributed computing system comprising multiple nodes each having one or more processors capable of executing multiple threads, the simulation to occur by distribution of portions of the simulated data across the multiple nodes of the distributed computing system, and a distributed control engine to control task execution on the distributed portions of the simulated data on each node of the distributed computing system with a virtual software class arranged to coordinate task and sub-task operations across the nodes of the distributed computing system. Other embodiments are described and claimed.
    Type: Grant
    Filed: May 6, 2014
    Date of Patent: October 24, 2017
    Assignee: SAS Institute Inc.
    Inventors: Xilong Chen, Mark Roland Little
  • Patent number: 9792562
    Abstract: A computing device predicts occurrence of an event or classifies an object using semi-supervised data. A label set defines permissible values for a target variable. A value of the permissible values is defined for a subset of observation vectors. A predefined number of times, a distance matrix is computed that defines a distance value between pairs of observation vectors using a distance function and a converged classification matrix; a number of observation vectors is selected that have minimum values for the distance value; a label is requested and a response is received for each of the selected observation vectors; the value of the target variable is updated for each of the selected observation vectors with the received response; and the value of the target variable is determined again by recomputing the converged classification matrix. The value of the target variable for each observation vector is output to a second dataset.
    Type: Grant
    Filed: October 27, 2016
    Date of Patent: October 17, 2017
    Assignee: SAS Institute Inc.
    Inventors: Xu Chen, Tao Wang
  • Patent number: 9785467
    Abstract: An apparatus includes a processor and a storage storing instructions causing the processor to determine whether an analysis routine is multi-threaded and calls a library function of a non-threadsafe library, and if so, causes the processor to: instantiate an analysis process for executing the analysis routine on multiple threads; instantiate an instance of the library for execution within a isolated library process; instantiate another instance of the library for execution within another isolated library process; retrieve library metadata providing a function prototype of the library function; employ the function prototype to generate an instance of a bridge routine to enable a call from the analysis routine on a first thread to the library function; employ the function prototype to generate another instance of the bridge routine to enable a call from the analysis routine on a second thread to the library function; and begin execution of the analysis routine.
    Type: Grant
    Filed: March 21, 2017
    Date of Patent: October 10, 2017
    Assignee: SAS Institute Inc.
    Inventors: Stacey Michelle Christian, Steven Daniel Miles, Steven E. Krueger
  • Patent number: 9785336
    Abstract: Systems and methods are provided, at an accessible electronic device having a visual display with a touch-sensitive surface, for displaying on the visual display a graphic visualization having a plurality of graphic elements, and in response to detecting a navigation gesture by a finger on the touch-sensitive surface, selecting one of the plurality of graphic elements and outputting accessibility information associated with the selected graphic element. Systems and methods are also provided for generating computer code for converting a data set into graphic visualization annotated with accessibility information.
    Type: Grant
    Filed: August 17, 2012
    Date of Patent: October 10, 2017
    Assignee: SAS Institute Inc.
    Inventors: Claude Edward Summers, II, Robert E. Allison, Jr., Julianna Elizabeth Langston, Jennifer Antonia Cowley
  • Publication number: 20170286509
    Abstract: An apparatus includes a processor and storage storing instructions causing the processor to store, at a node device of a grid of node devices, a data block of a data blob, receive data blob metadata indicative of an organization of data items within the data blob, receive a command to generate, from the data block, at least one row of a representation portion of a plurality of representation portions from which a 2D representation of the data blob is to be generated, use the data blob metadata and a node block map indicative of which data items of the data block are required to generate the representation portion to derive one or more transforms to be performed with the data block to generate the at least one row of the representation portion, and perform the one or more transforms with the data block to generate the at least one row.
    Type: Application
    Filed: March 30, 2017
    Publication date: October 5, 2017
    Applicant: SAS Institute Inc.
    Inventors: Stacey Michelle Christian, Michael Stephen Whitcher, Donald Kent McAlister, Phillip Elliot Hanna
  • Publication number: 20170286007
    Abstract: An apparatus includes a processor and a storage storing instructions causing the processor to compare quantities of node devices storing partitions and of the partitions to determine whether the node device quantity is less than the partition quantity. In response to the node device quantity of node being less: for each stored copy of each partition, assign a cost to load the copy of the partition based at least on a size of the partition; add dummy node devices to cause the node device quantity to at least equal the partition quantity; for each dummy node device, assign a very high cost to load each partition; use MILP to derive a first pass assignment of a single copy of each partition to be loaded within either a node device or dummy node device; and transmit an indication of at least the first pass assignment to the node devices.
    Type: Application
    Filed: March 31, 2017
    Publication date: October 5, 2017
    Applicant: SAS Institute Inc.
    Inventors: Donald Kent McAlister, Daniel Jacob Underwood
  • Publication number: 20170284903
    Abstract: Machine health can be monitored using multiple sensors. For example, a computing device can determine a target sensor to monitor from among multiple sensors associated with the machine. The computing device can determine magnitude values for a particular component of a time series associated with the target sensor. The computing device can generate a dataset including the magnitude values for the particular component of the time series and the sensor measurements from the multiple sensors. The computing device can generate a model using the dataset. The computing device can then receive additional sensor-measurements from the multiple sensors and use the model to determine a predicted magnitude-value for the particular component of the time series based on the additional sensor-measurements. The computing device can use the predicted magnitude-value to identify an anomaly with the machine.
    Type: Application
    Filed: March 24, 2017
    Publication date: October 5, 2017
    Applicant: SAS Institute Inc.
    Inventors: THOMAS DALE ANDERSON, JAMES EDWARD DUARTE, MILAD FALAHI, MICHAEL JAMES LEONARD, DAVID BRUCE ELSHEIMER
  • Publication number: 20170286520
    Abstract: An apparatus includes a processor and a storage storing instructions causing the processor to receive representation metadata indicating features of representation data to be generated from a plurality of representation portions, receive a command to generate at least one row of the representation data, determine a subset of data blocks of a data blob required to generate the at least one row, and a subset of node devices that store the subset of data blocks, for each node device of the subset of node devices, derive a node block map identifying at least one data item of a data block for generating a representation portion, transmit the node block maps to the subset of node devices; and transmit a command to the subset of node devices to each generate at least one row of one of the plurality of representation portions.
    Type: Application
    Filed: March 30, 2017
    Publication date: October 5, 2017
    Applicant: SAS Institute Inc.
    Inventors: Stacey Michelle Christian, Michael Stephen Whitcher, Donald Kent McAlister, Phillip Elliot Hanna
  • Patent number: 9778876
    Abstract: An apparatus includes a processor and a storage storing instructions causing the processor to compare quantities of node devices storing partitions and of the partitions to determine whether the node device quantity is less than the partition quantity. In response to the node device quantity of node being less: for each stored copy of each partition, assign a cost to load the copy of the partition based at least on a size of the partition; add dummy node devices to cause the node device quantity to at least equal the partition quantity; for each dummy node device, assign a very high cost to load each partition; use MILP to derive a first pass assignment of a single copy of each partition to be loaded within either a node device or dummy node device; and transmit an indication of at least the first pass assignment to the node devices.
    Type: Grant
    Filed: March 31, 2017
    Date of Patent: October 3, 2017
    Assignee: SAS Institute Inc.
    Inventors: Donald Kent McAlister, Daniel Jacob Underwood
  • Publication number: 20170277562
    Abstract: An apparatus includes a processor and a storage storing instructions causing the processor to determine whether an analysis routine is multi-threaded and calls a library function of a non-threadsafe library, and if so, causes the processor to: instantiate an analysis process for executing the analysis routine on multiple threads; instantiate an instance of the library for execution within a isolated library process; instantiate another instance of the library for execution within another isolated library process; retrieve library metadata providing a function prototype of the library function; employ the function prototype to generate an instance of a bridge routine to enable a call from the analysis routine on a first thread to the library function; employ the function prototype to generate another instance of the bridge routine to enable a call from the analysis routine on a second thread to the library function; and begin execution of the analysis routine.
    Type: Application
    Filed: March 21, 2017
    Publication date: September 28, 2017
    Applicant: SAS Institute Inc.
    Inventors: Stacey Michelle Christian, Steven Daniel Miles, Steven E. Krueger
  • Patent number: 9773211
    Abstract: A graphical display of values generated according to a penalized regression model for multiple parameters of a data set shows the values as a graph having a first axis that represents magnitude of multiple parameter estimates of the penalized regression model and having a second axis that represents parameter estimate values of the multiple parameters of the penalized regression model. A user input is received that comprises a change to a parameter handle of the graphical display and changes at least one data parameter of the penalized regression model. The graphical display is changed such that the graphical display shows a representation of the values for the penalized regression model in accordance with the changes.
    Type: Grant
    Filed: January 15, 2015
    Date of Patent: September 26, 2017
    Assignee: SAS Institute Inc.
    Inventor: Clayton Adam Barker
  • Publication number: 20170269970
    Abstract: An apparatus includes a processor and a storage storing instructions causing the processor to: maintain a federated area; receive a request to perform a job flow with a data set from a remote device; retrieve a job flow definition specifying the tasks of the job flow from the federated area; determine whether there is an instance log in the federated area generated by a previous performance of the job flow with the data set; in response to there being such an instance log, retrieve the version specified in the instance log of each task routine for each task from the federated area; in response to there being no such instance log, retrieve the most recent version of each task routine; perform the job flow with the retrieved versions of the task routines and the data set to generate a result report; and provide the result report to the remote device.
    Type: Application
    Filed: June 5, 2017
    Publication date: September 21, 2017
    Applicant: SAS Institute Inc.
    Inventors: Henry Gabriel Victor Bequet, Kais Arfaoui, Ronald Earl Stogner
  • Patent number: 9760376
    Abstract: An apparatus may include a processor and storage to store instructions that cause the processor to perform operations including: in response to a determination that a GPU of a node device is available, determine whether a task routine can be compiled to generate a GPU task routine for execution by the GPU to cause performance of multiple instances of a task of the task routine at least partially in parallel without dependencies thereamong; and in response to a determination that the task routine is able to be compiled to generate the GPU task routine: employ a conversion rule to convert the task routine into the GPU task routine; compile the GPU task routine for execution by the GPU; and assign performance of the task with a data set partition to the node device to enable performance of the multiple instances with the data set partition by the GPU.
    Type: Grant
    Filed: February 1, 2017
    Date of Patent: September 12, 2017
    Assignee: SAS Institute Inc.
    Inventors: Henry Gabriel Victor Bequet, Huina Chen
  • Patent number: 9760273
    Abstract: A method of rendering an overview axis is provided. A first indicator indicating a first graph element type to present in a canvas panel is received. First sample data is generated to render an instance of the first graph element type in the canvas panel. A second instance of the first graph element type is rendered in an overview axis using the generated first sample data. A second indicator indicating a second graph element type as a basis for presenting the overview axis is received, wherein the second graph element type is a different graph element type from the first graph element type. Second sample data is generated to render an instance of the second graph element type in the overview axis to replace the rendered second instance of the first graph element type.
    Type: Grant
    Filed: March 10, 2015
    Date of Patent: September 12, 2017
    Assignee: SAS Institute Inc.
    Inventors: Ravinder Devarajan, Himesh G. Patel, Pat Berryman, Lisa Hope Everdyke, Bradley Edward Morris, Christopher Kendrick Edwards, Jordan Riley Benson, Timothy Joel Erikson
  • Publication number: 20170255468
    Abstract: An apparatus may include a processor and storage to store instructions that cause the processor to perform operations including: in response to a determination that a GPU of a node device is available, determine whether a task routine can be compiled to generate a GPU task routine for execution by the GPU to cause performance of multiple instances of a task of the task routine at least partially in parallel without dependencies thereamong; and in response to a determination that the task routine is able to be compiled to generate the GPU task routine: employ a conversion rule to convert the task routine into the GPU task routine; compile the GPU task routine for execution by the GPU; and assign performance of the task with a data set partition to the node device to enable performance of the multiple instances with the data set partition by the GPU.
    Type: Application
    Filed: February 1, 2017
    Publication date: September 7, 2017
    Applicant: SAS Institute Inc.
    Inventors: Henry Gabriel Victor Bequet, Huina Chen
  • Patent number: 9753767
    Abstract: An apparatus may include a processor and storage to store instructions that cause the processor to perform operations including: generate a current data set model descriptive of a characteristic of a current data set; compare the current data set model to at least one previously generated data set model descriptive of a characteristic of a previously analyzed data set; in response to detection of a match within a similarity threshold: retrieve an indication from a correlation database of an action previously performed on a previously analyzed data set; select a computer language based on node data descriptive of characteristics of a node device execution environment; generate node instructions in the selected computer language and based on the current data set model to cause the node device to perform the previously performed action on a portion of the current data set; and transmit the node instructions to the node device.
    Type: Grant
    Filed: February 13, 2017
    Date of Patent: September 5, 2017
    Assignee: SAS Institute Inc.
    Inventors: Nancy Anne Rausch, Ronald Agresta, Roger Jay Barney, Willem Abraham Hazejager