The use of broadband media gateway appliances (MGAs”) has become almost ubiquitous throughout the world. These devices, such as set-top boxes and cable or optical modems, serve as the primary interface between a user's premises and one or more providers of multimedia and communication services. Typically, MGAs are linked to providers via a cable, optical or satellite network. These devices usually include one or more processors (running a particular operating system) and an associated memory, and are adapted to support and manage multiple processes for the transmission and display of multimedia information in response to programmed instructions and user commands. The finite processing and memory resources available within a given MGA must be managed in a dynamic fashion to properly support the various applications and processes associated with the provision of multimedia services.
In many MGAs, the task of managing this dynamic allocation is relegated to an automatic process supported by the operating system. One example of such is the Low Memory Killer Daemon (“LMKD”) within the Android™ operating system. The LMKD is triggered when a low or no application memory situation has been detected by the Android operating system. Upon detection of such, the LMKD acts to terminate background processes (processes not considered essential to an active application) in accordance with a pre-programmed process. This pre-programmed process would request or mandate that one or more processes relinquish memory resources in order to permit reallocation to prioritized applications.
A modified Linux kernel serves as the basis for Android operating systems; all Android operating system functionality resides atop this modified kernel. While the Linux-based nature of the Android operating system provides many advantages, it can also result in certain processes, such as the LMKD, obtaining a compartmentalized or limited view of overall system resources. For example, application memory usage within the modified Linux kernel is segregated into two zones; a low zone and a high zone. If a low or no application memory situation arises within either of these two zones, the LMKD will be triggered. This triggering can occur even if one of the two memory zones has ample storage resources available for use by applications, resulting in the unwarranted limitation or termination of system processes.
Consequently, there exists a need to provide for the dynamic allocation of finite memory resources within an Android environment based upon the total (low zone plus high zone) application memory availability. In addition, it would be advantageous for a memory management process, such as the LMDK, to provide a user of an Android operating system with information as to what demands current processes and applications are placing upon system resources (both processing and memory). Such information would enable a user to better prioritize and allocate system resources so as to best maintain those processes and applications deemed most critical. Ideally, this information would be collected periodically and presented to the user in a readily understandable manner, either upon a display associated with the MGA or upon another appliance/interface accessible by the user.
A system and method providing the user of an MGA with graphical depictions of Linux system memory and Android high zone and low zone memory usage, as well as processor usage. The depictions provide a user with a time line of the MGA's utilization of these resources, enabling a user to obtain a detailed history of system resource use and loading. These detailed depictions can be displayed upon a monitor (such as a television) associated with the MGA, or upon a screen associated with a separate device such as a smartphone, tablet or computer system.
The aspects, and advantages of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings in which:
MGA 102 is also shown to be linked to server 118 via broadband link 120.
Broadband link 120 can be supported by a wired or wireless network, or combination thereof. Server 108 includes one or more processors and associated memory adapted to execute periodic inquiries upon MGA 102. These inquiries utilize known Linux kernel and Android system memory usage. This information is then processed at server 108 to render a complete profile of MGA 102 memory usage.
In particular, the processing performed by server 108 utilizes the information from MGA 102 to derive diagnostic information reflective of the following:
The compiled diagnostic information is then formatted by server 118 into graphical histograms representing one or more of the above listed diagnostic variables. This graphical information is then provided to MGA 102 via broadband link 120. A user may then access the information for display upon video monitor 108. This access may be accomplished via a user interface associated with MGA 102, such as a keyboard or remote-control unit. For example, a user could access a graphical diagnostic menu displayed upon video monitor 108 and choose the particular diagnostic variable(s) they wished to view. Provision of such graphical menus is well-known in the art and the particulars of such will not be discussed further herein.
A system (300) supporting an alternate preferred embodiment is shown in
Although the invention herein has been described with reference to particular embodiments, it is to be understood that these embodiments are merely illustrative of the principles and applications of the present invention. For example, the device utilized to interface with the MGA could be any device capable of accepting user commands and providing a graphical display. Furthermore, any of the links or connections described as being wireless could be accomplished via wired means. The converse holds true for any links or connections described as being wired—They could be accomplished via wireless means without departing from the scope of the disclosed invention. It will also be understood that although the processors and memories depicted in the particular embodiments discussed above were described as being contained within or collocated with a particular MGA, the processing and storage functionality associated with these components could be provided by remotely located devices, systems or other assets, linked to the MGA via a public or private network. All of the above variations and reasonable extensions therefrom could be implemented and practiced without departing from the spirit and scope of the present invention as defined by the appended claims.
This application claims the benefit of U.S. Provisional Patent Application No. 63/129,809, filed Dec. 23, 2020, which is incorporated by reference herein in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
20060136764 | Munguia | Jun 2006 | A1 |
20090276600 | Wallman | Nov 2009 | A1 |
20130067381 | Yalovsky | Mar 2013 | A1 |
20150095521 | Hackborn et al. | Apr 2015 | A1 |
20150113579 | Baek | Apr 2015 | A1 |
20170048341 | Karakotsios et al. | Feb 2017 | A1 |
20170329690 | Cudak | Nov 2017 | A1 |
20220197772 | Balasubramanian | Jun 2022 | A1 |
Entry |
---|
International Search Report and Written Opinion for Application No. PCT/US2021/057569 dated Jan. 31, 2022 (7 pages). |
Number | Date | Country | |
---|---|---|---|
20220197772 A1 | Jun 2022 | US |
Number | Date | Country | |
---|---|---|---|
63129809 | Dec 2020 | US |