BRPI0822544B1 - sistema para combinar interfaces de aplicações externas e subaplicações e método para combinar interfaces de aplicações externas e subaplicações - Google Patents

sistema para combinar interfaces de aplicações externas e subaplicações e método para combinar interfaces de aplicações externas e subaplicações Download PDF

Info

Publication number
BRPI0822544B1
BRPI0822544B1 BRPI0822544A BRPI0822544A BRPI0822544B1 BR PI0822544 B1 BRPI0822544 B1 BR PI0822544B1 BR PI0822544 A BRPI0822544 A BR PI0822544A BR PI0822544 A BRPI0822544 A BR PI0822544A BR PI0822544 B1 BRPI0822544 B1 BR PI0822544B1
Authority
BR
Brazil
Prior art keywords
application
gui
external application
sub
fact
Prior art date
Application number
BRPI0822544A
Other languages
English (en)
Inventor
N Suggs Bradley
K ODDIRAJU Chandar
Amo Immanuel
Nissen Oluf
Original Assignee
Hewlett Packard Development Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co filed Critical Hewlett Packard Development Co
Publication of BRPI0822544A2 publication Critical patent/BRPI0822544A2/pt
Publication of BRPI0822544B1 publication Critical patent/BRPI0822544B1/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control 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/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/125Frame memory handling using unified memory architecture [UMA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Abstract

sistema para combinar interfaces de aplicações externas e subaplicações e método para combinar interfaces de aplicações externas e subaplicações um sistema compreende armazenagem que inclui urna aplicação externa e urna subaplicação que está adaptada para fornecer urna funcionalidade para a aplicação externa. o sistema também compreende lógica de processamento acoplada à armazenagem e adaptada para executar a aplicação externa e a subaplicação. a lógica de processamento gera uma primeira interface gráfica de usuário (gui) usando a subaplicação e gera urna segunda gui usando a aplicação externa. a lógica de processamento exibe em um display a primeira gui sobreposta sobre a segunda gui a lógica de processamento captura entrada fornecida usando a primeira gui e provê a entrada para a subaplicação.

Description

SISTEMA PARA COMBINAR INTERFACES DE APLICAÇÕES EXTERNAS E SUBAPLICAÇÕES E MÉTODO PARA COMBINAR INTERFACES DE APLICAÇÕES EXTERNAS E SUBAPLICAÇÕES
Antecedentes
Sistemas de computadores executam vários tipos de aplicações de software. Muitas destas aplicações de software, conhecidas como subaplicações, são criadas para prover funcionalidades específicas para outras, aplicações mais compreensivas, conhecidas como 10 aplicações externas [shell àpplications]. Por esta razão, as aplicações externas são ditas a hospedar uma ou mais subaplicações. Por exemplo, um programa de software de correio eletrônico (e-mail) (p.ex., MICROSOFT® OUTLOOK®) pode usar um plug-in [programa de 15 computador para adicionar funções a outros grogramas] para criptografar e descriptografar mensagens de e-mail. Em tais casos, o programa de software de e-mail é referido como a aplicação externa, enquanto o plug-in de ~ criptografia ~ e descriptografia é referido como a 20 subaplicação. Em um outro exemplo, um sistema operacional (OS) pode usar uma aplicação de processamento de texto e uma aplicação de planilha eletrônica. Em tais casos, o OS é referido como a aplicação externa, enquanto as aplicações de processamento de texto e planilha 25 eletrônica são referidas como as subaplicações. Em geral, aplicação que hospede outra aplicação como acima pode ser referida como a aplicação Portanto, uma aplicação externa pode incluir que seja executada sob um OS ou o próprio OS. Similarmente, é hospedada por outra aplicação subaplicação.
pode até qualquer pode ser qualquer descrito externa uma aplicação mesmo incluir aplicação que geralmente referida como uma Subaplicações não operam independentemente externas.
uma aplicação externa aplicação externa, subaplicações com o
Pelo contrário, as subaplicações usando serviços Estes serviços protocolo que as de aplicações interagem com providos pela provêem as subaplicações requerem para se comunicar com a aplicação externa e para prover suas respectivas funcionalidades para a aplicação externa. Se os serviços da aplicação externa não estiverem disponíveis, as subaplicações são incapazes de 5 operar. As subaplicações são portanto ditas a serem dependentes da aplicação externa. Tal dependência é indesejável porque o processo pelo qual as subaplicações são desenvolvidas para serem compatíveis com aplicações externas é caro, tedioso e demorado.
Tanto a aplicação externa quanto as subaplicações geram dados gráficos para serem exibidos em um display do sistema. Devido às subaplicações serem dependentes da aplicação externa, tanto dados gráficos da subaplicação quanto dados gráficos da aplicação externa são exibidos 15 usando uma única interface gráfica de _ usuário .(GUI) _da aplicação externa. Como explicado acima, a eliminação da interdependência entre as aplicações externas e subaplicações é geralmente desejável. Entretanto, tal _ eliminação impede a exibição de dados gráficos da subaplicação usando a GUI da aplicação externa. Assim, as subaplicações são deixadas sem um meio efetivo para exibir seus dados gráficos.
Descrição resumida dos desenhos
Para uma descrição detalhada de configurações exemplares da invenção, referência será feita agora aos desenhos anexos nos quais:
A figura 1 mostra um sistema de computador ilustrativo implementando as técnicas divulgadas aqui, de acordo com suas configurações;
A figura 2 mostra um diagrama de blocos ilustrativo da lógica do circuito armazenada dentro do sistema da figura 1, de acordo com configurações; ·
A figura 3A mostra um display e interface gráfica de usuário (GUI) ilustrativos associados com o sistema da 35 figura 1, de acordo com configurações;
A figura 3B mostra um diagrama conceituai demonstrando a operação de técnicas divulgadas aqui, de acordo com tf configurações; e
A figura 4 mostra um diagrama de fluxo de um método ilustrativo implementado de acordo com várias configurações.
Notação e nomenclatura
Certos termos são usados através de toda a descrição e reivindicações seguintes para se referir a particulares componentes do sistema. Como alguém experiente na técnica apreciará, as companhias podem se referir a um componente 10 por nomes diferentes. Este documento não pretende distinguir entre componentes que diferem de nome mas não de função. Na discussão seguinte e nas reivindicações, os termos incluindo e compreendendo são usados de um modo ilimitado, e portanto devem ser interpretados a 15 significar incluindo, mas não limi tadp _ a Também, - o ~ ' 'termo acopla ou se acopla é intencionado a significar qualquer de uma conexão indireta, direta, ótica ou elétrica sem fio. Portanto, se um primeiro dispositivo se - * - -acopla’ a“ um' segundo dispositivo, aquela conexão pode ser através de uma conexão elétrica direta, por uma conexão elétrica indireta via outros dispositivos e conexões, através de uma conexão elétrica ótica, ou através de uma conexão elétrica sem fio.
Descrição detalhada
A discussão seguinte é dirigida a várias configurações da invenção. Embora uma ou mais destas configurações possam ser preferidas, as configurações divulgadas não devem ser interpretadas, ou de outra forma usadas, como limitando o ----—escopo dá divulgação, incluindo as reivindicações. Em adição, alguém experiente na técnica entenderá que a descrição seguinte tem ampla aplicação, e a discussão de qualquer configuração é pretendida a ser somente exemplar daquela configuração, e não intencionada a intimar que o escopo da divulgação, incluindo as reivindicações, está limitado àquela configuração.
É divulgada aqui uma técnica que compreende executar independentemente aplicações externas e subaplicações
enquanto exibindo informações baseadas na GUI para cada uma das aplicações externas e subaplicações em um display comum. Especificamente, a(s) GUI(s) associada(s) com uma subaplicação são renderizadas (ou sobrepostas) sobre a 5 GUI da aplicação externa. Deste modo, parece para um usuário final que a aplicação externa está alojando a subaplicação, embora as aplicações estejam realmente sendo executadas independentemente. Quando o usuário final interage com a GUI de subaplicação que está 10 sobreposta sobre a GUI da aplicação externa, a aplicação externa captura a entrada do usuário e a transfere para a subaplicação. Alternativamente, a subaplicação captura a entrada do usuário diretamente. Em qualquer caso, a aplicação externa proporciona a ilusão que ela está 15 alojando a subaplicação, enquanto_ na _ realidade- a ~ aplicação externa e subaplicação são executadas separadamente. Assim, os problemas descritos anteriormente são mitigados enquanto mantendo a - - - transparência'para õ usuário final. A técnica descrita acima e agora elucidada adicionalmente com referência à figura 1 abaixo.
A figura 1 mostra um implementando a técnica várias configurações. O 25 compreende um chassis 102,
sistema de computador 100
divulgada aqui de acordo com
sistema de computador 100
um display 104 , um teclado 106
e um mouse 108. Outros dispositivos de entrada e/ou saída também podem ser usados. Adicionalmente, embora o sistema de computador 100 seja descrito aqui como sendo um computador pessoal desktop, a técnica divulgada aqui pode 30 ser implementada em qualquer tipo adequado de sistema de computador, incluindo notebooks/laptops, assistentes digitais pessoais, tocadores de música portáteis, dispositivos de comunicação móveis, e qualquer e todos os dispositivos eletrônicos que sejam capazes de executar programas de software.
A figura 2 mostra uma vista detalhada dos conteúdos do chassis 102 da figura 1. Especificamente, o chassis 102 compreende lógica de processamento 200 e armazenagem 202 (p.ex., memória de acesso randômico (RAM)) compreendendo uma aplicação externa 204 e múltiplas subaplicações 206208. Em pelo menos algumas configurações, a lógica de 5 processamento 200 inclui um processador ou um microprocessador com firmware [software de inicialização] embutido em memória a bordo. O firmware pode compreender código de software que, quando executado, permite a lógica de processamento 200 renderizar GUIs no display 10 104 usando dados gráficos obtidos executando a aplicação externa 204 e/ou uma ou mais das subaplicações 206-208. A lógica de processamento 200 pode executar funções adicionais adequadas às operações do sistema de computador 100. Como mencionado anteriormente, o chassis 15 102 se acopla ao teclado 106 e ^mouse ^108,. .que. -são ' ~iféferidõs' genericamente na figura 2 como dispositivos de entrada 210. Os dispositivos de entrada 210 podem compreender tipos adicionais de dispositivos além de _ . - teclados e mouses; *tãis 'cònío telas de toque, dispositivos de entrada ativados por voz, etc. Em algumas configurações, o display 104 pode ser uma tela de toque, em cujo caso o display 104 pode compreender tanto um dispositivo de saída quanto um dispositivo de entrada
210. Em operação, a lógica de processamento 200 executa a aplicação externa 204 e uma ou mais das subaplicações
206-208. Por exemplo, a lógica de processamento 200 pode executar a aplicação externa 204 e a subaplicação 206. A aplicação externa 204 compreende código de software que, quando executado, faz a lógica de processamento 200 gerar uma GUI no display 104. A figura 3A mostra tal GUI 300. A
GUI 300 gerada usando a aplicação externa 204 pode ser de qualquer tipo adequado. As subaplicações 206-208 compreendem código de software que, quando executado, faz a lógica de processamento 200 gerar uma outra GUI no 35 display 104. A figura 3A mostra tal GUI 302. Como mostrado, a GUI 302 está sobreposta sobre a GUI 300. As
GUIs 300 e 302 são independentes entre si no sentido que os dados gráficos exibidos usando a GUI 300 são recebidos diretamente da aplicação externa 204 e os dados gráficos exibidos usando a GUI 302 são recebidos diretamente de uma das subaplicações 206-208. Em algumas configurações, entretanto, os dados gráficos de uma subaplicação 206-208 podem ser providos para a GUI 302 via a aplicação externa 204. _
Em pelo menos algumas configurações, quando executando a aplicação externa 204, a lógica de processamento 200 não 10 hospeda a subaplicação 206 usando a aplicação externa
204. Registrado de outra forma, a aplicação externa 204 e subaplicação 206 são independentes entre si tal que a subaplicação 206 não dependa da aplicação externa 204 para execução correta. Ao contrário, a lógica de processamento 200 executa a aplicação externa .204 -e* a ” ‘ subaplicação 206 separadamente, significando que a aplicação externa 204 e a subaplicação 206 operam em seu próprio espaço de processamento independentemente tal_que , . = - - -a memória- e “outrõs’ recursos não são compartilhados (ou pelo menos são compartilhados em um grau menor do que se as técnicas divulgadas aqui não fossem implementadas). A aplicação externa 204 e subaplicação 206 podem ser executadas independentemente entre si porque a aplicação externa 204 não está programada para requerer a subaplicação 206 aderir a qualquer protocolo específico para se comunicar com a aplicação externa 204. Portanto, a aplicação externa 204 não fornece os serviços descritos acima para a subaplicação 206, nem a -----subaplicação 206 requer serviços para fornecer suas funcionalidades para a aplicação externa 204.
Por exemplo, uma aplicação externa 204 pode compreender um OS e uma subaplicação 206 pode compreender uma aplicação de processamento de texto. Ao invés de prover a aplicação de processamento de texto com serviços com os 35 quais se comunicar com o OS, o OS é programado especificamente (p.ex., por um fabricante) para aceitar comunicações da aplicação de processamento de texto independente comunicação é entre o OS e de se qualquer seguido. Deste a aplicação de eliminada.
particular protocolo de modo, a interdependência processamento de texto é
Entretanto, como explicado anteriormente, tal eliminação da interdependência entre a aplicação externa 204 e a subaplicação 206 é problemática em que ela deixa a subaplicação 206 sem um meio efetivo pelo qual exibir seus dados gráficos. Em pelo menos algumas configurações, 10 tal problema é mitigado como segue. Quando executada, a subaplicação 206 faz a lógica de processamento 200 produzir uma ou mais GUIs 302, como mostrado na figura 3A. A lógica de processamento 202 renderiza esta(s) GUI(s) 302 sobre a GUI 300 usando qualquer técnica ou 15 tecnologia adequada, tal como MICROSOFT® _ VISTA® JDesktop ' ' Window Manager (DWM). Devido à(s) GUI(s) 302 da subaplicação ser(em) sobrepostas sobre a GUI 300 da aplicação externa, parece para um usuário que está vendo - -—o display'104“qüe~a’aplicação externa 204 está alojando a 20 subaplicação 206. Entretanto, como explicado anteriormente, a aplicação externa 204 não está hospedando a subaplicação 206; ao contrário, a lógica de processamento 200 está renderizándo a(s) GUI(s) 302 da subaplicação sobre a GUI 300 da aplicação externa para 25 criar a ilusão que a aplicação externa 204 está alojando a subaplicação 206. Esta ilusão facilita a transparência para o usuário e a facilidade de uso.
Em algumas configurações, a(s) GUI(s) 302 da subaplicação pode(m) ser passiva(s). Por exemplo, uma GUI 302 pode ser 30 exibida simplesmente para reforço estético da GUI 300 (p.ex., como ornamentação). Em contraste, algumas configurações podem fornecer a um usuário final do sistema de computador 100 uma oportunidade para interagir com a(s) GUI(s) 302, permitindo desta forma a GUI 302 35 prover uma ou mais funcionalidades para a GUI 300 e a aplicação externa 204. Por exemplo, uma GUI 302 pode compreender um formulário preenchivel que inclua vários campos 304 nos quais texto pode ser alimentado, como mostrado na figura 3A. Em um outro exemplo, a GUI 302 pode compreender um ou mais botões que podem ser clicados usando um cursor de mouse. Em ainda um outro exemplo, o display 104 pode ser um display de tela de toque, e então a GUI 302 pode compreender áreas sensíveis ao toque que recebem entrada do usuário via uma ponta, dedo, etc. Qualquer e todas tais variações estão incluídas dentro do escopo desta divulgação.
Em tais configurações, o usuário final pode prover entrada para o sistema de computador 100 em resposta à(s) GUI(s) 302 exibida (s) para o usuário final. Por sua vez, a lógica de processamento 200 pode capturar tal entrada de usuário e pode prover a entrada para a aplicação externa 204, a subaplicação 206,^ ou _ambas^ _Em algumas ’ ' configurações, a lógica de processamento 200 pode prover a entrada de usuário para a aplicação externa 204 que, por sua vez, pode prover a entrada de usuário para a - - - ~ subaplicãção’206r Em_ainda outras configurações, a lógica de processamento 200 provê a entrada de usuário diretamente para a subaplicação 206 que, por sua vez, pode opcionalmente prover a entrada de usuário para a aplicação externa 204.
Por exemplo, assume-se que a aplicação externa 204 compreenda software usado para fazer pedidos de produtos, e adicionalmente assume-se que a subaplicação 206 compreenda um plug-in que é usável pela aplicação externa 204 para gerar e guardar formulários de pedidos.
- ~ Consequentemente, a aplicação externa 204 provê uma GUI primária sobre a qual a GUI secundária da subaplicação é imposta, ou renderizada. Parece ao usuário final que a aplicação externa 204 está alojando a subaplicação 206, embora, como explicado acima, este não seja o caso. O usuário final usa o teclado 106 e mouse 108 para alimentar informações nos campos do formulário de pedido da GUI secundária. Por exemplo, o usuário final pode alimentar um nome, endereço de cobrança, número de cartão de crédito, etc. Uma vez que o usuário final terminou de alimentar informações no formulário de pedido, o usuário final pode clicar em Guardar ou um botão similar para indicar que o formulário de pedido está completo'. Como um resultado, em algumas configurações, a lógica de processamento 200 pode prover os dados diretamente a partir da aplicação externa 204 para a subaplicação 206. Em outras configurações, a lógica de processamento 200 pode fazer os dados serem fornecidos a partir do usuário final para a GUI secundária e providos diretamente para a subaplicação 206, desviando assim da aplicação externa 204 .
Uma subaplicação pode receber entrada de usuário diretamente do usuário final ou do usuário final por meio da aplicação externa. Várias técnicas podem, ser _ usadas para implementar qualquer destes métodos. Por exemplo, em algumas configurações, uma seção da GUI da aplicação externa que contenha exibições dinâmicas pode ser removida’ er tornada transparente. A porção transparente da GUI da aplicação externa pode então ser substituída com a GUI da subaplicação (p.ex., usando WINDOWS® VISTA® DWM) , permitindo desta forma o usuário final alimentar informações diretamente para a GUI da subaplicação. Em algumas configurações, a GUI da aplicação externa (ou janela de exibição dinâmica) pode ser completamente transparente. A GUI da subaplicação pode então ser renderizada na mesma posição que (ou por trás de) a GUI da aplicação externa. Deste modo, o usuário final está capacitado à alimentar informações diretamente na GUI da subaplicação. Em algumas configurações, uma GUI de subaplicação Chromeless [tipo especial de janela extraída da interface convencional] sobreposta sobre parte ou externa, permitindo desta entrada diretamente para a GUI da e todas tais variações estão abrangidas dentro pode toda forma ser dimensionada e a GUI da ao usuário aplicação fornecer subaplicação.
Qualquer do escopo desta divulgação.
A figura 3B mostra um diagrama conceituai das técnicas divulgadas aqui em operação. A armazenagem 202 compreende a aplicação externa 204 e a subaplicação 206. Os dados gráficos gerados usando a subaplicação 206 são 5 transmitidos diretamente para o display 104 e são exibidos usando a GUI 302, como indicado pela seta 306. Por diretamente, é intencionado que a lógica de processamento 200 faça os dados gráficos serem transferidos da subaplicação 206 para a GUI 302 sem 10 primeiro prover os dados gráficos para a aplicação externa 204. Entretanto, em algumas configurações, os dados gráficos podem ser transferidos da subaplicação 206 para a GUI 302 via a aplicação externa 204 (isto é, os dados gráficos são transferidos indiretamente) como 15 indicado pelas setas 307. Do mesmo modo,= _os _ dados ~ gráficos' 'gerados usando a aplicação externa 204 são transferidos diretamente para o display 104 e são exibidos usando a GUI 300, como indicado pelas setas 308.
. - -A- -aplicação - externa 204' 'e' a subaplicação 206 são 20 executadas independentemente de cada outra, como explicado acima, tal que a aplicação externa 204 não forneça serviços para a subaplicação 206. Também, como explicado, os dados gráficos da subaplicação 206 podem · ser fornecidos diretamente para a GUI 302 usando qualquer 25 técnica ou tecnologia adequada, tal como WINDOWS® VISTA® PWM.
Ainda se referindo à figura 3B, a entrada de dados na GUI 302 (p.ex., por um usuário final), incluindo cliques de mouse, toques (sé o display 104 for uma tela de toque) , 30 texto, etc., pode ser provida diretamente a partir da GUI
302 para a subaplicação 206 Por diretamenté, processamento 200 transferida da GUI faz
302 , como indicado significado que a entrada de pela seta a lógica usuário de ser para primeiro prover a entrada de externa 204. Entretanto, em sem a subaplicação 206 usuário para a aplicação algumas configurações, a entrada de usuário pode ser transferida indiretamente para a subaplicação 206 via a aplicação externa 204 como indicado pelas setas 311. Similarmente, a entrada de usuário provida pela GUI 302 pode ser transferida diretamente para a aplicação externa 204, como indicado pela seta 312. .
Independente da particular técnica usada para exibir as GUIs da subaplicação no display 104, em pelo menos algumas configurações, as GUIs da subaplicação podem ser renovadas em uma taxa pré-determinada, regular, ou em uma taxa irregular. Adicionalmente, a aplicação externa e subaplicações podem compartilhar um recurso comum, tal como um arquivo de eXtensible Application Markup Language (XAML) [Linguagem de marcação de aplicação extensível], cada um dos quais pode especificar um tema que permita as GUIs no display 104 terem uma aparência. § .sensação ' unificadas.
Embora configurações ilustrativas sejam descritas acima em termos de uma única subaplicação e uma aplicação -externa; *em 'arguma^s configurações, qualquer número de subaplicações e/ou aplicações externas podem ser usadas. Por exemplo, a GUI de uma aplicação externa única pode ter sobreposta sobre ela as GUIs de múltiplas subaplicações. Em um outro exemplo, as GUIs de múltiplas aplicações externas podem ser exibidas simultaneamente no display, cada GUI de aplicação externa tendo sobreposta sobre ela qualquer número de GUIs de subaplicação.
A técnica descrita aqui é implementada em sistemas de computadores discretos (isto é, sistemas de computadores cujos componentes não estão ligados por uma conexão de rede) . Assim, por exemplo, a aplicação externa e a(s) sub-aplicação(ões) pode(m) ser armazenadas no mesmo dispositivo de armazenagem ou em múltiplos dispositivos de armazenagem, todos os quais são alojados dentro de um chassis comum. Em pelo menos algumas configurações, a aplicação externa e subaplicação(ões) não são armazenadas em dispositivos de armazenagem que estão comunicavelmente acoplados via uma ou mais redes (p.ex., a Internet, redes de área local ampla (WLAN) ) . Por exemplo, a técnica pode ser implementada em um sistema de computador discreto que inclua um display, chassis de computador, e dispositivos de entrada/saida, em um sistema de comunicação móvel 5 discreto, etc.
A figura 4 mostra um diagrama de fluxo de um método 4 00 implementado de acordo com várias configurações. O método
400 começa lançando uma aplicação externa (bloco 402) e uma subaplicação (bloco transferindo uma imagem aplicação externa ou,
404). 0 método de subaplicação em algumas
400 continua (GUI) para a configurações, diretamente para o próprio display (bloco 406) . O método
400 então compreende prover dados de entrada de usuário para a imagem de subaplicação (bloco 408) . O método 400 15 também compreende coletar os dados ~ de _ entrada _ e 'transferir os dados de entrada para a subaplicação (bloco
410), seja diretamente ou via uma trajetória indireta que inclua uma aplicação externa. As etapas do método 400
- - -podem- ser- executarias'em qualquer ordem adequada.
A discussão acima é pretendida a ser ilustrativa dos princípios e de várias configurações da presente invenção. Numerosas variações e modificações tornar-se-ão aparentes àqueles experientes na técnica uma vez que a divulgação acima seja apreciada completamente. É intencionado que as reivindicações seguintes sejam interpretadas para abranger todas tais variações e modificações.

Claims (18)

  1. REIVINDICAÇÕES
    1. Sistema compreendendo:
    armazenagem compreendendo uma aplicação externa (204) (shell application) e uma subaplicação, a citada subaplicação (206) é adaptada para prover uma funcionalidade para a aplicação externa (204); e lógica de processamento (200) acoplada à armazenagem e adaptada para executar a aplicação externa (204) e a subaplicação (206);
    sendo que a lógica de processamento gera uma primeira interface gráfica de usuário (GUI) usando a subaplicação e gera uma segunda GUI usando a aplicação externa (204); sendo que a lógica de processamento exibe em um display (104) a primeira GUI (302) sobreposta sobre a segunda GUI (300);
    sendo que a lógica de processamento captura a entrada fornecida pela primeira GUI e provê tal entrada para a subaplicação, o sistema é caracterizado pelo fato de a aplicação externa (204) não hospedar a subaplicação quando a lógica de processamento gera a segunda GUI ou quando a lógica de processamento provê a segunda GUI para um display.
  2. 2. Sistema, de acordo com a reivindicação1, caracterizado pelo fato de a subaplicação compreenderum plug-in usável pela aplicação externa.
  3. 3. Sistema, de acordo com a reivindicação1, caracterizado pelo fato de a lógica de processamento não usar uma conexão de rede para prover a citada entrada para a subaplicação.
  4. 4. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de compreender adicionalmente um display de tela de toque, sendo que o display de tela de toque exibe a segunda GUI, e sendo que a lógica de processamento usa o display da tela de toque para capturar a citada entrada.
  5. 5. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de a lógica de processamento
    Petição 870190040545, de 29/04/2019, pág. 7/14
    2 / 4 prover a citada entrada diretamente para a subaplicação sem primeiro fornecê-la para a aplicação externa.
  6. 6. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de a lógica de processamento fornecer a citada entrada para a aplicação externa, e sendo que a lógica de processamento fornece a citada entrada a partir da aplicação externa para a subaplicação.
  7. 7. Sistema compreendendo:
    um display (104); e armazenagem compreendendo uma aplicação externa (204) e uma aplicação plug-in usável para prover uma funcionalidade para a aplicação externa (204);
    sendo que o display exibe uma interface gráfica de usuário (GUI) associada com a aplicação plug-in enquanto o display exibe uma outra GUI associada com a aplicação externa (204);
    sendo que o sistema captura entrada usando a GUI e fornece a citada entrada diretamente para a aplicação plug-in, o sistema é caracterizado pelo fato de a citada aplicação externa (204) e a aplicação plug-in serem executadas independentemente de cada outra tal que a falha da aplicação plug-in não precipite a falha da aplicação externa (204).
  8. 8. Sistema, de acordo com a reivindicação 7, caracterizado pelo fato de dados gráficos serem providos diretamente da citada aplicação plug-in para a GUI, e sendo que a citada entrada é provida diretamente para a aplicação plug-in sem primeiro ser provida para a aplicação externa.
  9. 9. Sistema, de acordo com a reivindicação 7, caracterizado pelo fato de compreender um dispositivo selecionado do grupo consistindo de um computador pessoal, um dispositivo de comunicação móvel, um assistente digital pessoal e um tocador de música portátil.
  10. 10. Sistema, de acordo com a reivindicação 7,
    Petição 870190040545, de 29/04/2019, pág. 8/14
    3 / 4 caracterizado pelo fato de o display exibir a citada GUI em lugar de uma porção transparente da citada uma outra GUI.
  11. 11. Sistema, de acordo com a reivindicação 7, caracterizado pelo fato de uma conexão de rede não ser usada para prover a citada entrada para a aplicação plugin.
  12. 12. Sistema, de acordo com a reivindicação 7, caracterizado pelo fato de o citado display compreender uma tela de toque que é usada para capturar a citada entrada.
  13. 13. Método, caracterizado pelo fato de compreender: exibir uma primeira interface gráfica de usuário (GUI), a primeira GUI correspondendo a uma aplicação externa (204);
    exibir uma segunda GUI (302) sobreposta à primeira GUI (300), a segunda GUI correspondendo a uma aplicação plugin usável para prover uma funcionalidade para a aplicação externa (204);
    prover entrada para a segunda GUI; e transferir a entrada da segunda GUI para a aplicação plug-in;
    sendo que a aplicação externa (204) não utiliza recursos da aplicação plug-in.
  14. 14. Método, de acordo com a reivindicação 13, caracterizado pelo fato de compreender adicionalmente renovar a citada segunda GUI em intervalos prédeterminados.
  15. 15. Método, de acordo com a reivindicação 13, caracterizado pelo fato de transferir a entrada a partir da segunda GUI para a aplicação plug-in compreender transferir a citada entrada diretamente para a aplicação plug-in.
  16. 16. Método, de acordo com a reivindicação 13, caracterizado pelo fato de transferir a entrada da segunda GUI para a aplicação plug-in compreender primeiro transferir a citada entrada para a aplicação externa.
    Petição 870190040545, de 29/04/2019, pág. 9/14
    4 / 4
  17. 17. Método, de acordo com a reivindicação 13, caracterizado pelo fato de exibir a citada primeira GUI e a citada segunda GUI compreender executar a aplicação externa e a aplicação plug-in independentemente de cada
    5 outra.
  18. 18. Método, de acordo com a reivindicação 13, caracterizado pelo fato de exibir a citada segunda GUI compreender usar um display construído em um dispositivo selecionado a partir do grupo consistindo de um
    10 computador desktop, um computador notebook, um assistente digital pessoal, um dispositivo de comunicação móvel, um tocador de música portátil e um dispositivo de tela de toque.
BRPI0822544A 2008-08-29 2008-08-29 sistema para combinar interfaces de aplicações externas e subaplicações e método para combinar interfaces de aplicações externas e subaplicações BRPI0822544B1 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/074785 WO2010024820A2 (en) 2008-08-29 2008-08-29 Combining interfaces of shell applications and sub-applications

Publications (2)

Publication Number Publication Date
BRPI0822544A2 BRPI0822544A2 (pt) 2015-06-23
BRPI0822544B1 true BRPI0822544B1 (pt) 2019-09-03

Family

ID=41722175

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0822544A BRPI0822544B1 (pt) 2008-08-29 2008-08-29 sistema para combinar interfaces de aplicações externas e subaplicações e método para combinar interfaces de aplicações externas e subaplicações

Country Status (8)

Country Link
US (1) US9665381B2 (pt)
JP (1) JP5384638B2 (pt)
KR (1) KR101512010B1 (pt)
CN (1) CN102138122A (pt)
BR (1) BRPI0822544B1 (pt)
DE (1) DE112008003965T5 (pt)
GB (1) GB2476889B (pt)
WO (1) WO2010024820A2 (pt)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101134116B1 (ko) * 2010-08-19 2012-04-09 주식회사 잉카인터넷 응용프로그램과 부가응용프로그램의 결합 방법 및 실행 방법
US9413815B2 (en) * 2011-01-05 2016-08-09 Appcitylife, Inc. Methods and apparatuses for imparting functionality to a mobile computing device
US9843665B2 (en) * 2011-05-27 2017-12-12 Microsoft Technology Licensing, Llc Display of immersive and desktop shells
US10417018B2 (en) * 2011-05-27 2019-09-17 Microsoft Technology Licensing, Llc Navigation of immersive and desktop shells
DE102013202020A1 (de) * 2013-02-07 2014-08-07 Robert Bosch Gmbh Graphisches Bildschirmelement
US20140372935A1 (en) * 2013-06-14 2014-12-18 Microsoft Corporation Input Processing based on Input Context
US9760255B2 (en) 2014-02-24 2017-09-12 Microsoft Technology Licensing, Llc Propagating theming information from host applications to host extensions
KR102000266B1 (ko) 2016-01-15 2019-07-15 구글 엘엘씨 애플리케이션 인스턴스들에 걸친 식별자들
US9817648B2 (en) 2016-01-15 2017-11-14 Google Inc. Application containers with dynamic sub-package loading
JP6195964B1 (ja) 2016-04-15 2017-09-13 ネイバー コーポレーションNAVER Corporation アプリケーション制作装置及びその方法、アプリケーション駆動装置、並びにコンピュータプログラム
US11138551B2 (en) 2018-05-30 2021-10-05 Walmart Apollo, Llc Bundled application for load management system
JP7401197B2 (ja) * 2019-05-29 2023-12-19 キヤノン株式会社 撮像装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633309B2 (en) * 1999-08-16 2003-10-14 University Of Washington Interactive video object processing environment having concurrently active subordinate windows
US6871348B1 (en) * 1999-09-15 2005-03-22 Intel Corporation Method and apparatus for integrating the user interfaces of multiple applications into one application
JP2002014760A (ja) * 2000-06-30 2002-01-18 Sanyo Electric Co Ltd 仮想キーボード
US6734873B1 (en) * 2000-07-21 2004-05-11 Viewpoint Corporation Method and system for displaying a composited image
KR20020083378A (ko) * 2001-04-27 2002-11-02 와이룩코리아 주식회사 드롭다운 창을 통한 검색 서비스 제공 방법
US7072810B2 (en) * 2001-06-08 2006-07-04 Tata Consultancy Services Limited Method and apparatus for pattern based generation of graphical user interfaces (GUI)
US20030079052A1 (en) * 2001-10-24 2003-04-24 Kushnirskiy Igor Davidovich Method and apparatus for a platform independent plug-in
US7165099B2 (en) * 2002-03-15 2007-01-16 Qualcomm Inc. Dynamically downloading and executing system services on a wireless device
CN1653419A (zh) * 2002-05-17 2005-08-10 皇家飞利浦电子股份有限公司 在浏览器上呈现第一媒体类型内容
JP4496517B2 (ja) * 2003-02-27 2010-07-07 俊彦 岡部 検索文字入力装置、方法、プログラム及びwwwブラウザ装置
GB2404317A (en) * 2003-10-03 2005-01-26 Sendo Int Ltd Representing an application or data using a shell application
US7839419B2 (en) * 2003-10-23 2010-11-23 Microsoft Corporation Compositing desktop window manager
US8276095B2 (en) * 2004-02-20 2012-09-25 Advanced Intellectual Property Group, Llc System for and method of generating and navigating within a workspace of a computer application
US20070061722A1 (en) * 2005-09-13 2007-03-15 International Business Machines Corporation Transparency learning aide skin for GUI-based applications
AU2008206204B2 (en) * 2007-01-18 2012-03-01 Coupons.Com Incorporated System and method for controlling distribution of electronic coupons
CN101291402B (zh) * 2007-04-18 2011-06-15 深圳Tcl新技术有限公司 一种功能界面图片组合使用的方法及装置
WO2009139843A1 (en) * 2008-05-13 2009-11-19 Google Inc. Separate plug-in processes in browsers and applications thereof
US8352967B2 (en) * 2008-11-10 2013-01-08 Google Inc. Safe browser plugins using native code modules

Also Published As

Publication number Publication date
JP5384638B2 (ja) 2014-01-08
BRPI0822544A2 (pt) 2015-06-23
US20110119684A1 (en) 2011-05-19
KR101512010B1 (ko) 2015-04-15
JP2011530764A (ja) 2011-12-22
GB2476889B (en) 2013-04-10
DE112008003965T5 (de) 2011-07-14
WO2010024820A2 (en) 2010-03-04
US9665381B2 (en) 2017-05-30
KR20110055532A (ko) 2011-05-25
GB2476889A (en) 2011-07-13
WO2010024820A3 (en) 2010-07-01
CN102138122A (zh) 2011-07-27
GB201103179D0 (en) 2011-04-06

Similar Documents

Publication Publication Date Title
BRPI0822544B1 (pt) sistema para combinar interfaces de aplicações externas e subaplicações e método para combinar interfaces de aplicações externas e subaplicações
US20210365181A1 (en) Dynamic Command Presentation and Key Configuration for Keyboards
KR101149993B1 (ko) 통합 개발 환경에서 디자이너로서 호스트된 애플리케이션
US7143213B2 (en) Attaching services to commanding elements matching command binding if the matching binding is found in either the table of bindings or servicing bindings
JP5757533B2 (ja) ウェブブラウザ経由のアプリケーションに対するコンテンツ入力
US20080250325A1 (en) Integrated Development Environment with Object-Oriented GUI Rendering Feature
US8935623B1 (en) Automatic API generation to functional PSoC blocks
US20100318894A1 (en) Modifications to Editable Elements of Web Pages Rendered in Word Processor Applications
US20180275835A1 (en) System and method for on-screen graphical user interface encapsulation and reproduction
US20150347005A1 (en) Key combinations toolbar
US20140047318A1 (en) Browser-level background page for providing multiple views
KR20130121692A (ko) 동적 입력 장치의 맥락 제어
US20080155406A1 (en) Gui generation apparatus and method for generating gui
US8302070B2 (en) Output styling in an IDE console
US8633902B2 (en) Touch input for hosted applications
Arthur et al. Xice windowing toolkit: Seamless display annexation
US20050104859A1 (en) Dynamically-generated commanding interface
AU9597498A (en) System to associate control with applications using drag and drop interface
Cohen et al. GUI design for Android apps
US20210232408A1 (en) Simulated Visual Hierarchy While Facilitating Cross-Extension Communication
KR20140116400A (ko) 고능률 캐스케이딩 동작을 가능하게 하는 기법
Meisels Software Manual for Windows Z/EVES Version 2.1
CN107179899B (zh) 一种轻量级信息的窗口展示方法及装置
Adler et al. TellTable: a server for collaborative office applications
Guan et al. Application of API Functions in the Visualization Platform

Legal Events

Date Code Title Description
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 03/09/2019, OBSERVADAS AS CONDICOES LEGAIS. (CO) 10 (DEZ) ANOS CONTADOS A PARTIR DE 03/09/2019, OBSERVADAS AS CONDICOES LEGAIS

B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 15A ANUIDADE.

B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)

Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2737 DE 20-06-2023 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.