Patents by Inventor Nili Ifergan Guy

Nili Ifergan Guy has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 10834213
    Abstract: A system for monitoring user engagement, comprising at least one hardware processor, configured to: receive from a plurality of sensors information about a sequence of interactions of a user with a software application during a time interval, the information comprising, for each of the sequence of interactions, a plurality of sensor output values of a plurality of engagement metrics reflecting the user's emotional attachment to the software application; compute a sequence of linearly uncorrelated principle components based on an outcome of principal component analysis (PCA) of the plurality of sensor output values of the plurality of engagement metrics; and select a first component from the sequence of linearly uncorrelated principle components to be a user engagement index representing engagement of the user with the application during the time interval according to the plurality of engagement metrics.
    Type: Grant
    Filed: July 20, 2017
    Date of Patent: November 10, 2020
    Assignee: International Business Machines Corporation
    Inventors: Idan Ben-Harrush, Nili Ifergan-Guy, Lior Turgeman
  • Patent number: 10331909
    Abstract: A computer implemented method of dynamically analyzing a data flow of a dynamic language program to determine access rights to data items, comprising: 1) Executing a dynamic language program. 2) During the execution, each of a plurality of data items is stored in a data wrapper that further contains a metadata record indicative of one or more characteristics of a respective data item. 3) Receiving a request from a process of the dynamic language program to access one or more requested data items of the plurality of data items. 4) Determining whether the process is allowed to access the one or more requested data item according to an analysis of a classification of the process compared to the one or more characteristics indicated by the metadata record associated with each of the one or more requested data items. 5) Generating a response to the process according to the determination.
    Type: Grant
    Filed: January 26, 2016
    Date of Patent: June 25, 2019
    Assignee: International Business Machines Corporation
    Inventors: Aharon Abadi, Alexander Dvinsky, Nili Ifergan-Guy, Konstantin Shagin
  • Patent number: 10248536
    Abstract: According to an aspect of some embodiments of the present invention there is provided a method for verifying correctness of application configuration of an application, comprising: for each of baseline and changed source codes of an application analyzing a graph representation of an execution flow of a plurality of application functionalities performed by execution of the respective source code to identify a plurality of functional dependencies between source code segments of the baseline source code and a plurality of functional dependencies between source code segments of the changed source code, wherein each of the functional dependencies is at least one of data dependency and control dependency, identifying a configuration discrepancy according to a match between functional dependencies of the changed source code when compared to the baseline source code, and producing a notification when the configuration discrepancy is found and is not permitted by the configuration.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: April 2, 2019
    Assignee: International Business Machines Corporation
    Inventors: Aharon Abadi, Nili Ifergan-Guy, Dmitri Pikus, Oleg Sternberg
  • Publication number: 20190028556
    Abstract: A system for monitoring user engagement, comprising at least one hardware processor, configured to: receive from a plurality of sensors information about a sequence of interactions of a user with a software application during a time interval, the information comprising, for each of the sequence of interactions, a plurality of sensor output values of a plurality of engagement metrics reflecting the user's emotional attachment to the software application; compute a sequence of linearly uncorrelated principle components based on an outcome of principal component analysis (PCA) of the plurality of sensor output values of the plurality of engagement metrics; and select a first component from the sequence of linearly uncorrelated principle components to be a user engagement index representing engagement of the user with the application during the time interval according to the plurality of engagement metrics.
    Type: Application
    Filed: July 20, 2017
    Publication date: January 24, 2019
    Inventors: Idan Ben-Harrush, Nili Ifergan-Guy, Lior Turgeman
  • Publication number: 20180203707
    Abstract: A computer implemented method of dynamically configuring a mobile application according to environment context information of the mobile application, comprising using one or more processors for executing a code for collecting a plurality of context information items defining an environment of an application executed on a mobile device associated with a user, extracting according to the plurality of context information items, a plurality of context profiles assigned to the user, each of the plurality of context profiles defines a respective one of a plurality of aspects of the environment and maps a plurality of pre-defined configuration settings of the application, determining an aggregated configuration setting for the application by evaluating a combination of the plurality of configuration settings for the extracted plurality of context profiles and applying automatically the aggregated configuration setting to the application.
    Type: Application
    Filed: January 19, 2017
    Publication date: July 19, 2018
    Inventors: Aharon Abadi, Nili Ifergan - Guy, Dmitri Pikus, Oleg Sternberg, Idan Ben-Harrush
  • Publication number: 20180129581
    Abstract: According to an aspect of some embodiments of the present invention there is provided a method for verifying correctness of application configuration of an application, comprising: for each of baseline and changed source codes of an application analyzing a graph representation of an execution flow of a plurality of application functionalities performed by execution of the respective source code to identify a plurality of functional dependencies between source code segments of the baseline source code and a plurality of functional dependencies between source code segments of the changed source code, wherein each of the functional dependencies is at least one of data dependency and control dependency, identifying a configuration discrepancy according to a match between functional dependencies of the changed source code when compared to the baseline source code, and producing a notification when the configuration discrepancy is found and is not permitted by the configuration.
    Type: Application
    Filed: November 7, 2016
    Publication date: May 10, 2018
    Inventors: Aharon Abadi, Nili Ifergan - Guy, Dmitri Pikus, Oleg Sternberg
  • Publication number: 20180121315
    Abstract: According to an aspect of some embodiments of the present invention there is provided a method for verifying correctness of application configuration of an application, comprising: for each of baseline and changed source codes of an application analyzing a graph representation of an execution flow of a plurality of application functionalities performed by execution of the respective source code to identify a plurality of functional dependencies between source code segments of the baseline source code and a plurality of functional dependencies between source code segments of the changed source code, wherein each of the functional dependencies is at least one of data dependency and control dependency, identifying a configuration discrepancy according to a match between functional dependencies of the changed source code when compared to the baseline source code, and producing a notification when the configuration discrepancy is found and is not permitted by the configuration.
    Type: Application
    Filed: October 31, 2016
    Publication date: May 3, 2018
    Inventors: Aharon Abadi, Nili Ifergan-Guy, Dmitri Pikus, Oleg Sternberg
  • Publication number: 20180013616
    Abstract: This invention relates to an apparatus, system, and method for modifying the behavior of an application using configuration. A configuration platform allows for the provisioning of configuration data on a local device. The configuration can cause the application to be reactive to the user's environment, such as location and time of day. The configuration data provides a convenient way to change application behavior without implementing dynamic behavior at development time.
    Type: Application
    Filed: July 7, 2016
    Publication date: January 11, 2018
    Inventors: Aharon Abadi, Idan Ben-Harrush, Nili Ifergan-Guy, Dmitri Pikus, Oleg Sternberg
  • Patent number: 9830149
    Abstract: According to an aspect of some embodiments of the present invention there is provided a computer implemented method of refactoring a source code that includes a plurality of references to sensitive data into at least two separate source codes, comprising receiving a source code comprising a plurality of references to sensitive data, identifying a plurality of code blocks comprising the plurality of references, refactoring the source code into an enterprise source code having a plurality of functions containing the plurality of code blocks and a cloud source code that is semantically equivalent when executed to the source code when executed, and replacing within the cloud source code at least one of the plurality of code blocks with a call to a function within the enterprise source code, the function containing a code block that is semantically identical to the replaced code block.
    Type: Grant
    Filed: January 14, 2016
    Date of Patent: November 28, 2017
    Assignee: International Business Machines Corporation
    Inventors: Aharon Abadi, Idan Ben-Harrush, Nili Ifergan-Guy, Dmitri Pikus
  • Publication number: 20170213049
    Abstract: A computer implemented method of dynamically analyzing a data flow of a dynamic language program to determine access rights to data items, comprising: 1) Executing a dynamic language program. 2) During the execution, each of a plurality of data items is stored in a data wrapper that further contains a metadata record indicative of one or more characteristics of a respective data item. 3) Receiving a request from a process of the dynamic language program to access one or more requested data items of the plurality of data items. 4) Determining whether the process is allowed to access the one or more requested data item according to an analysis of a classification of the process compared to the one or more characteristics indicated by the metadata record associated with each of the one or more requested data items. 5) Generating a response to the process according to the determination.
    Type: Application
    Filed: January 26, 2016
    Publication date: July 27, 2017
    Inventors: Aharon Abadi, Alexander Dvinsky, Nili Ifergan-Guy, Konstantin Shagin
  • Publication number: 20170206081
    Abstract: According to an aspect of some embodiments of the present invention there is provided a computer implemented method of refactoring a source code that includes a plurality of references to sensitive data into at least two separate source codes, comprising receiving a source code comprising a plurality of references to sensitive data, identifying a plurality of code blocks comprising the plurality of references, refactoring the source code into an enterprise source code having a plurality of functions containing the plurality of code blocks and a cloud source code that is semantically equivalent when executed to the source code when executed, and replacing within the cloud source code at least one of the plurality of code blocks with a call to a function within the enterprise source code, the function containing a code block that is semantically identical to the replaced code block.
    Type: Application
    Filed: January 14, 2016
    Publication date: July 20, 2017
    Inventors: Aharon Abadi, Idan Ben-Harrush, Nili Ifergan-Guy, Dmitri Pikus
  • Publication number: 20170206082
    Abstract: According to an aspect of some embodiments of the present invention there is provided a computer implemented method of refactoring a source code that includes a plurality of references to sensitive data into at least two separate source codes, comprising receiving a source code comprising a plurality of references to sensitive data, identifying a plurality of code blocks comprising the plurality of references, refactoring the source code into an enterprise source code having a plurality of functions containing the plurality of code blocks and a cloud source code that is semantically equivalent when executed to the source code when executed, and replacing within the cloud source code at least one of the plurality of code blocks with a call to a function within the enterprise source code, the function containing a code block that is semantically identical to the replaced code block.
    Type: Application
    Filed: January 14, 2016
    Publication date: July 20, 2017
    Inventors: Aharon Abadi, Idan Ben-Harrush, Nili Ifergan-Guy, Dmitri Pikus
  • Publication number: 20080175222
    Abstract: A system and method of propagating subscriber and offer identities in URL patterns for multi-tenant systems are provided. The method in one aspect comprises intercepting a request for accessing a web service, the request being in a virtual URI format that includes at least a service access point, subscriber identity and offer identity. The method may further include resolving the virtual URI to determine customer identity, offer identity and destination information, invoking a web service defined in the destination information and returning results of the invoking step. A system, in one aspect, may comprise a router operable to receive a virtual URI, and a route rules database operable to store rules associated with resolving the virtual URI, the router further operable to invoke a service associated with a service access point specified in the virtual URI and return results of the invocation to a requestor.
    Type: Application
    Filed: January 23, 2007
    Publication date: July 24, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Maya Barnea, Nili Ifergan Guy, Gennady Laventman, Gal Shachor, Randy A. Rendahl, Alexey Roytman