BRPI0612625A2 - ambiente de trabalho baseado em contexto - Google Patents

ambiente de trabalho baseado em contexto Download PDF

Info

Publication number
BRPI0612625A2
BRPI0612625A2 BRPI0612625-1A BRPI0612625A BRPI0612625A2 BR PI0612625 A2 BRPI0612625 A2 BR PI0612625A2 BR PI0612625 A BRPI0612625 A BR PI0612625A BR PI0612625 A2 BRPI0612625 A2 BR PI0612625A2
Authority
BR
Brazil
Prior art keywords
context
references
task
computer system
relevant
Prior art date
Application number
BRPI0612625-1A
Other languages
English (en)
Inventor
Maarten Willem Mullender
David Paul Hill
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of BRPI0612625A2 publication Critical patent/BRPI0612625A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

AMBIENTE DE TRABALHO BASEADO EM CONTEXTO. A presente invenção se refere a métodos, sistemas, e a produtos de programa de computador para a provisão de um ambiente de trabalho baseado em contexto. Em algumas modalidades, um sistema de computador é configurado para minar os relacionamentos a fim de capturar referências relevantes a um contexto. Em outras modalidades, um sistema de computador adiciona uma referência a um contexto. Em ainda outras modalidades, um sistema de computador executa uma tarefa quando o foco é deslocado da tarefa entre o desempenho de uma porção diferente da tarefa. Por conseguinte, as modalidades da presente invenção promovem uma manipulação de dados mais eficiente em um sistema de computador e podem reduzir (de uma forma potencialmente importante) a quantidade de trabalho que tem de refeito quando um trabalhador sai e em seguida retoma a tarefa.

Description

"AMBIENTE DE TRABALHO BASEADO EM CONTEXTO"
FUNDAMENTOS DA INVENÇÃO
Os sistemas de computador e sua tecnologia rela-cionada afetam muitos aspectos da sociedade. Com efeito, acapacidade de o sistema de computador processar informaçõestransformou a maneira como vivemos e trabalhamos. Os moder-nos sistemas de computador geralmente realizam um grupo detarefas (por exemplo, o processamento de texto, a programa-ção de execução, e o gerenciamento de banco de dados) queantes do advento do sistema de computador eram feitas manu-almente. Mais recentemente, os sistemas de computador se a-coplaram uns aos outros e a outros dispositivos eletrônicosde modo a formar redes de computador conectadas a fio e semfio através das quais os sistemas de computador e outrosdispositivos eletrônicos podem transferir dados eletrônicos.Como um resultado, muitas tarefas realizadas em um sistemade computador (por exemplo, comunicação por voz, acesso aocorreio eletrônico, controle equipamentos eletrônicos domés-ticos, navegação na Rede Mundial, e impressão de documentos)incluem a troca de mensagens eletrônicas entre um número desistemas de computador e/ou outros dispositivos eletrônicosvia redes de computador de conexão fisica a fio e/ou sem fio.
Em virtualmente qualquer ambiente computacional,os usuários com freqüência comutam entre componentes confi-gurados diferentemente, como, por exemplo, entre diferentesaplicações e/ou diferentes dados. Não raro, estas diferentesaplicações e diferentes dados são relevantes uns aos outros.Por exemplo, nos sistemas em Linha de Negócio ("LOB"), asreferências com freqüência se referem a instâncias, tais co-mo, por exemplo, de um cliente especifico, de um pedido es-pecifico, ou de um produto especifico. Sendo assim, no cursode preparo de uma proposta de cliente, um gerente de vendaspoderá querer comparar um número de produtos alternativos devários fornecedores para então decidir sobre uma estratégiade produto. Por conseguinte, cada. produto alternativo é re-levante para qualquer outro produto alternativo e para aproposta do cliente.
Com freqüência, a manipulação de diferentes tiposde dados através do uso de diferentes aplicações faz partede um processo acionado por uma pessoa iniciado e entendidopor um usuário de um sistema de computador. Por exemplo, ogerente de vendas pode acessar os dados de produto de dife-rentes fornecedores, usando, potencialmente, diferentes a-plicações. Alguns dados de produto podem ser obtidos atravésde correio eletrônico, outros através de navegação na Redemundial, outros ainda através de comunicação por telefone,etc. Poderá ser uma responsabilidade do gerente de vendas,neste caso, compilar um sumário da proposta de clientes paraos executivos da empresa. No entanto, a partir da perspecti-va de um sistema de computador que executa as aplicações emanipula os dados, o processo é um processo desestruturado.Ou seja, o processo a partir do acesso a dados de produtoatravés de diferentes aplicações e em seguida da compilaçãode um sumário existe na cabeça de um gerente de vendas, con-tudo nenhuma descrição formal do processo é conhecido dosistema de computador. Deste modo, não existe tipicamentenenhuma assistência baseada em computador que provenha umstatus geral de tarefa ou uma orientação baseada em computa-dor na coordenação de aplicações. Por conseguinte, a cargapara a manutenção de um status de tarefa e para a coordena-ção de aplicações recai sobre o gerente de vendas.
Deste modo, se um usuário tiver de suspender otrabalho em um processo acionado por uma pessoa (por exem-plo, para trabalhar em algum outro processo), freqüentementenão existe nenhuma maneira fácil para retornar ao ponto noprocesso no qual o trabalho foi suspenso. Ou seja, não hátipicamente nenhum mecanismo baseado em computador que rea-lize a suspensão e a retomada de uma tarefa que se estendepor múltiplos tipos de dados, aplicações, etc. Como um re-sultado, o usuário, com freqüência, precisará lembrar ondeele estava. Quando um usuário não é preciso em sua lembran-ça, ele poderá precisar refazer uma certa quantidade de tra-balho já previamente realizado. Por exemplo, ao retornar pa-ra o cliente um projeto proposto, o gerente de vendas deveráter de localizar e revisar e-mails, páginas da Rede mundial,e mensagens de telefone a fim de re-identificar os produtosde diferentes fornecedores.
De maneira similar, e potencialmente mais difí-ceis, poderão ocorrer problemas quando um primeiro usuáriorealiza uma porção de um processo acionado por pessoa e umsegundo usuário diferente (por exemplo, como o resultado deo primeiro usuário delegar responsabilidade) realiza uma ou-tra porção do processo acionado por humano. Ou seja, típica-mente, não existe nenhum mecanismo baseado em computador pa-ra a implementação de tarefas baseadas em múltiplos usuáriosquando diferentes porções da tarefa se baseia em diferentestipos de dados e diferentes aplicações. Como um resultado, osegundo usuário poderá não ter como saber quanto tempo atrásno processo acionado por humano o primeiro usuário antes dosegundo usuário começou a trabalhar no processo acionado porhumano. Por exemplo, o gerente de vendas poderá começar atrabalhar na proposta do cliente e em seguida, em um momentono futuro, delegar o término da proposta do cliente a um as-sistente. Infelizmente, para garantir que a proposta do cli-ente esteja correta, o assistente deverá ter de refazer pelomenos algumas das ações do gerente de vendas já realizadas.Por exemplo, o assistente poderá precisar localizar e relere-mails, revisar páginas da Rede mundial, e acessar mensa-gens de telefone nos quais o gerente de vendas já trabalhou.
Outros problemas poderão ocorrer quando diferentesporções de uma tarefa se baseiam em componentes de sistemade computador configurados diferentemente, tais como, porexemplo, interfaces de usuário configuradas de forma dife-rente, normas de segurança configuradas diferentemente, pro-cedimentos de conectividade configurados de maneira diferen-te, etc. Como um resultado, o usuário com freqüência seráforçado a re-identificar dados previamente identificados e arefazer um trabalho previamente realizado. A re-identif icação de dados de dados já identificados e a re-execução de um trabalho já realizado é ineficiente e podereduzir a produtividade.BREVE SUMÁRIO DA INVENÇÃO
Os problemas acima do estado da arte anterior sãosuperados pelos princípios da presente invenção, que tratade métodos, sistemas, e produtos de programa de computadorpara a provisão de um ambiente de trabalho baseado em con-texto. Em algumas modalidades, um sistema de computador minaos relacionamentos a fim de capturar referências relevantesa um contexto. O sistema de computador submete critérios deconsulta ao contexto através de um comportamento externo co-mum do contexto. 0 comportamento externo comum é comum aocontexto e a um ou mais outros contextos e provê uma inter-face comum de tal modo que diferentes aplicações possam uni-formemente submeter consultas ao contexto e ao um ou maisoutros contextos.
O contexto internamente identifica quaisquer refe-rências no contexto que satisfazem aos critérios de consultade acordo com o comportamento interno específico ao contex-to. 0 sistema de computador determina se um segundo contex-to, incluído no um ou mais contextos, com referências poten-cialmente relevantes, se encontra dentro de um limite de re-levância do contexto. 0 sistema de computador submete deforma recursiva os critérios de consulta ao segundo contextoatravés do comportamento externo comum. 0 segundo contextointerno identifica quaisquer referências no segundo contextoque atendam aos critérios de consulta de acordo com o com-portamento interno específico ao segundo contexto.
Em outras modalidades, um sistema de computadoradiciona uma referência a um contexto. 0 sistema de computa-dor seleciona uma referência a um dispositivo de entrada deusuário. 0 sistema de computador indica se a referência deveser incluída em um contexto. 0 contexto tem um comportamentode contexto externo comum para o recebimento de referênciascomuns ao contexto e um ou mais outros contextos no sistemade computador. 0 contexto aceita a referência de acordo como comportamento externo comum. 0 contexto processa a refe-rência de acordo com uma lógica interna. A lógica internasendo interna ao contexto e difere da lógica interna do pelomenos um dentre o um ou mais outros contextos.
Ainda em outros contextos, um sistema de computa-dor realiza uma tarefa quando o foco é deslocado da tarefaentre o desempenho de diferentes porções da tarefa. O siste-ma de computador desloca o foco (por exemplo, automaticamen-te ou em resposta à entrada do usuário) para um contexto queinclui uma ou mais referências relevantes à realização deuma tarefa. Uma primeira porção da tarefa é feita. 0 desem-penho da primeira porção da tarefa tem um resultado que ma-nipula a configuração da uma ou mais dentre as referênciasem questão. 0 sistema de computador salva o contexto a fimde preservar a configuração da uma ou mais referências rele-vantes. 0 sistema de computador desloca o foco para um con-texto diferente (por exemplo, ou automaticamente ou em res-posta a uma entrada de usuário) que inclui diferentes refe-rências de tal modo que o foco se desloque da configuraçãoda uma ou mais referências em questão. 0 sistema de computa-dor recupera o contexto subseqüente a fim de salvar o con-texto. Uma segunda porção subseqüente da tarefa que dependedo resultado da primeira porção da tarefa é realizada. A se-gunda porção subseqüente da tarefa utiliza a configuraçãopreservada da uma ou mais referências relevantes de tal modoque o desempenho da primeira porção da tarefa não tenha deser repetida.
Estes e outros objetos da presente invenção tor-nar-se-ão mais completamente aparentes a partir da descriçãoa seguir e das reivindicações em apenso, ou poderão ser a-prendidos por meio da prática da invenção conforme apresen-tada a seguir.
BREVE DESCRIÇÃO DOS DESENHOS
A fim de clarificar as vantagens acima e outrasvantagens e aspectos da presente invenção, uma descriçãomais particular da presente invenção será produzida por meioda referência a modalidades especificas que são devidamenteilustradas nos desenhos em anexo. Aprecia-se que estes dese-nhos ilustram apenas modalidades típicas da presente inven-ção e não devem, portanto, ser consideradas como limitantesdo seu âmbito. A presente invenção será descrita e explicadaa seguir com especificidade e detalhe adicionais através douso dos desenhos em anexo, nos quais:
A Figura 1 ilustra um exemplo de uma arquiteturade computador que facilita um ambiente de trabalho baseadoem contexto.
A Figura 2 ilustra um vídeo de interface com o u-suário exemplar de um contexto de atividade.
A Figura 3 ilustra um fluxograma exemplar de ummétodo para minar os relacionamentos a fim de capturar refe-rências relevantes a um contexto.
A Figura 4 ilustra um fluxograma de um método paraa adição de uma referência a um contexto.
A Figura 5 ilustra um fluxograma exemplar de ummétodo para a realização de uma tarefa quando o foco é des-locado da tarefa entre o desempenho de diferentes porções datarefa.
A Figura 6 ilustra um ambiente operacional adequa-do para os princípios da presente invenção.
DESCRIÇÃO DETALHADA DAS MODALIDADES PREFERIDAS
Os princípios da presente invenção provêm a provi-são de um ambiente de trabalho baseado em contexto. Em algu-mas modalidades, um sistema de computador mina os relaciona-mentos a fim de capturar referências relevantes a um contex-to. 0 sistema de computador submete critérios de consulta aocontexto através de um comportamento externo comum do con-texto. 0 comportamento externo comum é comum ao contexto e aum ou mais contextos e provê uma interface comum de tal ma-neira que diferentes aplicações possam uniformemente subme-ter consultas ao contexto e a um ou mais outros contextos.
O contexto identifica internamente quaisquer refe-rências no contexto que atendam aos critérios de consulta deacordo com o comportamento interno específico ao contexto. 0sistema de computador determina se um segundo contexto, in-cluído no um mais contextos, com referências potencialmenterelevantes, se encontra dentro de um limite de relevância docontexto. 0 sistema de computador de maneira alternativa re-cursiva submete os critérios de consulta ao segundo contextoatravés do comportamento externo comum. 0 segundo contextointerno identifica quaisquer referências no segundo contextoque atendem aos critérios de consulta de acordo com o com-portamento interno especifico ao segundo contexto.
Em outras modalidades, um sistema de computadoradiciona uma referência a um contexto. 0 sistema de computa-dor seleciona uma referência com um dispositivo de entradade usuário. 0 sistema de computador indica se a referênciadeve ser incluída em um contexto. 0 contexto tem um compor-tamento de contexto externo comum para o recebimento de re-ferências comuns ao contexto e a um ou mais outros contextono sistema de computador. O contexto aceita a referência deacordo com o comportamento externo comum. O contexto proces-sa a referência de acordo com a lógica interna. A lógica in-terna sendo interna ao contexto e diferente da lógica inter-na de pelo menos um dentre o um ou mais outros contextos.
Em ainda outras modalidades, um sistema de compu-tador realiza uma tarefa quando o foco se desloca da tarefaentre o desempenho de diferentes porções da tarefa. O siste-ma de computador desloca o foco (por exemplo, ou automatica-mente ou em resposta à entrada do usuário) a um contexto queinclui uma ou mais referências relevantes à realização deuma tarefa. Uma primeira porção da tarefa é realizada. O de-sempenho da primeira porção da tarefa tem um resultado quemanipula a configuração de uma ou mais dentre as referênciasrelevantes. O sistema de computador economiza o contexto demodo a preservar a configuração da uma ou mais referênciasrelevantes. O sistema de computador desloca o foco para umcontexto diferente (por exemplo, ou automaticamente ou emresposta à entrada do usuário) que inclui diferentes refe-rências de tal modo que o foco se desloque da configuraçãoda uma ou mais referências relevantes. O sistema de computa-dor recupera o contexto subseqüente para salvar o contexto.
Uma segunda porção subseqüente da tarefa que depende da umdo resultado da primeira porção da tarefa é realizada. A se-gunda porção subseqüente da tarefa utiliza a configuraçãopreservada da uma ou mais referências em questão de tal modoque o desempenho da primeira porção da tarefa não tenha deser repetido.
As modalidades dentro do âmbito da presente inven-ção incluem o meio legível em computador para realizar outer instruções executáveis em computador ou estruturas dedados armazenadas no mesmo. Estes meios legíveis em computa-dor podem ser qualquer meio disponível, que seja acessívelpor um sistema de computador de uso geral ou de uso especi-al. À guisa de exemplo, e não de limitação, estes meios le-gíveis em computador podem compreender um meio de armazena-mento físico, como, por exemplo, uma memória RAM, uma memó-ria ROM, uma memória EPROM, um CD-ROM ou outro armazenamentode disco ótico, armazenamento de. disco magnético ou outrosdispositivos de armazenamento magnético, ou quaisquer outrosmeios que possam ser usados para executar ou armazenar ummeio de código de programa desejado na forma de instruçõesexecutáveis em computador, instruções legíveis em computa-dor, ou estruturas de dados e que podem ser acessadas por umsistema de computador de uso geral ou de uso especial.Na presente descrição e nas reivindicações a se-guir, uma "rede" é definida como um ou mais enlaces de dadosque permitem o transporte de dados eletrônicos entre siste-mas de computador e/ou módulos. Quando informações sãotransferidas ou providas por uma rede ou uma outra conexãode comunicação (ou de conexão física, ou sem fio, ou umacombinação de conexão física ou sem fio) para um sistema decomputador, a conexão é apropriadamente visualizada como ummeio legível em computador. Sendo assim, qualquer conexãodeste tipo é apropriadamente denominada como um meio legívelem computador. Combinações do acima apresentado devem tambémser incluídas no âmbito dos meios legíveis em computador. Asinstruções executáveis em computador compreendem, por exem-plo, instruções e dados que fazem com que um sistema de com-putador de uso geral ou um sistema de computador de uso es-pecial realize uma determinada função ou grupo de funções.As instruções executáveis em computador podem ser, por exem-plo, instruções de formato intermediário, binárias, tais co-mo uma linguagem de montagem, ou ainda um código de fonte.
Na presente descrição e nas reivindicações a se-guir, um "sistema de computador" é definido como um ou maismódulos de software, um ou mais módulos de hardware, ou suascombinações, que trabalham juntos de modo a executar opera-ções em dados eletrônicos. Por exemplo, a definição de sis-tema de computador inclui os componentes de hardware de umcomputador pessoal, assim como módulos de software, tais co-mo o sistema operacional do computador pessoal. O perfil fí-sico do módulo não vem a ser uma questão importante. Um sis-tema de computador pode incluir um ou mais computadores aco-plados via uma rede. Da mesma forma, um sistema de computa-dor pode incluir um único dispositivo físico (como, por e-xemplo, um telefone móvel ou um Assistente Digital Pessoal"PDA"), no qual módulos internos (como, por exemplo, uma me-mória e um processamento) funcionam juntos a fim de executaroperações em dados eletrônicos.
Na presente descrição, e nas reivindicações a se-guir, uma "referência" é definida como os dados usados paraidentificar uma ou mais instâncias de uma entidade de dados.As referências podem incluir um ou mais itens de dados usa-dos para identificar entidades de dados. Por exemplo, osclientes podem ser unicamente identificados por um número deimposto, um número de serviço DUNS, etc. De maneira alterna-tiva, uma lista de clientes pode ser identificada por um có-digo de área postal, região, conta, gerente, etc.
As referências podem ser usadas para formular con-sultas a serviços, tais como, por exemplo, uma lista de a-tributos de entidades de dados ou uma formulação de um con-junto de condições. Uma referência pode incluir uma combina-ção de atributos requeridos ou opcionais. Sendo assim, osclientes que possuem informações de referência diferentespoderão, de forma flexível, obter visualizações similares deentidades de dados e utilizar as mesmas ações através dasmesmas interfaces. Um esquema de referência pode ser utili-zado no sentido de expor atributos e propriedades de entida-des de dados para a identificação de entidades de dados.Sendo assim, formatos de referência poderão ser definidos demaneira formal e geral.
Na presente descrição e nas reivindicações a se-guir, um "relacionamento" é definido como informações em umaentidade de dados que podem ser usadas para construir umareferência para uma outra entidade de dados. Por exemplo,dada uma visualização de uma entidade de dados de pedidos(por exemplo, representando um pedido de compra), torna-sepossível construir uma referência a uma entrada de dados decliente correspondente (o cliente que compra os produtos nopedido de compra) baseado nas informações da entidade de da-dos de pedido. Ou seja, a visualização do pedido pode sertransformada em uma referência de cliente que se refere àentidade de dados de cliente. Os relacionamentos podem serdefinidos utilizando tanto um esquema de visualização comoum esquema de referência. Sendo assim, os relacionamentosnão se limitam a um único serviço e podem ser usados para sereferir às entidades de dados encapsuladas em diferentesserviços.
Os relacionamentos podem ser estatisticamente de-finidos em metadados, tais como, por exemplo, uma referênciaexpressa a alguma entidade de dados. Por exemplo, uma enti-dade de dados de pedido pode incluir uma referência expressaao cliente que submeteu o pedido. De maneira alternativa, umgerenciador de contexto poderá correlacionar os dados emtempo de execução a fim de derivar ou inferir relacionamen-tos entre entidades de dados (doravante referidas como "cor-relação") . Por exemplo, um agente de serviço poderá determi-nar (por meio de análise ou outro mecanismo) que o corpo deum documento contém uma referência aos dados do produto.Sendo assim, o gerenciador de contexto infere se os dados deproduto são relevantes para o documento. Além disso, quandomúltiplas referências são adicionadas ao mesmo contexto, umgerenciador de contexto poderá correlacionar as múltiplasreferências umas às outras.
Por conseguinte, uma combinação de entidades, re-ferências, e relacionamentos pode ser utilizada de modo asemanticamente descrever serviços. Uma descrição semânticade serviços poderá, deste modo, incluir entidades de dados,seus relacionamentos entre si, assim como seus comportamen-tos. Baseado em uma descrição semântica de serviços, a rele-vância entre entidades de dados pode ser determinada. A re-levância pode ser padronizada através de todos os usuários,pode ser baseada em funções, ou baseada na atividade.
Na presente descrição e nas reivindicações a se-guir, um "contexto" é definido como um ambiente no qual al-guma coisa existe ou acontece. Um contexto pode ser visuali-zado como um recipiente de referências relevantes a um ambi-ente e/ou tarefa. O contexto pode mudar com o tempo, confor-me a relevância das referências com relação a um ambientee/ou às mudanças de tarefa. Diferentes tipos de contexto po-dem ser configurados para diferentes usos.
Por exemplo, um contexto de atividade pode serconfigurado de modo a exibir referências como ícones em umespaço de trabalho e os relacionamentos como linhas de cone-xão. A suspensão sobre os ícones com um cursor pode fazercom que um texto salte instantâneo no vídeo. Um modo de se-leção (por exemplo, clicando com um mouse) substitui um íco-ne pelo texto instantâneo. Um outro modo de seleção (por e-xemplo, um clique duplo com um mouse) abre uma janela paraconteúdo.
Um contexto de colaboração pode ser configurado demodo a incluir e gerenciar linhas de tempo e planejamento. 0mesmo mostra as referências, quando apropriadas, anexadas àlinha de tempo ou ao planejamento. 0 mesmo poderá exibir asreferências como ícones, como textos instantâneos, ou comojanelas. As referências podem exibir um comportamento simi-lar como no contexto de atividade.
Um contexto de documento pode ser configurado demodo a incluir as referências de entidade embutidas no textocomo SmartTags (etiquetas inteligentes) ou ícones. Estes í-cones podem prover informações exatas e atualizadas sobre asentidades.
Um contexto de Comunicação em Tempo real (RTC) po-de incluir informações de contato, vídeo, texto de conversa-ção de mensagem instantânea, possivelmente uma transcriçãode uma conversação por voz e uma área que pode ser usada pa-ra compartilhar (ou de fato comunicar) referências entre aspartes em conferência. As diferentes partes podem visualizarinformações diferentes baseadas na mesma referência ao mesmotempo. As mesmas compartilham as referências, mas não neces-sariamente o comportamento (por exemplo, o meu pedido decompra pode ser o seu pedido de venda).
Diferentes tipos de contextos podem ter um compor-tamento externo comum. Por exemplo, diferentes tipos de con-textos podem todos armazenar referências, interagir com re-ferências armazenadas, permitir que as referências provenhama mesma experiência de usuário através dos contexto, podemaceitar novas referências (por exemplo, através do arrastare soltar), podem remover referências, podem receber consul-tas, e podem prover resultados de consulta.
Por outro lado, diferentes tipos de contextos po-dem ter uma diferente lógica interna. Por exemplo, diferen-tes tipos de contextos podem diferir em como os mesmos inte-ragem com as referências, em como os mesmos estruturam refe-rências, em como os mesmos apresentam uma estrutura de refe-rência, e em como os mesmos armazenam e compartilham um con-texto. Diferentes tipos de contexto podem também diferir emcomo os mesmos calculam a relevância. Por exemplo, um con-texto de colaboração pode encontrar eventos recentes maisrelevantes e pode entender alguma coisa sobre um objetivocomercial. Por outro lado, um contexto de documento não temnenhuma cronograma e nenhum objetivo comercial, mas pode de-rivar informações sobre o seu armazenamento ou sobre o seutipo e uso do mesmo, em contrapartida. Isto resulta no ofe-recimento de uma navegação diferente e em diferentes ações.Em um contexto, os produtos podem estar estritamente ligadosaos fornecedores, em um outro, a projetos em andamento, e,em um terceiro, às contas gerais do livro caixa.
Os versados na técnica apreciarão que a presenteinvenção pode ser praticada em ambientes computacionais derede com muitos tipos de configurações de sistema de compu-tador, incluindo, os computadores pessoais, os computadoresdo tipo laptop, os dispositivos portáteis, os sistemas mul-tiprocessadores, os equipamentos eletrônicos baseados em mi-croprocessadores ou programáveis pelo consumidor, os PCs derede, os minicomputadores, os computadores de grande porte,os telefones móveis, os assistentes PDA, os pagers, ou coisado gênero. A presente invenção pode ainda ser praticada emambientes de sistema distribuídos, nos quais os sistemas decomputador locais ou remotos, enlaçados (ou por meio de en-laces de dados de conexão física, ou de enlaces de dados semfio, ou por meio de uma combinação de enlaces de dados comfio ou sem fio) através de uma rede, realizam tarefas. Em umambiente de sistema distribuído, os módulos de programa po-dem se localizar em dispositivos de armazenamento de memórialocal ou remota.
A Figura 1 ilustra um exemplo de uma arquiteturade computador 100 que facilita um ambiente de trabalho base-ado em contexto. Ilustrado na arquitetura de computador 100encontra-se o sistema de computador 101. 0 sistema de compu-tador 101 pode ser conectado a uma rede, como, por exemplo,uma Rede de Área Local ("LAN"), uma Rede de Área Remota("WAN"), ou ainda a Internet. Por conseguinte, o sistema decomputador 101 ou outros sistemas de computador de conexãode rede podem receber dados de e enviar dados para outrossistemas de computador conectados a uma rede. Por conseguin-te, o sistema de computador 101, assim como outros sistemasde computador conectados (não mostrados), podem criar dadosrelacionados a mensagens e trocar dados relacionados a men-sagens (por exemplo, os datagramas de Protocolo da Internet("IP") ou outros protocolos de camadas superiores que utili-zam os datagramas de IP, tais como, o Protocolo de Controlede Transmissão ("TCP"), o Protocolo de Transferência de Hi-pertexto ("HTTP"), o Protocolo de Transferência de CorreioSimples ("SMTP"), etc.) pela rede. Por exemplo, os sistemasde computador 101 podem criar envelopes SOAP, trocar envelo-pes SOAP por uma rede, ou receber envelopes SOAP.
O sistema de computador 101 inclui um gerenciadorde contexto 102 que é de modo geral configurado para geren-ciar arquivos contêiner de referências. 0 gerenciador decontexto 102 gerencia os arquivos contêiner de referência demodo a prover a um usuário do sistema de computador 101 re-ferências relevantes ao contexto especificado. 0 gerenciadorde contexto 102 inclui o módulo de captura de contexto 103,o módulo de relevância 104, o módulo de salvar contexto 106,o módulo de restaurar contexto 107, o módulo de consulta decontexto 108. De modo geral, o módulo de captura de contexto103 é configurado de modo a capturar as referências para umcontexto, o módulo de relevância 104 é configurado de modo adeterminar a relevância de uma referência para uma outra re-ferência, o módulo de salvar contexto 106 é configurado demodo a salvar um contexto, o módulo de restaurar contexto107 é configurado de modo a restaurar um contexto, e o módu-lo de consulta de contexto 108 é configurado de modo a con-sultar um contexto para referências que combinam com crité-rios específicos.
O armazenamento 151 pode ser virtualmente qualquertipo de dispositivos de armazenamento, como, por exemplo, umdisco magnético ou um disco ótico. 0 armazenamento 151 podearmazenar referências (dados) em vários formatos diferentesque são, por sua vez, utilizados por várias aplicações dife-rentes no sistema de computador 101. Por exemplo, conformeilustrado, o armazenamento 151 armazena documentos 152, oscontatos 153, os e-mails 154, as comunicações em tempo real156, e os contexto 157. No entanto, deve-se entender que umaampla faixa de outros tipos de dados pode também ser armaze-nada no armazenamento 151. 0 esquema de referência 114 podeser utilizado no sentido de expor os atributos e as proprie-dades de relacionamentos entre as referências armazenadas noarmazenamento 151 e de outra forma utilizadas no sistema decomputador 101.
O gerenciador de contexto 102 pode criar contextos(isto é, arquivos contêiner de referências) que incluem re-ferências armazenadas no armazenamento 151 e mantém estescontextos como os contextos 157. Por exemplo, conforme ilus-trado, o contexto de atividade 111 inclui o pedido 121, ocontato 122, o produto 123, e o e-mail 124. 0 módulo de cap-- tura de contexto 103 pode utilizar relacionamentos entre re-ferências a fim de determinar que referências devem ser cap-turadas para inclusão em um contexto (isto é, em um arquivocontêiner de referências). 0 módulo de captura de contexto103 pode inter-operar com o módulo de relevância 104 no sen-tido de identificar outras referências que têm uma relevân-cia de requisito para as referências capturadas. As referên-cias que têm uma relevância de requisito para as referênciascapturadas podem também ser incluídas no contexto. Por exem-pio, quando os produtos alternativos 141 e 142 são alterna-tivas potenciais para o produto 123, o módulo de relevância104 poderá determinar que produtos alternativos 141 e 142devem ser incluídos no conteúdo de atividade 111.
O módulo de relevância 104 pode avaliar os rela-cionamentos de metadados estáticos entre as referências epode criar correlações entre as referências (por exemplo, nomomento de execução) a fim de determinar a relevância. Porexemplo, o módulo de relevância 104 pode criar uma correla-ção entre um produto alternativo 141 e um produto alternati-vo 142 baseado no produto alternativo 141 e o produto alter-nativo 142 sendo os produtos alternativos para o produto123. O módulo de relevância 194 pode incluir uma lógica afim de fazer tal determinação mesmo quando não há nenhum re-lacionamento expressamente descrito (por exemplo, definidono esquema de referência 114) entre o produto alternativo141 e o produto alternativo 142. Por exemplo, o módulo derelevância 104 pode detectar que o produto alternativo 141 eo produto alternativo 142 foram ambos identificados em umapesquisa para troca de produto 123.
Uma métrica para a determinação da relevância in-clui o cálculo de quantos relacionamentos foram seguidos (oua "distância") entre as referências. Um limite de relevânciapode ser definido de modo a indicar como uma referência re-lacionada deve ser para uma outra referência para uma refe-rida a ser identificada como relevante para a outra referên-cia (e, deste modo, possivelmente incluída no mesmo contextoque a primeira referência). Em algumas modalidades, um limi-te de relevância (por exemplo, um limite de relevância 116)é definido como um número, como, por exemplo, 1, 2, 3, 4, 5,etc. A distância entre duas referências pode ser comparadaao limite de relevância no sentido de determinar se uma re-ferência é relevante para a outra referência. Por exemplo,quando a distância entre duas referências se encontra dentro(por exemplo, é menor que ou igual ao) limite de relevância,o módulo de relevância 104 determina se uma referência é re-levante para a outra referência. Por outro lado, quando adistância entre as referências não está dentro do (por exem-plo, é maior que o) limite de relevância, o módulo de rele-vância determina se uma referência não é relevante para aoutra referência.
Sendo assim, um limite de relevância pode essenci-almente resultar em um perímetro em torno de um contexto. Asreferências relevantes ao contexto podem ser limitadas àsentidades de dados dentro do perímetro.
No entanto, deve-se entender que o limite de rele-vância não está limitado aos números que representam um pe-rímetro em torno de uma entidade de dados solicitada. Porexemplo, um limite de relevância pode ser uma estrutura dedados de relevância mais complexa incluindo outros dados deregra de relevância, tais como, por exemplo, a função de umusuário, um tipo de entidade de dados, o uso de dados grava-dos, etc. Um número que representa uma distância de períme-tro pode ou não ser combinado com outros dados de regra derelevância em uma estrutura de dados de relevância. Por e-xemplo, a relevância de um relacionamento pode ser determi-nada por um algoritmo de relevância. Um algoritmo de rele-vância pode ser configurado em um metadados com referência aum pedaço de código executável que pode retornar uma rele-vância.
Um módulo de captura de contexto 103 e/ou um módu-lo de relevância 104 pode incluir referências em um contextoautomaticamente. Por exemplo, em resposta ao pedido 121 queé capturado para inclusão 121, o módulo de captura de con-texto pode ainda capturar o contato 122 (por exemplo, umapessoa de vendas para o por exemplo 121) e o produto 123(por exemplo, um produto incluído no pedido 121). Sendo as-sim, quando um usuário de um sistema de computador acessou opedido 121, outras referências relevantes tornam-se tambémdisponíveis.
Os usuários podem também adicionar referências aum contexto. Por exemplo, uma interface de usuário pode in-cluir uma opção de menu de incluir uma referência em um con-texto. Um menu que inclui uma opção de menu pode ser revela-do ao selecionar (por exemplo, com um clique direito) sobreuma referência. De maneira alternativa, um comportamento ex-terno comum de contextos pode ser no sentido de interagircom uma interface de usuário a fim de facilitar a adição dearrastar e soltar uma referência em um contexto. Um usuáriopode selecionar uma referência (por exemplo, clicando e des-cendo um botão de mouse esquerdo), arrastar a referência(por exemplo, movimentando o mouse) para o contexto, e sol-tar a referência (por exemplo, soltando o mouse esquerdo) nocontexto. Por exemplo, um usuário poderá arrastar e soltar oe-mail 126 (por exemplo, do chefe do contato 122) no contex-to de atividade 111. Técnicas similares podem ser usadas nosentido de remover uma referência de um contexto.
Depois de receber uma referência (adicionada auto-maticamente ou por meio de um usuário) , a lógica interna docontexto (que pode diferir de contexto para contexto) con-trola como a referência é processada. Por exemplo, em umcontexto de documento, uma referência pode ser representadapor uma etiqueta inteligente ou hiperlink. De maneira alter-nativa, em um contexto colaborativo, uma referência pode serrepresentada por um icone sobre um local apropriado em umalinha de tempo. As referências adicionadas pelo usuário po-dem ser classificadas como altamente relevantes para um con-texto.
O módulo de salvar contexto 106 pode salvar umcontexto em contextos 157. Por exemplo, o módulo de salvarcontexto 106 pode salvar o contexto de atividade 111 noscontextos 157. Um contexto ativo pode ser um contexto arma-zenado na memória de sistema de um sistema de computador101. Sendo assim, o módulo de salvar contexto 106 pode sal-var um contexto da memória de sistema para o armazenamento151. Por outro lado, o módulo de restaurar contexto 107 poderestaurar um contexto dentre os contextos 157. Por exemplo,o módulo de restaurar contexto 107 pode carregar um contextode colaboração 131 a partir dos contextos 157. Deste modo, omódulo de restaurar contexto pode carregar um contexto salvodo armazenamento 151 para a memória de sistema.
O módulo de consulta de contexto 108 pode cônsul-tar contextos (isto é, os arquivos contêiner de referências)para referências que atendem a critérios de consulta especí-ficos. Por exemplo, o módulo de consulta de contexto 108 po-de submeter critérios 161, como, por exemplo, um número depedidos, uma identificação de empregado, um nome de produto,etc., para o contexto de atividade 111. Os critérios 161 po-dem originar a partir da manipulação de um usuário dos dis-positivos de entrada (por exemplo, um teclado e um mouse) ouem um outro sistema de computador.
O módulo de consulta de contexto 108 pode imple-mentar consultas recursivas. Por exemplo como resultado dosprodutos alternativos 141 e 142 que são relevantes para oproduto 123, o módulo de consulta de contexto 108 pode tam-bém submeter critérios 161 ao contexto de colaboração 131. Omódulo de consulta de contexto 108 pode submeter os crité-rios 161 a outros contextos tendo as referências relaciona-das às referências do contexto de colaboração 131, etc. Arecursão pode ser ampliada (por exemplo, usando um limite de.relevância) de tal modo que uma quantidade razoável de refe-rências sejam retornadas em resposta a uma consulta. Por e-xemplo, pode ser que o módulo de consulta de contexto 108recorra aos contextos que se encontram dentro de uma distân-cia 1 de um contexto que inicialmente receber os critériosde consulta.
Os resultados de consulta podem ser retornados pa-ra o módulo de consulta de contexto para exibição em uma in-terface de usuário.
A Figura 2 ilustra uma tela de interface para ousuário exemplar de um contexto de atividade 200. O contextode atividade 200 inclui referências relevantes da ordem de5006 (PO 5006 para a corporação A e SO 5006-1, para a corpo-ração B) a partir da perspectiva de um empregado de corpora-ção A. O contexto 200 mostra referências relevantes para acorporação A, incluindo os pedidos de compra relacionados PO5022, PO 4987, e PO 4851 e o produto Z que é incluído no PO5006. O contexto 200 mostra ainda as referências de relevân-cia para a corporação B, incluindo tarefas, pedidos de ven-da, representantes, e correspondência. Uma transcrição e umarquivo de áudio de uma mensagem de voz são ainda incluídos.Deste modo, o empregado tem um acesso eficiente à informaçãorelevante para o pedido 5006 sem ter de executar múltiplosaplicativos (por exemplo, tocador de meio, aplicação de pe-dido de compra, visualizador de contato, etc.) e pesquisa emvários locais diferentes.
A Figura 3 ilustra um fluxograma exemplar de ummétodo 300 para minar os relacionamentos a fim de capturaras referências relevantes a um contexto. O método 300 serádescrito com relação a uma arquitetura de computador 100 econtexto de atividade 200.
O método 300 inclui uma etapa de submeter crité-rios de consulta a um contexto de acordo com um comportamen-to externo comum (etapa 301) . Por exemplo, o módulo de con-sulta de contexto 108 pode submeter o critério 161 ao con-texto de atividade 111. Pode ser que o contexto de atividade111 contenha algumas das referências ilustradas no contextode atividade 200. Por exemplo, o pedido 121 pode ser o Pedi-do de Vendas SO 5006-01, o contato 122 pode ser Bob Baker, oproduto 123 pode ser o produto Z, etc. Conforme previamentedescrito, o critério 161 pode incluir um número de pedido,uma ID de empregado, um nome de produto, etc.
O comportamento externo comum é comum ao contextoou a um ou mais contextos e provê uma interface comum de talmodo que diferentes aplicações possam uniformemente submeterconsultas ao contexto ou ao um ou mais outros contextos. Porexemplo, o contexto de atividade 111 pode expor um comporta-mento externo comum para o recebimento de critérios de con-sulta comuns a outros contextos (por exemplo, o contexto decolaboração 131) no sistema de computador 101. As aplica-ções, como, por exemplo, o gerenciador de contexto 102, po-de, assim, de uma maneira uniforme (por exemplo, de acordocom um formato de dados similar ou ainda com o mesmo formatode dados) submeter consultas ao contexto de atividade 111,ao contexto de colaboração 131, e a outros contextos noscontextos 157.
O método 300 inclui uma etapa de o contexto iden-tificar quaisquer referências no contexto que atendam aoscritérios de consulta de acordo com o comportamento internoespecifico ao contexto (etapa 302) . Por exemplo, o contextode atividade 111 pode identificar quaisquer referências (porexemplo, o pedido 121, o contato 122, etc.) que atendam aoscritérios 161. O contexto de atividade 111 pode processar oscritérios 161 de acordo com a lógica interna de outros con-textos (por exemplo, o contexto de colaboração 131). As refe-rências identificadas podem ser formatadas de acordo com oesquema de referência 114 ou podem referências não estrutu-radas.
O contexto de atividade 111 pode expor um compor-tamento externo comum para retornar referências identifica-das comuns a outros contextos (por exemplo, o contexto decolaboração 131) no sistema de computador 101. O contexto deatividade 111 pode retornar quaisquer referências identifi-cadas que atendem aos critérios de consulta 161 ao módulo deconsulta de contexto 108 de acordo com o comportamento ex-terno comum.
O método 300 inclui uma etapa de determinar se umsegundo contexto, incluído no um ou mais outros contextos,com referências potencialmente relevantes está dentro de umlimite de relevância do contexto (etapa 303). Por exemplo, omódulo de relevância 104 pode determinar se o contexto decolaboração 131 está dentro do limite de relevância 116 do(por exemplo, um único relacionamento passa o) contexto deatividade 111.
O método 300 inclui uma etapa de submeter de ma-neira recursiva o critério de consulta para o segundo con-texto através de um comportamento externo comum (etapa 304).Por exemplo, o módulo de consulta de contexto 108 pode sub-meter o critério 161 ao contexto de colaboração 131. Podeser que o contexto de colaboração 131 contenha referênciasrelevantes às referências ilustradas nos contextos de ativi-dade 200. Por exemplo, os produtos alternativos 141 e 142podem ser relevantes ao produto Ζ. 0 contexto de colaboração131 pode expor o comportamento externo comum para o recebi-mento de critérios de consulta comuns aos demais contextos(por exemplo, o contexto de atividade 111) no sistema decomputador 101.
O método 300 inclui uma etapa de o segundo contex-to identificar quaisquer referências no segundo contexto queatendam aos critérios de consulta de acordo com o comporta-mento interno espessura ao segundo contexto (etapa 305). Porexemplo, o contexto de colaboração 131 pode identificarquaisquer referências no contexto de colaboração 131 (porexemplo, os produtos alternativos 141 e 142 e o documento143, etc.) que atendem aos critérios 161. O contexto de co-laboração 131 pode processar os critérios 161 de acordo coma lógica interna que pode diferir da lógica interna dos de-mais contextos (por exemplo, o contexto de atividade 111).
O contexto de colaboração 131 pode expor o compor-tamento externo comum para retornar as referências identifi-cadas comuns aos demais contexto (por exemplo, o contexto deatividade 111) no sistema de computador 101. O contexto decolaboração 131 pode retornar qualquer referência identifi-cada que atenda ao critério de consulta 161 para o módulo deconsulta de contexto 108 de acordo com o comportamento ex-terno comum.
O módulo de relevância 104 pode . determinar sequaisquer outros contextos estão dentro do limite de rele-vância 116 do contexto de atividade 111. Estes outros con-textos podem incluir contextos que ficam à mesma distânciado contexto de atividade 111 que o contexto de colaboração133. Estes outros contextos podem incluir ainda os contextosque ficam além do contexto de atividade 111 com relação aocontexto de colaboração 133, mas que ainda estão dentro dolimite de relevância 116. Por exemplo, quando o limite derelevância 116 é transversal a dois relacionamentos, qual-quer contexto com um relacionamento transversal a partir docontexto de colaboração 131 estaria dentro do limite de re-levância 116. Estes outros contextos podem expor um compor-tamento externo comum para o recebimento de critérios deconsulta e para o retorno de referências identificadas co-muns a outros contextos (por exemplo, o contexto de ativida-de 11 e o contexto de colaboração 131) no sistema de compu-tador 101. No entanto, estes outros contextos podem proces-sar critérios 161 de acordo com uma lógica interna que podemdiferir da lógica interna dos demais contextos(por exemplo,o contexto de atividade 111 e o contexto de colaboração131).
A Figura 4 ilustra um fluxograma exemplar de ummétodo 400 para adicionar uma referência a um contexto. 0método 400 será descrito com relação a uma arquitetura decomputador 100.
O método 400 inclui uma etapa de selecionar umareferência com um dispositivo de entrada de usuário (etapa401). Por exemplo, um usuário de um sistema de computador101 pode usar um teclado e/ou um mouse para selecionar umicone representando um e-mail 126.
O método 400 inclui uma etapa de indicar se a re-ferência está incluída em um contexto tendo um comportamentode contexto externo comum para receber as referências (etapa402). O comportamento externo comum é comum ao contexto e aum ou mais contextos do sistema de computador. Por exemplo,um usuário de sistema de computador 101 pode arrastar o Íco-ne que representa o e-mail 126 para o contexto de atividade111. De maneira alternativa, um usuário de um sistema decomputador pode selecionar uma opção de menu associada ao e-mail 126 a fim de indicar se o e-mail 126 deve ser incluídono contexto de atividade 111. O contexto de atividade 111, ocontexto de colaboração 131, e outros contextos nos contex-tos 157 podem ter um comportamento externo comum para rece-ber referências.
O método 400 inclui uma etapa de o contexto acei-tar a referência de acordo com o comportamento externo comum(etapa 403). Por exemplo, o contexto de atividade 111 podeaceitar o e-mail 126 de acordo com o comportamento externocomum ao contexto de atividade 111, ao contexto de colabora-ção 131, e aos demais contextos dos contextos 157. Pode serque o ícone que representa o e-mail 126 que foi previamentearrastado para o contexto de atividade 111 é em seguida sol-to no contexto de atividade 111. De maneira alternativa, co-mo o resultado de um contexto de atividade de seleção de me-nu, o contexto 111 poderá receber o e-mail 126.
O método 400 inclui uma etapa de o contexto pro-cessar a referência de acordo com uma lógica interna (etapa404). Por exemplo, o contexto de atividade 111 pode proces-sar o e-mail 126 de acordo com a lógica contida no contextode atividade 111. Uma lógica interna do contexto pode dife-rir da lógica interna dos demais contextos. Por exemplo, alógica interna contida no contexto de atividade 111 pode di-ferir da lógica interna contida no contexto de colaboração131.
A Figura 5 ilustra um fluxograma exemplar de ummétodo 500 para realizar uma tarefa quando o foco é desloca-do da tarefa entre o desempenho de diferentes porções da ta-refa. O método 500 será descrito com relação a uma arquite-tura de computador 100 e contexto de atividade 200.
O método 500 inclui uma etapa de deslocar o focopara um contexto que inclui uma ou mais referências relevan-tes à realização de uma tarefa (etapa 501) . Por exemplo, umusuário de um sistema de computador pode usar um dispositivode entrada para deslocar o foco para o contexto de atividade200. Conforme previamente descrito, as referências ilustra-das no contexto de atividade 111 podem ser algumas das refe-rências exibidas no contexto de atividade 200. Uma ou maisreferências do contexto de atividade 200 podem ser relevan-tes à tarefa de determinar o custo total de todos os pedidosde compra que incluem o produto Z. De maneira alternativa,por exemplo, em resposta a. algum evento, o gerenciador decontexto poderá automaticamente deslocar o foco para o con-texto de atividade 200 (sem receber uma entrada de usuário).
O método 500 inclui uma etapa de realizar uma pri-meira porção de uma tarefa, o desempenho da primeira porçãoda tarefa tendo o resultado de manipular a configuração deuma ou mais dentre as referências relevantes (etapa 502) .Por exemplo, uma primeira porção da tarefa de determinar ocusto total de todos os pedidos de compra que incluem o pro-duto Z pode' ser identificar todos os pedidos de compra queincluem o produto Z. Ilustrado no contexto de atividade 200,os pedidos de compra identificados incluem o PO 5006, o PO5822, o PO 4987, e o PO 4851. A inclusão dos pedidos de com-pra identificados no contexto de atividade 200 modifica aconfiguração do contexto de atividade 200 (uma vez que estespedidos de compra não foram previamente incluído sob a refe-rência "Pedidos de Compra").
O método 500 inclui uma etapa de salvar o contextoa fim de preservar a configuração de uma ou mais referênciasrelevantes (etapa 503) . Por exemplo, em resposta à entradado usuário, o módulo de salvar contexto 106 pode salvar ocontexto de atividade 200 no armazenamento 151. De maneiraalternativa, por exemplo, em resposta a algum evento, o mó-dulo de salvar contexto 106 pode automaticamente salvar ocontexto de atividade 200 (por exemplo, sem receber uma en-trada de usuário).
O método 500 inclui uma etapa de deslocar o focopara um contexto diferente que inclui diferentes referên-cias, de tal modo que o foco se desloque da configuração deuma ou mais dentre as referências em questão (etapa 504) .Por exemplo, em resposta à entrada do usuário o foco pode sedeslocar do contexto de atividade 200 para algum outro con-texto armazenado nos conteúdos 157. Como um resultado dodeslocamento de foco, o agrupamento dos pedidos de compraidentificados PO 5006, PO 5822, PO 4987, PO 4851 ilustradosno contexto de atividade 200 pode ser varrido da memória desistema e/ou não mais ser exibido. De maneira alternativa,por exemplo, em resposta a algum evento, o gerenciador decontexto 102 pode automaticamente deslocar o foco do contex-to de atividade 200 para algum outro contexto armazenado noscontextos 157 (por exemplo, sem receber uma entrada de usuá-rio).
O método 500 inclui uma etapa de restaurar o con-texto depois de salvar o contexto (etapa 505) . Por exemplo,em resposta à entrada do usuário, o módulo de. restauração decontexto pode restaurar o contexto de atividade 200. De ma-neira alternativa, por exemplo, em reposta a algum evento, omódulo de restauração de contexto 108 poderá automaticamenterestaurar o contexto de atividade 200 (por exemplo, sem re-ceber a entrada de usuário). O contexto de restauração podeincluir a preservação do agrupamento e a configuração da umaou mais referências relevantes. Por exemplo, os relaciona-mentos e disposições ilustrados na Figura 2 podem ser pre-servados quando o contexto de atividade 200 é salvo.
O método 500 inclui a etapa de executar uma segun-da porção seguinte da tarefa que depende do resultado daprimeira porção da tarefa, a segunda porção seguinte da ta-refa utilizando a configuração preservada da uma ou mais re-ferências relevantes de tal modo que o desempenho da primei-ra porção da tarefa não tenha de ser repetido (etapa 506) .Por exemplo, o custo total dos pedidos de compra PO 5006, PO5822, PO 4987, PO 4851 possa ser calculado a partir do agru-pamento preservado dos pedidos de compra PO 5006, PO 5822,PO 4987, PO 4851. 0 custo total pode ser calculado sem terde re-identificar os pedidos de compra PO 5006, PO 5822, PO4987, PO 4851 que incluem o produto Z.
Sendo assim, um ambiente de trabalho baseado emcontexto de modo geral ajuda um usuário na integração de ta-refas, aplicações, outros usuários, e sistemas remotos eseus dados correspondentes. Como um resultado, as modalida-des da presente invenção promovem uma manipulação de dadosmais eficiente em um sistema de computador. Os usuários dosistema de computador podem, de uma maneira flexível, con-sultar referências relevantes em um contexto e podem adicio-nar e remover referências de um contexto de acordo com ocomportamento externo comum que é comum a diferentes tiposde contextos. No entanto, diferentes contextos podem ter di-ferentes lógicas internas que processam referências de dife-rentes maneiras, por exemplo, baseado no tipo de contexto.Além disso, as modalidades da presente invenção podem redu-zir (de uma forma potencialmente significante) a quantidadede trabalho que tem de ser refeito quando um trabalhador saie em seguida retoma uma tarefa.
A Figura 6 ilustra uma ambiente operacional ade-quado para os princípios da presente invenção, a Figura 6 ea apresentação a seguir pretender prover uma breve descriçãogeral de um ambiente computacional no qual a presente inven-ção pode ser implementada. Embora não requerido, a presenteinvenção será descrita no contexto geral de instruções exe-cutáveis em computador, tais como módulos de programa, quesão executados por sistemas de computador. De modo geral, osmódulos de programa incluem rotinas, programas, objetos,componentes, estruturas de dados, ou coisa do gênero, osquais realizam tarefas particulares ou implementam tipos dedados abstratos particulares. As instruções executáveis emcomputador, associadas às estruturas de dados, e aos módu-los de programa, representam exemplos dos meios de código deprograma para a execução de tarefas dos métodos aqui apre-sentados.
Com referência à Figura 6, um sistema exemplar pa-ra a implementação da presente invenção inclui um dispositi-vo computacional de uso geral na forma de um sistema de com-putador 620, incluindo uma unidade de processamento 621, umamemória de sistema 622, um barramento de sistema 623 que a-copla os vários componentes do sistema incluindo a memóriade sistema 622 à unidade de processamento 621. A unidade deprocessamento 621 pode executar instruções executáveis emcomputador desenhadas para implementar os recursos do siste-ma de computador 620, incluindo os aspectos da presente in-venção. 0 barramento de sistema 623 pode ser qualquer dentreos diversos tipos de estruturas de barramento incluindo umbarramento de memória ou uma controladora de memória, umbarramento periférico, e um barramento local, usando qual-quer dentre uma variedade de arquiteturas de barramento. Amemória de sistema inclui a memória de leitura (ROM) 624 e amemória de acesso aleatório (RAM) 625.Um sistema de entrada/saida básico (BIOS) 626, contendo as rotinas básicas queajudam a transferir informações entre os elementos dentro dosistema de computador 620, como, por exemplo, durante a par-tida, pode ser armazenado na memória ROM 624.
O sistema de computador 620 pode incluir ainda umaunidade de disco rígido magnético 627 para ler de ou gravarem um disco rígido magnético 639, uma unidade de disco mag-nético 628 para ler de ou gravar em um disco magnético remo-vível 629, e uma unidade de disco ótico 630 para ler de ougravar em um disco ótico removível 631, como, por exemplo,um CD-ROM ou outro meio ótico. A unidade de disco rígido627, a unidade de disco magnético 628, e a unidade de discoótico 630 são conectadas ao barramento de sistema 623 pormeio de uma interface de unidade de disco rígido 632, umainterface de unidade de disco magnético 633, ou uma interfa-ce de unidade de disco ótico 634, respectivamente. As unida-des e seus meios legíveis em computador associados provêm umarmazenamento não volátil de instruções executáveis em com-putador, de estruturas de dados, de módulos de programa ououtros dados para o sistema de computador 620. Embora a mo-dalidade exemplar descrita no presente documento empregue umdisco rígido magnético 639, um disco magnético removível 629ou um disco ótico removível 631, outros tipos de meios legí-veis em computador para o armazenamento de dados podem serusados, incluindo os cassetes magnéticos, os cartões de me-mória flash, os discos versáteis digitais, os cartuchos deBernoulli, as memórias RAM, ROM, ou coisa do gênero.
Os meios de código de programa compreendendo um oumais módulos de programa podem ser armazenados no disco rí-gido 639, no disco magnético 629, no disco ótico 631, na me-mória ROM 624 ou na memória RAM 625, incluindo um sistemaoperacional 635, um ou mais programas de aplicação 636, ou-tros módulos de programa 637, e dados de programa 638. Umusuário pode entrar comandos e informações no sistema decomputador 620 através do teclado 640, do dispositivo de in-dicação 642, ou de outros dispositivos de entrada (não mos-trados), tais como, por exemplo, um microfone, um joystick,uma controladora de jogos, um scanner, ou coisa do gênero.Estes e outros dispositivos de entrada podem ser conectadosà unidade de processamento 621 através da interface de en-trada / saida 64 6 acoplada ao barramento de sistema 623. Ainterface de entrada / saida 646 logicamente representaqualquer dentre uma variedade de interfaces diferentes, taiscomo, por exemplo, uma interface de porta serial, uma inter-face PS/2, uma interface de porta paralela, uma interface debarramento serial universal (USB), ou uma interface do Ins-tituto de Engenheiros Elétricos e Eletrônicos (IEEE) 1394(isto é, uma interface FireWire), ou pode ainda localmenterepresentar uma combinação de diferentes interfaces.
Um monitor 647 ou outro tipo de dispositivo de i-magem é também conectado ao barramento de sistema 623 atra-vés de uma interface de video 648. Outros dispositivos desaida periféricos (não mostrados), como, por exemplo, alto-falantes e impressoras, podem também ser conectados ao sis-tema de computador 620.
O sistema de computador 620 é conectável a redes,tais como, por exemplo, uma rede de computadores de escritó-rio ou de empresa, uma rede doméstica, uma intranet, e/ou aInternet. O sistema de computador 620 pode trocar dados comfontes externas, como, por exemplo, com sistemas de computa-dor remotos, com aplicações remotas, e/ou bancos de dadosremotos através de tais redes.
O sistema de computador 620 inclui uma interfacede rede 653, através da qual o sistema de computador 620 re-cebe dados das fontes externas e/ou transmite dados para asfontes externas. Conforme ilustrado na Figura 6, a interfacede rede 653 facilita a troca de dados com um sistema de com-putador remoto 683 via um enlace 651. A interface de rede653 pode logicamente representar um ou mais módulos de soft-ware e/ou hardware, tais como, por exemplo, um cartão de in-terface de rede e uma pilha de Especificação de Interface deAcionador de Rede (NDIS) correspondente. 0 enlace 651 repre-senta uma porção de uma rede (por exemplo, um segmento daEthernet), e o sistema de computador remoto 683 representaum nó da rede.
Da mesma forma, o sistema de computador 620 incluiuma interface de entrada / saida 646, através da qual o sis-tema de computador 620 recebe dados de fontes externas e/outransmite dados para fontes externas. A interface de entrada/ saida 646 é acoplada ao modem 654 (por exemplo, um modempadrão, um modem a cabo, ou um modem de linha de assinantedigital (DSL) via o enlace 659, através do qual o sistema decomputador 620 recebe dados das e/ou transmite dados para asfontes externas. Conforme ilustrado na Figura 6, a interfacede entrada / saida 646 e o modem 654 facilitam a troca dedados com um sistema de computador remoto 639 via o enlace652. O enlace 652 representa uma porção de uma rede e o sis-tema de computador remoto 63 9 representa um nó da rede.
Embora a Figura 6 represente um ambiente operacio-nal adequado para a presente invenção, os princípios da pre-sente invenção podem ser empregados em qualquer sistema ca-paz de, com a modificação adequada caso necessária, imple-mentar os princípios da presente invenção, o ambiente ilus-trado na Figura 6 é tão-somente ilustrativo e de forma algu-ma representa nem mesmo uma pequena porção da ampla varieda-de de ambientes nos quais os princípios da presente invençãopodem ser implementados.
De acordo com a presente invenção, os módulos queincluem gerenciadores de conteúdo, módulos de captura decontexto, módulos de relevância, módulos para salvar contex-tos, módulos para restaurar contextos, módulos de consultade contexto, assim como os dados associados, incluindo oslimites de relevância, os esquemas de relevância, as refe-rências, e os relacionamentos podem ser armazenados e aces-sados a partir de qualquer um dentre os meios legíveis emcomputador associados ao sistema de computador 620. Por e-xemplo, porções de tais módulos e porções de dados de pro-grama associados podem ser incluídas no sistema operacional635, nos programas de aplicação 636, nos módulos de programa637 e/ou nos dados de programa 638, para armazenamento namemória de sistema 622.
Quando um dispositivo de armazenamento de massa, como, por exemplo, um disco rígido magnético 639, é acopladoao sistema de computador 620, tais módulos e dados de pro-grama associados podem também ser armazenados no dispositivode armazenamento de massa. Em um ambiente de rede, os módu-los de programa ilustrados com relação ao sistema de compu-tador 620, ou porções do mesmo, podem ser armazenados emdispositivos de armazenamento de memória remotos, como, porexemplo, nos dispositivos de memória de sistema e/ou de ar-mazenamento de massa associados ao sistema de computador re-moto 683 e/ou ao sistema de computador remoto 693. A execu-ção de tais módulos pode ser feita em um ambiente distribuí-do, conforme previamente descrito.
A presente invenção pode ser incorporada em outrasformas específicas sem se afastar de seu espírito ou carac-terísticas essenciais. As modalidades descritas devem serconsideradas em todos os seus aspectos como ilustrativas enão restritivas. O âmbito da presente invenção é, portanto,indicado pelas reivindicações em apenso ao invés de peladescrição acima. Todas as mudanças que recaiam no sentido efaixa de equivalência das reivindicações devem ser abrangi-das em seu âmbito.

Claims (20)

1. Método para minar os relacionamentos a fim decapturar referências relevantes a um contexto, em um sistemade computador configurado para prover um ambiente de traba-lho baseado em contexto, o método sendo CARACTERIZADO pelofato de compreender as etapas de:- submeter critérios de consulta ao contexto atra-vés de um comportamento externo comum, o comportamento ex-terno comum sendo comum ao contexto e a um ou mais outroscontextos, o comportamento externo comum provendo uma inter-face comum de tal modo que diferentes aplicações possam uni-formemente submeter consultas ao contexto e a um ou mais ou-tros contextos;o contexto internamente identificar quaisquerreferências no contexto que atendam aos critérios de consul-tas de acordo com o comportamento interno especifico ao con-texto;- determinar se um segundo contexto com referên-cias potencialmente relevantes está dentro de um limite derelevância do contexto, o segundo contexto sendo um dentre oum ou mais outros contexto;- submeter de maneira recursiva os critérios deconsulta ao segundo contexto através do comportamento exter-no comum; e- o segundo contexto identificar quaisquer refe-rências no segundo contexto que atendam aos critérios deconsulta de acordo com o comportamento interno especifico dosegundo contexto.
2. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que a etapa de submeter critériosde consulta ao contexto compreende a etapa de submeter cri-térios de consulta a um contexto de atividade.
3. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que a etapa de identificar quais-quer referências no contexto que atendam aos critérios deconsulta compreende a etapa de identificar uma referênciaque é formatada de acordo com um esquema de referência.
4. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que a etapa de identificar quais-quer referências no contexto que atendam aos critérios deconsulta compreende a etapa de identificar uma referêncianão estruturada.
5. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que o ato de determinar se um ou-tro contexto com referências potencialmente relevantes estádentro de um limite de relevância do contexto compreende aetapa de determinar se uma referência no contexto tem um re-lacionamento definido a uma referência em um outro contexto.
6. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que a etapa de determinar se umoutro contexto com referências potencialmente relevantes es-tá dentro de um limite de relevância do contexto compreendea etapa de determinar se uma referência no contexto se cor-relaciona a uma referência em um outro contexto.
7. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que a etapa de determinar se umoutro contexto com referências potencialmente relevantes es-tá dentro de um limite de relevância do contexto compreendea etapa de determinar se uma referência em um outro contextopode ser acessada ao passar por menos de um número específi-co de relacionamentos.
8. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de compreender ainda as etapas de:- submeter de maneira recursiva critérios de con-sulta a qualquer outro contexto que atendam ao limite em re-levância.
9. Método para adicionar uma referência a um con-texto, em um sistema de computador configurado para proverum ambiente de trabalho baseado em contexto, o método sendoCARACTERIZADO pelo fato de compreender as etapas de:- selecionar uma referência com um dispositivo deentrada de usuário;- indicar se a referência está incluída em um con-texto, o contexto tendo um comportamento externo comum parao recebimento de referências, o comportamento externo comumsendo comum ao contexto e a um ou mais contextos no sistemade computador;- aceitar a referência de acordo com o comporta-mento externo comum; e- o contexto processar a referência de acordo comuma lógica interna, a lógica interna sendo interna ao con-texto, a lógica interna diferindo da lógica interna do pelomenos um dentre o um ou mais contextos.
10. Método, de acordo com a reivindicação 9,CARACTERIZADO pelo fato de que a etapa de indicar se a refe-rência deve ser incluída em um contexto compreende a etapade arrastar um ícone que representa a referência para o con-texto e soltar o ícone na referência.
11. Método, de acordo com a reivindicação 9,CARACTERIZADO pelo fato de que a etapa de indicar se a refe-rência deve ser incluída em um contexto compreende a etapade entrar uma seleção de menu.
12. Método, de acordo com a reivindicação 9,CARACTERIZADO pelo fato de que a etapa de o contexto proces-sar a referência de acordo com um lógica interna compreendea etapa de o contexto de documento salvar a referência comouma etiqueta inteligente dentro do documento.
13. Método, de acordo com a reivindicação 9,CARACTERIZADO pelo fato de que a etapa de o contexto proces-sar a referência de acordo com a lógica interna compreende aetapa de o contexto de colaboração salvar a referência emuma linha de tempo contida no contexto de colaboração.
14. Método para executar uma tarefa quando o focoé deslocado da tarefa entre o desempenho de diferentes por-ções da tarefa, em um sistema de computador configurado paraprover um ambiente de trabalho baseado em contexto, o métodosendo CARACTERIZADO pelo fato de compreender as etapas de:- deslocar o foco para um contexto que inclui umaou mais referências relevantes para a execução de uma tarefa.- executar uma primeira porção da tarefa, o desem-penho da primeira porção da tarefa tendo um resultado que-manipula a configuração de uma ou mais dentre as referênciasem questão;- salvar o contexto de modo a preservar a configu-ração da uma ou mais referências relevantes;- deslocar o foco para um contexto diferente queinclui diferentes referências, de tal modo que o foco sedesloque da configuração da uma ou mais referências em questão;- restaurar o contexto depois de salvar o contexto;- executar uma segunda porção subseqüente da tarefa que depende do resultado da primeira porção da tarefa, asegunda porção seguinte da tarefa utilizando a configuraçãopreservada da uma ou mais referências relevantes de tal modoque o desempenho da primeira porção da tarefa não tenha deser repetido.
15. Método, de acordo com a reivindicação 14,CARACTERIZADO pelo fato de que a etapa de deslocar o focopara um contexto que inclui uma ou mais referências relevan-tes à execução de uma tarefa compreende a etapa de deslocaro foco em resposta à entrada do usuário.
16. Método, de acordo com a reivindicação 14,CARACTERIZADO pelo fato de que a etapa de salvar o contextoa fim de preservar a configuração da uma ou mais referênciasrelevantes compreende a etapa de salvar o contexto da memó-ria de sistema em um disco magnético ou ótico.
17. Método, de acordo com a reivindicação 14,CARACTERIZADO pelo fato de que a etapa de deslocar o focopara um contexto diferente que inclui diferentes referênciascompreende a etapa de remover a uma ou mais referências re-levantes da memória de sistema.
18. Método, de acordo com a reivindicação 14,CARACTERIZADO pelo fato de que a etapa de restaurar o con-texto subseqüente para salvar o contexto compreende a etapade carregar o contexto do disco magnético ou ótico para amemória de sistema.
19. Método, de acordo com a reivindicação 14,CARACTERIZADO pelo fato de que a etapa de restaurar o con-texto subseqüente para salvar o contexto compreende a etapade preservar o agrupamento e a configuração da uma ou maisreferências relevantes.
20. Método, de acordo com a reivindicação 19,CARACTERIZADO pelo fato de que a etapa de executar uma se-gunda porção subseqüente da tarefa que depende do resultadoda primeira porção da tarefa compreende a etapa de utilizaro agrupamento e configuração preservados de uma ou mais re-ferências relevantes a fim de realizar a segunda porção sub-seqüente da tarefa.
BRPI0612625-1A 2005-07-01 2006-06-07 ambiente de trabalho baseado em contexto BRPI0612625A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/173,579 2005-07-01
US11/173,579 US7567944B2 (en) 2005-07-01 2005-07-01 Context based work environment
PCT/US2006/022231 WO2007005187A2 (en) 2005-07-01 2006-06-07 Context based work environment

Publications (1)

Publication Number Publication Date
BRPI0612625A2 true BRPI0612625A2 (pt) 2010-11-23

Family

ID=37604931

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0612625-1A BRPI0612625A2 (pt) 2005-07-01 2006-06-07 ambiente de trabalho baseado em contexto

Country Status (5)

Country Link
US (1) US7567944B2 (pt)
KR (1) KR20080024114A (pt)
CN (1) CN101647011B (pt)
BR (1) BRPI0612625A2 (pt)
WO (1) WO2007005187A2 (pt)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7533808B2 (en) 2005-02-09 2009-05-19 Yuh-Shen Song Privacy protected cooperation network
US7769767B2 (en) 2007-09-27 2010-08-03 Domingo Enterprises, Llc System and method for filtering content on a mobile device based on contextual tagging
JP2009217404A (ja) * 2008-03-07 2009-09-24 Hitachi Ltd ストレージシステム
US9805135B2 (en) * 2011-03-30 2017-10-31 Cbs Interactive Inc. Systems and methods for updating rich internet applications
US20140115495A1 (en) * 2012-10-18 2014-04-24 Aol Inc. Systems and methods for processing and organizing electronic content
US9799005B2 (en) * 2013-03-07 2017-10-24 Samsung Electronics Co., Ltd. Computing system with contextual interaction mechanism and method of operation thereof

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6760720B1 (en) 2000-02-25 2004-07-06 Pedestrian Concepts, Inc. Search-on-the-fly/sort-on-the-fly search engine for searching databases
US20030229624A1 (en) 2002-06-05 2003-12-11 Petrisor Greg C. Search system
US20040243631A1 (en) * 2002-10-25 2004-12-02 Walker Andrew S. System or method for gathering and utilizing information
US7512885B2 (en) 2003-03-31 2009-03-31 Avid Technology, Inc. Graphical user interface for navigating and displaying relationships among media data and metadata

Also Published As

Publication number Publication date
KR20080024114A (ko) 2008-03-17
WO2007005187A2 (en) 2007-01-11
US20070022071A1 (en) 2007-01-25
US7567944B2 (en) 2009-07-28
CN101647011A (zh) 2010-02-10
CN101647011B (zh) 2013-06-19
WO2007005187A3 (en) 2009-04-09

Similar Documents

Publication Publication Date Title
RU2573209C2 (ru) Автоматический поиск контекстно-связанных элементов задачи
US8051380B2 (en) Communicating shared electronic calendar modifications
JP5147174B2 (ja) ナレッジ交換クエリを受信しおよび応答する方法、システム、および装置
US7783645B2 (en) Methods and apparatus to recall context relevant information
KR101150095B1 (ko) 지식 교환 시스템에서 사용자 프라이버시를 유지하기 위한 방법, 시스템, 장치 및 컴퓨터-판독가능 저장 매체
US7707212B2 (en) Method and system for propagating annotations using pattern matching
RU2343537C2 (ru) Компьютерный поиск с помощью ассоциативных связей
JP5313337B2 (ja) モバイル・コンピューティング装置に対する検索結果の提供
US8037049B2 (en) System for automatic data retrieval based on context-traversal history
US8244766B2 (en) Applying a model of a persona to search results
US20130103391A1 (en) Natural language processing for software commands
US20070150783A1 (en) Methods and apparatus to abstract events in software applications or services
JP2007524909A (ja) コンピュータオブジェクトに対するアクセス制御用ユーザインタフェース
US20140236958A1 (en) Evolving metadata
JP2006244468A (ja) 自動化されたデータ編成
CA2724465A1 (en) Displaying a list of file attachments associated with a message thread
BRPI0612625A2 (pt) ambiente de trabalho baseado em contexto
US20080320027A1 (en) Strongly typed tags
JP5294002B2 (ja) 文書管理システム、文書管理プログラム及び文書管理方法
US11650998B2 (en) Determining authoritative documents based on implicit interlinking and communication signals
US20230004727A1 (en) Task-action prediction engine for a task management system
US7433875B2 (en) Web store events
US20200065401A1 (en) User-specific dynamic context folders
JP7201098B2 (ja) 情報連携システムおよび情報連携方法
US20080163107A1 (en) Method and system for organizing multiple user interfaces on a display screen

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC (US)

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]

Free format text: MANTIDO O INDEFERIMENTO UMA VEZ QUE NAO FOI APRESENTADO RECURSO DENTRO DO PRAZO LEGAL