# US 10,375,120 B2 · Positionally-encoded string representations, including their use in machine learning and in security applications

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

- Number: US 10,375,120 B2
- Document ID: US10375120B2
- Status: Granted
- Kind: B2
- Application number: 15/594,086
- Filed: 2017-05-12
- Published: 2018-11-15
- Granted: 2019-08-06
- Earliest claimed: 2017-05-12
- Assignees: Sap SE
- Applicants: Sap SE
- Inventors: Marvin Baumgart; Viktor Povalyayev; David C. Hu
- Web page: https://patentgrep.com/patent/US10375120B2

## CPC

- H04L 63/205: {involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved (negotiation of communication capabilities H04L69/24)}
- G06F 21/34: involving the use of external additional devices, e.g. dongles or smart cards
- G06N 20/00: Machine learning
- G06N 20/10: using kernel methods, e.g. support vector machines [SVM]
- H04L 63/101: {Access control lists [ACL]}
- G06F 16/2445: {Data retrieval commands; View definitions}
- 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)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

String comparison, including comparing strings with a rule, can be time consuming, and strings may not be suitable for analysis using machine learning algorithms. The present disclosure provides positionally-encoded representations of strings, such as binary matrices or arrays, that provide an encoded representation of the string. The encoding, and decoding, can be facilitated by an encoding schema, such as an encoding schema stored in the memory of a computer device. The encoding schema associates particular characters with particular positions in an array. The positionally-encoded string representations can be used for security applications, such as to determine whether an authorization token that includes at least one string complies with an authorization rule. The authorization rule can be specified as a positionally-encoded representation that defines a set of strings that comply with the rule.

## Claims

### Claim 1

One or more non-transitory computer-readable storage media storing computer-executable instructions for causing a computing system to perform string processing, the processing comprising:
receiving an authorization value, the authorization value comprising at least one character string;
converting at least a portion of the character string to a positionally-encoded string representation, the converting comprising, for each of a plurality of characters of the character string;
comparing the character to an encoding schema, the encoding schema comprising an array of a plurality of unique characters, the array having a length, and each unique character having a unique position in the array;
providing a number of elements in a data structure equal to the length of the array of unique characters, the number of elements having an initial position;
determining a unique character that is the same as the character of the character string;
determining the position of the unique character in the array of unique characters, the position being an index value compared with an initial position of the array of unique characters;
determining a position in the data structure that is equal to the initial position plus the index value;
setting a value of the determined position of the data structure to indicate that the character of the character string is the determined unique character, wherein elements of the data structure that are not the unique character have a value that indicates that the unique character at the corresponding position in the array of unique characters is not the character of the character string;
comparing the positionally-encoded string representation with an authorization rule to determine whether the positionally-encoded string representation meets authorization criteria; and
providing or denying authorization based on the comparing.

### Claim 2 (depends on 1)

The one or more non-transitory computer-readable storage media of claim 1, wherein the positionally-encoded string representation comprises a matrix, the matrix having a height at least as large as the number of the plurality of characters of the at least a portion of the character string and a width equal to the length of the encoding schema array.

### Claim 3 (depends on 1)

The one or more non-transitory computer-readable storage media of claim 1, wherein the authorization value comprises first and second string portions and at least a portion of the first string portion and at least a portion of the second string portion are converted to a positionally-encoded string representation, the processing further comprising:
forming an authorization cube from the positionally-encoded representation of the first string portion and the positionally-encoded representation of the second string portion, wherein the positionally-encoded representations of the first and second string portions form different layers of the authorization cube.

### Claim 4 (depends on 3)

The one or more non-transitory computer-readable storage media of claim 3, wherein the positionally-encoded representation of the first string portion and the positionally-encoded representation of the second string portion form an authorization interval, wherein authorization is indicated if a value of the authorization rule is between a range specified by the authorization interval.

### Claim 5 (depends on 1)

The one or more non-transitory computer-readable storage media of claim 1, wherein comparing the positionally-encoded string representation with an authorization rule comprises providing the positionally-encoded string representation and the authorization rule to a machine learning algorithm.

### Claim 6 (depends on 1)

The one or more non-transitory computer-readable storage media of claim 1, wherein the authorization rule comprises a positionally-encoded representation that represents one or more strings.

### Claim 7 (depends on 6)

The one or more non-transitory computer-readable storage media of claim 6, wherein comparing the positionally-encoded string representation with the authorization rule comprises comparing values at equivalent positions of the positionally-encoded string representation and the positionally-encoded representation of the authorization rule.

### Claim 8 (depends on 1)

The one or more non-transitory computer-readable storage media of claim 1, wherein the authorization rule comprises a positionally-encoded representation having a plurality of elements, each element representing a string position, and the values of the string position indicate character values can be present at the string position if the positionally-encoded string representation complies with the authorization rule.

### Claim 9 (depends on 8)

The one or more non-transitory computer-readable storage media of claim 8, wherein the positionally-encoded representation of the authorization rule comprises a number of data elements for each of one or more positions in a character string, the number of data elements being equal to the length of the array of unique characters.

### Claim 10 (depends on 1)

The one or more non-transitory computer-readable storage media of claim 1, wherein the positionally-encoded representation meets authorization criteria, the processing further comprising:
determining a value indicating a likelihood of an action occurring if authorization is provided based on the comparing.

### Claim 11 (depends on 10)

The one or more non-transitory computer-readable storage media of claim 10, wherein the action comprises a risk.

### Claim 12 (depends on 1)

The one or more non-transitory computer-readable storage media of claim 1, the processing further comprising retrieving a rule definition, wherein the rule definition comprises criteria for comparing the positionally-encoded string representation with the authorization rule.

### Claim 13

A computing system that implements an analysis engine, the computing system comprising:
one or more memories;
one or more processing units coupled to the one or more memories; and
one or more computer readable storage media storing instructions that, when loaded into the memories, cause the one or more processing units to perform operations for:
creating a positionally-encoded representation of at least a portion of a string, the string comprising a plurality of characters, by encoding a data structure, physically implemented in the one or more computer readable storage media, based on the positions of a plurality of characters of the at least a portion of the string in an encoding schema:
providing the positionally-encoded string representation to a machine learning algorithm, the machine learning algorithm providing an output value; and
analyzing the output value to determine whether the string is a member of a set.

### Claim 14 (depends on 13)

The computing system of claim 13, wherein the positionally-encoded representation comprises a two-dimensional array.

### Claim 15 (depends on 13)

The computing system of claim 13, further comprising creating a positionally-encoded representation of at least a second portion of a string based on the positions of a plurality of characters of the at least a second portion in an encoding schema.

### Claim 16 (depends on 15)

The computing system of claim 15, further comprising combining the positionally-encoded representations of the first and second portions in a three-dimensional array.

### Claim 17 (depends on 13)

The computing system of claim 13, wherein the encoding schema comprises a data structure physically implemented in the one or more computer readable storage media, wherein the data structure comprises a plurality of unique positions, each possible string value being uniquely associated with a unique position in the data structure.

### Claim 18

In a computing system comprising a memory and one or more processors, a method of determining if an authorization token meets authorization criteria of an authorization rule, the method comprising:
creating a positionally-encoded representation of an authorization token, the authorization token comprising at least one string, by encoding a data structure based on the positions of a plurality of characters of at least a portion of the string in an encoding schema;
comparing the positionally-encoded representation of the authorization token with a positionally-encoded representation of an authorization rule, the authorization rule defining a set of authorized strings;
determining if the positionally-encoded representation of the authorization token meets authorization criteria of the authorization rule; and
if the results of the comparing meet authorization criteria, permitting an action to be executed.

### Claim 19 (depends on 18)

The method of claim 18, wherein the action comprises access to a controlled resource.

### Claim 20 (depends on 18)

The method of claim 18, wherein at least one of the positionally-encoded representation of the authorization and the positionally-encoded representation of the authorization rule comprises a three-dimensional array.
