IP Library Granted Patent US 10,904,314
Granted Patent B2
US 10,904,314 · App. 16/225,674 · Granted Jan 26, 2021

Endpoint URL generation and management

Inventors: John Rice (Indianapolis, IN); Thomas B. Kashin (Indianapolis, IN); Venkatesh Baskar (Carmel, IN); Nathan Corn (Indianapolis, IN); Sangamesh Wadawadigi (Carmel, IN)
Assignee: salesforce.com, inc.
H04L67/02G06F16/9566G06F16/9577H04L9/0643
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,904,314
App. No.
16/225,674
Granted
Jan 26, 2021
Kind
B2
Abstract

Systems, devices, and techniques are disclosed for endpoint URL generation and management. An entity identifier may be received. The entity identifier may be hashed with a hashing algorithm to generate an alphanumeric string. A custom endpoint URL may be generated by combining the alphanumeric string with a URL that identifies an endpoint located on a server of a cloud computing system. A CNAME record in a DNS database may be updated to associate the URL that identifies the endpoint located in a stack of cloud computing system with the custom endpoint URL.

Claims (55)

1. A computer-implemented method comprising:

receiving a first entity identifier that identifies a first entity of a plurality of entities, wherein the plurality of entities are organizations;

hashing, with a hashing algorithm, the first entity identifier to generate a first alphanumeric string;

generating a first custom endpoint URL (Uniform Resource Locator) by combining the first alphanumeric string with a first URL that identifies a first endpoint located in a first stack of a plurality of stacks of a cloud computing system, wherein the cloud computing system is segmented into the plurality of stacks, and wherein each of the plurality of stacks comprises its own subdomain;

updating a CNAME (Canonical Name) record in a DNS (Domain Name System) database to associate the first custom endpoint URL, with the first URL that identifies the first endpoint located in the first stack of the cloud computing system;

updating the CNAME record in the DNS database to associate the first custom endpoint URL, with a second URL that identifies the first endpoint in a second stack of the cloud computing system, in response to the first endpoint being moved from the first stack of the cloud computing system to the second stack of the cloud computing system, wherein the second URL includes subdomains that identify the second stack to which the first endpoint is moved;

receiving a first access request comprising a first user identifier and the first custom endpoint URL;

receiving a second entity identifier associated with the first user identifier by looking up the first user identifier in an entity database, wherein the second entity identifier identifies a second entity of the plurality of entities;

determining the first entity identifier being associated with the first custom endpoint URL in the first access request by looking up the first alphanumeric string of the first custom endpoint URL of the first access request in an endpoint-string database that associates alphanumeric strings with entity identifiers;

comparing the second entity identifier associated with the first user identifier of the first access request, with the first entity identifier associated with the first custom endpoint URL of the first access request;

determining if the second entity identifier associated with the first user identifier of the first access request, matches the first entity identifier associated with the first custom endpoint URL of the first access request;

permitting access to the first endpoint identified by the first custom endpoint URL if the second entity identifier associated with the first user identifier of the first access request matches the first entity identifier associated with the first custom endpoint URL of the first access request and not permitting access to the first endpoint identified by the first custom endpoint URL if the second entity identifier associated with the first user identifier of the first access request does not match the first entity identifier associated with the first custom endpoint URL of the first access request.

2. The computer-implemented method of claim 1 , further comprising:

receiving a second access request comprising a second user identifier and the first custom endpoint URL;

determining a third entity identifier associated with the second user identifier;

hashing, with the hashing algorithm, the third entity identifier associated with the second user identifier to generate a second alphanumeric string; and

permitting access to the first endpoint identified by the first custom endpoint URL if the second alphanumeric string matches the first alphanumeric string of the first custom endpoint URL of the second access request and not permitting access to the first endpoint identified by the first custom endpoint URL if the second alphanumeric string does not match the first alphanumeric string of the first custom endpoint URL of the second access request.

3. The computer-implemented method of claim 1 , wherein the first entity identifier is a number, and wherein the first alphanumeric string comprises more characters than there are digits of the number.

4. The computer-implemented method of claim 1 , wherein the hashing algorithm is configured to generate alphanumeric strings that comply with DNS criteria.

5. The computer-implemented method of claim 1 , further comprising:

receiving the first entity identifier a second time;

hashing, with the hashing algorithm, the first entity identifier to generate the first alphanumeric string; and

generating a second custom endpoint URL by combining the first alphanumeric string with a third URL that identifies a second endpoint located on a server of the cloud computing system.

6. The computer-implemented method of claim 1 , further comprising:

receiving a fourth entity identifier;

hashing, with the hashing algorithm, the fourth entity identifier to generate a third alphanumeric string different from the first alphanumeric string; and

generating a third custom endpoint URL by combining the third alphanumeric string with a third URL that identifies a second endpoint located on a server of the cloud computing system.

7. A computer-implemented system for endpoint URL generation and management comprising:

a computer memory; and

a computer processor that receives a first entity identifier that identifies a first entity of a plurality of entities, wherein the plurality of entities are organizations,

hashes, with a hashing algorithm, the first entity identifier to generate a first alphanumeric string,

generates a first custom endpoint URL by combining the first alphanumeric string with a first URL that identifies a first endpoint located in a first stack of a plurality of stacks of a cloud computing system, wherein the cloud computing system is segmented into the plurality of stacks, and wherein each of the plurality of stacks comprises its own subdomain,

updates a CNAME (Canonical Name) record in a DNS (Domain Name System) database to associate the first custom endpoint URL, with the first URL that identifies the first endpoint located in the first stack of the cloud computing system,

updates the CNAME record in the DNS database to associate the first custom endpoint URL, with a second URL that identifies the first endpoint in a second stack of the cloud computing system, in response to the first endpoint being moved from the first stack of the cloud computing system to the second stack of the cloud computing system, wherein the second URL includes subdomains that identify the second stack to which the first endpoint is moved,

receives a first access request comprising a first user identifier and the first custom endpoint URL,

receives a second entity identifier associated with the first user identifier by looking up the first user identifier in an entity database, wherein the second entity identifier identifies a second entity of the plurality of entities,

determines the first entity identifier being associated with the first custom endpoint URL in the first access request by looking up the first alphanumeric string of the first custom endpoint URL of the first access request in an endpoint-string database that associates alphanumeric strings with entity identifiers,

compares the second entity identifier associated with the first user identifier of the first access request, with the first entity identifier associated with the first custom endpoint URL of the first access request,

determines if the second entity identifier associated with the first user identifier of the first access request, matches the first entity identifier associated with the first custom endpoint URL of the first access request,

permits access to the first endpoint identified by the first custom endpoint URL if the second entity identifier associated with the first user identifier of the first access request matches the first entity identifier associated with the first custom endpoint URL of the first access request, and does not permit access to the first endpoint identified by the first custom endpoint URL if the second entity identifier associated with the first user identifier of the first access request does not match the first entity identifier associated with the first custom endpoint URL of the first access request.

8. The computer-implemented system of claim 7 , wherein the computer processor further

receives a second access request comprising a second user identifier and the first custom endpoint URL,

determines a third entity identifier associated with the second user identifier,

hashes, with the hashing algorithm, the third entity identifier associated with the second user identifier to generate a second alphanumeric string, and

permits access to the first endpoint identified by the first custom endpoint URL if the second alphanumeric string matches the first alphanumeric string of the first custom endpoint URL of the second access request and not permitting access to the first endpoint identified by the first custom endpoint URL if the second alphanumeric string does not match the first alphanumeric string of the first custom endpoint URL of the second access request.

9. The computer-implemented system of claim 7 , wherein the first entity identifier is a number, and wherein the first alphanumeric string comprises more characters than there are digits of the number.

10. The computer-implemented system of claim 7 , wherein the hashing algorithm is configured to generate alphanumeric strings that comply with DNS criteria.

11. The computer-implemented system of claim 7 , wherein the processor further

receives the first entity identifier a second time;

hashes, with the hashing algorithm, the first entity identifier to generate the first alphanumeric string, and

generates a second custom endpoint URL by combining the first alphanumeric string with a third URL that identifies a second endpoint located on a server of the cloud computing system.

12. The computer-implemented system of claim 7 , wherein the processor further

receives a fourth entity identifier,

hashes, with the hashing algorithm, the fourth entity identifier to generate a third alphanumeric string different from the first alphanumeric string, and

generates a third custom endpoint URL by combining the third alphanumeric string with a third URL that identifies a second endpoint located on a server of the cloud computing system.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0383 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2018
From: RICE, JOHN; KASHIN, THOMAS B.; BASKAR, VENKATESH; CORN, NATHAN; WADAWADIGI, SANGAMESH
To: SALESFORCE.COM, INC.
Reel/Frame 047818/0200 →
Continuity (2)
Provisional Application 62753641 · Oct 31, 2018
Related Publication 20200137138A1 · Apr 30, 2020