Patents by Inventor Mukul Ranjan Prasad

Mukul Ranjan Prasad 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: 9400962
    Abstract: In one embodiment, a distributed computing system includes a first worker node configured to execute a first job, a second worker node configured to execute a second job, and a master node including a processor coupled to a memory. The first job indicates a first portion of an interactive client-server application to be crawled. The second job indicates a second portion of an interactive client-server application to be crawled. The second worker node and the first worker node are configured to execute their respective jobs in parallel. The second job indicates a second portion of an interactive client-server application to be crawled. The master node is configured to assign the first job to the first worker node, assign the second job to the second worker node, and integrate the results from the first worker node and the second worker node into a record of operation of the application.
    Type: Grant
    Filed: November 30, 2010
    Date of Patent: July 26, 2016
    Assignee: Fujitsu Limited
    Inventor: Mukul Ranjan Prasad
  • Patent number: 8914775
    Abstract: A method for verifying software includes determining the result of a bounding function, and using the result of the bounding function to apply one or more policies to the execution of the received job. The bounding function evaluates the execution of a received job, the received job indicating a portion of software to be verified. The result of the bounding function is based upon the present execution of the received job, one or more historical parameters, and an evaluation of the number of idle nodes available to process other jobs.
    Type: Grant
    Filed: November 30, 2010
    Date of Patent: December 16, 2014
    Assignee: Fujitsu Limited
    Inventors: Indradeep Ghosh, Mukul Ranjan Prasad
  • Patent number: 8880588
    Abstract: A distributed computing system includes worker nodes and a master node including a processor coupled to a memory. Each worker node crawls a portion of an interactive client-server application. The memory includes a master state graph, including the results of crawling. The master node is configured to examine the master state graph to determine a number of reconverging traces, receive a result from a job from a worker node if the number of reconverging traces is below a threshold, and add the result to the master state graph without attempting to remove duplicate states or transitions. A trace includes states and transitions representing valid. A reconvergent trace includes a trace including a reconvergent state, which is a state that can be reached through two or more distinct traces. The result containing states and transitions is associated with crawling a first portion of the interactive client-server application.
    Type: Grant
    Filed: November 30, 2010
    Date of Patent: November 4, 2014
    Assignee: Fujitsu Limited
    Inventor: Mukul Ranjan Prasad
  • Patent number: 8832065
    Abstract: An electronic device includes a memory and a processor coupled to the memory. The memory contains a master state graph. The master state graph includes information regarding the operation of interactive client-server application. The processor is configured to send a first job to a first worker node, send a second job to a second worker node, receive results of crawling the interactive client-server application, and integrate results of crawling the interactive client-server application into the master state graph. The first job includes crawling instructions for crawling a first portion of an interactive client-server application. The second job includes crawling instructions for crawling a second portion of the interactive client-server application. The first worker node and second worker node crawl the interactive client-server application in parallel.
    Type: Grant
    Filed: November 30, 2010
    Date of Patent: September 9, 2014
    Assignee: Fujitsu Limited
    Inventor: Mukul Ranjan Prasad
  • Patent number: 8789054
    Abstract: A method for verifying software includes accessing a job queue, accessing a resource queue, and assigning a job from the job queue to a resource from the resource queue if an addition is made to the a job queue or to a resource queue. The job queue includes an indication of one or more jobs to be executed by a worker node, each job indicating a portion of a code to be verified. The resource queue includes an indication of a one or more worker nodes available to verify a portion of software. The resource is selected by determining the best match for the characteristics of the selected job among the resources in the resource queue.
    Type: Grant
    Filed: November 30, 2010
    Date of Patent: July 22, 2014
    Assignee: Fujitsu Limited
    Inventors: Indradeep Ghosh, Mukul Ranjan Prasad
  • Patent number: 8769500
    Abstract: A method for verifying software includes determining an initialization path condition of a received software verification job, determining a termination path condition of a computing node, and initializing the execution of the received software verification job on the computing node based on the initialization path condition and the termination path condition. The initialization path condition includes a sequence of program predicates for reaching a starting state of software to be verified. The received software verification job includes an indication of a portion of the software to be verified. The termination path condition includes an indication of the last state reached during the execution of a previous software verification job on the computing node. The computing node is assigned to execute the received software verification job.
    Type: Grant
    Filed: December 1, 2010
    Date of Patent: July 1, 2014
    Assignee: Fujitsu Limited
    Inventors: Indradeep Ghosh, Mukul Ranjan Prasad
  • Patent number: 8763001
    Abstract: A method for verifying software includes monitoring a resource queue and a job queue, determining whether the resource queue and the job queue contain entries, and if both the resource queue and the job queue contain entries, then applying a scheduling policy to select a job, selecting a worker node as a best match for the characteristics of the job among the resource queue entries, assigning the job to the worker node, assigning parameters to the worker node for a job creation policy for creating new jobs in the job queue while executing the job, and assigning parameters to the worker node for a termination policy for halting execution of the job. The resource queue indicates worker nodes available to verify a portion of code. The job queue indicates one or more jobs to be executed by a worker node. A job includes a portion of code to be verified.
    Type: Grant
    Filed: November 30, 2010
    Date of Patent: June 24, 2014
    Assignee: Fujitsu Limited
    Inventors: Indradeep Ghosh, Mukul Ranjan Prasad
  • Patent number: 8543986
    Abstract: A method includes accessing a page of Web application that includes an interactive form having at least one field for entry of data, the interactive form rendered by the Web application based on code for the interactive form. The method also includes extracting input validation code from the code, the input validation code including at least one constraint on data entered into the at least one field. The method additionally includes extracting the at least one constraint based on an analysis of the input validation code and solving, for the at least one field, for a string value based at least on the at least one constraint for the at least one field. The also includes automatically entering, into the at least one field, the string value. The method additionally includes automatically submitting the interactive form, including the string value entered into the at least one field.
    Type: Grant
    Filed: July 8, 2010
    Date of Patent: September 24, 2013
    Assignee: Fujitsu Limited
    Inventors: Praveen K. Murthy, Fangqi Sun, Mukul Ranjan Prasad, Sreeranga P. Rajan
  • Patent number: 8539500
    Abstract: An electronic device includes a memory, a processor coupled to the memory, and one or more policies stored in the memory. The policies include a resource availability policy determining whether the processor should continue evaluating the software, and a job availability policy determining whether new jobs will be created for unexplored branches. The processor is configured to receive a job to be executed, evaluate the software, select a branch to explore and store an initialization sequence of one or more unexplored branches if a branch in the software is encountered, evaluate the job availability policy, decide whether to create a job for each of the unexplored branches based on the job availability policy, evaluate the resource availability policy, and decide whether to continue evaluating the software at the branch selected to explore based on the resource availability policy. The job indicates of a portion of software to be evaluated.
    Type: Grant
    Filed: November 30, 2010
    Date of Patent: September 17, 2013
    Assignee: Fujitsu Limited
    Inventors: Indradeep Ghosh, Mukul Ranjan Prasad
  • Patent number: 8468537
    Abstract: In one embodiment, a method includes statically analyzing a validation toolkit environment. The method may also include, identifying a plurality of computational threads that do not share data structures with each other based on analysis of the validation toolkit environment. The method may additionally include calculating computational requirements of the computational threads. The method may further include distributing the threads among a plurality of resources such that the aggregate computational requirements of the computational threads are approximately evenly balanced among the plurality of resources.
    Type: Grant
    Filed: July 14, 2010
    Date of Patent: June 18, 2013
    Assignee: Fujitsu Limited
    Inventors: Sreeranga P. Rajan, Praveen K. Murthy, Indradeep Ghosh, Mukul Ranjan Prasad, Oksana I. Tkachuk
  • Publication number: 20120110550
    Abstract: A method for verifying software includes determining an initialization path condition of a received software verification job, determining a termination path condition of a computing node, and initializing the execution of the received software verification job on the computing node based on the initialization path condition and the termination path condition. The initialization path condition includes a sequence of program predicates for reaching a starting state of software to be verified. The received software verification job includes an indication of a portion of the software to be verified. The termination path condition includes an indication of the last state reached during the execution of a previous software verification job on the computing node. The computing node is assigned to execute the received software verification job.
    Type: Application
    Filed: December 1, 2010
    Publication date: May 3, 2012
    Inventors: Indradeep Ghosh, Mukul Ranjan Prasad
  • Publication number: 20120110590
    Abstract: An electronic device includes a memory, a processor coupled to the memory, and one or more policies stored in the memory. The policies include a resource availability policy determining whether the processor should continue evaluating the software, and a job availability policy determining whether new jobs will be created for unexplored branches. The processor is configured to receive a job to be executed, evaluate the software, select a branch to explore and store an initialization sequence of one or more unexplored branches if a branch in the software is encountered, evaluate the job availability policy, decide whether to create a job for each of the unexplored branches based on the job availability policy, evaluate the resource availability policy, and decide whether to continue evaluating the software at the branch selected to explore based on the resource availability policy. The job indicates of a portion of software to be evaluated.
    Type: Application
    Filed: November 30, 2010
    Publication date: May 3, 2012
    Inventors: Indradeep Ghosh, Mukul Ranjan Prasad
  • Publication number: 20120110063
    Abstract: A distributed computing system includes worker nodes and a master node including a processor coupled to a memory. Each worker node crawls a portion of an interactive client-server application. The memory includes a master state graph, including the results of crawling. The master node is configured to examine the master state graph to determine a number of reconverging traces, receive a result from a job from a worker node if the number of reconverging traces is below a threshold, and add the result to the master state graph without attempting to remove duplicate states or transitions. A trace includes states and transitions representing valid. A reconvergent trace includes a trace including a reconvergent state, which is a state that can be reached through two or more distinct traces. The result containing states and transitions is associated with crawling a first portion of the interactive client-server application.
    Type: Application
    Filed: November 30, 2010
    Publication date: May 3, 2012
    Applicant: FUJITSU LIMITED
    Inventor: Mukul Ranjan Prasad
  • Publication number: 20120110589
    Abstract: A method for verifying software includes monitoring a resource queue and a job queue, determining whether the resource queue and the job queue contain entries, and if both the resource queue and the job queue contain entries, then applying a scheduling policy to select a job, selecting a worker node as a best match for the characteristics of the job among the resource queue entries, assigning the job to the worker node, assigning parameters to the worker node for a job creation policy for creating new jobs in the job queue while executing the job, and assigning parameters to the worker node for a termination policy for halting execution of the job. The resource queue indicates worker nodes available to verify a portion of code. The job queue indicates one or more jobs to be executed by a worker node. A job includes a portion of code to be verified.
    Type: Application
    Filed: November 30, 2010
    Publication date: May 3, 2012
    Inventors: Indradeep Ghosh, Mukul Ranjan Prasad
  • Publication number: 20120110580
    Abstract: A method for verifying software includes determining the result of a bounding function, and using the result of the bounding function to apply one or more policies to the execution of the received job. The bounding function evaluates the execution of a received job, the received job indicating a portion of software to be verified. The result of the bounding function is based upon the present execution of the received job, one or more historical parameters, and an evaluation of the number of idle nodes available to process other jobs.
    Type: Application
    Filed: November 30, 2010
    Publication date: May 3, 2012
    Inventors: Indradeep Ghosh, Mukul Ranjan Prasad
  • Publication number: 20120109929
    Abstract: An electronic device includes a memory including a crawling application and a processor coupled to the memory. The processor is configured to execute the crawling application, which causes the processor to receive a job, crawl the interactive client-server application based on the initialization information until a boundary condition is reached, and report the results of crawling. The job contains initialization information indicating a portion of an interactive client-server application to be crawled. Crawling it includes programmatically determining possible actions available on a first state of the interactive client-server application, recording the first state, selecting an action, recording the actions not taken, taking the action, reaching a second state, recording the second state, and recording the action taken as a transition between the first state and the second state.
    Type: Application
    Filed: November 30, 2010
    Publication date: May 3, 2012
    Applicant: FUJITSU LIMITED
    Inventor: Mukul Ranjan Prasad
  • Publication number: 20120109931
    Abstract: An electronic device includes a memory including a state graph, and a processor coupled to the memory. The state graph includes a plurality of states of an interactive client-server application to be crawled. Te plurality of states and transitions result from the crawling of the client-server application. The plurality of states includes an initial state and a second state. The initial state includes one or more initial state nodes. The second state includes one or more second state nodes. The processor is configured to determine the differences between the initial state and the second state and compress the second state with respect to the initial state using the differences, resulting in a compressed state.
    Type: Application
    Filed: November 30, 2010
    Publication date: May 3, 2012
    Applicant: FUJITSU LIMITED
    Inventor: Mukul Ranjan Prasad
  • Publication number: 20120109927
    Abstract: In one embodiment, a distributed computing system includes a first worker node configured to execute a first job, a second worker node configured to execute a second job, and a master node including a processor coupled to a memory. The first job indicates a first portion of an interactive client-server application to be crawled. The second job indicates a second portion of an interactive client-server application to be crawled. The second worker node and the first worker node are configured to execute their respective jobs in parallel. The second job indicates a second portion of an interactive client-server application to be crawled. The master node is configured to assign the first job to the first worker node, assign the second job to the second worker node, and integrate the results from the first worker node and the second worker node into a record of operation of the application.
    Type: Application
    Filed: November 30, 2010
    Publication date: May 3, 2012
    Applicant: FUJITSU LIMITED
    Inventor: Mukul Ranjan Prasad
  • Publication number: 20120109930
    Abstract: An electronic device includes a memory and a processor coupled to the memory. The memory contains a master state graph. The master state graph includes information regarding the operation of interactive client-server application. The processor is configured to send a first job to a first worker node, send a second job to a second worker node, receive results of crawling the interactive client-server application, and integrate results of crawling the interactive client-server application into the master state graph. The first job includes crawling instructions for crawling a first portion of an interactive client-server application. The second job includes crawling instructions for crawling a second portion of the interactive client-server application. The first worker node and second worker node crawl the interactive client-server application in parallel.
    Type: Application
    Filed: November 30, 2010
    Publication date: May 3, 2012
    Applicant: FUJITSU LIMITED
    Inventor: Mukul Ranjan Prasad
  • Publication number: 20120110591
    Abstract: A method for verifying software includes accessing a job queue, accessing a resource queue, and assigning a job from the job queue to a resource from the resource queue if an addition is made to the a job queue or to a resource queue. The job queue includes an indication of one or more jobs to be executed by a worker node, each job indicating a portion of a code to be verified. The resource queue includes an indication of a one or more worker nodes available to verify a portion of software. The resource is selected by determining the best match for the characteristics of the selected job among the resources in the resource queue.
    Type: Application
    Filed: November 30, 2010
    Publication date: May 3, 2012
    Inventors: Indradeep Ghosh, Mukul Ranjan Prasad