US Pat. No. 9,336,203

SEMANTICS-ORIENTED ANALYSIS OF LOG MESSAGE CONTENT

TIBCO Software Inc., Pal...

1. A system for computer parsing a log message, comprising:
a communication interface configured to receive the log message, wherein the log message includes a computer log message;
and

a processor coupled with the communication interface and configured to:
identify one or more portions of the log message to be separately extracted;
extract from each identified portion a value using an extraction rule associated with the identified portion, wherein an identified
portion of the log message can only be extracted by a single extraction rule;

resolve a conflict between at least a first extraction rule and a second extraction rule, including by
determining whether a term of the identified portion of the log message has been identified as a keyword by the first extraction
rule and also as a value by the second extraction rule, and

rejecting the first extraction rule due to a determination that the term of the identified portion of the log message has
been identified as the keyword by the first extraction rule and as the value by the second extraction rule; and

provide to a user a computer alert based on a result of the second extraction rule stored via a computer network to a computer
storage of the system;

wherein the first extraction rule and the second extraction rule are computer parsing rules of a computer parser parsing the
computer log message of the system.

US Pat. No. 9,137,337

HIERARCHICAL BITMASKS FOR INDICATING THE PRESENCE OR ABSENCE OF SERIALIZED DATA FIELDS

TIBCO Software Inc., Pal...

1. A sender machine in communication with a receiver machine, wherein the sender machine is operable to:
analyze a bitmask associated with a message to be sent from the sender machine to the receiver machine, wherein the bitmask
comprises one or more presence bits and one or more absence bits, wherein the presence bits indicate that an associated field
of the message are included in the message and the absence bits indicate that an associated field of the message are omitted
in the message; and

dynamically determine compression instructions to compress the bitmask, wherein determining the compression instructions comprises:
generating a tree using the presence bits and the absence bits; and
generating the compressed bitmask by traversing the tree comprising the presence bits and the absence bits; and
wherein the compression instructions reduce a size of the bitmask associated with the message to be sent to the receiver machine.

US Pat. No. 9,298,691

METHOD AND APPARATUS FOR RETRIEVING AND COMBINING SUMMARIZED LOG DATA IN A DISTRIBUTED LOG DATA PROCESSING SYSTEM

TIBCO Software Inc., Pal...

1. A method for processing log data, the method comprising:
receiving raw log data in a log data analyzer from a plurality of log-producing devices, the raw log data including a plurality
of messages;

parsing the raw log data to generate structured query language (SQL) statements representing the raw log data, including:
extracting fields from the raw log data based on a log data message type for each message, the log data message type indicating
that a respective message is associated with a pre-defined type of event on a log-producing device that produced the respective
message;

generating the SQL statements from the extracted fields, wherein the extracted fields are incorporated into the SQL statements;
and

inserting the SQL statements into a database table designated to store the generated SQL statements on a volatile storage
device, the database table being different from database tables for storing the raw log data;

summarizing the SQL statements, including:
at pre-specified time intervals, copying the SQL statements stored in the database table stored on the volatile storage device
to one or more database tables stored on a non-volatile storage device;

identifying, from the SQL statements stored in the one or more database tables on the non-volatile storage device, a set of
one or more SQL statements each including one or more fields of commonality and one or more fields of uniqueness, each field
of commonality being a field storing a value that is commonly incorporated in the set of SQL statements, each field of uniqueness
being a field storing values that are different among the set of SQL statements; and

creating summarized data, the summarized data including a new statement condensed from the identified set of one or more SQL
statements based on the one or more fields of commonality and one or more fields of uniqueness; and

generating a report based on the summarized data, wherein the method is performed by one or more computers.

US Pat. No. 9,141,349

VISUAL DEVELOPMENT ENVIRONMENT FOR IMPLEMENTING LOGIC MODULES

TIBCO Software Inc., Pal...

1. A visual development environment apparatus for facilitating development of a logic module, the logic module operable to
be instantiated on a server, the visual development environment apparatus being used for constructing a visual development
environment operable to be displayed at a development terminal based on instructions stored in a non-volatile machine-readable
medium and comprising:
a processor configured for:
receiving, by the visual development environment apparatus, a first design-time packet comprising a design-time representation
of primary logic for a critical path for inclusion in the logic module and a design-time representation of secondary logic
for inclusion in the logic module;

interpreting, by the visual development environment apparatus, the first design-time packet for displaying the design-time
representation of primary logic and the design-time representation of secondary logic;

displaying:
a primary window comprising the design-time representation of primary logic for the critical path to be included in the logic
module, the critical path comprising an explicit segment being drawn by the visual development environment apparatus, and
an implicit segment being selectively visible based on a user preference; and

one or more secondary windows each comprising the design-time representation of secondary logic to be included in the logic
module;

hiding at least one of the one or more secondary windows when the primary window is displayed;
facilitating at least one of retrieval, modification, and storage of instructions representing the logic module; and
sending, by the visual development environment apparatus, a feedback design-time packet.

US Pat. No. 9,081,843

DATA REPLICATION PROTOCOL WITH STEADY STATE DATA DISTRIBUTION AND QUORUM FORMATION

TIBCO Software Inc., Pal...

1. A method of steady state data distribution between a client application, a leader machine, and a plurality of replica machines,
the method comprising:
receiving by the leader machine an operation request message specifying an operation and associated data from the client application;
distributing by the leader machine a prepare message to each of the plurality of replica machines collectively called a quorum,
wherein the prepare message comprises the operation, the associated data, a quorum version number identifying the quorum,
and an operation version number identifying the operation;

recording in a log by each of the replica machines the operation, the associated data, the quorum version number and the operation
version number from the prepare message;

sending by each of the replica machines a first acknowledgement message to the leader machine upon receiving the prepare message,
wherein the first acknowledgement message comprises the quorum version number and the operation version number;

sending by the leader machine a commit command message to the replica machines upon receiving the first acknowledgement messages
from a majority of the replica machines in the quorum;

executing by the replica machines the operation specified in the prepare message upon receiving the commit command message
from the leader machine; and

removing by each of the replica machines from its log the operation and the associated data provided in the prepare message
upon executing the operation.

US Pat. No. 9,736,097

COMPRESSION OF MESSAGE INFORMATION TRANSMITTED OVER A NETWORK

TIBCO Software Inc., Pal...

1. A facilitator server operable to:
receive compression instructions from an administrator machine, wherein the compression instructions allow at least one of
a plurality of sender machines to create a compressed message by replacing message data with a compressed form of the message
data and allow at least one of a plurality of receiver machines to decompress the compressed message;

monitor traffic or content transmitted over a network to identify information frequently transmitted over the network as candidates
for use in further optimizing the compression instructions;

adjust the compression instructions based on at least one of the candidates identified in the monitored traffic or content
to further compress the compressed message; and

provide the adjusted compression instructions to the at least one of the plurality of sender machines and to the at least
one of the plurality of receiver machines, wherein the at least one of the sender machines can compress at least a part of
the message data by replacing the part of the message data with the compressed form of the message data according to the adjusted
compression instructions, and wherein the compressed message comprises a compression identifier.

US Pat. No. 9,444,694

VIRTUAL CLUSTERS TO PROVIDE FAULT CONTAINMENT

TIBCO Software Inc., Pal...

1. A method of processing service requests, comprising:
receiving, at a load balancer or other service request distribution node, a service request;
extracting an identifier data from the service request, wherein the identifier data includes at least an Internet Protocol
(IP) address associated with a service consumer;

using the identifier data associated with the service consumer with which the service request is associated to determine a
total number of service instances of a set of service instances to be made available to service requests associated with the
service consumer and to determine which service instances are to be included in a subset of service instances, wherein the
subset comprises fewer than all members of the set of service instances and corresponds to the total number of service instances
to be made available to service requests associated with the service consumer; and

selecting from among the service instances in the subset a selected service instance to perform the service request.

US Pat. No. 9,323,501

MODULARIZED XML NAMESPACES

TIBCO Software Inc., Pal...

1. A method, comprising:
receiving a resolution request associated with a first module, wherein the first module has corresponding metadata that includes
an indication of a dependent namespace;

constructing a resolution context associated with the first module based at least in part on respective namespaces associated
with components packaged with the first module and one or more exported namespaces indicated to be made available to the first
module by one or more other modules;

using the resolution context associated with the first module to determine that a component made available by a second module
is associated with the resolution request, wherein the second module has corresponding metadata that includes an indication
of an exported namespace associated with the second module, and wherein the exported namespace associated with the second
module is included in the resolution context associated with the first module; and

providing access to a shared instance of the component made available by the second module.

US Pat. No. 9,171,037

SEARCHING FOR ASSOCIATED EVENTS IN LOG DATA

TIBCO Software Inc., Pal...

1. A computer-implemented method, comprising:
receiving, by a processor, a query searching for associated events in log data, the associated events being multiple events
that are related to one another by a common component;

parsing the received query, including:
locating a reserved term from the received query;
identifying an intermediate component of the received query, the intermediate component including a portion of the received
query that is located after the reserved term; and

identifying a final component of the received query, the final component including a portion of the received query preceding
the reserved term, wherein the reserved term comprises a term indicating that the intermediate component constrains a variable
in the final component;

forming an intermediate query for the intermediate component, including constructing a first search term for the intermediate
component, the first search term explicitly indicating one or more first keywords that appeared in the intermediate component
of the received query;

performing the intermediate query, including determining, using the intermediate query, one or more second keywords, each
second keyword satisfying the search term in the intermediate query;

forming a final query for the final component, including constructing a second search term for the final component, the second
search term explicitly indicates the one or more second keywords resulted from performing the intermediate query;

merging a result of performing the intermediate query and a result of performing the final query; and
designating the merged results as the associated events in response to the received query,
wherein the method is performed by one or more computers.

US Pat. No. 10,051,438

MESSAGE MATCHING

TIBCO SOFTWARE INC., Pal...

1. A system, comprising:a processor; and
a memory coupled to the processor and configured to provide the processor with instructions, wherein the processor is configured to:
receive, from a message provider server via a network, a message in a first format, wherein the message is part of a message stream comprising a plurality of messages and wherein the message is comprised of one or more structured field value pairs;
receive one or more content matchers from a subscriber device via the network, wherein the one or more content matchers includes a content matcher, wherein the content matcher indicates one or more messages of the message stream to which the subscriber device is subscribed to receive, wherein the content matcher includes one or more structured field value pairs specified by a subscriber, wherein the one or more structured field value pairs of the content matcher indicate content of the one or more messages to which the subscriber device is subscribed to receive, wherein a first field group of a set of field groups of one or more fields is determined by extracting all field identifiers included in the one or more content matchers;
convert the content matcher into a standardized format, wherein the standardized format rearranges the one or more structured field value pairs of the content matcher in a first determined order;
compile each of the one or more content matchers, wherein compiling at least one of the one or more content matchers includes reversing ordering of each of the one or more field value pairs so that a field value pair becomes a value field pair;
generate a compiled message at least in part by rearranging the one or more structured field values pairs of the message in a second determined order;
determine whether the one or more structured field value pairs of the compiled message matches the one or more structured field value pairs of the converted content matcher, wherein a structured field value pair of the compiled message matches a structured field value pair of the converted content matcher in the event a field of the structured field value pair of the compiled message matches a field of the structured field value pair of the converted content matcher and a value of the structured field value pair of the compiled message matches a value of the structured field value pair of the converted content matcher; and
in response to determining that the one or more structured field value pairs of the compiled message match the one or more structured field value pairs of the converted content matcher, distribute to the subscriber device via the network the message that is comprised of one or more structured field value pairs to the subscriber device.

US Pat. No. 9,519,879

JUST IN TIME COMPILATION (JIT) FOR BUSINESS PROCESS EXECUTION

TIBCO Software Inc., Pal...

1. A method of providing a business process, comprising:
receiving, by a processor, a business process source file stored in a memory, wherein the business process is associated with
the business process source file and the business process includes one or more related, structured activities or tasks;

determining, by the processor, based at least in part on the business process source file a virtual file system that does
not rely on a native file system of a computer system, wherein the virtual file system includes a hierarchical namespace;

providing, by the processor, the business process source file as an input to an in-memory compiler during runtime;
receiving, by the processor, from the in-memory compiler as output a business process class file stored in the memory, wherein
the business process class file is stored in the memory based at least in part on the hierarchical namespace of the virtual
file system, wherein the business process class file outputted by the in-memory compiler includes a new or updated version
of the business process; and

providing, by the processor, the business process class file to a business process engine class loader.

US Pat. No. 9,864,581

MODULARIZED XML NAMESPACES

TIBCO Software Inc., Pal...

1. A method, comprising:
receiving, by one or more processors, a resolution request associated with a first module, wherein the first module has corresponding
metadata that includes an indication of a dependent namespace;

constructing, by the one or more processors, a resolution context associated with the first module based at least in part
on one or more respective namespaces associated with components packaged with the first module;

determining, by the one or more processors, that a component made available by a second module is associated with the resolution
request, wherein the second module has corresponding metadata that includes an indication of an exported namespace associated
with the second module, and wherein the exported namespace associated with the second module is included in the resolution
context associated with the first module; and

providing, by the one or more processors, access to a shared instance of the component made available by the second module.

US Pat. No. 9,497,263

COLLABORATIVE, CONTEXTUAL ENTERPRISE NETWORKING SYSTEMS AND METHODS

TIBCO Software Inc., Pal...

1. An enterprise-focused server subsystem having a forum for securely providing contextual content to users of one or more
Internet-based or mobile client machines, the enterprise-focused server subsystem comprising:
a) a client interface operable to communicate with the one or more internet-based or mobile client machines;
b) an enterprise application interface operable to receive external content from an external enterprise application operating
on one or more servers outside the enterprise-focused server subsystem; and

c) a user stream server in communication with the enterprise application interface and the client interface, the user stream
server operable to determine a subset of the external content that is relevant to the forum in the enterprise-focused server
subsystem, the user stream server further operable to provide an event stream comprising the determined subset of the external
content to the forum,

wherein the forum is made available through the client interface to the one or more internet-based or mobile client machines
to enable collaboration between the users of the one or more Internet-based or mobile client machines while providing privacy
from other users that do not have access to the forum; and

wherein the client application interface is operable to present contextual features of the external enterprise application
in a relevant context within the enterprise-focused server subsystem, thereby allowing the users of the one or more internet-based
or mobile client machines to access the contextual features of the external enterprise application through the enterprise-focused
server subsystem.

US Pat. No. 9,191,323

ADAPTIVE DATA TRANSMISSION

TIBCO Software Inc., Pal...

1. A method, comprising:
receiving, by a data collector comprising one or more computer processors, log data from one or more log producers to be transmitted
to a log processor through a communications network, the log processor being configured to provide an acknowledgement to the
data collector for each unit of log data received from the data collector;

subject to a transmission constraint of transmitting the received log data to the log processor, transmitting, by the data
collector, a first portion of the received log data to the log processor and storing, by the data collector, a second portion
of the received log data into a buffer configured to adapt to the transmission constraint, the transmission constraint including:

a first threshold on bandwidth usage and a second threshold on log processor response time; and
rules on adapting a size of the buffer or computing resources allocated to the log processor when the thresholds are reached;
and

adapting the data collector or the log processor for transmitting the stored portion of the log data to the log processor
in accordance with the rules in the transmission constraint, including:

upon determining, by a collection manager comprising one or more computer processors, that a bandwidth utilization rate of
the communication network reached the first threshold, instructing, by the collection manager, the data collector to adapt
to the bandwidth utilization rate by increasing the size of the buffer, increasing the size of the buffer including allocating
additional storage space for the buffer wherein, when the bandwidth utilization rate no longer reaches the first threshold,
the additional storage space is reallocated for other uses, and wherein determining that the bandwidth utilization rate reached
the first threshold comprises determining, by the collection manager, that traffic of transmitting the first portion of the
received log data from the data collector to the log processor has been utilizing full available bandwidth of the communication
network for a given period of time; and

upon determining, by the collection manager, that a promptness for providing the acknowledgement by the log processor satisfies
the second threshold, configuring the log processor to allocate more computing resources to process log data transmitted from
the data collector.

US Pat. No. 10,007,681

ADAPTIVE SAMPLING VIA ADAPTIVE OPTIMAL EXPERIMENTAL DESIGNS TO EXTRACT MAXIMUM INFORMATION FROM LARGE DATA REPOSITORIES

TIBCO SOFTWARE INC., Pal...

1. A computer-implementable method for identifying information within a data repository, comprising:selecting variables of interest within the data repository to provide selected variables;
defining a depth of interactions of interest with respect to the variables of interest to provide a defined depth of interactions;
applying an optimal experimental design operation to the selected variables and the defined depth of interactions, the applying comprising determining a design matrix based upon the optimal experimental design operation;
selecting, using at least one query, a sample case from the data repository, the at least one query being based on the design matrix, wherein a computational effort associated with selecting the sample case from the data repository is independent of a size of data in the data repository, and is dependent on a prediction model associated with selecting the sample case;
loading the sample case into the design matrix, resulting in a sample matrix of the data repository; and
performing modeling operations based on the sample matrix of the data repository.

US Pat. No. 10,248,110

GRAPH THEORY AND NETWORK ANALYTICS AND DIAGNOSTICS FOR PROCESS OPTIMIZATION IN MANUFACTURING

TIBCO Software Inc., Pal...

1. A computer-implementable method for predicting characteristics of unmeasured batches in a manufacturing operation, comprising:identifying, using one or more computing device processors, manufacturing units of a manufacturing operation;
characterizing, using the one or more computing device processors, the manufacturing units as nodes associated with a manufacturing operation graph representation;
characterizing, using the one or more computing device processors, at least one of an input material, a supplier, a part, or another input associated with the manufacturing operation as nodes associated with the manufacturing operation graph representation;
characterizing, using the one or more computing device processors, manufacturing steps associated with the manufacturing operation as connections associated with the manufacturing operation graph representation;
generating, using the one or more computing device processors, the manufacturing operation graph representation using the characterized nodes and connections;
measuring, using the one or more computing device processors, a characteristic of a batch associated with the manufacturing operation;
identifying, using the one or more computing device processors, connections between the measured batch and an unmeasured batch associated with the manufacturing operation;
computing, using the one or more computing device processors, based on the identified connections associated with the manufacturing operation graph representation, a degree of connectedness between the measured batch and the unmeasured batch; and
predicting, using the one or more computing device processors, based on the degree of connectedness, a characteristic of the unmeasured batch.

US Pat. No. 9,607,044

SYSTEMS AND METHODS FOR SEARCHING MULTIPLE RELATED TABLES

TIBCO Software Inc., Pal...

1. A method for performing an efficient query on a parent table and one or more joined child tables, the method comprising:
determining one or more search grams based on the query, each of the one or more search grams being at least a portion of
the query, wherein determining the one or more search grams comprises determining gram vectors for each search gram of the
one or more search grams;

identifying a parent table having one or more parent table partitions including one or more respective parent records grouped
therein;

identifying one or more child table partitions from one or more joined child tables, the one or more child table partitions
including one or more respective child records grouped therein, wherein the identified one or more child table partitions
are associated with a first of the one or more parent table partitions, and wherein the child records grouped within the identified
one or more child table partitions are associated with the one or more parent records of the associated first of the one or
more parent table partitions;

scanning parent records in the first of the parent table partitions for the one or more search grams;
scanning child records in the identified one or more child table partitions associated with the first of the parent table
partitions for the one or more search grams;

computing parent gram scores for scanned parent records based on a degree of matching with the one or more search grams;
computing child gram scores for scanned child records based on a degree of matching with the one or more search grams, wherein
gram vectors associated with a child table from the one or more joined child tables are sorted by a foreign key;

computing aggregate scores for each parent record and its associated child records based on parent and child gram scores;
repeating the identifying one or more child table partitions, scanning parent and child records, and computing parent and
child gram scores and aggregate scores for each of the parent table partitions;

generating a mapping structure having parent and child table partitions association information and parent and child records
association information;

referencing the mapping structure to determine associations between parent and child table partitions and between parent and
child records;

determining a new child record for inserting into a child table partition associated with a parent table partition having
a parent record associated with the new child record;

in response to determining an available row exists in the child table partition, inserting the new child record into the available
row;

in response to determining an available row does not exist in the child table partition, generating a new child table partition,
associating the new child table partition with the parent table partition, and inserting the new child record into the new
child table partition.

US Pat. No. 9,317,808

PREDICTIVE SYSTEM FOR DESIGNING ENTERPRISE APPLICATIONS

TIBCO Software Inc., Pal...

1. An enterprise application design system for predicting a sequence of operations for designing an enterprise application,
the system comprising:
a memory that stores computer instructions for designing or predicting the sequence of operations;
hierarchical temporal memories configured to:
store modeling data related to models of previously designed enterprise applications;
receive input data related to designing the enterprise application; and
predict one or more next operations based on the input data and the modeling data; and
a processor in communication with the memory and with the hierarchical temporal memories, the processor operable to execute
the computer instructions and to design the enterprise application in accordance with the predicted one or more next operations.

US Pat. No. 9,367,600

POLICY-BASED STORAGE STRUCTURE DISTRIBUTION

TIBCO Software Inc., Pal...

1. A method of removing a leaving node from a collection of computing nodes of a distributed storage system, the method comprising:
the leaving node signaling to all other nodes in the collection of computing nodes that it is leaving the collection;
all the other nodes reading information from the leaving node;
all the other nodes synchronizing the information from the leaving node prior to the leaving node leaving the collection;
the leaving node leaving the collection of computing nodes, and
all the other nodes taking ownership of data associated with key values previously owned by the leaving node once the leaving
node leaves the collection,

wherein all the other nodes reading information comprises all the other nodes receiving copies of the data associated with
the key values owned by the leaving node, the date associated with the key values being the data whose ownership will be transferred
from the leaving node to the other nodes once the leaving node leaves the collection.

US Pat. No. 10,095,483

MODULARIZED XML NAMESPACES

TIBCO Software Inc., Pal...

1. A method, comprising:receiving, by one or more processors, a resolution request associated with a first module, wherein the first module has corresponding metadata that includes an indication of a dependent namespace;
constructing, by the one or more processors, a resolution context associated with the first module based at least in part on one or more respective namespaces associated with components packaged with the first module;
determining, by the one or more processors, that both a second module and a third module export the dependent namespace;
selecting, by the one or more processors, from among the second module and the third module a selected module to provide the dependent namespace;
determining, by the one or more processors, that a component made available by the selected module is associated with the resolution request;
wherein the selected module has corresponding metadata that includes an indication of an exported namespace associated with the selected module, and wherein the exported namespace associated with the selected module is included in the resolution context associated with the first module; and
providing, by the one or more processors, access to a shared instance of the component made available by the selected module.

US Pat. No. 9,983,774

AUTHORING AND CONSUMING OFFLINE AN INTERACTIVE DATA ANALYSIS DOCUMENT

TIBCO Software Inc., Pal...

1. A system, comprising:a processor; and
a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:
receive one or more user interactions, selected from a plurality of user interactions, and one or more visualization types, selected from a plurality of visualization types, including by:
displaying one or more recommended user interactions and one or more recommended visualization types, including by:
analyzing historic usage information associated with an interactive data analysis document, supported using predetermined visualization data, in order to determine utilization metrics associated with a most unpopular user interaction and a most unpopular visualization type;
determining if the utilization metric associated with the most unpopular user interaction is less than a first threshold;
in the event it is determined that the utilization metric associated with the most unpopular user interaction is less than the first threshold, excluding the most unpopular user interaction from the recommended user interactions;
in the event it is determined that the utilization metric associated with the most unpopular user interaction is greater than the first threshold, keeping the most unpopular user interaction in the recommended user interactions;
determining if the utilization metric associated with the most unpopular visualization type is less than a second threshold;
in the event it is determined that the utilization metric associated with the most unpopular visualization type is less than the second threshold, excluding the most unpopular visualization type from the recommended visualization types; and
in the event it is determined that the utilization metric associated with the most unpopular visualization type is greater than the second threshold, keeping the most unpopular visualization type in the recommended visualization types; and
receiving zero or more changes to the recommended user interactions and recommended visualization types in order to obtain the selected user interactions and the selected visualization types;
determine, based at least in part on the selected user interactions and the selected visualization types, the predetermined visualization data associated with displaying the interactive data analysis document, wherein the determination of the predetermined visualization data is performed on a data analysis server;
store the predetermined visualization data determined by the data analysis server on a computing device; and
display the interactive data analysis document on the computing device, including by accessing the predetermined visualization data stored on the computing device such that the computing device is able to display the interactive data analysis document without communicating with the data analysis server in response to a decision that a connection to the data analysis server is too slow or is unavailable.

US Pat. No. 9,952,577

GRAPH THEORY AND NETWORK ANALYTICS AND DIAGNOSTICS FOR PROCESS OPTIMIZATION IN MANUFACTURING

TIBCO Software Inc., Pal...

1. A computer-implementable method for process optimization by a special purpose computer in a complex manufacturing operation, comprising:providing a memory comprising an operating system and a graph theory manufacturing operation representation portion;
identifying, by a special purpose computer using instructions comprised in the memory, manufacturing units of a manufacturing operation, the manufacturing units comprising manufacturing components and manufacturing operations;
characterizing, by the special purpose computer using the instructions comprised in the memory, the manufacturing units as nodes for inclusion on a manufacturing operation graph representation;
characterizing, by the special purpose computer using the instructions comprised in the memory, at least one of input materials, suppliers, parts, and other inputs into the manufacturing operation as nodes for inclusion on the manufacturing operation graph representation;
characterizing, by the special purpose computer using the instructions comprised in the memory, manufacturing steps within the manufacturing operation as connections for inclusion on the manufacturing operation graph representation;
generating, by the special purpose computer using the instructions comprised in the memory, the manufacturing operation graph representation using the characterized nodes and connections;
measuring, by the special purpose computer using the instructions comprised in the memory, a quality characteristic of a batch associated with the manufacturing operation;
identifying, by the special purpose computer using the instructions comprised in the memory, connections between the measured batch and an unmeasured batch associated with the manufacturing operation;
computing, by the special purpose computer using the instructions comprised in the memory, and based on the manufacturing operation graph representation and the identified connections, a degree of connectedness between the measured batch and the unmeasured batch; and
predicting, by the special purpose computer using the instructions comprised in the memory and based on the degree of connectedness, a quality characteristic of the unmeasured batch.

US Pat. No. 10,255,568

METHODS AND SYSTEMS FOR SELECTING A DATA TRANSMISSION PATH FOR NAVIGATING A DYNAMIC DATA STRUCTURE

TIBCO SOFTWARE INC., Pal...

1. A system for using a state-changing dynamic data structure, the system comprising:a memory, the memory comprising the state-changing dynamic data structure; and
a processor in communication with the state-changing dynamic data structure, the processor operable to:
receive a query, wherein the query comprises one or more attributes indicating criterion for transmitting a particular data item of a plurality of data items to one or more targets, wherein the query comprises combinatorial logic associated with one or more objects, wherein the one or more attributes comprises one or more dynamic resource attributes;
extract the one or more attributes from the received query;
perform a first search in the state-changing dynamic data structure for one or more targets associated with the one or more attributes extracted from the query;
identify a first set of one or more targets associated with the one or more attributes extracted from the query based on the first searching;
determine priority of the plurality of data items;
transmit a first data item as the particular data item to each target of the first set of one or more targets identified as being associated with the one or more attributes extracted from the query, wherein the first data item has the highest priority among the plurality of data items at a first state of the state-changing dynamic data structure;
determine whether the state-changing dynamic data structure has transformed from a first state to a second state; and
in response to a determination that the state-changing dynamic data structure has transformed from the first state to a second state;
perform a second search in the state-changing dynamic data structure, and identify, based on the second search, a second set of one or more targets associated with the one or more attributes extracted from the query,
determine the priority of the plurality of data items, and
transmit a second data item as the particular data item to each target of the second set of one or more targets identified as being associated with the one or more attributes extracted from the query, wherein the second data item has the highest priority among the plurality of data items at the second state of the state-changing dynamic data structure;
wherein the transmitting the particular data item to the first set of one or more targets comprises:
pushing, to a first identified target in the first set of one or more identified targets associated with the one or more attributes extracted from the query, a first notification of an option to select the particular data item within a first finite time period, the selection of the particular data item being made for processing the particular data item, and
pushing, to a second identified target in the first set of one or more identified targets associated with the one or more attributes extracted from the query, a second notification of an option to select the particular data item when the particular data item is not selected by the first identified target within the first finite time period, the selection of the particular data item being made for processing the particular data item.

US Pat. No. 10,162,878

SYSTEM AND METHOD FOR AGGLOMERATIVE CLUSTERING

TIBCO Software Inc., Pal...

1. A computer implemented method for improving, using multi-dimensional indexing data structures, a process of finding nearest neighbors for points, in multi-dimensional spaces, associated with a manufacturing process, the computer comprising a processor and memory, the method comprising:powering the computer;
in response to powering the computer, executing an initialization procedure for the computer, the initialization procedure comprising configuring the memory and initializing one or more device drivers for communicating with one or more devices;
providing a multi-dimensional indexing data structure in the memory, the multi-dimensional indexing data structure comprising at least one of an R-tree data structure or a KD-tree data structure;
projecting, using at least one processor associated with the multi-dimensional indexing data structure, an n-dimension space ?, with a dissimilarity measure ? into an m-dimensional space P with a dissimilarity measure ?? by a projection function p, wherein:
1 ??(p(v1),p(v2))??(v1,v2) for all points v1 and v2 in ?;
selecting, using the at least one processor associated with the multi-dimensional indexing data structure, a point v in ?;
performing, using the at least one processor associated with the multi-dimensional indexing data structure, a search in P for a set S? of k nearest neighbors of the point p(v) in P;
finding, using the at least one processor associated with the multi-dimensional indexing data structure, a set S of all points in ? that project to the set S?; and
determining, using the at least one processor associated with the multi-dimensional indexing data structure, whether a point of the set S is a nearest neighbor of the point v,
wherein determining whether the point of the set S is the nearest neighbor of the point v enables determination of a problem or an issue associated with the manufacturing process.

US Pat. No. 9,049,162

COMPRESSION OF MESSAGE INFORMATION TRANSMITTED OVER A NETWORK

TIBCO Software Inc., Pal...

1. A facilitator server for providing message compression instructions, wherein the facilitator server is operable to:
communicate with a plurality of sender machines and a plurality of receiver machines;
monitor one or more messages from the plurality of sender machines to dynamically determine message data frequently included
in a plurality of the messages sent by the plurality of sender machines to be compressed;

dynamically determine compression instructions to compress the frequently included message data; and
provide the compression instructions and a compression identifier associated with the compression instructions to at least
one of the plurality of sender machines, wherein the compression instructions allow the at least one of the plurality of sender
machines to create a compressed message by replacing the message data with a compressed form of the message data and the compression
identifier;

provide the compression instructions to at least one of the plurality of receiver machines, wherein the at least one of the
plurality of receiver machines decompresses the compressed message in accordance with the compression instructions.

US Pat. No. 10,097,487

COMPRESSION OF MESSAGE INFORMATION TRANSMITTED OVER A NETWORK

TIBCO Software Inc., Pal...

1. A facilitator server configured to:monitor traffic or content transmitted over a network to identify at least one of information frequently transmitted over the network, information associated with a certain format, or information in a high traffic area of the network;
adjust instructions based on the monitored traffic or content to at least one of compress message data, replace the message data with the compressed message data, or decompress the compressed message data; and
transmit the adjusted instructions to at least one of a plurality of sender machines or to at least one of a plurality of receiver machines,
wherein the at least one of the plurality of sender machines compresses, based on the adjusted instructions, the message data or replaces, based on the adjusted instructions, the message data with the compressed message data, or wherein the at least one of the plurality of receiver machines, decompresses, based on the adjusted instructions, the compressed message data, and
wherein the compressed message data or the adjusted instructions comprises a compression identifier.

US Pat. No. 10,311,392

JUST IN TIME COMPILATION (JIT) FOR BUSINESS PROCESS EXECUTION

TIBCO SOFTWARE INC., Pal...

1. A method of providing a business process, comprising:receiving, by a processor, a business process source file stored in a memory, wherein the business process is associated with the business process source file and the business process includes one or more related, structured activities or tasks;
determining, by the processor, based at least in part on the business process source file a virtual file system that does not rely on a native file system of a computer system, wherein the virtual file system includes a hierarchical namespace;
providing, by the processor, the business process source file as an input to a compiler during runtime;
receiving, by the processor, from the compiler as output a business process class file stored in the memory, wherein the business process class file is stored in the memory based at least in part on the hierarchical namespace of the virtual file system, wherein the business process class file outputted by the compiler includes a new or updated version of the business process; and
providing, by the processor, the business process class file to a business process engine.

US Pat. No. 10,657,476

JUST IN TIME COMPILATION (JIT) FOR BUSINESS PROCESS EXECUTION

TIBCO SOFTWARE INC., Pal...

1. A method of providing a business process, comprising:receiving, by a processor, a business process source file stored in a memory, wherein the business process is associated with the business process source file and the business process includes one or more related, structured activities or tasks;
determining, by the processor, based at least in part on the business process source file a virtual file system that does not rely on a native file system of a computer system, wherein the virtual file system includes a hierarchical namespace;
providing, by the processor, the business process source file as an input to a compiler during runtime;
receiving, by the processor, from the compiler as output a business process compilation output file stored in the memory, wherein the business process compilation output file is stored in the memory based at least in part on the hierarchical namespace of the virtual file system, wherein the business process compilation output_file outputted by the compiler includes a new or updated version of the business process; and
providing, by the processor, the business process compilation output file to a business process engine.

US Pat. No. 10,216,498

CUSTOM-BUILT PROCESS ENGINE WITH MINIMAL MEMORY AND DISK RESOURCE CONSUMPTION

TIBCO Software Inc., Pal...

1. A method, comprising:receiving a selection of a trigger associated with a process application;
receiving a selection of one or more activities associated with the process application based on the selected trigger;
determining a minimum set of process engine components needed to perform the process application, wherein the determining further includes:
analyzing a process flow associated with the selected trigger and one or more activities to identify process engine components associated with the selected trigger and one or more activities respectively;
determining that, based on the analysis, at least one process engine component of the identified process engine components is not invoked by the process application at runtime, wherein the at least one process engine component is associated with at least one activity of the selected one or more activities, wherein an input of the at least one activity is not output of any of the selected trigger or one or more activities preceding to the at least one activity;
removing the at least one process engine component from the identified process engine components to form the minimum set of process engine components; and
compiling the process application into an executable code that includes the determined minimum set of process engine components.

US Pat. No. 10,386,822

SYSTEM FOR RAPID IDENTIFICATION OF SOURCES OF VARIATION IN COMPLEX MANUFACTURING PROCESSES

TIBCO SOFTWARE INC., Pal...

1. A computer-implementable method for operating a statistical analysis tool for evaluating component variance of a complex manufacturing operation, comprising:presenting a variation identification interface to a user, the variation identification interface enabling a user to select one or more variation components relating to the complex manufacturing operation;
providing manufacturing data relating to the manufacturing operation to a manufacturing data repository;
performing closed-form computation operations on the manufacturing data to rapidly identify variance components from the manufacturing data; and,
identifying sources of variation in complex manufacturing processes;
wherein the sources of variation identify root causes of variability in product quality.

US Pat. No. 10,275,518

INTEGRATED PHONETIC MATCHING METHODS AND SYSTEMS

TIBCO SOFTWARE INC., Pal...

1. A method for searching a database for a query, wherein the database is stored in a data store in communication with a user computing environment, the method comprising:receiving a user's request for searching the database for the query from the user computing environment;
performing a first matching process, the first matching process including:
comparing the query to data entries in the database stored in the data store in communication with the user computing environment; and
identifying matching data entries;
assigning a numerical score to each of the identified matching data entries;
wherein matching data entries are identified by determining at least one n-gram from the query and scanning the data entries for the at least one n-gram;
performing a second matching process after performing the first matching process, the second matching process including:
transducing, using string transduction, the query to a phonetic equivalent of the query, the phonetic equivalent of the query comprising a transduced version of the query;
comparing the transduced version of the query to transduced data entries in a transduced database;
identifying matching transduced data entries based on the results from the first matching process, the identified matching transduced data entries identified by:
determining at least one n-gram from the transduced version of the query;
scanning the transduced data entries for the at least one n-gram;
determining matching transduced data entries from among the transduced data entries in the transduced database that match the at least one n-gram from the transduced version of the query, and
eliminating, from only the determined matching transduced data entries that have been determined to match the at least one n-gram from the transduced version of the query, at least one of the determined matching transduced data entries, each eliminated matching transduced data entry being eliminated based on the results from the first matching process; and
adjusting the numerical score assigned to each of the identified matching data entries based on the results from the second matching process.

US Pat. No. 10,635,160

STEPBACK MECHANISM TO DEVELOP AND DIAGNOSE PROCESS APPLICATIONS

TIBCO SOFTWARE INC., Pal...

1. A system for diagnosing and updating process applications instantiated on a plurality of devices, comprising:a processor communicatively coupled to a storage resource, wherein the processor is configured to execute application code instructions stored in the storage resource to:
store, locally at a device, state transition information associated with an executed step of an instantiated process application instantiated by an instantiated process engine wherein the instantiated process application produced an erroneous result;
transmit a flow definition to a remote diagnosing platform;
receive, at the diagnosing platform, the flow definition that describes a process flow and the state transition information that describes a state of the process flow at each step of the process flow associated with the instantiated process application;
recreate a process engine associated with the instantiated process engine of the device with the state transition information;
modify one or more input data values associated with a selected step of the process flow;
execute the process flow from the selected step using the modified one or more inputs;
update at least one data record associated with the selected step of a process application to reflect the modified one or more inputs and state information associated with steps of the process flow;
recompile the process application; and
redeploy the process application to the device using a device identifier.

US Pat. No. 10,496,648

SYSTEMS AND METHODS FOR SEARCHING MULTIPLE RELATED TABLES

TIBCO Software Inc., Pal...

1. A method for querying a parent table and one or more child tables, the method comprising:generating a mapping structure based on the parent table and the one or more child tables;
configuring a memory to store the mapping structure;
partitioning, using a processor caching architecture, the parent table into one or more parent table partitions, and the one or more child tables into one or more child table partitions;
determining one or more search grams based on a query, each of the one or more search grams being at least a portion of the query, wherein determining the one or more search grams comprises determining at least one gram vector for each search gram of the one or more search grams;
identifying the parent table having the one or more parent table partitions including one or more parent records;
identifying the one or more child table partitions from the one or more child tables, the one or more child table partitions including one or more child records, wherein the one or more child table partitions are associated with at least one of the one or more parent table partitions;
scanning parent records in a parent table partition for the one or more search grams; and
scanning child records in one or more second child table partitions associated with the parent table partition for the one or more search grams,
wherein child records of gram vectors associated with a child table from the one or more child tables are sorted by a foreign key and a partition number.

US Pat. No. 10,671,603

AUTO QUERY CONSTRUCTION FOR IN-DATABASE PREDICTIVE ANALYTICS

TIBCO SOFTWARE INC., Pal...

1. A computer-implementable method for performing in-database operations, comprising:presenting an auto-query construction user interface to a user, the auto-query construction user interface enabling a user to provide input variables to an auto-query construction system;
constructing a database query based upon the input variables provided via the auto-query construction user interface within a node of a workspace environment;
instantiating an in-database processing operation in the auto-query construction system within the node of the workspace environment based upon the database query;
converting the instantiation of the in-database processing operation to at least one database statement;
providing the at least one database statement from the auto-query construction system to a storage system configured to perform distributed computations, wherein providing causes the execution of the at least one database statement within the storage system; and,
wherein constructing the database query includes accessing the auto-query construction user interface to query for aggregators engine, identifying a statistics analytics task or a predictive analytics task selected by the user via the auto-query construction user interface, and retrieving input descriptor information associated with the input variables for performing the task;
wherein constructing the database query is further based on a target database, query dialect, and at least one of a correlation pattern, regression pattern, cluster pattern, decision tree pattern, and association rules pattern;
wherein converting the in-database operation to the at least one database statement is based, at least in part, on the statistics analytics task or the predictive analytics task selected by the user;
the results from the execution of the at least one database statement comprise aggregate values, the aggregate values being transferred from the storage system to the workspace environment, the workspace environment finalizing parameters for the statistics analytics task or the predictive analytics task based upon the aggregate values.

US Pat. No. 10,649,973

METHOD FOR PERFORMING IN-DATABASE DISTRIBUTED ADVANCED PREDICTIVE ANALYTICS MODELING VIA COMMON QUERIES

TIBCO SOFTWARE INC., Pal...

1. A computer-implementable method for performing in-database processing operations, comprising:generating an in-database processing operation according to user-selected decision variables and a database source description table;
instantiating the in-database processing operation within a node of a workspace environment, the node of the workspace environment being located away from a storage system and having a user interface for communicating with a user, the in-database processing operation comprising a storage system-agnostic operation performable without deployment of a storage system-specific agent;
converting, at the node of the workspace environment, the instantiation of the in-database processing operation to at least one SQL statement;
providing the at least one SQL statement to the storage system, wherein the at least one SQL statement is executed in-database within the storage system, and wherein the storage system executes a query language for initiating and controlling the in-database execution of the at least SQL statement;
receiving, at the node of the workspace environment, results from the in-database execution of the at least one SQL statement, wherein the results comprise aggregate values; and
performing, at the node of the workspace environment, mathematical and statistical computations for a predictive analytics modeling operation, the mathematical and statistical computations selected from a plurality of predictive analytics model operation using the aggregate values.

US Pat. No. 10,481,919

AUTOMATIC OPTIMIZATION OF CONTINUOUS PROCESSES

TIBCO SOFTWARE INC., Pal...

1. A computer-implementable method for performing an optimization operation on continuous processes generated from a plurality of system sensors, comprising:transforming a continuous stream of data comprising process states associated with specific ranges of a subset of control parameter inputs, wherein transforming comprises:
dividing the control parameter inputs into outputs, controllable inputs, and uncontrollable inputs; and
identifying constraints for the outputs, controllable inputs, and uncontrollable inputs;
performing a clustering operation on select uncontrollable inputs, wherein the clustering operation includes dividing the ranges into a plurality of reliable repeatable process states;
identifying reliably repeatable optimal states from the reliable repeatable process states, the identifying the -reliably repeatable optimal states comprising defining a key performance indicator as a continuous process output by applying a recursive-partitioning operation to identify input parameter settings that are associated with a desirable process state, the recursive-partitioning operation comprising identifying surrogate parameters and alternative recursive-partitioning models to obtain a pool of combinations of possible parameter settings associated with an optimized process performance;
characterizing relationships among the control parameter inputs for the reliably repeatable optimal states and for non-optimal states; and
determining operational states for the control parameter inputs based on the characterized relationships;
wherein the operational states describe controllable parameters and settings to control the system.

US Pat. No. 10,579,680

USING A B-TREE TO STORE GRAPH INFORMATION IN A DATABASE

TIBCO SOFTWARE INC., Pal...

1. A system, comprising:a storage device organized as a plurality of pages of a prescribed page size; and
a processor coupled to the storage device and configured to:
receive data associated with a plurality of nodes and edges, each of said edges representing a relationship between two or more of said nodes;
create for each node one or more pages of data, each corresponding to said prescribed page size, and each page having a b-tree index data structure that includes a first section having a variable-sized set of fixed width data slots and a second section having a variable-sized variable length data region;
perform at least one of a read, update, and delete transaction operation on the plurality of nodes and edges; and
determine traversal of relationships between nodes and edges;
wherein each data slot includes a slot header and a slot data region;
wherein the slot header includes values to indicate slot type, slot status, and edge direction;
wherein the slot data region stores one of edge slot data values and attribute slot data values.

US Pat. No. 10,540,155

PLATFORM-AGNOSTIC PREDICTIVE MODELS BASED ON DATABASE MANAGEMENT SYSTEM INSTRUCTIONS

TIBCO SOFTWARE INC., Pal...

1. A system comprising:one or more processors; and
a non-transitory computer readable medium storing a plurality of instructions, which when executed, cause the one or more processors to:
identify a representation of data transformations associated with a first predictive model that executes on a first computing platform, wherein the representation defines sequences of transformations performed on data before, during, and after application of the first predictive model;
parse the representation of data transformations;
generate database management system instructions that correspond to the parsed representation of data transformations; and
send the database management system instructions to a second predictive model that executes on a second computing platform, thereby enabling the second predictive model to execute at least some of the database management system instructions to generate a prediction, wherein the first computing platform and the second computing platform are different types of computing platforms;
wherein the parsed representation of data transformations includes pre-processing data transformations, the first predictive model's data transformation, and post-processing data transformations that can be utilized by the second predictive model to replay the sequence of transformations needed to transform data;
wherein the database management system instructions enable platform-agnostic predictive models;
wherein parsing the representation of data transformations comprises modifying a predictive analytics framework to emit database management system instructions that correspond to the representation of data transformations in response to receiving requests for functions that correspond to the representation of data transformations.

US Pat. No. 10,560,406

COMPRESSION OF MESSAGE INFORMATION TRANSMITTED OVER A NETWORK

TIBCO SOFTWARE INC., Pal...

1. A computing server comprising instructions to:monitor traffic or content transmitted over a network to identify at least one of information frequently transmitted over the network, information associated with a certain format, or information in a high traffic area of the network;
adjust instructions based on the monitored traffic or content to at least one of compress message data, replace the message data with the compressed message data, or decompress the compressed message data; and
transmit the adjusted instructions to at least one of a plurality of sender machines or to at least one of a plurality of receiver machines,
wherein the at least one of the plurality of sender machines compresses, based on the adjusted instructions, the message data or replaces, based on the adjusted instructions, the message data with the compressed message data, or wherein the at least one of the plurality of receiver machines, decompresses, based on the adjusted instructions, the compressed message data, and
wherein the compressed message data or the adjusted instructions comprises a compression identifier.

US Pat. No. 10,929,401

POLICY-BASED STORAGE STRUCTURE DISTRIBUTION

TIBCO SOFTWARE INC., Pal...

1. A method for distributing policy-based data structures over a system of one or more servers installed on one or more computing devices, the method comprising:determining at least one policy-based data structure from a space, the determining comprising:
identifying data entries in the space;
determining key values of the data entries; and
mapping the at least one policy-based data structure to one of a node, node cluster, server, and server cluster in the system of one or more servers, the mapping comprising using a distribution algorithm to create node identifiers using node values and microqueues using the key values;
wherein the mapping the at least one policy-based data structure comprises distributing microqueues over the system of one or more servers;
wherein at least one microqueue comprises at least two data entries with each data entry having a same key value;
wherein a microqueue identifier maps to the same key value and to a node in the system of one or more servers.

US Pat. No. 10,691,614

ADAPTIVE PAGE REPLACEMENT

TIBCO SOFTWARE INC., Pal...

1. A virtual memory management system, comprising:a memory configured to store pages in a page cache; and
a processor coupled to the memory and configured to:
generate a time domain page access signal of a page using page access statistics gathered during a learning period;
transform the time domain page access signal of the page to a frequency domain to obtain an access frequency; and
use the access frequency to replace the page in the page cache based on the access frequency;
wherein the time domain page access signal includes rising edge information that reflects a page access and trailing edge information that reflects no further access of the page.

US Pat. No. 10,528,391

EXECUTION MANAGER FOR BINARY OBJECTS OPERATING ACROSS PRIVATE ADDRESS SPACES

TIBCO SOFTWARE INC., Pal...

1. A system, comprising:a memory; and
a processor coupled to the memory and configured to:
allocate a shared memory segment of the memory for two address spaces, the first comprising a home address space and the second comprising a target address space;
load one or more executable modules in the home address space; and
build in the home address space one or more program call routines and an environment to schedule system request blocks;
wherein the environment to schedule system request blocks is configured to be used to schedule an SRB into the target address space, the SRB comprising information configured to cause the target address space to cause an associated one or more of the executable modules to execute;
wherein the target address space is configured to execute the executable module from the shared memory segment;
wherein the target address space uses an asynchronous exit routine to execute the executable module;
wherein a cross-memory post is sent by the target address space to the home address to signal completion of the executable module.

US Pat. No. 11,074,067

AUTO-GENERATION OF APPLICATION PROGRAMMING INTERFACE (API) DOCUMENTATION VIA IMPLEMENTATION-NEUTRAL ANALYSIS OF API TRAFFIC

TIBCO SOFTWARE INC., Pal...


1. A method performed by a processor of an API gateway comprising:receiving an application programming interface (API) interaction, wherein the receiving includes receiving an API request from a user and an API response from an API backend, wherein the API response is generated in response to the API request;
determining at least one interaction parameter based on the API interaction, wherein the determining includes determining at least one request parameter and at least one response parameter;
using statistics generated by at least one machine learning model to analyze the at least one interaction parameter, the at least one machine learning model trained using a validation dataset, the validation dataset comprising feedback from at least one selected from a group comprising a user, a document generator, and storage device; and
automatically generating documentation based on the one or more statistics and the at least one interaction parameter that includes the at least one request parameter and the at least one response parameter, wherein the documentation documents action data of the API request and the API response.

US Pat. No. 11,030,552

CONTEXT AWARE RECOMMENDATION OF ANALYTIC COMPONENTS

TIBCO SOFTWARE INC., Pal...

1. A method of operating a visualization platform to create context aware recommendations for analytic components, comprising:storing data sets for database columns, rules for at least one database column and associated data set, associated data set attributes, and recommendations from users for at least one visualization type and at least one user-altered visualization type;
the rules for determining the at least one visualization type and the at least one user-altered visualization type, priorities relative to the at least one visualization type and the at least one user-altered visualization type, at least one analytic method type, and at least one filtering operation for the at least one database column;
the at least one visualization type and the at least one user-altered visualization type determined based on the associated data set attributes and at least one of selected from a group comprising the priorities and the analytic method type;
the at least one analytic method type determined based on values of the associated data set, the priorities determined based on the recommendation from users, and the at least one filtering operation determined based on at least one of selected from a group comprising the at least one database column, values in the at least one database column, the at least one visualization type, the at least one user-altered visualization type, and the at least one analytic method type;
generating a user interface configured for receiving user inputs, wherein the inputs comprise an indication of a set of data for which a visualization is to be provided;
determining at least one attribute of the set of data;
analyzing values of the set of data;
comparing the at least one attribute and the analysis results of the analyzed values with the rules, associated data attributes, and recommendations to determine at least one selected from a group comprising a visualization and a user-altered visualization, and to determine at least one selected from a group comprising an analytical method, and a filtering operation;
ranking each of the determined visualization, the user-altered visualization, and the analytic method;
generating a data visualization analytics dashboard configured for:
displaying at least one selected from a group comprising a ranked visualization and a ranked user-altered visualization;
displaying results of at least one ranked analytic method and a control panel having a list of columns, the columns capable of being filtered based on each determined filtering operation;
receiving at least one associated data visualization alteration for at least one displayed selected data visualization; and
receiving a user recommendation to at least one of: reject a ranked data visualization of the at least one ranked data visualization; obtain more like the ranked data visualization of the at least one ranked data visualization; and add the ranked data visualization of the at least one ranked data visualization;
storing the user recommendation.

US Pat. No. 10,969,931

DATA MAPPING SERVICE

TIBCO SOFTWARE INC., Pal...

1. A method of mapping data to destination database table fields from source database table fields, comprising:providing via a displayed user interface a representation of a first destination data field to which the data is to be mapped, wherein the first destination data field is included in a plurality of destination data fields to which a set of source data is to be mapped, and one or more other destination data fields included in the plurality of destination data fields are not displayed at the same time as the first destination data field is displayed;
receiving a user input comprising a selection of a source data input field to be used to determine a data value for the first destination field;
updating, in response to the user input, the displayed user interface to include a representation of the selected source data input field and an insertion point control immediately following the representation of the selected source data input field;
providing, in response to a user selection on the insertion point control, via the displayed user interface a set of structurally valid options to further define how the data value for the first destination field is to be determined based on at least one other data value from the source database table fields, wherein the displayed user interface is updated to prevent a selection of an option that is not valid to insert immediately following the representation of the selected source data input field based at least in part on a current state of a data mapping definition as defined up to an insertion point of the insertion point control;
receiving a second user input comprising a selection of a structurally valid option from the set of structurally valid options to be used to determine the data value for the first destination field;
updating the displayed user interface, in response to the second user input, to include a representation of the selected structurally valid option following the representation of the selected source data input field, an identification of combining the selected structurally valid option with the selected source data input field, and a second insertion point control immediately following the identification of combining in a successive order;
providing, in response to a user selection on the second insertion point control, via the displayed user interface a second set of structurally valid options that are structurally valid to insert immediately following the identification of combining based at least in part on the current state of the data mapping definition as defined up to an insertion point of the second insertion point control; and
mapping the data to the first destination field according to the mapping definition determined based at least in part on the user input and the second user input;
the data mapping definition determined based on a valid change of the first destination data field, attributes of the selected source data input field, and other attributes of the first destination data field;
each option of the structurally valid options enables use of the source data input field to determine the data value of the first destination data field, the structurally valid options determined based on the data mapping definition.

US Pat. No. 10,891,114

INTERPRETER FOR INTERPRETING A DATA MODEL ALGORITHM AND CREATING A DATA SCHEMA

TIBCO SOFTWARE INC., Pal...

1. A computing device for interpreting a data model algorithm, the computing device comprising:an object searcher configured by a processor to search for attributes within at least one dataset generated from at least one method of an instantiation of the data model algorithm in a development mode workflow, wherein the data model algorithm develops data models for a clustered computing environment;
an interpreter configured by a processor to evaluate the attributes, identify attributes having a use type, identify type information of the identified attribute, and create data schema using the identified attributes and type information; and
a translator configured by a processor to:
retrieve production level data schema from the clustered computing environment in response to selecting the data model algorithm for inclusion in a production mode workflow;
translate the data model algorithm from a development state to a production ready state by validating the data schema by comparing the data schema with the production level data schema
for at least one node in the clustered computing environment.

US Pat. No. 10,839,024

DETECTING IMPORTANT VARIABLES AND THEIR INTERACTIONS IN BIG DATA

TIBCO SOFTWARE INC., Pal...

1. A computer-implementable method for performing in-database operations on at least one data repository having a high dimensional parameter space, comprising:instantiating an in-database processing operation, the in-database processing operation including at least one database statement for detecting important variables and interactions among select important variables from the high dimensional parameter space;
distributing the at least one database statement across a plurality of nodes of the storage system;
executing the at least one database statement at each of the plurality of nodes of the storage system to identify an important variable from the high dimensional parameter space; and
presenting information regarding the important variable via an important variable user interface;
wherein executing the at least one database statement includes preprocessing data according to a predictive modeling problem type and a clustering problem type;
wherein an amount of information extracted from a sample of data based on sets of variables defines an important variable;
wherein executing the at least one database statement includes selecting a set of predictor variables;
wherein a probability of each predictor variable selected is proportional to an average goal function value.