Patents Assigned to SAS Institute
-
Patent number: 9811524Abstract: 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: GrantFiled: July 26, 2016Date of Patent: November 7, 2017Assignee: SAS Institute Inc.Inventors: Brian Payton Bowman, Steven E. Krueger, Richard Todd Knight, Chih-Wei Ho
-
Patent number: 9811505Abstract: 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: GrantFiled: March 18, 2016Date of Patent: November 7, 2017Assignee: SAS Institute Inc.Inventors: Tammy Gagliano, Yifei Li, Bin Zhou, Bo Wang, Wei Wu
-
Patent number: 9805324Abstract: 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: GrantFiled: September 13, 2016Date of Patent: October 31, 2017Assignee: SAS Institute Inc.Inventors: Bingfeng Ding, Feng Chen, Kevin L. Scott, Metin Balikcioglu, Tugrul Sanli, Xiaodong Yao
-
Patent number: 9798755Abstract: 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: GrantFiled: February 12, 2015Date of Patent: October 24, 2017Assignee: SAS Institute Inc.Inventors: James Howard Goodnight, Oliver Schabenberger
-
Patent number: 9798575Abstract: 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: GrantFiled: May 6, 2014Date of Patent: October 24, 2017Assignee: SAS Institute Inc.Inventors: Xilong Chen, Mark Roland Little
-
Patent number: 9792562Abstract: 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: GrantFiled: October 27, 2016Date of Patent: October 17, 2017Assignee: SAS Institute Inc.Inventors: Xu Chen, Tao Wang
-
Patent number: 9785467Abstract: 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: GrantFiled: March 21, 2017Date of Patent: October 10, 2017Assignee: SAS Institute Inc.Inventors: Stacey Michelle Christian, Steven Daniel Miles, Steven E. Krueger
-
Patent number: 9785336Abstract: 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: GrantFiled: August 17, 2012Date of Patent: October 10, 2017Assignee: SAS Institute Inc.Inventors: Claude Edward Summers, II, Robert E. Allison, Jr., Julianna Elizabeth Langston, Jennifer Antonia Cowley
-
Publication number: 20170286509Abstract: 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: ApplicationFiled: March 30, 2017Publication date: October 5, 2017Applicant: SAS Institute Inc.Inventors: Stacey Michelle Christian, Michael Stephen Whitcher, Donald Kent McAlister, Phillip Elliot Hanna
-
Publication number: 20170286007Abstract: 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: ApplicationFiled: March 31, 2017Publication date: October 5, 2017Applicant: SAS Institute Inc.Inventors: Donald Kent McAlister, Daniel Jacob Underwood
-
Publication number: 20170284903Abstract: 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: ApplicationFiled: March 24, 2017Publication date: October 5, 2017Applicant: SAS Institute Inc.Inventors: THOMAS DALE ANDERSON, JAMES EDWARD DUARTE, MILAD FALAHI, MICHAEL JAMES LEONARD, DAVID BRUCE ELSHEIMER
-
Publication number: 20170286520Abstract: 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: ApplicationFiled: March 30, 2017Publication date: October 5, 2017Applicant: SAS Institute Inc.Inventors: Stacey Michelle Christian, Michael Stephen Whitcher, Donald Kent McAlister, Phillip Elliot Hanna
-
Patent number: 9778876Abstract: 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: GrantFiled: March 31, 2017Date of Patent: October 3, 2017Assignee: SAS Institute Inc.Inventors: Donald Kent McAlister, Daniel Jacob Underwood
-
Publication number: 20170277562Abstract: 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: ApplicationFiled: March 21, 2017Publication date: September 28, 2017Applicant: SAS Institute Inc.Inventors: Stacey Michelle Christian, Steven Daniel Miles, Steven E. Krueger
-
Patent number: 9773211Abstract: 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: GrantFiled: January 15, 2015Date of Patent: September 26, 2017Assignee: SAS Institute Inc.Inventor: Clayton Adam Barker
-
Publication number: 20170269970Abstract: 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: ApplicationFiled: June 5, 2017Publication date: September 21, 2017Applicant: SAS Institute Inc.Inventors: Henry Gabriel Victor Bequet, Kais Arfaoui, Ronald Earl Stogner
-
Patent number: 9760376Abstract: 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: GrantFiled: February 1, 2017Date of Patent: September 12, 2017Assignee: SAS Institute Inc.Inventors: Henry Gabriel Victor Bequet, Huina Chen
-
Patent number: 9760273Abstract: 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: GrantFiled: March 10, 2015Date of Patent: September 12, 2017Assignee: 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: 20170255468Abstract: 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: ApplicationFiled: February 1, 2017Publication date: September 7, 2017Applicant: SAS Institute Inc.Inventors: Henry Gabriel Victor Bequet, Huina Chen
-
Patent number: 9753767Abstract: 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: GrantFiled: February 13, 2017Date of Patent: September 5, 2017Assignee: SAS Institute Inc.Inventors: Nancy Anne Rausch, Ronald Agresta, Roger Jay Barney, Willem Abraham Hazejager