IP Library Granted Patent US 9,753,750
Granted Patent B2
US 9,753,750 · App. 14/419,667 · Granted Sep 5, 2017

Global feature library useable with continuous delivery

Inventors: Inbar Shani (Kibutz Beit Kama, IL); Amichai Nitsan (Rehovot, IL); Lior Manor (Aifei Menashe, IL)
Assignee: ENTIT SOFTWARE LLC
G06F9/44521G06F8/54G06F8/60G06F17/30578
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 9,753,750
App. No.
14/419,667
Filed
Feb 5, 2015
Granted
Sep 5, 2017
Kind
B2
Examiner
UNG, LANNY N
Art Unit
2191
USPC
717/163
Abstract

A method to manage a global feature library is provided herein. The method provides a global feature library with a plurality of features defined therein. The global feature library includes a feature switch for each of the plurality of features. The feature switch is useable with an application code. The feature switch is linked to an application code. The feature switch includes a feature value that turns a feature associated with the feature switch on and off based on a global value rule. The global rule is transmitted to a client device capable of storing the feature value in-memory.

Claims (41)

1. A processor implemented method to manage a global feature library usable with a continuous delivery environment, the method comprising:

providing the global feature library with a plurality of features defined therein, the global feature library including feature switches for respective features of the plurality of features, each feature switch useable with an application code, the global feature library further including a global value rule;

linking the feature switches to the application code, each feature switch of the feature switches including a feature value associated therewith, the feature value of a first feature switch of the feature switches to turn on and off a first feature associated with the first feature switch based on the global value rule;

in response to a request to change the global value rule, transmitting, by a server, an update of the feature value of the first feature switch to a plurality of client devices that store the feature value of the first feature switch in respective memories of the plurality of client devices, the update to cause a change of the feature value of the first feature switch stored in the respective memories of the plurality of client devices; and

transmitting the global value rule to the plurality of client devices that store respective local feature libraries, each local feature library including the global value rule and a subset of the plurality of features.

2. The method of claim 1 , further comprising:

storing the first feature switch in the global feature library in a plurality of different programming languages; and

calling, by the global feature library, a feature access code associated with the first feature switch, the feature access code calling the first feature in a programming language, selected from among the plurality of different programming languages, of the application code.

3. The method of claim 1 , further comprising collecting a usage data for the first feature switch,

the usage data including at least one of information of where the first feature switch is embedded in the application code, information of when the first feature switch is embedded into the application code, information of who embedded the first feature switch, information of when the first feature switch is turned on, information of when the first feature switch is turned off, information of conditions of when the first feature switch is accessed, or information of the performance effect of the first feature switch on the application code's runtime.

4. The method of claim 3 , further comprising:

collecting the usage data asynchronously; and

storing the usage data in a global data store.

5. The method of claim 1 , further comprising linking and unlinking the first feature switch from the application code using at least one of a macro or a user interface.

6. The method of claim 1 , further comprising limiting access to each of the plurality of features based on a user credential.

7. The method of claim 1 , further comprising modifying the feature value of the first feature switch in real-time.

8. The method of claim 1 , wherein transmitting the update comprises transmitting a configuration file to the plurality of client devices that use the configuration file to change the feature value of the first feature switch stored in the respective memories of the plurality of client devices.

9. The method of claim 1 , wherein transmitting the update comprises transmitting an application programming call to the plurality of client devices that use the application programming call to change the feature value of the first feature switch stored in the respective memories of the plurality of client devices.

10. The method of claim 1 , wherein the plurality of features comprise code portions in the application code.

11. The method of claim 1 , wherein the global value rule is distinct from the first feature switch and the value of the first feature switch.

12. The method of claim 1 , wherein the feature value of a second feature switch of the feature switches is to turn on and off a second feature associated with the second feature switch based on the global value rule, the method further comprising:

responsive to the request to change the global value rule, transmitting, by the server, an update of the feature value of the second feature switch to the plurality of client devices that store the feature value of the second feature switch in respective memories of the plurality of client devices.

13. A system comprising:

a global feature library with a plurality of features defined therein, the global feature library including:

a global value rule,

feature switches for respective features of the plurality of features, each feature switch of the feature switches linkable to an application code,

wherein each feature switch of the feature switches includes a feature value associated therewith, the feature value of a first feature switch of the feature switches to turn on and off a first feature associated with the first feature switch based on the global value rule;

a processor; and

a non-transitory storage medium storing instructions executable on the processor to:

in response to a request to change the global value rule, transmit an update of the feature value of the first feature switch to a plurality of client devices that store the feature value of the first feature switch in respective memories of the plurality of client devices, the update to cause a change of the feature value of the first feature switch stored in the respective memories of the plurality of client devices, to turn on or off the first feature at the plurality of client devices;

store the first feature switch in the global feature library in a plurality of different programming languages; and

call, by the global feature library, a feature access code associated with the first feature switch, the feature access code calling the first feature in a programming language, selected from among the plurality of different programming languages, of the application code.

14. The system of claim 13 , further comprising a global data store to collect and store usage data for the first feature switch.

15. The system of claim 13 , wherein the instructions are executable on the processor to provide a portion of the global feature library to a local feature library in-memory on a client device.

16. The system of claim 13 , wherein the update comprises a configuration file or an application programming call, the plurality of client devices to use the configuration file or an application programming call to change the feature value of the first feature switch stored in the respective memories of the plurality of client devices.

17. A non-transitory machine-readable storage medium storing instructions that upon execution cause a server to:

provide a global feature library with a plurality of features defined therein, the global feature library including feature switches for respective features of the plurality of features, each feature switch useable with an application code, the global feature library further including a global value rule;

link the feature switches to the application code, each feature switch of the feature switches including a feature value associated therewith, the feature value of a first feature switch of the feature switches to turn on and off a first feature associated with the first feature switch based on the global value rule;

in response to a request to change the global value rule, transmit an update of the feature value of the first feature switch to a plurality of client devices that store the feature value of the first feature switch in respective memories of the plurality of client devices, the update to cause a change of the feature value of the first feature switch stored in the respective memories of the plurality of client devices, to turn on or off the first feature at the plurality of client devices; and

transmit the global value rule to the plurality of client devices that store respective local feature libraries, each local feature library including the global value rule and a subset of the plurality of features.

18. The non-transitory machine-readable storage medium of claim 17 , wherein the global value rule is distinct from the first feature switch and the value of the first feature switch.

Assignments (8)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0577 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
Reel/Frame 063560/0001 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 042746/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2015
From: SHANI, INBAR; NITSAN, AMICHAI; MANOR, LIOR
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 034893/0157 →
Continuity (1)
Related Publication 20150248301A1 · Sep 3, 2015