IP Library Granted Patent US 12,483,602
Granted Patent B2
US 12,483,602 · App. 18/301,685 · Granted Nov 25, 2025

Computer implemented method and apparatus for management of non-binary privileges in a structured user environment

Inventors: Ryan O'Byrne (Ottawa, CA); Allan Yogasingam (Ottawa, CA); Christopher Burt (Ottawa, CA)
Assignee: Kinaxis Inc.
H04L63/205G06F3/04847
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 12,483,602
App. No.
18/301,685
Granted
Nov 25, 2025
Kind
B2
Abstract

Methods and systems to manage permissions in a structured user-environment which provide a User Interface (UI) that provides a simple, intuitive administration to apply permissions at the user and group level to data in the structured user-environment. The UI also provides feedback to the administrator as to the inheritance path of each user and/or group as well as links between permissions, allowing the administrator to determine how a user or group was granted or denied access to a permission or resource.

Claims (80)

1 . A computer-implemented method for managing a set of permissions on a user interface, the method comprising:

retrieving, by a client, from a server, a setting value and an inherited value for a user for each permission in the set of permissions, the setting value being interchangeable between blank, allow and deny, with the setting value set as blank by default, the inherited value being interchangeable between blank, allow and deny and the inherited value for a given permis sion resulting from combining all of a plurality of setting values from all of a plurality of groups that the user is a member of such that a deny value supersedes an allow value, and the allow value supersedes a blank value, an inherited value of blank indicating no group membership;

generating, by the client, an effective value for each permission by combining the setting value and the inherited value, with the effective value set as deny by default;

initializing, by the client, a setting control and an effective control for each permission, with data from the server;

offering, by the client, an information link for each effective value that has a conflict with a corresponding setting value;

determining, by the client and with the data from the server, whether one or more setting values should be uneditable;

displaying, by the client, the user interface on a device to an administrator;

changing, by the administrator, a selected setting value via the user interface;

updating, by the client: one or more effective values changed by changing the selected setting value; one or more information links changed by changing the selected setting value;

one or more accessibilities editabilities changed by changing the selected setting value; and one or more setting values changed by changing the selected setting value, to generate one or more updated effective values and one or more updated setting values; and

transmitting, by the client, to the server, the one or more updated setting values and the one or more updated effective values,

wherein updating comprises:

a) updating, by the client, an effective value that is dependent on a change made to the selected setting value;

when the updated effective value changes:

b) updating, by the client, an information link associated with the changed effective value;

c) determining, by the client, whether a setting value that depends on the change made to the selected setting value should be uneditable;

d) updating, by the client, a setting value that depends on the change made to the selected setting value; and

repeating steps (a)-(d) when the setting value that depends on the change made to the selected setting value changes.

2 . The computer-implemented method of claim 1 , wherein in initializing the setting control and the effective control, the data comprises a set of one or more permission links.

3 . The computer-implemented method of claim 2 , wherein a permission link between a first permission and a second permission is a required link in which allowance for the first permission requires an allowance for the second permission.

4 . The computer-implemented method of claim 2 , wherein a permission link between a first permission and a second permission is an included link in which an effective value for the first permission is included with an allowance for the second permission.

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

setting, by the client, an accessibility of a setting control of the first permission as inaccessible.

6 . A computing apparatus for managing a set of permissions on a user interface, the apparatus comprising:

a processor; and

a memory storing instructions that, when executed by the processor,

configure the system to:

retrieve, by a client, from a server, a setting value and an inherited value for a user for each permission in the set of permissions, the setting value being interchangeable between blank, allow and deny, with the setting value set as blank by default, the inherited valu e being interchangeable between blank, allow and deny and the inherited value for a given permission resulting from combining all of a plurality of setting values from all of a plurality of groups that the user is a member of such that a deny value supersedes an allow value, and the allow value supersedes a blank value, an inherited value of blank indicating no group membership;

generate, by the client, an effective value for each permission by combining the setting value and the inherited value, with the effective value set as deny by default;

initialize, by the client, a setting control and an effective control for each permission, with data from the server;

offer, by the client, an information link for each effective value that has a conflict with a corresponding setting value;

determine, by the client and with the data from the server, whether one or more setting values should be uneditable;

display, by the client, the user interface on a device to an administrator;

change, by the administrator, a selected setting value via the user interface;

update, by the client, one or more effective values changed by changing the selected setting value; one or more information links changed by changing the selected setting value; one or more editabilities changed by changing the selected setting value; and one or more setting values changed by changing the selected setting value, to generate one or more updated effective values and one or more updated setting values;

and

transmit, by the client, to the server, the one or more updated setting values and the one or more updated effective values,

wherein when changing the selected value, the instructions further configure the apparatus to:

a) update, by the client, an effective value that is dependent on a change made to the selected setting value;

when the updated effective value changes:

b) update, by the client, an information link associated with the effective value that has changed;

c) determine, by the client, whether a setting value that depends on the change made to the selected setting value should be uneditable;

d) update, by the client, a setting value that depends on the change made to the selected setting value;

and

repeat steps (a)-(d) when the setting value that depends on the change made to the selected setting value changes.

7 . The computing apparatus of claim 6 , wherein when initializing, the instructions further configure the apparatus to:

initialize, by the client, the setting control and the effective control for each permission from data that comprises a set of one or more permission links.

8 . The computing apparatus of claim 7 , wherein a permission link between a first permission and a second permission is a required link in which allowance for the first permission requires an allowance for the second permission.

9 . The computing apparatus of claim 7 , wherein a permission link between a first permission and a second permission is an included link in which an effective value for the first permission is included with an allowance for the second permission.

10 . The computing apparatus of claim 9 , wherein the instructions further configure the apparatus to:

set, by the client, an accessibility of a setting control of the first permission as inaccessible.

11 . A non-transitory computer-readable storage medium for managing a set of permissions on a user interface, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to:

retrieve, by a client, from a server, a setting value and an inherited value for a user for each permission in the set of permissions, the setting value being interchangeable between blank, allow and deny, with the setting value set as blank by default, the inherited value being interchangeable between blank, allow and deny and the inherited value for a given permission resulting from combining all of a plurality of setting values from all of a plurality of groups that the user is a member of such that a deny value supersedes an allow value, and the allow value supersedes a blank value, an inherited value of blank indicating no group membership;

generate, by the client, an effective value for each permission by combining the setting value and the inherited value, with the effective value set as deny by default;

initialize, by the client, a setting control and an effective control for each permission, with data from the server;

offer, by the client, an information link for each effective value that has a conflict with a corresponding setting value;

determine, by the client and with the data from the server, whether one or more setting values should be uneditable;

display, by the client, the user interface on a device to an administrator;

change, by the administrator, a selected setting value via the user interface;

update, by the client, one or more effective values changed by changing the selected setting value; one or more information links changed by changing the selected setting value; one or more editabilities changed by changing the selected setting value; and one or more setting values changed by changing the selected setting value, to generate one or more updated effective values and one or more updated setting values; and

transmit, by the client, to the server, the one or more updated setting values and the one or more updated effective values,

wherein when changing the selected value, the instructions further configure the computer to:

a) update, by the client, an effective value that is dependent on a change made to the selected setting value;

when the updated effective value changes:

b) update, by the client, an information link associated with the changed effective value;

c) determine, by the client, whether a setting value that depends on the change made to the selected setting value should be uneditable;

d) update, by the client, a setting value that depends on the change made to the selected setting value;

and

repeat steps (a)-(d) when the setting value that depends on the change made to the selected setting value changes.

12 . The non-transitory computer-readable storage medium of claim 11 , wherein when initializing, the instructions further configure the computer to:

initialize, by the client, the setting control and the effective control for each permission from data that comprises a set of one or more permission links.

13 . The non-transitory computer-readable storage medium of claim 12 , wherein a permission link between a first permission and a second permission is a required link in which allowance for the first permission requires an allowance for the second permission.

14 . The non-transitory computer-readable storage medium of claim 12 , wherein a permission link between a first permission and a second permission is an included link in which an effective value for the first permission is included with an allowance for the second permission.

15 . The non-transitory computer-readable storage medium of claim 14 , wherein the instructions further configure the computer to:

set, by the client, an accessibility of a setting control of the first permission as inaccessible.

16 . The computer-implemented method of claim 1 , further comprising displaying, by the client, a column of the setting value for each permission, and a column of the effective value of each permission, on the user interface.

17 . The computing apparatus of claim 6 , wherein the instructions further configure the apparatus to:

display, by the client, a column of the setting value for each permission, and a column of the effective value of each permission, on the user interface.

18 . The non-transitory computer-readable storage medium of claim 11 , wherein when initializing, the instructions further configure the computer to:

display, by the client, a column of the setting value for each permission, and a column of the effective value of each permission, on the user interface.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2025
From: O'BYRNE, RYAN; YOGASINGAM, ALLAN; BURT, CHRIS
To: KINAXIS INC.
Reel/Frame 070442/0248 →
Continuity (2)
Continuation 16853805 · Apr 21, 2020
Related Publication 20230254344A1 · Aug 10, 2023
References Cited (12)
US 8229977B1 · Anderson et al. · 2012 [cited by applicant]
US 9628493B2 · Warshavsky et al. · 2017 [cited by applicant]
US 9652255B2 · Schachtel et al. · 2017 [cited by applicant]
US 10394412B2 · Torman et al. · 2019 [cited by applicant]
US 10819747B1 · Sedky · 2020 [cited by examiner]
US 20030037263A1 · Kamat · 2003 [cited by examiner]
US 20060095422A1 · Kikuchi · 2006 [cited by applicant]
US 20070097655A1 · Yampolsky et al. · 2007 [cited by applicant]
US 20080127307A1 · Fukuta · 2008 [cited by applicant]
US 20080160956A1 · Jackson · 2008 [cited by examiner]
US 20100058434A1 · Chusing · 2010 [cited by examiner]
US 20150256526A1 · Biegala et al. · 2015 [cited by applicant]