Patents by Inventor Kalyan Desineni

Kalyan Desineni 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).

  • Publication number: 20170185679
    Abstract: A search system includes a device controller that provisions a device to execute a copy of a selected mobile application. A crawler extracts content and metadata from states of the selected mobile application. A search input state classifier identifies search input states within the states based on a first set of heuristics, including recognition of user-visible search indicia and recognition of metadata that correlates with search functionality. A parameter identifier identifies, for each of the search input states, necessary input parameters. A search function data store stores a record for each identified search function. Each record includes a path to reach a corresponding search input state, an indication of required input parameters, and a mapping of the input parameters to user interface widgets. A query processing system uses the stored search functions to scrape content from the selected mobile application in response to a query.
    Type: Application
    Filed: August 24, 2016
    Publication date: June 29, 2017
    Inventors: Saswat ANAND, Kalyan DESINENI, Manikandan SANKARANARASIMHAN, Danny TSECHANSKY
  • Publication number: 20170185608
    Abstract: A search system includes a user interface configured to receive information about a first application from a developer of the first application. The search system includes a state access module configured to obtain information about a first type of state of the first application from the developer. The information includes an action performed by the first type of state, a first access URL template, and a designation of at least one parameter for the first access URL template. The first application is configured to display a specific state of the first type of state in response to receiving an access URL formed by instantiating the first access URL template with at least one value for the at least one parameter. The search system includes a search engine configured to, in response to a query, obtain data from the first application according to the information about the first type of state.
    Type: Application
    Filed: August 24, 2016
    Publication date: June 29, 2017
    Inventors: Nofar LEVI, Tomer KAGAN, Mor SCHLESINGER, Kalyan DESINENI, Naor ROSENBERG
  • Publication number: 20170187838
    Abstract: A mobile device includes a processor and a non-transitory computer-readable medium storing instructions. The instructions include, in response to a state of a first application being instantiated from a first state template of the first application, selecting a first function module identifier from a plurality of predetermined function module identifiers. Each predetermined function module identifier corresponds to a first function offered by the first state template. The instructions include transmitting a function module request to a developer exchange system using a wireless transceiver. The function module request includes the first function module identifier, which uniquely identifies a first function module. The instructions include receiving the first function module from the developer exchange system, storing and executing the first function module, and presenting display data generated by execution of the first function module.
    Type: Application
    Filed: August 24, 2016
    Publication date: June 29, 2017
    Inventors: Manikandan SANKARANARASIMHAN, Kalyan DESINENI
  • Publication number: 20170185677
    Abstract: A search system includes a device controller that provisions a device to execute a copy of a selected mobile application. A crawler extracts content and metadata from states of the selected mobile application. A search input state classifier identifies search input states within the states based on a first set of heuristics, including recognition of user-visible search indicia and recognition of metadata that correlates with search functionality. A parameter identifier identifies, for each of the search input states, necessary input parameters. A search function data store stores a record for each identified search function. Each record includes a path to reach a corresponding search input state, an indication of required input parameters, and a mapping of the input parameters to user interface widgets. A query processing system uses the stored search functions to scrape content from the selected mobile application in response to a query.
    Type: Application
    Filed: December 29, 2015
    Publication date: June 29, 2017
    Inventors: Saswat ANAND, Kalyan DESINENI, Manikandan SANKARANARASIMHAN, Danny TSECHANSKY
  • Publication number: 20170177319
    Abstract: An on-demand executable system includes an application acquisition engine configured to acquire a first application that is programmed to perform a first function and a second function. An applet extractor includes a function analyzer configured to analyze the first application to identify functions that the first application is programmed to perform. The identified functions include the first function. The applet extractor includes a code analyzer configured to analyze code of the first application to identify first code segments that implement the first function. The applet extractor includes an applet packager configured to package the first code segments into a first executable. An executable request servicer is configured to, in response to a request, transmit the first executable to a user device.
    Type: Application
    Filed: August 24, 2016
    Publication date: June 22, 2017
    Inventors: Gilead MARK, Manikandan SANKARANARASIMHAN, Kalyan DESINENI, Eric GLOVER
  • Publication number: 20170177318
    Abstract: A mobile device includes a user interface allowing a user to enter search parameters. A query wrapper module generates a query wrapper based on the entered search parameters. A search system communication module transmits the query wrapper to a search system and receives a set of results from the search system. A first result corresponds to a first applet. A results presentation module displays the set of results to the user. An access mechanism module, in response to the user selecting the first result, selectively triggers an applet request to be sent to an applet distribution system. The applet request instructs the applet distribution system to transmit the first applet to the mobile device. The first applet includes native code for execution on an operating system of the mobile device. The first applet from the applet distribution system is executed.
    Type: Application
    Filed: December 21, 2015
    Publication date: June 22, 2017
    Inventors: Gilead MARK, Manikandan SANKARANARASIMHAN, Kalyan DESINENI, Eric GLOVER
  • Publication number: 20170177317
    Abstract: An on-demand executable system includes an application acquisition engine configured to acquire a first application that is programmed to perform a first function and a second function. An applet extractor includes a function analyzer configured to analyze the first application to identify functions that the first application is programmed to perform. The identified functions include the first function. The applet extractor includes a code analyzer configured to analyze code of the first application to identify first code segments that implement the first function. The applet extractor includes an applet packager configured to package the first code segments into a first executable. An executable request servicer is configured to, in response to a request, transmit the first executable to a user device.
    Type: Application
    Filed: December 21, 2015
    Publication date: June 22, 2017
    Inventors: Gilead MARK, Manikandan SANKARANARASIMHAN, Kalyan DESINENI, Eric GLOVER
  • Patent number: 9652209
    Abstract: A disassembler module is configured to generate ARM code by performing a disassembly of a compiled iOS application. An intermediate representation generator module is configured to: (i) from the ARM code, identify an implementation of a predetermined method of providing a deep link into the iOS application; and (ii) generate intermediate representation code by formatting portions of the ARM code having predetermined patterns according to predetermined instructions, respectively. A loader module is configured to translate the intermediate representation code into executable code including objects in a tuple format and to load the executable code for execution. An execution and emulation module is configured to: (i) execute the executable code line by line to identify NSURL objects; (ii) emulate the NSURL objects to identify valid ones of the NSURL objects; (iii) determine deep links for the valid ones, of the NSURL objects, respectively; and (iv) store the deep links in memory.
    Type: Grant
    Filed: August 24, 2016
    Date of Patent: May 16, 2017
    Assignee: Quixey, Inc.
    Inventors: Kalyan Desineni, Manikandan Sankaranarasimhan, Danny Tsechansky, Matan Levi
  • Publication number: 20170132023
    Abstract: A mobile application development system includes a developer portal configured to receive a copy of a first application from a first developer and provide a routing library to the first developer for incorporation into the first application before distribution. An offline analysis system uses a static analyzer to identify a set of view controllers implemented in the first application and uses a dynamic analyzer to execute the first application and, during execution, monitor messages invoking the set of view controllers and extract selector parameters used to invoke the set of view controllers. The routing library includes instructions that receive a link from an operating system and, based on a view controller name in the link, allocate memory for a view controller object indicated by the link. The instructions further initialize the view controller object based on selector parameters indicated by the link and using the allocated memory.
    Type: Application
    Filed: August 12, 2016
    Publication date: May 11, 2017
    Inventors: Kalyan DESINENI, Manikandan SANKARANARASIMHAN, Vasanthakumar SARPASAYANAM, Danny TSECHANSKY
  • Publication number: 20170132024
    Abstract: A mobile application development system includes a developer portal that receives a first application from a first developer and provides a routing library to the first developer for incorporation into the first application. An offline analysis system executes the first application and, during execution, monitors a sequence of user interface (UI) events initiated by an operator starting from an initial state and proceeding to a first state. The offline analysis system stores the sequence of UI events as a first data structure corresponding to the first state. The routing library includes instructions that, subsequent to installation of a copy of the first application in a user device, receive a link from an operating system of the user device identifying the first state and, based on the first data structure corresponding to the first state, replay, in order, each UI event from the sequence of UI events to the first application.
    Type: Application
    Filed: August 12, 2016
    Publication date: May 11, 2017
    Inventors: Kalyan DESINENI, Matan LEVI, Manikandan SANKARANARASIMHAN, Danny TSECHANSKY
  • Publication number: 20170046438
    Abstract: A search system includes a query receiver, a live scrape system, and a cache manager. The query receiver is configured to receive a first query related to a first application state of a first application. The first query is requested by a user device. The live scrape system is configured to operate a device including an operating system in which an instance of the first application executes. The live scrape system is configured to, responsive to the first query, and within the device, (i) navigate to the first application state in the instance of the first application and (ii) extract content from the instance of the first application. The cache manager is configured to store information based on the extracted content and, in response to the query receiver receiving a second query matching the first query, selectively provide the stored information to the user device for presentation to a user.
    Type: Application
    Filed: December 28, 2015
    Publication date: February 16, 2017
    Inventors: Kalyan Desineni, Sudhir Mohan, Manikandan Sankaranarasimhan
  • Publication number: 20170046180
    Abstract: A mobile application development system includes a developer portal that receives an application from a developer and provides a routing library to the developer to augment the application. An offline analysis system analyzes the application to (i) determine a set of activities that a handler within the application is programmed to resume in response to respective resumption requests from a host operating system and (ii) determine parameters for each of the activities. The offline analysis system generates a set of links that each corresponds to a respective one of the activities. The routing library, installed as part of the augmented application onto a user device, receives a link, from the user device's operating system, that identifies a first activity. The routing library includes instructions for generating a first resumption request based on parameters corresponding to the first activity and transmitting the first resumption request to the augmented application's handler.
    Type: Application
    Filed: August 12, 2016
    Publication date: February 16, 2017
    Inventors: Kalyan DESINENI, Matan LEVI, Moshe KRUSH, Danny TSECHANSKY
  • Publication number: 20170046141
    Abstract: A disassembler module is configured to generate ARM code by performing a disassembly of a compiled iOS application. An intermediate representation generator module is configured to: (i) from the ARM code, identify an implementation of a predetermined method of providing a deep link into the iOS application; and (ii) generate intermediate representation code by formatting portions of the ARM code having predetermined patterns according to predetermined instructions, respectively. A loader module is configured to translate the intermediate representation code into executable code including objects in a tuple format and to load the executable code for execution. An execution and emulation module is configured to: (i) execute the executable code line by line to identify NSURL objects; (ii) emulate the NSURL objects to identify valid ones of the NSURL objects; (iii) determine deep links for the valid ones, of the NSURL objects, respectively; and (iv) store the deep links in memory.
    Type: Application
    Filed: August 24, 2016
    Publication date: February 16, 2017
    Inventors: Kalyan DESINENI, Manikandan SANKARANARASIMHAN, Danny TSECHANSKY, Matan LEVI
  • Publication number: 20170046399
    Abstract: An application is operable to achieve a plurality of application states. Static analysis is performed based on machine code of the application to generate a state access instruction configured to invoke a state of the application states of the application and identify a set of parameter variables relied on by the state access instruction. Dynamic analysis is performed to determine values for the set of parameter variables to invoke the state. The state access instruction and the values determined for the set of parameter variables to invoke the state are stored as an access mechanism. The application is executed, and data is scraped from the state. The scraped data can be used to determine whether the state of the application is a relevant search result, and the access mechanism can be used to launch and transition the application to the state.
    Type: Application
    Filed: October 31, 2016
    Publication date: February 16, 2017
    Inventors: Manikandan SANKARANARASIMHAN, Kalyan DESINENI, Srinivasa Rao PONAKALA
  • Publication number: 20170046432
    Abstract: A search system includes a query receiver, a live scrape system, and a content provider. The query receiver is configured to receive a first query related to a first application state of a first application. The first query is based on a user-requested search from a user device. The live scrape system is configured to operate a device including an operating system in which an instance of the first application executes. The live scrape system is configured to, responsive to the first query, and within the device, (i) navigate to the first application state in the instance of the first application and (ii) extract content from the instance of the first application. The content provider is configured to provide the extracted content to the user device for presentation to a user of the user device in real time.
    Type: Application
    Filed: August 24, 2016
    Publication date: February 16, 2017
    Inventors: Kalyan DESINENI, Sudhir MOHAN, Manikandan SANKARANARASIMHAN, Matan LEVI
  • Publication number: 20170046437
    Abstract: A search system includes a query receiver, a live scrape system, and a content provider. The query receiver is configured to receive a first query related to a first application state of a first application. The first query is based on a user-requested search from a user device. The live scrape system is configured to operate a device including an operating system in which an instance of the first application executes. The live scrape system is configured to, responsive to the first query, and within the device, (i) navigate to the first application state in the instance of the first application and (ii) extract content from the instance of the first application. The content provider is configured to provide the extracted content to the user device for presentation to a user of the user device in real time.
    Type: Application
    Filed: December 28, 2015
    Publication date: February 16, 2017
    Inventors: Kalyan DESINENI, Sudhir MOHAN, Manikandan SANKARANARASIMHAN, Matan LEVI
  • Publication number: 20170046142
    Abstract: A disassembler module is configured to generate ARM code by performing a disassembly of a compiled iOS application. An intermediate representation generator module is configured to: (i) from the ARM code, identify an implementation of a predetermined method of providing a deep link into the iOS application; and (ii) generate intermediate representation code by formatting portions of the ARM code having predetermined patterns according to predetermined instructions, respectively. A loader module is configured to translate the intermediate representation code into executable code including objects in a tuple format and to load the executable code for execution. An execution and emulation module is configured to: (i) execute the executable code line by line to identify NSURL objects; (ii) emulate the NSURL objects to identify valid ones of the NSURL objects; (iii) determine deep links for the valid ones, of the NSURL objects, respectively; and (iv) store the deep links in memory.
    Type: Application
    Filed: December 30, 2015
    Publication date: February 16, 2017
    Inventors: Kalyan Desineni, Manikandan Sankaranarasimhan, Danny Tsechansky, Matan Levi
  • Publication number: 20170041437
    Abstract: A server includes a network communication device, a storage device, and a processing device. The processing device executes computer-readable instructions that, when executed by the processing device, cause the processing device to: receive contextual data from a client computing device via the network communication device, the contextual data indicates a first application view displayed on the client computing device; identify a first application function ID that identifies a first application function corresponding with the first application view; determine a first user intent ID that corresponds with the first application function ID; determine a second user intent ID that transitions from the first user intent ID; identify a second application function ID that corresponds with the second user intent ID; retrieve a card object corresponding with the second application function ID from the storage device; and transmit the card object to the client computing device via the network communication device.
    Type: Application
    Filed: August 24, 2016
    Publication date: February 9, 2017
    Inventors: Brahm SINGH, Kalyan DESINENI, Rajesh KONDA, Yeongmi JEON
  • Publication number: 20170039291
    Abstract: A server includes a network communication device, a storage device, and a processing device. The processing device executes computer-readable instructions that, when executed by the processing device, cause the processing device to: receive contextual data from a client computing device via the network communication device, the contextual data indicates a first application view displayed on the client computing device; identify a first application function ID that identifies a first application function corresponding with the first application view; determine a first user intent ID that corresponds with the first application function ID; determine a second user intent ID that transitions from the first user intent ID; identify a second application function ID that corresponds with the second user intent ID; retrieve a card object corresponding with the second application function ID from the storage device; and transmit the card object to the client computing device via the network communication device.
    Type: Application
    Filed: August 6, 2015
    Publication date: February 9, 2017
    Applicant: Quixey, Inc.
    Inventors: Brahm Kiran Singh, Kalyan Desineni, Rajesh Konda, Yeongmi Jeon
  • Publication number: 20170010765
    Abstract: According to some implementations of the present disclosure, a method is provided. The method includes presenting a state of a first application and obtaining state indication data corresponding to the state of the first application. The method further includes transmitting the state indication data to a card system and receiving an availability indicator indicating whether the card system can provide a card corresponding to the state of the first application. The method includes displaying a first selection element overlaying a graphical user interface of the first application when the availability indicator indicates that the card system can provide the card and displaying a second selection element overlaying a graphical user interface of the first application when the availability indicator indicates that the card system cannot provide the card.
    Type: Application
    Filed: December 28, 2015
    Publication date: January 12, 2017
    Inventors: Manikandan SANKARANARASIMHAN, Kalyan DESINENI, Tomer KAGAN, Rajat MUKHERJEE