# US 12,003,591 B2 · Automatic discovery and registration of service applications for files introduced to a user interface

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,003,591 B2
- Document ID: US12003591B2
- Status: Granted
- Kind: B2
- Application number: 17/328,128
- Filed: 2021-05-24
- Published: 2021-09-23
- Granted: 2024-06-04
- Earliest claimed: 2016-10-24
- Assignees: Palantir Technologies Inc.
- Applicants: Palantir Technologies Inc.
- Inventors: Adam Campbell; Ashwin Ramaswamy; Juan Tamayo; Lee Avital; Taylor Morgan; Thomas Hasner
- Web page: https://patentgrep.com/patent/US12003591B2

## CPC

- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- G06F 9/44505: {Configuring for program initiating, e.g. using registry, configuration files}
- G06F 9/451: Execution arrangements for user interfaces
- G06F 16/116: {Details of conversion of file system types or formats}
- G06F 16/13: File access structures, e.g. distributed indices (arrangements of input from, or output to, record carriers G06F3/06)
- G06F 16/148: {File search processing}
- G06F 16/156: {Query results presentation}
- G06F 16/1734: {Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs}
- G06F 16/951: Indexing; Web crawling techniques
- G06F 16/953: Querying, e.g. by the use of web search engines
- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- G06F 3/048: Interaction techniques based on graphical user interfaces [GUI]
- G06F 16/16: File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F 16/168: {Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs (query results presentation G06F16/156)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A catalogue system automatically detects changes to configuration file at a service application. Based on the changes to the configuration file(s), the catalogue system stores mapping data that identifies a resource item type that can be processed by the service application and one or more user actions that are available for processing resource items of the resource item type. The techniques thus provide for dynamic interaction with service applications.

## Claims

### Claim 1

A method comprising:
detecting a change to a configuration file of a service application in a distributed system,
wherein a plurality of service applications having respective configuration files reside in distributed locations within the distributed system,
wherein the configuration file comprises a designated resource item type, one or more user actions, and corresponding one or more priorities;
updating, in response to the change to the configuration file, mapping data in a central catalogue that associates the designated resource item type to the service application and that associates each user action of the one or more user actions to the service application based on the configuration file;
detecting a change to a particular resource item;
determining, in response to the change to the particular resource item, that the particular resource item has a first resource item type that matches the designated resource item type based on the mapping data;
identifying, in response to the change to the particular resource item, the service application to process the particular resource item and a specific user action of the one or more user actions for the particular resource item based on the mapping data,
the specific user action satisfying a predetermined condition based on a corresponding specific priority;
after the identifying, transmitting the particular resource item to the service application and causing the specific user action to be performed by the service application on the particular resource item,
wherein the method is performed using one or more processors.

### Claim 2 (depends on 1)

The method of claim 1, wherein detecting the change to the configuration file comprises detecting that the configuration file has been created.

### Claim 3 (depends on 1)

The method of claim 1, wherein detecting the change to the configuration file comprises detecting that the configuration file has been modified.

### Claim 4 (depends on 1)

The method of claim 1, wherein detecting the change to the configuration file comprises polling a file path or directory associated with the service application.

### Claim 5 (depends on 1)

The method of claim 1, wherein detecting the change to the particular resource item comprises detecting that the particular resource item has been created, imported, or received.

### Claim 6 (depends on 1)

The method of claim 1, wherein detecting the change to the particular resource item comprises detecting that the particular resource item has been converted to a different format.

### Claim 7 (depends on 1)

The method of claim 1, wherein the designated resource item type comprises a regular expression and wherein determining that the particular resource item has a first resource item type that matches the designated resource item type comprises applying the regular expression to the particular resource item.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
causing to be displayed in a computer graphical user interface, computer graphical user interface controls indicating the specific user action, which, when selected, cause the specific user action to be performed by the service application on the particular resource item;
storing a relative path of the particular resource item at the service application;
storing a link for specific the user action;
detecting a selection of the computer graphical user interface controls; and
using the relative path and the link to cause the service application to perform the specific user action on the particular resource item.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
receiving a search query for a second resource item;
using the search query to search a plurality of metadata associated with a plurality of resource items previously processed by the plurality of service applications to generate a first search result; and
causing to be displayed the first search result.

### Claim 10

A non-transitory storage media storing instructions which, when executed using one or more processors, cause:
detecting a change to a configuration file of a service application in a distributed system,
wherein a plurality of service applications having respective configuration files reside in distributed locations within the distributed system,
wherein the configuration file comprises a designated resource item type, one or more user actions, and corresponding one or more priorities;
updating, in response to the change to the configuration file, mapping data in a central catalogue that associates the designated resource item type to the service application and that associates each user action of the one or more user actions to the service application based on the configuration file;
detecting a change to a particular resource item;
determining, in response to the change to the particular resource item, that the particular resource item has a first resource item type that matches the designated resource item type based on the mapping data;
identifying, in response to the change to the particular resource item, the service application to process the particular resource item and a specific user action of the one or more user actions for the particular resource item based on the mapping data,
the specific user action satisfying a predetermined condition based on a corresponding specific priority;
after the identifying, transmitting the particular resource item to the service application and causing the specific user action to be performed by the service application on the particular resource item.

### Claim 11 (depends on 10)

The non-transitory storage media of claim 10, wherein detecting the change to the configuration file comprises detecting that the configuration file has been created.

### Claim 12 (depends on 10)

The non-transitory storage media of claim 10, wherein detecting the change to the configuration file comprises detecting that the configuration file has been modified.

### Claim 13 (depends on 10)

The non-transitory storage media of claim 10, wherein detecting the change to the configuration file comprises polling a file path or directory associated with the service application.

### Claim 14 (depends on 10)

The non-transitory storage media of claim 10, wherein detecting the change to the particular resource item comprises detecting that the particular resource item has been created, imported, or received.

### Claim 15 (depends on 10)

The non-transitory storage media of claim 10, wherein detecting the change to the particular resource item comprises detecting that the particular resource item has been converted to a different format.

### Claim 16 (depends on 10)

The non-transitory storage media of claim 10, wherein the designated resource item type comprises a regular expression and wherein determining that the particular resource item has a first resource item type that matches the designated resource item type comprises applying the regular expression to the particular resource item.

### Claim 17 (depends on 10)

The non-transitory storage media of claim 10, further storing instructions which, when executed using the one or more processors, cause:
causing to be displayed in a computer graphical user interface, computer graphical user interface controls indicating the specific user action, which, when selected, cause the specific user action to be performed by the service application on the particular resource item;
storing a relative path of the particular resource item at the service application;
storing a link for the specific user action;
detecting a selection of the computer graphical user interface controls; and
using the relative path and the link to cause the service application to perform the specific user action on the particular resource item.

### Claim 18 (depends on 10)

The non-transitory storage media of claim 10, further storing instructions which, when executed using the one or more processors, cause:
receiving a search query for a second resource item;
using the search query to search a plurality of metadata associated with a plurality of resource items previously processed by the plurality of service applications to generate a first search result; and
causing to be displayed the first search result.

### Claim 19

A computer system comprising:
one or more processors;
storage media storing
instructions which, when executed using the one or more processors, cause:
detecting a change to a configuration file of a service application in a distributed system,
wherein a plurality of service applications having respective configuration files reside in distributed locations within the distributed system,
wherein the configuration file comprises a designated resource item type, one or more user actions, and corresponding one or more priorities;
updating, in response to the change to the configuration file, mapping data in a central catalogue that associates the designated resource item type to the service application and that associates each user action of the one or more user actions to the service application based on the configuration file;
detecting a change to a particular resource item;
determining, in response to the change to the particular resource item, that the particular resource item has a first resource item type that matches the designated resource item type based on the mapping data;
identifying, in response to the change to the particular resource item, the service application to process the particular resource item and a specific user action of the one or more user actions for the particular resource item based on the mapping data,
the specific user action satisfying a predetermined condition based on a corresponding specific priority;
after the identifying, transmitting the particular resource item to the service application and causing the specific user action to be performed by the service application on the particular resource item.

### Claim 20 (depends on 19)

The computer system of claim 19, wherein the instructions when executed using the one or more processors further cause:
causing to be displayed in a computer graphical user interface, computer graphical user interface controls indicating the specific user action, which, when selected, cause the specific user action to be performed by the service application on the particular resource item;
detecting a selection of the computer graphical user interface controls; and
causing the specific user action to be performed by the service application on the particular resource item.
