| Patent application number | Description | Published |
| 20080312899 | Software feature modeling and recognition - Described is a technology by which software program feature usage is located within a sequence of commands collected during program usage sessions. For example, feature generally corresponds to a series of commands, such as copy and paste. A visual modeling component is controlled via drag-and-drop operations to describe a feature model, which is then compiled by a compiler into a finite state machine. Noise models may be used to exclude any command in the sequence that is irrelevant to the feature usage. A recognition process uses the finite state machine to locate program feature usage within the sequence of recorded commands by matching command sub-sequences corresponding to the feature model via the state machine. An analyzer may then use the located matches to provide an analysis report on feature usage. | 12-18-2008 |
| 20080313149 | Analyzing software usage with instrumentation data - Described is a technology by which software instrumentation data collected from user program sessions are analyzed to output an analysis report or the like via example methods and an architecture configured for efficient operation. A client component queries a service for analysis related information. To process the query, the service works with a data manager, and via a high dimensional analysis component may use information processed from the software instrumentation data, such as in the form of one or more inverted indexes and/or raw value files. The service may include a usage analysis component, a feature recognition component that locates features from command sequences, a user recognition component and/or a program reliability component. One or more counterpart components at the client may generate analysis reports or the like based on the query results. The client also may maintain user libraries and feature libraries to facilitate analyses. | 12-18-2008 |
| 20080313184 | Multidimensional analysis tool for high dimensional data - Described is a technology by which high dimensional data may be efficiently analyzed, including by filtering, grouping, aggregating and/or sorting operations to provide an analysis result. For efficiency in the analysis, an inverted index may be built (e.g., as part of filtering), and/or a hash structure (e.g., as part of grouping). Analysis parameters specify dimensions, on which union and/or intersection operations are performed to provide a final dataset. The analysis tool provides a user interface for inputting analysis parameters and outputting information corresponding to an analysis result. The analysis tool may sort the information corresponding to the analysis result, e.g., to output the topmost or bottommost results. | 12-18-2008 |
| 20080313213 | Efficient data infrastructure for high dimensional data analysis - Described is a technology by which high dimensional source data corresponding to rows of records with identifiers, and columns comprising dimensions of data values, are processed into a file model for efficient access. An inverted index corresponding to any dimension is built by mapping data from raw dimension values to mapped values based on mapping entries in a dimension table. The record identifiers are arranged into subgroups based on their mapped value; a count and/or an offset may be maintained for locating each of the subgroups. The raw values for a dimension are maintained within a raw value file. For sparse data, the raw value file may be compressed, e.g., by excluding nulls and associating a record identifier with each non-null. A data manager provides access to data in the data files, such as by offering various functions, using caching for efficiency. | 12-18-2008 |
| 20080313507 | Software reliability analysis using alerts, asserts and user interface controls - Described is a technology by which software instrumentation data collected during software program usage sessions is analyzed to identify potential problems with software program usage, such as based on frequency of problem occurrence during the usage sessions. Reliability metrics may be calculated from the information. Failure data additionally collected during the usage sessions may be accessed to derive details that correspond to the potential problems. In one example, the information may be analyzed to determine which alerts and/or asserts occurred most often, and/or to determine a relationship between user interface control operations (e.g., clicks and usage of commands) and alerts or asserts. | 12-18-2008 |
| 20080313617 | Analyzing software users with instrumentation data and user group modeling and analysis - Described is a technology by which software instrumentation data collected from user program sessions are analyzed, including by determining program usage metrics and/or command usage metrics. Information representative of the program usage metrics and/or the command usage metrics is output, such as in the form of a report. The software instrumentation data may be further analyzed, such as to determine at least one usage trend over time, and to determine user groups. For example, a usage subset of sessions that meet specified session usage criteria based on a set of session data may be located, along with a subset of users based on users whose sessions meet specified user criteria. The usage and user subsets may be combined via Boolean logic to produce a result set. | 12-18-2008 |
| 20080313633 | Software feature usage analysis and reporting - Described is a technology for analyzing usage of a software program's features. Software instrumentation data is during actual user program usage sessions. The collected data is then processed to determine various feature usage counts and other information, cross-feature usage (e.g., among users who use a feature, how many use another feature or program), and characteristics of feature users, e.g., how long, how much, how often and how extensive feature users use a program. Session analysis may be performed to provide information about the number of sessions in which a set of features occur. Feature usage trends over time may also be determined via analysis. A user interface is described for facilitating selection of one or more features to analyze, for facilitating selection of a group of users, and/or for outputting results corresponding to the analysis. | 12-18-2008 |
| 20100138767 | Multi-Panel User Interface - A user interface and techniques for presenting content in a panel-based layout are described. The user interface has one or more demarcation bars to define multiple panels on a screen area. Different subject matter (e.g., data, content, programs, etc.) may be placed in the various panels. A bar navigation element facilitates navigation of the bar(s) among preset positions. With the bar navigation element, a user can intuitively resize the panels using just a single actuation (e.g., a single click of a mouse, or a stylus tap). The panels remain in their original orientation and relative positioning, and remain visible in the user interface so that the user can track their location. | 06-03-2010 |
| 20100223574 | Multi-Screen User Interface - A user interface and techniques for presenting content in a multiple virtual screens are described. The user interface has one or more multiple virtual screen to define separate and distinct portions of content data. Overview, related content information may be placed in the various multiple virtual screens. Navigation buttons facilitate movement from display of content information in one virtual screen to the display of content information in another virtual screen. With the bar navigation element, a user can intuitively move among the multiple virtual screens using just a single actuation (e.g., a single click of a mouse, or a stylus tap). The multiple virtual screens remain in their original orientation and relative positioning, and remain visible in the user interface so that the user can track their location. | 09-02-2010 |