BRPI0618711A2 - reposicionamento dinámico de fluxo de trabalho por usuários finais - Google Patents
reposicionamento dinámico de fluxo de trabalho por usuários finais Download PDFInfo
- Publication number
- BRPI0618711A2 BRPI0618711A2 BRPI0618711-0A BRPI0618711A BRPI0618711A2 BR PI0618711 A2 BRPI0618711 A2 BR PI0618711A2 BR PI0618711 A BRPI0618711 A BR PI0618711A BR PI0618711 A2 BRPI0618711 A2 BR PI0618711A2
- Authority
- BR
- Brazil
- Prior art keywords
- workflow
- state
- computer
- additionally comprises
- implemented method
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Computer And Data Communications (AREA)
Abstract
REPOSICIONAMENTO DINáMICO DE FLUXO DE TRABALHO POR USUáRIOS FINAIS Sistemas e métodos que dinamicamente reajustam um estado de fluxo de trabalho empregando um gerenciador de estado dinâmico que é externo ao fluxo de trabalho, e permite interação de um hospedeiro com uma circunstância de fluxo de trabalho. Um fluxo de trabalho dirigido por evento ou fluxode trabalho de máquina de estado pode ser fornecido, em que eventos ad hoc são empregados para reajustar e manipular o fluxo de trabalho para estados que não foram modelados como parte do próprio fluxo de trabalho, para dinamicamente criar relações no tempo de execução.
Description
"REPOSICIONAMENTO DINÂMICO DE FLUXO DE TRABALHO POR USUÁRIOS FINAIS"
ANTECEDENTES
A evolução dos computadores e tecnologias de ges- tão de redes de sistemas de processamento de dados de alto custo, de baixo desempenho a sistemas de resolução de pro- blema e de entretenimento de baixo custo, de comunicação de alto desempenho forneceu um meio de custo eficaz e de econo- mia de tempo para minorar o fardo de executar tarefas diari- amente tais como correspondência, conta a pagar, compras, orçamento e coleta de informações. Hoje, um sistema de com- putação interfaceado para a Internet, por meio de tecnologia com ou sem fios, pode prover a um usuário um canal para a- cesso quase instantâneo a uma riqueza de informações de um repositório de sítios de rede e servidores localizados ao redor do mundo, às pontas do dedo do usuário.
Por exemplo, em tal "rede mundial", um usuário é capaz de designar um endereço de um sítio ou página alvo pa- ra onde o usuário deseja "ir". O usuário depois entra no sí- tio selecionado e a página alvo ou página inicial do sítio será exibida na tela de exibição do usuário. Tipicamente, a informação disponível por meio dos sítios de rede e servido- res é acessada por meio de um navegador de rede que executa em um cliente de rede (por exemplo, um computador) . Por e- xemplo, um usuário de rede pode desenvolver um navegador de rede e acessar um sítio de rede entrando no Localizador de Recurso Uniforme do sítio de rede (URL) (por exemplo, um en- dereço de rede e/ou um endereço de Internet) em uma barra de endereço do navegador de rede e apertando a tecla enter em um teclado ou clicando em um botão "ir" com um mouse. Em muitos casos, quando a tela alvo é exibida, pode não apre- sentar a informação antecipada ou buscada e o usuário então terá que designar outro endereço alvo para acesso.
Processos envolvidos em navegação de página podem ser automatizados, contando com comunicação entre as aplica- ções, enquanto outros contam com pessoas para iniciar o pro- cesso, aprovar documentos que o processo usa, solucionar qualquer situação excepcional que surja, e mais. Em qualquer caso, é comum especificar uma série distinta de etapas co- nhecidas como um fluxo de trabalho (por exemplo, controle de fluxo de página) que descreve as atividades dos usuários e software envolvido no processo. Uma vez tal fluxo de traba- lho foi definido, uma aplicação pode ser construída em torno daquela definição para suportar o processo empresarial.
Sistemas de computador e software associado agora fornecem ferramentas com as quais os estabelecimentos comer- ciais e outras organizações podem melhorar seu fluxo de tra- balho. Podem ser usadas ferramentas de software para modelar os processos ou esquemas" de fluxo de trabalho do estabeleci- mento e identificar falhas e possíveis melhorias. Além disso, onde um processo envolve trocar dados entre pessoas, depar- tamentos, fábricas, ou até mesmo entre companhias separadas, sistemas de computador e redes podem ser usados para imple- mentar tais permutas. Tais sistemas e ferramentas de softwa- re são também capazes de implementar amplas computações e outro processamento de dados ou informação que estão tipica- mente associados à informação relacionada ao estabelecimento.
Conseqüentemente, gerenciamento de fluxo de traba- lho inclui o gerenciamento eficaz de fluxo de informação e controle nos processos comerciais de uma organização, em que automatização de tal processamento de informação tem levado a muitas melhorias de eficiência no mundo empresarial moder- no. Além disso, tal automatização de gerenciamento de fluxo de trabalho está agora permitindo estabelecimentos comerci- ais e outras organizações também melhorarem o desempenho na execução de transações de fluxo de trabalho em sistemas de computador, incluindo redes de computadores globais, tais como a Internet.
Uma aplicação baseada em fluxo de trabalho típica freqüentemente requer uma pluralidade de condições a serem satisfeitas. Por exemplo, uma tal condição é a habilidade de tomar decisões com base nas regras comerciais. Tais podem incluir regras simples, (por exemplo, como uma decisão de sim-ou-não com base no resultado de uma verificação de cré- dito) , e regras mais complexas, (por exemplo, o conjunto po- tencialmente grande que deve ser avaliado para tomar uma de- cisão de comprometimento inicial). Outro requerimento é co- municação com outro software e outros sistemas fora do fluxo de trabalho. Por exemplo, uma solicitação inicial pode ser recebida de uma parte da aplicação, enquanto alguns aspectos, (por exemplo, contatar um serviço de crédito) podem requerer comunicação usando outros serviços ou tecnologias de rede. Uma outra condição a ser satisfeita é a interação apropriada do fluxo de trabalho com os usuários. Por exemplo, o fluxo de trabalho deve tipicamente ser capaz de exibir uma inter- face do usuário em si ou interagir com seres humanos através de outro software. Além disso, a habilidade para manter o estado ao longo da vida do fluxo de !"'trabalho é outra condi- ção que necessita ser satisfeita. Conseqüentemente;, criar e executar um fluxo de trabalho em software propõem desafios singulares.
Hoje há uma pluralidade de soluções para incorpo- rar sistemas de fluxo de trabalho com controle de fluxo de página. Tal pode incluir os que empregam Controlador de Vi- sualização de Modelo (MVC), Controlador de Página, e padrões de Controlador Frontal, para organizar a navegação da página de rede, por exemplo. Estas soluções permitem aos usuários navegar através de uma série de páginas predefinidas com re- lações de códigos fixos. No entanto, submeter páginas que já estão sendo processadas requer que as relações sejam defini- das antecipadamente.
Conseqüentemente, pode se tornar desafiador mode- lar toda possível combinação de relações entre qualquer con- junto de páginas. Tal complexidade força os desenvolvedores e analistas a modelar a relação entre as páginas que é muito comum e provável de ocorrer, por exemplo, a "trajetória ide- al". Desse modo, os desenvolvedores podem ser forçados a construir lógica de re-submissão dentro de suas páginas que necessitam manter a trilha da última página submetida. Em geral, nenhum mecanismo existe para permitir definição do fluxo de página, em que os usuários finais são capazes de reposicionar o fluxo sem uma relação formal entre as páginas sendo definidas.
Portanto, há uma necessidade para superar as defi- ciências exemplares acima mencionadas associadas aos siste- mas e dispositivos convencionais.
SUMÁRIO
O seguinte apresenta um sumário simplificado para fornecer uma compreensão básica de alguns aspectos do assun- to reivindicado. Este sumário não é uma visão geral extensi- va. Não é intencionado identificar elementos fundamen- tais/criticos ou delinear o escopo do assunto reivindicado. Seu propósito exclusivo é apresentar alguns conceitos em uma forma simplificada como um prelúdio para a descrição mais detalhada que é apresentada depois.
A inovação em questão provê sistemas e métodos que dinamicamente reajustam a um estado de fluxo de trabalho em- pregando um gerenciador de estado dinâmico que é externo ao fluxo de trabalho, e permitem interação de um hospedeiro com uma circunstância do fluxo de trabalho. Tal administrador de estado dinâmico pode gerenciar o estado do fluxo de trabalho de fora do fluxo de trabalho (por exemplo, sem ser construí- do como parte do próprio fluxo de trabalho) . Como tal, um requerimento para modelar alterações de estado ad hoc de um fluxo de trabalho é mitigado. Desse modo, um fluxo de traba- lho dirigido por evento pode ser provido, em que eventos ad hoc são empregados para reajustar e manipular o fluxo de trabalho para estados que não foram modelados como parte do próprio fluxo de trabalho, para dinamicamente criar relações no tempo de execução. Um hospedeiro pode chamar o provedor de fluxo de trabalho e passar um estado fixo (por exemplo, com um estado específico e UI), em que o tempo de execução do fluxo de trabalho é depois apanhado. 0 gerenciador de es- tado dinâmico recebe o estado fixo, para direciona tal esta- do reajustando a circunstância do fluxo de trabalho. 0 esta- do de fluxo de trabalho pode também enviar uma notificação ao tempo de execução do fluxo de trabalho com relação à sus- pensão (por exemplo, aguardando um evento) que retorna para o provedor do fluxo de trabalho e é depois comunicado ao hospedeiro.
Em um aspecto relacionado um componente de ativi- dade interativa pode parar o fluxo de trabalho em pontos es- pecíficos (por exemplo, ajustando o tempo de execução do fluxo de trabalho em ocioso), e aguardar uma entrada do hos- pedeiro para retomar o fluxo de trabalho. O hospedeiro pode chamar um provedor de fluxo de trabalho para carregar uma circunstância de fluxo de trabalho. Subseqüentemente um e- vento pode ser ajustado, em que o evento pode corresponder a uma interface do usuário (por exemplo, uma página de rede que corresponde a um estado do fluxo de trabalho). Desse mo- do, o hospedeiro pode prover informação com relação às tra- jetórias de navegação (por exemplo, em forma de um "ir para") .
Em seguida, uma verificação pode ser provida pelo gerenciador de estado dinâmico sobre a disponibilidade de um estado para o fluxo de trabalho. Se tal estado não existir, um erro pode ser exibido para o usuário. Do contrário, e se tal estado existir, o gerenciador de estado dinâmico pode ajustar tal estado em ativo para uma execução do mesmo den- tro do fluxo de trabalho. Subseqüentemente e em execução, o fluxo de trabalho pode aguardar pelo evento para transitar para o estado novo, e após a recepção do evento de transição do hospedeiro, o fluxo de trabalho pode mudar para o estado novo. Em seguida, a verificação é executada para verificar se tal estado é o último estado na circunstância de fluxo de trabalho. Nesse caso, a metodologia finaliza. Do contrário, a metodologia volta a executar outro estado. É para ser a- preciado que a inovação em questão não é assim limitada, e além das páginas de rede a inovação em questão pode ser a- plicada aos serviços de rede, execução dos serviços do sis- tema, e outros.
De acordo com um método particular da inovação em questão, inicialmente uma exibição, (por exemplo, uma página)· que faz parte de um controle de navegação de aplicação (por exemplo, um fluxo de controle de fluxo de página) é exibida no navegador, em que o usuário completa a informação na pá- gina para uma submissão dos mesmos. Subseqüentemente, a cir- cunstância de fluxo de trabalho associada a tal exibição é carregada e o estado do fluxo de trabalho é ajustado ao es- tado associado à exibição. Tipicamente, existe uma associa- ção de um para um entre a exibição e um estado. Uma vez o estado é fixo, o evento gerado pela exibição é passado para a circunstância de fluxo de trabalho para consumo. Os even- tos são passados para o estado atual da circunstância de fluxo de trabalho. O estado determina se tal evento pode ser consumido. Se o evento for consumido pelo estado atual, um manipulador associado pode determinar se as transições de estado são requeridas. Do contrário e se o evento não for consumido pelo estado atual, tal evento é depois passado pa- ra o estado que contém aquele estado para consumo.
Para a realização dos fins precedentes e relacio- nados, certos aspectos ilustrativos do assunto reivindicado são descritos aqui com relação à descrição a seguir e aos desenhos anexados. Estes aspectos são indicativos de vários modos em que o assunto pode ser praticado, todos estes são intencionados a estar dentro do escopo do assunto reivindi- cado. Outras vantagens e características novas podem tornar- se evidentes da descrição detalhada a seguir quando conside- radas juntamente com os desenhos.
BREVE DESCRIÇÃO DOS DESENHOS
Fig. 1 ilustra um diagrama de sistema exemplar de um fluxo de trabalho tendo um gerenciador de estado dinâmico que reajusta um estado de fluxo de trabalho.
Fig. 2 ilustra uma metodologia exemplar para rea- justar um estado de fluxo de trabalho de acordo com um as- pecto exemplar da inovação em questão.
Fig. 3 ilustra um diagrama de sistema particular de uma tecnologia de desenvolvimento de rede das Páginas A- tivas do Servidor (ASP) de acordo com um aspecto da inovação em questão.
Fig. 4 ilustra um diagrama de sistema adicional de uma tecnologia de desenvolvimento de rede de ASP de acordo com um aspecto adicional da inovação em questão.
Fig. 5 ilustra uma metodologia exemplar, em que um fluxo de trabalho interativo é provido que aguarda uma en- trada do hospedeiro para mover o fluxo de trabalho para ou- tro estado.
Fig. 6 ilustra uma metodologia adicional de rea- justar um estado do fluxo de trabalho.
Fig. 7 ilustra um quadro de etapas relacionado a um fluxo de trabalho dirigido por evento de acordo com um aspecto da inovação em questão.
Fig. 8 ilustra uma seqüência de ações empregadas para reajustar e manipular o fluxo de trabalho para estados que não foram modelados como parte do próprio fluxo de tra- balho.
Fig. 9 ilustra um ambiente exemplar para implemen- tar vários aspectos da inovação em questão.
Fig. 10 é um diagrama de blocos esquemático de um ambiente de computação adicional que pode ser empregado para implementar um fluxo de trabalho com serviço de persistência de roteamento da inovação em questão.
DESCRIÇÃO DETALHADA
Os vários aspectos da invenção em questão são ago- ra descritos com referência aos desenhos anexados, em que tais numerais se referem a elementos semelhantes ou corres- pondentes do principio ao fim. Porém, deveria ser entendido que os desenhos e descrição detalhada relacionando a estes não são intencionados a limitar o assunto reivindicado à forma particular revelada. Do contrário, a intenção é abran- ger todas as modificações, equivalentes, e alternativas que estão inclusos dentro do espirito e escopo do assunto rei- vindicado . Como aqui usado, os termos "componente", "sistema", "serviço", "gerenciador" e outros são intencionados a refe- rir a uma entidade relacionada a computador, ou hardware, uma combinação de hardware e software, software, ou software em execução. Por exemplo, um componente pode ser, mas não é limitado a ser, um processo que opera em um processador, um processador, um objeto, um executável, uma cadeia de execu- ção, um programa, e/ou um computador. Por via de ilustração, tanto uma aplicação que opera em computador como o computa- dor podem ser um componente. Um ou mais componentes podem residir dentro de um processo e/ou cadeia de execução e um componente pode estar localizado em um computador e/ou dis- i tribuido entre dois ou mais computadores.
A palavra "exemplar" é aqui usada para significar serviço como um exemplo, circunstância, ou ilustração. Qual- quer aspecto ou projeto descrito aqui como "exemplar" não é necessariamente para ser interpretado como preferido ou van- tajoso em outros aspectos ou projetos.
Além disso, o assunto revelado pode ser implemen- tado como um sistema, método, aparelho, ou artigo de fabri- cação usando programação padrão e/ou técnicas de criação pa- ra produzir software, firmware, hardware, ou qualquer combi- nação dos mesmos para controlar um dispositivo com base em computador ou processador para implementar os aspectos deta- lhados aqui. O termo programa de computação como aqui usado é intencionado abranger um programa de computação acessível de qualquer dispositivo, veículo, ou meios legíveis por com- putador. Por exemplo, meios legíveis por computador podem incluir, mas não são limitados a, dispositivos de armazena- mento magnéticos (por exemplo, disco rígido, disco flexível, fitas magnéticas...), discos ópticos (por exemplo, disco la- ser (CD), disco versátil digital (DVD)...), cartões inteli- gentes, e dispositivos de memória instantânea (por exemplo, cartão, bastão). Adicionalmente deveria ser apreciado que uma onda portadora pode ser empregada para carregar dados eletrônicos legíveis por computador tais como aqueles usados na transmissão e recepção de correio eletrônico ou acesso de uma rede tal como a Internet ou uma rede local (LAN) . Claro que, aqueles versados na técnica reconhecerão muitas modifi- cações podem ser feitas nesta configuração sem divergir do escopo ou espírito do assunto reivindicado.
Voltando inicialmente à Fig. 1, um diagrama de blocos para um sistema 101 é ilustrado que dinamicamente re- ajusta um/uns estado(s) de fluxo de trabalho 102 empregando um gerenciador de estado dinâmico 105 que é externo ao fluxo de trabalho, e permite interação de um hospedeiro 120 com a circunstância de fluxo de trabalho 102. O sistema 101 empre- ga o gerenciador de estado dinâmico 105 para mitigar um re- querimento ad hoc para modelar alterações de estado de um fluxo de trabalho associado ao sistema 101. Desse modo, um fluxo de trabalho dirigido por evento pode ser provido, em que eventos ad hoc são empregados para reajustar e manipular o fluxo de trabalho para estados que não foram modelados co- mo parte do próprio fluxo de trabalho, e dinamicamente criar relações no tempo de execução.
Tal fluxo de trabalho pode modelar um processo hu- mano ou de sistema que é definido como um mapa de atividades. Uma atividade é uma etapa em um fluxo de trabalho, e é a u- nidade de execução, re-uso, e composição para um fluxo de trabalho. 0 mapa de atividades expressa regras, ações, esta- dos, e sua relação. Tipicamente, o fluxo de trabalho opera por meio da máquina/tempo de execução do fluxo de trabalho 110, e o tempo de execução do fluxo de trabalho requer hos- pedá-lo, de acordo com algumas regras, para uma aplicação externa como descrita pelo hospedeiro 120. Troca de dados entre o hospedeiro 120 e o sistema de fluxo de trabalho 100 pode referir e/ou descreva os documentos empresariais e ou- tros objetos que são empregados ou que facilitam a atividade do fluxo de trabalho ou um fluxo entre as variáveis locais do fluxo de trabalho que são usadas para os dados comunica- dos com a aplicação de hospedeiro 120.
Por exemplo, a aplicação de hospedeiro 120 pode interagir com Provedor de Fluxo de Trabalho 115 associado ao sistema de fluxo de trabalho 100, através de uma Classe de Base do Provedor de Fluxo de Trabalho 117. Além disso, o hospedeiro 120 pode ser responsável por vários aspectos adi- cionais e críticos, tais como a criação de um ou mais pro- cessos, ordenamento necessário de chamadas entre vários com- ponentes como para execução apropriada do fluxo de trabalho; e organização dos mecanismos de isolamento. Além disso, o hospedeiro 120 pode criar processos múltiplos para tirar proveito das múltiplas Unidades de Processamento Central (CPUs) em uma máquina para razoes de escalabilidade, ou ope- rar um número grande de circunstâncias de fluxo de trabalho em uma fazenda de máquinas. O hospedeiro 120 pode também controlar as políticas para aplicar quando um fluxo de tra- balho estiver sujeito a uma aguarda longa, escutar os even- tos específicos e os comunicar a um usuário ou administrador, determinar tempo de aguarda e tentar novamente cada fluxo de trabalho, expor os contadores de desempenho, e escrever in- formação de Iog para propósitos de depuração e de diagnóstico.
Um fluxo de trabalho associado ao sistema de fluxo de trabalho 101 pode comunicar com o mundo externo através de um serviço especificamente estabelecido para aquele pro- pósito, em que tal serviço pode criar eventos que as ativi- dades baseadas em eventos dentro do fluxo de trabalho engan- charão. Igualmente, o serviço expõe métodos públicos para o fluxo de trabalho chamar e enviar dados para o hospedeiro 120. O fluxo de trabalho pode ser definido na forma de um esquema para execução em um sistema de computador. Um esque- ma pode incluir um conjunto de ações tendo uma concorrência especificada, dependência, e atributos de transação associa- dos a elas. Cada esquema pode ter um estado de esquema asso- ciado, que inclui uma definição do esquema, a localização atual dentro do esquema, como também dados e objetos ativos ou vivos associados ao esquema. Dentro de um esquema, os li- mites de transação podem existir com base em agrupamentos de ações. Nesta consideração, uma transação pode abranger ações individuais, ou transações, ou grupos dos mesmos. Como deba- tido também doravante, as ações podem ser agrupadas em se- qüências que são executadas em maneira serial, como também tarefas em que as ações são executadas simultaneamente. Com base nos agrupamentos, portanto, atributos de concorrência podem ser solucionados para as ações e transações dentro de um esquema.
O hospedeiro 120 pode chamar o Provedor de Fluxo de Trabalho 115 e pode passar um estado fixo (por exemplo, com um estado especifico e UI), em que o tempo de execução de fluxo de trabalho é depois apanhado. O gerenciador de es- tado dinâmico 105 recebe o estado fixo, dirigir tal estado reajustando a circunstância de fluxo de trabalho 111. O es- tado de fluxo de trabalho 102 pode também enviar uma notifi- cação ao tempo de execução do fluxo de trabalho 110 com re- lação à suspensão (por exemplo, aguardar um evento), que é direcionado ao Provedor de Fluxo de Trabalho 115 e é depois comunicado ao hospedeiro 120.
O seguinte é uma definição exemplar para um geren- ciador de estado dinâmico em que é assumido que cada Estado dentro do Fluxo de Trabalho da Máquina de Estado mapeia para uma Página da Rede.
//Recuperar informação da página para enviar ao fluxo de trabalho
Data PageInfo = Page.GetFormData (); //Recuperar o nome associado á página. String pageAlias = Page.GetCurrentPageAlias (); //Recuperar a circunstância de fluxo de trabalho do fluxo de trabalho da máquina de estado
StateMachineWorkflow StateMachineInstance = WorkflowRuntime.GetWorkflow(WorkflowID); //Recuperar o estado atual da máquina de estado State currentState = StateMachineInstan- ce.GetCurrentState ();
//Se o estado atual da máquina de estado não empa- relhar ao nome de página
//então nós necessitamos reajustar o estado, do
contrário, continue e submeta a página //para o estado atual.
If (currentState.Name != pageAlias) {
StateMachineWorkflow.SetState(pageName);
}
StateMachineWorkflow.Submit(pagelnfo);
//Aguardar a transição de estado ocorrer antes de ele atualizar a próxima página
State nextState = StateMachine.GetCurrentState ();
//Recuperar o mapeamento entre o estado do fluxo de trabalho e a página.
//Lembrar se há um mapeamento de um para um. String nextPage = Page.LookUpAlias(nextState.Name); Page.DisplayPage(nextPage);
Fig. 2 ilustra uma metodologia 200 de acordo com um aspecto da inovação em questão. Embora o método exemplar seja ilustrado e descrito aqui como uma série de blocos re- presentativos de vários eventos e/ou ações, a inovação em questão não é limitada pela ordenação ilustrada de tais blo- cos. Por exemplo, algumas ações ou eventos podem ocorrer em ordens diferentes e/ou simultaneamente com outras ações ou eventos, além da ordenação ilustrada aqui, de acordo com a inovação. Além disso, todos os blocos, eventos ou ações i- lustrados podem não ser requeridos para implementar uma me- todologia de acordo com a inovação em questão. Além disso, será apreciado que o método exemplar e outros métodos de a- cordo com a inovação podem ser implementados em associação com o método ilustrado e descrito aqui, como também em asso- ciação com outros sistemas e aparelho não ilustrados ou des- critos. Em 210, o hospedeiro pode chamar um provedor de flu- xo de trabalho para carregar uma circunstância de fluxo de trabalho. Por exemplo, para carregar uma circunstância do fluxo de trabalho, acesso pode ser fornecido a um armazena- mento de persistência correspondente que armazena a repre- sentação de circunstância de fluxo de trabalho, e tal repre- sentação é depois convertida nas circunstâncias de fluxo de trabalho, e fornecida à aplicação de hospedeiro. Subseqüen- temente, e em 220 um évento pode ser ajustado, em que o e- vento pode corresponder a uma interface do usuário (por e- xemplo, uma página de rede que corresponde a um estado do fluxo de trabalho). Desse modo, o hospedeiro pode prover in- formação com relação às trajetórias de navegação (por exem- plo, em forma de um "ir para") . Em seguida e em 230, o ge- renciador de estado dinâmico pode verificar a disponibilida- de de um estado para o fluxo de trabalho. Se tal estado não existir, um erro pode ser exibido ao usuário, e a metodolo- gia pára em 235.
Do contrário, e se tal estado existir, o gerencia- dor de estado dinâmico pode ajustar tal estado para ativo em 240 para uma execução do mesmo dentro do fluxo de trabalho. Subseqüentemente e em execução em 250, o fluxo de trabalho pode aguardar pelo evento para transitar para o estado novo 260, e após a recepção do evento de transição do hospedeiro, o fluxo de trabalho pode mudar para o estado novo em 270. Em seguida e em 280, a verificação é executada para verificar se tal estado é o último estado na circunstância de fluxo de trabalho. Nesse caso, a metodologia finaliza em 295. Do con- trário, a metodologia retorna para a ação 250 para executar outro estado.
Fig. 3 & 4 ilustram exemplos de implementação par- ticulares 300 & 400 do gerenciador de estado dinâmico de a- cordo com de acordo com um aspecto da inovação em questão. Em contraste com os sistemas convencionais (em que os usuá- rios têm que interagir com o sistema de tipo de fluxo de trabalho que define a navegação de página por meio de mode- lagem de uma lógica complexa entre várias páginas/etapas)- a inovação em questão permite um conceito dinâmico para ge- renciamento de estado que simplifica a lógica envolvida. Por exemplo, os estados 310, 410 do fluxo de trabalho podem ser reajustados antes da informação para o evento ser processada pelo fluxo de trabalho.
Como ilustrado nas Fig. 3 & 4 existem duas versões do fluxo de trabalho, a saber um tipo de fluxo de trabalho de máquina de estado 315, 415 e um tipo de fluxo de·trabalho seqüencial 317, 417. Tipicamente, todo fluxo de trabalho contém algum número de atividades, cada um destes executa algum aspecto da função daquele fluxo de trabalho. 0 fluxo de trabalho age como um recipiente para estas atividades, fornecendo um modo para controlar seus ciclos de vida e or- dem de execução. Fluxos de trabalho de sistema tendem a exe- cutar atividades em modos bem definidos, previsíveis, en- quanto os fluxos de trabalhos humanos não.
Para tratar destes requerimentos, Windows Workflow Foundation fornece dois tipos de fluxo de trabalho embutidos: fluxos de trabalho seqüenciais 317, 417, capazes de executar atividades em um padrão predefinido, e fluxos de trabalho de máquina de estado 315, 415, capazes de responder a eventos externos como eles ocorrem. Ambos contam com o mesmo ambien- te de tempo de execução, e ambos podem usar as mesmas ativi- dades de costume. O método seqüencial é um ajuste natural para o fluxo de trabalho de sistema, enquanto as máquinas de estado fornecem um modo para modelar a natureza definida de fluxo de trabalho humano o mais livremente. Um fluxo de tra- balho simples pode combinar elementos de ambos os estilos, permitindo uma combinação dos dois. Além disso, um desenvol- vedor pode também criar tipos de fluxo de trabalho de costume.
0 tempo de execução do fluxo de trabalho 311, 411 gerencia a circunstância de fluxo de trabalho programatica- mente como um tempo de execução de fluxo de trabalho dentro das Páginas Ativas do Servidor (aplicação de ASP.net) 301, 401. Além disso, o componente de atividade interativa 330, 430 pode parar a execução do fluxo de trabalho em pontos es- pecíficos (por exemplo, ajustando o tempo de execução do fluxo de trabalho para ficar ocioso) , e aguardar uma entrada do hospedeiro retomar o fluxo de trabalho. 0 hospedeiro (por exemplo, página de rede) pode enviar um evento para mover o fluxo de trabalho para outro estado. Por exemplo, o hospe- deiro pode disparar um evento de retomada para retomar o fluxo de trabalho, para um próximo estado. Fig. 4 também i- lustra um componente de atividade interativa sendo fragmen- tado em uma retomada e suspende na máquina de estado 450.
O componente de atividade interativa 330, 440 pode prover entrada de usuário e interação associada ao fluxo de trabalho durante várias quebras de interatividade que reque- rem tal entrada de usuário. Isto permite uma troca de dados controlada/sincrona entre o fluxo de trabalho e uma aplica- ção de hospedeiro que está associada ao fluxo de trabalho. Desse modo, em tempos definidos dentro de uma execução do fluxo de trabalho, o contexto de usuário pode ser associado a uma circunstância de fluxo de trabalho. Além disso, o flu- xo de trabalho pode dirigir a Interface do Usuário (UI) com base no estado do fluxo de trabalho durante a suspensão, por meio do componente de usuário de comutação 332, 432, tal co- mo informação relativa ao usuário do fluxo de trabalho. Além disso, manipuladores de eventos 334, 434 podem consumir e- ventos que não são processados através do estado atual, para permitir o fluxo de controle atual sendo definido em um es- tado ser anulado. Conseqüentemente, o estado de fluxo de trabalho pode ser gerenciado de fora do fluxo de trabalho (por exemplo, sem ser construído como parte do próprio fluxo de trabalho), e um requerimento para modelar alterações de estado ad hoc de um fluxo de trabalho é mitigado.
Fig. 5 & 6 ilustram fluxogramas exemplares, em que um fluxo de trabalho interativo é provido que executa até pontos particulares, e aguarda uma entrada do hospedeiro re- tomar o fluxo de trabalho, em que tal evento pode mover o fluxo de trabalho para outro estado. Como ilustrado na meto- dologia 500, o processo de fluxo de trabalho executa em 505 e move para a próxima ação no processo. A execução do fluxo de trabalho pode verificar em 510 se a ação a ser executada significa uma finalização do fluxo de trabalho. Nesse caso a execução do fluxo de trabalho finaliza em 520. Do contrário, a metodologia prossegue para a ação 530 em que a ação a ser executada pelo fluxo de trabalho é verificada para verificar se é uma atividade interativa. Nesse caso, o fluxo de traba- lho é suspenso em 540, para permitir interação com uma apli- cação de hospedeiro para dinamicamente reajustar um estado do fluxo de trabalho como descrito supra em detalhes. Do contrário, a metodologia retorna para a ação 505, em que o fluxo de trabalho executa a ação atual e prossegue para o próximo.
Como ilustrado na Fig. 5 e subseqüente à suspensão do fluxo de execução em 54 0, o fluxo de execução aguarda uma entrada do hospedeiro em 550 para retomar o fluxo de traba- lho, em que tal evento pode mover o fluxo de trabalho para outro estado. Subseqüentemente, e em 660 da Fig. 6 um evento pode ser ajustado, em que o evento pode corresponder a uma interface do usuário (por exemplo, uma página de rede) que corresponde a um estado do fluxo de trabalho, assumindo tal estado de fato existe. Desse modo, o hospedeiro pode prover informação com relação às trajetórias de navegação, em 670 na forma de um "ir para", por exemplo. Como tal, o gerencia- dor de estado dinâmico pode ajustar tal estado para ativo em 680 para uma execução do mesmo dentro do fluxo de trabalho. Subseqüentemente e sob execução, o fluxo de trabalho pode aguardar pelo evento para transitar para o estado novo, e após a recepção do evento de transição do hospedeiro, o flu- xo de trabalho pode mudar para o estado novo em 690. Desse modo, o estado do fluxo de trabalho pode ser gerenciado de fora do fluxo de trabalho (por exemplo, sem ser construído como parte do próprio fluxo de trabalho), e um requerimento para modelar alterações de estado ad hoc de um fluxo de tra- balho é mitigado.
Fig. 7 & 8 ilustram um exemplo de um fluxo de tra- balho dirigido por evento, em que eventos ad hoc são empre- gados para reajustar e manipular o fluxo de trabalho para estados que não foram modelados como parte do próprio fluxo de trabalho, para dinamicamente criar relações no tempo de execução. Uma aplicação de página da Rede pode chamar o pro- vedor de fluxo de trabalho e passar um estado fixo (por e- xemplo, com um estado específico e UI), em que o tempo de execução de fluxo de trabalho é depois apanhado. O gerencia- dor de estado dinâmico pode recebe o estado fixo, dirigir tal estado reajustando a circunstância de fluxo de trabalho. Inicialmente uma página que faz parte de um fluxo de contro- le de fluxo de página é exibida no navegador, em que o usuá- rio completa a informação sobre a página para uma submissão da mesma. Subseqüentemente, a circunstância de fluxo de tra- balho associado a tal página é carregada e o estado do fluxo de trabalho é ajustado para o estado associado à página. Ti- picamente, existe uma associação de um para um entre a pági- na e um estado. Uma vez o estado é fixo, o evento gerado pe- la página é passado para a circunstância de fluxo de traba- lho para consumo. Eventos são passados para o estado atual da circunstância de fluxo de trabalho. 0 estado determina se pode consumir este evento. Se o evento for consumido pelo estado atual, um manipulador associado pode determinar se as transições de estado forem requeridas. Do contrário e se o evento não for consumido pelo estado atual, tal evento é de- pois passado para o estado que contém aquele estado para consumo.
Por exemplo, em um cenário de comprar um telefone com características selecionadas, um desenvolvedor pode de- senvolver uma aplicação de fluxo de trabalho que requer que os usuários entrem informação usando as páginas de rede. As páginas de rede foram previamente definidas e mapeadas para estados em um fluxo de trabalho da Máquina de Estado. A meta do desenvolvedor é modelar o fluxo de controle da aplicação usando um fluxo de trabalho da Máquina de Estado. Os eventos definidos na página podem ser modelados como entradas em um estado. Com base no tipo de eventos, a Máquina de Estado po- de alterar os estados e executar até conclusão. A alteração dos estados na Máquina de Estado definirá o fluxo de contro- le da aplicação do fluxo de página .
Antes de um evento ser submetido da página para o fluxo de trabalho, o estado atual do fluxo de trabalho da Máquina de Estado pode ser posicionado para o estado associ- ado à página sendo exibida. Tal permite um evento ser mani- pulado como se o usuário estivesse na trajetória ideal e a- guardado estar naquela página. Desse modo, uma relação dinâ- mica pode ser criada (por meio do reposicionamento) entre o último estado ajustado do fluxo de trabalho e o estado re- centemente selecionado do fluxo de trabalho. As etapas para comprar um telefone celular estão ilustradas no quadro 700 da Fig. 7. É para ser apreciado que se alguém estiver ope- rando em uma página que mapeia para um estado atual do fluxo de trabalho da máquina de estado, então tipicamente não há nenhuma necessidade de alterar ou reposicionar o estado. Em geral, o estado é apenas reajustado se a página e o estado atual não se equipararem.
Referindo agora à Fig. 8, uma seqüência 800 é i- lustrada, em que um usuário final pode submeter as etapas 1, 2, 3, 4, 5 e depois reconsiderar o tipo de plano que será comprado. A inovação em questão permite o usuário final pressionar o botão de retornar do navegador, para reposição na etapa dois 820, selecionar um plano pré-liquidado, subme- ter a informação e mover-se para a etapa cinco 840. É para ser apreciado que uma relação entre as etapas 5 e 2 não foi definida a priori, e conseqüentemente pode existir como uma relação ad hoc. Também, o evento de cancelamento 8 60 pode ser modelado como um manipulador de evento no fluxo de tra- balho da Máquina de Estado principal. Conseqüentemente, a inovação em questão fornece uma estrutura onde relações po- dem ser criadas dinamicamente no tempo de execução. Tal per- mite os analistas e desenvolvedores modelar apenas a traje- tória de execução mais comum entre as páginas, e o fluxo de controle definido no modelo de fluxo de trabalho para ajus- tar às solicitações do usuário final.
Com referência à Fig. 9, um ambiente exemplar 910 para implementar vários aspectos da inovação em questão é descrito que inclui um computador 912. O computador 912 in- clui uma unidade de processamento 914, uma memória do siste- ma 916, e um barramento do sistema 918. O barramento do sis- tema 918 acopla o componente do sistema incluindo, mas não limitado a, a memória do sistema 916 à unidade de processa- mento 914. A unidade de processamento 914 pode ser quaisquer de vários processadores disponíveis. Microprocessadores du- ais e outras arquiteturas de multiprocessador podem também ser empregadas como a unidade de processamento 914.
O barramento do sistema 918 pode ser quaisquer de vários tipos de estrutura de barramento, incluindo o barra- mento de memória ou controlador de memória, um barramento periférico ou barramento externo, e/ou um barramento local usando qualquer variedade de arquiteturas de barramento dis- poníveis incluindo, mas não limitadas a, barramento de 11 bits, Arquitetura de Padrão Industrial (ISA), Arquitetura de Micro-Canal (MSA), ISA Estendida (EISA), Eletrônica de Uni- dade Inteligente (IDE), Barramento Local de VESA (VLB), bar- ramento de Interconexão de Componentes Periféricos (PCI), Barramento Serial Universal (USB), Porta Gráfica Avançada (AGP), barramento da Associação Internacional de Cartão de Memória de Computador Pessoal (PCMCIA), e Interface de Sis- temas de Computador Pequenos (SCSI).
A memória do sistema '916 inclui memória volátil 920 e memória não-volátil 922. O sistema básico de entra- da/saída (BIOS), contendo as rotinas básicas para transferir informação entre os elementos dentro do computador 912, tal como durante a inicialização, é armazenado na memória não- volátil 922. Por via de ilustração, e não limitação, a memó- ria não-volátil 922 pode incluir memória exclusiva de leitu- ra (ROM), ROM programável (PROM), ROM eletricamente progra- mável (EPROM), ROM eletricamente deletável (EEPROM), ou me- mória instantânea. Memória volátil 920 inclui memória de a- cesso aleatório (RAM) que atua como memória de armazenamento temporário externa. Por via de ilustração e não limitação, a RAM está disponível em muitas formas' tais como RAM sincrona (SRAM), RAM dinâmica (DRACMA), DRACMA sincrona (SDRAM), SDRAM de taxa de dados dupla (DDR SDRAM), SDRAM intensifica- da (ESDRAM), Synchlink DRACMA (SLDRAM), e RAM Rambus direta (DRRAM).
Computador 912 também inclui meios de armazenamen- to de computador removiveis/não-removiveis, voláteis/não- voláteis. Fig. 9 ilustra, por exemplo, um armazenamento de disco 924. 0 armazenamento de disco 924 inclui, mas não é limitado a, dispositivos como uma unidade de disco magnético, unidade de disco flexível, unidade de fita, unidade Jaz, u- nidade zip, unidade LS-100, cartão de memória instantânea, ou cartão de memória. Além disso, armazenamento de disco 924 pode incluir meios de armazenamento separadamente ou em com- binação com outros meios de armazenamento incluindo, mas não limitados a, uma unidade de disco óptico tal como um dispo- sitivo de ROM de disco laser (CD-ROM), unidade de CD gravá- vel (unidade de CD-R), unidade de CD regravável (unidade de CD-RW) ou uma unidade de ROM de disco versátil digital (DVD- ROM) . Para facilitar a conexão dos dispositivos de armazena- mento de disco 924 ao barramento do sistema 918, uma inter- face removível ou não-removível é tipicamente usada tal como interface 926.
É para ser apreciado que a Fig. 9 descreve softwa- re que atua como um intermediário entre os usuários e os re- cursos básicos do computador descritos em ambiente operacio- nal adequado 910. Tal software inclui um sistema operacional 928. Sistema operacionál 928 que pode ser armazenado no ar- mazenamento de disco 924 atua para controlar e alocar os re- cursos do sistema de computador 912. Aplicações do sistema 930 tiram vantagem da administração dos recursos pelo siste- ma operacional 928 através de módulos de programa 932 e da- dos de programa 934 armazenados na memória do sistema 916 ou no armazenamento de disco 924. É para ser apreciado que vá- rios componentes descritos aqui podem ser implementados com vários sistemas operacionais ou combinações de sistemas ope- racionais.
Um usuário entra os comandos ou informação no com- putador 912 através do(s) dispositivo(s) de entrada 936. Dispositivos de entrada 936 incluem, mas não são limitados a, um dispositivo de apontamento tal como um mouse, trackball, agulha, mesa de toque, teclado, microfone, joystick, aciona- dor de jogo, disco satélite, escâner, cartão sintonizador de TV, câmera digital, câmera de vídeo digital, câmera de rede, e outros. Estes e outros dispositivos de entrada conectam-se à unidade de processamento 914 através do barramento do sis- tema 918 por meio de porta(s) de interface 938. Porta(s) de interface 938 inclui(em), por exemplo, uma porta serial, uma porta paralela, uma porta de jogo, e um barramento serial universal (USB). Dispositivo(s) de saida 940 usa(m) algum do mesmo tipo de portas como dispositivo (s) de entrada 936. Desse modo, por exemplo, uma porta de USB pode ser usada pa- ra fornecer entrada ao computador 912, e produzir informação de computador 912 para um dispositivo de saida 940. Adapta- dor de saida 942 é fornecido para ilustrar que há alguns dispositivos de saida 940 como monitores, alto-falantes, e impressoras, entre outros dispositivos de saida 940 que re- querem adaptadores especiais. Os adaptadores de saida 942 incluem, por via de ilustração e não limitação, placas de video e áudio que fornecem um meio de conexão entre o dispo- sitivo de saida 940 e o barramento do sistema 918. Deveria ser observado que outros dispositivos e/ou sistemas de dis- positivos fornecem capacidades de entrada e de saida tais como computadores remotos 944.
Computador 912 pode operar em um ambiente em rede usando conexões lógicas para um ou mais computadores remotos, tais como computador(es) remoto(s) 944. 0(s) computador(es) remoto(s) 944 pode(m) ser um computador pessoal, um servidor, um roteador, um PC de rede, uma estação de trabalho, uma a- plicação com base em microprocessador, um dispositivo de ponto ou outro nó de rede comum e outros, e tipicamente in- clui (em) muitos ou todos os elementos descritos com relação ao computador 912. Para propósitos de brevidade, apenas uma dispositivo de armazenamento de memória 946 é ilustrado com computador(es) remoto(s) 944. Computador(es) remoto(s) 944 é/são conectado(s) logicamente ao computador 912 através de uma interface de rede 948 e depois fisicamente conectado(s) por meio de conexão de comunicação 950. Interface de rede 948 abrange redes de comunicação tais como redes de área lo- cal (LAN) e redes de longa distância (WAN). Tecnologias de LAN incluem Interface de Dados Distribuída de Fibras (FDDI), Interface de Dados Distribuída de Cobre (CDDI), Ether- net/IEEE 802.3, Token Ring/IEEE 802.5 e outras. Tecnologias de WAN incluem, mas não são limitadas a, ligações de ponto a ponto, redes de comutação de circuito como Redes Digitais de Serviços Integrados (ISDN) e variações nelas, redes de troca de pacote, e Linhas de Assinatura Digital (DSL).
Conexão(ões) de comunicação 950 refere(m)-se ao hardware/software empregado para conectar a interface de re- de 948 ao barramento 918. Embora a conexão de comunicação 950 seja mostrada para clareza ilustrativa dentro do compu- tador 912, pode também ser externa ao computador 912. O hardware/software necessário para conexão à interface de re- de 948 inclui, para propósitos exemplares apenas, tecnologi- as internas e externas, tais como, modem incluindo modem do tipo telefone comum, modem a cabo e modem DSL, adaptadores de ISDN, e cartões de Ethernet.
Fig. 10 é um diagrama de blocos esquemático de um ambiente de computação de amostra 1000 que pode ser emprega- do para incorporar uma implementação de fluxo de trabalho da inovação em questão. O sistema 1000 inclui um ou mais clien- te(s) 1010. 0(s) cliente (s) 1010 pode (m) ser hardware e/ou software (por exemplo, cadeias, processos, dispositivos de computação) . O sistema 1000 também inclui um ou mais servi- dor (es) 1030. 0 (s) servidor (es) 1030 pode (m) também ser hardware e/ou software (por exemplo, cadeias, processos, dispositivos de computação). Os servidores 1030 podem alo- jar-se nas cadeias para executar transformações empregando os componentes descritos aqui, por exemplo. Uma possível co- municação entre um cliente 1010 e um servidor 1030 pode ser na forma de um pacote de dados adaptado para ser transmitido entre dois ou mais processos de computador. O sistema 1000 inclui uma estrutura de comunicação 1050 que pode ser empre- gado para facilitar as comunicações entre o(s) cliente(s) 1010 e o (s) servidor (es) 1030. 0(s) cliente (s) 1010 é/são operavelmente conectado(s) a um ou mais armazenamento(s) de dados de cliente 1060 que pode (m) ser empregado (s) para ar- mazenar informação local para o(s) cliente (s) 1010. Similar- mente, o(s) servidor(es) 1030 é/são operavelmente conecta- do (s) a um ou mais armazenamento(s) de dados de servidor 1040 que pode(m) ser empregado(s) para armazenar informação local para os servidores 1030.
O que foi descrito acima inclui vários aspectos exemplares. Claro, não é possível descrever toda combinação concebível de componentes ou metodologias para propósitos de descrever estes aspectos, mas alguém de habilidade usual na técnica pode reconhecer que muitas combinações e permutas adicionais são possíveis. Conseqüentemente, os aspectos des- critos aqui são intencionados a abranger todas tais altera- ções, modificações e variações que incorrem dentro do espi- rito e escopo das reivindicações em anexo. Além disso, à ex- tensão que o termo "inclui" é usado na descrição detalhada ou nas reivindicações, é intencionado que tal termo seja in- clusivo de uma maneira similar ao termo "compreendendo" como "compreendendo" é interpretado quando empregado como uma pa- lavra transitiva em uma reivindicação.
Claims (20)
1. Sistema implementado por computador, CARACTERIZADO pelo fato de que compreende os seguintes com- ponentes executáveis por computador: um gerenciador de estado dinâmico (105) externo a um fluxo de trabalho que reajusta um estado de fluxo de tra- balho (102) para dinamicamente criar relações entre os esta- dos por meio de eventos; e uma aplicação de hospedeiro (120) que passa um es- tado ao gerenciador de estado dinâmico (105) para guiar o estado por um reajuste de uma circunstância do fluxo de tra- balho .
2. Sistema implementado por computador, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que adi- cionalmente compreende um componente de atividade interativa que pára o fluxo de trabalho em pontos específicos e aguarda uma entrada do hospedeiro.
3. Sistema implementado por computador, de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que o flu- xo de trabalho é associado a um controle de navegação de a- plicação exibido em um navegador.
4. Sistema implementado por computador, de acordo com a reivindicação 3, CARACTERIZADO pelo fato de que o flu- xo de trabalho compreende uma associação de um para um entre cada exibição e cada estado.
5. Sistema implementado por computador, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que adi- cionalmente compreende trajetórias de navegação que são pro- vidas pelo hospedeiro.
6. Sistema implementado por computador, de acordo com a reivindicação 5, CARACTERIZADO pelo fato de que as trajetórias de navegação têm uma forma de "ir para".
7. Sistema implementado por computador, de acordo com a reivindicação 5, CARACTERIZADO pelo fato de que os e- ventos correspondem às interfaces do usuário.
8. Sistema implementado por computador, de acordo com a reivindicação 5, CARACTERIZADO pelo fato de que os e- ventos são eventos ad hoc não modelados como parte da lógica de fluxo de trabalho.
9. Método implementado por computador, CARACTERIZADO pelo fato de que compreende as seguintes ações executáveis por computador: ajustar um estado para ativo por um gerenciador de estado dinâmico externo para um fluxo de trabalho com base em um evento enviado por um hospedeiro; e mover um estado atual do fluxo de trabalho para o estado.
10. Método implementado por computador, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que o e- vento é enviado com base em uma Interface do usuário exibida em um navegador.
11. Método implementado por computador, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que adi- cionalmente compreende verificar se o estado está disponível.
12. Método implementado por computador, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que adi- cionalmente compreende enviar uma mensagem de erro se o es- tado não estiver disponível.
13. Método implementado por computador, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que adi- cionalmente compreende suspender o fluxo de trabalho.
14. Método implementado por computador, de acordo com a reivindicação 13, CARACTERIZADO pelo fato de que adi- cionalmente compreende executar o estado.
15. Método implementado por computador, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que adi- cionalmente compreende transitar de estados usando eventos.
16. Método implementado por computador, de acordo com a reivindicação 15, CARACTERIZADO pelo fato de que adi- cionalmente compreende verificar se o estado é um último es- tado do fluxo de trabalho.
17. Método implementado por computador, de acordo com a reivindicação 16, CARACTERIZADO pelo fato de que adi- cionalmente compreende executar o estado se o estado não for o último estado do fluxo de trabalho.
18. Método implementado por computador, de acordo com a reivindicação 16, CARACTERIZADO pelo fato de que adi- cionalmente compreende carregar uma circunstância de fluxo de trabalho para um provedor de fluxo de trabalho associado ao fluxo de trabalho.
19. Método implementado por computador, de acordo com a reivindicação 17, CARACTERIZADO pelo fato de que adi- cionalmente compreende passar o evento para outro estado se o evento não for consumido pelo estado.
20. Sistema implementado por computador, CARACTERIZADO pelo fato de que compreende os seguintes com- ponentes executáveis por computador: dispositivos (105) para reajustar um estado de fluxo de trabalho; e dispositivos (105) para guiar um estado atual de fluxo de trabalho para um estado novo de fluxo de trabalho.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/321.777 | 2005-12-29 | ||
| US11/321,777 US7680683B2 (en) | 2005-12-29 | 2005-12-29 | Dynamically repositioning workflow by end users |
| PCT/US2006/047240 WO2007078673A1 (en) | 2005-12-29 | 2006-12-07 | Dynamically repositioning workflow by end users |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| BRPI0618711A2 true BRPI0618711A2 (pt) | 2011-09-06 |
Family
ID=38225974
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BRPI0618711-0A BRPI0618711A2 (pt) | 2005-12-29 | 2006-12-07 | reposicionamento dinámico de fluxo de trabalho por usuários finais |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US7680683B2 (pt) |
| EP (1) | EP1966723A4 (pt) |
| JP (1) | JP4536817B2 (pt) |
| KR (1) | KR20080087801A (pt) |
| CN (1) | CN101356522B (pt) |
| BR (1) | BRPI0618711A2 (pt) |
| RU (1) | RU2433463C2 (pt) |
| WO (1) | WO2007078673A1 (pt) |
Families Citing this family (44)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060111921A1 (en) | 2004-11-23 | 2006-05-25 | Hung-Yang Chang | Method and apparatus of on demand business activity management using business performance management loops |
| US8849691B2 (en) | 2005-12-29 | 2014-09-30 | Microsoft Corporation | Modeling user input and interaction in workflow based applications |
| US8752030B1 (en) * | 2006-03-09 | 2014-06-10 | Verizon Services Corp. | Process abstraction and tracking, systems and methods |
| US9191793B2 (en) | 2007-10-19 | 2015-11-17 | Duc Anh Ngo | Interactive system and process |
| CN101606400B (zh) * | 2006-10-19 | 2014-05-14 | 捷蔓格Ipr股份有限公司 | 交互系统和过程 |
| US20090125366A1 (en) * | 2007-11-13 | 2009-05-14 | Dipanjan Chakraborty | Method and system for dynamic adaptation of workflows |
| US8161492B2 (en) * | 2008-04-15 | 2012-04-17 | Microsoft Corporation | Continuation based runtimes in transactions |
| US20100064357A1 (en) * | 2008-09-09 | 2010-03-11 | Kerstin Baird | Business Processing System Combining Human Workflow, Distributed Events, And Automated Processes |
| US9354847B2 (en) | 2008-12-29 | 2016-05-31 | Microsoft Technology Licensing, Llc | Interface infrastructure for a continuation based runtime |
| US8250520B2 (en) * | 2009-03-17 | 2012-08-21 | Microsoft Corporation | Implementing custom activities in a workflow |
| US8683432B2 (en) * | 2009-03-20 | 2014-03-25 | Microsoft Corporation | Providing execution context in continuation based runtimes |
| US8751281B2 (en) * | 2009-03-20 | 2014-06-10 | Sap Ag | Method for acquiring by a session manager a list of active sessions |
| US20100293538A1 (en) * | 2009-05-15 | 2010-11-18 | Microsoft Corporation | Dynamic program updating in a continuation based runtime |
| US20100324948A1 (en) * | 2009-06-18 | 2010-12-23 | Microsoft Corporation | Managing event timelines |
| CA2766504C (en) * | 2009-06-23 | 2017-10-03 | Deutsche Telekom Ag | Method and program for initiating a second service in dependency of a first service |
| US8661245B1 (en) * | 2009-09-25 | 2014-02-25 | Nimvia, LLC | Systems and methods for empowering IP practitioners |
| US8683498B2 (en) * | 2009-12-16 | 2014-03-25 | Ebay Inc. | Systems and methods for facilitating call request aggregation over a network |
| US8819055B2 (en) | 2010-05-14 | 2014-08-26 | Oracle International Corporation | System and method for logical people groups |
| US9741006B2 (en) | 2010-05-14 | 2017-08-22 | Oracle International Corporation | System and method for providing complex access control in workflows |
| US9589240B2 (en) * | 2010-05-14 | 2017-03-07 | Oracle International Corporation | System and method for flexible chaining of distinct workflow task instances in a business process execution language workflow |
| US9852382B2 (en) | 2010-05-14 | 2017-12-26 | Oracle International Corporation | Dynamic human workflow task assignment using business rules |
| US8717915B2 (en) | 2010-05-25 | 2014-05-06 | Microsoft Corporation | Process-integrated tree view control for interactive voice response design |
| US20120030094A1 (en) * | 2010-07-27 | 2012-02-02 | Verizon Patent And Licensing Inc. | Design, deployment, and use of an automated flow-model-view-controller workflow |
| US8522256B2 (en) | 2010-10-12 | 2013-08-27 | Microsoft Corporation | Hosting non-messaging workflows in a messaging host |
| US9600448B2 (en) | 2011-01-28 | 2017-03-21 | Hewlett-Packard Development Company, L.P. | Document management system and method |
| US9466041B2 (en) * | 2011-10-15 | 2016-10-11 | Hewlett Packard Enterprise Development Lp | User selected flow graph modification |
| US9536264B2 (en) | 2011-11-14 | 2017-01-03 | Microsoft Technology Licensing, Llc | Host agnostic messaging in a continuation based runtime |
| US9020883B2 (en) | 2012-02-22 | 2015-04-28 | Oracle International Corporation | System and method to provide BPEL support for correlation aggregation |
| CN102662668B (zh) * | 2012-03-31 | 2015-06-03 | 北京奇虎科技有限公司 | 一种利用网页生命周期优化应用的方法和装置 |
| US10037197B2 (en) | 2013-03-15 | 2018-07-31 | Oracle International Corporation | Flexible microinstruction system for constructing microprograms which execute tasks, gateways, and events of BPMN models |
| JP6064734B2 (ja) * | 2013-03-27 | 2017-01-25 | 富士通株式会社 | ワークフロー制御プログラム、装置および方法 |
| US9946516B2 (en) | 2014-03-14 | 2018-04-17 | Starbucks Corporation | Application workflow framework |
| US9354922B2 (en) * | 2014-04-02 | 2016-05-31 | International Business Machines Corporation | Metadata-driven workflows and integration with genomic data processing systems and techniques |
| KR102266554B1 (ko) * | 2014-10-31 | 2021-06-18 | 한국전자통신연구원 | 컴포넌트 기반 소프트웨어의 컴포넌트 상태 관리 방법 및 장치 |
| US11580472B2 (en) * | 2015-05-14 | 2023-02-14 | Palantir Technologies Inc. | Systems and methods for state machine management |
| CN104866312A (zh) * | 2015-05-22 | 2015-08-26 | 国云科技股份有限公司 | 一种基于asp点net的伪静态实现方法 |
| US10127509B2 (en) | 2015-09-17 | 2018-11-13 | Bank Of America Corporation | System for temporarily suspending a workflow associated with a work item |
| US9766927B1 (en) * | 2015-10-06 | 2017-09-19 | Amazon Technologies, Inc. | Data flow management in processing workflows |
| US10726032B2 (en) | 2015-12-30 | 2020-07-28 | Palantir Technologies, Inc. | Systems and methods for search template generation |
| US10839022B1 (en) | 2017-07-24 | 2020-11-17 | Palantir Technologies Inc. | System to manage document workflows |
| US10514895B2 (en) | 2017-09-08 | 2019-12-24 | Bank Of America Corporation | Tool for generating event case management applications |
| US20210383289A1 (en) * | 2020-06-04 | 2021-12-09 | Outreach Corporation | Dynamic workflow selection using structure and context for scalable optimization |
| US11748681B1 (en) * | 2021-09-14 | 2023-09-05 | Amazon Technologies, Inc. | Persistent state management system for web applications |
| US12619458B2 (en) * | 2022-04-21 | 2026-05-05 | Microsoft Technology Licensing, Llc | Interruption detection during automated workflow |
Family Cites Families (59)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5490097A (en) * | 1993-03-22 | 1996-02-06 | Fujitsu Limited | System and method for modeling, analyzing and executing work process plans |
| US5634127A (en) * | 1994-11-30 | 1997-05-27 | International Business Machines Corporation | Methods and apparatus for implementing a message driven processor in a client-server environment |
| US7069451B1 (en) * | 1995-02-13 | 2006-06-27 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
| US6272672B1 (en) * | 1995-09-06 | 2001-08-07 | Melvin E. Conway | Dataflow processing with events |
| DE19705955A1 (de) * | 1996-03-29 | 1997-10-02 | Ibm | Verfahren zum Generieren einer Implementierung eines Workflow-Prozessmodells in einer Objektumgebung |
| EP0954816A4 (en) * | 1996-04-10 | 2001-01-31 | Paul M Konnersman | COMPUTERIZED SYSTEM FOR WORKING PROCESSES CONSISTING OF INTER-DEPENDENT DECISIONS INVOLVING ONE OR MORE PARTICIPANTS |
| US5960404A (en) * | 1997-08-28 | 1999-09-28 | International Business Machines Corp. | Mechanism for heterogeneous, peer-to-peer, and disconnected workflow operation |
| US6108711A (en) * | 1998-09-11 | 2000-08-22 | Genesys Telecommunications Laboratories, Inc. | Operating system having external media layer, workflow layer, internal media layer, and knowledge base for routing media events between transactions |
| US6339838B1 (en) * | 1998-01-02 | 2002-01-15 | At&T Corp. | Control of commercial processes |
| US6430538B1 (en) * | 1998-04-30 | 2002-08-06 | Enterworks | Workflow management system, method and medium with personal subflows |
| US6442528B1 (en) * | 1998-06-05 | 2002-08-27 | I2 Technologies Us, Inc. | Exemplar workflow used in the design and deployment of a workflow for multi-enterprise collaboration |
| US6397191B1 (en) * | 1998-06-05 | 2002-05-28 | I2 Technologies Us, Inc. | Object-oriented workflow for multi-enterprise collaboration |
| US6282531B1 (en) * | 1998-06-12 | 2001-08-28 | Cognimed, Llc | System for managing applied knowledge and workflow in multiple dimensions and contexts |
| US6772407B1 (en) * | 1998-10-02 | 2004-08-03 | International Business Machines Corporation | Staging objects in workflow management systems |
| US6820118B1 (en) * | 1999-01-20 | 2004-11-16 | International Business Machines Corporation | Method and system for providing a linkage between systems management systems and applications |
| US6499023B1 (en) * | 1999-02-19 | 2002-12-24 | Lucent Technologies Inc. | Data item evaluation based on the combination of multiple factors |
| US6473794B1 (en) * | 1999-05-27 | 2002-10-29 | Accenture Llp | System for establishing plan to test components of web based framework by displaying pictorial representation and conveying indicia coded components of existing network framework |
| US6769113B1 (en) * | 1999-10-08 | 2004-07-27 | International Business Machines Corporation | Enterprise process models and enterprise application for information technologies |
| KR100377189B1 (ko) | 1999-12-24 | 2003-03-28 | 한국전자통신연구원 | 워크플로우 시스템과 어플리케이션간의 데이터 교환시스템 및 그 방법 |
| US6968503B1 (en) * | 2000-03-09 | 2005-11-22 | Quovadx, Inc. | XML user interface for a workflow server |
| JP2001306507A (ja) * | 2000-04-25 | 2001-11-02 | Hitachi Koukiyou Syst Eng Kk | 情報処理システムおよび処理方法、ならびにプログラム読み出し可能な記録媒体 |
| US7503033B2 (en) * | 2000-04-28 | 2009-03-10 | Microsoft Corporation | Model for business workflow processes |
| JP2001356907A (ja) * | 2000-06-09 | 2001-12-26 | Ibm Japan Ltd | 処理コード情報を有するデータベース・システムおよび情報処理システム |
| US7219304B1 (en) * | 2000-06-19 | 2007-05-15 | International Business Machines Corporation | System and method for developing and administering web applications and services from a workflow, enterprise, and mail-enabled web application server and platform |
| US6854016B1 (en) * | 2000-06-19 | 2005-02-08 | International Business Machines Corporation | System and method for a web based trust model governing delivery of services and programs |
| AU2001288827A1 (en) | 2000-09-08 | 2002-03-22 | Asera, Inc. | Integrated design environment for a commerce server system |
| JP3856637B2 (ja) * | 2000-10-12 | 2006-12-13 | 日本電信電話株式会社 | 処理協調実行方法及びシステム並びに処理協調実行プログラムを記録した記録媒体 |
| RU2171498C1 (ru) * | 2000-11-08 | 2001-07-27 | Скубченко Андрей Иванович | Информационно-аналитическая система для моделирования рациональной бизнес-системы компании |
| US7653566B2 (en) * | 2000-11-30 | 2010-01-26 | Handysoft Global Corporation | Systems and methods for automating a process of business decision making and workflow |
| US6801227B2 (en) * | 2001-01-16 | 2004-10-05 | Siemens Medical Solutions Health Services Inc. | System and user interface supporting user navigation and concurrent application operation |
| US6675133B2 (en) * | 2001-03-05 | 2004-01-06 | Ncs Pearsons, Inc. | Pre-data-collection applications test processing system |
| US6966049B2 (en) * | 2001-04-24 | 2005-11-15 | Heuristics Physics Laboratories, Inc. | Software development tool employing workflows for developing user interactive programs |
| JP2002324155A (ja) * | 2001-04-26 | 2002-11-08 | Hitachi Ltd | ワークフロー・システムおよびプログラム |
| US7100147B2 (en) * | 2001-06-28 | 2006-08-29 | International Business Machines Corporation | Method, system, and program for generating a workflow |
| US7069536B2 (en) * | 2001-06-28 | 2006-06-27 | International Business Machines Corporation | Method, system, and program for executing a workflow |
| US20030023622A1 (en) * | 2001-07-27 | 2003-01-30 | Liaison Technology, Inc. | Manual activity persistence in content management workflow systems |
| US20030135384A1 (en) * | 2001-09-27 | 2003-07-17 | Huy Nguyen | Workflow process method and system for iterative and dynamic command generation and dynamic task execution sequencing including external command generator and dynamic task execution sequencer |
| US20030078975A1 (en) * | 2001-10-09 | 2003-04-24 | Norman Ken Ouchi | File based workflow system and methods |
| US20030090514A1 (en) * | 2001-10-23 | 2003-05-15 | Cole Douglas J. | Business process user interface generation system and method |
| US7865867B2 (en) * | 2002-03-08 | 2011-01-04 | Agile Software Corporation | System and method for managing and monitoring multiple workflows |
| US20030233374A1 (en) * | 2002-03-14 | 2003-12-18 | Ulrich Spinola | Dynamic workflow process |
| AU2003262702A1 (en) * | 2002-08-23 | 2004-03-11 | Jway Group, Inc. | Extensible user interface (xui) framework and development environment |
| AU2003301602A1 (en) * | 2002-10-23 | 2004-05-13 | David Theiler | Method and apparatus for managing workflow |
| US20040103014A1 (en) * | 2002-11-25 | 2004-05-27 | Teegan Hugh A. | System and method for composing and constraining automated workflow |
| US7299244B2 (en) * | 2002-12-10 | 2007-11-20 | Hewlett-Packard Development Company, L.P. | System and method for dynamic sequencing of a requirements-based workflow |
| US7272820B2 (en) * | 2002-12-12 | 2007-09-18 | Extrapoles Pty Limited | Graphical development of fully executable transactional workflow applications with adaptive high-performance capacity |
| US7448024B2 (en) | 2002-12-12 | 2008-11-04 | Bea Systems, Inc. | System and method for software application development in a portal environment |
| US7171664B2 (en) * | 2002-12-16 | 2007-01-30 | International Business Machines Corporation | Content management system and method of employing extensible workflow entities with user-defined attributes in an object-oriented framework |
| US7472165B2 (en) * | 2002-12-20 | 2008-12-30 | Kenichi Sawada | Support program for web application server and server |
| US7711694B2 (en) * | 2002-12-23 | 2010-05-04 | Sap Ag | System and methods for user-customizable enterprise workflow management |
| US7409674B2 (en) * | 2002-12-26 | 2008-08-05 | Research In Motion Limited | System and method of creating and communicating with component based wireless applications |
| GB2396928A (en) | 2003-01-04 | 2004-07-07 | Quicksilva Ltd | Business process management tool framework |
| US6839062B2 (en) * | 2003-02-24 | 2005-01-04 | Microsoft Corporation | Usage semantics |
| US20050044173A1 (en) * | 2003-02-28 | 2005-02-24 | Olander Daryl B. | System and method for implementing business processes in a portal |
| US7876705B2 (en) * | 2003-06-25 | 2011-01-25 | Schlumberger Technology Corporation | Method and apparatus and program storage device for generating a workflow in response to a user objective and generating software modules in response to the workflow and executing the software modules to produce a product |
| JP2005050318A (ja) * | 2003-07-16 | 2005-02-24 | Ricoh Co Ltd | ワークフロー管理装置、ワークフロー管理方法、ワークフロー管理プログラム及び記録媒体 |
| CA2443454A1 (en) * | 2003-09-11 | 2005-03-11 | Teamplate Inc. | Data binding method in workflow system |
| JP4272963B2 (ja) * | 2003-09-30 | 2009-06-03 | キヤノン株式会社 | 注文処理システムおよび注文処理方法 |
| US20050203757A1 (en) * | 2004-03-11 | 2005-09-15 | Hui Lei | System and method for pervasive enablement of business processes |
-
2005
- 2005-12-29 US US11/321,777 patent/US7680683B2/en not_active Expired - Fee Related
-
2006
- 2006-12-07 KR KR1020087015633A patent/KR20080087801A/ko not_active Abandoned
- 2006-12-07 WO PCT/US2006/047240 patent/WO2007078673A1/en not_active Ceased
- 2006-12-07 CN CN2006800499761A patent/CN101356522B/zh not_active Expired - Fee Related
- 2006-12-07 EP EP06845215A patent/EP1966723A4/en not_active Ceased
- 2006-12-07 BR BRPI0618711-0A patent/BRPI0618711A2/pt not_active IP Right Cessation
- 2006-12-07 JP JP2008548548A patent/JP4536817B2/ja not_active Expired - Fee Related
- 2006-12-07 RU RU2008126231/08A patent/RU2433463C2/ru not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| CN101356522A (zh) | 2009-01-28 |
| WO2007078673A1 (en) | 2007-07-12 |
| CN101356522B (zh) | 2012-08-08 |
| RU2008126231A (ru) | 2010-01-10 |
| US20070156888A1 (en) | 2007-07-05 |
| JP4536817B2 (ja) | 2010-09-01 |
| EP1966723A1 (en) | 2008-09-10 |
| KR20080087801A (ko) | 2008-10-01 |
| US7680683B2 (en) | 2010-03-16 |
| EP1966723A4 (en) | 2011-06-15 |
| RU2433463C2 (ru) | 2011-11-10 |
| JP2009522648A (ja) | 2009-06-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| RU2433463C2 (ru) | Динамическое перепозиционирование потока работ конечными пользователями | |
| US10824948B2 (en) | Decision tables and flow engine for building automated flows within a cloud based development platform | |
| BRPI0618982A2 (pt) | esquemas de persistência de fluxo de trabalho simultáneos múltiplos | |
| RU2610288C2 (ru) | Обеспечение возможностей конфигурируемого технологического процесса | |
| US10043156B2 (en) | System and method for cross enterprise collaboration | |
| US20070244904A1 (en) | Method and Architecture for Goal Oriented Applications, Configurations and Workflow Solutions on-the-Fly | |
| JP2021521567A (ja) | ファイル共有のための技術 | |
| WO2019108633A1 (en) | Systems and methods for aida based a/b testing | |
| BRPI0620869A2 (pt) | modelo de objeto em fluxo de trabalho | |
| US20170270532A1 (en) | Methods and Systems for a FHIR Interface for Customer Relationship Management Systems | |
| US11262986B2 (en) | Automatic software generation for computer systems | |
| JP2023070148A (ja) | ロボティックプロセスオートメーション(rpa)ロボットをリソースへ動的にバインドさせるためのシステムおよび方法 | |
| Tankov et al. | Kotless: A serverless framework for kotlin | |
| Bhattacharjee et al. | Cloudcamp: A model-driven generative approach for automating cloud application deployment and management | |
| US9760680B2 (en) | Computerized system and method of generating healthcare data keywords | |
| Hatami-Alamdari et al. | Monolithic architecture vs. multi-layered cloud-based architecture in the CRM application domain | |
| Ochei et al. | A novel taxonomy of deployment patterns for cloud-hosted applications: A case study of global software development (gsd) tools and processes | |
| Subhani | Cloud integration platforms as a service (iPaas) and automation: a technical overview | |
| Colby et al. | Self-service queue and user management in shared clusters | |
| US11841838B1 (en) | Data schema compacting operation when performing a data schema mapping operation | |
| US20250335697A1 (en) | Data Center Documentation Management Operation | |
| US12164975B2 (en) | Federated distributed mutation | |
| US12007960B2 (en) | Methods make web and business application data access agnostic to schema variations and migrations | |
| Alaisami | Cloud-native applications: authoring and evaluation of two deployment patterns | |
| Pandey et al. | AI/ML Model Integration and Deployment |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| B08F | Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette] |
Free format text: REFERENTE A 7A ANUIDADE. |
|
| B08K | Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette] |
Free format text: REFERENTE AO DESPACHO 8.6 PUBLICADO NA RPI 2256 DE 01/04/2014. |