US20130293573A1 - Method and Apparatus for Displaying Active Operating System Environment Data with a Plurality of Concurrent Operating System Environments - Google Patents
Method and Apparatus for Displaying Active Operating System Environment Data with a Plurality of Concurrent Operating System Environments Download PDFInfo
- Publication number
- US20130293573A1 US20130293573A1 US13/462,529 US201213462529A US2013293573A1 US 20130293573 A1 US20130293573 A1 US 20130293573A1 US 201213462529 A US201213462529 A US 201213462529A US 2013293573 A1 US2013293573 A1 US 2013293573A1
- Authority
- US
- United States
- Prior art keywords
- operating system
- display data
- system environment
- live wallpaper
- environment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display of multiple viewports
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/12—Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
Definitions
- the present disclosure relates generally to operating systems and operating system environments.
- FIG. 1 is a block diagram of a mobile device display with a display image having live or active image content associated with a first operating system environment.
- FIG. 2 is block diagram of a display having a combined image where the display data of a first operating system is displayed as active or live wallpaper, and display data of a second operating system is shown hovering above, or overlaying, the live wallpaper, in accordance with the embodiments.
- FIG. 3 is diagram of an apparatus with a plurality of operating system environments, a single kernel and multi-environment display data handling logic in accordance with an embodiment.
- FIG. 4 is flow chart illustrating high level operation of the embodiments.
- FIG. 5 is a flow chart illustrating details of one embodiment.
- FIG. 6 is a flow chart illustrating position input handling on the combined image display, while maintaining the live wallpaper, in accordance with various embodiments.
- FIG. 7 is a flow chart illustrating further details of operation in accordance with various embodiments.
- the various embodiments disclosed provide an enhanced user experience when using multiple operating system environments having a common kernel.
- the embodiments combine the graphical display data from one operating system environment with the graphical display data from at least a second operating system environment to create a combined graphical display.
- a mobile device home screen of a first operating system environment is displayed as active or live wallpaper
- display data from a second operating system environment is handled as overlay data that hovers above the live wallpaper.
- the active or live state of the live wallpaper objects is preserved.
- the live wallpaper is maintained, which results in a smoother and more consistent user experience in working with the two operating system environments
- the disclosed embodiments provide a method that includes generating live wallpaper display data associated with a first operating system environment; and generating overlay display data associated with a second operating system environment.
- the overlay display data is overlaid on the live wallpaper of the first operating system environment to create a combined display image.
- Both operating system environments of the method utilize a common kernel.
- the method may include generating at least one active application window as a portion of the live wallpaper display data.
- the at least one active application window is a window image object associated with an application of the first operating system environment.
- the method may also include generating a plurality of widget windows as a portion of the live wallpaper display data.
- the widget windows are widget image objects associated with the first operating system environment.
- the method will then generate at least one active application window from the second operating system environment, as a portion of the overlay display data.
- the user may interact with the combined display as a graphical user interface.
- the method obtains position input corresponding to positional movement of the at least one active application window, generates real time overlay display data updates corresponding to the positional movement, and maintains any active widget portions of the live wallpaper in an active state, even if covered over by the overlay display data.
- the active or live background that is, the live wallpaper, remains active even when the second operating system environment is in use.
- the method may employ, for example, the AndroidTM operating system as the first operating system that generates the live wallpaper, and a Linux® based operating system environment as the second operating system environment.
- the AndroidTM operating system as the first operating system that generates the live wallpaper
- a Linux® based operating system environment as the second operating system environment.
- any of various operating system environments may be used in accordance with the embodiments, such as, but not limited to, AndroidTM, Linux®, Ubuntu®, etc.
- the method may also include displaying, on a display, the live wallpaper display data.
- the overlay display data of the second operating system environment may include at least one application window overlaying the live wallpaper and covering a portion of the live wallpaper.
- the embodiments disclosed include an apparatus that performs the above outlined method.
- the apparatus includes multi-environment display data handling logic, operative to generate live wallpaper display data associated with a first operating system environment.
- the multi-environment display data handling logic generates overlay display data associated with a second operating system environment, which is then overlaid on the live wallpaper of the first operating system environment.
- the multi-environment display data handling logic is also operative to generate at least one active application window, associated with the first operating system environment, as a portion of the live wallpaper display data.
- the multi-environment display data handling logic is operative to generate a plurality of widget windows as a portion of the live wallpaper display data, and generate at least one active application window as a portion of the overlay display data.
- the at least one active application window may associated with the second operating system environment, and the plurality of widget windows may be associated with the first operating system environment.
- the multi-environment display data handling logic is operative to obtain position input corresponding to positional movement of the at least one active application window, generate real time overlay display data updates corresponding to the positional movement, and maintain any active widget portions of the live wallpaper in an active state, even if covered over by the overlay display data.
- the apparatus may include a display, operatively coupled to the multi-environment display data handling logic.
- the display is operative to display the live wallpaper display data, and the overlay display data.
- Another disclosed embodiment is a computer readable, non-volatile, non-transitory memory that stores executable instructions for execution on at least one processor.
- the instructions when executed, cause the at least one processor to generate live wallpaper display data associated with a first operating system environment, and generate overlay display data associated with a second operating system environment, with both operating system environments utilizing a common kernel.
- the instructions may also cause the at least one processor to overlay the overlay display data on the live wallpaper of the first operating system environment to create a combined display image.
- FIG. 1 illustrates a mobile device 101 , which includes an integrated display 103 .
- the integrated display 103 displays live wallpaper 105 , which is a display background image shown as a dotted line around the perimeter of the display 103 .
- the mobile device 101 may also be capable of displaying various home screens that provide for organization of application icons 107 .
- the home screens may allow the user to launch an application within the perimeter of the home screen, by, for example, clicking a mouse cursor or by using a touch screen, to provide selection input to select and activate a desired application icon. Additionally, scrolling to another home screen may also allow scrolling between such launched applications.
- the live wallpaper 105 is associated with a first operating system environment, and may provide active image content.
- a widget 109 may provide real time information to the user.
- One example of a widget 109 is a clock widget which provides the time.
- the home screens, and/or visual image objects such as the icon 107 objects or widget 109 objects present in a home screen may be moved about using a graphical user interface (GUI), that may include touch screen functionality, a track ball, or any other suitable user interface for selecting and moving image objects.
- GUI graphical user interface
- the background image which is the live wallpaper 105 , remains active during any user interactions.
- the live wallpaper 105 may be viewed as a representation of the associated first operating system environment, which may be a Linux® based operating system environment such as, but not limited to, AndroidTM, Ubuntu®, etc.
- the mobile device 101 may interact with another display 201 , which may be a larger display, as shown in FIG. 2 .
- the larger display 201 may provide an enhanced user experience by allowing the user of mobile device 101 to have better a better view of various applications, etc.
- the larger display 201 may display various icons 211 , widgets 207 , 209 , application windows 213 , 215 , and a toolbar 205 .
- the display image may include a background image, referred to herein as live wallpaper 203 .
- the live wallpaper 203 is associated with a first operating system environment of mobile device 101 .
- some of the image objects displayed on (or hovering over) the live wallpaper 203 may be associated with a second, third, etc., operating system environment.
- the mobile device 101 may use one or more operating system environments together, or launch additional operating system environments as needed. Therefore, the display 201 may display a combined image providing information from one or more operating system environments.
- the live wallpaper 203 , icons 211 , and widgets 207 , 209 are associated with a first operating system environment of the mobile device 101 .
- the toolbar 205 and application window 213 and 215 are associated with a second operating system environment.
- the application windows 213 and 215 are overlaid on, or in other words, hover over, the live wallpaper 203 of the first operating system environment.
- display refers to a device that displays “display data” to form an image or images, such as, but not limited to, a picture, a computer desktop, a gaming background, a video, an application window etc.
- Examples of a display include a television, computer monitor, etc., or an integrated display as found in electronic devices such as a laptop computer, handheld computing device, mobile telephone, PDA, etc.
- the display device may employ any appropriate display technology, such as for example, a CRT, LCD flat panel, LED flat panel, plasma screen, etc.
- image refers generally to what is “displayed” on a display. That is, an image, including a “screen,” “home screen,” and/or “workspace” may be displayed on a display. Examples of images include, but are not limited to, a computer desktop (i.e. a background), a gaming background, a video, an application window, an icon, a widget, etc., including also the active or live wallpaper described herein.
- image may refer to a background, or may refer individually, or collectively, to elements or objects in the foreground, of hovering over, a background image such as the live wallpaper.
- display data is used interchangeably herein with the term “image data” and refers to the information (data, or digital information) that the display interprets and/or decodes to show (i.e. to display) the user an image such as a workspace or home screen, as well as any associated elements or objects in the foreground of home screens or workspaces, or the live wallpaper, etc.
- FIG. 2 illustrates some of the various advantages of the herein disclosed embodiments.
- the display 201 displays a combined image that includes display data from a first operating system environment and a second operating system environment.
- a live wallpaper 203 is displayed that represents the first operating system environment and is active or “live,” in that, real time operating system information may be provided.
- an active or live widget 207 associated with the first operating system environment may provide real time information to the user.
- An example of an active or live widget is a clock application that provides the time.
- an application window 213 associated with a second operating system environment may be positioned, and/or moved by the user on and about the live wallpaper 203 .
- FIG. 2 illustrates some of the various advantages of the herein disclosed embodiments.
- the display 201 displays a combined image that includes display data from a first operating system environment and a second operating system environment.
- a live wallpaper 203 is displayed that represents the first operating system environment and is active or “live,” in that, real time operating system information may be provided.
- the application window 213 is shown hovering above a live widget 207 as well as various other widgets 209 that are associated with the first operating system environment.
- the live widget 207 and any of the other widgets 209 that are active or “live,” would remain in an active state, even if covered over by images associated with the second operating system. That is, the live widget 207 will remain active even though the application window 213 is in “focus,” i.e. is active and being used, and partially (or completely) covers over the widget 207 image as shown in FIG. 2 .
- the first operating system environment as represented by the live wallpaper 203
- the second operating system environment may be interacted with through windows such as application windows 213 and 215 . These windows are resizable by the user as illustrated by window 213 which is expanded versus window 215 which is shown reduced in size, on the display.
- the mobile device 101 first operating system environment may provide various “home screens” that enable the user to organize application icons 107 and widgets 109 .
- various icons and widgets may be distributed between various home screens.
- the live wallpaper 105 as shown in FIG. 1 may include home screen objects (i.e. icons 107 and widget 109 ), that are associated with one of several home screens.
- the combined image displayed on display 201 will include all icons, widgets, etc., from all of the home screens.
- icons 211 and widgets 207 , 209 are shown collectively on the combined image displayed on display 201 .
- the icons 211 and widgets 207 , 209 would be distributed according to their corresponding home screens as configured by the mobile device 101 user.
- the home screens of the first operating system environment may be mapped to workspaces of the second operating system environment.
- the live wallpaper 203 as illustrated generally by the dotted line within the perimeter of the display 201 , may show a home screen of the first operating system environment.
- the icons 211 and widgets 207 , 209 that the user associated with the displayed home screen would be displayed.
- the windows 213 and 215 may be associated with a workspace of the second operating system, and that workspace may be mapped with the given home screen. In this case, only windows for the given workspace would be shown, along with image objects for the mapped home screen. That is, the combined display may show only those image objects which the user associated with the mapped workspace/home screen.
- the user may switch (i.e. toggle), or scroll, away from one workspace/home screen, and back again to, for example, the workspace/home screen of the combined image shown in FIG. 2 .
- the live wallpaper 203 remains active.
- active widgets such as widget 207 remain fixed to the live wallpaper 203 .
- the workspace/home screens may be viewed as hovering above the live wallpaper 203 and any fixed active widgets.
- user experience is enhanced because user access to icons and widgets of the first operating system environment is simplified when utilizing multiple operating system environments.
- FIG. 3 illustrates a block diagram of an apparatus 300 in accordance with various embodiments.
- the apparatus 300 may include a mobile device 301 operatively connected via a communication bus 329 to a peripheral device 327 that may include a display 325 .
- the mobile device 301 includes programmable processor 303 (i.e. a CPU) and graphics processing unit (GPU) 315 , which are operatively coupled via a communication bus 313 .
- the communication bus 313 may run throughout the mobile device 301 , providing operative coupling to the various components and circuitry contained within the mobile device 301 .
- device components, circuitry, and the like may be operatively coupled via the communication bus 313 .
- various intervening device components, circuitry, and the like may exist in between, and/or along, the communication path between any two or more operatively coupled components.
- the programmable processor 303 is operatively coupled by the communication bus 313 to memory 311 and to a user interface (UI) 323 .
- the memory 311 is in turn operatively coupled, via the communication bus 313 , to hardware 319 that drives an integrated display 321 .
- the integrated display 321 is operatively coupled to hardware 319 via the same communication bus 313 .
- the display 321 serves as a graphical user interface (GUI) of the mobile device 301 . Therefore, the display 321 also interfaces with, and is operatively coupled to, the programmable processor 303 via the communication bus 313 as part of the UI 323 .
- the UI 323 may include a track ball mouse, touch sensitive elements, physical switches, gyroscopic position sensors, etc.
- the display 321 may provide a touchscreen functionality that is also therefore operatively coupled, via the communication bus 313 , to the user interface 323 . That is, the display 321 may provide a graphical user interface with touchscreen capability in addition to cursor control click to provide selection input and/or drag and drop input functionality.
- the programmable processor 303 may run various operating system environments 307 , such as operating system environment 1 , operating system 2 environment, and so on through an N-th operating system environment. In other words, the programmable processor 303 is operative to run one or more of the various operating system environments 307 , concurrently.
- the plurality of operating system environments 307 are each completely autonomous and can exist and function independently from one another.
- One or more of the operating system environments may be run concurrently, and each operating system environment utilizes a common kernel 305 .
- each one of the operating system environments is completely autonomous and may exist and function completely independently, without any of the other operating system environments being executed.
- the operating system environments provide “environments,” in that, for example, all necessary libraries, toolkits, windowing, etc., is present within the environment to enable an application associated with the operating system environment to function.
- the common kernel 305 provides fundamental interaction at the hardware level of mobile device 301 .
- the common kernel 305 may provide required operating system tasks such as program loading, system resource allocation, handling device input and output, and some memory management functions.
- the common kernel 305 may be created as an object-oriented design that can interface, and enable communication with, programming objects within the various operating system environments 307 .
- the mobile device 301 may be connected to the peripheral device 327 by way of a docking port that provides the communication bus 329 .
- the mobile device 301 display data may be shown on display 325 which may be larger in dimensions than the integrated display 321 .
- the apparatus 300 includes multi-environment display data handling logic 309 .
- the multi-environment display data handling logic 309 may be contained within one or more of the various operating system environments 307 . However, for the example embodiment illustrated in FIG. 3 , the first operating system environment is shown as including the multi-environment display data handling logic 309 .
- the multi-environment display data handling logic 309 may also exist independently from any of the operating system environments in some embodiments.
- the multi-environment display data handling logic 309 is operatively coupled to the memory 311 and also to the GPU 315 via communication path 317 which may be implemented over the internal communication bus 313 .
- the communication path 317 is a schematic representation of a communication path between the multi-environment display handling logic 309 and the memory 311 and GPU 315 , and may be implemented via any suitable communication pathway. That is, it is to be understood that the operating system environment that includes the multi-environment display data handling logic 309 achieves the objectives of the embodiments by communicating with the GPU 315 and memory 311 via the communication bus 313 .
- the multi-environment display data handling logic 309 combines display data from at least a first operating system environment and a second operating system environment.
- the multi-environment display data handling logic 309 generates live wallpaper image data corresponding to the first operating system environment (i.e. op system 1 environment in FIG.
- the multi-environment display data handling logic 309 may also combine into a workspace of the second operating system environment, display data associated with a corresponding home screen of the first operating system environment, to achieve the combined display.
- the term “logic” as used herein may include software and/or firmware executing on one or more programmable processors (including CPUs and/or GPUs), and may also include ASICs, DSPs, hardwired circuitry (logic circuitry), or combinations thereof.
- the multi-environment display data handling logic 309 may be executable instructions stored in memory 311 , which is a non-volatile, non-transitory memory.
- the operating system environments 307 , and the kernel 305 may also consist of executable instructions that are executed by the programmable processor 303 , and that are stored in memory 311 for access by the programmable processor 303 as necessary.
- the multi-environment display data handling logic 309 may be object oriented software or firmware that is executed by processor 303 only when more than one operating system environment is executed by the processor 303 .
- FIG. 3 illustrates the operating system environments, kernel 305 and multi-environment display data handling logic 309 as executed by the programmable processor 303 , which is located on the mobile device 301
- this functionality may also be, partially or collectively, alternatively located within the peripheral device 327 .
- the peripheral device 327 or the mobile device 301 may contain some of, all of, or various components of, the logic and other functionality described with respect to FIG. 3 and would still remain in accordance with the embodiments herein disclosed.
- an apparatus in accordance with the embodiments may be the apparatus 300 , or may be the mobile device 301 individually, or the peripheral device 327 individually.
- the apparatus 300 may include the peripheral device 327 which may further have a docking station, such that the mobile device 301 may be docked within the peripheral device 327 and obtain the benefit of the larger display 325 as well as other possible peripherals.
- a docking station such that the mobile device 301 may be docked within the peripheral device 327 and obtain the benefit of the larger display 325 as well as other possible peripherals.
- One example of such an apparatus is the Motorola Lapdock® product.
- FIG. 3 is an example diagram and is not to be construed as a complete schematic diagram of a particular implementation of either a mobile device or the peripheral device.
- FIG. 3 provides an example only and for the purpose of describing to those of ordinary skill how to make and use the various embodiments. Therefore FIG. 3 is limited to showing only those components necessary to describe the features and advantages of the various embodiments to those of ordinary skill. It is to be understood that various other components, circuitry, and devices may be necessary in order to implement a complete functional apparatus and that those various other components, circuitry, devices, etc., are understood to be present by those of ordinary skill.
- the multi-environment display data handling logic 309 may also map home screens of the first operating system environment to workspaces of the second operating system environment to obtain the combined image, which may be displayed on display 321 , or on the larger display 325 of the peripheral device 327 .
- the first operating system environment may be an AndroidTM operating system environment that provides various home screens.
- the second operating system environment maybe a Linux® based operating system environment that includes workspaces.
- the multi-environment display data handling logic 309 may, in this case, create a mapping between the home screens of the first operating system environment and the workspaces of the second operating system environment to create the combined image.
- the mapped home screen/workspaces are handled as overlay display data, that overlays the live wallpaper 203 .
- some portions of the home screen display data may be fixed to the live wallpaper 203 .
- a live widget 209 which may provide real time data, may be fixed to the live wallpaper 203 .
- various mapped home screen/workspaces may hover above the live wallpaper 203 and any fixed live widgets that are fixed in place on the live wallpaper 203 .
- the overlay display data may be handled similar to display data for overlaid windows (i.e. cascading windows), where windows may be arranged in a manner in which they overlap one another.
- the multi-environment display data handling logic 309 may handle the display data for the live wallpaper as real time data, along with display data from other operating system environments.
- the multi-environment display data handling logic 309 may handle display data from any of the operating system environments 307 , and send data to shared memory space of memory 311 , to the GPU 315 , or combinations of both as appropriate. For example, in one embodiment the multi-environment display data handling logic 309 may determine which of the first display data or the second display data should be transparent and which should be opaque, etc., and accordingly provide the configured combined display data to a shared memory space contained within memory 311 . In some instances, the first (or other) operating system environment may be called upon to perform graphically intensive application activity such as for example displaying video. In those instances, the multi-environment display data handling logic 309 may pass first display data and/or second display data to the GPU 315 to more efficiently handle video data processing.
- the multi-environment display data handling logic 309 makes decisions related to the first display data and second display data, from the corresponding first operating system environment and second operating system environment (or N-th display data from the N-th operating system environment), and acts accordingly to utilize either shared memory space of the memory 311 , or interact with the GPU 315 to achieve the combined image.
- the second display data associated with the second operating system environment may be handled as overlay data with respect to the first display data associated with the first operating system environment which corresponds to the live wallpaper 203 .
- the multi-environment display data handling logic 309 may also handle graphics information in various formats. For example, GDK (GIMP Drawing Kit) information may be used by one or more operating system environments, while JAVA graphics objects may be used by others.
- the multi-environment display data handling logic 309 utilizes shared memory space of memory 311 to handle various graphics objects, and/or other such display data, accordingly, by for example, changing or adjusting object properties.
- the live widget 207 which may be an image object that provides real time information.
- image object state information is preserved, such that the real time information is accordingly shown on the live wallpaper 203 .
- the image object 207 may be a widget associated with the first operating system environment that provides real time information.
- An example of such a widget is a clock application that shows current time.
- the clock widget would remain active, even while the user interacts with another visual image object, such as window 213 , associated with the second operating system environment.
- the image object, window 213 may partially, or completely, obscure the widget 207 from view.
- the widget 207 nevertheless remains in an active state, that is, live, in conjunction with the live wallpaper 203 .
- the use may also switch to a new workspace or home screen, (i.e. a mapped workspace/home screen in some embodiments).
- a new workspace or home screen i.e. a mapped workspace/home screen in some embodiments.
- the clock widget would have remained in operation and be shown in its current state (i.e. showing the current time).
- the widget 207 may also remain fixed in position on the live wallpaper 203 such that it does not move with the workspace/home screens.
- FIG. 4 and FIG. 5 are flowcharts illustrating high level operation of the various embodiments.
- the programmable processor may generate live wallpaper display data associated with a first operating system.
- overlay display data associated with a second operating system environment is generated for overlay onto the live wallpaper.
- at least one active application window or widget associated with the first operating system environment may be generated, as a portion of the live wallpaper display data.
- at least one application window associated with the second operating system environment may be generated as a portion of the overlay display data.
- FIG. 6 illustrates high level operation of handling of GUI input with respect to the live wallpaper and overlay data.
- position input corresponding to positional movement of an active application window of the second operating system environment is obtained. This operation may be performed by the multi-environment display data handling logic 309 in some embodiments. The operation may be performed in conjunction with the kernel 305 .
- real time overlay display data updates are generated that correspond to the positional movement. In other words, the users can click and drag an image object across the combined image and see the object movement.
- any active widget portions of the live wallpaper are maintained in an active or live state, even if covered over partially or completely by the overlay display data.
- FIG. 7 provides further details of methods of operation in accordance with the embodiments.
- the method of operation begins in block 700 .
- display data from a first operating system environment is obtained, and live wallpaper display data is generated accordingly, as shown in 703 .
- This operation may be performed by the multi-environment display data handling logic 309 in some embodiments.
- the multi-environment display data handling logic 309 is implemented as executable instructions, and therefore the operations may also be considered as being performed by a programmable processor, such as, for example, processor 303 shown in FIG. 3 .
- display data is obtained from the second operating system environment, for example, from workspaces.
- the multi-environment display data handling logic 309 determines the overlay display data and corresponding transparency portions and accordingly accesses shared memory space, or the GPU, in 709 .
- the display data is then send to the display hardware as shown in 711 .
- the user may then interact with the displayed image as a GUI as illustrated by blocks 713 through 719 . That is, user input is detected in 713 and the input event is handled in 715 .
- This operation may involve the common kernel 305 , and also the multi-environment display data handling logic 309 .
- Input associated with the first operating system environment is handled as shown in 719
- input associated with the second operating system environment is handled as shown in 717 .
- Display data updates are handled accordingly in blocks 701 and 705 , for the first and second operating system environments, respectively.
- the user experience is enhanced when accessing application data or other data using one or more operating system environments.
- the various embodiments are not limited to only two operating system environments and can incorporate many operating system environments as illustrated by the plurality of operating system environments 307 shown in FIG. 3 . Therefore the multi-environment display handling logic 309 , in accordance with the embodiments, may handle display data from any number of operating system environments, where the operating system environments all utilize the common kernel 305 .
- the icons 211 shown on the combined image may be associated with a single operating system environment, or maybe related to various operating system environments.
- the visual image objects such as application window 213 , and the window 215 , may be associated with any of a number of operating system environments in accordance with various embodiments herein disclosed.
- the first operating system environment will correspond to the live wallpaper 203 , with any other operating system environments in use being displayed as overlay data, such as window 213 which hovers above the live wallpaper.
- the various embodiments also include computer readable memory that may contain executable instructions, for execution by at least one processor, that when executed, cause the at least one processor to operate in accordance with the multi-environment display handling logic 309 functionality herein described.
- the computer readable memory may be any suitable non-volatile, non-transitory, memory such as, but not limited to, programmable chips such as EEPROMS, flash ROM (thumb drives), compact discs (CDs) digital video disks (DVDs), etc., that may be used to load executable instructions or program code to other processing devices or electronic devices such as those that may benefit from the features of the herein described embodiments.
- the executable instructions may also include the various operating system environments and the common kernel.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
- The present disclosure is related to copending U.S. patent application Ser. No. ______, Attorney Docket No. CS39606, “METHOD AND APPARATUS FOR DISPLAYING DATA FROM A PLURALITY OF CONCURRENT OPERATING SYSTEM ENVIRONMENTS,” and U.S. patent application Ser. No. ______, Attorney Docket No. CS39608, “METHOD AND APPARATUS FOR PROVIDING CONTEXTUAL INFORMATION BETWEEN OPERATING SYSTEM ENVIRONMENTS,” both of which are assigned to the same assignee as the present application, and both of which are hereby incorporated by reference herein.
- The present disclosure relates generally to operating systems and operating system environments.
- Various operating systems provide features and applications that are often specific to the given operating system. For this reason, it has become useful for computing devices, including handheld mobile devices, to be capable of running more than one operating system environment. By running more than one operating system environment on a device, users are able to access the features and applications associated with each of the operating system environments, thereby enhancing the capabilities and functions of the device.
- In the past, virtualization techniques have been used to accomplish running multiple operating system environments; however such approaches require emulation of an entire machine which is resource intensive. Systems have now been developed that enable actual running of multiple operating system environments without the need for such resource intensive machine emulation. Such systems utilize a common kernel where the operating system environments may be considered middleware, in that, some services related to the various applications may be supported within the confines of the environment. Therefore, in these systems, the operating system environments co-exist independently, and do not require virtualization as in the past. Devices supporting these multiple environments therefore enable users to access and enjoy the features of the operating systems and their associated data such as applications.
- Nevertheless, some demarcation between the operating system environments must exist for the purpose of presentation to the device user. The environments usually provide their own unique approach to how associated data is displayed by the operating system. In some cases, the user may be compelled to switch display views in order to work with one or another operating system environment. Being forced to switch views in this manner negatively impacts user experience because the work or operating contexts in which the user was engaged can be lost or muddled among the various views. Furthermore, any given operating system environment will not understand, and therefore will be incapable of interpreting, data associated with a different operating system environment and any associated data or working context.
-
FIG. 1 is a block diagram of a mobile device display with a display image having live or active image content associated with a first operating system environment. -
FIG. 2 is block diagram of a display having a combined image where the display data of a first operating system is displayed as active or live wallpaper, and display data of a second operating system is shown hovering above, or overlaying, the live wallpaper, in accordance with the embodiments. -
FIG. 3 is diagram of an apparatus with a plurality of operating system environments, a single kernel and multi-environment display data handling logic in accordance with an embodiment. -
FIG. 4 is flow chart illustrating high level operation of the embodiments. -
FIG. 5 is a flow chart illustrating details of one embodiment. -
FIG. 6 is a flow chart illustrating position input handling on the combined image display, while maintaining the live wallpaper, in accordance with various embodiments. -
FIG. 7 is a flow chart illustrating further details of operation in accordance with various embodiments. - The various embodiments disclosed provide an enhanced user experience when using multiple operating system environments having a common kernel. The embodiments combine the graphical display data from one operating system environment with the graphical display data from at least a second operating system environment to create a combined graphical display. For example, in one embodiment, a mobile device home screen of a first operating system environment is displayed as active or live wallpaper, and display data from a second operating system environment is handled as overlay data that hovers above the live wallpaper. In this example, when the user moves image objects of the second operating system environment over live wallpaper objects, the active or live state of the live wallpaper objects is preserved. Also, if the user switches between workspaces, the live wallpaper is maintained, which results in a smoother and more consistent user experience in working with the two operating system environments
- The disclosed embodiments provide a method that includes generating live wallpaper display data associated with a first operating system environment; and generating overlay display data associated with a second operating system environment. The overlay display data is overlaid on the live wallpaper of the first operating system environment to create a combined display image. Both operating system environments of the method utilize a common kernel. The method may include generating at least one active application window as a portion of the live wallpaper display data. The at least one active application window is a window image object associated with an application of the first operating system environment.
- The method may also include generating a plurality of widget windows as a portion of the live wallpaper display data. The widget windows are widget image objects associated with the first operating system environment. The method will then generate at least one active application window from the second operating system environment, as a portion of the overlay display data.
- The user may interact with the combined display as a graphical user interface. For example, the method obtains position input corresponding to positional movement of the at least one active application window, generates real time overlay display data updates corresponding to the positional movement, and maintains any active widget portions of the live wallpaper in an active state, even if covered over by the overlay display data. In other words, the active or live background, that is, the live wallpaper, remains active even when the second operating system environment is in use.
- The method may employ, for example, the Android™ operating system as the first operating system that generates the live wallpaper, and a Linux® based operating system environment as the second operating system environment. However, any of various operating system environments may be used in accordance with the embodiments, such as, but not limited to, Android™, Linux®, Ubuntu®, etc.
- The method may also include displaying, on a display, the live wallpaper display data. Accordingly, the overlay display data of the second operating system environment may include at least one application window overlaying the live wallpaper and covering a portion of the live wallpaper.
- The embodiments disclosed include an apparatus that performs the above outlined method. The apparatus includes multi-environment display data handling logic, operative to generate live wallpaper display data associated with a first operating system environment. The multi-environment display data handling logic generates overlay display data associated with a second operating system environment, which is then overlaid on the live wallpaper of the first operating system environment.
- The multi-environment display data handling logic is also operative to generate at least one active application window, associated with the first operating system environment, as a portion of the live wallpaper display data. For example, the multi-environment display data handling logic is operative to generate a plurality of widget windows as a portion of the live wallpaper display data, and generate at least one active application window as a portion of the overlay display data. The at least one active application window may associated with the second operating system environment, and the plurality of widget windows may be associated with the first operating system environment.
- The multi-environment display data handling logic is operative to obtain position input corresponding to positional movement of the at least one active application window, generate real time overlay display data updates corresponding to the positional movement, and maintain any active widget portions of the live wallpaper in an active state, even if covered over by the overlay display data.
- The apparatus may include a display, operatively coupled to the multi-environment display data handling logic. The display is operative to display the live wallpaper display data, and the overlay display data.
- Another disclosed embodiment is a computer readable, non-volatile, non-transitory memory that stores executable instructions for execution on at least one processor. The instructions, when executed, cause the at least one processor to generate live wallpaper display data associated with a first operating system environment, and generate overlay display data associated with a second operating system environment, with both operating system environments utilizing a common kernel. The instructions may also cause the at least one processor to overlay the overlay display data on the live wallpaper of the first operating system environment to create a combined display image.
- Turning now to the drawings wherein like numerals represent like components,
FIG. 1 illustrates amobile device 101, which includes anintegrated display 103. Theintegrated display 103, displays live wallpaper 105, which is a display background image shown as a dotted line around the perimeter of thedisplay 103. Themobile device 101 may also be capable of displaying various home screens that provide for organization ofapplication icons 107. The home screens may allow the user to launch an application within the perimeter of the home screen, by, for example, clicking a mouse cursor or by using a touch screen, to provide selection input to select and activate a desired application icon. Additionally, scrolling to another home screen may also allow scrolling between such launched applications. In any case, the live wallpaper 105, is associated with a first operating system environment, and may provide active image content. For example, awidget 109 may provide real time information to the user. One example of awidget 109 is a clock widget which provides the time. The home screens, and/or visual image objects such as theicon 107 objects orwidget 109 objects present in a home screen, may be moved about using a graphical user interface (GUI), that may include touch screen functionality, a track ball, or any other suitable user interface for selecting and moving image objects. The background image, which is the live wallpaper 105, remains active during any user interactions. In other words, the live wallpaper 105 may be viewed as a representation of the associated first operating system environment, which may be a Linux® based operating system environment such as, but not limited to, Android™, Ubuntu®, etc. - In accordance with some embodiments, the
mobile device 101 may interact with anotherdisplay 201, which may be a larger display, as shown inFIG. 2 . Thelarger display 201 may provide an enhanced user experience by allowing the user ofmobile device 101 to have better a better view of various applications, etc. For example, thelarger display 201 may displayvarious icons 211, 207, 209,widgets 213, 215, and aapplication windows toolbar 205. In accordance with the embodiments, the display image may include a background image, referred to herein aslive wallpaper 203. Thelive wallpaper 203 is associated with a first operating system environment ofmobile device 101. In accordance with the embodiments, some of the image objects displayed on (or hovering over) thelive wallpaper 203, may be associated with a second, third, etc., operating system environment. Themobile device 101 may use one or more operating system environments together, or launch additional operating system environments as needed. Therefore, thedisplay 201 may display a combined image providing information from one or more operating system environments. In the example ofFIG. 2 , thelive wallpaper 203,icons 211, and 207, 209, are associated with a first operating system environment of thewidgets mobile device 101. Thetoolbar 205 and 213 and 215, are associated with a second operating system environment. In accordance with the embodiment ofapplication window FIG. 2 , the 213 and 215 are overlaid on, or in other words, hover over, theapplication windows live wallpaper 203 of the first operating system environment. - The term “display” as used herein refers to a device that displays “display data” to form an image or images, such as, but not limited to, a picture, a computer desktop, a gaming background, a video, an application window etc. Examples of a display include a television, computer monitor, etc., or an integrated display as found in electronic devices such as a laptop computer, handheld computing device, mobile telephone, PDA, etc. The display device may employ any appropriate display technology, such as for example, a CRT, LCD flat panel, LED flat panel, plasma screen, etc.
- The terms “screen,” “home screen,” and “workspace” are used interchangeably in reference to an “image” which refers generally to what is “displayed” on a display. That is, an image, including a “screen,” “home screen,” and/or “workspace” may be displayed on a display. Examples of images include, but are not limited to, a computer desktop (i.e. a background), a gaming background, a video, an application window, an icon, a widget, etc., including also the active or live wallpaper described herein. In other words, the term “image” may refer to a background, or may refer individually, or collectively, to elements or objects in the foreground, of hovering over, a background image such as the live wallpaper. The term “display data” is used interchangeably herein with the term “image data” and refers to the information (data, or digital information) that the display interprets and/or decodes to show (i.e. to display) the user an image such as a workspace or home screen, as well as any associated elements or objects in the foreground of home screens or workspaces, or the live wallpaper, etc.
-
FIG. 2 illustrates some of the various advantages of the herein disclosed embodiments. In the example ofFIG. 2 , thedisplay 201 displays a combined image that includes display data from a first operating system environment and a second operating system environment. Alive wallpaper 203 is displayed that represents the first operating system environment and is active or “live,” in that, real time operating system information may be provided. In one example, an active orlive widget 207, associated with the first operating system environment may provide real time information to the user. An example of an active or live widget is a clock application that provides the time. As shown inFIG. 2 , anapplication window 213 associated with a second operating system environment may be positioned, and/or moved by the user on and about thelive wallpaper 203. In the example ofFIG. 2 , theapplication window 213 is shown hovering above alive widget 207 as well as variousother widgets 209 that are associated with the first operating system environment. In accordance with the embodiments, thelive widget 207 and any of theother widgets 209 that are active or “live,” would remain in an active state, even if covered over by images associated with the second operating system. That is, thelive widget 207 will remain active even though theapplication window 213 is in “focus,” i.e. is active and being used, and partially (or completely) covers over thewidget 207 image as shown inFIG. 2 . Put another way, the first operating system environment, as represented by thelive wallpaper 203, is always running behind the second (or any other) operating system environment. The second operating system environment may be interacted with through windows such as 213 and 215. These windows are resizable by the user as illustrated byapplication windows window 213 which is expanded versuswindow 215 which is shown reduced in size, on the display. - As mentioned briefly above, the
mobile device 101 first operating system environment may provide various “home screens” that enable the user to organizeapplication icons 107 andwidgets 109. In other words, various icons and widgets may be distributed between various home screens. The live wallpaper 105 as shown inFIG. 1 , may include home screen objects (i.e.icons 107 and widget 109), that are associated with one of several home screens. In one embodiment, the combined image displayed ondisplay 201, will include all icons, widgets, etc., from all of the home screens. For example,icons 211 and 207, 209 are shown collectively on the combined image displayed onwidgets display 201. However, if displayed on theintegrated display 103 of themobile device 101, theicons 211 and 207, 209 would be distributed according to their corresponding home screens as configured by thewidgets mobile device 101 user. - In another embodiment, the home screens of the first operating system environment may be mapped to workspaces of the second operating system environment. In this example, the
live wallpaper 203, as illustrated generally by the dotted line within the perimeter of thedisplay 201, may show a home screen of the first operating system environment. In this example, only theicons 211 and 207, 209 that the user associated with the displayed home screen would be displayed. Likewise, thewidgets 213 and 215 may be associated with a workspace of the second operating system, and that workspace may be mapped with the given home screen. In this case, only windows for the given workspace would be shown, along with image objects for the mapped home screen. That is, the combined display may show only those image objects which the user associated with the mapped workspace/home screen. The user may switch (i.e. toggle), or scroll, away from one workspace/home screen, and back again to, for example, the workspace/home screen of the combined image shown inwindows FIG. 2 . However, in any of these examples, thelive wallpaper 203 remains active. In another embodiment, active widgets, such aswidget 207 remain fixed to thelive wallpaper 203. In this case, the workspace/home screens may be viewed as hovering above thelive wallpaper 203 and any fixed active widgets. - Among the advantages of the embodiment illustrated by
FIG. 2 , user experience is enhanced because user access to icons and widgets of the first operating system environment is simplified when utilizing multiple operating system environments. - Further details of the various embodiments are best understood with reference to
FIG. 3 .FIG. 3 illustrates a block diagram of anapparatus 300 in accordance with various embodiments. For example, theapparatus 300 may include amobile device 301 operatively connected via acommunication bus 329 to aperipheral device 327 that may include adisplay 325. Themobile device 301 includes programmable processor 303 (i.e. a CPU) and graphics processing unit (GPU) 315, which are operatively coupled via acommunication bus 313. Thecommunication bus 313 may run throughout themobile device 301, providing operative coupling to the various components and circuitry contained within themobile device 301. Therefore, in accordance with embodiments, device components, circuitry, and the like, may be operatively coupled via thecommunication bus 313. In other words, various intervening device components, circuitry, and the like, may exist in between, and/or along, the communication path between any two or more operatively coupled components. As shown inFIG. 3 , theprogrammable processor 303 is operatively coupled by thecommunication bus 313 tomemory 311 and to a user interface (UI) 323. Thememory 311 is in turn operatively coupled, via thecommunication bus 313, tohardware 319 that drives anintegrated display 321. Theintegrated display 321 is operatively coupled tohardware 319 via thesame communication bus 313. Thedisplay 321 serves as a graphical user interface (GUI) of themobile device 301. Therefore, thedisplay 321 also interfaces with, and is operatively coupled to, theprogrammable processor 303 via thecommunication bus 313 as part of theUI 323. TheUI 323 may include a track ball mouse, touch sensitive elements, physical switches, gyroscopic position sensors, etc. Thedisplay 321 may provide a touchscreen functionality that is also therefore operatively coupled, via thecommunication bus 313, to theuser interface 323. That is, thedisplay 321 may provide a graphical user interface with touchscreen capability in addition to cursor control click to provide selection input and/or drag and drop input functionality. - In accordance with the embodiments, the
programmable processor 303 may run variousoperating system environments 307, such asoperating system environment 1,operating system 2 environment, and so on through an N-th operating system environment. In other words, theprogrammable processor 303 is operative to run one or more of the variousoperating system environments 307, concurrently. The plurality ofoperating system environments 307 are each completely autonomous and can exist and function independently from one another. One or more of the operating system environments may be run concurrently, and each operating system environment utilizes acommon kernel 305. In other words, each one of the operating system environments is completely autonomous and may exist and function completely independently, without any of the other operating system environments being executed. The operating system environments provide “environments,” in that, for example, all necessary libraries, toolkits, windowing, etc., is present within the environment to enable an application associated with the operating system environment to function. Thecommon kernel 305 provides fundamental interaction at the hardware level ofmobile device 301. For example, thecommon kernel 305 may provide required operating system tasks such as program loading, system resource allocation, handling device input and output, and some memory management functions. Thecommon kernel 305 may be created as an object-oriented design that can interface, and enable communication with, programming objects within the variousoperating system environments 307. - Examples of operating system environments include, but are not limited to, Android™, Ubuntu®, other Linux® based operating systems, etc. In one example embodiment, the
mobile device 301 may be connected to theperipheral device 327 by way of a docking port that provides thecommunication bus 329. In this example, themobile device 301 display data may be shown ondisplay 325 which may be larger in dimensions than theintegrated display 321. - In accordance with the various embodiments, the
apparatus 300 includes multi-environment displaydata handling logic 309. The multi-environment displaydata handling logic 309 may be contained within one or more of the variousoperating system environments 307. However, for the example embodiment illustrated inFIG. 3 , the first operating system environment is shown as including the multi-environment displaydata handling logic 309. The multi-environment displaydata handling logic 309 may also exist independently from any of the operating system environments in some embodiments. The multi-environment displaydata handling logic 309 is operatively coupled to thememory 311 and also to theGPU 315 viacommunication path 317 which may be implemented over theinternal communication bus 313. Therefore thecommunication path 317 is a schematic representation of a communication path between the multi-environmentdisplay handling logic 309 and thememory 311 andGPU 315, and may be implemented via any suitable communication pathway. That is, it is to be understood that the operating system environment that includes the multi-environment displaydata handling logic 309 achieves the objectives of the embodiments by communicating with theGPU 315 andmemory 311 via thecommunication bus 313. In accordance with various embodiments, the multi-environment displaydata handling logic 309 combines display data from at least a first operating system environment and a second operating system environment. The multi-environment displaydata handling logic 309 generates live wallpaper image data corresponding to the first operating system environment (i.e.op system 1 environment inFIG. 3 ), and handles image data from the other operating system environments as overlay image data, that hovers above the live wallpaper image. In some embodiments, the multi-environment displaydata handling logic 309 may also combine into a workspace of the second operating system environment, display data associated with a corresponding home screen of the first operating system environment, to achieve the combined display. - The term “logic” as used herein may include software and/or firmware executing on one or more programmable processors (including CPUs and/or GPUs), and may also include ASICs, DSPs, hardwired circuitry (logic circuitry), or combinations thereof. For the example embodiment illustrated by
FIG. 3 , the multi-environment displaydata handling logic 309 may be executable instructions stored inmemory 311, which is a non-volatile, non-transitory memory. Furthermore, theoperating system environments 307, and thekernel 305, may also consist of executable instructions that are executed by theprogrammable processor 303, and that are stored inmemory 311 for access by theprogrammable processor 303 as necessary. In some embodiments, the multi-environment displaydata handling logic 309 may be object oriented software or firmware that is executed byprocessor 303 only when more than one operating system environment is executed by theprocessor 303. - Although the example provided by
FIG. 3 illustrates the operating system environments,kernel 305 and multi-environment displaydata handling logic 309 as executed by theprogrammable processor 303, which is located on themobile device 301, this functionality may also be, partially or collectively, alternatively located within theperipheral device 327. In other words either theperipheral device 327 or themobile device 301 may contain some of, all of, or various components of, the logic and other functionality described with respect toFIG. 3 and would still remain in accordance with the embodiments herein disclosed. In other words, an apparatus in accordance with the embodiments may be theapparatus 300, or may be themobile device 301 individually, or theperipheral device 327 individually. - As mentioned briefly above, in some embodiments, the
apparatus 300 may include theperipheral device 327 which may further have a docking station, such that themobile device 301 may be docked within theperipheral device 327 and obtain the benefit of thelarger display 325 as well as other possible peripherals. One example of such an apparatus is the Motorola Lapdock® product. - Although the
communication bus 329, which may be any appropriate interface, is shown connected directly to thelarger display 325, it is to be understood that various other hardware and components may exist in the peripheral device intervening between thehardware 319 and thedisplay 325. In other words,FIG. 3 is an example diagram and is not to be construed as a complete schematic diagram of a particular implementation of either a mobile device or the peripheral device.FIG. 3 provides an example only and for the purpose of describing to those of ordinary skill how to make and use the various embodiments. ThereforeFIG. 3 is limited to showing only those components necessary to describe the features and advantages of the various embodiments to those of ordinary skill. It is to be understood that various other components, circuitry, and devices may be necessary in order to implement a complete functional apparatus and that those various other components, circuitry, devices, etc., are understood to be present by those of ordinary skill. - In some embodiments, the multi-environment display
data handling logic 309 may also map home screens of the first operating system environment to workspaces of the second operating system environment to obtain the combined image, which may be displayed ondisplay 321, or on thelarger display 325 of theperipheral device 327. In one example embodiment, the first operating system environment may be an Android™ operating system environment that provides various home screens. The second operating system environment maybe a Linux® based operating system environment that includes workspaces. The multi-environment displaydata handling logic 309 may, in this case, create a mapping between the home screens of the first operating system environment and the workspaces of the second operating system environment to create the combined image. However, in this example, the mapped home screen/workspaces are handled as overlay display data, that overlays thelive wallpaper 203. Additionally, some portions of the home screen display data may be fixed to thelive wallpaper 203. As mentioned above, alive widget 209, which may provide real time data, may be fixed to thelive wallpaper 203. In other words, various mapped home screen/workspaces may hover above thelive wallpaper 203 and any fixed live widgets that are fixed in place on thelive wallpaper 203. The overlay display data may be handled similar to display data for overlaid windows (i.e. cascading windows), where windows may be arranged in a manner in which they overlap one another. However, the multi-environment displaydata handling logic 309 may handle the display data for the live wallpaper as real time data, along with display data from other operating system environments. - The multi-environment display
data handling logic 309 may handle display data from any of theoperating system environments 307, and send data to shared memory space ofmemory 311, to theGPU 315, or combinations of both as appropriate. For example, in one embodiment the multi-environment displaydata handling logic 309 may determine which of the first display data or the second display data should be transparent and which should be opaque, etc., and accordingly provide the configured combined display data to a shared memory space contained withinmemory 311. In some instances, the first (or other) operating system environment may be called upon to perform graphically intensive application activity such as for example displaying video. In those instances, the multi-environment displaydata handling logic 309 may pass first display data and/or second display data to theGPU 315 to more efficiently handle video data processing. In other words, the multi-environment displaydata handling logic 309 makes decisions related to the first display data and second display data, from the corresponding first operating system environment and second operating system environment (or N-th display data from the N-th operating system environment), and acts accordingly to utilize either shared memory space of thememory 311, or interact with theGPU 315 to achieve the combined image. In one example, the second display data associated with the second operating system environment may be handled as overlay data with respect to the first display data associated with the first operating system environment which corresponds to thelive wallpaper 203. The multi-environment displaydata handling logic 309 may also handle graphics information in various formats. For example, GDK (GIMP Drawing Kit) information may be used by one or more operating system environments, while JAVA graphics objects may be used by others. In accordance with the embodiments, the multi-environment displaydata handling logic 309 utilizes shared memory space ofmemory 311 to handle various graphics objects, and/or other such display data, accordingly, by for example, changing or adjusting object properties. - Important to understand is that some graphical objects may be afforded various attributes including, but not limited to, state attributes that determine a live or active status of an object, or data displayed by the object. One example is the
live widget 207, which may be an image object that provides real time information. In accordance with the embodiment, such image object state information is preserved, such that the real time information is accordingly shown on thelive wallpaper 203. For example, turning briefly toFIG. 2 , theimage object 207 may be a widget associated with the first operating system environment that provides real time information. An example of such a widget is a clock application that shows current time. In accordance with the embodiments, the clock widget would remain active, even while the user interacts with another visual image object, such aswindow 213, associated with the second operating system environment. As shown, the image object,window 213, may partially, or completely, obscure thewidget 207 from view. Thewidget 207 nevertheless remains in an active state, that is, live, in conjunction with thelive wallpaper 203. - Additionally, in some embodiments, the use may also switch to a new workspace or home screen, (i.e. a mapped workspace/home screen in some embodiments). Upon switching back to the current workspace/home screen the clock widget would have remained in operation and be shown in its current state (i.e. showing the current time). The
widget 207 may also remain fixed in position on thelive wallpaper 203 such that it does not move with the workspace/home screens. -
FIG. 4 andFIG. 5 are flowcharts illustrating high level operation of the various embodiments. For example, in 401, the programmable processor may generate live wallpaper display data associated with a first operating system. As shown in 402, overlay display data associated with a second operating system environment is generated for overlay onto the live wallpaper. Turning toFIG. 5 , in 501 at least one active application window or widget associated with the first operating system environment may be generated, as a portion of the live wallpaper display data. In 502, at least one application window associated with the second operating system environment may be generated as a portion of the overlay display data. -
FIG. 6 illustrates high level operation of handling of GUI input with respect to the live wallpaper and overlay data. In 601, position input corresponding to positional movement of an active application window of the second operating system environment is obtained. This operation may be performed by the multi-environment displaydata handling logic 309 in some embodiments. The operation may be performed in conjunction with thekernel 305. In 603, real time overlay display data updates are generated that correspond to the positional movement. In other words, the users can click and drag an image object across the combined image and see the object movement. In 605, any active widget portions of the live wallpaper are maintained in an active or live state, even if covered over partially or completely by the overlay display data. -
FIG. 7 provides further details of methods of operation in accordance with the embodiments. The method of operation begins inblock 700. In 701, display data from a first operating system environment is obtained, and live wallpaper display data is generated accordingly, as shown in 703. This operation may be performed by the multi-environment displaydata handling logic 309 in some embodiments. In one embodiment, the multi-environment displaydata handling logic 309 is implemented as executable instructions, and therefore the operations may also be considered as being performed by a programmable processor, such as, for example,processor 303 shown inFIG. 3 . - In 705, display data is obtained from the second operating system environment, for example, from workspaces. In 707, the multi-environment display
data handling logic 309, determines the overlay display data and corresponding transparency portions and accordingly accesses shared memory space, or the GPU, in 709. The display data is then send to the display hardware as shown in 711. The user may then interact with the displayed image as a GUI as illustrated byblocks 713 through 719. That is, user input is detected in 713 and the input event is handled in 715. This operation may involve thecommon kernel 305, and also the multi-environment displaydata handling logic 309. Input associated with the first operating system environment is handled as shown in 719, while input associated with the second operating system environment is handled as shown in 717. Display data updates are handled accordingly in 701 and 705, for the first and second operating system environments, respectively.blocks - Among other advantages of various embodiments disclosed herein, the user experience is enhanced when accessing application data or other data using one or more operating system environments. Although the embodiments have been described using examples related to two operating system environments, the various embodiments are not limited to only two operating system environments and can incorporate many operating system environments as illustrated by the plurality of
operating system environments 307 shown inFIG. 3 . Therefore the multi-environmentdisplay handling logic 309, in accordance with the embodiments, may handle display data from any number of operating system environments, where the operating system environments all utilize thecommon kernel 305. Returning briefly toFIG. 2 , theicons 211 shown on the combined image may be associated with a single operating system environment, or maybe related to various operating system environments. Likewise the visual image objects, such asapplication window 213, and thewindow 215, may be associated with any of a number of operating system environments in accordance with various embodiments herein disclosed. The first operating system environment will correspond to thelive wallpaper 203, with any other operating system environments in use being displayed as overlay data, such aswindow 213 which hovers above the live wallpaper. - The various embodiments also include computer readable memory that may contain executable instructions, for execution by at least one processor, that when executed, cause the at least one processor to operate in accordance with the multi-environment
display handling logic 309 functionality herein described. The computer readable memory may be any suitable non-volatile, non-transitory, memory such as, but not limited to, programmable chips such as EEPROMS, flash ROM (thumb drives), compact discs (CDs) digital video disks (DVDs), etc., that may be used to load executable instructions or program code to other processing devices or electronic devices such as those that may benefit from the features of the herein described embodiments. The executable instructions may also include the various operating system environments and the common kernel. - While various embodiments have been illustrated and described, it is to be understood that the invention is not so limited. Numerous modifications, changes, variations, substitutions and equivalents will occur to those skilled in the art without departing from the scope of the present invention as defined by the appended claims.
Claims (20)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/462,529 US20130293573A1 (en) | 2012-05-02 | 2012-05-02 | Method and Apparatus for Displaying Active Operating System Environment Data with a Plurality of Concurrent Operating System Environments |
| US13/462,533 US9417753B2 (en) | 2012-05-02 | 2012-05-02 | Method and apparatus for providing contextual information between operating system environments |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/462,529 US20130293573A1 (en) | 2012-05-02 | 2012-05-02 | Method and Apparatus for Displaying Active Operating System Environment Data with a Plurality of Concurrent Operating System Environments |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US20130293573A1 true US20130293573A1 (en) | 2013-11-07 |
Family
ID=49512193
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US13/462,533 Expired - Fee Related US9417753B2 (en) | 2012-05-02 | 2012-05-02 | Method and apparatus for providing contextual information between operating system environments |
| US13/462,529 Abandoned US20130293573A1 (en) | 2012-05-02 | 2012-05-02 | Method and Apparatus for Displaying Active Operating System Environment Data with a Plurality of Concurrent Operating System Environments |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US13/462,533 Expired - Fee Related US9417753B2 (en) | 2012-05-02 | 2012-05-02 | Method and apparatus for providing contextual information between operating system environments |
Country Status (1)
| Country | Link |
|---|---|
| US (2) | US9417753B2 (en) |
Cited By (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140002328A1 (en) * | 2012-06-29 | 2014-01-02 | Canon Kabushiki Kaisha | Information processing apparatus, screen display method, and non-transitory computer-readable medium |
| US20140281897A1 (en) * | 2013-03-15 | 2014-09-18 | Google Inc. | Switching to and from native web applications |
| CN104392186A (en) * | 2014-10-24 | 2015-03-04 | 东莞宇龙通信科技有限公司 | Notification prompt method, notification prompt device and terminal |
| CN105320560A (en) * | 2014-05-29 | 2016-02-10 | 黑莓有限公司 | System and method for unifying the listing and launching of applications and packages spread across multiple domains |
| US9342325B2 (en) | 2012-05-17 | 2016-05-17 | Google Technology Holdings LLC | Synchronizing launch-configuration information between first and second application environments that are operable on a multi-modal device |
| US9348633B2 (en) | 2009-07-20 | 2016-05-24 | Google Technology Holdings LLC | Multi-environment operating system |
| US9354900B2 (en) | 2011-04-28 | 2016-05-31 | Google Technology Holdings LLC | Method and apparatus for presenting a window in a system having two operating system environments |
| US9367331B2 (en) | 2009-07-20 | 2016-06-14 | Google Technology Holdings LLC | Multi-environment operating system |
| US9372711B2 (en) | 2009-07-20 | 2016-06-21 | Google Technology Holdings LLC | System and method for initiating a multi-environment operating system |
| US9389877B2 (en) | 2009-07-20 | 2016-07-12 | Google Technology Holdings LLC | Multi-environment operating system |
| US9417753B2 (en) | 2012-05-02 | 2016-08-16 | Google Technology Holdings LLC | Method and apparatus for providing contextual information between operating system environments |
| CN105975253A (en) * | 2015-11-06 | 2016-09-28 | 乐视移动智能信息技术(北京)有限公司 | Method and device for wallpaper processing |
| CN107066268A (en) * | 2017-03-28 | 2017-08-18 | 腾讯科技(深圳)有限公司 | The display location switching method and device of widget application |
| WO2018076269A1 (en) * | 2016-10-28 | 2018-05-03 | 华为技术有限公司 | Data processing method, and electronic terminal |
| CN109471683A (en) * | 2017-09-07 | 2019-03-15 | 腾讯科技(深圳)有限公司 | A kind of information displaying method, electronic equipment and storage medium |
| CN111596992A (en) * | 2020-04-28 | 2020-08-28 | 北京字节跳动网络技术有限公司 | Navigation bar display method and device and electronic equipment |
| CN114201087A (en) * | 2022-02-17 | 2022-03-18 | 北京麟卓信息科技有限公司 | Method for displaying android application icon in Linux taskbar |
| WO2025035710A1 (en) * | 2023-08-11 | 2025-02-20 | 华为技术有限公司 | Application window display method and electronic device |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9778938B2 (en) * | 2013-09-30 | 2017-10-03 | Hewlett-Packard Development Company, L.P. | Selecting operating systems based on a computing device mode |
| TW201537458A (en) * | 2014-03-31 | 2015-10-01 | Quanta Comp Inc | Method of operating multiple operating systems and the electronic device thereof |
| KR101532873B1 (en) * | 2014-04-11 | 2015-06-30 | 플러스기술주식회사 | Method for running dual operating system of smartphone |
| WO2016137272A1 (en) * | 2015-02-27 | 2016-09-01 | 삼성전자 주식회사 | Method for controlling device having multiple operating systems installed therein, and device |
| US9852131B2 (en) * | 2015-05-18 | 2017-12-26 | Google Llc | Techniques for providing visual translation cards including contextually relevant definitions and examples |
| CN105204916B (en) * | 2015-10-30 | 2019-03-01 | 北京奇虎科技有限公司 | Project process operation method and device based on environmental variance |
| CN105573764B (en) * | 2015-12-24 | 2019-03-22 | 北京大学 | A kind of Android application reconstructing method towards smartwatch |
| US11157160B1 (en) * | 2020-11-09 | 2021-10-26 | Dell Products, L.P. | Graphical user interface (GUI) for controlling virtual workspaces produced across information handling systems (IHSs) |
| CN113407086B (en) * | 2021-08-20 | 2021-11-30 | 北京鲸鲮信息系统技术有限公司 | Object dragging method, device and storage medium |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110016299A1 (en) * | 2009-07-20 | 2011-01-20 | Galicia Joshua D | Multi-environment operating system |
| US20120081380A1 (en) * | 2010-10-01 | 2012-04-05 | Imerj LLC | Cross-environment user interface mirroring |
| US20120084791A1 (en) * | 2010-10-01 | 2012-04-05 | Imerj LLC | Cross-Environment Communication Framework |
Family Cites Families (184)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE3480810D1 (en) | 1983-07-25 | 1990-01-25 | Mead Corp | THERMAL DEVELOPMENT OF LIGHT-SENSITIVE MATERIALS BY MEANS OF RADIATION-SENSITIVE MICROCAPSULE COMPOSITIONS. |
| US5119494A (en) | 1990-07-10 | 1992-06-02 | Athenix Corporation | Application address display window mapper for a sharable ms-dos processor |
| US5551033A (en) | 1991-05-17 | 1996-08-27 | Zenith Data Systems Corporation | Apparatus for maintaining one interrupt mask register in conformity with another in a manner invisible to an executing program |
| EP0568386A3 (en) | 1992-05-01 | 1995-08-16 | R Brent Johnson | Console simulator, multi-console management system, and console management distribution system |
| JPH07121336A (en) | 1993-10-27 | 1995-05-12 | Canon Inc | Display device and method thereof |
| DE69523543T2 (en) | 1994-12-13 | 2002-04-04 | Microsoft Corp | Taskbar with start menu |
| US6363409B1 (en) | 1995-04-24 | 2002-03-26 | Microsoft Corporation | Automatic client/server translation and execution of non-native applications |
| US6336146B1 (en) | 1995-12-22 | 2002-01-01 | Sun Microsystems, Inc. | Method and apparatus for docking, launching and running applications in a foreign environment |
| US5828376A (en) | 1996-09-23 | 1998-10-27 | J. D. Edwards World Source Company | Menu control in a graphical user interface |
| DE19648422C2 (en) | 1996-11-22 | 2000-03-30 | Hans Beckhoff | Method and device for implementing a real-time capable control program in a non-real-time capable operating program |
| US6710788B1 (en) | 1996-12-03 | 2004-03-23 | Texas Instruments Incorporated | Graphical user interface |
| US6170045B1 (en) | 1997-04-30 | 2001-01-02 | International Business Machines Corporation | Cross-system data piping using an external shared memory |
| US6336120B1 (en) | 1997-08-26 | 2002-01-01 | International Business Machines Corporation | Method and system for supporting hierarchical storage management (HSM) file system across multiple platforms |
| US6205452B1 (en) | 1997-10-29 | 2001-03-20 | R. R. Donnelley & Sons Company | Method of reproducing variable graphics in a variable imaging system |
| US6215490B1 (en) | 1998-02-02 | 2001-04-10 | International Business Machines Corporation | Task window navigation method and system |
| US6043816A (en) | 1998-05-29 | 2000-03-28 | Hewlett-Packard Company | User interface mechanism for maintaning quick access to important information in a windows-based computer environment |
| US6133915A (en) | 1998-06-17 | 2000-10-17 | Microsoft Corporation | System and method for customizing controls on a toolbar |
| US6338149B1 (en) | 1998-07-31 | 2002-01-08 | Westinghouse Electric Company Llc | Change monitoring system for a computer system |
| US6178503B1 (en) | 1998-09-11 | 2001-01-23 | Powerquest Corporation | Managing multiple operating systems on a single computer |
| US8065504B2 (en) | 1999-01-28 | 2011-11-22 | Ati International Srl | Using on-chip and off-chip look-up tables indexed by instruction address to control instruction execution in a processor |
| US6691146B1 (en) | 1999-05-19 | 2004-02-10 | International Business Machines Corporation | Logical partition manager and method |
| JP2000347883A (en) | 1999-06-03 | 2000-12-15 | Matsushita Electric Ind Co Ltd | Virtual computer device |
| US6460136B1 (en) | 1999-07-12 | 2002-10-01 | Hewlett-Packard Co., | Method and apparatus for loading an operating system kernel from a shared disk memory |
| US6571282B1 (en) | 1999-08-31 | 2003-05-27 | Accenture Llp | Block-based communication in a communication services patterns environment |
| US6763458B1 (en) | 1999-09-27 | 2004-07-13 | Captaris, Inc. | System and method for installing and servicing an operating system in a computer or information appliance |
| US6757002B1 (en) | 1999-11-04 | 2004-06-29 | Hewlett-Packard Development Company, L.P. | Track pad pointing device with areas of specialized function |
| US6756999B2 (en) | 2000-04-06 | 2004-06-29 | Microsoft Corporation | Method and system for clustering and grouping taskbar buttons |
| GB2369959A (en) | 2000-12-08 | 2002-06-12 | Ubinetics Ltd | Holder for connecting a mobile communications device to a screen |
| GB2377518B (en) | 2001-02-12 | 2003-10-22 | Altio Ltd | Client software enabling a client to run a network based application |
| US7461144B1 (en) * | 2001-02-16 | 2008-12-02 | Swsoft Holdings, Ltd. | Virtual private server with enhanced security |
| US6765596B2 (en) | 2001-02-27 | 2004-07-20 | International Business Machines Corporation | Multi-functional application launcher with integrated status |
| US7231531B2 (en) | 2001-03-16 | 2007-06-12 | Dualcor Technologies, Inc. | Personal electronics device with a dual core processor |
| US20020151334A1 (en) | 2001-04-11 | 2002-10-17 | Motorola, Inc | Communications device with call frequency analyzer |
| TW502210B (en) | 2001-04-19 | 2002-09-11 | Asustek Comp Inc | Computer system capable of switching operating system |
| US20050240763A9 (en) | 2001-08-06 | 2005-10-27 | Shivaram Bhat | Web based applications single sign on system and method |
| CN1568466A (en) | 2001-09-26 | 2005-01-19 | 交互设备有限公司 | System and method for communicating media signals |
| US20030065738A1 (en) | 2001-10-01 | 2003-04-03 | Thumb Logic, Inc. | Wireless information systems and methods |
| JP2003196096A (en) | 2001-12-07 | 2003-07-11 | Internatl Business Mach Corp <Ibm> | Computer system, its starting control method and program |
| US7533101B2 (en) | 2002-03-04 | 2009-05-12 | Microsoft Corporation | Extensible loader |
| EP1347373A3 (en) | 2002-03-20 | 2005-02-02 | Seiko Epson Corporation | Apparatus for processing instructions of different instruction set architectures |
| US7783665B1 (en) | 2002-03-27 | 2010-08-24 | Parallels Holdings, Ltd. | Effective file-sharing among virtual environments |
| US7424623B2 (en) | 2002-03-28 | 2008-09-09 | O2 Micro International Limited | Personal computer integrated with personal digital assistant |
| US20030204708A1 (en) | 2002-04-24 | 2003-10-30 | Colin Hulme | Portable computer having hierarchical operating systems |
| US7111303B2 (en) | 2002-07-16 | 2006-09-19 | International Business Machines Corporation | Virtual machine operating system LAN |
| JP2004086330A (en) | 2002-08-23 | 2004-03-18 | Toshiba Corp | Electronic apparatus |
| TW591398B (en) | 2002-09-26 | 2004-06-11 | Tatung Co | Method of implementing a plurality of system tray areas |
| US7913183B2 (en) | 2002-10-08 | 2011-03-22 | Microsoft Corporation | System and method for managing software applications in a graphical user interface |
| US20040095388A1 (en) | 2002-11-15 | 2004-05-20 | Rocchetti Robert J. | Method and apparatus for creating user interfaces for computing devices |
| US7254831B2 (en) | 2002-12-04 | 2007-08-07 | Microsoft Corporation | Sharing a sign-in among software applications having secured features |
| US20050240756A1 (en) | 2003-01-12 | 2005-10-27 | Yaron Mayer | System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows. |
| US20070128899A1 (en) | 2003-01-12 | 2007-06-07 | Yaron Mayer | System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows |
| US7114104B1 (en) | 2003-02-11 | 2006-09-26 | Compuware Corporation | System and method of fault detection in a Unix environment |
| EP1467282B1 (en) | 2003-04-09 | 2008-10-01 | Jaluna SA | Operating systems |
| US20040207508A1 (en) | 2003-04-16 | 2004-10-21 | Jyh-Han Lin | Method and apparatus for a dynamically customizable smart phonebook |
| US7634770B2 (en) | 2003-05-19 | 2009-12-15 | Hewlett-Packard Development Company, L.P. | Kernel module interface dependencies |
| RU2331160C2 (en) | 2003-10-29 | 2008-08-10 | Квэлкомм Инкорпорейтед | Interface with high speed of data transmission |
| US7620667B2 (en) | 2003-11-17 | 2009-11-17 | Microsoft Corporation | Transfer of user profiles using portable storage devices |
| US20050125739A1 (en) | 2003-11-20 | 2005-06-09 | Thompson Jeffrey W. | Virtual desktop manager system and method |
| CN1886712B (en) | 2003-11-28 | 2010-09-08 | 松下电器产业株式会社 | data processing device |
| JP4617683B2 (en) | 2004-02-24 | 2011-01-26 | ソニー株式会社 | Semiconductor integrated circuit, portable module, and message communication method. |
| GB0407977D0 (en) | 2004-04-08 | 2004-05-12 | Ibm | Communication between browser windows |
| US7478204B2 (en) | 2004-04-29 | 2009-01-13 | International Business Machines Corporation | Efficient sharing of memory between applications running under different operating systems on a shared hardware system |
| US7543166B2 (en) | 2004-05-12 | 2009-06-02 | Intel Corporation | System for managing power states of a virtual machine based on global power management policy and power management command sent by the virtual machine |
| US7590945B2 (en) | 2004-06-14 | 2009-09-15 | At&T Intellectual Property I, L.P. | Viewing applications from inactive sessions |
| KR101013143B1 (en) | 2004-06-29 | 2011-02-10 | 삼성전자주식회사 | Monitor management system |
| US7996785B2 (en) | 2004-06-30 | 2011-08-09 | Microsoft Corporation | Systems and methods for integrating application windows in a virtual machine environment |
| US20060010446A1 (en) | 2004-07-06 | 2006-01-12 | Desai Rajiv S | Method and system for concurrent execution of multiple kernels |
| US7424601B2 (en) | 2004-07-07 | 2008-09-09 | Yongyong Xu | Methods and systems for running multiple operating systems in a single mobile device |
| US20060046706A1 (en) | 2004-08-26 | 2006-03-02 | Jiansong Lin | Monitoring and remote control of wireless communication device accessories and functionality |
| US7363128B2 (en) | 2004-09-28 | 2008-04-22 | Eaton Corporation | Application launcher |
| US7529921B2 (en) | 2004-12-17 | 2009-05-05 | Cardiac Pacemakers, Inc. | Fast initialization of medical device system having multiple operating systems |
| US7468729B1 (en) | 2004-12-21 | 2008-12-23 | Aol Llc, A Delaware Limited Liability Company | Using an avatar to generate user profile information |
| US8274518B2 (en) | 2004-12-30 | 2012-09-25 | Microsoft Corporation | Systems and methods for virtualizing graphics subsystems |
| US20070162298A1 (en) | 2005-01-18 | 2007-07-12 | Apple Computer, Inc. | Systems and methods for presenting data items |
| US7478339B2 (en) | 2005-04-01 | 2009-01-13 | Microsoft Corporation | Method and apparatus for application window grouping and management |
| US20060225107A1 (en) | 2005-04-01 | 2006-10-05 | Microsoft Corporation | System for running applications in a resource-constrained set-top box environment |
| US7565535B2 (en) | 2005-05-06 | 2009-07-21 | Microsoft Corporation | Systems and methods for demonstrating authenticity of a virtual machine using a security image |
| US7533189B2 (en) | 2005-06-21 | 2009-05-12 | Microsoft Corporation | Enabling a graphical window modification command to be applied to a remotely generated graphical window |
| US8195624B2 (en) | 2005-06-30 | 2012-06-05 | Phoenix Technologies Ltd. | Shared file system management between independent operating systems |
| JP4784189B2 (en) | 2005-07-26 | 2011-10-05 | ソニー株式会社 | COMMUNICATION SYSTEM, INFORMATION PROCESSING DEVICE AND INFORMATION PROCESSING METHOD, INFORMATION TERMINAL DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM |
| US20070050765A1 (en) | 2005-08-30 | 2007-03-01 | Geisinger Nile J | Programming language abstractions for creating and controlling virtual computers, operating systems and networks |
| US8429630B2 (en) | 2005-09-15 | 2013-04-23 | Ca, Inc. | Globally distributed utility computing cloud |
| WO2007035611A2 (en) | 2005-09-16 | 2007-03-29 | Hoshiko, Llc | Low power mode for portable computer system |
| US7636586B2 (en) | 2005-10-12 | 2009-12-22 | Nokia Corporation | Mobile communication terminal |
| US20070135043A1 (en) | 2005-12-12 | 2007-06-14 | Motorola, Inc. | Method and system for accessible contact information on a locked electronic device |
| US7657849B2 (en) | 2005-12-23 | 2010-02-02 | Apple Inc. | Unlocking a device by performing gestures on an unlock image |
| US8606895B2 (en) | 2006-01-17 | 2013-12-10 | Kidaro (Israel) Ltd. | Seamless integration of multiple computing environments |
| US20070174429A1 (en) | 2006-01-24 | 2007-07-26 | Citrix Systems, Inc. | Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment |
| US20070180398A1 (en) | 2006-01-30 | 2007-08-02 | Mcardle James M | Window cleanup via desktop icon |
| JP2007226413A (en) | 2006-02-22 | 2007-09-06 | Hitachi Ltd | Memory dump method, memory dump program, and computer system |
| US7595810B2 (en) | 2006-03-22 | 2009-09-29 | Apple Inc. | Methods of manipulating a screen space of a display device |
| US7536537B2 (en) | 2006-04-20 | 2009-05-19 | Harris Corporation | Simultaneous dual booting of platforms |
| US7987432B1 (en) | 2006-04-25 | 2011-07-26 | Parallels Holdings, Ltd. | Seamless integration and installation of non-native application into native operating system |
| US20070266231A1 (en) | 2006-05-15 | 2007-11-15 | Huey-Tyug Chua | Portable Electronic Device and Method for Loading Resource Data of the Portable Electronic Device |
| WO2007136192A1 (en) | 2006-05-18 | 2007-11-29 | Sanggyu Lee | Method for protecting client and server |
| US20070283147A1 (en) | 2006-05-30 | 2007-12-06 | Fried Eric P | System and method to manage device access in a software partition |
| US9201703B2 (en) | 2006-06-07 | 2015-12-01 | International Business Machines Corporation | Sharing kernel services among kernels |
| US8146089B2 (en) | 2006-06-14 | 2012-03-27 | Intel Corporation | Sharing resources of a partitioned system |
| US20080028326A1 (en) | 2006-07-26 | 2008-01-31 | Research In Motion Limited | System and method for adaptive theming of a mobile device |
| US8352733B2 (en) | 2006-08-04 | 2013-01-08 | Apple Inc. | Resource restriction systems and methods |
| US7996789B2 (en) | 2006-08-04 | 2011-08-09 | Apple Inc. | Methods and apparatuses to control application programs |
| US7689820B2 (en) | 2006-09-27 | 2010-03-30 | L3 Communications Corporation | Rapid-boot computing device with dual operating systems |
| US20080100568A1 (en) | 2006-10-30 | 2008-05-01 | Koch Paul B | Electronic device providing tactile feedback |
| US7698660B2 (en) | 2006-11-13 | 2010-04-13 | Microsoft Corporation | Shared space for communicating information |
| JP4809209B2 (en) | 2006-12-28 | 2011-11-09 | 株式会社日立製作所 | System switching method and computer system in server virtualization environment |
| US20080282205A1 (en) | 2007-02-06 | 2008-11-13 | Access Systems Americas, Inc. | Unified launcher user interface system and method for integrating multiple disparate environments on an electronic device |
| US8046570B2 (en) | 2007-02-06 | 2011-10-25 | Microsoft Corporation | Supporting multiple operating systems in media devices |
| US20080256468A1 (en) | 2007-04-11 | 2008-10-16 | Johan Christiaan Peters | Method and apparatus for displaying a user interface on multiple devices simultaneously |
| US20080270910A1 (en) | 2007-04-30 | 2008-10-30 | Lukasik Derek J | User selection of a remote session |
| WO2008137432A2 (en) | 2007-05-01 | 2008-11-13 | Dyyno | Sharing of information and formatting information for transmission over a communication network |
| US8677270B2 (en) | 2007-05-04 | 2014-03-18 | Microsoft Corporation | Live companion user interface |
| CN100470485C (en) | 2007-05-09 | 2009-03-18 | 浙江大学 | Implementation method of multi-operating system cooperative work |
| US8745535B2 (en) | 2007-06-08 | 2014-06-03 | Apple Inc. | Multi-dimensional desktop |
| US20080307350A1 (en) | 2007-06-09 | 2008-12-11 | Alessandro Francesco Sabatelli | Method and Apparatus for Improved Desktop Arrangement |
| US7523738B2 (en) | 2007-06-22 | 2009-04-28 | Gm Global Technology Operations, Inc. | Idle quality by torque smoothing |
| KR101415762B1 (en) | 2007-07-25 | 2014-07-08 | 엘지전자 주식회사 | Auxiliary output apparatus, Portable computer having auxiliary output apparatus and Changing method of Operating Systerm thereof |
| TWI362612B (en) | 2007-09-05 | 2012-04-21 | Htc Corp | System and electronic device using multiple operating systems and operating method thereof |
| TWI352909B (en) | 2007-09-05 | 2011-11-21 | Htc Corp | Method and system for supporting network sharing a |
| CA2699562A1 (en) | 2007-09-20 | 2009-03-26 | C&S Operations, Inc. | Computer system |
| US7840186B2 (en) | 2007-09-25 | 2010-11-23 | Motorola Mobility, Inc. | Wireless SATA/SAS data transfer system |
| US9003173B2 (en) | 2007-09-28 | 2015-04-07 | Microsoft Technology Licensing, Llc | Multi-OS (operating system) boot via mobile device |
| US20090158299A1 (en) | 2007-10-31 | 2009-06-18 | Carter Ernst B | System for and method of uniform synchronization between multiple kernels running on single computer systems with multiple CPUs installed |
| CN101149685A (en) | 2007-11-07 | 2008-03-26 | 苏州壹世通科技有限公司 | Combined device and method for starting up multiple operation system from mobile memory apparatus |
| JP2009157802A (en) | 2007-12-27 | 2009-07-16 | Kyocera Corp | Mobile terminal and information processing apparatus |
| US9612847B2 (en) | 2008-02-05 | 2017-04-04 | Microsoft Technology Licensing, Llc | Destination list associated with an application launcher |
| US8151100B2 (en) | 2008-02-06 | 2012-04-03 | Broadcom Corporation | Operating system for a computing device with handheld and extended computing units |
| US20090287571A1 (en) | 2008-03-26 | 2009-11-19 | Robb Fujioka | Hypervisor and virtual machine ware |
| US8327286B2 (en) | 2008-03-13 | 2012-12-04 | Microsoft Corporation | Unifying application launchers and switchers |
| GB2459097B (en) | 2008-04-08 | 2012-03-28 | Advanced Risc Mach Ltd | A method and apparatus for processing and displaying secure and non-secure data |
| US8468533B2 (en) | 2008-04-28 | 2013-06-18 | Panasonic Corporation | Virtual machine control device, method, and program wherein a switching task used to switch to the highest priority virtual machines is the highest priority task in the current virtual machine and the virtual machine that is the switching target |
| CN101615123A (en) | 2008-06-26 | 2009-12-30 | 比亚迪股份有限公司 | Method for guiding mobile terminal operating system and mobile terminal |
| US20100064251A1 (en) | 2008-09-05 | 2010-03-11 | International Business Machines Corporation | Toggling window display state by screen in a multi-screened desktop environment |
| US8307177B2 (en) | 2008-09-05 | 2012-11-06 | Commvault Systems, Inc. | Systems and methods for management of virtualization data |
| US8694920B2 (en) | 2008-09-25 | 2014-04-08 | Microsoft Corporation | Displaying application information in an application-switching user interface |
| WO2010037145A2 (en) | 2008-09-29 | 2010-04-01 | Fisher-Rosemount Systems, Inc. | Dynamic user interface for configuring and managing a process control system |
| KR101501167B1 (en) | 2008-10-20 | 2015-03-10 | 삼성전자주식회사 | Apparatus and method for application of multi operating systems in multi modem mobile communication terminal |
| US8819585B2 (en) | 2008-10-27 | 2014-08-26 | Microsoft Corporation | Child window surfacing and management |
| US8069247B2 (en) | 2008-12-03 | 2011-11-29 | Verizon Data Services Llc | Application launcher systems, methods, and apparatuses |
| US9459678B2 (en) | 2009-01-29 | 2016-10-04 | Hewlett-Packard Development Company, L.P. | Power manager for virtual machines |
| US20100211769A1 (en) | 2009-02-19 | 2010-08-19 | Subramonian Shankar | Concurrent Execution of a Smartphone Operating System and a Desktop Operating System |
| US7987309B2 (en) | 2009-02-26 | 2011-07-26 | Broadcom Corporation | Dockable handheld computing device with graphical user interface and methods for use therewith |
| US8566045B2 (en) | 2009-03-16 | 2013-10-22 | Apple Inc. | Event recognition |
| US8253531B2 (en) | 2009-03-26 | 2012-08-28 | International Business Machines Corporation | On chip verification and consequent enablement of card OS operation in smart cards |
| US8177554B2 (en) | 2009-06-02 | 2012-05-15 | Krasner Paul R | Device and method for locating a pulp chamber in a tooth |
| US8555185B2 (en) | 2009-06-08 | 2013-10-08 | Apple Inc. | User interface for multiple display regions |
| TWI400652B (en) | 2009-06-11 | 2013-07-01 | Insyde Software Corp | Dual operating system parallel processing methods, recording media and computer program products |
| CN102460344A (en) | 2009-06-19 | 2012-05-16 | 莫门特美国股份有限公司 | Systems and methods for dynamic background user interface(s) |
| US8302094B2 (en) | 2009-06-26 | 2012-10-30 | Vmware, Inc. | Routing a physical device request using transformer stack to an equivalent physical device in a virtualized mobile device |
| US8914511B1 (en) | 2009-06-26 | 2014-12-16 | VMTurbo, Inc. | Managing resources in virtualization systems |
| US8868899B2 (en) | 2009-07-20 | 2014-10-21 | Motorola Mobility Llc | System and method for switching between environments in a multi-environment operating system |
| US9367331B2 (en) | 2009-07-20 | 2016-06-14 | Google Technology Holdings LLC | Multi-environment operating system |
| US9372711B2 (en) | 2009-07-20 | 2016-06-21 | Google Technology Holdings LLC | System and method for initiating a multi-environment operating system |
| US9389877B2 (en) | 2009-07-20 | 2016-07-12 | Google Technology Holdings LLC | Multi-environment operating system |
| JP5365399B2 (en) | 2009-07-27 | 2013-12-11 | 富士通株式会社 | Screen saver control system, image processing apparatus, image display apparatus, screen saver control method, and computer program |
| CA2675666A1 (en) | 2009-08-27 | 2009-11-05 | Ibm Canada Limited - Ibm Canada Limitee | Accelerated execution for emulated environments |
| US8341268B2 (en) | 2009-08-28 | 2012-12-25 | Microsoft Corporation | Resource sharing in multi-principal browser |
| US8607082B2 (en) | 2009-08-31 | 2013-12-10 | Red Hat Israel, Ltd. | Mechanism for managing power in a virtual machine system |
| US8341558B2 (en) | 2009-09-16 | 2012-12-25 | Google Inc. | Gesture recognition on computing device correlating input to a template |
| US8843838B2 (en) | 2009-11-13 | 2014-09-23 | Google Inc. | Live wallpaper |
| KR101620058B1 (en) | 2009-11-23 | 2016-05-24 | 삼성전자주식회사 | Apparatus for switching screen between virtual machines and method thereof |
| US8769428B2 (en) | 2009-12-09 | 2014-07-01 | Citrix Systems, Inc. | Methods and systems for generating a combined display of taskbar button group entries generated on a local machine and on a remote machine |
| US8538741B2 (en) | 2009-12-15 | 2013-09-17 | Ati Technologies Ulc | Apparatus and method for partitioning a display surface into a plurality of virtual display areas |
| US9367341B2 (en) | 2010-03-30 | 2016-06-14 | Red Hat Israel, Ltd. | Encrypting and decrypting virtual disk content using a single user sign-on |
| US8589952B2 (en) | 2010-06-30 | 2013-11-19 | Palm, Inc. | Dual operating system operation and configuration |
| US9183023B2 (en) | 2010-07-01 | 2015-11-10 | Hewlett-Packard Development Company, L.P. | Proactive distribution of virtual environment user credentials in a single sign-on system |
| WO2012012865A1 (en) | 2010-07-29 | 2012-02-02 | 9227-5668 Quebec Inc. | Portable catalytic heating apparatus for drying, curing, polymerization or cross-linking of coatings and compounds |
| EP2416546A1 (en) | 2010-08-03 | 2012-02-08 | Research In Motion Limited | Method for providing indication of communicatively coupled device |
| TWI520069B (en) | 2010-08-11 | 2016-02-01 | 緯創資通股份有限公司 | Application method for integrating heterogeneous operating systems based on the same system kernel |
| WO2012048257A2 (en) | 2010-10-08 | 2012-04-12 | Lumi Technologies, Inc. | Scalable synchronization of events among server and clients with varying lag-times |
| US8983536B2 (en) | 2010-10-22 | 2015-03-17 | Google Technology Holdings LLC | Resource management in a multi-operating environment |
| US9245047B2 (en) | 2010-12-10 | 2016-01-26 | Wyse Technology L.L.C. | Methods and systems for facilitating a remote desktop session utilizing a remote desktop client common interface |
| US8874665B2 (en) | 2010-12-13 | 2014-10-28 | At&T Mobility Ii Llc | Systems, apparatus and methods for facilitating display and management of information for communication devices |
| US20120174021A1 (en) | 2011-01-04 | 2012-07-05 | Motorola, Inc. | Systems and methods for displaying android applications launchers in webtop application tray |
| US20120173986A1 (en) | 2011-01-04 | 2012-07-05 | Motorola-Mobility, Inc. | Background synchronization within a multi-environment operating system |
| US8782258B2 (en) * | 2011-01-04 | 2014-07-15 | Motorola Mobility Llc | Transferring web data between operating system environments |
| US20120192100A1 (en) | 2011-01-25 | 2012-07-26 | Motorola-Mobility, Inc. | Method and apparatus for locking and unlocking multiple operating system environments with a single gesture input |
| US9891939B2 (en) | 2011-03-03 | 2018-02-13 | Microsoft Technology Licensing, Llc | Application compatibility with library operating systems |
| US8261231B1 (en) | 2011-04-06 | 2012-09-04 | Media Direct, Inc. | Systems and methods for a mobile application development and development platform |
| US20120278747A1 (en) | 2011-04-28 | 2012-11-01 | Motorola Mobility, Inc. | Method and apparatus for user interface in a system having two operating system environments |
| US9354900B2 (en) | 2011-04-28 | 2016-05-31 | Google Technology Holdings LLC | Method and apparatus for presenting a window in a system having two operating system environments |
| US9104307B2 (en) | 2011-05-27 | 2015-08-11 | Microsoft Technology Licensing, Llc | Multi-application environment |
| US9417753B2 (en) | 2012-05-02 | 2016-08-16 | Google Technology Holdings LLC | Method and apparatus for providing contextual information between operating system environments |
| US20130298140A1 (en) | 2012-05-02 | 2013-11-07 | Motorola Mobility, Inc. | Method and Apparatus for Displaying Data from a Plurality of Concurrent Operating System Environments |
| US9342325B2 (en) | 2012-05-17 | 2016-05-17 | Google Technology Holdings LLC | Synchronizing launch-configuration information between first and second application environments that are operable on a multi-modal device |
-
2012
- 2012-05-02 US US13/462,533 patent/US9417753B2/en not_active Expired - Fee Related
- 2012-05-02 US US13/462,529 patent/US20130293573A1/en not_active Abandoned
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110016299A1 (en) * | 2009-07-20 | 2011-01-20 | Galicia Joshua D | Multi-environment operating system |
| US20120081380A1 (en) * | 2010-10-01 | 2012-04-05 | Imerj LLC | Cross-environment user interface mirroring |
| US20120084791A1 (en) * | 2010-10-01 | 2012-04-05 | Imerj LLC | Cross-Environment Communication Framework |
Non-Patent Citations (1)
| Title |
|---|
| John Herrman, "VMWare For Mobile Devices Lets You Run Windows and Android Simultaneously", 2/26/2009, Gizmodo * |
Cited By (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9348633B2 (en) | 2009-07-20 | 2016-05-24 | Google Technology Holdings LLC | Multi-environment operating system |
| US9389877B2 (en) | 2009-07-20 | 2016-07-12 | Google Technology Holdings LLC | Multi-environment operating system |
| US9372711B2 (en) | 2009-07-20 | 2016-06-21 | Google Technology Holdings LLC | System and method for initiating a multi-environment operating system |
| US9367331B2 (en) | 2009-07-20 | 2016-06-14 | Google Technology Holdings LLC | Multi-environment operating system |
| US9354900B2 (en) | 2011-04-28 | 2016-05-31 | Google Technology Holdings LLC | Method and apparatus for presenting a window in a system having two operating system environments |
| US9417753B2 (en) | 2012-05-02 | 2016-08-16 | Google Technology Holdings LLC | Method and apparatus for providing contextual information between operating system environments |
| US9342325B2 (en) | 2012-05-17 | 2016-05-17 | Google Technology Holdings LLC | Synchronizing launch-configuration information between first and second application environments that are operable on a multi-modal device |
| US9099022B2 (en) * | 2012-06-29 | 2015-08-04 | Canon Kabushiki Kaisha | Information processing apparatus, screen display method, and non-transitory computer-readable medium |
| US20140002328A1 (en) * | 2012-06-29 | 2014-01-02 | Canon Kabushiki Kaisha | Information processing apparatus, screen display method, and non-transitory computer-readable medium |
| US20140281897A1 (en) * | 2013-03-15 | 2014-09-18 | Google Inc. | Switching to and from native web applications |
| US9842091B2 (en) * | 2013-03-15 | 2017-12-12 | Google Llc | Switching to and from native web applications |
| CN105320560A (en) * | 2014-05-29 | 2016-02-10 | 黑莓有限公司 | System and method for unifying the listing and launching of applications and packages spread across multiple domains |
| CN104392186A (en) * | 2014-10-24 | 2015-03-04 | 东莞宇龙通信科技有限公司 | Notification prompt method, notification prompt device and terminal |
| WO2016062148A1 (en) * | 2014-10-24 | 2016-04-28 | 宇龙计算机通信科技(深圳)有限公司 | Notification prompt method, notification prompt device and terminal |
| CN105975253A (en) * | 2015-11-06 | 2016-09-28 | 乐视移动智能信息技术(北京)有限公司 | Method and device for wallpaper processing |
| EP3525084A4 (en) * | 2016-10-28 | 2019-09-11 | Huawei Technologies Co., Ltd. | DATA PROCESSING METHOD AND ELECTRONIC TERMINAL |
| WO2018076269A1 (en) * | 2016-10-28 | 2018-05-03 | 华为技术有限公司 | Data processing method, and electronic terminal |
| CN108475182A (en) * | 2016-10-28 | 2018-08-31 | 华为技术有限公司 | Data processing method and electronic terminal |
| US10970024B2 (en) | 2016-10-28 | 2021-04-06 | Huawei Technologies Co., Ltd. | Data processing method and electronic terminal |
| US11513753B2 (en) | 2016-10-28 | 2022-11-29 | Huawei Technologies Co., Ltd. | Data processing method and electronic terminal |
| US11775244B2 (en) | 2016-10-28 | 2023-10-03 | Huawei Technologies Co., Ltd. | Data processing method and electronic terminal |
| CN107066268A (en) * | 2017-03-28 | 2017-08-18 | 腾讯科技(深圳)有限公司 | The display location switching method and device of widget application |
| CN109471683A (en) * | 2017-09-07 | 2019-03-15 | 腾讯科技(深圳)有限公司 | A kind of information displaying method, electronic equipment and storage medium |
| CN111596992A (en) * | 2020-04-28 | 2020-08-28 | 北京字节跳动网络技术有限公司 | Navigation bar display method and device and electronic equipment |
| CN114201087A (en) * | 2022-02-17 | 2022-03-18 | 北京麟卓信息科技有限公司 | Method for displaying android application icon in Linux taskbar |
| WO2025035710A1 (en) * | 2023-08-11 | 2025-02-20 | 华为技术有限公司 | Application window display method and electronic device |
Also Published As
| Publication number | Publication date |
|---|---|
| US20130298141A1 (en) | 2013-11-07 |
| US9417753B2 (en) | 2016-08-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20130293573A1 (en) | Method and Apparatus for Displaying Active Operating System Environment Data with a Plurality of Concurrent Operating System Environments | |
| US20130298140A1 (en) | Method and Apparatus for Displaying Data from a Plurality of Concurrent Operating System Environments | |
| US9354900B2 (en) | Method and apparatus for presenting a window in a system having two operating system environments | |
| US8881047B2 (en) | Systems and methods for dynamic background user interface(s) | |
| US9760242B2 (en) | Edge-based hooking gestures for invoking user interfaces | |
| US9389884B2 (en) | Method and apparatus for providing adaptive wallpaper display for a device having multiple operating system environments | |
| EP3436942B1 (en) | Tabs in system task switchers | |
| US9465457B2 (en) | Multi-touch interface gestures for keyboard and/or mouse inputs | |
| US9612732B2 (en) | Content transfer to non-running targets | |
| US9588661B1 (en) | Graphical user interface widget to select multiple items from a fixed domain | |
| US20120278747A1 (en) | Method and apparatus for user interface in a system having two operating system environments | |
| US7996787B2 (en) | Plug-in architecture for window management and desktop compositing effects | |
| EP3028133B1 (en) | Multi-monitor full screen mode in a windowing environment | |
| WO2012145366A1 (en) | Improving usability of cross-device user interfaces | |
| KR101981158B1 (en) | Interaction method for user interfaces | |
| US8819584B2 (en) | Information processing apparatus and image display method | |
| US9727292B1 (en) | Desktop with active corners | |
| US9501206B2 (en) | Information processing apparatus | |
| US20150143289A1 (en) | Automatic check box interaction | |
| US10156976B2 (en) | System and method in managing low-latency direct control feedback | |
| CN110673738B (en) | Interaction method and electronic equipment | |
| JP5301593B2 (en) | Information processing apparatus and computer executable program | |
| KR20160090090A (en) | Bridge system extending mobile operating system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: MOTOROLA MOBILITY, INC., ILLINOIS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WOLFE, CHRISTOPHER M;GALICIA, JOSHUA D;TZAKIS, ANDREW N;REEL/FRAME:028145/0017 Effective date: 20120501 |
|
| AS | Assignment |
Owner name: MOTOROLA MOBILITY LLC, ILLINOIS Free format text: CHANGE OF NAME;ASSIGNOR:MOTOROLA MOBILITY, INC.;REEL/FRAME:028561/0557 Effective date: 20120622 |
|
| AS | Assignment |
Owner name: MOTOROLA MOBILITY LLC, ILLINOIS Free format text: CHANGE OF NAME;ASSIGNOR:MOTOROLA MOBILITY, INC.;REEL/FRAME:033083/0238 Effective date: 20120622 |
|
| AS | Assignment |
Owner name: GOOGLE TECHNOLOGY HOLDINGS LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MOTOROLA MOBILITY LLC;REEL/FRAME:034296/0001 Effective date: 20141028 |
|
| STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |