BRPI1101499A2 - Centro de contato sem fila de alta performance - Google Patents

Centro de contato sem fila de alta performance Download PDF

Info

Publication number
BRPI1101499A2
BRPI1101499A2 BRPI1101499-7A2A BRPI1101499A BRPI1101499A2 BR PI1101499 A2 BRPI1101499 A2 BR PI1101499A2 BR PI1101499 A BRPI1101499 A BR PI1101499A BR PI1101499 A2 BRPI1101499 A2 BR PI1101499A2
Authority
BR
Brazil
Prior art keywords
resource
work item
bitmap
work
call center
Prior art date
Application number
BRPI1101499-7A2A
Other languages
English (en)
Inventor
Andrew D Flockhart
Robert C Steiner
Original Assignee
Avaya Inc
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 Avaya Inc filed Critical Avaya Inc
Publication of BRPI1101499A2 publication Critical patent/BRPI1101499A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/523Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
    • H04M3/5232Call distribution algorithms
    • H04M3/5235Dependent on call type or called number [DNIS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/523Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
    • H04M3/5232Call distribution algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/523Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
    • H04M3/5232Call distribution algorithms
    • H04M3/5233Operator skill based call distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/18Comparators

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Signal Processing (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Exchange Systems With Centralized Control (AREA)

Abstract

CENTRAL DE ATENDIMENTO SEM FILA DE ALTO DESEMPENHO. É descrita uma central de atendimento sem fila juntamente com vários métodos e mecanismos para administração da mesma. A central de atendimento proposta neste documento fornece a capacidade para, dentre outras coisas, obter uma correspondência de um para um real. Também são fornecidas soluções para gerenciar estruturas de dados utilizadas pela central de atendimento sem fila. Além disso, são propostos mecanismos para gerar visualizações e métricas de desempenho baseadas em filas tradicionais para a central de atendimento sem fila para facilitar uma transição suave das centrais de atendimento baseadas em fila tradicionais para as centrais de atendimento de próxima geração descritas neste documento.

Description

CENTRAL DE ATENDIMENTO SEM FILA DE ALTO DESEMPENHO
Referência cruzada para pedidos relacionados Este pedido reivindica o beneficio do Pedido Provisório Norte Americano de Número U.S. 61/324.216, depositado em 14 de abril de 2010, cujo conteúdo é integralmente incorporado neste documento por referência.
Campo da revelação A presente revelação refere-se de modo geral às comunicações, e mais especificamente, às centrais de atendimento.
Fundamentos O conceito tradicional em centrais de atendimento era de que eram requeridas filas para alcançar eficiência na distribuição do trabalho ao mesmo tempo em que também minimizavam tempo inativo do agente. Infelizmente, a utilização de filas quase sempre resulta em encaminhamento sub-ótimo. Ou seja, um agente frequentemente não é designado para um item de trabalho que ele é mais qualificado para controlar e vice versa.
Por exemplo, em filas baseadas em proficiência uma fila de item de trabalho é acoplada com uma fila de recursos correspondente. Quando os itens de trabalho são recebidos no Distribuidor de Contato Automatizado (ACD), os atributos do item de trabalho são analisados e então o item de trabalho é colocado em uma fila especifica baseado em seus atributos. De maneira similar, quando um recurso da central de atendimento (frequentemente um agente) entra em linha ele é designado para uma ou mais filas de recursos que também tem um conjunto de proficiências correspondente associadas a elas. Uma vez que as filas por proficiência são fornecidas em pares de item de trabalho/recurso, é designado ao próximo agente disponível em uma fila de recursos o próximo item de trabalho que aguarda na fila de item de trabalho. Embora tenham existido soluções para fazer esta fila e estrutura de designação mais flexíveis, toda solução tem sido dificultada pelo conceito de utilizar uma quantidade de filas. A fim de melhorar a eficiência, uma central de atendimento irá tipicamente segmentar os contatos em muitas filas diferentes. Esta segmentação pode ser por serviço, língua, tipo de mídia, região, e/ou tipo de cliente. Isto pode facilmente resultar em muitos milhares de filas. Cada uma destas filas precisa ser configurada, gerenciada, monitorada e ter relatórios emitidos sobre ela. Também, conforme os agentes ganham novas proficiências e melhoram seus níveis de expertise, existe uma necessidade de redesignar agentes a filas constantemente. Além disso, quando um agente ganha novas proficiências existe um custo significativo em administração e operação da central de atendimento. A complexidade aumenta devido a os agentes estarem tipicamente em múltiplas filas simultaneamente, e as novas proficiências de um agente precisam ser atualizadas em todas as filas relevantes. Atualizar estas mudanças nas proficiências do agente é uma tarefa cara e demorada, que usualmente tem que ser executada com alguma quantidade de fiscalização manual. Todos estes fatores adicionam complexidade e custo significativos à operação da central.
Apesar disto, as centrais de atendimento ainda vêem a necessidade de melhorar a eficiência e segmentar o trabalho cada vez mais. Isto pode ser por venda, grupo de idade, gênero, sotaque ou uma série de outras possibilidades. Entretanto, as centrais de atendimento são reprimidas em realizar estes ganhos de eficiência adicionais devido a ser absolutamente impraticável o gerenciamento de dezenas de milhares de filas. O método corrente de melhorar a eficiência por segmentação tem alcançado seus limites e é requerido um novo mecanismo a fim de alcançar niveis de eficiência melhorados.
Sumário É com respeito a estas questões acima e outros problemas que as modalidades apresentadas neste documento foram contempladas. Esta revelação propõe uma solução para as centrais de atendimento baseadas em fila tradicionais.
Um aspecto da presente revelação propõe uma central de atendimento sem fila. Pode ser alcançada correspondência ótima um para um de itens de trabalho e agentes descartando a idéia de que são requeridas filas em uma central de atendimento. Em vez de pré-organizar itens de trabalho e recursos dentro de faixas ou filas, a presente revelação propõe um sistema onde pode ser executado mapeamento ultra-rápido. Tal mapeamento ultra-rápido pode ser realizado através de primeiro executar uma determinação de qualificação (ou seja, determinar quais objetos são qualificados para serem designados para o objeto disponibilizado recentemente) , uma determinação de elegibilidade (ou seja, determinar quais dos objetos qualificados são elegiveis para serem atribuídos ao objeto disponibilizado recentemente), e uma determinação de adequação (ou seja, determinar quais dos objetos elegiveis são mais adequados para serem designados ao objeto disponibilizado recentemente).
Um algoritmo geral que pode ser utilizado para alcançar os objetivos listados acima em um ambiente de central de atendimento inclui: (1) Criar 3 "grupos" (coleções desordenadas), um para todos os recursos em uma central de atendimento, uma para todos os itens de trabalho na central de atendimento, uma para todos os conjuntos de qualificação na central de i atendimento. (2) Para cada grupo, criar um mapa de bits de qualificação, 1 bit para cada entrada é fornecido no mapa de bits de qualificação. Este mapa de bits pode ser usado para acelerar buscas complexas dos grupos, especialmente i durante a determinação de qualificação e mesmo durante a determinação de elegibilidade.
Quando um item de trabalho é adicionado â central de atendimento, pode ser executado o seguinte: (1) receber um item de trabalho; i (2) determinar atributos do item de trabalho que serão usados para qualificação, por exemplo, lingua = Inglês, objetivo = Vendas. A combinação específica de atributos requeridos é definida como um "conjunto qualificador" e a quantidade de atributos dentro de um i conjunto qualificador pode variar de um atributo a muitos atributos. Além disso, atributos podem ser considerados como uma característica ou múltiplas características de um objeto, tal como uma peça de trabalho ou um recurso em uma central de atendimento. i (3) colocar uma entrada para o conjunto qualificador dentro de um grupo de conjunto qualificador se o mesmo não estiver lá, onde o "Grupo de conjuntos qualificadores" contém todos os conjuntos de qualificadores usados até agora na central de atendimento. O item de trabalho em 5 seguida salvará o Índice deste conjunto qualificador no grupo de conjuntos qualificadores. (4) O item de trabalho é colocado no "Grupo de Item de Trabalho".
Quando um recurso é adicionado, pode ser executado o D seguinte: (1) determinar atributos do recurso que são usados para qualificação (estes serão os mesmos atributos usados para os itens de trabalho acima) . Isto pode ser executado para todas as combinações de atributos para o recurso uma 3 vez que os recursos têm múltiplos "conjuntos qualificadores". (2) colocar uma entrada para o conjunto qualificador dentro de um grupo de conjuntos qualificadores se a mesma não estiver lá e pegar seu índice. O recurso irá em seguida ) salvar o índice para aquele conjunto qualificador. Deve ser observado que se o índice do conjunto qualificador do recurso é o mesmo que o do conjunto qualificador de item de trabalho, então o item de trabalho é qualificado. Se um item de trabalho também estiver disponível correntemente 3 para receber o recurso recebido recentemente, então aquele item de trabalho é considerado elegível. (3) Uma ou mais entradas para um recurso são colocadas no "Grupo de Recursos".
Quando um recurso fica disponível (estado excedente ) do item de trabalho), pode ser executado o seguinte: (1) computar o mapa de bits de qualificação do conjunto qualificador, colocando um 1 para cada conjunto qualificador para o qual o recurso é qualificado. (2) pesquisar no grupo de itens de trabalho por trabalhos para os quais o índice de conjunto qualificador é 1 no mapa de bits de qualificação do conjunto qualificador. (3) em um item de trabalho "qualificado", determinar elegibilidade, e em seguida pontuar todos os itens de trabalho elegíveis na estratégia de seleção de trabalho corrente para este recurso. Tipos ilustrativos de estratégias de seleção de trabalho que podem ser empregadas incluem, sem limitação, otimizar a utilização de agente, minimizar custo, simultaneamente minimizar custo e minimizar tempo de espera de item de trabalho, e assim por diante. (4) se este item de trabalho elegível pontuar "melhor" do que todos os itens de trabalho elegíveis analisados previamente, então este é o novo melhor item de trabalho. (5) depois de TODOS os itens de trabalho serem "considerados", o melhor é selecionado como o item de trabalho ótimo. (6) designar o item de trabalho ótimo para o recurso. (7) encaminhar o item de trabalho para o recurso ótimo.
Quando um item de trabalho fica disponível (estado de excedente de recurso), pode ser executado o seguinte: (1) executar as políticas de "qualificação" para determinar quais atributos serão usados para qualificação. Por exemplo, após certo período de tempo, pode ser ignorada a exigência de língua, assim as considerações de recursos devem ser expandidas. (2) computar o mapa de bits do conjunto qualificador para o item de trabalho disponível usando suas qualificações. (3) pesquisar o grupo de recursos por entradas de recursos onde o índice do conjunto qualificador seja um 1 no mapa de bits de qualificação do conjunto qualificador para determinar recursos qualificados. (4) em um recurso qualificado, determinar a elegibilidade, e em seguida pontuar o recurso, se elegível, usando a estratégia de seleção de recurso do item de trabalho. Se o recurso elegível pontuar melhor do que todos os outros recursos analisados previamente, então ele é o novo melhor recurso. (5) após pesquisar TODOS os recursos, o melhor é selecionado como o recurso ótimo. (6) designar o trabalho para o recurso ótimo. (7) encaminhar o item de trabalho para o recurso ótimo. A descrição acima é apenas uma implementação lógica possível. Os mapas de bits no grupo de trabalho e recursos não foram usados. Aqueles mapas podem ser usados para fornecer desempenho melhorada "comprimindo" as regras de elegibilidade dentro de um único bit quando o recurso ou trabalho mudam de estado. Por exemplo, se um recurso está conectado e disponível, então ele pode ser considerado elegível e seu bit é ligado para refletir o mesmo. A tabela de bits é verificada durante as etapas de determinação de qualificação e elegibilidade antes de pontuar para "filtrar" excluindo aqueles recursos que não devem ser pontuados. O mesmo mecanismo pode ser aplicado a itens de trabalho para minimizar o tempo de processamento.
Existe uma quantidade de variações que estão dentro do escopo da presente revelação. Por exemplo, como um agente continua a desenvolver proficiências em controlar certos tipos de itens de trabalho, os atributos daquele agente podem se alterar adequadamente. Igualmente, quando um item de trabalho continua a esperar por um recurso, os atributos daquele item de trabalho podem se alterar adequadamente, tornando-o elegivel e mais adequado para designação para um recurso do que outros itens de trabalho. Note-se que embora os atributos destes elementos possam mudar, os mesmos nunca tem que ser movidos para dentro ou para fora de uma fila. Em vez disso, seus atributos podem mudar ao longo do tempo o que pode resultar em um mapeamento diferente com a progressão do tempo.
Em algumas modalidades, tais atributos dinâmicos podem ser analisados durante a determinação de elegibilidade em vez de durante a determinação de qualificação. Isto garante que apenas a quantidade minima de objetos seja considerada durante a determinação de elegibilidade uma vez que esta requer algum processamento para computar o mapa de bits de elegibilidade, que provavelmente varia ao longo do tempo mais frequentemente do que os bits representados no mapa de bits de qualificação que não tende a variar tão frequentemente. Como pode ser avaliado, entretanto, os bits usados para qualificação e elegibilidade podem ser mantidos em um único mapa de bits se desejado, mas apenas certos bits dentro daquele mapa serão analisados durante as determinações de qualificação e elegibilidade.
Outro aspecto da presente revelação é adicionar uma segunda camada de regras a uma tabela de atributos de recurso que pode provocar a mudança de um dos bits para um de seus atributos se aquele recurso tiver tratado sua cota diária de certo tipo de item de trabalho. Outras regras para alterar valores de bits podem ser utilizadas para itens de trabalho, recursos, e/ou conjuntos qualificadores. Alterar um bit no mapa de bits do recurso deste modo tornará o recurso inelegível para tratar seu melhor tipo de item de trabalho pelo resto do dia (ou algum outro período predefinido) , mesmo se aquele recurso for um recurso qualificado.
Detalhes adicionais relacionados à estrutura do mapa de bits também são descritas neste documento. Os mapas de bits ilustrativos descritos neste documento habilitam uma escala de desempenho pesada. Em particular, a utilização de mapas de bits como descrita neste documento tem provado trabalhar para 100.000 agentes todos trabalhando a partir de um único servidor que está tratando acima de 1.000.000 de itens de trabalho. Sem contemplar os mapas de bits específicos seria difícil obter uma central de atendimento sem fila em larga escala. Entretanto, uma central de atendimento sem fila (usando um mapeamento um para um) poderia provavelmente ser implementada em uma menor escala sem os mapas de bits que são propostos neste documento.
Dentre as outras vantagens que podem ser obtidas pela presente revelação estão incluídas: nenhuma lista de filas ou vínculo, nenhuma pré-ordenação de itens de trabalho ou recursos, consideração de todos os itens na central de atendimento para designação sempre que um elemento oposto se torna disponível, correspondência um para um, e nenhuma restrição em regras de correspondência.
Outro aspecto da presente revelação é fornecer estruturas de dados que fazem com que seja possível alcançar correspondência de um para um de alta desempenho em uma central de atendimento de larga escala ou outros ambientes onde uma grande quantidade de objetos são considerados durante as determinações de correspondência. A estrutura de dados básica é um "grupo" e um mapa de bits associado. Cada bit no mapa de bits corresponde a uma única entrada no grupo. Podem ser definidas três estruturas, uma para todos os recursos na central de atendimento, uma para todos os itens de trabalho na central de atendimento, e uma para todos os conjuntos qualificadores na central de atendimento (onde um conjunto qualificador é uma combinação de atributos de qualificação, tal como língua = inglês, objetivo = vendas, tipo de cliente = ouro). Determinações de designação de trabalho podem ser obtidas pesquisando estas tabelas e avaliando diferentes tipos de regras. Conjuntos qualificadores são usados no lugar de conjuntos de proficiências tradicionais da técnica anterior. As centrais de atendimento da técnica anterior eram interessadas em conjuntos de proficiências que definem as proficiências de um recurso ou item de trabalho e são usadas para designar recursos e itens de trabalho a filas. Em outras palavras, a utilização de conjuntos de proficiências implica na necessidade de filas. Modalidades da presente revelação utilizam conjuntos qualif icadores uma vez que as filas não são mais necessárias para fazer decisões de designação e cada item de trabalho ou recurso disponível é considerado para cada decisão de designação. O primeiro tipo de regras são as regras de qualificação. As regras de qualificação selecionam o que pode ser "considerado" em uma correspondência olhando para os atributos. O segundo tipo de regras são as regras de elegibilidade. As regras de elegibilidade determinam quais dentre os objetos qualificados estão atualmente habilitados para serem designados para outro objeto. Por exemplo, normalmente um recurso tem que estar conectado para ser considerado elegivel para receber um item de trabalho. Assim, atributos mais dinâmicos (por exemplo, atributos dependentes do tempo, atributos baseados em estado da central de atendimento, atributos baseados em estado do objeto, etc.) podem ser considerados nas regras de elegibilidade enquanto que as mais estáticas são consideradas nas regras de qualificação. O terceiro tipo de regras são as regras de pontuação. A pontuação determina qual consideração (correspondência potencial e elegivel) é melhor do que as outras correspondências eleglveis. Por exemplo, um maior tempo de espera (para comportamento Primeiro a entrar Primeiro a sair (FIFO)) deve pontuar melhor e deste modo aquela consideração se torna a "melhor" correspondência. Note-se que em um método de "força bruta", são necessários apenas dois grupos, itens de trabalho e recursos. Quando um item de trabalho é adicionado ao sistema, é feita uma pesquisa em todos os recursos, quando um recurso fica pronto para trabalho é feita uma pesquisa de todos os itens de trabalho. O tamanho dos grupos pode limitar a quantidade de considerações que podem ser feitas, limites práticos no tempo de Unidade de Processamento Central (CPU), permitem que o método acima trabalhe apenas para grupos pequenos. A fim de alcançar uma implementação de escala de empresa, tamanhos de (100K e maiores), modalidades da presente revelação incorporam o segundo elemento das estruturas de dados, os mapas de bits de qualificação. Cada grupo tem um mapa de bits de qualificação. O mapa de bits armazena avaliações de regras comprimidas, o que permite um aumento de aproximadamente duas ordens de magnitude no tamanho do grupo e na quantidade de considerações. Adicionar a terceira estrutura, o Grupo de conjuntos qualificadores, fornece uma base de mapeamento comum para recursos procurando trabalho e trabalho procurando por recursos e fornece um nivel de vias indiretas que é independente do tamanho dos grupos de Recursos/Item de trabalho uma vez que a quantidade total de conjuntos qualificadores é muito menor do que os tamanhos dos grupos para Recursos e Trabalhos. Devido a este pode ser realizada uma "amplificação" no desempenho pela relação dos tamanhos das tabelas. Por exemplo, se um sistema tem 256K itens de trabalho para considerar, e 32K conjuntos qualificadores possíveis, então uma melhoria de desempenho de 8x pode ser obtida usando o grupo de conjuntos qualificadores na correspondência. Esta é adicionalmente melhorada usando técnicas conscientes de cache que permitem que os conjuntos qualificadores de 32K sejam comprimidos para 4K bytes de bits aplicando as regras de qualificação em uma etapa separada. Por exemplo, isto significa que em vez de executar 5 regras de qualificação para cada consideração (250K*5 = 2,5M avaliações de regras), executa apenas (32K*5 = 162K regras) . Se a quantidade de considerações vai para 1M, modalidades da presente revelação ainda fazem apenas 162K regras, quanto maior a quantidade de objetos considerada durante a correspondência, mais eficiente é esta solução.
Este tempo de regra é constante e pode ser encadeado (pipelined) para desempenho ainda melhor. O pequeno mapa de bits também aumenta a desempenho por ser continuo na memória e o mesmo pode ser avaliado, por exemplo, em até 64 bits ou mais de cada vez, o que aumenta o tempo de processamento outra ordem de magnitude pela eliminação dos retardos de cache de CPU que podem custar um atraso ao processo como 100 operações de ponto flutuante. Em algumas modalidades, pode ser utilizada uma GPU ou FPGA, em que deste modo o tempo de processamento é adicionalmente reduzido. O uso de mapas de bits para qualificações explora o fato de que para qualquer correspondência, a maior parte das considerações não é válida. Isto significa que o mapa de bits é em sua maior parte zeros e este fato pode ser alavancado para "pesquisar" o mesmo rápido.
Em algumas modalidades, um Grupo de Conjuntos Qualificadores de Empresa é organizado especificamente para representar diferentes combinações de atributo de qualificação. Cada combinação de atributos no grupo representa uma combinação de atributos possível que um item de trabalho poderia ter e que deve ser relevante para fazer uma decisão de designação de trabalho. Em outras palavras, nem todo atributo simples para um trabalho pode ser representado na tabela de atributos. Exemplos de tais atributos importantes incluem, sem limitação, linguagem, região (localização física), tipo de cliente (por exemplo, nível platina, nível ouro, nível prata, ou não designado), tipo de contato (por exemplo, chamada em tempo real, bate-papo em tempo real, email, fax, entrada de RSS, postagem em blog, etc.), se o contato está relacionado a um objetivo, produto ou serviço específico (por exemplo, para Serviços de Banda Larga Comcast se o contato está relacionado a serviços de voz digital, serviços de televisão a cabo ou serviços de internet de banda larga) e assim por diante. Cada combinação possível de atributos é representada na tabela de atributos e tem uma combinação de ID correspondente como o "ID do conjunto qualificador". O ID de conjunto qualificador corresponde a uma entrada no Grupo de conjuntos qualificadores (especificamente o índice) onde a combinação específica de atributos está localizada. Para cada item de trabalho e cada ID de conjunto qualificador é calculado um "1" ou "0" correspondente, onde "1" representa o fato de que a combinação avalia verdadeiro para o item de trabalho (por exemplo, o item de trabalho tem necessidades de processamento consistentes com a combinação avaliada) e "0" representa o fato de que a combinação avalia negativo para o item de trabalho (por exemplo, o item de trabalho não tem as necessidades de processamento consistentes com a combinação avaliada). É provável que a maior parte dos IDs de conjunto qualificador para um dado item de trabalho tenha um "0" correspondente visto que a maior parte dos itens de trabalho tem necessidades e atributos de processamento relativamente específicos. Os valores de avaliação ("ls" e "Os") juntamente com o ID de conjunto qualificador correspondente são armazenados em um mapa de bits de conjunto qualificador comprimido.
Similar ao grupo de item de trabalho, e o grupo de recursos também ter seu próprio mapa de bits de qualificação. O grupo de recursos e mapa de bits de qualificação são construídos de maneira similar ao grupo de item de trabalho e mapa de bits de qualificação. Os IDs de conjuntos qualificadores do recurso podem corresponder aos IDs dos conjuntos qualif icadores do item de trabalho de modo que se uma avaliação é executada para uma combinação especifica de atributos e a avaliação resulta em um valor de "1" tanto para o item de trabalho como para o recurso, então o recurso é qualificado para processar o item de trabalho.
Os mapas de bits de trabalho e recurso podem ser modificados quando o objeto associado (recurso ou trabalho) muda de estado. Isto acontece raramente, e é usualmente o resultado de eventos de tempo, mais dados sendo adicionados ou o "estado" é modificado. O bit de qualificação associado é computado por regras que executam na mudança e eliminam a execução daquelas regras durante a pesquisa. Isto permite uma tremenda redução na avaliação de regra e reduz adicionalmente a quantidade de regras que executa "por consideração". Estes mapas de bits são avaliados durante a pesquisa, para "saltar" sobre grande quantidade de entradas no grupo que está sendo considerado. O processo de determinação de designação de trabalho pode ser executado de uma forma de três etapas. Primeiro, os "ls" e "Os" dos mapas de bits {para recursos ou itens de trabalho) são verificados para determinar quais recursos são qualificados para receber um item de trabalho ou vice versa. Vantajosamente, o mapa de bits é constituído primariamente de "Os" o que significa que a maior parte dos recursos será eliminada quando qualificada, em que deste modo é reduzida a quantidade de recursos que tem que ser analisados nas seguintes etapas.
Segundo, aqueles objetos que são determinados para serem qualificados podem então ser adicionalmente examinados para elegibilidade. Durante a determinação de elegibilidade, atributos mais dinâmicos do objeto qualificado podem ser analisados. Em particular, os mapas de bits de elegibilidade (ou valores de bit dos atributos de elegibilidade dentro do mapa de bits de qualificação) podem ser computados e em seguida examinados para determinar se algum dos objetos qualificados não é atualmente eleglvel para ser designado ao objeto disponível recentemente. Objetos inelegíveis são descartados e não serão analisados adicionalmente na terceira etapa. Nesta etapa, os IDs do conjunto qualificador podem ser comparados para identificar recursos elegíveis para um item de trabalho ou vice versa.
Finalmente, uma operação de pontuação é empregada para determinar se a consideração corrente é a melhor. Após o término da pesquisa e consideração de todos os objetos elegíveis, o "melhor" objeto é designado. Cada etapa reduz a quantidade de considerações nas etapas subsequentes e pode ser encadeada para eficiência ainda melhor.
Detalhes adicionais deste processo de pesquisa inteiro como o mesmo se relaciona com o uso de mapas de bits são descritos no Pedido de Patente Americano de Número U.S. 12/545.413 para Flockhart e Steiner, cujo conteúdo é integralmente incorporado neste documento por referência.
Embora os grupos e mapas de bits sejam retratados e descritos como tabelas planas, a presente revelação não é tão limitada. Em vez disso, tabelas hierárquicas, tabelas pivô, ou qualquer outra estrutura de dados ou conjunto de estruturas de dados podem ser usadas sem se afastar do escopo da presente revelação.
Outro aspecto da presente revelação fornece uma descrição dos esquemas de processamento que podem ser usados em uma central de atendimento sem fila para obter eficiências de alto desempenho.
Primeiro, a central de atendimento sem fila proposta envolve executar operações de mapa de bits no mapa de bits de item de trabalho, no mapa de bits de recursos e no mapa de bits do conjunto qualificador. Um propósito das operações de mapa de bits é armazenar o resultado pré-computado de uma ou mais regras de qualificação. Em um excesso de recursos, um item de trabalho usa o mapa de bits de conjunto qualificador para selecionar recursos qualificados e usa o mapa de bits de recurso para selecionar os que são elegíveis realmente. Em uma situação de excesso de trabalho, o recurso usa o mapa de bits de conjunto qualificador para selecionar trabalho qualificado. Opcionalmente, o mesmo pode usar o mapa de bits de item de trabalho para testar o trabalho para ver se o mesmo pode ser processado (elegível para processar). Para designação de trabalho simples a utilização de mapa de bits do item de trabalho pode não ser necessária.
Vantajosamente, os mapas de bits têm em sua maior parte valores "0" (por exemplo, a maior parte dos mapas de bits terá 95% ou mais de valores "0" o que significa que menos do que 5% de todos os recursos são qualificados para um item de trabalho particular, ou vice versa) . Isto é devido ao fato de que a maior parte dos itens de trabalho satisfaz apenas uma única combinação de exigências de qualificação ou elegibilidade e a maior parte dos recursos têm proficiências especializadas. Ou seja, a maior parte dos recursos não tem a habilidade ou permissão para manipular cada item de trabalho único que entra em uma central de atendimento. Devido a serem executadas apenas comparações de bits, as correspondências elegiveis de item de trabalho/recurso podem ser identificadas muito rapidamente, mesmo quando se considera todos os itens de trabalho em uma central de atendimento para um recurso particular ou vice versa. Cada bit nos mapas de bits representa múltiplas avaliações de regras.
Isto significa que a organização dos mapas de bits e a computação dos bits contidos dentro dos mapas de bits é importante. Devido a ser executada uma comparação de bits, os tipos de atributos considerados na geração dos bits que populam os mapas de bits também se torna importante. Regras de negócios e metas de desempenho podem ser consideradas quando da determinação de quais atributos serão considerados na combinação de atributos que são usados para fazer decisões de designação de trabalho. Devido a presente revelação propor mapeamento de qualificação como uma alternativa a filas baseadas em proficiência, os atributos que historicamente correspondem a uma especifica fila ou proficiência dentro de uma central de atendimento podem ser incluídos como um atributo na combinação de atributos, embora isto não seja uma exigência. Outras regras de negócio também podem ser incluídas como métricas no cálculo de um mapa de bits ou as mesmas podem ser usadas como um filtro ativo que modifica certo valor de bit (por exemplo, de "1" para "0") no mapa de bits se certos critérios são atendidos (ou não atendidos).
Outro esquema que é proposto é um esquema de avaliação de saltar ou juntar rápido. Podem ser alcançadas eficiências de desempenho durante a comparação de bits olhando um ou múltiplos mapas de bits em blocos em vez de em uma base bit a bit. Como observado acima, a maior parte dos valores nos mapas de bits terá um valor "0". O esquema de avaliação por bloco permite que o mecanismo de comparação revise múltiplos bits (por exemplo, 64 bits ou mais) simultaneamente pára determinar se aquele bloco de bits tem dentro dele um valor "1" . Se o bloco de bits não tem nele um valor "1", então o mecanismo de comparação pode rapidamente mover-se para o próximo bloco sem executar qualquer análise adicional. Naturalmente, se o bloco é identificado como tendo um valor "1" então a comparação ou avaliação bit a bit pode ser requerida para aquele bloco. Existe uma quantidade de formas para executar um salto rápido como descrito acima. Por exemplo, Expressões booleanas, tais como uma função OU, podem ser usadas para representar o valor de um bloco. Se a Expressão booleana para um bloco resultar em um valor "0", então cada bit dentro do bloco inteiro pode ser dito ter um "0" sem qualquer análise adicional.
Ainda outro aspecto da presente invenção fornece mecanismos para popular e manter as estruturas de dados dentro de uma central de atendimento sem fila. Em particular, devido à organização dos mapas de bits da presente revelação ser tão importante, a população e gerenciamento dos mesmos também se torna importante. Entretanto devido a muitos grupos e entradas de grupos serem utilizados, a população e gerenciamento manual é dificil se não impossível. A presente revelação fornece uma Linguagem de Algoritmo de Central de Atendimento (CCAL) que pode popular, organizar e gerenciar os grupos e mapas de bits usados em uma central de atendimento sem fila. CCAL é uma linguagem de domínio específico que é capaz de escrever as regras que populam os grupos com atributos de item de trabalho, recurso ou conjunto qualificador. Além disso, a CCAL organiza os atributos dentro dos grupos determinando a ordem na qual os atributos são incluídos no grupo e a maneira pela qual os mapas de bits são calculados. Em particular, a CCAL pode tomar uma regra de negócio (por exemplo, maximizar lucro, minimizar agentes disponíveis, minimizar tempo de espera, etc.) e determinar quais atributos contribuem para a regra de negócios. Muitas vezes são consideradas múltiplas regras de negócios pela CCAL e um atributo pode contribuir para ambas as regras de negócios de alguma forma. A CCAL considera regras de metas/negócios pertinentes definidas por um administrador da central de atendimento e em seguida identifica quais atributos serão incluídos nos grupos de item de trabalho e recurso na determinação de uma combinação de atributos. Alguns atributos que são entrados para uma regra de negócios ou uma meta de central de atendimento podem ser excluídos do grupo de atributos se for determinado que outros atributos mais importantes são necessários para consideração. A CCAL também identifica a ordem na qual os atributos aparecerão no grupo e coloca os atributos necessários na localização ótima do grupo. A saída da CCAL é um Mecanismo de Designação de Trabalho otimizado - do qual a mesma gera o código e o programa. O programa pode ser fornecido como uma aplicação computacional e pode ser em uma linguagem de computação tradicional, código de máquina, código de byte, código específico de GPU, ou código objeto (para CPU ou máquina virtual). Deve ser avaliado que a presente revelação não é limitada a qualquer tipo de saída.
Conforme as metas de negócios ou estados da central de atendimento mudam, a CCAL pode ser habilitada para considerar quais atributos são incluídos nos vários grupos de central de atendimento e mapas de bits. Se um novo atributo é para ser adicionado, a CCAL pode ou identificar um atributo para remover dos grupos e/ou determinar uma nova ordem ótima dos atributos dentro dos grupos. Isto é alcançado através de uma primeira inspeção nas expressões matemáticas usadas em todos os conjuntos de regras que definem uma dada operação das centrais de atendimento. As dependências de dados são em seguida analisadas, antes por referência do que por ordem de execução. Uma vez que a execução detalhada das regras seja entendida, um conjunto de regras de otimização é executado para transformar o conjunto de regras dentro das estruturas de dados, procedimentos, tarefas e eventos. Esta otimização é armazenada em uma implementação de Árvore de Sintaxe Abstrata de armazenamento neutral chamada "Z" . Z pode ser traduzido para Java, C++, C# ou diretamente em código de máquina.
Uma questão com a implementação de uma central de atendimento sem fila como proposto neste documento é que a maior parte dos clientes tem mecanismos no local para monitorar e gerenciar a operação de uma central de atendimento baseada em fila. Outro aspecto da presente revelação fornece mecanismos que geram visualizações e métricas para uma central de atendimento sem fila que são similares as visualizações e métricas para centrais de atendimento tradicionais baseadas em filas. Isto permite que o cliente (ou seja, o administrador da central de atendimento) tenha certo nível de conforto na compra de um novo equipamento de central de atendimento, e mais, o cliente não tem que modificar significativamente sua estrutura de gerenciamento atual para acomodar a nova arquitetura de central de atendimento. A complexidade tradicional de trabalho multi-filas requer cálculos significativos durante a preparação de relatórios. Tais complexidades são eliminadas pela presente revelação que elimina o conceito e necessidade de uma arquitetura baseada em filas. Deste modo, a preparação de visualizações e métricas da central de atendimento também é grandemente simplificada pela eliminação da arquitetura baseada em filas da técnica anterior.
Em algumas modalidades, as visualizações e métricas são geradas como segue: cada entidade em um grupo (ou seja, um conjunto qualificador para o grupo de conjuntos qualificadores, um item de trabalho para o grupo de itens de trabalho e um recurso para o grupo de recursos) tem um conjunto de métricas associado com ela. Por exemplo, um item de trabalho tem métricas relacionadas a quanto tempo o mesmo está esperando pelo serviço bem como seus atributos que definem as necessidades de processamento do item de trabalho. Embora apenas alguns daqueles atributos possam ser incluídos no "conjunto qualificador" do item de trabalho (ou seja, conjunto específico de atributos de qualificação de encaminhamento), podem ser usados mais ou menos atributos para computar uma visualização para aquele item de trabalho. Uma visualização é uma combinação ou composto dos atributos do item de trabalho. O mesmo processo pode ser executado quando se calcula uma visualização ou métrica para um conjunto qualificador ou recurso.
As métricas e visualização para o item de trabalho podem ser calculadas tão frequentemente quanto desejado (ou seja, continuamente ou periodicamente). Adicionalmente, as métricas e visualizações podem ser calculadas para um subconjunto de entidades em um grupo (por exemplo, todos os recursos que tenham certo atributo comum ou conjunto de atributos comum) ou as métricas e visualizações podem ser calculadas para o grupo inteiro, se desejado. Além disso, a CCAL é uma linguagem de domínio específico que fornece um mecanismo simples para descrever regras, métricas, visualizações e como computar e combinar as mesmas com estratégias baseadas no negócio.
As métricas e visualizações geradas para uma entidade ou um conjunto de entidades podem ser geradas de tal maneira a emular métrica tradicional e visualizações geradas em uma central de atendimento baseada em proficiências. Por exemplo, um Tempo de Espera Estimado (EWT) pode ser gerado para um conjunto qualificador. Como outro exemplo, também pode ser calculado o tempo médio de processamento para todos os itens de trabalho em um conjunto qualificador. Estes exemplos não têm a intenção de ser limitantes. Qualquer tipo de visualização ou métrica tradicional geradas em uma central de atendimento baseada em filas pode ser gerado na central de atendimento sem fila proposta. Este modelo pode ser estendido adicionalmente para organizar os conjuntos qualificadores, recursos ou itens de trabalho dentro de grupos e as métricas podem ser adicionalmente processadas dentro de novas visualizações "sintetizadas". Estas visualizações podem ser usadas pela ferramenta de relatório, ou pelo próprio Mecanismo de Designação de Trabalho. Por exemplo, medições de funcionamento podem ser computadas em um grupo de entidades e quando um limite é alcançado, algoritmos diferentes podem ser invocados para corrigir a situação. Saidas ilustrativas de visualizações e métricas que podem ser fornecidas pela central de atendimento sem fila são descritas adicionalmente no Pedido de Patente Norte Americano de Número U.S. 11/517646, depositado em 7 de setembro de 2006, cujo conteúdo é integralmente incorporado neste documento por referência.
Embora modalidades da presente revelação sejam discutidas em conexão com um ambiente de aplicação de comunicação, os algoritmos de correspondência de objetos proposto neste documento podem ser utilizados para aumentar a correspondência de objetos em muitos outros ambientes. Por exemplo, modalidades da presente revelação podem ser utilizadas em otimização de problemas de portfolio financeiro (por exemplo, corresponder recursos financeiros disponíveis com oportunidades de investimentos financeiros), problemas de otimização de rotas (por exemplo, corresponder possíveis rotas entre as localizações atual e desejada ou otimizar rotas de entrega para transportadores de encomendas), corresponder projetos e propostas, ou qualquer outra aplicação onde exista fornecimento limitado ou demanda limitada por algum recurso ou serviço.
As expressões "pelo menos um", "um ou mais" e "e/ou" são expressões indeterminadas que são tanto conjuntivas como disjuntivas em operação. Por exemplo, cada uma das expressões "pelo menos um de A, Be C" , "pelo menos um de A, B ou C" , "um ou mais de A, Be C" , "um ou mais de A, B ou C" e "A, B, e/u C" significa A sozinho, B sozinho, C sozinho, A e B juntos, A e C juntos, B e C juntos ou A, Be C juntos. O termo "um" ou "uma" entidade refere-se a uma ou mais daquelas entidades. Como tal, os termos "um" (ou "uma"), "um ou mais" e "pelo menos um" podem ser usados intercaladamente neste documento. Também deve ser observado que os termos "compreende", "inclui" e "tem" podem ser usados intercaladamente. O termo "automático" e variações do mesmo, como usados aqui, referem-se a qualquer processo ou operação feita sem entrada humana de material quando o processo ou operação é executado. Entretanto, um processo ou operação pode ser automático, mesmo se a desempenho ou operação do processo usa entrada humana material ou imaterial, se a entrada for recebida antes do desempenho do processo ou operação, A entrada humana é considerada como sendo material se tal entrada influencia em como o processo ou operação será executado. A entrada humana que concorda com o desempenho do processo ou operação não é considerada como sendo "material". O termo "meio legível por computador" como usado neste documento refere-se a qualquer armazenamento tangível que participe no fornecimento de instruções para um processador para execução. Tal meio pode tomar qualquer forma, que inclui, mas não está limitado a, midia não volátil, mídia volátil, e mídia de transmissão. Mídia não volátil inclui, por exemplo, NVRAM, ou discos magnéticos ou óticos. Mídia volátil inclui memória dinâmica, tal como memória principal. Formas comuns de mídia legível por computador incluem, por exemplo, um disco flexível, disco rígido, fita magnética, ou qualquer outro meio magnético, meio magneto-ótico, um CD-ROM, qualquer outro meio ótico, cartões perfurados, fita de papel, qualquer outro meio físico com padrões de furações, uma RAM, uma PROM, uma EPROM, uma FLASH-EPROM, um meio de estado sólido como um cartão de memória, qualquer outra pastilha ou cartucho de memória, ou qualquer outro meio a partir do qual um computador possa ler. Quando a mídia legível por computador é configurada como um banco de dados, deve ser entendido que o banco de dados pode ser qualquer tipo de banco de dados, tal como relacionai, hierárquico, orientado a objeto, ou algo semelhante. Consequentemente, a revelação é considerada como incluindo um meio de armazenamento tangível e mídia sucessora e equivalentes reconhecidas pela técnica anterior, nos quais implementações de software da presente revelação estão armazenadas.
Os termos "determinar", "calcular" e "computar", e variações dos mesmos, como usados neste documento, são usados intercaladamente e incluem qualquer tipo de metodologia, processo, operação matemática ou técnica. O termo "módulo" como usado neste documento refere-se a qualquer hardware, software, firmware, inteligência artificial, lógica difusa, ou combinação de hardware e software que seja capaz de executar a funcionalidade associada com aquele elemento. Também, embora a revelação seja descrita em termos de modalidades ilustrativas, deve ser avaliado que aspectos individuais da revelação podem ser reivindicados separadamente.
Breve descrição das figuras A presente revelação é descrita em conjunto com as figuras em anexo: A Figura 1 é um diagrama de blocos de um sistema de comunicação de acordo com modalidades da presente revelação; A Figura 2 é um diagrama de blocos que retrata grupos e mapas de bits ilustrativos que são utilizados de acordo com modalidades da presente revelação; A Figura 3 é um diagrama de blocos que retrata estruturas de dados de item de trabalho ilustrativas que podem ser usadas de acordo com modalidades da presente revelação; A Figura 4 é um diagrama de blocos que retrata estruturas de dados de recurso ilustrativas que podem ser usadas de acordo com modalidades da presente revelação; A Figura 5 é um fluxograma que retrata um método de criação de arquitetura de central de atendimento ilustrativode acordo com modalidades da presente revelação; A Figura 6 é um fluxograma que retrata um método ilustrativo para tratar itens de trabalho que são adicionados a uma central de relacionamento de acordo com modalidades da presente revelação; A Figura 7 é um fluxograma que retrata um método ilustrativo para tratar recursos que são adicionados a uma central de relacionamento de acordo com modalidades da presente revelação; A Figura 8 é um fluxograma que retrata um método ilustrativo para controlar um estado de excedente de item de trabalho em uma central de relacionamento de acordo com modalidades da presente revelação; A Figura 9 é um fluxograma que retrata um método ilustrativo para controlar um estado de excedente de recurso em uma central de relacionamento de acordo com modalidades da presente revelação; A Figura 10 é um fluxograma que retrata um método ilustrativo de gerenciamento de mapa de bits de acordo com modalidades da presente revelação; A Figura 11 é um fluxograma que retrata um método ilustrativo de gerenciamento de regra de central de atendimento de acordo com modalidades da presente revelação; e A Figura 12 é um fluxograma que retrata um método ilustrativo de geração de métrica e visualização de desempenho de central de atendimento de acordo com modalidades da presente revelação.
Descrição detalhada A descrição seguinte fornece apenas modalidades, e não tem a intenção de limitar o escopo, aplicabilidade, ou configuração das reivindicações. De preferência, a descrição seguinte fornecerá para aqueles indivíduos versados na técnica uma descrição que os habilita a implementar as modalidades. Sendo entendido que várias mudanças podem ser feitas nas funções e disposição dos elementos sem se afastar do espírito e escopo das reivindicações. A Figura 1 mostra uma modalidade ilustrativa de um sistema de comunicação distribuído 100 de acordo com pelo menos algumas modalidades da presente revelação. O sistema de comunicação 100 compreende uma rede de comunicação 104 que conecta um ou mais dispositivos de comunicação 108 a um mecanismo de designação de trabalho 116, que pode ser de propriedade e operado por uma empresa que administra uma central de atendimento na qual uma pluralidade de recursos 112 é distribuída para controlar itens de trabalho entrantes a partir de dispositivos de comunicação de clientes 108.
De acordo com pelo menos algumas modalidades da presente revelação, a rede de comunicação 104 pode compreender qualquer tipo de meio de comunicação conhecido ou conjunto de mídia de comunicação e pode usar qualquer tipo de protocolos para transportar mensagens entre terminais. A rede de comunicação 104 pode incluir tecnologias de comunicação por cabo ou sem fio. A Internet é um exemplo da rede de comunicação 104 que constitui e rede de Protocolo Internet (IP) que consiste de muitos computadores, redes de computadores e outros dispositivos de comunicação localizados por todo o mundo, que são conectados através de muitos sistemas de telefone e outros meios. Outros exemplos de rede de comunicação 104 incluem, sem limitação, um Sistema de Telefonia Tradicional (POTS), uma Rede Digital de Serviços Integrada (ISDN) , a Rede de Telefonia Pública Comutada (ISDN) , uma Rede de Área Local (LAN) , uma Rede de Área Ampla (WAN) , um rede de Protocolo de Iniciação de Sessão (SIP), uma rede celular e qualquer outro tipo de rede comutada por pacote ou comutada por circuito conhecida na técnica. Adicionalmente, pode ser avaliado que a rede de comunicação 104 não precisa ser limitada a qualquer tipo de rede, e em vez disso pode ser compreendida de uma quantidade de redes e/ou tipos de redes diferentes. Como um exemplo, modalidades da presente revelação podem ser utilizados para aumentar a eficiência de uma central de atendimento baseada em rede. Exemplos de central de atendimento baseada em rede são mais completamente descritos no Pedido de Patente Norte Americano de Número U.S. 12/469.523 para Steiner, cujo conteúdo é integralmente incorporado neste documento por referência. Além disso, a rede de comunicação 104 pode compreender uma quantidade de diferentes mídias de comunicação tais como cabo coaxial, cabo/fio de cobre, cabo de fibra ótica, antenas para transmitir/receber mensagens sem fio, e combinações destes.
Os dispositivos de comunicação 108 podem corresponder a dispositivos de comunicação do cliente. De acordo com pelo menos algumas das modalidades da presente revelação, um cliente pode utilizar seu dispositivo de comunicação 108 para iniciar um item de trabalho, que é geralmente uma solicitação para um recurso de processamento 112. Itens de trabalho ilustrativos incluem, mas não estão limitados a, um contato direcionado a e recebido em uma central de atendimento, uma solicitação de página da web direcionada a e recebida em um parque de servidores (por exemplo, conjunto de servidores) , uma solicitação de mídia, uma solicitação de aplicação (por exemplo, uma solicitação para localização de recursos de aplicação em um servidor de aplicação remoto, tal como um servidor de aplicação SIP), e assim por diante. O item de trabalho pode ser na forma de uma mensagem ou um conjunto de mensagens transmitidas sobre a rede de comunicação 104, Por exemplo, o item de trabalho pode ser transmitido com uma chamada telefônica, um pacote ou conjunto de pacotes (por exemplo, pacotes IP transmitidos sobre uma rede IP), uma mensagem de email, uma Mensagem Instantânea, uma mensagem SMS, um fax, e combinações dos mesmos. Em algumas modalidades, a comunicação pode não ser necessariamente direcionada no mecanismo de designação de trabalho 104 onde a mesma é coletada pelo mecanismo de designação de trabalho 116 que gera um item de trabalho para a comunicação coletada. Um exemplo de tal comunicação coletada inclui uma mídia social de comunicação que é coletada pelo mecanismo de designação de trabalho 116 a partir de uma rede ou servidor de mídia social. Arquiteturas ilustrativas para coletar comunicações de mídia social e gerar itens de trabalho baseado nas mesmas são descritas nos Pedidos de Patente Norte Americanos de Números U.S. 12/784.369, 12/706.942 e 12/707.277, depositados em 20 de março de 2010, 17 de fevereiro de 2010 e 17 de fevereiro de 2010, respectivamente, cada um dos quais é incorporado neste documento integralmente por referência. O formato do item de trabalho pode depender das capacidades do dispositivo de comunicação 108 e do formato da comunicação. Em particular, itens de trabalho são representações lógicas dentro de uma central de atendimento de trabalho a ser executado em conexão com servir uma comunicação recebida na central de atendimento {e mais especificamente o mecanismo de designação de trabalho 116). A comunicação pode ser recebida e mantida no mecanismo de designação de trabalho 116, em um comutador (switch) ou servidor conectado ao mecanismo de designação de trabalho 116, ou algo semelhante até que um recurso 112 seja designado para o item de trabalho que representa aquela comunicação no ponto em que o mecanismo de designação de trabalho 116 passa o item de trabalho para um mecanismo de encaminhamento 140 para conectar o dispositivo de comunicação 108 que iniciou a comunicação com o recurso designado 112.
Embora o mecanismo de encaminhamento 140 seja retratado como sendo separado do mecanismo de designação de trabalho 116, o mecanismo de encaminhamento 140 pode ser incorporado dentro do mecanismo de designação de trabalho da rede 116 ou sua funcionalidade pode ser executada pelo mecanismo de designação de trabalho 120.
De acordo com pelo menos algumas modalidades da presente revelação, os dispositivos de comunicação 108 podem compreender qualquer tipo de equipamento de comunicação conhecido ou conjunto de equipamentos de comunicação. Exemplos de um dispositivo de comunicação adequado 108 incluem, mas não estão limitados a, um computador pessoal, computador portátil, Assistente Pessoal Digital (POA), telefone celular, telefone inteligente, telefone ou combinações destes. Em geral cada dispositivo de comunicação 108 pode ser adaptado para suportar comunicações de vídeo, áudio, texto e/ou dados com outros dispositivos de comunicação 108 bem como com os recursos de processamento 112. O tipo de meio usado pelo dispositivo de comunicação 108 para se comunicar com outros dispositivos de comunicação 108 ou dispositivos de processamento 112 pode depender das aplicações de comunicação disponíveis no dispositivo de comunicação 108.
De acordo com pelo menos algumas modalidades da presente revelação, o item de trabalho é enviado para um conjunto de recursos de processamento 112 através de esforços combinados do mecanismo de designação de trabalho 116 e do mecanismo de encaminhamento 140. Os recursos 112 podem cada um ser recursos completamente automatizados (por exemplo, unidades de Resposta de Voz Interativas (IVR), processadores, servidores, ou algo semelhante), recursos humanos utilizando dispositivos de comunicação (por exemplo, agentes humanos utilizando um computador, telefone, computador portátil, etc.), ou qualquer outro recurso conhecido para ser usado em centrais de atendimento.
Como discutido acima, o mecanismo de designação de trabalho 116 e os recursos 112 podem ser de propriedade e operados por uma entidade comum em um formato de central de atendimento. Em algumas modalidades, o mecanismo de designação de trabalho 116 pode ser administrado por múltiplas empresas, cada uma das quais tem seus próprios recursos dedicados 112 conectados ao mecanismo de designação de trabalho 116.
Em algumas modalidades, o mecanismo de designação de trabalho 116 compreende um motor de designação de trabalho 120 que habilita o mecanismo de designação de trabalho a fazer decisões de encaminhamento inteligentes para os itens de trabalho. O motor de designação de trabalho 120 pode incluir um ou mais módulos para facilitar a funcionalidade do motor de designação de trabalho 120. Tais módulos ilustrativos incluem, sem limitação, um analisador 128, um módulo CCAL 132 e um módulo Booleano 136.
Mais especificamente, o motor de designação de trabalho 12 0 pode determinar qual da pluralidade de recursos de processamento 112 é qualificada e/ou elegivel para receber o item de trabalho e determinar adicionalmente qual da pluralidade de recursos de processamento 112 é mais adequada para controlar as necessidades de processamento do item de trabalho. Em situações de excedente de item de trabalho, o motor de designação de trabalho 120 também pode fazer a determinação oposta (por exemplo, determinar designação ótima de um recurso de item de trabalho para um recurso). Em algumas modalidades, o motor de designação de trabalho 120 é configurado para obter correspondência um para um real utilizando mapas de bits/tabelas 124 e outras estruturas de dados descritas neste documento.
Embora os mapas de bits/tabelas 124 sejam retratados como sendo incluídos no mecanismo de designação de trabalho 116, um indivíduo versado na técnica avaliará que os mapas de bits/tabelas 124 podem ser mantidos em um banco de dados ou servidor separado que seja acessível ao mecanismo de designação de trabalho 116.
Além disso, o motor de designação de trabalho 120 e seus vários componentes podem residir no mecanismo de designação de trabalho 116 ou em uma quantidade de servidores ou dispositivos de processamento diferentes. Em algumas modalidades, arquiteturas de computação baseadas em nuvem podem ser empregadas pelo que um ou mais componentes do mecanismo de designação de trabalho 116 ficam disponíveis em uma nuvem ou rede de modo que eles possam ser recursos compartilhados entre uma pluralidade de usuários diferentes. O analisador 128 pode ser configurado para ajudar o motor de designação de trabalho 12 0 na tradução de instruções preparada pelo módulo CCAL 132. Especificamente, o analisador 128 pode traduzir saídas do módulo CCAL 132, que correspondem aos processos e procedimentos a serem realizados pelo motor de designação de trabalho 120. Deste modo, a função primária do analisador 12 8 pode ser converter saídas do módulo CCAL 132 em estruturas ou instruções que sejam executáveis pelo motor de designação de trabalho 120. Em algumas modalidades o analisador 128 pode ser substituído por um compilador de CCAL.
Saídas do módulo CCAL 132, uma vez no formato adequado, permitem que o motor de designação de trabalho faça as determinações de qualificação e elegibilidade bem como decisões de encaminhamento ótimo. Em particular, o analisador 128 pode ser utilizado para executar comparações de mapas de bits e outras análises de bits para determinar quando um item de trabalho pode ser e deve ser designado para um recurso 112 ou vice versa. O módulo booleano 136 é fornecido para auxiliar o motor de designação de trabalho 120 na pesquisa de grandes grupos de itens. Especificamente, o módulo booleano 136 pode habilitar o motor de designação de trabalho 120 durante as determinações de qualificação e elegibilidade a analisar uma pluralidade de itens de trabalho ou recursos 112 (ou mais especificamente valores de bits associados com tais itens) computando um valor booleano para uma pluralidade de bits. Em algumas modalidades, o módulo booleano 136 é configurado para computar uma função OU ou E em uma pluralidade de bits e fornecer o valor computado para o motor de designação de trabalho 120 que determina se alguns bits dentro da pluralidade de bits requer uma análise independente. Em algumas modalidades, a função OU pode ser usada durante determinações de qualificação (devido a um valor falso de bit poder resultar na necessidade de analisar todos os recursos ou itens de trabalho dentro de um grupo de recursos ou itens de trabalho) enquanto que a função E pode ser utilizada durante determinações de elegibilidade (devido a poder ser requerido que todos os bits sejam verdadeiros para que um recurso ou item de trabalho seja considerado elegivel). Em algumas modalidades, em vez de utilizar o módulo booleano 136 pode ser usado um dispositivo de varredura de não-zero para analisar os mapas de bits durante as determinações de qualificação ou elegibilidade. O módulo CCAL 132 é fornecido para habilitar o motor de designação de trabalho 120 a receber regras e metas de uma central de atendimento e formatar estas regras em atributos e expressões que possam ser usadas para facilitar a arquitetura de central de atendimento sem fila proposta neste documento. Em algumas modalidades, o módulo CCAL 132 é configurado para traduzir um conjunto de regras e/ou metas a partir de uma linguagem de computação em uma segunda linguagem de computação baseado em sua análise das entradas, saídas e variáveis no conjunto original de regras e/ou metas. A saída do módulo CCAL 132 pode ainda exigir tradução adicional pelo analisador 128.
De acordo com pelo menos algumas modalidades da presente revelação, o mecanismo de designação de trabalho 116 utiliza os mapas de bits/tabelas 124 para determinar qual item de trabalho deve ser designado para qual recurso 112 e vice versa. Em outras palavras os mapas de bits/tabelas 124 são usados pelo motor de designação de trabalho 120 para fazer decisões de encaminhamento. A Figura 2 retrata estruturas de dados 200 ilustrativas que podem ser incorporadas em ou usadas para gerar mapas de bits/tabelas 124 usadas pelo motor de designação de trabalho 120. As estruturas de dados ilustrativas 200 incluem um ou mais grupos de itens relacionados. Em algumas modalidades, três grupos de itens são fornecidos, incluindo um grupo de trabalhos da empresa 204, um grupo de recursos da empresa 212 e um grupo de conjuntos qualificadores da empresa 220. Os grupos são geralmente um conjunto desordenado de itens semelhantes que existem dentro da central de atendimento. Assim, o grupo de trabalhos da empresa 204 compreende uma entrada de dados ou instância de dados para cada item de trabalho dentro da central de atendimento.
Em algumas modalidades, a população do grupo de trabalhos 2 04 pode ser limitada aos itens de trabalho que esperam por atendimento de um recurso 112, mas esta limitação não precisa ser imposta necessariamente. Em vez disso, o grupo de trabalhos 204 pode conter instâncias de dados para todos os itens de trabalho na central de atendimento independentemente de se tais itens de trabalho estão atualmente designados e sendo atendidos por um recurso 112 ou não. A diferenciação entre se um item de trabalho está sendo atendido (ou seja, está designado para um recurso 112) pode simplesmente ser representada pela alteração do valor de um bit naquela instância de dados do item de trabalho. A alteração deste valor de bit pode resultar em que o item de trabalho seja desqualificado para designação adicional a outro recurso 112 a menos e até que aquele valor de bit particular seja mudado de volta para um valor que representa o fato de que o item de trabalho não está designado para um recurso 112, em que deste modo torna aquele recurso 112 elegivel para receber outro item de trabalho.
De forma similar ao grupo de trabalhos 204, o grupo de recursos 212 compreende uma entrada de dados ou instância de dados para cada recurso 112 dentro da central de atendimento. Deste modo, os recursos 112 podem ser representados no grupo de recursos 212 mesmo se o recurso 112 está inelegível pela sua indisponibilidade devido a estar designado para um item de trabalho ou devido a um agente humano não estar conectado. A inelegibilidade de um recurso 112 pode ser refletida em um ou mais valores de bit. O grupo de conjuntos qualificadores 220 compreende uma entrada de dados ou instância de dados para cada conjunto qualificador dentro da central de atendimento. Em algumas modalidades, os conjuntos qualificadores dentro de uma central de atendimento são determinados baseados nos atributos ou combinações de atributos dos itens de trabalho no grupo de trabalhos 2 04 . Os conjuntos qualificadores geralmente representam uma combinação especifica de atributos para um item de trabalho. Em particular, conjuntos qualificadores podem representar o critério de processamento para um item de trabalho e a combinação especifica daqueles critérios. Cada conjunto qualificador pode ter um conjunto qualificador correspondente identificado por "ID do conjunto qualificador" que é usado para propósitos de mapeamento. Como exemplo, um item de trabalho pode ter atributos de lingua = Francês e objetivo = Serviço e para esta combinação de atributos pode ser designado um ID de conjunto qualificador de "13". Os IDs de conjunto qualificador e as combinações de atributos correspondentes para todos os conjuntos qualificadores na central de atendimento podem ser armazenados como estruturas de dados ou instâncias de dados no grupo de conjuntos qualificadores 220.
Em algumas modalidades, um, alguns ou todos os grupos podem ter um mapa de bits correspondente. Deste modo, uma central de atendimento pode ter em qualquer instância do tempo um mapa de bits de trabalho 208, um mapa de bits de recurso 216 e um mapa de bits de conjunto qualificador 224. Em particular, estes mapas de bits podem corresponder a mapas de bits de qualificação que tem um bit para cada entrada. Deste modo, cada item de trabalho no grupo de trabalhos 2 04 deve ter um bit correspondente no mapa de bits de trabalhos 208, cada recurso 112 no grupo de recursos 212 deve ter um bit correspondente no mapa de bits de recursos 216 e cada conjunto qualificador no grupo de conjuntos qualificadores 220 pode ter um bit correspondente no mapa de bits do conjunto qualificador 224.
Em algumas modalidades, os mapas de bits são utilizados para acelerar pesquisas complexas dos grupos e ajudar o motor de designação de trabalho 120 a fazer uma decisão de designação de item de trabalho/recurso ótima baseado no estado atual de cada grupo. Consequentemente, os valores nos mapas de bits 208, 216, 224 podem ser recalculados em cada momento em que o estado de um grupo muda (por exemplo, quando é detectado um excedente de item de trabalho, quando é detectado um excedente de recurso, e/ou quando regras para administrar a central de atendimento tiverem mudado).
Com referência agora a Figura 3, detalhes adicionais das estruturas de dados e algoritmos que podem ser usados para calcular o mapa de bits de trabalho 2 08 serão discutidos de acordo com modalidades da presente revelação.
Embora a organização destas estruturas de dados e estruturas de dados para os conjuntos qualificadores e recursos vá ser descrita em termos de colunas, linhas e entidades, um indivíduo versado na técnica avaliará que podem ser utilizadas outras formas de manipulação e organização de dados sem se afastar do escopo da presente revelação. Além disso, embora apenas certa quantidade de entradas (por exemplo, a-M, a-N, a-X e a-Y) seja representada e descrita neste documento, um indivíduo versado na técnica avaliará que pode ser utilizada qualquer quantidade de entradas para popular as estruturas de dados descritas neste documento sem se afastar do escopo da presente revelação.
Como observado acima, o grupo de trabalhos 204 pode corresponder a ou conter uma estrutura de dados tal com uma tabela de atributos de item de trabalho 3 04 que contenha uma instância de dados 312a-M para cada combinação de atributos de item de trabalho no grupo de trabalhos 204. Em algumas modalidades, um item de trabalho pode ter apenas uma combinação de atributos, e, portanto, pode ser representado por uma única instância de dados 312. Entretanto, em algumas modalidades, um item de trabalho pode ter múltiplas combinações de atributos, em que neste caso são fornecidas múltiplas instâncias de dados 312 na tabela de atributos de item de trabalho 3 04 para representar o item de trabalho. Exposto de outra forma, cada instância de dados 312a-M corresponde a uma combinação de atributos específica de um item de trabalho e pode representar combinações de atributos de múltiplos itens de trabalho se múltiplos itens de trabalho compartilham uma combinação de atributos comum.
As instâncias de dados de combinação de atributos 312a-M são correlacionadas a um ID de combinação, que também pode ser utilizado como um ID de conjunto qualificador para aquela combinação de atributos. Adicionalmente, as instâncias de dados de combinação de atributos 312a-M têm cada uma um ou mais atributos 316a-N que definem os atributos da instância de dados 312. Atributos ilustrativos que podem ser incluídos na tabela de atributos de item de trabalho 3 04 e deste modo representam uma combinação de atributos de item de trabalho incluem, sem limitação, preferências ou exigências de língua, localização/região de onde foi originado o item de trabalho, tipo de cliente, tipo de mídia, objetivo (por exemplo, serviço, venda, resolução de problema, faturamento, etc.), ou qualquer atributo que foi tradicionalmente usado para determinar em qual fila um item de trabalho deveria ser colocado. Vantajosamente, modalidades da presente revelação não utilizam filas, mas em vez disso representam atributos usados para propósito de encaminhamento em combinações de atributos de item de trabalho 312a-M. A tabela de atributos de item de trabalho 3 04 pode ser convertida em um mapa de bits de item de trabalho 320, que pode ser similar ou idêntico ao mapa de bits de trabalho 2 08 ou o mesmo pode ser uma versão menos condensada deste. O mapa de bits de item de trabalho 320 compreende as mesmas combinações de atributos 312a-M e suas correspondentes combinações de IDs 308 como a tabela de atributos de item de trabalho 3 04. Entretanto, em vez de ter tipos de atributos 316a-N nas colunas da tabela, o mapa de bits de item de trabalho 320 compreende entradas de itens de trabalho 324a-X. Como observado acima, cada item de trabalho na central de atendimento tem pelo menos uma combinação de atributos (ou seja, requisito de conjunto qualif icador) e pode ter mais do que uma combinação de atributos. O mapa de bits de item de trabalho 320 correlaciona itens de trabalho a sua(s) correspondente (s) combinação(ões) de atributos indicando um valor verdadeiro, que pode ser invertido através de uma operação XOR (por exemplo, um "1" pode corresponder a um valor verdadeiro enquanto "0" é usado para representar um valor falso) na interseção de uma entrada de item de trabalho particular (por exemplo, a primeira entrada de itens de trabalho 324a) com aquela combinação de atributos que corresponde ao item de trabalho (por exemplo, a primeira combinação de atribuição 312a) . Consequentemente, se um item de trabalho tem uma combinação de atributos particular o ID da combinação que corresponde àquela combinação de atributos é correlacionada ao item de trabalho. Esta correlação estabelece um relacionamento fixo, mas facilmente pesquisável entre o item de trabalho e sua(s) combinação(ões) de atributos. O mapa de bits de item de trabalho 32 0 pode ser adicionalmente comprimido para um mapa de bits de item de trabalho reformatado 328 que pode ser similar ou idêntico ao mapa de bits de trabalho 208. Em algumas modalidades, o mapa de bits de item de trabalho reformatado 328 compreende duas colunas, uma primeira coluna 322 que corresponde a um identificador de item de trabalho (ou seja, um identificador único que é designado a um item de trabalho quando o mesmo entra na central de atendimento) e uma segunda coluna 336 que corresponde aos IDs de combinação 308 que foram determinados como verdadeiros (por exemplo, tem um valor de "1" no mapa de bits de item de trabalho 320 onde uma entrada de item de trabalho 324 cruza com um ID de combinação 308). Uma quantidade maior ou menor de colunas pode ser usada sem se afastar do escopo da presente revelação. Independentemente da organização da estrutura de dados, o mapa de bits de item de trabalho reformatado 328 correlaciona um item de trabalho a sua combinação de atributos (por exemplo, requisitos de processamento) associando o identificador de item de trabalho 332 com o ID de combinação 308. Este mapa de bits de item de trabalho reformatado 328 permite que o motor de designação de trabalho 120 pesquise rapidamente todos os itens de trabalho no grupo de trabalho 204 e determine os requisitos de processamento destes, em que deste modo permite decisões de designação rápidas. O mapa de bits de item de trabalho 320 e/ou mapa de bits de item de trabalho reformatado 32 8 também pode ser utilizado para gerar o mapa de bits de conjunto qualificador 224 que pode manter dados relacionados âs combinações de atributos 312a-N e seus correspondentes IDs de combinação 308. Além disso, a utilização do mapa de bits reformatado 328 conserva espaço em memória no mecanismo de designação de trabalho 116, que tem sido tradicionalmente sobre-utilizado em centrais de atendimento baseadas em fila.
Com referência agora a Figura 4, detalhes adicionais das estruturas de dados e algoritmos que podem ser usados em cálculo do mapa de bits de recurso 216 serão discutidos de acordo com modalidades da presente revelação. O grupo de recursos 212 pode corresponder a ou conter uma estrutura de dados tal como uma tabela de atributos de recurso 4 04 que contém uma instância de dados 412a-M para cada combinação de atributos de recurso no grupo de recursos 212. Em algumas modalidades, um recurso pode ter apenas uma combinação de atributos e, portanto, pode ser representado por uma única instância 412. Entretanto, em algumas modalidades, um recurso pode ter múltiplas combinações de atributos, em que neste caso são fornecidas múltiplas instâncias de dados 412 na tabela de atributos de recurso 404 para representar o recurso. Exposto de outra forma, cada instância de dados 412a-M corresponde a uma combinação especifica de atributos de um recurso {ou múltiplos recursos) e pode representar combinações de atributos de múltiplos recursos se múltiplos recursos compartilham uma combinação de atributos comum.
As instâncias de dados de combinação de atributos 412a-M são correlacionadas a um ID de combinação 408, que também podem ser utilizado para mapear as combinações de atributos de recursos com combinações de atributos de itens de trabalho através de um ID de conjunto qualificador no mapa de bits de conjunto qualificador 224. Se um atributo é de movimentação relativamente lenta (ou seja, não varia frequentemente ao longo do tempo), então pode ser utilizada uma análise de combinação. Esta é tradicionalmente uma melhor opção durante as determinações de qualificação, que envolvem a análise de atributos de movimentação lenta ao contrário de determinações de elegibilidade que envolve a análise de atributos de movimentação mais rápida.
Adicionalmente, cada uma das instâncias de dados de combinação de atributos 412a-M tem um ou mais atributos 416a-N que definem os atributos da instância de dados 412. Atributos ilustrativos que podem ser incluídos na tabela de atributos de recurso 404 e deste modo representam uma combinação de atributos do recurso incluem, sem limitação, capacidades de língua, localização/região de onde o recurso está situado, capacidades de processamento do agente humano, capacidades de processamento e/ou memória do recurso 112, tipo de mídia, unidade de negócios (por exemplo, serviço, venda, solução de problemas, faturamento, etc. ) , ou qualquer atributo que foi tradicionalmente usado para determinar em qual fila um recurso deveria ser colocado. Vantajosamente, modalidades da presente revelação não utilizam filas, mas em vez disso representam atributos de recursos usados para propósito de encaminhamento em combinações de atributos 412a-M. A tabela de atributos de recurso 404 pode ser convertida em um mapa de bits de recurso 420, que pode ser similar ou idêntico ao mapa de bits de recurso 2 08 ou o mesmo pode ser uma versão menos condensada deste. O mapa de bits recurso 420 compreende as mesmas combinações de atributos 412a-M e suas correspondentes combinações de IDs 408 como a tabela de atributos de recurso 404. Entretanto, em vez de ter tipos de atributos 416a-N nas colunas da tabela, o mapa de bits de recurso 420 compreende entradas de recursos 424a-Y. Como observado acima, cada recurso na central de atendimento tem pelo menos uma combinação de atributos (ou seja, conjunto qualificador) e pode ter mais do que uma combinação de atributos. O mapa de bits de recurso 420 correlaciona recursos a sua(s) correspondente(s) combinação(ões) de atributos indicando um valor verdadeiro na interseção de uma entrada de recurso particular (por exemplo, a primeira entrada de recursos 424a) com aquela combinação de atributos que corresponde ao recurso (por exemplo, a Mésima combinação de atribuição 412M) . Consequentemente, se um recurso tem uma combinação de atributos particular o ID da combinação que corresponde àquela combinação de atributos é correlacionado ao recurso. Esta correlação estabelece um relacionamento fixo, mas facilmente pesquisável entre o recurso e sua(s) combinação(ões) de atributos. O mapa de bits de recurso 420 pode ser adicionalmente comprimido para um mapa de bits de recurso reformatado 428 que pode ser similar ou idêntico ao mapa de bits de recurso 216. Em algumas modalidades, o mapa de bits de recurso reformatado 428 compreende duas ou mais colunas, uma primeira coluna 432 que corresponde a um identificador de recurso (ou seja, um identificador único que é designado a um recurso quando o mesmo entra na central de atendimento) e uma segunda coluna 43 6 que corresponde aos IDs de combinação 408 que foram determinados como verdadeiros (por exemplo, tem um valor de "1" no mapa de bits de recurso 420 onde uma entrada de recurso 4 24 cruza com um ID de combinação 4 08) . Estas duas primeiras colunas podem ser utilizadas pelo motor de designação de trabalho 120 para determinar quando um recurso 112 é elegivel para ser designado para um item de trabalho e vice versa (por exemplo, para utilização nas determinações de qualificação).
Uma terceira coluna 440 também pode ser fornecida para identificar a adequação de um recurso particular 112 para cada uma das combinações de atributos. Consequentemente, se um recurso 112 tem apenas uma única combinação de atributos, então a coluna de adequação 440 para aquela entrada de recurso 424 pode ter apenas um único valor de adequação. Alternativamente, se um recurso 112 tem múltiplas combinações de atributos, então a coluna de adequação 440 para aquela entrada de recurso 424 pode ter múltiplos valores de adequação, um para cada combinação de atributos.
Consequentemente, o mapa de bits de recurso reformatado 428 correlaciona um recurso a sua combinação de atributos (ou seja, requisitos de processamento) associando o identificador de recurso 432 com o ID de combinação 408 e também pode fornecer informação a respeito da adequação dos recursos 112 para sua(s) combinação(ões) de atributos. Este mapa de bits de recurso reformatado 42 8 permite que um motor de designação de trabalho 120 pesquise rapidamente todos os recursos 112 no grupo de recursos 212 e determine as capacidades de processamento e/ou adequações dos mesmos, pelo que habilitam decisões de encaminhamento de item de trabalho rápidas.
Com referência agora a Figura 5 um método ilustrativo de criar uma central de atendimento sem fila será descrita de acordo com modalidades da presente revelação. O método é iniciado quando é determinado que a arquitetura da central de atendimento deve ser criada (etapa 504). O método continua com a criação de um grupo de recursos 212 para todos os recursos na central de atendimento (etapa 508), um grupo de trabalho 2 04 para todos os itens de trabalho na central de atendimento (etapa 512) e, opcionalmente, um grupo de conjuntos qualificadores 220 para todos dos conjuntos qualificadores na central de atendimento (etapa 516) . A decisão de criar o grupo de conjuntos qualificadores 220 pode depender da quantidade de recursos 112, itens de trabalho, ou recursos excluídos 112 e itens de trabalho a serem incluídos na central de atendimento. Se a quantidade de recursos 112 e/ou itens de trabalho se encaminha para ser relativamente baixa (por exemplo, menor do que 10.000 itens no total), então um grupo de conjuntos qualificadores 220 pode não ser necessariamente requerido e o mapeamento pode ser executado diretamente entre o grupo de trabalho 204 e o grupo de recursos 212. Entretanto, o grupo de conjuntos qualificadores 220 é particularmente útil para facilitar decisões de designação de item de trabalho/recurso em grandes centrais de atendimento.
Após os grupos de itens terem sido criados, o método continua com a criação de mapas de bits para cada grupo (etapa 520) . Os mapas de bits condensam os itens dentro do grupo e refinam a informação relacionada a cada item descendo até os atributos necessários que são considerados pertinentes as decisões de designação de item de trabalho/recurso. Uma vez criados, os mapas de bits podem ser usados pelo motor de designação de trabalho 12 0 para pesquisar os vários grupos na tomada de decisões de encaminhamento de item de trabalho como será discutido em maiores detalhes abaixo (etapa 524).
Com referência agora a Figura 6, um método ilustrativo de adicionar itens de trabalho a uma central de atendimento será descrito de acordo com pelo menos algumas das modalidades da presente revelação. O método é iniciado quando é determinado que um novo item de trabalho foi adicionado à central de atendimento {etapa 604). Esta determinação pode ser feita em consequência de detectar que foi recebida uma nova comunicação na central de atendimento e mais especificamente no mecanismo de designação de trabalho 116. Em algumas modalidades, o item de trabalho é gerado pelo dispositivo de central de atendimento que inicialmente recebe a comunicação (por exemplo, um servidor, comutador, ou algo semelhante) que mantém a comunicação, mas gera uma representação lógica da comunicação na forma de um item de trabalho que é transmitido para o mecanismo de designação de trabalho 116. Em consequência da criação do item de trabalho um identificador de item de trabalho pode ser designado ao item de trabalho para ajudar a identificar unicamente o item de trabalho dentro da central de atendimento durante sua existência na central de atendimento.
Após o item de trabalho ter sido gerado, o item de trabalho é recebido no motor de designação de trabalho 120 (etapa 608) que determina os atributos do item de trabalho (etapa 612) . Em algumas modalidades, o próprio motor de designação de trabalho 120 pode ser configurado para determinar os requisitos do item de trabalho e adicionalmente determinar quais daqueles requisitos e/ou preferências de processamento são utilizados pela central de atendimento para propósitos de qualificação (ou seja, quais atributos são representados na tabela de atributos de item de trabalho 3 04) . Alternativa ou adicionalmente, o dispositivo que inicialmente recebeu a comunicação e/ou gerou o item de trabalho pode determinar os atributos necessários para o item de trabalho. Alternativa ou adicionalmente, o motor de designação de trabalho 120 pode designar inicialmente o item de trabalho quando o mesmo é recebido para um recurso 112 que seja capaz de determinar atributos para o item de trabalho. Como exemplo, o item de trabalho pode ser designado para um IVR que possa questionar o cliente sobre requisitos de processamento. Como outro exemplo, o item de trabalho pode ser designado a um servidor que possa referenciar um banco de dados de Gerenciamento de Relacionamento com o Cliente (CRM) na central de atendimento para determinar se o cliente que iniciou a comunicação já foi armazenado na central de atendimento. Combinações dos exemplos acima também podem ser utilizadas para determinar atributos de itens de trabalho para propósitos de qualificação.
Uma vez que os atributos apropriados, e particularmente a(s) combinação(ões) 312, que representam os requisitos de processamento do item de trabalho tenham sido determinados o método continua através de colocar uma entrada para a combinação de atributos 312 dentro do grupo de conjuntos qualificadores 220 {etapa 616), se aquela combinação de atributos 312 ainda não estiver no grupo de conjuntos qualif icadores 220, e designar um ID de combinação 308 para aquela combinação particular 312 (etapa 620). O ID de combinação 308 da nova combinação de atributos 312 é armazenado no grupo de conjuntos qualificadores 220 e/ou no mapa de bits do conjunto qualificador 224 juntamente com as propriedades da combinação de atributos 312 para manter um relacionamento lógico entre a combinação de atributos e seu identificador. Antes, durante, ou após as etapas 616 e/ou 62 0, o método também coloca uma entrada de item de trabalho 324 para o item de trabalho dentro do grupo de trabalho 204 (etapa 624) . Em particular, esta etapa pode envolver gerar a entrada de item de trabalho 308, 324 em um mapa de bits de item de trabalho 320 e determinar quais combinações de atributos na central de atendimento o item de trabalho avaliou como verdadeiras. Esta determinação pode ser mantida no mapa de bits de item de trabalho 320 enquanto o item de trabalho permanecer na central de atendimento ou até que as regras que dizem respeito à designação do item de trabalho/recurso tenham mudado.
Com referência agora a Figura 7, um método ilustrativo de adicionar recursos a uma central de atendimento pode ser descrito de acordo com pelo menos algumas modalidades da presente revelação. O método começa quando é determinado que um novo recurso foi adicionado à central de atendimento (etapa 704). Esta determinação pode ser feita quando um recurso é adicionado à central de atendimento por um administrador (por exemplo, um telefone é conectado a uma porta, um computador é conectado a uma interface de rede, um agente humano é registrado em um banco de dados de agente apropriado, etc.). Esta determinação pode, adicional ou alternativamente, ser feita quando um agente humano já registrado se conecta ou de outro modo se registra ativamente com a central de atendimento (por exemplo, estabelecendo uma conexão de Rede Privada Virtual (VPN) com a rede a qual o mecanismo de designação de trabalho 116 está conectado).
Após o recurso ter sido adicionado à central de atendimento, os atributos do recurso 112 são determinados por propósitos de qualificação (etapa 708). Alternativa, ou adicionalmente, esta etapa pode ser executada quando existe uma mudança administrativa, uma mudança no tempo que resulta em uma mudança de valor de atributo, uma mudança no estado do agente, ou qualquer outra mudança que resulte da ocorrência de um evento. Em particular, as combinações de atributo(s) 412 para recurso recém adicionado 112 são determinadas. Em algumas modalidades, o mecanismo de designação de trabalho 116 é configurado para determinar a(s) combinação(ões) de atributos para o recurso. Alternativamente, esta informação pode ser provisionada administrativamente em um banco de dados da empresa e recuperado pelo mecanismo de designação de trabalho 116. Adicionalmente para determinar os atributos para qualificações de encaminhamento, todos os outros atributos (que podem não ser diretamente aplicáveis às qualificações de encaminhamento) são determinados para o recurso 112 (etapa 712).
Para cada uma das novas combinações de atributos determinada daquele recurso 112, é colocada uma entrada no grupo de conjuntos qualif icadores e um ID de combinação correspondente é recuperado (etapa 716) . Este ID de combinação (que também pode ser referenciado como um índice do conjunto qualificador quando se referindo ao recurso 112) é armazenado na entrada de dados 424 para aquele recurso (etapa 720) e o(s) ID(s) de combinação associado(s) 43 6 para o recurso são armazenados em um ou ambos dentre grupo de recursos 212, mapa de bits de recurso 216, 420, e mapa de bits de recurso reformatado 42 8 juntamente com um ID de recurso único 432 designado para recurso 112 e com qualquer informação de adequação, se tal informação for conhecida (etapa 724).
Com referência agora a Figura 8, um método ilustrativo de controlar um estado de excedente de item de trabalho em uma central de atendimento será descrito de acordo com pelo menos algumas modalidades da presente revelação. O método começa quando é determinado que um recurso 112 ficou disponível (etapa 804) . Esta determinação pode ocorrer quando um recurso 112 ou um agente usando um recurso se registra na central de atendimento ou imediatamente após um recurso 112 ter terminado de atender um item de trabalho.
Vantajosamente, o motor de designação de trabalho 120 é capaz de considerar cada item de trabalho único na central de atendimento, ou pelo menos cada item de trabalho no grupo de trabalho 204, para designar para um recurso recém disponível 112. Isto habilita correspondência de um para um real e facilita adicionalmente a designação ótima de itens de trabalho para um recurso 112 baseada nas capacidades ou atributos do recurso 112. O método continua com o motor de designação de trabalho 120 computando um mapa de bits de qualificação de conjunto qualificador (ou seja, um ou mais dos mapas de bits de recurso 216, 420 e mapa de bits de recurso reformatado 428) para cada conjunto qualificador para o qual o recurso 112 é qualificado (etapa 808) . Em algumas modalidades, um recurso 112 pode ter apenas uma combinação de atributo como sua qualificação de conjunto qualificador. Em algumas modalidades, um recurso 112 pode ter múltiplas combinações de atribuição para as quais o mesmo é qualificado.
Baseado no mapa de bits que foi computado para o recurso 112, o método continua através de pesquisar o grupo de trabalho 204, ou mais particularmente um mapa de bits computado para o grupo de trabalho 2 04 (por exemplo, mapa de bits de trabalho 208, mapa de bits de item de trabalho 320, e/ou mapa de bits de recurso reformatado 328), para itens de trabalho que tem uma combinação de atributos que corresponde à combinação de atributos do recurso 112 (etapa 812). Esta análise pode ser executada analisando uma entrada de dados de item de trabalho de cada vez ou analisando um grupo de entradas de dados de itens de trabalho para verificar se algum dos itens de trabalho no grupo de itens de trabalho é qualificado para ser designado para o recurso 112. Em algumas modalidades, pode ser utilizado processamento paralelo para aumentar adicionalmente a velocidade pela qual os mapas de bits são pesquisados. Especificamente, as entradas de dados podem ser agrupadas de acordo com os mecanismos de processamento em vez de outros agrupamentos lógicos, pelo que criam grupos altamente paralelizados. Isto permite que um grande grupo de bits seja avaliado simultaneamente por uma GPU, por exemplo. Se for usada uma GPU, então o módulo booleano 13 6 pode ser fornecido como uma peça separada de hardware do motor de designação de trabalho 120.
Se durante a análise do grupo for determinado que pelo menos um item de trabalho é qualificado para designação para o recurso 112, então pode ser executada uma análise de item de trabalho por item de trabalho de todos os itens de trabalho no grupo para identificar o(s) item(ns) de trabalho que são qualificados para o recurso 112. Se, entretanto, for determinado que o grupo inteiro de itens de trabalho não está qualificado para designação para o recurso 112, então nenhum item de trabalho naquele grupo requer uma análise individual e o próximo grupo de itens de trabalho pode ser analisado.
Em algumas modalidades, os IDs de combinação 408 para os quais o recurso 112 é qualificado para controlar serão comparados aos IDs de combinação 308 no mapa de bits de item de trabalho. Se o ID de combinação 408 para o recurso corresponde a um ID de combinação 3 08 no mapa de bits de item de trabalho, o item de trabalho que tiver o ID de combinação correspondente 308 será considerado um item de trabalho qualificado para o recurso 112 (etapa 816). O método continua com o motor de designação de trabalho 120 analisando os itens de trabalho qualificados para elegibilidade (etapa 818) . Durante esta etapa, os valores para atributos de movimentação rápida podem ser computados e inseridos dentro da localização do mapa de bits apropriada antes de os mapas de bits serem analisados. Atributos que podem ser computados e analisados durante a etapa de elegibilidade incluem, sem limitação, disponibilidade de item de trabalho (baseado em se o item já está designado para outro recurso 112), tempo de espera real do item de trabalho, estado da central de atendimento (baseado em se a central de atendimento está na programação, atrasada, programada para ir atrás do atraso, etc.), e assim por diante. Se um item de trabalho está determinado para ser atualmente inelegível para designação para o recurso 112, então o item de trabalho inelegível é removido de consideração adicional. O método então continua pontuando itens de trabalho para o recurso 112 baseado na adequação do recurso 112 bem como baseado em qualquer outra estratégia de seleção de trabalho que seja conhecida para o motor de designação de trabalho 120 (etapa 820) . Por exemplo, se múltiplos itens de trabalho são igualmente adequados para designar para um recurso 112, então pode ser designada uma pontuação mais alta ao item de trabalho que está esperando há mais tempo por designação para um recurso.
Baseado nas pontuações relativas dos itens de trabalho, o motor de designação de trabalho 120 seleciona o(s) item(s) de trabalho ótimo(s) dentre os itens de trabalho qualificados e elegiveis (etapa 824) e designa o item de trabalho ótimo para o recurso 112 (etapa 828) . A etapa de designação pode incluir transferir a comunicação associada com o item de trabalho para o recurso 112 com o mecanismo de encaminhamento 140 (por exemplo, conectando um dispositivo de comunicação de usuário 108 com um recurso 112 para uma sessão de comunicação em tempo real, encaminhar uma comunicação de email para o recurso 112, encaminhar uma mensagem de texto para o recurso 112, transferir dados do usuário para o recurso, combinação destes, e assim por diante).
Com referência agora a Figura 9, um método ilustrativo para controlar um estado de excedente de recursos em uma central de atendimento será descrito de acordo com modalidades da presente revelação. O método começa quando é determinado que um item de trabalho ficou disponível (etapa 904) . Esta determinação pode ocorrer quando um novo item de trabalho é recebido na central de atendimento ou após um item de trabalho ter sido parcialmente atendido por um recurso e ainda requer processamento adicional. O método continua com o motor de designação de trabalho 120 executando políticas de qualificação para determinar atributos que serão usados para avaliar qualificação do recurso para o item de trabalho (etapa 908). Em particular, um primeiro conjunto de atributos pode ser usado para avaliar a qualificação para uma primeira quantidade predeterminada de tempo após ter sido detectado um excedente de recursos, mas aqueles atributos de qualificação podem mudar para um segundo conjunto de atributos após a primeira quantidade predeterminada de tempo ter acabado. Por exemplo, atributos de língua podem ser considerados inicialmente nos atributos de qualificação, mas após uma quantidade predeterminada de tempo ter acabado, os atributos de língua podem ser excluídos dos atributos de qualificação de modo que as considerações de recurso podem ser expandidas.
Uma vez que os atributos de qualificação tenham sido selecionados, o método continua com o motor de designação de trabalho 12 0 computando um mapa de bits de conjunto qualificador para o item de trabalho com o uso de determinados atributos de qualificação (etapa 912) . Nesta etapa, o motor de designação de trabalho 120 determina qual combinação de atributos 312 ou combinações serão usadas na avaliação das possibilidades de designação para o item de trabalho.
Após a combinação de atributos 312 para uso na avaliação de qualificação de recurso ter sido determinada, o motor de designação de trabalho 120 recupera o ID de combinação associado 308 do mapa de bits do conjunto qualificador 224 e pesquisa os recursos da central de atendimento por recursos qualificados 112 (etapa 916). Nesta etapa, o motor de designação de trabalho 120 é capaz de considerar cada recurso individual 112 na central de atendimento sem considerar uma estrutura de fila ou qualquer outra limitação artificial. Isto permite que o motor de designação de trabalho 120 alcance decisões de designação ótimas e designação de item de trabalho de um para um real. Em algumas modalidades a etapa de pesquisa inclui avaliar um ou mais mapas de bits de recursos 216, 420 ou o mapa de bits de recurso reformatado 428.
Adicionalmente, e similar a análise de qualificação no estado de excedente de item de trabalho, o motor de designação de trabalho 120 pode analisar cada recurso 112 individualmente para propósitos de qualificação ou o motor de designação de trabalho 120 pode, com a ajuda do módulo booleano 136, analisar recursos 112 em grupos para determinar se qualquer recurso 112 dentro do grupo requer análise adicional. Se for determinado que um grupo não tem recursos qualificados 112, então o motor de designação de trabalho 120 pode continuar analisando o próximo grupo em vez de ter que analisar cada recurso 112 individualmente.
Isto é particularmente útil para acelerar a análise de qualificação porque a maior parte dos recursos 112 provavelmente não será qualificada para controlar um item de trabalho particular e pode, portanto, ser eliminado rapidamente antes de qualquer análise adicional ser executada.
Os recursos 112 que são determinados como qualificados para processar o item de trabalho (por exemplo, em virtude de terem o ID de combinação de atributos selecionado avaliado como verdadeiro no mapa de bits de recursos 42 0 e/ou mapa de bits de recursos reformatado 428) são em seguida analisados adicionalmente para elegibilidade (etapa 918) . A determinação de elegibilidade envolve o motor de designação de trabalho 120 analisar os recursos qualificados para elegibilidade. Durante esta etapa, os valores para atributos de movimentação rápida podem ser computados e inseridos dentro da localização apropriada do mapa de bits antes de os mapas de bits serem analisados. Atributos que podem ser computados e analisados durante a etapa de elegibilidade incluem, sem limitação, disponibilidade de recursos (baseado em se o recurso já está designado para outro item de trabalho ou se o recurso está conectado) , tempo disponível do recurso, estado da central de atendimento (baseado em se a central de atendimento está na programação, atrasada, programada para ir atrás do atraso, etc.), e assim por diante. Se um recurso está determinado para ser atualmente inelegível para designação para o item de trabalho, então o recurso inelegível é removido de consideração adicional. O método continua com o motor de designação de trabalho 120 pontuando os recursos qualificados e elegiveis pata o item de trabalho baseado na estratégia de seleção de recursos corrente e/ou adequação do recurso 112 para controlar aquele tipo particular de combinação de atributos (etapa 920). Baseado nas pontuações relativas dos recursos 112, um recurso ótimo é determinado (etapa 924) e o item de trabalho é designado para o recurso ótimo 112 (etapa 928), pelo que é obtida correspondência de um para um real na central de atendimento. Em algumas modalidades, o item de trabalho também é encaminhado para o recurso ótimo 112.
Com referência agora a Figura 10 será descrito um método ilustrativo para gerenciar mapas de bits em uma central de atendimento de acordo com pelo menos algumas modalidades da presente invenção. Um propósito das operações de mapa de bits discutidas neste documento é armazenar os resultados pré-computados de uma ou mais regras de qualificação. Em excedente de recursos, um item de trabalho usa o mapa de bits de conjunto qualificador para selecionar recursos qualificados e usa o mapa de bits de recursos para selecionar os que são realmente elegiveis. Em uma situação de excedente de trabalho, o recurso usa o mapa de bits de conjunto qualificador para selecionar trabalho qualificado. Opcionalmente, o mesmo pode usar o mapa de bits de item de trabalho para testar o trabalho para verificar se o mesmo pode ser processado (elegivel para processar) . Por simplicidade a utilização de designação de trabalho do mapa de bits de item de trabalho pode não ser necessária. É para este propósito que os mapas de bits que tem a maior parte de valores falsos (por exemplo, valores "0") são usados na tomada de decisões de designação de item de trabalho/recurso. Em geral, regras de negócios e metas de desempenho podem ser consideradas quando se determina quais atributos serão ou não incluídos em uma combinação de atributos. Os atributos considerados dentro de uma combinação de atributos também podem variar ao longo do tempo e baseados em um estado da central de atendimento. O método começa quando um evento de mudança de mapa de bits é detectado pelo motor de designação de trabalho 120 (etapa 1004). Tipos ilustrativos de eventos de mudança de mapas de bits incluem, sem limitação, determinar que uma nova regra ou estratégia (que é um conjunto de regras) deve ser implementada na tomada de decisões de designação de item de trabalho/recurso, determinar que novas metas de desempenho são desejadas para a central de atendimento (por exemplo, minimizar tempo de espera de item de trabalho em vez de maximizar a utilização de recursos 112), determinar que uma quantidade de tempo predeterminada passou desde que o estado de uma central de atendimento mudou, determinar que uma quantidade de tempo passou desde que uma designação de um item de trabalho para um recurso foi feita, determinar que novos recursos e/ou itens de trabalho foram adicionados a central de atendimento, ou qualquer outro evento que possa requerer consideração de um atributo diferente que não está atualmente incluído na qualificação de combinação de atributos.
Uma vez que um evento é detectado, o método continua com o motor de designação de trabalho 120 re-computando os mapas de bits de qualificação para cada grupo 204, 212, 220 (etapa 1008). Na etapa, o motor de designação de trabalho 120 utiliza a nova combinação de atributos que foi determinada no evento de mudança de estado para calcular os novos mapas de bits que podem ser usados na tomada de decisões de designação de item de trabalho/recurso. O método em seguida espera até um novo evento de mudança de estado ser detectado antes de os mapas de bits de qualificação serem re-computados novamente (etapa 1012).
Com referência agora a Figura 11, um método ilustrativo para gerenciar regras de central de atendimento será descrito de acordo com pelo menos algumas modalidades da presente invenção. O método é iniciado quando regras para administrar a central de atendimento são recebidas em uma primeira linguagem (etapa 1104). Estas regras podem conter expressões booleanas, limites, políticas de objetivos e metas, metas de otimização, e outras formas de regras que são tradicionalmente usadas para gerenciar centrais de atendimento. Em algumas modalidades, as regras podem ser recebidas no mecanismo de designação de trabalho 116 que inclui um módulo de Linguagem de Algoritmo de Central de Atendimento (CCAL) que pode popular, organizar, e gerenciar os grupos 204, 212, 220 e mapas de bits usados em uma central de atendimento sem fila. Em algumas modalidades, o módulo CCAL 132 pode ser mantido em um servidor diferente que está em comunicação com o mecanismo de designação de trabalho 116. A CCAL é uma linguagem de domínio específico e o módulo CCAL 132 pode ser configurado para escrever regras que populam os grupos 204, 212, 220 com itens de trabalho, e conjuntos qualificadores.
Após as regras terem sido recebidas no módulo CCAL 132, o método continua com o módulo CCAL 132 determinando atributos que contribuem para as regras pela análise da estrutura de regras de entrada e saída, variáveis que contribuem para as regras, limites relacionados às regras, e assim por diante (etapa 1108). Depois disso, a combinação de atributos particular que será usada para implementar as regras é determinada pelo módulo CCAL 132 (etapa 1112) . Adicionalmente, o módulo CCAL 132 pode identificar uma ordem de importância para os atributos na combinação de atributos (etapa 1116). A ordem determinada é usada para identificar a localização para cada atributo nas tabelas de atributos associadas 304, 404.
Depois disso, o módulo CCAL 132 transforma as regras em uma segunda linguagem gerando código e o programa que são responsáveis por implementar as regras e gerar os mapas de bits como condições da mudança da central de atendimento (etapa 1120).
Com referência agora a Figura 12, será descrito um método ilustrativo para gerar visualizações e métricas de desempenho para uma central de atendimento sem fila de acordo com pelo menos algumas modalidades da presente revelação. Um aspecto único de implementar uma central de atendimento sem fila é que muitas centrais de atendimento baseadas em fila têm infra-estrutura de gerenciamento e administrativa já disponível. Isto significa que transferir de uma central de atendimento baseada em fila para uma central de atendimento sem fila envolverá a necessidade de minimizar distúrbios devido à transferência. Um aspecto da presente revelação fornece a habilidade para gerar visualizações e métricas de desempenho para uma central de atendimento sem fila que representa visualizações e métricas de desempenho geradas em uma central de atendimento baseada em fila tradicional. Em algumas modalidades, o módulo CCAL 132 é responsável por definir métricas de visualizações e análise para determinar estruturas ótimas para suportar as visualizações desejadas. Estas determinações podem ser incorporadas dentro da salda do módulo CCAL 13 2 que controla a operação do motor de designação de trabalho 120. O método começa quando é determinado que devem ser geradas visualizações e métricas da central de atendimento (etapa 1204). A geração de visualizações e métricas pode ser executada continua, periódica ou esporadicamente (por exemplo, em uma base quando necessário ou em uma base de solicitação). O mecanismo que gera as visualizações e métricas de desempenho da central de atendimento pode compreender o motor de designação de trabalho 120 ou algum outro módulo de análise de desempenho contido no mecanismo de designação de trabalho 116. Em algumas modalidades, entretanto, um módulo de análise de desempenho pode ser contido em um servidor diferente que seja externo ao mecanismo de designação de trabalho 116. O método continua determinando atributos que serão considerados no processo de geração de visualizações e métricas (etapa 1208) . Como pode ser avaliado, serão considerados atributos diferentes de itens de trabalho e/ou recursos dependendo do tipo de visualização e métrica que está sendo gerada atualmente. Por exemplo, se são desejadas visualizações e métricas relacionadas a Tempo de Espera Estimado (EWT) para itens de trabalho que tenham uma exigência particular de processamento (por exemplo, questões de faturamento) , então os atributos relacionados ao tempo de espera até que um item de trabalho fosse designado e atributos relacionados ao desígnio podem ser os dois tipos de atributos que são analisados dentro do grupo de trabalhos 204. Como outro exemplo, se são desejadas visualizações e métricas relacionadas â utilização de um conjunto qualificador especifico por um agente, então atributos relacionados ao conjunto qualificador de interesse e tempo ocupado com um item de trabalho podem ser alguns dos atributos analisados dentro do grupo de recursos 212 .
Consequentemente, após os atributos para consideração terem sido determinados, o método continua pela análise dos atributos determinados a partir da população apropriada de itens na central de atendimento (etapa 1212). Analisando os itens de central de atendimento, todos os grupos de itens podem ser analisados ou podem ser analisados apenas os grupos que tem os itens de interesse.
Os resultados da análise podem em seguida ser formatados dentro de uma visualização de relatório de métrica baseado em fila (etapa 1216). Como exemplo, esta formatação pode incluir designar um conjunto de recursos particular 112 como sendo agentes dentro de uma "fila baseada em proficiência" particular e em seguida exibir as visualizações e/ou métricas determinadas para aquele conjunto de recursos 112 como se os agentes estivessem realmente e uma fila de agentes, apesar de eles não estarem.
Após os resultados terem sido apropriadamente formatados, o método continua transmitindo e/ou apresentando as visualizações e métricas para uma ou mais partes interessadas (etapa 1220). Esta etapa pode incluir enviar automaticamente uma versão eletrônica do relatório de desempenho para um ou mais usuários designados como partes interessadas. Esta etapa também pode incluir representar uma exibição do relatório através de uma interface de usuário de um dispositivo de comunicação e/ou imprimir um relatório físico em papel. Outros métodos para transmitir e apresentar visualizações e métricas também podem ser utilizados sem se afastar do escopo da presente revelação.
Na descrição acima, para propósitos de ilustração, os métodos foram descritos em um uma ordem particular. Deve ser avaliado que em modalidades alternativas, os métodos podem ser executados em uma ordem diferente da descrita. Também deve ser avalizado que os métodos descritos acima podem ser executados por componentes de hardware ou podem ser incorporados em sequências de instruções executáveis por máquina, que podem ser usadas para fazer com que uma máquina, tal como um processador de propósito geral ou de propósito especial (GPU ou CPU) ou circuitos lógicos sejam programados com as instruções para executar os métodos (FPGA). Estas instruções executáveis por máquina podem ser armazenadas em um ou mais meios legíveis por máquina, tais como CD-ROMs ou outro tipo de discos óticos, disquetes flexíveis, ROMs, RAMs, EPROMs, EEPROMs, cartões magnéticos ou óticos, memória flash, ou outros tipos de meios legíveis por máquina adequados para armazenar instruções eletrônicas. Alternativamente, os métodos podem ser executados por uma combinação de hardware e software.
Detalhes específicos foram dados na descrição para fornecer um completo entendimento das modalidades. Entretanto, será entendido por um indivíduo com conhecimentos comuns na técnica que as modalidades podem ser praticadas sem estes detalhes específicos. Por exemplo, podem ser mostrados circuitos em um diagrama de blocos a fim de não obscurecer as modalidades em detalhes desnecessários. Em outras circunstâncias, circuitos, processos, algoritmos, estruturas e técnicas bem conhecidos podem ser mostrados sem detalhes desnecessários a fim de evitar obscurecer as modalidades.
Também é observado que as modalidades foram descritas como um processo que é representado como um fluxograma, um diagrama de fluxo, um diagrama de fluxo de dados, um diagrama de estrutura, ou um diagrama de blocos. Embora um fluxograma posse descrever as operações como um processo sequencial, muitas das operações podem ser executadas em paralelo ou concorrentemente. Adicionalmente, a ordem das operações pode ser re-arranjada. Um processo é terminado quando suas operações são completadas, mas podería ter etapas adicionais não incluídas na figura. Um processo pode corresponder a um método, uma função, um procedimento, uma sub-rotina, um subprograma, etc. Quando um processo corresponde a uma função, sua terminação corresponde a um retorno da função para a função chamadora ou função principal.
Além disso, podem ser implementadas modalidades através de hardware, software, firmware, middleware, micro-código, linguagens de descrição de hardware, ou qualquer combinação destes. Quando implementado em software, firmware, middleware ou micro-código, o código de programa ou segmentos de código para executar as tarefas necessárias podem ser armazenados em um meio legível por máquina tal como um meio de armazenamento. Um processador (es) pode executar as tarefas necessárias. Um segmento de código pode representar um procedimento, uma função, um sub-programa, um programa, uma rotina , uma sub-rotina, um módulo, um pacote de software, uma classe, ou qualquer combinação de instruções, estruturas de dados, ou comandos de programas. Um segmento de código pode ser acoplado a outro segmento de código ou a um circuito de hardware passando e/ou recebendo informações, dados, argumentos, parâmetros, ou conteúdos de memória. Informação, argumentos, parâmetros, dados, etc. podem ser passados, encaminhados ou transmitidos através de qualquer meio adequado que inclui compartilhamento de memória, passagem de mensagem, passagem de símbolo, transmissão de rede, etc.
Embora modalidades ilustrativas da revelação tenham sido descritas em detalhes neste documento, deve ser entendido que os conceitos inventivos podem ser incorporados e empregados de outras formas variadas, e que as reivindicações em anexo são entendidas como sendo construídas para incluir estas variações, exceto quando limitada pela técnica anterior.

Claims (10)

1. Método CARACTERIZADO pelo fato de que compreende: determinar que um item de trabalho em uma central de atendimento ficou disponível para designação para um recurso; determinar uma combinação de atributos associada com requisitos de processamento do item de trabalho; gerar uma estrutura de dados de recursos que indica se cada recurso na central de atendimento compreende a habilidade de satisfazer a combinação de atributos associada com requisitos de processamento do item de trabalho; examinar a estrutura de dados de recursos; e baseado no exame, determinar um conjunto de recursos qualificados que são elegíveis para ser designados para o item de trabalho.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de a estrutura de dados compreender um mapa de bits de recursos, em que o mapa de bits de recursos é associado com um grupo de recursos e cada bit no mapa de bits de recurso corresponde a um único recurso no grupo de recursos.
3. Meio legível por computador, CARACTERIZADO pelo fato de que compreende instruções executáveis que, quando executadas por um processador, executam o método da reivindicação 1.
4. Método, de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que para um valor de cada bit no mapa de bits de recurso é designado ou 1 ou 0 dependendo de o recurso ser qualificado para ser designado para o item de trabalho.
5. Método, de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que todos os recursos na central de atendimento são representados no grupo de recursos e mapa de bits de recurso, em que o mapa de bits de recurso compreende a maior parte de valores 0, em que o mapa de bits é continuo na memória e em que múltiplos bits do mapa de bits são avaliados simultaneamente durante o exame do mapa de bits, em que um valor booleano é computado para os múltiplos bits de modo que os múltiplos bits podem ser avaliados através do valor booleano.
6. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que adicionalmente compreende: analisar uma elegibilidade dos recursos no conjunto de recursos qualificados; baseado na análise de elegibilidade dos recursos no conjunto de recursos qualificados, determinar um recurso selecionado a partir do conjunto de recursos qualificados; e designar o item de trabalho para o recurso selecionado, em que o recurso selecionado é um recurso ótimo para o item de trabalho no momento em que a estrutura de dados é gerada.
7. Central de atendimento sem fila, CARACTERIZADO pelo fato de que compreende: um motor de designação de trabalho; e uma pluralidade de mapas de bits, em que a pluralidade de mapas de bits inclui um mapa de bits de item de trabalho e um mapa de bits de recurso, em que o mapa de bits de item de trabalho correlaciona itens de trabalho a um identificador de combinação associado com requisitos de processamento do item de trabalho, em que o mapa de bits de recurso correlaciona recursos a um identificador de combinação de atributos associado com capacidades de processamento do recurso, em que as decisões de designação de recurso-item de trabalho são feitas pelo motor de designação de trabalho examinando um ou ambos os mapas de bits de item de trabalho e mapa de bits de recurso.
8. Central de atendimento sem fila, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que o mapa de bits de recurso é associado com um grupo de recursos e cada bit no mapa de bits de recurso corresponde a um único recurso no grupo de recursos, em que o mapa de bits de item de trabalho é associado com um grupo de trabalho e cada bit do mapa de bits de item de trabalho corresponde a um único item de trabalho no grupo de itens de trabalho, em que para um valor de cada de cada bit no mapa de bits de recursos é designado ou 1 ou 0 dependendo de o recurso ser qualificado para ser designado para um item de trabalho particular e em que todos os recursos na central de atendimento são representados no grupo de recursos e mapa de bits de recurso, em que o valor designado para um bit no mapa de bits de recurso depende das combinações de atributos do recurso associado e de o recurso ter uma combinação de atributos igual a uma combinação de atributos do item de trabalho.
9. Método, CARACTERIZADO pelo fato de que compreende: determinar que um recurso em uma central de atendimento ficou disponível para designação para um item de trabalho; determinar uma combinação de atributos associada com as capacidades de processamento do recurso; gerar uma estrutura de dados de item de trabalho que indique se cada item de trabalho na central de atendimento pode ser processado pelo recurso baseado na combinação de atributos de cada item de trabalho e na combinação de atributos associada com as capacidades de processamento do recurso; examinar a estrutura de dados de item de trabalho; e baseado no exame, determinar um conjunto de itens de trabalho qualificados que são elegíveis para ser designados para o recurso.
10. Método, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que a estrutura de dados de item de trabalho compreende um mapa de bits de item de trabalho, em que o mapa de bits de item de trabalho é associado com um grupo de trabalhos e cada bit do mapa de bits de item de trabalho corresponde a um único item de trabalho no grupo de itens de trabalho, em que para um valor de cada de cada bit no mapa de bits de item de trabalho é designado ou 1 ou 0 dependendo de o item de trabalho ser qualificado para ser designado para um recurso, e o mapa de bits de recurso, compreende em sua maior parte valores 0, em que o mapa de bits é continuo em memória e em que múltiplos bits do mapa de bits são avaliados simultaneamente durante o exame do mapa de bits computando um valor booleano para os múltiplos bits de modo que os múltiplos bits possam ser avaliados através do valor booleano.
BRPI1101499-7A2A 2010-04-14 2011-04-14 Centro de contato sem fila de alta performance BRPI1101499A2 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US32421610P 2010-04-14 2010-04-14
US12/882,977 US20110255682A1 (en) 2010-04-14 2010-09-15 High performance queueless contact center

Publications (1)

Publication Number Publication Date
BRPI1101499A2 true BRPI1101499A2 (pt) 2014-12-23

Family

ID=44147005

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI1101499-7A2A BRPI1101499A2 (pt) 2010-04-14 2011-04-14 Centro de contato sem fila de alta performance

Country Status (6)

Country Link
US (2) US20110255682A1 (pt)
CN (1) CN102223453B (pt)
AR (1) AR081488A1 (pt)
BR (1) BRPI1101499A2 (pt)
DE (1) DE102011016862A1 (pt)
GB (1) GB2479645B (pt)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8654963B2 (en) 2008-12-19 2014-02-18 Genesys Telecommunications Laboratories, Inc. Method and system for integrating an interaction management system with a business rules management system
US8463606B2 (en) 2009-07-13 2013-06-11 Genesys Telecommunications Laboratories, Inc. System for analyzing interactions and reporting analytic results to human-operated and system interfaces in real time
US9571654B2 (en) 2010-04-14 2017-02-14 Avaya Inc. Bitmaps for next generation contact center
US8670550B2 (en) 2010-04-14 2014-03-11 Avaya Inc. Automated mechanism for populating and maintaining data structures in a queueless contact center
US8619968B2 (en) 2010-04-14 2013-12-31 Avaya Inc. View and metrics for a queueless contact center
US8634543B2 (en) 2010-04-14 2014-01-21 Avaya Inc. One-to-one matching in a contact center
US9141936B2 (en) * 2010-08-04 2015-09-22 Sas Institute Inc. Systems and methods for simulating a resource constrained process
US9118765B2 (en) 2011-07-19 2015-08-25 Avaya Inc. Agent skill promotion and demotion based on contact center state
US8699696B1 (en) 2011-07-19 2014-04-15 Avaya Inc. System and method for efficiently managing large contact centers
US8718267B2 (en) 2011-09-30 2014-05-06 Avaya Inc. Analytics feedback and routing
US9912816B2 (en) 2012-11-29 2018-03-06 Genesys Telecommunications Laboratories, Inc. Workload distribution with resource awareness
US9542936B2 (en) 2012-12-29 2017-01-10 Genesys Telecommunications Laboratories, Inc. Fast out-of-vocabulary search in automatic speech recognition systems
US20140278465A1 (en) * 2013-03-15 2014-09-18 Avaya Inc. Method, apparatus, and system for providing health monitoring event anticipation and response
US20140337072A1 (en) * 2013-05-13 2014-11-13 Genesys Telecommunications Laboratories, Inc. Actionable workflow based on interaction analytics analysis
US9813557B2 (en) 2013-08-09 2017-11-07 Avaya Inc. Conditional attribute mapping in work assignment
US9703825B2 (en) * 2013-10-17 2017-07-11 Sybase, Inc. Maintenance of a pre-computed result set
US10565539B2 (en) * 2014-11-07 2020-02-18 International Business Machines Corporation Applying area of focus to workflow automation and measuring impact of shifting focus on metrics

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493695B1 (en) * 1999-09-29 2002-12-10 Oracle Corporation Methods and systems for homogeneously routing and/or queueing call center customer interactions across media types
WO2004017550A2 (en) * 2002-08-16 2004-02-26 Nuasis Corporation Escalated handling of non-realtime communications
US8738412B2 (en) * 2004-07-13 2014-05-27 Avaya Inc. Method and apparatus for supporting individualized selection rules for resource allocation
US7792274B2 (en) * 2004-11-04 2010-09-07 Oracle International Corporation Techniques for performing multi-media call center functionality in a database management system
US8094790B2 (en) * 2005-05-18 2012-01-10 Mattersight Corporation Method and software for training a customer service representative by analysis of a telephonic interaction between a customer and a contact center
US7818010B2 (en) * 2005-05-31 2010-10-19 Avaya Inc. Methods and apparatus for allocating resources in a distributed environment
US7689630B1 (en) * 2006-03-15 2010-03-30 Richard L. Lam Two-level bitmap structure for bit compression and data management
US20070255611A1 (en) * 2006-04-26 2007-11-01 Csaba Mezo Order distributor
CA2693595A1 (en) * 2007-07-13 2009-01-22 Plumchoice, Inc. Systems and methods for distributing remote technical support via a centralized service
US8903079B2 (en) * 2008-01-28 2014-12-02 Satmap International Holdings Limited Routing callers from a set of callers based on caller data
CN101447943B (zh) * 2008-12-26 2011-05-11 杭州华三通信技术有限公司 队列调度系统及方法
US20110044320A1 (en) * 2009-08-21 2011-02-24 Avaya Inc. Mechanism for fast evaluation of policies in work assignment

Also Published As

Publication number Publication date
DE102011016862A1 (de) 2015-04-09
GB201106317D0 (en) 2011-06-01
US20110255682A1 (en) 2011-10-20
US20160360040A1 (en) 2016-12-08
GB2479645A (en) 2011-10-19
CN102223453A (zh) 2011-10-19
GB2479645B (en) 2017-09-13
CN102223453B (zh) 2016-04-27
AR081488A1 (es) 2012-09-19

Similar Documents

Publication Publication Date Title
BRPI1101499A2 (pt) Centro de contato sem fila de alta performance
US8634543B2 (en) One-to-one matching in a contact center
BRPI1101806A2 (pt) mecanismo automatizado para popular e manter estruturas de dados em uma central de atendimento sem fila
US8619968B2 (en) View and metrics for a queueless contact center
US20190028588A1 (en) System and method for assisting customers in accessing appropriate customer service options related to a company's products or services
AU2021311838A1 (en) Method and system for scalable contact center agent scheduling utilizing automated AI modeling and multi-objective optimization
US20200364723A1 (en) Flexible capacity in an electronic environment
US20160381224A1 (en) Bitmaps for next generation contact center
US20230283719A1 (en) System and method for mobile device active callback prioritization
US20140081689A1 (en) Work assignment through merged selection mechanisms
US8965878B2 (en) Qualifier set creation for work assignment engine
US20230396709A1 (en) System and method for mobile device active callback prioritization with predictive outcome scoring
US20230095073A1 (en) System and method for mobile device active callback prioritization
US20230109840A1 (en) System and method for mobile device multitenant active and ambient callback management
CN114205468A (zh) 一种基于智能预测的话务分配方法、装置及计算设备
US20150095081A1 (en) Stackable strategies

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
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