Sign In to Follow Application
View All Documents & Correspondence

System And Method For Collecting Screenshots

Abstract: System and method for collecting one or more screenshots generated in a computing environment is described. Method comprises monitoring an occurrence of one or more events associated with screen capture continuously. The occurrence of the events results in change in a variable and, wherein the variable is associated with an input command for the screen capture. The variable is memory variable and represents a key status. The screen capture is associated with generation of the screenshots. Method comprises automatically fetching screenshots based upon the change in the variable and automatically generating a title for each screenshot. Method further comprises automatically storing the screenshots along with the generated title in a pre-defined document. Method comprises transmitting acknowledgment message onto input/output modality upon successful or unsuccessful storing of each screenshot. Method also comprises receiving images from the input/output modality and inserting the images in pre-defined document for information purpose.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
27 January 2014
Publication Number
37/2015
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
ip@legasis.in
Parent Application
Patent Number
Legal Status
Grant Date
2023-03-24
Renewal Date

Applicants

Tata Consultancy Services Limited
Nirmal Building, 9th Floor, Nariman Point, Mumbai 400021, Maharashtra, India

Inventors

1. BABU, Dinesh
Tata consultancy Services Limited, Siruseri Special Economic Zone, Plot No. 1/G1, SIPCOT Information Technology Park Navalur Post, Siruseri - 603103, Tamil Nadu India
2. RENGARAJAN, Srikrishnan
Tata consultancy Services Limited, Siruseri Special Economic Zone, Plot No. 1/G1, SIPCOT Information Technology Park Navalur Post, Siruseri - 603103, Tamil Nadu India

Specification

CLIAMS:WE CLAIM:

1. A system for collecting one or more screenshots generated in a computing environment, the system comprising:
a processor; and
a memory coupled to the processor, wherein the processor is capable of executing a plurality of modules stored in the memory, the plurality of modules comprising:
a monitoring module configured to:
continuously monitor an occurrence of one or more events associated with screen capture, wherein the occurrence of the one or more events result in change in a variable and, wherein the variable is associated with an input command for the screen capture, and wherein the screen capture is associated with generation of the one or more screenshots;
a collection module configured to:
automatically fetch the one or more screenshots based upon the change in the variable;
automatically generate a title for each screenshot of the one or more screenshots;
automatically store the one or more screenshots along with the title in a pre-defined document.

2. The system of claim 1, wherein the system is implemented as plug-in software in a pre-defined software application wherein the pre-defined software application is an extensible software application.

3. The system of claim 2 comprises an input/output modality communicating with the pre-defined software application.

4. The system of claim 3, wherein the input/output modality triggers the monitoring module based upon a user input.

5. The system of claim 1, wherein the variable is a memory variable and the memory variable represents a key status and the key status is in a binary format.

6. The system of claim 1, wherein the screen capture is associated with one or more software applications.

7. The system of claim 2, wherein the continuous monitoring of the one or more events is obtained by keeping a scheduling feature of a pre-defined software application active wherein the scheduling feature is kept active by moving the pre-defined document every second.

8. The system of claim 1, wherein the pre-defined document comprises at least one of a spreadsheet document, a text document, or a presentation document.

9. The system of claim 1, wherein the collection module is further configured to transmit an acknowledgment message onto an input/output modality upon successful storing or unsuccessful storing of each screenshot of the one or more screenshots.

10. The system of claim 8, wherein the acknowledgment message comprises at least one of a flash, a blink, a notifying pop up or balloon message comprising the generated title.

11. The system of claim 1, wherein the one or more events comprise receiving the input command from an input/output modality for the screen capture.

12. The system of claim 1, wherein the one or more screenshots are stored in the pre-defined document based on one or more conditions wherein the one or more conditions are based on the title or one or more regions marked as a placeholder in the pre-defined document.

13. The system of claim 1, wherein the collection module is further configured to:
receive one or more images from an input/output modality; and
insert the one or more images in the pre-defined document.

14. A method for collecting one or more screenshots generated in a computing environment, the method comprising:
continuously monitor an occurrence of one or more events associated with screen capture, wherein the occurrence of the one or more events result in change in a variable, and wherein the variable is associated with an input command for the screen capture, and wherein the screen capture is associated with generation of the one or more screenshots;
automatically fetch the one or more screenshots based upon the change in the variable;
automatically generate a title for each screenshot of the one or more screenshots;
automatically store the one or more screenshots along with the title in a pre-defined document.

15. The method of claim 14 comprises triggering the monitoring based upon a user input.

16. The method of claim 14, wherein the screen capture is associated with one or more software applications.

17. The method of claim 14, wherein the variable is a memory variable and the memory variable represents a key status and the key status is in a binary format.

18. The method of claim 14, wherein the continuous monitoring of the one or more events is obtained by keeping a scheduling feature of a pre-defined software application active wherein the scheduling feature is kept active by moving the pre-defined document.

19. The method of claim 14, wherein the pre-defined document comprises at least one of a spreadsheet document, a text document, or a presentation document.

20. The method of claim 14 comprises transmitting an acknowledgment message onto an input/output modality upon successful storing or unsuccessful storing of each screenshot of the one or more screenshots.

21. The method of claim 14, wherein the one or more events comprise receiving the input command from an input/output modality for the screen capture.

22. The method of claim 14 comprises receiving one or more images from an input/output modality and inserting the one or more images in the pre-defined document.

23. A computer program product having embodied thereon a computer program for collecting one or more screenshots generated in a computing environment, the computer program product comprising:
a program code for continuously monitoring an occurrence of one or more events associated with screen capture, wherein the occurrence of the one or more events result in change in a variable, and wherein the variable is associated with an input command for the screen capture, and wherein the screen capture is associated with generation of the one or more screenshots;
a program code for automatically fetching the one or more screenshots based upon the change in the variable;
a program code for automatically generating a title for each screenshot of the one or more screenshots;
a program code for automatically storing the one or more screenshots along with the title in a pre-defined document.

24. The computer program product of claim 23 comprises a program code for transmitting an acknowledgment message onto an input/output modality upon successful storing or unsuccessful storing of each screenshot of the one or more screenshots.

25. The computer program product of claim 23 comprises a program code for receiving one or more images from an input/output modality and inserting the one or more images in the pre-defined document. ,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 COLLECTING SCREENSHOTS

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.
TECHNICAL FIELD
[001] The present subject matter described herein, in general, relates to software applications, and more particularly to system(s) and method(s) for collecting screenshots in a computing environment associated with one or more software applications.

BACKGROUND
[002] In the era of software applications, the screenshots are used in variety of tasks such as testing of software applications, building manuals, tutorials, demos or presentations, and defects or incidences reporting. Currently in several IT processes, users need to manually collect the screenshots of the process' steps in a separate document. In order to paste screenshot in a document, users should toggle to another document and paste the screenshots. Toggle to the document, pasting and aligning screenshots in the document requires additional effort and time. Further, the screenshots need to be commented by the user for easy future reference. As a result, toggling and pasting screenshots, adding comments to the screenshots become burden for the users.
[003] Further, users need to review the screenshots as human errors could happen while pasting screenshots in the document. Frequent toggles to the document distract the user from the core process which could lead to errors. Time consumed by the toggle and paste activity by the user may reduce over time and practice; however the effort remains the same.
[004] Various solutions are provided in the prior art, to capture the screenshots. One of the prior art method, disclose automatic image capture for generating content and a designated screen capturing and image exporting. The idea in the prior art method is to record the screen continuously. However, the prior art methods still face many challenges. The idea used in the prior art method to record the screen continuously results in over usage of CPU time. Further, the user is not aware of the background capture or recording process. The addition of comments needs to be done manually. The prior art systems and methods allow pasting and collecting the screenshots in a limited type of documents such as note pad or a word document. Thus the destination of the recorded screenshots is limited to a text document only. If the user chooses a document other than the text document, to collect the screenshots, for a work or business requirement, there is no method or the system available for the user to accomplish his requirement. Further, the prior art systems restricts the user merely to a particular platform.

SUMMARY
[005] This summary is provided to introduce aspects related to a system and a method for collecting one or more screenshots generated in a computing environment and the aspects are further described below in the detailed description. This summary is not intended to identify essential features of the claimed subject matter nor is it intended for use in determining or limiting the scope of the claimed subject matter.
[006] In one implementation, a system for collecting one or more screenshots generated in a computing environment is described. The system comprises a processor and a memory coupled to the processor. The processor is capable of executing a plurality of modules stored in the memory. The plurality of modules comprises a monitoring module and a collection module. The monitoring module is configured to continuously monitor an occurrence of one or more events associated with screen capture. The occurrence of the one or more events results in change in a variable. The variable is associated with an input command for the screen capture. The variable may be a memory variable. The memory variable may represent a key status and the key status is in a binary format. The screen capture is associated with generation of the one or more screenshots. The collection module is configured to automatically fetch the one or more screenshots based upon the change in the variable and automatically generate a title for each screenshot of the one or more screenshots and automatically store the one or more screenshots along with the title in a pre-defined document. The collection module is further configured to transmit an acknowledgment message onto the input/output modality upon successful storing or unsuccessful storing of each screenshot of the one or more screenshots. The collection module is further configured to receive one or more images from the input/output modality and insert the one or more images in the pre-defined document.
[007] In one implementation, a method for collecting one or more screenshots generated in a computing environment is described. The method comprises continuously monitoring an occurrence of one or more events associated with screen capture, wherein the occurrence of the one or more events results in change in a variable. The variable is associated with an input command for the screen capture. The variable may be a memory variable. The memory variable may represent a key status and the key status is in a binary format. The screen capture is associated with generation of the one or more screenshots. The method further comprises automatically fetching the one or more screenshots based upon the change in the variable and automatically generating a title for each screenshot of the one or more screenshots. The method further comprises automatically storing the one or more screenshots along with the title in a pre-defined document. The method further comprises transmitting an acknowledgment message onto the input/output modality upon successful storing or unsuccessful storing of each screenshot of the one or more screenshots. The method further comprises receiving one or more images from the input/output modality and inserting the one or more images in the pre-defined document.
[008] In one implementation a computer program product having embodied thereon a computer program for collecting one or more screenshots generated in a computing environment is described. The computer program product comprises a program code for continuously monitoring an occurrence of one or more events associated with screen capture. The occurrence of the one or more events result in change in a variable, and the screen capture is associated with generation of the one or more screenshots. The variable is associated with an input command for the screen capture. The variable may be a memory variable. The memory variable may represent a key status and the key status is in a binary format. The computer program product further comprises a program code for automatically fetching the one or more screenshots based upon the change in the variable and a program code for automatically generate a title for each screenshot of the one or more screenshots. The computer program product further comprises a program code for automatically storing the one or more screenshots along with the title in a pre-defined document. The computer program product further comprises a program code for transmitting an acknowledgment message onto the input/output modality upon successful storing or unsuccessful storing of each screenshot of the one or more screenshots. The computer program product further comprises a program code for receiving one or more images from the input/output modality and inserting the one or more images in the pre-defined document.

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(s) for collecting one or more screenshots generated in a computing environment shown, in accordance with an embodiment of the present subject matter.
[0011] Figure 2 illustrates the system for collecting one or more screenshots generated in the computing environment, in accordance with an embodiment of the present subject matter.
[0012] Figure 3 illustrates a workflow of the system for collecting one or more screenshots generated in the computing environment, in accordance with an embodiment of the present subject matter.
[0013] Figure 4 illustrates a workflow of monitoring of the screen capture and collection of the screenshots, in accordance with an embodiment of the present subject matter.
[0014] Figure 5 illustrates a timeline diagram for execution of system for collecting one or more screenshots generated in the computing environment, in accordance with an embodiment of the present subject matter.
[0015] Figure 6 illustrates an implementation of the system in Microsoft Word® for collecting one or more screenshots generated in the computing environment, in accordance with an embodiment of the present subject matter.
[0016] Figure 7 illustrates a method for collecting one or more screenshots generated in the computing environment, in accordance with an embodiment of the present subject matter.
[0017] Figure 8 illustrates a method for inserting one or more images in the pre-defined document, in accordance with an embodiment of the present subject matter.

DETAILED DESCRIPTION
[0018] System(s) and method(s) for collecting screenshots are described. Further, the system and the method accommodate a screenshot collection user interface like a menu or a toolbar as a plug-in in a predefined software application. The input/output modality triggers the system based upon a user input. The user initiates a collection in the pre-defined software application and moves on to same or another software application in order to capture the one or more screens. The system continuously monitors an occurrence of one or more events associated with screen capture. The screen capture results in generation of screenshot. The user captures the one or more screens in order to collect the one or more screenshots. When the user captures one or more screens by using key press event, upon the occurrence of key press event, internally change in the key status occurs and operating system is triggered to generate screenshot and store the screenshot in a clipboard. System 102 detects the change in the key status and triggers collection of the screenshot accordingly. Thus the change in the key status initiates the screenshot generation and collection activity.
[0019] Further, the system and method recognizes a title of the user interface which is in the foreground when the key press event occurs. The recognized title is obtained in the software application along with the screenshot captured from the clipboard. The screenshot is collected and stored in a pre-defined document may be conditionally based on the title and on the placeholders marked by the user. When the screenshot is collected from the clipboard, the system makes an instant flash on the pre-defined document icon along with the title captured. The instant flash acknowledges the user that the screenshot captured is collected in the document. The screenshot collection interface also includes provision to annotate the screenshots.
[0020] While aspects of described system and method for collecting one or more screenshots generated in a software application 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.
[0021] Referring now to figure 1, a network implementation 100 of a system 102 for collecting the one or more screenshots generated in the computing environment is illustrated, in accordance with an embodiment of the present subject matter. In one embodiment, the system 102 provides for continuously monitoring an occurrence of the one or more events associated with screen capture. The occurrence of the one or more events results in change in a variable. The variable is associated with an input command for the screen capture. The variable may be in a binary format. For example, the variable may be a memory variable and the memory variable may represent a key status. The key status is in a binary format. The key status toggles between 0 and 1. The screen capture is associated with generation of the one or more screenshots. The system automatically fetches the one or more screenshots based upon the change in the variable. Further, the system automatically generates a title for each screenshot and automatically stores the one or more screenshots along with the title in a pre-defined document. In another embodiment, the system also transmits an acknowledgment message onto the input/output modality upon storing each screenshot.
[0022] Although the present subject matter is explained considering that the system 102 is implemented as a plug-in in a software application on a server. The system 102 may be implemented as a plug-in in a software application on a variety of computing systems independently. 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, and the like. 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.The system 102 may be implemented as a plug-in on a software application on a system operated via remote connection. For example through VPN or Remote desktop connection in windows or secure work place.
[0023] 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.
[0024] 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) modality 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 stored in the memory 206.
[0025] The I/O modality 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 modality 204 may allow the system 102 to interact with the user directly or through the client devices 104. Further, the I/O modality 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 modality 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 modality 204 may include one or more ports for connecting a number of devices to one another or to another server.
[0026] The memory 206 may include any computer-readable medium 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, and magnetic tapes. The memory 206 may include modules 208 and data 210.
[0027] 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 monitoring module 212, a collection module 214, and other modules 216. The other modules 216 may include programs or coded instructions that supplement applications and functions of the system 102.
[0028] The data 210, amongst other things, serves as a repository for storing data processed, received, and generated by one or more of the modules 208. The data 210 may also include a system database 218, and other data 220. The other data 220 may include data generated as a result of the execution of one or more modules in the other module 216.
[0029] In one implementation, at first, a user may use the client device 104 to access the system 102 via the input/output modality 204. The user may register using the input/output modality 204 in order to use the system 102. The user may be a human being. The user may be a program or software communicating with the system 102 in automatic capture scenarios. The working of the system 102 may be explained by exemplary embodiments in detail referring figures 3 and 4. The system 102 may be used for collecting one or more screenshots generated in the computing environment. The system 102 may be implemented as plug-in software in a pre-defined software application. The pre-defined software application is an extensible software application. User may select the extensible software application for implementation of the system 102. Further, user may select a predefined document for storing the one or more screenshots. The pre-defined document type is required to be supported by the pre-defined application. In order to collect the screenshots generated in the computing environment, the system 102, at first, continuously monitors an occurrence of one or more events associated with screen capture. Specifically, in the present implementation, the continuous monitoring of an occurrence of one or more events associated with screen capture is carried out by the monitoring module 212.
[0030] According to an embodiment of the present disclosure, referring to figure 2, the system 102 comprises the monitoring module 212 configured to continuously monitor an occurrence of the one or more events associated with the screen capture. The occurrence of the one or more events result in change in a variable and the variable is associated with an input command for the screen capture. The screen capture is associated with generation of the one or more screenshots.
[0031] The screen capture is associated with generation of the one or more screenshots. The screen capture is capturing of one or more screens of the one or more software applications. The input/output modality triggers the monitoring module based upon the user input. The monitoring module is further configured to start monitoring the occurrence of the one or more events continuously or to stop monitoring the occurrence of the one or more events. The monitoring module is further configured to start or to stop continuous monitoring of the occurrence of the one or more events based on the user input through input/output modality. The screen capture is associated with one or more software applications. The one or more screenshots are associated with one or more software applications. The one or more software applications comprise one or more web applications, operating system based software applications such as word processing, notepad, paint, power point presentations etc.
[0032] According to an exemplary embodiment of the present disclosure, the extensible software application may be supported by at least one of the operating systems comprising Windows (including mobile versions like Windows Phone), Linux (including mobile successors like Android), Mac OS, iOS etc. The software application selected by the user for capturing screenshots may be supported by at least one of the operating systems comprising Windows, Linux, Mac OS, iOS etc. The one or more events comprise receiving an input command from an input/output modality for the screen capture. The receiving of the input command from the input/output modality for the screen capture changes the variable. In one embodiment, the receiving of the input command from the input/output modality for the screen capture changes the key status. The receiving of the input command from the input/output modality for the screen capture comprises at least one of pressing the print screen button, pressing a combination of one or more keys of a keyboard for print screen. The one or more events comprise at least one of pressing the print screen button, pressing a combination of one or more hot keys for print screen. By way of an example, for Mac OS the combination of hot keys can be ctrl + shift + cmd + 3. The events other than the one or more events associated with the screen capture as disclosed are obvious to a person skilled in the art.
[0033] Still referring to figure 2, the system further comprises the collection module (214). The collection module is configured to automatically fetch the one or more screenshots based upon the change in the variable. In one embodiment, the collection module is configured to automatically fetch the one or more screenshots based upon the change in the memory variable. The memory variable may represent the key status. In one embodiment, the collection module is configured to automatically fetch the one or more screenshots based upon the change in the key status. By way of an example, when user presses a print screen button, the operating system gets triggered. The operating system captures the screen and generates the screenshot and saves the screenshot in a clipboard. By way of an example, one or more screenshots may be generated and stored in a clipboard. By way of an example, when the user presses the one or more keys for capturing screen, the change in the key status occurs. For example, when the user presses the Print screen key, change in the Print screen key status occurs. The monitoring module monitoring the occurrence of event, detects the change in the Print screen key status and the monitoring module triggers the collection module to collect the screenshot. The collection module based on the change in the Print screen key status automatically fetches the one or more screenshots from the clipboard.
[0034] According to an exemplary embodiment, the working of the monitoring module and the collection module is explained. The system 102 uses a WIN API (WINDOWS Application Program Interface) feature for monitoring the status of a key press by means of monitoring the key status from a keyboard message queue. The key status is associated with the input command for the screen capture and is saved in the keyboard message queue. The key status is present in binary format. The key status and the binary values associated with the key status may change according to the operating system and underlying hardware system selected for implementation of the system 102. In one implementation, the key status toggles between 0 and 1 upon each press of the key for the screen capture. When the one or more events associated with the screen capture occur the key status toggles between 0 and 1. The change in key status is monitored by the monitoring module. The event comprises receiving the input command from an input/output modality for the screen capture. The change in the key status signifies that an event has occurred. By way of an example, system 102 monitors status of a Print Screen button or a combination of hot key press in the key status to monitor the screen capture. The monitoring module monitors the change in the key status from 0 to 1 or 1 to 0. When the monitoring module detects the change in the key status from 0 to 1 or 1 to 0, the monitoring module triggers the collection module to collect the screenshot. For example, when the Print Screen button is pressed, the key status changes from 0 to 1 or 1 to 0. The change in the key status also triggers operating system to capture the screen and generate a screenshot and store the screenshot in a memory such as a clipboard. The collection module based on the change in the key status gets triggered and automatically fetches the one or more screenshots from the clipboard. For example, when the key status changes from 0 to 1 or 1 to 0, the collection module automatically fetches the screenshot from the clipboard. When the screen is captured and the screenshot is generated, if the key status is at status 0 or 1, the key status remains same until next key press event occurs and further on the occurrence of the key press event again the key status toggles the status from 0 to 1 or from 1 to 0. The key status toggles upon occurrence of a single screen capture event each time. The toggle of key status is monitored and screenshots are collected accordingly.
[0035] According to another embodiment of the present subject matter, the collection module automatically generates a title for each screenshot of the one or more screenshots. By way of an example, the title generation is described. Each window of the software application has a title or header wherein the title or header describes about the application window. Application window comprises a screen. The active window displayed on the user interface is the user's focus when a screen is captured or a screen capture button is pressed. Therefore the title of the active window is copied whenever a new screen is captured by the user. The title of the active window is pasted above the screenshot in the pre-defined document. The addition of the title facilitates the user with information about the screenshot and help in identifying the screenshot.
[0036] Referring to figure 2, the collection module is further configured to automatically store the one or more screenshots along with the title in the pre-defined document. The pre-defined document comprises at least one of a spreadsheet document, a text document, or a presentation document, and a database file. The pre-defined document may comprise any other type of documents known to a person skilled in the art. The collection module is further configured to transmit an acknowledgment message onto the input/output modality upon successful storing or unsuccessful storing of each screenshot of the one or more screenshots. The acknowledgment message comprises at least one of a flash, a blink, a notifying pop up, or balloon message comprising with the title. By way of an example, the collection module is configured to generate a short blink or flash or balloon message comprising the generated title on the pre-defined document icon shown on the input/output modality upon a successful collection of the single screenshot of the one or more screenshots in the pre-defined document. In another aspect, when an unrecoverable error in the system occurs during screenshot collection resulting in unsuccessful storing of the screenshot. Then the collection module is configured to indicate the unsuccessful storing of screenshot by a continuous blink or continuous flash on the pre-defined document icon shown on the input/output modality.
[0037] According to another embodiment of the present subject matter, the monitoring module is configured to continuously monitor the occurrence of one or more events. The continuous monitoring is obtained by keeping a scheduling feature of the pre-defined software application active. The scheduling feature is kept active by moving the pre-defined document every second. The scheduling feature is kept active by moving the predefined document by a negligible amount. In one embodiment of the disclosure, the scheduling feature is kept active by scrolling the pre-defined document up and down by a negligible amount every second. The scrolling of the document continuously results in scheduling to recur endlessly.
[0038] Referring to figure 2 and figure 3, according to an exemplary embodiment of the present disclosure, work flow of the system 102 is described. The system 102 is implemented as plug-in software in the pre-defined software application, wherein the pre-defined software application is an extensible software application. The system comprises an input/output modality. The input/output modality communicates with the pre-defined software application. The input/output modality accepts the user input and displays the output to the user. The input/output modality triggers the monitoring module based upon a user input. The input/output modality comprises key board, mouse, user interface, touch interface, monitor, printer etc. The input/output modality comprises the input/output devices known to a person skilled in the art.
[0039] According to another embodiment of the present disclosure, system 102 implemented as plug-in software provides all the features via toolbar, ribbon or menu bar in a user interface. The system 102 also includes additional features such as highlighter and callouts to draw user’s attention to some parts on the screenshots. Highlighter may insert a rectangular box over the screenshot to emphasize on part of it. Callout may allow users to write their comment on the screenshot.
[0040] The toolbar or the ribbon is the primary user interface (UI) for the system 102. The toolbar has the options such as Start/Stop Capture command button, Insert Marker command button and Insert Marker command button to select. Every icon (command button) in toolbar may be mapped to an action (procedure). When Start/Stop Capture command button clicked, the button is toggled as “Stop Capture” and capture process is initiated on the background. When this “Stop Capture” button is clicked while its caption is “Stop capture”, the background capture process is stopped. Further, when Insert Marker command button clicked, after selecting any screenshot inserts a rectangle shape in red color (with 100% transparency) When Insert callout command button is clicked, after selecting any screenshot, inserts a ‘callout’ on the screenshot.
[0041] Referring to figure 2 and figure 3, the user initiates the working of the system 102 by providing input through input/output modality. The user triggers the monitoring module by providing input through the input/output modality. The system 102 may be integrated with the user interface into the pre-defined software application. The system 102 may be integrated in the form of the menu or the toolbar or the ribbon in the pre-defined software application. The pre-defined document is selected in order to add the screenshots to the pre-defined document. The user may initiate the collection activity in the pre-defined application on a pre-defined document. The user further selects one or more software applications to capture one or more screenshots using the screen capture key i.e. Print Screen key. The monitoring module 212 continuously monitors the occurrence of the one or more events associated with screen capture. The screen capture is associated with generation of the one or more screenshots.
[0042] The continuous monitoring by the monitoring module 212 is described in detail. The continuous monitoring comprises a timer running on the background to monitor the occurrence of the one or more events in the computing environment. The one or more events comprise the screen capture. The user may be working on multiple documents at a time in the computing environment. The user may be working on the pre-defined software application. When the user focus shift from the pre-defined software application the user is working in, the scheduling features gets interrupted, so the timer running at background also gets hampered. The scheduling would not happen properly when the user is not present on the pre-defined software application; hence a scheduling feature is disclosed to keep the user interface elements active in the pre-defined application.
[0043] According to an embodiment of the present disclosure, the implementation of the scheduling feature with respect to Windows and Visual Basic Application (VBA) is explained. The working of the scheduling feature may vary based on the implementation Operating System and the software application. The system 102 comprises the scheduling feature to keep the user interface elements active in the pre-defined software application. The scheduling feature comprises moving the scrollbar up and down during the continuous monitoring, so that the user interface elements are active and scheduling happens continuously. When scroll bar element is moved up and down, some events gets triggered internally which is sufficient to let the scheduling happen continuously even when the user is not working on the pre-defined software application. The scheduling feature scrolls the document up and down in background every time the monitoring module monitors the occurrence of one or more event and uses an ‘Ontime method’ for continuous scheduling. ‘Ontime method’ schedules the invocation of monitoring module repeatedly. As the scheduling feature scrolls the document up and down, the change is neutral and any movement on the screen is not visible to the user.
[0044] Referring to figure 3, an operating system of the computing environment, gets trigged as the user presses print screen button for capturing an active window of the software application. The pressing of print screen button results in generation of the screenshot. The operating system collects the screenshot and stores the screenshot in a storage medium such as clipboard. When user presses the print screen button multiple times, the operating system stores the screenshots generated in the clipboard one after another and in parallel the screenshots are collected by the collection module one after another.
[0045] As the user presses the print screen key button, the collection module automatically fetches the screenshot stored in the clipboard. When user presses the print screen button multiple times, the collection module collects the multiple screenshots stored in the clipboard. Further, the collection module automatically generates a title for each screenshot of the one or more screenshots. The collection module recognizes a title of an active window of the software application which is in the foreground when screen capture key is pressed. The collection module collects the recognized title of the active window of the software application and automatically stores the screenshot along with the title in the pre-defined document.
[0046] According to another embodiment of the present subject matter, the collection module stores the screenshot conditionally based on one or more conditions. The one or more conditions are based on the title generated or one or more regions marked as a placeholder in the pre-defined document. The collection module further transmits an acknowledgment message onto the input/output modality upon successful storing or unsuccessful storing of each screenshot of the one or more screenshots. When the collection module collects the screenshot from the clipboard and stores the screenshot along with the title in the pre-defined document, the collection module makes a flash on the pre-defined application along with the title captured. The flash acknowledges the user that the screenshot captured is stored in the pre-defined document.
[0047] According to another embodiment of the present disclosure, the storing of the one or more screenshots based on the one or more conditions is described. The collection module 214 stores the collected screenshots into the document sequentially. By using the storage based on conditions feature, user is able to insert the screenshots randomly in the pre-defined document at user defined locations (may be bookmark or reference page). User marks some locations or pages (for example at pages 2, 11 and 20) in the pre-defined document as placeholder in order to insert some screenshots at a later time. User starts screenshot collection process with option to include the screenshots at the placeholders. User moves to the software application selected and takes screenshots for example by pressing the print screen button. The screenshots are inserted only at the locations (at pages 2,11 and 20) marked by user in the pre-defined document. The screenshots may be conditionally inserted based on the generated text as well at the user marked locations.
[0048] According to another embodiment of the present subject matter, the collection module is also configured to annotate the screenshots based on the user input provided through input/output modality. The user may provide one or more comments to annotate the screenshots. The collection module may be configured to count a time elapsed for collection of one or more screenshots. Further, the collection module may be configured to display the time elapsed for the collection of one or more screenshots on the taskbar. Timer runs continuously on the taskbar of the predefined document indicating to the user that the collection process is active. The collection module is further configured to receive one or more images from the input/output modality and insert the one or more images in the pre-defined document. The one or more images may be inserted for providing information. The user may provide the one or more images through the input/output modality to insert the one or more images in the pre-defined document. The one or more images may comprise a logo, a trademark or a caption line etc. The one or more images may be inserted on every page of the predefined document to provide additional information. By way of an example, the collection module automatically embeds the images provided by the user in every screenshot log document (the pre-defined document) may be at a header or footer.
[0049] Referring to figure 4, the workflow of the continuous monitoring of the screen capture at the background and the screenshot collection is explained. In step 1, when the user clicks on “Start capture” button, the button change as “Stop capture” and in step 2 the capture process get scheduled right from the next second to run every second. In step 3, the status of the Print Screen key is checked, IF the status of the Print Screen key has changed from previous state to ‘PRESSED’ state, then in Step 4 storing/pasting the screenshot in the pre-defined document should be taken Otherwise step 6 to verify the status of stop capture button should be taken. In step 4, the screenshot is obtained from the Windows clipboard using Windows API and pasted in the pre-defined document. In step 5, user may be notified by making a flash on the title bar of the pre-defined document in the taskbar. Further in step 6, the system verifies whether the user finished taking screenshot of the application by checking the status of the “stop capture” button, if yes then Step 7 is executed by the user by selecting stop capture button. Otherwise Step 8 to reschedule the process to run every second is executed. The background monitoring and screen capture process is re-scheduled for the next second. User may click on button “Stop Capture”, the button turns as “Start capture”. The summary of the capture process may be displayed on the input/output modality for reference of the user.
[0050] Referring to figure 5, the timeline diagram for the present disclosure, the functioning of the system 102 is described. In step 502, the user install system 102 plugin() in the pre-defined software application. The pre-defined software application comprises any extensible software application. In step 504, the pre-defined software application initializes system 102 setup() for installation of system 102. In step 506, the System 102 setup() is initialized on the pre-defined software application. In step 508, the user starts screenshot collection() by using the system 102. The user selects the “start capture” button displayed in the toolbar of system 102 in the pre-defined software application. In step 510, the system 102 tracks Print Screen Key Status() by means of operating system of the computing environment.
[0051] In step 512, the user operates the software application(). The software application may be any software application the user is interested in for capturing the screen. In step 514, the user captures the screen to take screenshot for example by pressing the print screen key to trigger the operating system. In step 516, the operating system captures the screen, generates the screenshot and moves the screenshot in the clipboard (). The screenshot is stored in the clipboard temporarily. In step 518, the system 102 fetches the screenshot from the clipboard and generates the title for the active window in the operating system. In step 520, screenshot is collected and active window title is received by the system 102 and in step 522, the system 102 pastes screenshot and active window title() in the pre-defined document. In step 524, the system 102 makes a flash to acknowledge collection() on the pre-defined document icon shown on the input/output modality. The user can select “n” no of screen capture to collect the screenshots of one or more software applications. In step 524, the user stops screenshot collection() on the predefined software application by selecting the “stop capture” button displayed in the toolbar of system 102 in the pre-defined software application to stop the system 102 to stop collection of the screenshots.
[0052] According to an embodiment of the present disclosure, the advantages of the system 102 are described. These advantages are not intended to use in determining or limiting the scope of the claimed subject matter. The system 102 for collection of screenshots generated in a computing environment reduces human inputs required in the execution and thereby reduces the input data processing, reduces random access memory utilization and results in increase in processing speed in the collection of the screenshots in the pre-defined documents. Thus there is enhancement over the processer time and memory utilization. Further, user is provided with better user interface thereby reducing the toggling between the applications and the documents. Thus, the system 102 reduces human efforts and human errors in collection of the screenshots. The system 102 may reduce 20% of the cycle time per user for every run of the process. By means of using the system 102, cycle time may be reduced which further may improve productivity of the user and ultimately leading to effort and cost saving. Further, human errors that happen while pasting screenshots can be eliminated. Users can concentrate on the core functionality of the process without worrying about pasting/aligning screenshots, so improvement in process quality is noticeable. The system 102 may be implemented in a variety of computer platform comprising Windows, Linux, Macintosh, iOS etc.
[0053] Further, the system may be used in variety of work areas as described herein. The system and method may be used for collecting screenshots in manual test script execution, for defect tracking, automated test script execution, tutorial and demo creation, defect and incident reporting etc.
[0054] Referring to figure 6, implementation of the system 102 in Microsoft Word® is explained in accordance with an exemplary embodiment. The system 102 is implemented in Microsoft Word® as the pre-defined application. System 102 is implemented using Visual Basic Application (VBA) macros and WIN API in the Microsoft Word®. The high level architecture of the system 102 in Microsoft Word is shown in figure 5. The methods such as start/stop capture(), Insert Highlighter () and Insert callout() are implemented by means of VBA macros. Further, WIN API facilitates the system 102 to monitor the keyboard status for Print Screen key, generate a title for the screenshot and also collect screenshots from Windows clipboard.
[0055] According to an exemplary embodiment of the present disclosure, the implementation of the system 102 in Microsoft word is a Microsoft word global template (DOT file). The DOT file should be copied to a directory provided by Microsoft Word. If the user wants the images e.g. logos to be inserted into the document on header or footer, system 102 makes the images available in the system. The images can be embedded on to the picture boxes on the VBA forms and stored hidden on the forms. The one or more images (ex: logo) can be added to the system during development of the system based on the user's requirement. The system 102 can be available to the users as a single file (DOT File). User needs to close all Microsoft word documents and deploy the system in the specified directory for installation of the system 102. When user starts Microsoft word and system is invoked for first time, system automatically extracts the images out of the tool into the file system location where the system 102 resides. When the user initiates the system 102 by clicking on “Start capture”, user can use the images to append on the headers and footers of the pre-defined document. User captures the screens; system 102 collects the screenshots, saves in the pre-defined document. The images or the logos could be seen on the pre-defined document in other machines as well. The DOT file is secure to share on the e-mail or through any other mode.
[0056] According to an exemplary embodiment, implementation of the system 102 in Open Office® is explained. In the Open Office® implementation, system 102 is implemented by using the menus for starting and stopping the collection process. A flash is made on the task bar upon collecting a screenshot. The supporting code is written using Open Office.org Basic macros which run on top of open office writer software which is installed on windows or Linux machine. Thus system 102 can be implemented on a variety of platforms such as Windows, Linux, Mac, iOS by means of Open Office.org Basic macros. For successful execution of the System 102 Macro settings needs to be enabled.
[0057] Referring now to Figure 7, a method 700 for collecting one or more screenshots generated in a computing environment is shown, in accordance with an embodiment of the present subject matter. The method 700 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 700 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.
[0058] The order in which the method 700 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 700 or alternate methods. Additionally, individual blocks may be deleted from the method 700 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 700 may be considered to be implemented in the above described system 102.
[0059] Referring to figure 7, the method 700 for collecting the one or more screenshots generated in the computing environment is described. In step 702, an occurrence of one or more events associated with screen capture may be continuously monitored. The occurrence of the one or more events results in change in a variable and the variable is associated with an input command for the screen capture, and the screen capture is associated with generation of the one or more screenshots. In one embodiment of the present disclosure, the variable may represent a key status. The variable may be a memory variable. The memory variable may represent a key status. The key status is in binary format. The key status toggles between 0 and 1. In one implementation, the continuously monitoring the occurrence of the one or more events associated with screen capture may be carried out by the monitoring module 212. In step 704, the one or more screenshots may be automatically fetched based upon the change in the variable. In one embodiment, the one or more screenshots may be automatically fetched based upon the change in the key status. In one implementation, the automatically fetching the one or more screenshots based upon the change in the variable may be carried out by the collection module 214. In step 706, a title may be automatically generated for each screenshot of the one or more screenshots. In one implementation, automatically generating a title for each screenshot of the one or more screenshots may be carried by the collection module 214. In step 708, the one or more screenshots along with the title may be automatically stored in the pre-defined document. In one implementation, automatically storing the one or more screenshots along with the title in a pre-defined document may be carried out by the collection module 214.
[0060] In step 710, an acknowledgment message may be transmitted onto an input/output modality upon successful storing or unsuccessful storing of each screenshot of the one or more screenshots. In one implementation, the transmission of the acknowledgment message onto the input/output modality upon successful storing or unsuccessful storing of each screenshot of the one or more screenshots may be carried by the collection module 214.
[0061] Referring to figure 8, a method 800 for inserting one or more images in the pre-defined document is described. The method 800 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 800 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.
[0062] Referring to figure 8, in step 802 one or more images may be received from an input/output modality. In step 804, the one or more images may be inserted in a pre-defined document. In one implementation, the receiving of one or more images from the input/output modality and inserting the one or more images in the pre-defined document may be carried by the collection module 214. The one or more images may be added to the pre-defined document to provide additional information. The one or more images may be added to every page of the predefined document. The one or more images may be added in the header or footer of the every page of the pre-defined document.

Documents

Orders

Section Controller Decision Date

Application Documents

# Name Date
1 296-MUM-2014-IntimationOfGrant24-03-2023.pdf 2023-03-24
1 Form 5.pdf 2018-08-11
2 Form 3.pdf 2018-08-11
2 296-MUM-2014-PatentCertificate24-03-2023.pdf 2023-03-24
3 Form 2.pdf 2018-08-11
3 296-MUM-2014-Response to office action [23-03-2023(online)].pdf 2023-03-23
4 Figure for Abstract.jpg 2018-08-11
4 296-MUM-2014-Response to office action [25-05-2022(online)].pdf 2022-05-25
5 Drawings.pdf 2018-08-11
5 296-MUM-2014-US(14)-HearingNotice-(HearingDate-21-04-2021).pdf 2021-10-03
6 ABSTRACT1.jpg 2018-08-11
6 296-MUM-2014-Written submissions and relevant documents [05-05-2021(online)].pdf 2021-05-05
7 296-MUM-2014-FORM 26(19-3-2014).pdf 2018-08-11
7 296-MUM-2014-Correspondence to notify the Controller [16-04-2021(online)].pdf 2021-04-16
8 296-MUM-2014-FORM-26 [16-04-2021(online)].pdf 2021-04-16
8 296-MUM-2014-FORM 1(9-6-2014).pdf 2018-08-11
9 296-MUM-2014-CORRESPONDENCE(9-6-2014).pdf 2018-08-11
9 296-MUM-2014-CLAIMS [22-04-2020(online)].pdf 2020-04-22
10 296-MUM-2014-COMPLETE SPECIFICATION [22-04-2020(online)].pdf 2020-04-22
10 296-MUM-2014-CORRESPONDENCE(19-3-2014).pdf 2018-08-11
11 296-MUM-2014-FER.pdf 2019-10-22
11 296-MUM-2014-FER_SER_REPLY [22-04-2020(online)].pdf 2020-04-22
12 296-MUM-2014-OTHERS [22-04-2020(online)].pdf 2020-04-22
13 296-MUM-2014-FER.pdf 2019-10-22
13 296-MUM-2014-FER_SER_REPLY [22-04-2020(online)].pdf 2020-04-22
14 296-MUM-2014-COMPLETE SPECIFICATION [22-04-2020(online)].pdf 2020-04-22
14 296-MUM-2014-CORRESPONDENCE(19-3-2014).pdf 2018-08-11
15 296-MUM-2014-CLAIMS [22-04-2020(online)].pdf 2020-04-22
15 296-MUM-2014-CORRESPONDENCE(9-6-2014).pdf 2018-08-11
16 296-MUM-2014-FORM 1(9-6-2014).pdf 2018-08-11
16 296-MUM-2014-FORM-26 [16-04-2021(online)].pdf 2021-04-16
17 296-MUM-2014-Correspondence to notify the Controller [16-04-2021(online)].pdf 2021-04-16
17 296-MUM-2014-FORM 26(19-3-2014).pdf 2018-08-11
18 296-MUM-2014-Written submissions and relevant documents [05-05-2021(online)].pdf 2021-05-05
18 ABSTRACT1.jpg 2018-08-11
19 296-MUM-2014-US(14)-HearingNotice-(HearingDate-21-04-2021).pdf 2021-10-03
19 Drawings.pdf 2018-08-11
20 Figure for Abstract.jpg 2018-08-11
20 296-MUM-2014-Response to office action [25-05-2022(online)].pdf 2022-05-25
21 Form 2.pdf 2018-08-11
21 296-MUM-2014-Response to office action [23-03-2023(online)].pdf 2023-03-23
22 Form 3.pdf 2018-08-11
22 296-MUM-2014-PatentCertificate24-03-2023.pdf 2023-03-24
23 Form 5.pdf 2018-08-11
23 296-MUM-2014-IntimationOfGrant24-03-2023.pdf 2023-03-24

Search Strategy

1 2019-10-2211-16-53_22-10-2019.pdf
1 SearchStrategyAE_18-01-2021.pdf
2 2019-10-2211-16-53_22-10-2019.pdf
2 SearchStrategyAE_18-01-2021.pdf

ERegister / Renewals

3rd: 23 Jun 2023

From 27/01/2016 - To 27/01/2017

4th: 23 Jun 2023

From 27/01/2017 - To 27/01/2018

5th: 23 Jun 2023

From 27/01/2018 - To 27/01/2019

6th: 23 Jun 2023

From 27/01/2019 - To 27/01/2020

7th: 23 Jun 2023

From 27/01/2020 - To 27/01/2021

8th: 23 Jun 2023

From 27/01/2021 - To 27/01/2022

9th: 23 Jun 2023

From 27/01/2022 - To 27/01/2023

10th: 23 Jun 2023

From 27/01/2023 - To 27/01/2024

11th: 25 Jan 2024

From 27/01/2024 - To 27/01/2025

12th: 27 Jan 2025

From 27/01/2025 - To 27/01/2026