IP Library Granted Patent US 11,620,171
Granted Patent B2
US 11,620,171 · App. 16/586,578 · Granted Apr 4, 2023

Systems and methods for generating schema notifications

Inventors: Ben Sayers (Sydney, AU); Sebastian Tello (Sydney, AU); Igor Sechyn (Delmenhorst, DE); Mauri Edo (Sydney, AU); Andrew Brainwood (Sydney, AU)
Assignees: ATLASSIAN PTY LTD.; ATLASSIAN US, INC.
G06F9/542G06F16/212
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 11,620,171
App. No.
16/586,578
Granted
Apr 4, 2023
Kind
B2
Abstract

Systems and methods for processing schemas to generate set representations of those schemas. Schema set representations can be used to generate schema coverage notifications. Set operations can be performed on schemas to compare schemas and identify whether any support changes have been made thereto.

Claims (53)

1. A computer implemented method for generating a schema coverage change notification, the method comprising:

accessing an input schema defining, at least in part, a format by which by a third-party software application executing on a client device uses to request data from, or provide data to, a server implementing a specified application programming interface;

for each of a plurality of data types, processing the input schema to:

determine that the input schema imposes two or more constraints on values of the data type;

analyze the two or more constraints to determine if any constraint contradictions exist; and

in response to determining that a constraint contradiction exists, generating and transmitting to a developer of the third-party software application, the schema coverage change notification comprising a contradiction message including data with respect to the

constraint contradiction identified; and

generating a contradiction notification interface to be displayed to the developer, the contradiction notification interface configured to display the input schema in its original form together with visual indications highlighting one or more portions of the input schema that give rise to the identified constraint contradiction.

2. The computer implemented method of claim 1 further comprising processing the input schema to generate a type set representation of the input schema for each of the plurality of data types and mathematically performing set operations thereon, and wherein the determining that the input schema imposes two or more constraints on values of a given data type comprises analyzing the type set representation in respect of the given data type.

3. The computer implemented method of claim 1 , wherein determining that a constraint contradiction exists comprises:

analyzing the constraints imposed on the given type by the input schema against a contradiction rule set, the contradiction rule set defining one or more contradiction rules; and

determining that two constraints imposed on the data type by the input schema match a contradiction rule.

4. The computer implemented method of claim 1 , wherein determining that a constraint contradiction exists comprises:

analyzing the constraints imposed on the given type by the input schema against a contradiction rule set, the contradiction rule set defining one or more contradiction rules; and

determining that three or more constraints imposed on the data type by the input schema match a contradiction rule.

5. The computer implemented method of claim 1 , wherein prior to processing the input schema to for each data type the method comprises:

processing the input schema to initially determine whether the input schema is intended to accept some values, all values, or no values; and wherein

processing the input schema for each of the plurality of data types is only performed in response to initially determining that the input schema is intended to accept some values.

6. The computer implemented method of claim 5 , wherein the input schema is initially determined to be a schema intended to accept some values if the input schema is not a Boolean value.

7. The computer implemented method of claim 1 , wherein prior to determining that the input schema imposes two or more constraints on values of a particular data type the method further comprises:

determining whether the input schema supports the particular data type; and wherein

determining that the input schema imposes two or more constraints on values of the particular data type is only performed in response to determining that the input schema supports the particular data type.

8. The computer implemented method claim 1 , wherein the data types are selected from a group consisting of:

a number type;

a string type;

an object type; and

an array type.

9. A system comprising:

one or more processors;

one or more non-transitory computer-readable storage media storing sequences of instructions which, when executed by the one or more processors, cause the one or more processors to:

access an input schema defining, at least in part, a format by which by a third-party software application executing on a client device requests data from, or provides data to, a server implementing a application programming interface;

for each of a plurality of data types, process the input schema to:

determine that the input schema imposes two or more constraints on values of the data type;

analyze the two or more constraints to determine if any constraint contradictions exist; and

in response to determining that a constraint contradiction exists,

generate and transmit to a developer of the third-party software application, a schema change notification comprising a contradiction message including data with respect to the constraint contradiction identified; and

generate a contradiction notification interface to be displayed to the developer, the contradiction notification interface configured to display the input schema in its original form together with visual indications highlighting one or more portions of the input schema that give rise to the identified constraint contradiction.

10. The system of claim 9 , wherein execution of the sequences of instructions causes the one or more processors to process the input schema to generate a type set representation of the input schema for each of the plurality of data types and mathematically perform set operations thereon, and wherein the determining that the input schema imposes two or more constraints on values of a given data type comprises analyzing the type set representation in respect of the given data type.

11. The system of claim 9 , wherein determining that a constraint contradiction exists comprises:

analyzing the constraints imposed on the given type by the input schema against a contradiction rule set, the contradiction rule set defining one or more contradiction rules; and

determining that two or more constraints imposed on the data type by the input schema match a contradiction rule.

12. The system of claim 9 , wherein prior to processing the input schema to for each data type execution of the sequences of instructions cause the one or more processors to:

process the input schema to initially determine whether the input schema is intended to accept some values, all values, or no values; and wherein

processing the input schema for each of the plurality of data types is only performed in response to initially determining that the input schema is intended to accept some values.

13. The system of claim 12 , wherein the input schema is initially determined to be a schema intended to accept some values if the input schema is not a Boolean value.

14. The system of claim 9 , wherein prior to determining that the input schema imposes two or more constraints on values of a particular data type execution of the sequences of instructions cause the one or more processors to:

determine whether the input schema supports the particular data type; and wherein

determining that the input schema imposes two or more constraints on values of the particular data type is only performed in response to determining that the input schema supports the particular data type.

15. The system of claim 9 , wherein the data types are selected from a group consisting of:

a number type;

a string type;

an object type; and

an array type.

Assignments (2)
CHANGE OF NAME Recorded Aug 5, 2022
From: ATLASSIAN, INC.
To: ATLASSIAN US, INC.
Reel/Frame 061085/0690 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2019
From: SAYERS, BEN; TELLO, SEBASTIAN; SECHYN, IGOR; EDO, MAURI; BRAINWOOD, ANDREW
To: ATLASSIAN PTY LTD.; ATLASSIAN INC.
Reel/Frame 050954/0465 →
Continuity (1)
Related Publication 20210096932A1 · Apr 1, 2021