Sign In to Follow Application
View All Documents & Correspondence

“Apparatus For Smart Early Reclaim Of System Resources”

Abstract: ABSTRACT Method and electronic device for managing system resources Embodiments herein provide a method for managing system resources in an electronic device. The method includes detecting, by a scheduler unit, a first event to change the electronic device from a first state to a second state. Further, the method includes determining, by the scheduler unit, a current status of the system resources. Further, the method includes selecting, by the scheduler unit, at least one optimization action to be performed based on the current status of the system resources. Further, the method includes performing, by the scheduler unit, the at least one optimization action in the second state. FIG. 3

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
04 March 2016
Publication Number
46/2017
Publication Type
INA
Invention Field
COMMUNICATION
Status
Email
patent@ipmetrix.com
Parent Application
Patent Number
Legal Status
Grant Date
2023-04-29
Renewal Date

Applicants

1. Samsung Electronics Co., Ltd
129, Samsung-ro, Yeongtong-gu, Suwon-si, Gyeonggi-do 443-742, Republic of Korea

Inventors

1. Shyjumon Nankandiyil
Nankandiyil House, Vaikkilassery PO, Vatakara, Kozhikode, Kerala, India PIN:673104
2. Ankit Jain
1-11-252/19, Flat 401, Legend Apartment, Motilal Nehru Nagar, Begumpet, Hyderabad, Telangana, India, PIN : 500016
3. Amitesh Anand
/O Dilip Kr, M/S Anand Cyber World, Yarpur, Khagaul Road, P.S- Gardanibagh, Patna-800001
4. Mangaldeep
V.P.O Nukera , Sangaria, Hanumangarh, Rajasthan, India, PIN-335063
5. Prabhat Kumar Gupta
2/8/18-C, Nayapurwa, Niyawa Road, Faizabad, Uttar Pradesh – 224001, India
6. Ankit Jain
E-301 Neel Padam Kunj Sec-1 Vaishali Ghaziabad PIN 201010
7. Namit Solanki
C/O Girdharlal Maru, Hanspal Vila, Street no. 4, Fafadih, Raipur , (CG) , PIN-492009
8. Sachin Papneja
Flat No 803 , Pride A , HRC Professional HUB , 1/2 Vaibhav Khand , Indirapuram , Ghaziabad , U.P.
9. Nirmal Pandey
D-51, Sector-36, Noida - 201301, U.P. (India)

Specification

DESC:FIELD OF INVENTION
[0001] The embodiments herein generally relate to resource management system. More particularly related to a method and electronic device for managing resources in the resource management system. The present application is based on, and claims priority from an Indian Application Number 201641007734 filed on 4th March, 2016, the disclosure of which is hereby incorporated by reference herein.
BACKGROUND
[0002] On various layers of a system, there are multiple solutions for clearing up the unused / infrequently used system resources such as memory and Central Processing Unit (CPU). In an example, in Linux flavored operating system such as Android, i.e., (1) kswapd searches for least frequently used pages from various processes and swaps out to make room for new requests. But traversal of lists for selection of pages and cleanup takes up a considerable amount of time. In case of an application is initiated and kswapd is triggered, it becomes an overhead for the system. (2) Low Memory Killer (LMK) is a unit available in the android systems, which helps android system to remove unimportant processes to make room for the new requests.
[0003] The LMK scans the complete list of processes running in the system for its selection. It selects the least priority processes with maximum memory footprint. The selection and removal of this process takes a considerable amount of time, which is not desirable during an application/process launch time or when a process is in running/foreground state. This might provide jitters in user operation and therefore not a desirable scenario to be used. (3) Garbage Collection: Android framework is an entry point for initiating the application. There are multiple processes which help to initiate the application. As an instance, system_server process is responsible to initiate creation of a process and managing the created process records for each of the newly initiated application.
[0004] Consider a scenario where the user opens multiple applications in a sequential order. The applications get killed in background to make room for the new applications. The records for these applications/processes are deleted with time. The heap utilization for the system_server increases with time, and ultimately garbage collection is run to make space on its heap. But garbage collection such an important process (which is the parent of many child processes) can be a point of caution which the application is initiated. The application star-up time is impacted drastically as the system is halted for that instant.
[0005] For example, whenever a new process is created, it needs some system resources such as the memory, the CPU load share, etc. In paged memory architecture, several pages might be requested by the newly created processes. In case the system has already allocated the memory to other processes then, the system needs to clear up the allocated memory and other system resources from other processes. In conventional systems, the allocated memory is cleared by the system in real time when a request for pages is made. There can be several modules which helps the system to recover memory and other system resources. For example, kswapd in Linux, the LMK in android, garbage collectors, ram compression of infrequently used pages. Several other methods can be applied by the system to get back resources from other processes and service new requests.
[0006] In other conventional systems, any computing device has an on-demand methodology to provide the system resources to the requesting process. When the system finds that the resource requested by the current process is unavailable, it attempts to make them available in runtime. This introduces an additional time lag between the resource request and service time. Further, the system keeps track of the system resources allocated to various processes. When the current process requests for some resource, it checks the current status of the allocated resources and makes them available during runtime.
OBJECT OF INVENTION
[0007] The principal object of the embodiments herein is to provide a method for managing system resources in an electronic device to proactively make the system resources available.
[0008] Another object of the embodiments herein is to provide a method for detecting, by a scheduler unit, a first event to change the electronic device from a first state to a second state.
[0009] Another object of the embodiments herein is to provide a method for determining, by the scheduler unit, a current status of the system resources.
[0010] Another object of the embodiments herein is to provide a method for detecting a performance level from a plurality of performance levels of the system resources based on the current status of the system resources.
[0011] Another object of the embodiments herein is to provide a method for selecting the at least one optimization action corresponding to the detected performance level.
[0012] Another object of the embodiments herein is to provide a method for performing, by the scheduler unit, the at least one optimization action in the second state.
[0013] Yet another object of the embodiments herein is to provide a method for detecting, by the scheduler unit, whether a second event is performed to change the electronic device from the second state to a third state.
[0014] Yet another object of the embodiments herein is to provide a method for performing, by the scheduler unit, at least one normal operation in the third state.
[0015] Yet another object of the embodiments herein is to provide a method to meet an optimal status of the system resources for proactively making the system resources available.
SUMMARY
[0016] Accordingly the embodiments herein provide a method for managing resources in an electronic device. The method includes detecting, by a scheduler unit, a first event to change the electronic device from a first state to a second state. Further, the method includes determining, by the scheduler unit, a current status of the system resources. Further, the method includes selecting, by the scheduler unit, at least one optimization action to be performed based on the current status of the system resources. Further, the method includes performing, by the scheduler unit, the at least one optimization action in the second state.
[0017] In an embodiment, the first event is one of a Home button press event, a recent panel event, a back button press event, an electronic device lock event, a user defined event, and a system defined event.
[0018] In an embodiment, the method further includes detecting, by the scheduler unit, whether a second event is performed to change the electronic device from the second state to a third state. Further, the method includes performing, by the scheduler unit, at least one normal operation in the third state.
[0019] In an embodiment, the second event is one of an electronic device unlock event, a user defined event, and a system defined event.
[0020] In an embodiment, the third state is an optimized state compared to the first state.
[0021] In an embodiment, the at least one normal operation is different than the at least one optimization action.
[0022] In an embodiment, selecting the at least one optimization action to be performed based on the current status of the system resources comprises detecting a performance level from a plurality of performance levels of the system resources based on the current status of the system resources, wherein each performance level defines the at least one optimization action to be performed, and selecting the at least one optimization action corresponding to the detected performance level.
[0023] In an embodiment, the at least one optimization action is performed to meet an optimal status of the system resources for proactively making the system resources available.
[0024] Accordingly the embodiments herein provide an electronic device for managing resources. The electronic device includes a memory unit, and a scheduler unit, coupled to the memory unit, configured to detect a first event to change the electronic device from a first state to a second state. The scheduler unit is configured to determine a current status of the system resources. Further, the scheduler unit is configured to select at least one optimization action to be performed based on the current status of the system resources. Further, the scheduler unit is configured to perform the at least one optimization action in the second state.
[0025] These and other aspects of the embodiments herein will be better appreciated and understood when considered in conjunction with the following description and the accompanying drawings. It should be understood, however, that the following descriptions, while indicating preferred embodiments and numerous specific details thereof, are given by way of illustration and not of limitation. Many changes and modifications may be made within the scope of the embodiments herein without departing from the spirit thereof, and the embodiments herein include all such modifications.

BRIEF DESCRIPTION OF FIGURES
[0026] This invention is illustrated in the accompanying drawings, throughout which like reference letters indicate corresponding parts in the various figures. The embodiments herein will be better understood from the following description with reference to the drawings, in which:
[0027] FIG. 1 illustrates an electronic device for managing system resources, according to an embodiment as disclosed herein;
[0028] FIG. 2 illustrates various units of a scheduler unit, according to an embodiment as disclosed herein;
[0029] FIG. 3 is a flow chart illustrating a method for managing system resources in an electronic device, according to an embodiment as disclosed herein;
[0030] FIG. 4 is a flow chart in which various operation are performed to meet an optimal status of system resources in an electronic device, according to an embodiment as disclosed herein; and
[0031] FIG. 5 illustrates a computing environment implementing a method and electronic device for managing system resources, according to an embodiment as disclosed herein.

DETAILED DESCRIPTION OF INVENTION
[0032] Various embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. In the following description, specific details such as detailed configuration and components are merely provided to assist the overall understanding of these embodiments of the present disclosure. Therefore, it should be apparent to those skilled in the art that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present disclosure. In addition, descriptions of well-known functions and constructions are omitted for clarity and conciseness.
[0033] Also, the various embodiments described herein are not necessarily mutually exclusive, as some embodiments can be combined with one or more other embodiments to form new embodiments.
[0034] Herein, the term “or” as used herein, refers to a non-exclusive or, unless otherwise indicated. The examples used herein are intended merely to facilitate an understanding of ways in which the embodiments herein can be practiced and to further enable those skilled in the art to practice the embodiments herein. Accordingly, the examples should not be construed as limiting the scope of the embodiments herein.
[0035] As is traditional in the field, embodiments may be described and illustrated in terms of blocks which carry out a described function or functions. These blocks, which may be referred to herein as units or modules or the like, are physically implemented by analog and/or digital circuits such as logic gates, integrated circuits, microprocessors, microcontrollers, memory circuits, passive electronic components, active electronic components, optical components, hardwired circuits and the like, and may optionally be driven by firmware and/or software. The circuits may, for example, be embodied in one or more semiconductor chips, or on substrate supports such as printed circuit boards and the like. The circuits constituting a block may be implemented by dedicated hardware, or by a processor (e.g., one or more programmed microprocessors and associated circuitry), or by a combination of dedicated hardware to perform some functions of the block and a processor to perform other functions of the block. Each block of the embodiments may be physically separated into two or more interacting and discrete blocks without departing from the scope of the disclosure. Likewise, the blocks of the embodiments may be physically combined into more complex blocks without departing from the scope of the disclosure.
[0036] Accordingly the embodiments herein provide a method for managing system resources in an electronic device. The method includes detecting, by a scheduler unit, a first event to change the electronic device from a first state to a second state. Further, the method includes determining, by the scheduler unit, a current status of the system resources. Further, the method includes selecting, by the scheduler unit, at least one optimization action to be performed based on the current status of the system resources. Further, the method includes performing, by the scheduler unit, the at least one optimization action in the second state.
[0037] Unlike conventional systems and methods, the proposed method can be used to reduce a time lag by proactively making the system resources (such as memory, Central Processing Unit (CPU) load share, Graphics Processing Unit (GPU), Digital Signal Processing (DSP), Codecs system, or any processor-based system). As the system resources are available to the electronic device, the electronic device circumvents the additional time taken to make them available and servicing the request. Further, the electronic device is configured in such a way that it doesn’t introduce any additional time lag between the resource request and a service time (i.e., by smart scheduling).
[0038] Further, the proposed method can be used to proactively make the system resources available for the running processes ahead of time thus, providing an enhanced user experience with no time lag.
[0039] Referring now to the drawings, and more particularly to FIGS. 1 through 5, where similar reference characters denote corresponding features consistently throughout the figures, there are shown preferred embodiments.
[0040] FIG. 1 illustrates an electronic device 100 for managing system resources, according to an embodiment as disclosed herein. The electronic device 100 can be, for example but not limited to, a mobile phone, a smart phone, Personal Digital Assistants (PDAs), a tablet, a phablet, a consumer electronic device, or any other electronic device. In an embodiment, the electronic device 100 includes a scheduler unit 110, a controller unit 120, a memory unit 130, and a communication unit 140.
[0041] The scheduler unit 110 can be configured to detect a first event (i.e., trigger event) to change the electronic device 100. In an embodiment, the first event is a Home button press event, a recent panel event, a back button press event, an electronic device lock event, a user defined event (i.e., turn off the screen of the electronic device 100 after a time limit of 5 min), or system defined event (i.e., low battery event). In an example, the application can be a Message application, a Social Networking Site (SNS) application, an E-mail application, a Messenger application, a Game application, or the like.
[0042] Further, the scheduler unit 110 can be configured to determine a current status of the system resources. In an example, the system resources include one of a memory, a CPU load share, GPU, DSP, Codecs system, or any processor-based system. The scheduler unit 110 can be configured to detect a performance level from a plurality of performance levels of the system resources based on the current status of the system resources. Each performance level defines the at least one optimization action to be performed.
[0043] Further, the scheduler unit 110 can be configured to select the at least one optimization action corresponding to the detected performance level. In an embodiment, the at least one optimization action is performed to meet an optimal status of the system resources. The scheduler unit 110 can be configured to detect whether a second event is performed to change the electronic device 100 from the second state to a third state. In an embodiment, the second event is an electronic device unlock event, a user defined event, a system defined event (i.e., detecting battery of the electronic device 100 is in a charged state), or the like. Further, the scheduler unit 110 can be configured to perform at least one normal operation in the third state. In an embodiment, the normal operation is different than the at least one optimization action. The at least one optimization action is performed to meet an optimal status of the system resources. In an embodiment, the third state is an optimized state compared to the first state.
[0044] The controller unit 120 performs the functionalities of the scheduler unit 110 without departing from the scope of the invention. The memory unit 130 may include one or more computer-readable storage media. The memory unit 130 may include non-volatile storage elements. Examples of such non-volatile storage elements may include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories. In addition, the memory unit 130 may, in some examples, be considered a non-transitory storage medium. The term “non-transitory” may indicate that the storage medium is not embodied in a carrier wave or a propagated signal. However, the term “non-transitory” should not be interpreted that the memory unit 130 is non-movable. In some examples, the memory unit 130 can be configured to store larger amounts of information than the memory. In certain examples, a non-transitory storage medium may store data that can, over time, change (e.g., in Random Access Memory (RAM) or cache). The communication unit 140 communicates internally with the units and externally with networks.
[0045] The conventional systems and methods are capable of providing various levels of multi-tasking. The processes acquire various system resources available in the electronic device 100. The electronic device 100 runs out of free system resources and the electronic device 100 utilizes units (LMK, kswapd, etc) at various instances to free the system resources.
[0046] Unlike conventional systems and methods, the proposed method can be used to reclaim the memory and other system resources in the electronic device 100. Here, the electronic device 100 makes the system resources available for servicing the requests which are received from newly/future created processes. Further, the electronic device 100 defines various trigger points which anticipates need of the system resources by the new process/application being triggered in near future. On receiving the triggers, the electronic device 100 (based on pre-defined technique), decides to selectively initiate or terminate the registered standalone units. This helps to make the system resources available to the electronic device 100 thereby, saving precious time during process/application start.
[0047] The FIG. 1 shows the electronic device 100 but it is to be understood that other embodiments are not limited thereon. In other embodiments, the electronic device 100 may include less or more number of units. Further, the labels or names of the units are used only for illustrative purpose and does not limit the scope of the invention. One or more units can be combined together to perform same or substantially similar function in the electronic device 100.
[0048] FIG. 2 illustrates various units of the scheduler unit 110, according to an embodiment as disclosed herein. In an embodiment, the scheduler unit 110 includes a level generator 202, triggers 204, and an action unit 206. The proposed method can be implement as a framework (which includes a scheduler) that integrates standalone resource/memory reclaim techniques.
[0049] The level generator 202 can be configured to generate various levels (i.e., plurality of performance levels) of the quantity of the systems resources available in the electronic device 100. The levels are generated based on the specifications (such as resolution, memory size, CPU, screen size, internal memory, etc.) of the electronic device 100. Further, the triggers 204 are a wakeup calls for the electronic device 100. The triggers 204 can be, for example, the Home button press event, the recent panel event, the back button press event, the electronic device 100 lock event, the user defined event, and the system defined event.
[0050] On receiving the predefined registered trigger points (i.e., first event or trigger events), the action unit 206 is triggered to perform the at least one optimization action in the second state. Each trigger is registered with a schedule time which specifies the start and stop time of the electronic device 100. As shown in the FIG. 2, one or more optimization actions (i.e., Action-1, Action-2, and Action-3) are specified in the action unit 206. The action unit 206 determines the current status of the system resources and compares the current status with the plurality of performance levels, where each performance level defines the at least one optimization action to be performed. Depending on the schedule time from the trigger, the action unit 206 selects the action to be performed.
[0051] In an embodiment, the standalone units can be Kswapd, Low Memory Killer invocation, GC on system process, fsync, Trimming applications usage, Monitoring the applications resource usages and taking action to free the resources, etc, Direct Reclaim, and Background compaction in Kernel. Consider a scenario where the RAM memory as one of the system resources and on the electronic device 100 one of the below implementation can be as follows:
[0052] The level generator 202 receives the input as a resolution of the electronic device 100 and the total physical RAM. The level generator 202 generates 3 memory levels (i.e., plurality of performance levels or zones) of the electronic device 100 such as:
1. Zone-A
2. Zone-B
3. Zone-C
[0053] Further, the action unit 206 triggers the predefined thresholds along with the schedule times can be as follows:
1. Trigger-1 (i.e., first event): Schedule time for “a” sec
2. Trigger-2: Schedule time for “b” sec
3. Trigger-3: Schedule time for “c” sec
[0054] On every trigger wake up call, the action unit 206 determines the current status of the system resources (i.e., memory) in the electronic device 100. The predefined actions can use the below standard units:
[0055] The optimization actions can be performed as follows:
Action Zone-A Zone-B Zone-C
Action I Y N N
Action II Y Y N
Action III Y Y Y
Table: 1
[0056] The above optimization actions are triggered for the pre-set interval of time, based on the type of trigger.
[0057] The FIG. 2 shows the scheduler unit 110 but it is to be understood that other embodiments are not limited thereon. In other embodiments, the scheduler unit 110 may include less or more number of units. Further, the labels or names of the units are used only for illustrative purpose and does not limit the scope of the invention. One or more units can be combined together to perform same or substantially similar function in the scheduler unit 110.
[0058] FIG. 3 is a flow chart 300 illustrating a method for managing the system resources in the electronic device 100, according to an embodiment as disclosed herein. At step 302, the method includes detecting the first event to change the electronic device 100 from the first state to the second state. The method allows the scheduler unit 110 to detect the first event to change the electronic device 100 from the first state to the second state.
[0059] At step 304, the method includes determining the current status of the system resources. The method allows the scheduler unit 110 to determine the current status of the system resources. At step 306, the method includes detecting the performance level from the plurality of performance levels of the system resources based on the current status of the system resources. The method allows the scheduler unit 110 to detect the performance level from the plurality of performance levels of the system resources based on the current status of the system resources, where each performance level defines the at least one optimization action to be performed.
[0060] At step 308, the method includes selecting the at least one optimization action corresponding to the detected performance level. The method allows the scheduler unit 110 to select the at least one optimization action corresponding to the detected performance level. At step 310, the method includes performing the at least one optimization action in the second state. The method allows the scheduler unit 110 to perform the at least one optimization action in the second state.
[0061] At step 312, the method includes detecting whether the second event is performed to change the electronic device 100 from the second state to the third state. The method allows the scheduler unit 110 to detect whether the second event is performed to change the electronic device 100 from the second state to the third state. At step 314, the method includes performing the at least one normal operation in the third state. The method allows the scheduler unit 110 to perform the at least one normal operation in the third state.
[0062] The various actions, acts, blocks, steps, or the like in the flow chart 300 may be performed in the order presented, in a different order or simultaneously. Further, in some embodiments, some of the actions, blocks, steps, or the like may be omitted, added, modified, skipped, or the like without departing from the scope of the invention.
[0063] FIG. 4 is a flow chart 400 in which various operations are performed to meet the optimal status of the system resources in the electronic device 100, according to an embodiment as disclosed herein. At step 402, the method includes detecting that the electronic device 100 boot is completed. The method allows the scheduler unit 110 to detect that the electronic device 100 boot is completed.
[0064] At step 404, the method includes setting the threshold based on the specifications of the electronic device 100. The method allows the scheduler unit 110 to set the threshold based on the specifications of the electronic device 100. In an example, the specifications of the electronic device 100 can be the CPU, the memory, the resolution, the screen size, and the internal memory. At step 406, the method includes detecting the electronic device 100 unlock event. The method allows the scheduler unit 110 to detect the electronic device 100 unlock event.
[0065] At step 408, the method includes performing launcher operation (i.e., ready to launch any application). The method allows the scheduler unit 110 to perform the launcher operation (i.e., ready to launch any application). At step 410, the method includes selecting and launching the application in the electronic device 100. The method allows the scheduler unit 100 to select and launch the application in the electronic device 100. At step 412, the method includes detecting that the application is in use. The method allows the scheduler unit 110 to detect that the application is in use.
[0066] In an embodiment, if it is determined, at step 414, that the application is interrupted in response to detecting the electronic device 100 lock event then, at step 416, the method includes determining the current status of the system resources in the electronic device 100. The method allows the scheduler unit 110 to determine the current status of the system resources in the electronic device 100. In another embodiment, if it is determined, at step 414, that the application is interrupted in response to detecting the home button press event then, the method performs step 416 as described above. In another embodiment, if it is determined, at step 414, that the application is interrupted in response to detecting the back button press event then, the method performs step 416 as described above.
[0067] At step 418, the method includes deciding the at least one optimization action and the time interval for each of the optimization action to be performed based on the pre-set threshold value. The method allows the scheduler unit 110 to decide the at least one optimization action and the time interval for each of the optimization action to be performed based on the pre-set threshold value. At step 420, the method includes performing the at least one optimization action. The method allows the scheduler unit 110 to perform the at least one optimization action.
[0068] In an example, consider a scenario where 3 zones (Zone-A which ranges between 40% - 50% of the system resource, Zone-B which ranges between 30% - 40% of the system resource, and Zone-C which ranges between 20% - 30% of the system resource) (i.e., performance levels) are generated by the scheduler unit 110. If the scheduler unit 110 detects that the current status of the system resources corresponds to the Zone-A then, the scheduler unit 110 performs the Action-1, the Action-2, and the Action-3 to meet the optimal status of the system resources of the electronic device 100.
[0069] In another example, if the scheduler unit 110 detects that the current status of the system resources corresponds to the Zone-B then, the scheduler unit 110 performs the Action-2 and the Action-3 to meet the optimal status of the system resources of the electronic device 100. In another example, if the scheduler unit 110 detects that the current status of the system resources corresponds to the Zone-C then, the scheduler unit 110 performs the Action-3 to meet the optimal status of the system resources of the electronic device 100.
[0070] If it is determined, at step 422, that the trigger stop condition is met (i.e., the electronic device 100 unlock event) then, at step 424, the method includes performing the normal operation of the electronic device 100. The method allows the scheduler unit 110 to perform the normal operation of the electronic device 100. If it is determined, at step 422, that the trigger stop condition is not met then, at step 426, the method includes executing the running actions. The method allows the scheduler unit 110 to execute the running actions.
[0071] Unlike conventional systems and methods, the proposed method can be used to collect the data at specified trigger points only when the application launch is expected and pro-actively makes the memory in the electronic device 100 to be available to the newly launched application. Various in-built units are used to free the memory at various levels without any user intervention thus, enhancing user experience.
[0072] Further, the optimization actions are performed based on the thresholds for the pre-defined interval of time. The optimization actions are limited and stopped once the interval is completed. Using the proposed method, memory management solutions are provided to the user either on-demand or try to achieve any minimum amount of memory based on the threshold.
[0073] The various actions, acts, blocks, steps, or the like in the flow chart 400 may be performed in the order presented, in a different order or simultaneously. Further, in some embodiments, some of the actions, blocks, steps, or the like may be omitted, added, modified, skipped, or the like without departing from the scope of the invention.
[0074] FIG. 5 illustrates a computing environment implementing a method and the electronic device 100 for managing the system resources, according to an embodiment as disclosed herein. As depicted in the figure, the computing environment 502 comprises at least one processing unit 508 that is equipped with a control unit 504 and an Arithmetic Logic Unit (ALU) 506, a memory 510, a storage unit 512, plurality of networking devices 516 and a plurality Input output (I/O) devices 514. The processing unit 508 is responsible for processing the instructions of the technique. The processing unit 508 receives commands from the control unit in order to perform its processing. Further, any logical and arithmetic operations involved in the execution of the instructions are computed with the help of the ALU 506.
[0075] The overall computing environment 502 can be composed of multiple homogeneous and/or heterogeneous cores, multiple CPUs of different kinds, special media and other accelerators. The processing unit 508 is responsible for processing the instructions of the technique. Further, the plurality of processing units 508 may be located on a single chip or over multiple chips.
[0076] The technique comprising of instructions and codes required for the implementation are stored in either the memory unit 510 or the storage 512 or both. At the time of execution, the instructions may be fetched from the corresponding memory 510 or storage 512, and executed by the processing unit 508.
[0077] In case of any hardware implementations various networking devices 516 or external I/O devices 514 may be connected to the computing environment to support the implementation through the networking unit and the I/O device unit.
[0078] The embodiments disclosed herein can be implemented through at least one software program running on at least one hardware device and performing network management functions to control the elements. The elements shown in the FIGS. 1 through 5 include blocks which can be at least one of a hardware device, or a combination of hardware device and software module.
[0079] The foregoing description of the specific embodiments will so fully reveal the general nature of the embodiments herein that others can, by applying current knowledge, readily modify or adapt for various applications such specific embodiments without departing from the generic concept, and, therefore, such adaptations and modifications should and are intended to be comprehended within the meaning and range of equivalents of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and not of limitation. Therefore, while the embodiments herein have been described in terms of preferred embodiments, those skilled in the art will recognize that the embodiments herein can be practiced with modification within the spirit and scope of the embodiments as described herein.
,CLAIMS:STATEMENT OF CLAIMS
We claim:
1. A method for managing resources in an electronic device, the method comprising:
detecting, by a scheduler unit, a first event to change the electronic device from a first state to a second state;
determining, by the scheduler unit, a current status of the system resources;
selecting, by the scheduler unit, at least one optimization action to be performed based on the current status of the system resources; and
performing, by the scheduler unit, the at least one optimization action in the second state.
2. The method of claim 1, wherein the first event is one of a Home button press event, a recent panel event, a back button press event, an electronic device lock event, a user defined event, and a system defined event.
3. The method of claim 1, wherein the method further comprises:
detecting, by the scheduler unit, whether a second event is performed to change the electronic device from the second state to a third state; and
performing, by the scheduler unit, at least one normal operation in the third state.
4. The method of claim 3, wherein the second event is one of an electronic device unlock event, a user defined event, and a system defined event.
5. The method of claim 4, wherein the third state is an optimized state compared to the first state.
6. The method of claim 4, wherein the at least one normal operation is different than the at least one optimization action.
7. The method of claim 1, wherein selecting the at least one optimization action to be performed based on the current status of the system resources comprises:
detecting a performance level from a plurality of performance levels of the system resources based on the current status of the system resources, wherein each performance level defines the at least one optimization action to be performed; and
selecting the at least one optimization action corresponding to the detected performance level.
8. The method of claim 1, wherein the at least one optimization action is performed to meet an optimal status of the system resources for proactively making the system resources available.
9. An electronic device for managing system resources, the electronic device comprising:
a memory unit;
a scheduler unit, coupled to the memory unit, configured to:
detect a first event to change the electronic device from a first state to a second state;
determine a current status of the system resources;
select at least one optimization action to be performed based on the current status of the system resources; and
perform the at least one optimization action in the second state.
10. The electronic device of claim 9, wherein the first event is one of a Home button press event, a recent panel event, a back button press event, an electronic device lock event, a user defined event, and a system defined event.
11. The electronic device of claim 9, wherein the scheduler unit is configured to:
detect whether a second event is performed to change the electronic device from the second state to a third state; and
perform at least one normal operation in the third state.
12. The electronic device of claim 11, wherein the second event is one of an electronic device unlock event, a user defined event, and a system defined event.
13. The electronic device of claim 12, wherein the third state is an optimized state compared to the first state.
14. The electronic device of claim 12, wherein the at least one normal operation is different than the at least one optimization action.
15. The electronic device of claim 9, wherein select the at least one optimization action to be performed based on the current status of the system resources comprises:
detect a performance level from a plurality of performance levels of the system resources based on the current status of the system resources, wherein each performance level defines the at least one optimization action to be performed; and
select the at least one optimization action corresponding to the detected performance level.
16. The electronic device of claim 9, wherein the at least one optimization action is performed to meet an optimal status of the system resources for proactively making the system resources available.
Dated this 17th Day of February, 2017

Signatures:

Arun Kishore Narasani
Patent Agent

Documents

Application Documents

# Name Date
1 201641007734-PROOF OF ALTERATION [16-01-2024(online)].pdf 2024-01-16
1 Form 5 [04-03-2016(online)].pdf 2016-03-04
2 201641007734-IntimationOfGrant29-04-2023.pdf 2023-04-29
2 Form 3 [04-03-2016(online)].pdf 2016-03-04
3 Drawing [04-03-2016(online)].pdf 2016-03-04
3 201641007734-PatentCertificate29-04-2023.pdf 2023-04-29
4 Description(Provisional) [04-03-2016(online)].pdf 2016-03-04
4 201641007734-Annexure [22-12-2022(online)].pdf 2022-12-22
5 abstract 201641007734 .jpg 2016-06-24
5 201641007734-Response to office action [22-12-2022(online)].pdf 2022-12-22
6 201641007734-Written submissions and relevant documents [22-12-2022(online)].pdf 2022-12-22
6 201641007734-Power of Attorney-160316.pdf 2016-07-06
7 201641007734-Form 1-160316.pdf 2016-07-06
7 201641007734-Correspondence to notify the Controller [24-11-2022(online)].pdf 2022-11-24
8 201641007734-FORM-26 [24-11-2022(online)].pdf 2022-11-24
8 201641007734-Correspondence-F1-PA-160316.pdf 2016-07-06
9 201641007734-US(14)-HearingNotice-(HearingDate-13-12-2022).pdf 2022-11-10
9 Form 18 [17-02-2017(online)].pdf 2017-02-17
10 201641007734-COMPLETE SPECIFICATION [08-01-2021(online)].pdf 2021-01-08
10 Drawing [17-02-2017(online)].pdf 2017-02-17
11 201641007734-DRAWING [08-01-2021(online)].pdf 2021-01-08
11 Description(Complete) [17-02-2017(online)].pdf_220.pdf 2017-02-17
12 201641007734-ENDORSEMENT BY INVENTORS [08-01-2021(online)].pdf 2021-01-08
12 Description(Complete) [17-02-2017(online)].pdf 2017-02-17
13 201641007734-FER.pdf 2020-07-10
13 201641007734-FER_SER_REPLY [08-01-2021(online)].pdf 2021-01-08
14 201641007734-FORM 3 [08-01-2021(online)].pdf 2021-01-08
14 201641007734-Proof of Right [08-01-2021(online)].pdf 2021-01-08
15 201641007734-FORM-26 [08-01-2021(online)].pdf 2021-01-08
15 201641007734-OTHERS [08-01-2021(online)].pdf 2021-01-08
16 201641007734-FORM-26 [08-01-2021(online)].pdf 2021-01-08
16 201641007734-OTHERS [08-01-2021(online)].pdf 2021-01-08
17 201641007734-Proof of Right [08-01-2021(online)].pdf 2021-01-08
17 201641007734-FORM 3 [08-01-2021(online)].pdf 2021-01-08
18 201641007734-FER.pdf 2020-07-10
18 201641007734-FER_SER_REPLY [08-01-2021(online)].pdf 2021-01-08
19 201641007734-ENDORSEMENT BY INVENTORS [08-01-2021(online)].pdf 2021-01-08
19 Description(Complete) [17-02-2017(online)].pdf 2017-02-17
20 201641007734-DRAWING [08-01-2021(online)].pdf 2021-01-08
20 Description(Complete) [17-02-2017(online)].pdf_220.pdf 2017-02-17
21 201641007734-COMPLETE SPECIFICATION [08-01-2021(online)].pdf 2021-01-08
21 Drawing [17-02-2017(online)].pdf 2017-02-17
22 201641007734-US(14)-HearingNotice-(HearingDate-13-12-2022).pdf 2022-11-10
22 Form 18 [17-02-2017(online)].pdf 2017-02-17
23 201641007734-Correspondence-F1-PA-160316.pdf 2016-07-06
23 201641007734-FORM-26 [24-11-2022(online)].pdf 2022-11-24
24 201641007734-Form 1-160316.pdf 2016-07-06
24 201641007734-Correspondence to notify the Controller [24-11-2022(online)].pdf 2022-11-24
25 201641007734-Written submissions and relevant documents [22-12-2022(online)].pdf 2022-12-22
25 201641007734-Power of Attorney-160316.pdf 2016-07-06
26 abstract 201641007734 .jpg 2016-06-24
26 201641007734-Response to office action [22-12-2022(online)].pdf 2022-12-22
27 Description(Provisional) [04-03-2016(online)].pdf 2016-03-04
27 201641007734-Annexure [22-12-2022(online)].pdf 2022-12-22
28 Drawing [04-03-2016(online)].pdf 2016-03-04
28 201641007734-PatentCertificate29-04-2023.pdf 2023-04-29
29 Form 3 [04-03-2016(online)].pdf 2016-03-04
29 201641007734-IntimationOfGrant29-04-2023.pdf 2023-04-29
30 Form 5 [04-03-2016(online)].pdf 2016-03-04
30 201641007734-PROOF OF ALTERATION [16-01-2024(online)].pdf 2024-01-16

Search Strategy

1 SSE_30-06-2020.pdf
2 SearchAE_27-12-2021.pdf

ERegister / Renewals

3rd: 26 Jul 2023

From 04/03/2018 - To 04/03/2019

4th: 26 Jul 2023

From 04/03/2019 - To 04/03/2020

5th: 26 Jul 2023

From 04/03/2020 - To 04/03/2021

6th: 26 Jul 2023

From 04/03/2021 - To 04/03/2022

7th: 26 Jul 2023

From 04/03/2022 - To 04/03/2023

8th: 26 Jul 2023

From 04/03/2023 - To 04/03/2024

9th: 01 Mar 2024

From 04/03/2024 - To 04/03/2025

10th: 28 Feb 2025

From 04/03/2025 - To 04/03/2026