Sign In to Follow Application
View All Documents & Correspondence

System And Method For Scheduling Scripts

Abstract: The present subject matter discloses system and method for scheduling plurality of scripts. The configuring module configures a XML file for the plurality of scripts in XML structure. The XML structure comprises plurality of menus in which each menu of the plurality of menus comprises a set of scripts of the plurality of scripts. Further, at least one of the set of scripts may be dependent upon at least one other script belonging to at least one of the plurality of menus. Further, the user interface module displays the plurality of menus on a user interface in a manner that each of the plurality of menus is displayed along with the set of scripts associated with each menu. The user interface module further enables the user to schedule the plurality of scripts by selecting one or more menus of the plurality of menus.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
17 October 2014
Publication Number
17/2016
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
ip@legasis.in
Parent Application
Patent Number
Legal Status
Grant Date
2021-03-30
Renewal Date

Applicants

TATA CONSULTANCY SERVICES LIMITED
Nirmal Building, 9th Floor, Nariman Point, Mumbai 400021, Maharashtra, India

Inventors

1. GOPALAN, Karthigeyan
Tata Consultancy Services Limited, Gopalan Enterprises (Global Axis),SEZ Unit II, Plot No.152,Hoody Vill, K R Puram, Hobli, Bangalore - 560069,Karnataka India
2. GHORAI, Atanu
Tata Consultancy Services Limited, Gopalan Enterprises (Global Axis),SEZ Unit II, Plot No.152,Hoody Vill, K R Puram, Hobli, Bangalore - 560069,Karnataka India
3. B, Nataraj
Tata Consultancy Services Limited, Gopalan Enterprises (Global Axis),SEZ Unit II, Plot No.152,Hoody Vill, K R Puram, Hobli, Bangalore - 560069,Karnataka India

Specification

CLIAMS:WE CLAIM:

1. A method for scheduling a plurality of scripts, wherein the method comprising:
configuring, by a processor, an XML file corresponding to the plurality of scripts, wherein the XML file defines an XML structure associated with the plurality of scripts, wherein the XML structure comprises a plurality of menus, wherein a menu of the plurality of menus further comprises a set of scripts of the plurality of scripts, wherein at least one of the set of scripts is dependent upon at least one other script, and wherein the other script belongs to at least one of the plurality of menus;
displaying, by the processor, the plurality of menus on a user-interface in a manner that each of the plurality of menus is displayed along with the set of scripts associated with each menu; and
enabling, by the processor, a user to schedule the plurality of scripts by selecting one or more menus of the plurality of menus through the user-interface.

2. The method of claim 1, wherein the at least one of the set of scripts is dependent upon at least one other script based on script-dependency associated with the at least one of the set of scripts.

3. The method of claim 1, wherein each of the plurality of menus further comprises a menu id and menu-dependency, wherein the menu-id indicates an unique identifier of each menu, and wherein the menu-dependency indicates dependency of each menu amongst the plurality of menus.

4. The method of claim 1, wherein the set of scripts are associated with each menu on basis of a logical grouping of the set of scripts.

5. The method of claim 1 further comprises displaying each of the plurality of menus in a manner that enables the user to
control different activities associated with the set of scripts, wherein the different activities comprises starting of the set of scripts, stopping of the scripts, and canceling of the set of scripts, and
monitor metadata associated with the set of scripts, wherein the metadata comprises start time, end time, duration of script processing, and status of the set of scripts.

6. A system 102 for scheduling a plurality of scripts, wherein the system comprises:
a processor 202;
a memory 206 coupled to the processor 202, wherein the processor 202 executes a plurality of modules 208 stored in the memory 206, and wherein the plurality of modules 208 comprising:
a configuring module 210 to configure a XML file corresponding to the plurality of scripts, wherein the XML file defines an XML structure associated with the plurality of scripts, wherein the XML structure comprises a plurality of menus, wherein a menu of the plurality of menus further comprises a set of scripts of the plurality of scripts, wherein at least one of the set of scripts is dependent upon at least one other script, and wherein the other script belongs to at least one of the plurality of menus; and
a user interface module 212 to
display the plurality of menus on a user-interface in a manner that each of the plurality of menus is displayed along with the set of scripts associated with each menu, and
enable a user to schedule the plurality of scripts by selecting one or more menus of the plurality of menus through the user-interface.

7. The system 102 of claim 6, wherein the wherein the at least one of the set of scripts is dependent upon at least one other script based on script-dependency associated with the at least one of the set of scripts.

8. The system 102 of claim 6, wherein each of the plurality of menus further comprises a menu id and menu-dependency, wherein the menu-id indicates an unique identifier of each menu, and wherein the menu-dependency indicates dependency of each menu amongst the plurality of menus.

9. The system 102 of claim 6, wherein the user interface module 212 further displays each of the plurality of menus in a manner that enables the user to
control different activities associated with the set of scripts, wherein the different activities comprises starting of the set of scripts, stopping of the scripts, and canceling of the set of scripts, and
monitor metadata associated with the set of scripts, wherein the metadata comprises start time, end time, duration of script processing, and status of the set of scripts.

10. The system 102 of claim 6 further coupled with a plurality of processing engines hosting the plurality of scripts via a JMS server, wherein the JMS facilitates in transmitting and/or receiving messages between the system and the plurality of the processing engines.

11. The system 102 of claim 10, wherein a message transmitted from the system 102 to one or more processing engine of the plurality of processing engine indicates request message for the scheduling of the one or more scripts of the plurality of scripts.

12. A non-transitory computer readable medium embodying a program executable in a computing device for scheduling a plurality of scripts, the program comprising:
a program code for configuring a XML file corresponding to the plurality of scripts, wherein the XML file defines an XML structure associated with the plurality of scripts, wherein the XML structure comprises a plurality of menus, wherein a menu of the plurality of menus further comprises a set of scripts of the plurality of scripts, wherein at least one of the set of scripts is dependent upon at least one other script, and wherein the other script belongs to at least one of the plurality of menus;
a program code for displaying the plurality of menus on a user-interface in a manner that each of the plurality of menus is displayed along with the set of scripts associated with each menu; and
a program code for enabling a user to schedule the plurality of scripts by selecting one or more menus of the plurality of menus through the user-interface. ,TagSPECI:FORM 2

THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENT RULES, 2003

COMPLETE SPECIFICATION
(See Section 10 and Rule 13)

Title of invention:
SYSTEM AND METHOD FOR SCHEDULING SCRIPTS

Applicant
Tata Consultancy Services Limited
A Company Incorporated in India under The Companies Act, 1956
Having address:
Nirmal Building, 9th Floor,
Nariman Point, Mumbai 400021,
Maharashtra, India

The following specification particularly describes the invention and the manner in which it is to be performed.
CROSS-REFERENCE TO RELATED APPLICATIONS AND PRIORITY
[001] The present application does not claim priority from any patent application.

TECHNICAL FIELD
[002] The present subject matter described herein, in general, relates to a method and a system for scheduling scripts.

BACKGROUND
[003] In general, scripts automate execution of a set of tasks one either a single machine or a plurality of machines connected over a network. In an example, the set of tasks may include deducting an amount from a bank account, check clearing, scheduling security checks in computers, sending emails on user’s behalf, and the like. Each of the above set of tasks to be executed is coded in form of a script using scripting languages including, but not limited to, CGI, Perl, JavaScript, VBScript, and the like. One of the examples of the scripts used today is a visual basic script written to code a macro that automates tasks to be executed for running applications such as word processors and spreadsheets.
[004] The scripts written to execute the tasks may have to be scheduled such that these can execute specified tasks at appropriate machine and at appropriate time. However, there are technical challenges associated with the scheduling of the scripts to be executed at multiple machines. In one example, there may be a scenario wherein a sequence of tasks may be executed on different machines. Therefore, the scripts executing each of these tasks may have to be scheduled in sequential and synchronized manner such that overall objective of the execution of the tasks in sequence is met. There may be a possibility of aggregating the scripts to be executed at different machines into a single aggregated script that may be scheduled for execution. However, since each of the scripts may be of different scripting language and hence having different syntax, lot of computational efforts and computation time may be required in order to develop, validate and test the single aggregated script before deployed on a machine.

SUMMARY
[005] This summary is provided to introduce aspects related to systems and methods for scheduling a plurality of scripts are further described below in the detailed description. This summary is not intended to identify essential features of subject matter nor is it intended for use in determining or limiting the scope of the subject matter.
[006] In one implementation, a system for scheduling a plurality of scripts is disclosed. The system comprises a processor and a memory coupled to the processor. The processor may execute a plurality of modules stored in the memory. The plurality of modules may comprise a configuring module and user interface module. The configuring module may configure an Extensible Markup Language (XML) file corresponding to the plurality of scripts. The XML file configured may define an XML structure associated with the plurality of scripts. Further, the XML structure may comprise a plurality of menus, wherein a menu of the plurality of menus further comprises a set of scripts of the plurality of scripts. Further, at least one of the set of scripts may be dependent upon at least one other script, wherein the other script belongs to at least one of the plurality of menus. Further, the user interface module may display the plurality of menus on a user interface in such a manner that each of the plurality of menus is displayed along with the set of scripts associated with each menu. The user interface module may further enable a user to schedule the plurality of scripts by selecting one or more menus of the plurality of menus through the user interface. In one aspect, the selection of the one or more menus may enable a messaging server to communicate the scheduling of the scripts to a plurality of machines and/or computers hosting the execution of the scripts.
[007] In another implementation, a method for scheduling plurality of scripts is disclosed. The method may comprise configuring, by a processor, an XML file corresponding to the plurality of scripts. The XML file may define an XML structure associated with the plurality of scripts. Further, the XML structure may comprise a plurality of menus, wherein a menu of the plurality of menus may further comprise a set of scripts of the plurality of scripts. Further, at least one of the set of scripts may be dependent upon at least one other script, wherein the other script belongs to at least one of the plurality of menus. The method may further comprise a step of displaying, by the processor, the plurality of menus on a user interface in a manner that each of the plurality of menus is displayed along with the set of scripts associated with each menu. Further, the method may be provided for enabling, by the processor, a user to schedule the plurality of scripts by selecting one or more menus of the plurality of menus through the user interface.
[008] Yet in another implementation a non-transitory computer readable medium embodying a program executable in a computing device for scheduling plurality of scripts is disclosed. The program may comprise a program code for configuring a XML file corresponding to the plurality of scripts. Further, the XML file may define an XML structure associated with the plurality of scripts. Further, the XML structure may comprise a plurality of menus, wherein a menu of the plurality of menus may further comprise a set of scripts of the plurality of scripts. Further, the at least one of the set of scripts may be dependent upon at least one other script, wherein the other script belongs to at least one of the plurality of menus. The program may further comprise a program code for displaying the plurality of menus on a user interface in a manner that each of the plurality of menus is displayed along with the set of scripts associated with each menu. Further, the program may comprise a program code for enabling a user to schedule the plurality of scripts by selecting one or more menus of the plurality of menus through the user-interface.

BRIEF DESCRIPTION OF THE DRAWINGS
[009] The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the drawings to refer like features and components.
[0010] Figure 1 illustrates a network implementation of a system for scheduling a plurality of scripts, in accordance with an embodiment of the present subject matter.
[0011] Figure 2 illustrates the system, in accordance with an embodiment of the present subject matter.
[0012] Figure 3A-3G illustrates an example for scheduling the plurality of scripts in detail, in accordance with an embodiment of the present subject matter.
[0013] Figure 4 illustrates a method for scheduling the plurality of scripts, in accordance with an embodiment of the present subject matter.

DETAILED DESCRIPTION
[0014] Systems and methods for scheduling plurality of scripts are described. The present disclosure relates to “script scheduling framework” hereinafter referred to as “framework” capable for scheduling the plurality of scripts. The framework enables the execution of the plurality of scripts sequentially or in parallel without requiring a burden of having technical knowledge (i.e., knowledge of scripting languages). Further, the framework is based on Java platform which makes it platform independent framework. Due to such platform independent, the framework setup can be run in any kind of operating system (OS) such as Windows, Linux or MAC and the like provided that corresponding Java Virtual Machine (JVM) is installed. The existing solutions available for scheduling the plurality of scripts requires to write a new script to aggregate the plurality of scripts that needs to run sequentially. This requires the technical knowledge, time, and effort from a user for writing such aggregation script.
[0015] To overcome such requirements, the present disclosure provides the framework in which the user (i.e., developer, or an operator, or an administrator) may schedule the plurality of scripts by just editing an XML file configured corresponding to the plurality of scripts. The XML file configured may contain details for the plurality of scripts in an XML format/structure. The framework may also enable the user to add any new script to the plurality of scripts by entering its jib name, executable’s file path, and its dependencies on other scripts. Further, all the scripts may run in their own process threads and can be monitored individually by the user. Thus, no updates or failures from the plurality of scripts remain unnoticed thereby ensuring reporting an error as soon as the error occurs during the scheduling of the scripts. Also, one or more scripts of the plurality of scripts that do not have any dependency on a currently running script or higher up in its order may be executed concurrently, hence making an optimal use of the system’s resources. For example, if a thread gets a lot of cache misses, the other thread(s) may continue, taking advantage of the unused computing resources of the system. This way, it may lead to faster overall execution, as these resources would have been idle if only a single thread was executed. Further, if a thread cannot use all the computing resources of the system i.e., Central Processing Unit (because instructions depend on each other's result), running another thread can avoid leaving these in the idle condition. Further, if several threads work on the same set of data, they can actually share their cache, leading to better cache usage or synchronization on its values. Considering a scenario, if a script fails to load or halts while running due to some environment issue, it won’t affect the execution of other threads. In turn other threads may run faster by utilizing the unused computing resources of the failed thread. Moreover, this also enables to improve processing speed for scheduling the scripts.
[0016] According to embodiments of present disclosure, the system having a user interface may be loosely connected with a number processing engines via a java messaging service (JMS) server. Since, these components (user-interface, java messaging service (JMS) server, and processing engines) are loosely connected to each other and can run on its own individual hardware, the overall processing speed of these loosely coupled components may be much more than the existing scheduler frameworks which are usually built on a single system. Further, the number of processing engines hosting the plurality of scripts may be deployed as a service upon different hardware systems located remotely. According to embodiments, the processing engines may be deployed as the service with an administrator account providing an extra layer of security. Further, the JMS server may act as middleware/messaging layer for receiving messages from the processing engines and the user interface and further delivers those to their correct destination. Further, user interface may have multiple components for helping the user for scheduling the plurality of scripts. In case if any user interface component fail, it does not affect/hinder the rest of the execution in the system i.e., the scheduling of the plurality of scripts. Further, the user interface also provides a watcher windows which helps in tracking the status of the running scripts and also useful for handling and debugging of errors.
[0017] Through the user interface provided by the system, the user (acting as administrator) may send a command i.e., a request message for scheduling one or more scripts of plurality of scripts residing over the different hardware systems. Further, the user (acting as administrator) may send the request message for scheduling one or more scripts by accessing the XML file configured by the system itself. The request message may be received by the JMS server which is further enabled for identifying correct destination i.e., one or more processing engines to which the one or more scripts belongs to. The JMS server may also be configured for identifying any dependency corresponding to the one or more scripts which may be set by the user while accessing the XML file. If any dependency is identified, the JMS server routes the one or more scripts based on their dependency identified. In response of the request message received, the one or more processing engines may start the scheduling of the one or more scripts. Further, the present disclosure also helps in keeping a user profile needed for executing the scripts separate from actual users. This might be helpful if the scripts needed privileged access and the user does not have.
[0018] While aspects of described system and method for scheduling the plurality of scripts may be implemented in any number of different computing systems, environments, and/or configurations, the embodiments are described in the context of the following exemplary system.
[0019] Referring to Figure 1, a network implementation 100 of system 102 for scheduling the plurality of scripts is illustrated, in accordance with an embodiment of the present subject matter. Although the present subject matter is explained considering that the system 102 is implemented for scheduling the plurality of scripts on a server, it may be understood that the system 102 may also be implemented in a variety of computing systems, such as a laptop computer, a desktop computer, a notebook, a workstation, a mainframe computer, a server, a network server, a tablet, a mobile phone, and the like. In one embodiment, the system 102 may be implemented in a cloud-based environment. It will be understood that the system 102 may be accessed by multiple users through one or more user devices 104-1, 104-2…104-N, collectively referred to as user 104 hereinafter, or applications residing on the user devices 104. Examples of the user devices 104 may include, but are not limited to, a portable computer, a personal digital assistant, a handheld device, and a workstation. The user devices 104 are communicatively coupled to the system 102 through a network 106.
[0020] In one implementation, the network 106 may be a wireless network, a wired network or a combination thereof. The network 106 can be implemented as one of the different types of networks, such as intranet, local area network (LAN), wide area network (WAN), the internet, and the like. The network 106 may either be a dedicated network or a shared network. The shared network represents an association of the different types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), Wireless Application Protocol (WAP), and the like, to communicate with one another. Further, the network 106 may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices, and the like.
[0021] Referring now to Figure 2, the system 102 is illustrated in accordance with an embodiment of the present subject matter. In one embodiment, the system 102 may include at least one processor 202, an input/output (I/O) interface 204, and a memory 206. The at least one processor 202 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the at least one processor 202 is configured to fetch and execute computer-readable instructions or modules stored in the memory 206.
[0022] The I/O interface 204 may include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like. The I/O interface 204 may allow the system 102 to interact with a user directly or through the client devices 104. Further, the I/O interface 204 may enable the system 102 to communicate with other computing devices, such as web servers and external data servers (not shown). The I/O interface 204 can facilitate multiple communications within a wide variety of networks and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite. The I/O interface 204 may include one or more ports for connecting a number of devices to one another or to another server.
[0023] The memory 206 may include any computer-readable medium or computer program product known in the art including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, a compact disks (CDs), digital versatile disc or digital video disc (DVDs) and magnetic tapes. The memory 206 may include modules 208 and data 216.
[0024] The modules 208 include routines, programs, objects, components, data structures, etc., which perform particular tasks or implement particular abstract data types. In one implementation, the modules 208 may include a configuring module 210, a user interface module 212, and other modules 214. The other modules 214 may include programs or coded instructions that supplement applications and functions of the system 102.
[0025] The data 216, amongst other things, serves as a repository for storing data processed, received, and generated by one or more of the modules 208. The data 216 may also include a XML database 218, and other data 220.
[0026] Referring now to Figure 3A-3G, illustrates an example for scheduling the plurality of scripts in detail, in accordance with an embodiment of the present subject matter. In one embodiment of present disclosure, an architecture diagram indicating connection of the system 102 with plurality of processing engines 302 via a java messaging service (JMS) server 306 is shown in fig. 3A. The system 102 may be loosely connected with the plurality of processing engines 302 via the java messaging service (JMS) server 306. The plurality of processing engines 302 may be configured for hosting and managing the plurality of scripts. Further, the plurality of processing engines 302 may run in different hardware systems which may be located remotely. According to embodiments, the plurality of processing engines 302 may be deployed as a service so that as soon as a user fires a command using the user interface 304, it can react to the command. Further, the user interacts with the system 102 through the user interface 304 of the system 102.
[0027] One of an objective of present disclosure is to provide the system 102 as a central coordinator for scheduling the plurality of scripts residing over the plurality of hardware systems located remotely by using the processing engines 302. The system 102 controls and synchronizes the plurality of scripts residing on different hardware systems through a common framework. Further, the system 102 may support and accept different types of scripts like VBS, Pearl, exe, Jar, bat, or other types of scripts. For scheduling the plurality of scripts, at first, the configuring module 210 of the system 102 configures a XML file corresponding to the plurality of scripts. The XML file configured may define a XML structure associated with the plurality of scripts. Further, the XML structure is defined in such a manner that comprises plurality of menus. Each of the plurality for menus further comprises a set of scripts of the plurality of scripts. The set of scripts are associated with each menu on basis of a logical grouping of the set of scripts. Further, the XML file configured may be stored in XML database 218 of the system 102.
[0028] According to one embodiment of present disclosure, the XML file configured corresponding to the plurality of scripts can be seen in figure 3B. It can be seen from the figure 3B that a menu “Menu 1” 308 along with its set of scripts i.e., 310, 312, and 314 is shown. It must be understood that there may be n number of menus and their corresponding set of scripts in the XML file configured. Further, at least one of the set of scripts (310, 312, and 314) may be dependent upon one other script belonging to at least one of the plurality of menus. In the present example (fig. 3B), the script 312 having script-id “2” is dependent upon the script 310 having script-id “1”. The dependency of the script 312 on the script 310 is based on script-dependency 316 as shown in the figure 3B. Further, it must be understood that the set of scripts of one menu can also be dependent upon the set of scripts of other menus of the plurality of menus. Similarly, each of the plurality of menus further comprises a menu id and menu-dependency. Further, the menu-id indicates a unique identifier of each menu, and the menu-dependency indicates dependency of each menu amongst the plurality of menus.
[0029] Referring back to figure 3A, the user (acting as administrator) may send a request message as a command for scheduling one or more scripts of plurality of scripts residing over the different hardware systems through the user interface 304. Further, the user may send the request message for scheduling one or more scripts by accessing/editing the XML file configured by the configuring module 210. The request message may be received by the JMS server 306 which is further enabled for identifying correct destination i.e., one or more processing engines to which the one or more scripts belongs to. The JMS server 306 may also be configured for identifying any dependency corresponding to the one or more scripts which may be set by the user while accessing the XML file. If any dependency is identified, the JMS server routes the one or more scripts based on their dependency identified. In the present example, the JMS server 306 may identify the dependency of the script 312 on the script 310 is based on script-dependency 316 (as shown in fig. 3B). In response of the request message received, the one or more processing engines may start the scheduling of the one or more scripts. Further, the various components of the user interface 304 are explained in detail in subsequent paragraphs of the specification.
[0030] The user interface module 212, of the system 102, provides the user interface 304 displaying the plurality of menus in a manner that each of the plurality of menus is displayed along with the set of scripts associated with each menu. The various components of the user interface 304 displayed to the user may be seen in figure 3C. The various components are described from 318-332 of figure 3C. One of the component of the user interface 304 is “desktop frame” 318, wherein the desktop frame is a parent window which holds together all other windows and display frames. Another component of the user interface 304 is “menu buttons” 320 which further comprises different buttons like control panel, all menus, generate report, error console, refresh, and exit. The functionalities of each of the above buttons present under the menu buttons can be seen in below table.

Buttons Functionality
Control panel Click this button to open the Script Scheduler Control Panel window
All menus Click this button to open the Menus Panel
Generate report Click this button to open the report generator utility
Error console Click this button to open the error console window
Refresh Click this button incase the User Interface is out of synch with the service part. Clicking this button will get the current status of each script and menu and update the UI accordingly
Exit Click this button to close the UI. Please note that it will not shut down the service component

[0031] Further, another component of the user interface 304 is “script scheduler control panel” 322 of figure 3C. The script scheduler control panel 322 displays processing date and number of currently closed cycle. For example, the processing data and the currently closed cycle is displayed as “23-feb-2012” and “4” respectively. This component also has a separate button to start the script scheduling process. Further, the component 322 also has a common button “Start Application” which can be used to start all menus at once. Alternately, each menu can be started individually by clicking the corresponding “Start” button. Once started, the “Start” button will turn to a “Stop” button, which can be used to stop the current running scripts and abort all others in that particular menu. Further, the component 322 also displays the current over all running status of each menu to the user.
[0032] Further, another component displayed is “Menu Panel” 324 of the figure 3C. The component 324 displays the plurality of menus along with their set of scripts associated with each of the menu. Further, each of the plurality of menus is displayed in a separate tab. Each tab displays different activities associated with the set of scripts. The different activities may comprise starting of the set of scripts, stopping of the scripts, and canceling of the set of scripts. In the present example, one of the activities displayed is current running status of each script of the set of scripts within the corresponding menu. Further, by double clicking on any row in a tab, the text output produced by each script can be viewed in a “Message Display Console” as shown as 334 of the figure 3C. By right clicking on a row a context menu can be opened. Each option in a context menu of the menu display console 334 is explained in below table.

Options in context menu Description
Properties Clicking this will open the “Property Viewer” window
Show Output Clicking this will open the “Message Display Console” which is same as the one that gets opened upon double clicking on the row
Cancel Job If the script in the selected table row is running, it will be cancelled. If a script is cancelled, all its dependant scripts will NOT be executed and the status of the menu will also be shown as cancelled
Skip job If the script in the selected table row is one of the set of scripts chosen to run, and the menu is already running, this will mark the script as “Skipped” which is equivalent to complete. All its dependant scripts will regard this parent as complete when deciding whether to run a new script

[0033] The user interface 304 further provides a “property viewer” component which displays one or more input parameters associated with each of the plurality of scripts. For example, if a script requires a “Cycle Number” and/or “Cycle Date” as the input parameters, those can be viewed on the property viewer. Further, this component also lists the script-ids of the scripts on which this script is dependent on. This component also enables the user to add dates to the scripts. Further, the next component displayed on the user interface 304 is “Message Display Console” 326. The component 326 enables displaying of any text output produced by the script in a real-time. This component 326 also helps in monitoring the progress of the scripts. In case of errors, it will display the error code and possible reason of the error.
[0034] Further, another component displayed on the user interface 304 is “Error Console” 328. The component 328 identifies and lists all the errors occurred while execution of the plurality of scripts. The errors are listed with the time of occurrence along with the source of the errors. Alternatively, the details of the errors can also be seen by opening the “Message Display Console” of the related script within the menu. Further, another component displayed on the user interface 304 is “Report Generator” 330. This component 330 provides the ability to generate a summary report of the start time, end time, and duration of each script present in the menu. Further, another component displayed on the user interface 304 is “Argument” 332 which may allow the user to add one or more arguments corresponding to the plurality of scripts being scheduled.
[0035] The user interface module 212 further enables the user to schedule the plurality of scripts by selecting one or more menus of the plurality of menus through the user interface 304. The scheduling of the plurality of scripts through the user interface 304 is further explained in detail. In the first stage, the user may select any one of the plurality of menus. As shown in figure 3D, the user selects “Menu 2” 336 for executing the set of scripts associated with the Menu 2. Before starting the execution, the user interface module 212 may pop up a conformation window 338, of figure 3D, to ensure from the user that the selected menu (Menu 2) is started for some valid reason and not triggered unknowingly.
[0036] The user interface module 212 further enabled to display un-checked or un-selected scripts, of the set of scripts, intentionally/non-intentionally left by the user while starting the scheduling of set of scripts. The window 340 of figure 3E may be displayed by the user interface module 212 to display the un-checked or un-selected scripts. In the present example, the scripts (script5, script7, script8, script9, and script10) have been left un-checked by the user. The window 340 further confirms whether the user still wants to leave the un-checked scripts as it is.
[0037] After the user confirms the execution of the scripts, the user interface module 212 may be further enabled to display running status of each script of the menu. In the present example, the running status for scripts present in the menu 2 is shown in figure 3F. The running status may be shown in different colors based on the status of the scripts. It can be seen from the figure 3F that, the status column is shown as “blue” if the script is cancelled by the user. Further, the status column is shown as “Yellow” if the scheduling of the script is successfully completed. Further, the status column is shown as “Green” (not shown in figure) if the script is still running.
[0038] According to embodiments of present disclosure, the user interface module 212 also displays the error console window 342 as shown in figure 3G. If any errors are encountered during the execution of the script, the status of the menu as well as the status of the failed script will change to ‘Failed’ and will be highlighted in ‘RED’ color as shown in the figure 3G. Thus, the present disclosure provides an interactive user interface for enabling the user for scheduling the plurality of scripts. Also, the configuration of the XML file helps the user (not having knowledge of scripting language) for scheduling the plurality of scripts sequentially or in parallel.
[0039] Referring now to Figure 4, the method of scheduling the plurality of scripts is shown, in accordance with an embodiment of the present subject matter. The method 400 may be described in the general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, functions, etc., that perform particular functions or implement particular abstract data types. The method 400 may also be practiced in a distributed computing environment where functions are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, computer executable instructions may be located in both local and remote computer storage media, including memory storage devices.
[0040] The order in which the method 400 is described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the method 400 or alternate methods. Additionally, individual blocks may be deleted from the method 400 without departing from the spirit and scope of the subject matter described herein. Furthermore, the method can be implemented in any suitable hardware, software, firmware, or combination thereof. However, for ease of explanation, in the embodiments described below, the method 400 may be considered to be implemented in the above described system 102.
[0041] At block 402, a XML file corresponding to the plurality of scripts may be configured. The XML file configured may define an XML structure associated with the plurality of scripts. Further, the XML structure comprises a plurality of menus. Further, a menu of the plurality of menus comprises a set of scripts of the plurality of scripts. Further, at least one of the set of scripts is dependent upon at least one other script, wherein the other script belongs to at least one of the plurality of menus.
[0042] At block 404, the plurality of menus is displayed on a user interface. Further, the plurality of menus is displayed along with the set of scripts associated with each menu.
[0043] At block 406, the user is enabled to schedule the plurality of scripts by selecting one or more menus of the plurality of menus through the user-interface.
[0044] Although implementations for methods and systems for scheduling the plurality of scripts have been described in language specific to structural features and/or methods, it is to be understood that the appended claims are not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as examples of implementations for scheduling the plurality of scripts.

Documents

Orders

Section Controller Decision Date

Application Documents

# Name Date
1 3326-MUM-2014-RELEVANT DOCUMENTS [28-09-2023(online)].pdf 2023-09-28
1 Form 3.pdf 2018-08-11
2 Form 2.pdf 2018-08-11
2 3326-MUM-2014-RELEVANT DOCUMENTS [30-09-2022(online)].pdf 2022-09-30
3 Figure for Abstract.jpg 2018-08-11
3 3326-MUM-2014-US(14)-HearingNotice-(HearingDate-19-02-2021).pdf 2021-10-03
4 Drawing.pdf 2018-08-11
4 3326-MUM-2014-IntimationOfGrant30-03-2021.pdf 2021-03-30
5 3326-MUM-2014-Power of Attorney-191214.pdf 2018-08-11
5 3326-MUM-2014-PatentCertificate30-03-2021.pdf 2021-03-30
6 3326-MUM-2014-Written submissions and relevant documents [05-03-2021(online)].pdf 2021-03-05
6 3326-MUM-2014-FORM 18.pdf 2018-08-11
7 3326-MUM-2014-Form 1-201114.pdf 2018-08-11
7 3326-MUM-2014-Correspondence to notify the Controller [16-02-2021(online)].pdf 2021-02-16
8 3326-MUM-2014-FORM-26 [16-02-2021(online)].pdf 2021-02-16
8 3326-MUM-2014-Correspondence-201114.pdf 2018-08-11
9 3326-MUM-2014-Correspondence-191214.pdf 2018-08-11
9 3326-MUM-2014-ABSTRACT [27-12-2019(online)].pdf 2019-12-27
10 3326-MUM-2014-CLAIMS [27-12-2019(online)].pdf 2019-12-27
10 3326-MUM-2014-FER.pdf 2019-06-28
11 3326-MUM-2014-COMPLETE SPECIFICATION [27-12-2019(online)].pdf 2019-12-27
11 3326-MUM-2014-OTHERS [27-12-2019(online)].pdf 2019-12-27
12 3326-MUM-2014-FER_SER_REPLY [27-12-2019(online)].pdf 2019-12-27
13 3326-MUM-2014-COMPLETE SPECIFICATION [27-12-2019(online)].pdf 2019-12-27
13 3326-MUM-2014-OTHERS [27-12-2019(online)].pdf 2019-12-27
14 3326-MUM-2014-CLAIMS [27-12-2019(online)].pdf 2019-12-27
14 3326-MUM-2014-FER.pdf 2019-06-28
15 3326-MUM-2014-ABSTRACT [27-12-2019(online)].pdf 2019-12-27
15 3326-MUM-2014-Correspondence-191214.pdf 2018-08-11
16 3326-MUM-2014-Correspondence-201114.pdf 2018-08-11
16 3326-MUM-2014-FORM-26 [16-02-2021(online)].pdf 2021-02-16
17 3326-MUM-2014-Correspondence to notify the Controller [16-02-2021(online)].pdf 2021-02-16
17 3326-MUM-2014-Form 1-201114.pdf 2018-08-11
18 3326-MUM-2014-FORM 18.pdf 2018-08-11
18 3326-MUM-2014-Written submissions and relevant documents [05-03-2021(online)].pdf 2021-03-05
19 3326-MUM-2014-PatentCertificate30-03-2021.pdf 2021-03-30
19 3326-MUM-2014-Power of Attorney-191214.pdf 2018-08-11
20 Drawing.pdf 2018-08-11
20 3326-MUM-2014-IntimationOfGrant30-03-2021.pdf 2021-03-30
21 Figure for Abstract.jpg 2018-08-11
21 3326-MUM-2014-US(14)-HearingNotice-(HearingDate-19-02-2021).pdf 2021-10-03
22 Form 2.pdf 2018-08-11
22 3326-MUM-2014-RELEVANT DOCUMENTS [30-09-2022(online)].pdf 2022-09-30
23 Form 3.pdf 2018-08-11
23 3326-MUM-2014-RELEVANT DOCUMENTS [28-09-2023(online)].pdf 2023-09-28

Search Strategy

1 SEARCHSTRATEGY_27-06-2019.pdf

ERegister / Renewals

3rd: 29 Jun 2021

From 17/10/2016 - To 17/10/2017

4th: 29 Jun 2021

From 17/10/2017 - To 17/10/2018

5th: 29 Jun 2021

From 17/10/2018 - To 17/10/2019

6th: 29 Jun 2021

From 17/10/2019 - To 17/10/2020

7th: 29 Jun 2021

From 17/10/2020 - To 17/10/2021

8th: 29 Jun 2021

From 17/10/2021 - To 17/10/2022

9th: 13 Oct 2022

From 17/10/2022 - To 17/10/2023

10th: 17 Oct 2023

From 17/10/2023 - To 17/10/2024

11th: 17 Oct 2024

From 17/10/2024 - To 17/10/2025

12th: 16 Oct 2025

From 17/10/2025 - To 17/10/2026