BR112014029971B1 - COMPUTER-IMPLEMENTED METHOD, SYSTEM AND NON-TRANSITORY COMPUTER READable STORAGE MEDIA FOR MANIFEST HANDLING - Google Patents
COMPUTER-IMPLEMENTED METHOD, SYSTEM AND NON-TRANSITORY COMPUTER READable STORAGE MEDIA FOR MANIFEST HANDLING Download PDFInfo
- Publication number
- BR112014029971B1 BR112014029971B1 BR112014029971-4A BR112014029971A BR112014029971B1 BR 112014029971 B1 BR112014029971 B1 BR 112014029971B1 BR 112014029971 A BR112014029971 A BR 112014029971A BR 112014029971 B1 BR112014029971 B1 BR 112014029971B1
- Authority
- BR
- Brazil
- Prior art keywords
- manifest
- advertisement
- manifests
- session
- memory
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000015654 memory Effects 0.000 claims description 49
- 238000012545 processing Methods 0.000 claims description 17
- 230000003068 static effect Effects 0.000 claims description 12
- 230000001052 transient effect Effects 0.000 claims description 4
- 238000006467 substitution reaction Methods 0.000 claims 3
- 238000006073 displacement reaction Methods 0.000 claims 1
- 230000000875 corresponding effect Effects 0.000 description 35
- 230000008569 process Effects 0.000 description 9
- 230000032258 transport Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 101001091379 Homo sapiens Kallikrein-5 Proteins 0.000 description 2
- 102100034868 Kallikrein-5 Human genes 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000009056 active transport Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 244000038293 primary consumers Species 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
- H04N21/25891—Management of end-user data being end-user preferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26233—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving content or additional data duration or size, e.g. length of a movie, size of an executable file
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44016—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/812—Monomedia components thereof involving advertisement data
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Computer Graphics (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
MÉTODO E SISTEMA PARA MANIPULAÇÃO DE MANIFESTO. A invenção refere-se a um método e sistema para manipular um manifesto. Um servidor recebe de um aparelho inteligente uma solicitação para um manifesto correspondendo a um identificador de sessão. O servidor recupera a partir de um servidor de sessão um manifesto de sessão baseado no identificador de sessão. O servidor ajusta um deslocamento da sessão baseado em uma diferença em uma duração de sessão representada pelo manifesto de sessão de uma duração de sessão representada por um manifesto de sessão anterior correspondendo à sessão. Quando o manifesto de sessão compreende um endereço de um intervalo comercial, o servidor identifica em um cache pelo menos um anúncio para ser inserido na sessão e substitui pelo menos um endereço correspondendo ao pelo menos um segmento do pelo menos um anúncio no manifesto de sessão baseado na diferença. O servidor transmite o manifesto de sessão para o aparelho inteligente.METHOD AND SYSTEM FOR MANIFESTING MANIPULATION. The invention relates to a method and system for manipulating a manifest. A server receives a request for a manifest from a smart device corresponding to a session identifier. The server retrieves from a session server a session manifest based on the session identifier. The server adjusts a session offset based on a difference in a session duration represented by the session manifest from a session duration represented by a previous session manifest corresponding to the session. When the session manifest comprises an address from an ampersand, the server identifies in a cache at least one advertisement to be inserted into the session and substitutes at least one address corresponding to at least one segment of the at least one advertisement in the session manifest based on in the difference. The server passes the session manifest to the smart device.
Description
[001] A presente invenção refere-se em geral com redes de vídeo de provedor de serviço e mais particularmente, com um método e sistema para eficientemente manipular um manifesto de sessão quando uma duração de um intervalo comercial apontado pelo manifesto altera em comprimento.[001] The present invention relates generally to service provider video networks and more particularly to a method and system for efficiently handling a session manifest when a duration of a commercial interval pointed to by the manifest changes in length.
[002] Tradicionalmente, a programação de televisão e rádio de difusão e a cabo, incluindo conteúdo (isto é, o vídeo ou programa de áudio) e (a colocação de) anúncios em um fluxo de sinais de vídeo ou de áudio tem seguido um modelo linear. A programação pode ser linear no sentido de que um programa começa e é reproduzido continuamente e está em progresso quando um usuário escolhe assistir conteúdo de entretenimento. A Figura 1 ilustra um modelo linear ou de vídeo sob demanda (VOD) convencional para colocação de publicidade. O conteúdo de entretenimento 2, quando processado como um fluxo de dados digitais através de uma rede a cabo, pode ser dividido em vários intervalos de tempo. Os intervalos de tempo 4 incluem tempo reservado para um programa visualizado (conteúdo), tal como "Golden Girls". Os intervalos 6, 8, 9 representam seções de tempo reservadas para anúncios ou "benefícios". Estes "benefícios" podem ser vistos como oportunidades de colocação de anúncio. Como utilizado neste documento, uma "oportunidade de colocação" foi tradicionalmente chamada um benefício e algumas vezes é referida como um intervalo (dentro do qual um anúncio curto (por exemplo, uma propaganda ou conteúdo) é para ser inserido). Uma oportunidade de colocação (PO) é uma construção que representa uma oportunidade de inserir um anúncio ou con- teúdo de entretenimento e definir as regras para esta oportunidade, tal como sua duração, interatividade, propriedade e restrições técnicas.[002] Traditionally, broadcast and cable television and radio programming, including content (i.e., the video or audio program) and (the placement of) advertisements in a stream of video or audio signals, has followed a linear model. Programming can be linear in the sense that a program starts and plays continuously and is in progress when a user chooses to watch entertainment content. Figure 1 illustrates a conventional linear or video-on-demand (VOD) model for advertising placement.
[003] Como utilizado neste documento, o termo "vinculação" se refere a uma identificação de sinais e de conteúdo dentro de uma oportunidade de colocação (PO). As POs frequentemente são criadas para grandes quantidades de conteúdo que ainda não foram publicados (isto é, qualquer programa na rede TNT à noite). Quando o programa é transmitido e um sinal é detectado, o sinal é vinculado com as POs relevantes para este programa.[003] As used in this document, the term "linking" refers to an identification of signals and content within a placement opportunity (PO). POs are often created for large amounts of content that has not yet been published (ie, any show on the TNT network at night). When the program is transmitted and a signal is detected, the signal is linked with the POs relevant to this program.
[004] Como utilizado neste documento, o termo "impressão" se refere a uma apresentação de um anúncio para um único visualizador. Por exemplo, se um anúncio curto de 30 segundos for colocado em 50.000 fluxos de vídeo sob demanda (VOD) e for conhecido que 30.000 dos fluxos realmente reproduziram o anúncio, então 30.000 impressões deste anúncio foram geradas.[004] As used in this document, the term "impression" refers to the presentation of an advertisement to a single viewer. For example, if a 30-second short ad is placed in 50,000 video on demand (VOD) streams and it is known that 30,000 of the streams actually played the ad, then 30,000 impressions of that ad were generated.
[005] Como utilizado neste documento, uma "notificação de con dição" pode ser, mas não está limitada a uma chamada HTTP a partir de um servidor VOD com um ID único que foi criado quando uma decisão foi distribuída.[005] As used in this document, a "condition notification" can be, but is not limited to, an HTTP call from a VOD server with a unique ID that was created when a decision was distributed.
[006] Como utilizado neste documento, o temo "intervalo" se refe re a todo o espaço em um fluxo entre conteúdo de entretenimento. Por exemplo, um grupo de 4 comerciais curtos de 30 segundos consecutivos entre 2 segmentos de "Two and a Half Men" pode ser considerado como um único intervalo.[006] As used in this document, the term "gap" refers to the entire space in a flow between entertainment content. For example, a group of 4 consecutive 30-second short commercials between 2 segments of "Two and a Half Men" can be considered as a single break.
[007] Como utilizado neste documento, uma localização inicial estimada de um intervalo em um fluxo de sinais é referida como um ponto de sinal. No contexto de colocação de anúncio, estes pontos de sinal podem ser referidos como ponto de sinal de anúncio.[007] As used in this document, an estimated starting location of a gap in a signal stream is referred to as a signal point. In the context of ad placement, these signal points may be referred to as an ad signal point.
[008] Nos sistemas não lineares, tal como Vídeo Sob Demanda (VOD), os intervalos 6, 8, 9 podem assumir novos significados. O in- tervalo 6 é chamado de antes do conteúdo de vídeo, isto é, o espaço em um vídeo que ocorre imediatamente após um usuário clicar para iniciar um vídeo VOD. O intervalo 9 é conhecido como um após o conteúdo de vídeo, isto é, o espaço após todos os segmentos do vídeo VOD terem terminado a reprodução. Os intervalos 8 podem ser durante o conteúdo de vídeo, isto é, mini-intervalos no meio de um vídeo VOD, ou podem ser intersticiais, isto é, localizações do tipo cápsula entre segmentos consecutivos de vídeo VOD. As oportunidades de colocação de anúncio VOD podem aparecer baseadas no espaço, tempo, conteúdo e no contexto do usuário, e podem ser altamente não lineares (isto é, o usuário escolhe iniciar a reprodução do conteúdo, e em resposta, o conteúdo inicia). Todos os intervalos 6, 8, 9 em tais listas de execução estão prontos para a inserção de anúncios, isto é, oportunidades de colocação de anúncio.[008] In non-linear systems, such as Video On Demand (VOD), the
[009] A Figura 2 representa uma configuração de uma infraestru- tura convencional de televisão a cabo baseada em Internet 200 para executar decisões de colocação de anúncio em fluxos de sinais. Na TV, a rede de anúncios era antigamente a rede nacional, a rede a cabo, ou o operador de cabo. Entretanto, diferente da Internet, onde navegados acessam / exibem conteúdo e então são separadamente "referidos" como uma rede de anúncios compartilhados, a infraestrutura de televisão a cabo baseada em Internet 200 seleciona e monta junto tanto o anúncio como o conteúdo e distribui o resultado combinado para os "aparelhos inteligentes" dos clientes 202a até 202n (por exemplo, televisões prontas para Internet, rádios, smartphones, tablets, PCs, etc.).[009] Figure 2 represents a configuration of a conventional Internet-based
[0010] Recentemente, o aparelho inteligente 202a até 202n, tais como televisões prontas para Internet, têm se tornado capaz de receber conteúdo a partir de serviços de reprodução contínua da Internet, tais como filmes da Netflix, rádio em fluxo contínuo Pandora, etc., atra- vés de conexões WiFi ou Ethernet direta. Quando um usuário clica em um ícone para um "aplicativo" que aparece no aparelho de televisão correspondendo a um destes serviços, o conteúdo é reproduzido con-tinuamente para o aparelho inteligente 202a até 202n a partir de uma rede de distribuição de conteúdo (CDN) 204 diretamente para o aplicativo executando no aparelho inteligente 202a até 202n sem a necessidade de uma caixa decodificadora de sinais.[0010] Recently, smart appliances 202a to 202n, such as Internet-ready televisions, have become capable of receiving content from Internet streaming services, such as Netflix movies, Pandora streaming radio, etc. , via WiFi or direct Ethernet connections. When a user clicks an icon for an "application" appearing on the television set corresponding to one of these services, the content is streamed continuously to the smart set 202a through 202n from a content delivery network (CDN) 204 directly to the application running on smart device 202a up to 202n without the need for a set top box.
[0011] Uma caixa decodificadora de sinais pode ser configurada para decodificar uma representação analógica de dois estados de um sinal digital, como é conhecido na técnica, que é continuamente reproduzido e transferido para a caixa decodificadora de sinais através de uma instalação de difusão através de um cabo coaxial ou de fibra ótica e a caixa decodificadora de sinais sintoniza com este canal e exibe o conteúdo. Quando um usuário assiste conteúdo de programa distribuído pela Internet, um navegador dentro do aparelho inteligente 202a até 202n busca vídeo em blocos de tempo predeterminados --- geralmente blocos de dois, algumas vezes três, algumas vezes dez segundos. Os blocos de vídeo buscados são diretamente unidos de forma dinâmica no software aplicativo do aparelho inteligente 202a até 202n e então exibidos de modo a aparecer como um vídeo homogêneo no aparelho inteligente 202a até 202n.[0011] A set-top box can be configured to decode a two-state analog representation of a digital signal, as is known in the art, that is continuously reproduced and transferred to the set-top box through a broadcast facility. a coaxial or fiber optic cable and the set top box tunes to this channel and displays the content. When a user watches program content distributed over the Internet, a browser within the smart device 202a through 202n searches for video in predetermined blocks of time --- usually blocks of two, sometimes three, sometimes ten seconds. The searched video blocks are directly dynamically joined in the smart device application software 202a through 202n and then displayed so as to appear as a homogeneous video on the smart device 202a through 202n.
[0012] Um Operador de Múltiplos Sistemas / Serviços (MSO - uma organização de TV a cabo que possui mais do que um sistema a cabo e pode proporcionar serviço Internet de banda larga) pode desejar retransmitir fluxos de vídeo em aparelhos inteligentes. Infelizmente, cada dispositivo conectado, incluindo aparelhos inteligentes, precisa obter vídeo no formato que ele pode consumir. Apple, Microsoft, Adobe, etc., possuem formatos muito específicos e incompatíveis. Para superar este problema, cada uma destas companhias construiu instalações chamadas de redes de distribuição de conteúdo (VDN) 204 onde uma "caixa decodificadora de sinais" para cada canal é configurada para receber difusão a partir de satélites. Um sinal recebido por uma "caixa decodificadora de sinal" a partir de dispositivos à montante 206 é alimentado para um transcodificador 208 para colocar o sinal em um formato desejado e para fragmentar o sinal formatado em segmentos de dados predeterminados (por exemplo, 2 segundos). Estes segmentos são então armazenados na CDN 204 em fazendas de servidores localizados fisicamente próximos de onde o conteúdo é para ser distribuído.[0012] A Multiple Systems/Service Operator (MSO - a cable TV organization that has more than one cable system and can provide broadband Internet service) may wish to relay video streams on smart appliances. Unfortunately, every connected device, including smart appliances, needs to get video in the format it can consume. Apple, Microsoft, Adobe, etc., have very specific and incompatible formats. To overcome this problem, each of these companies has built facilities called content delivery networks (VDN) 204 where a "snap box" for each channel is configured to receive broadcast from satellites. A signal received by a "scrambler box" from
[0013] Para identificar um fluxo de dados de um canal ou "sessão", incluindo momentos quando um programa terminou e antes do próximo programa começar, isto é, uma oportunidade de colocação, um tom de deixa é inserido no fluxo de dados do canal em um tempo predeterminado antes do próximo programa começar. O tom de deixa pode ser uma instância de um pacote SCTE-35. Um observador 210, o qual pode ser o transcodificador 208, informa ao serviço de informação de oportunidade de colocação (POIS) 211 sobre a chegada do tom de deixa para colocação subsequente de um ou mais anúncios dentro do fluxo de dados do canal por um serviço de anúncio (ADS) 212. Se o ADS 212 for conhecido pelo POIS 211, então o POIS 211 notifica ao ADS 212 sobre a notificação de tom de deixa. O serviço de anúncio 212, por sua vez, está aguardando pela chegada subsequente de solicitações a partir de uma CDN 204 para colocar anúncios dentro dos intervalos (isto é, um ou mais dos segmentos) no fluxo de dados do canal (sessão).[0013] To identify a channel data stream or "session", including times when a program has ended and before the next program starts, i.e. a placement opportunity, a cue tone is inserted into the channel data stream at a predetermined time before the next program starts. The cue tone can be an instance of a SCTE-35 packet. An
[0014] Os MSOs, redes nacionais e locais, preferem saber se um anúncio foi reproduzido e assistido por um assinante. Os fabricantes de equipamento tradicionalmente têm proporcionado este aspecto em um dentre dois modos: por construir inteligência dentro de cada aparelho inteligente (por exemplo, 202a), ou por construir inteligência dentro de uma rede de reportagem, por exemplo, uma rede de computação em nuvem, enquanto não alterando os aparelhos inteligentes existentes 202a até 202n. Ambas as técnicas podem empregar o que é conhecido como arquivo de manifesto. Como utilizado neste documento, um arquivo de manifesto, um manifesto, ou um manifesto de sessão, se refere a uma listagem ou índice do que está contido em cada um dos segmentos de uma sessão mantida pela CDN 204. Mais particularmente, o manifesto de sessão pode incluir uma lista de URLs que apontam para cada um dos segmentos ou blocos e menciona o tipo de segmento: conteúdo ou anúncio.[0014] MSOs, national and local networks prefer to know if an ad has been played and watched by a subscriber. Equipment manufacturers have traditionally provided this aspect in one of two ways: by building intelligence into each smart device (e.g. 202a), or by building intelligence into a reporting network, for example a cloud computing network. , while not changing existing smart appliances 202a through 202n. Both techniques can employ what is known as a manifest file. As used in this document, a manifest file, manifest, or session manifest refers to a listing or index of what is contained in each of the segments of a session maintained by CDN 204. More particularly, the session manifest can include a list of URLs that point to each of the segments or blocks and mention the type of segment: content or ad.
[0015] Quando a inteligência é integrada a um aparelho inteligente (por exemplo, 202a), o aparelho inteligente 202a pode (1) manter uma cópia do manifesto de sessão, (2) executar a função de juntar um anúncio em uma oportunidade de colocação, (3) marcar o manifesto de sessão para cada segmento reproduzido, e (4) reportar uma proporção de uma sessão (por exemplo, o número de segmentos) reproduzida para o MSO ou rede.[0015] When intelligence is integrated into a smart device (e.g., 202a), the smart device 202a can (1) maintain a copy of the session manifest, (2) perform the function of attaching an advertisement to a placement opportunity , (3) tag the session manifest for each segment played, and (4) report a proportion of a session (eg, the number of segments) played back to the MSO or network.
[0016] Os MSOs e redes, entretanto, podem preferir empregar um aparelho inteligente (por exemplo, 202a) de qualquer fabricante. Tanto o MSO como as redes tem se direcionado a proporcionar sua própria experiência de visualização por proporcionar somente aplicativos "apps" para o equipamento de um assinante sem alterar o equipamento.[0016] MSOs and networks, however, may prefer to employ a smart device (eg 202a) from any manufacturer. Both MSO and networks have been driven to provide their own viewing experience by providing only "apps" applications to a subscriber's equipment without changing the equipment.
[0017] Quando a inteligência é integrada na rede, então, as redes de reportagem precisam manter um manifesto separado para cada sessão do visualizador. Convencionalmente, um manipulador de manifesto pode ser empregado para proporcionar manifestos para aparelhos inteligentes ou MSOs. Uma deficiência de manipuladores de manifesto convencionais é que pode ser necessário que um manipulador de manifesto mantenha um número muito grande de manifestos que precisam ser atualizados periodicamente (por exemplo, 10 até 30 segundos) para cada assinante. Para alguns MSOs, o número de aparelhos inteligentes 202a até 202n pode estar na casa de milhares até centenas de milhares. Em algumas situações, alguns ou todos os aparelhos inteligentes 202a até 202n podem solicitar manifestos substancialmente simultaneamente. Felizmente, fatores de alívio incluem o número de pessoas assistindo um dado canal simultaneamente e divididos em zonas.[0017] When intelligence is integrated into the network, then reporting networks need to maintain a separate manifest for each viewer session. Conventionally, a manifest handler can be employed to provide manifests for smart appliances or MSOs. A shortcoming of conventional manifest handlers is that it may be necessary for a manifest handler to maintain a very large number of manifests that need to be refreshed periodically (eg 10 to 30 seconds) for each subscriber. For some MSOs, the number of smart appliances 202a through 202n can be in the thousands to hundreds of thousands. In some situations, some or all of the smart appliances 202a through 202n may request manifests substantially simultaneously. Fortunately, relief factors include the number of people watching a given channel simultaneously and divided into zones.
[0018] A probabilidade de 100.000 aparelhos inteligentes 202a até 202n todos iniciando um VOD é muito, muito baixa, de modo que a carga para o anúncio VOD é bastante suave devido a nem todos os aparelhos inteligentes 202a até 202n estarem tipicamente sincronizados. Infelizmente, um MSO pode precisar processar decisões de anúncio para cada sessão ativa durante a inicialização da sessão quando um visualizador clica em um controle remoto para assistir o VOD, mesmo se puder existir um anúncio que possa ser colocado uma hora e meia dentro de um fluxo de dados correspondendo a uma sessão ativa. Se um programa transmitido em um canal for muito popular (por exemplo, Super Bowl), o problema de manipular milhares de manifestos volta à tona.[0018] The probability of 100,000 smart appliances 202a through 202n all starting a VOD is very, very low, so the load for the VOD advertisement is quite smooth due to not all the smart appliances 202a through 202n being typically synchronized. Unfortunately, an MSO may need to process ad decisions for each active session during session startup when a viewer clicks a remote control to watch VOD, even if an ad may exist that can be placed an hour and a half into a stream. of data corresponding to an active session. If a program broadcast on a channel is very popular (eg, Super Bowl), the problem of handling thousands of manifests comes back to the fore.
[0019] Para aliviar este problema, um MSO pode dividir uma área geográfica em várias zonas geográficas de serviço menores (por exemplo, 50 zonas). Um manipulador de manifesto pode ser colocado em cada uma destas zonas para reduzir o número de manifestos que um manipulador de manifesto precisa gerenciar. Sob circunstâncias normais, mesmo um menor número de decisões de anúncio precisa ser executado por canal (por exemplo, 50).[0019] To alleviate this problem, an MSO can divide a geographic area into several smaller geographic service zones (eg 50 zones). A manifest handler can be placed in each of these zones to reduce the number of manifests a manifest handler needs to manage. Under normal circumstances, even fewer ad decisions need to be executed per placement (eg 50).
[0020] Infelizmente, mesmo para um pequeno número de manifes tos a ser manipulado por canal, pode existir necessidade de manter vários manifestos para a mesma sessão. Manifestos servidos para di- ferentes aparelhos inteligentes 202a até 202n dentro de uma zona podem ser tornar "dessincronizados". Como discutido acima, um manifesto, o qual representa uma lista de execução, pode compreender uma lista de URLs apontando para um número predeterminado de segmentos de dados de reprodução contínua correspondendo a um intervalo de tempo fixo (por exemplo, "blocos" de quinze (15), dois (2) segundos para um manifesto com um total de 30 segundos). Agora, se referindo à Figura 3, um primeiro manifesto 302 representando um total de 30 segundos de anúncio (ad1) pode compreender, por exemplo, 15 URLs 304a até 304o (URL1 até URL15). Em uma zona particular, um MSO pode varrer o único anúncio (ad1) de 30 segundos para dois (2) anúncios de 15 segundos como apresentado em um segundo manifesto 306 (ad2, ad3). Devido aos segmentos 308a até 308p (URL1 até URL16) serem alinhados em limites de dois segundos, o número de URLs aumenta em um para dezesseis (URL16). Com o passar do tempo, o alinhamento do manifesto pode ser deslocar quando anúncios são continuamente permutados alterando a duração de tempo total de um intervalo para anúncio em uma direção negativa ou em uma direção positiva como representado pelo manifesto.[0020] Unfortunately, even for a small number of manifests to be handled per channel, there may be a need to maintain multiple manifests for the same session. Manifests served to different smart appliances 202a through 202n within a zone can be made "out of sync". As discussed above, a manifest, which represents a playlist, may comprise a list of URLs pointing to a predetermined number of continuously playing data segments corresponding to a fixed time interval (e.g., "blocks" of fifteen ( 15), two (2) seconds for a manifest with a total of 30 seconds). Now, referring to Figure 3, a
[0021] Portanto, existe uma necessidade de manter a integridade da numeração de URLs em um manifesto, e é necessário determinar onde colocar e tirar URLs de um manifesto quando a duração de um ou mais anúncios altera. Os manipuladores de manifesto convencionais aliviam este problema por manter um deslocamento a partir de um manifesto inicial proporcionado pelo transcodificador 208 para cada sessão ativa e para cada canal. Uma tarefa de execução separada compreendendo uma instância distinta de um manifesto é criada e mantida para cada valor de deslocamento, para todas as sessões ativas, e para todos os canais ativos. Infelizmente, isto pode requerer capacidade de processamento na ordem de centenas até milhares de tarefas de execução, se traduzindo em uma necessidade de manter e operar um grande número de computadores multitarefa. Por consequência, o que seria desejável, mas ainda não foi proporcionado, é um método e sistema para, de forma eficiente, manipular um manifesto de sessão quando a duração de um intervalo comercial apontado pelo manifesto altera em tamanho.[0021] Therefore, there is a need to maintain the integrity of the numbering of URLs in a manifest, and it is necessary to determine where to place and remove URLs from a manifest when the duration of one or more ads changes. Conventional manifest handlers alleviate this problem by maintaining an offset from an initial manifest provided by
[0022] Os problemas descritos acima são endereçados e uma so lução técnica é obtida na técnica pelo aprovisionamento de um método e sistema para manipular um manifesto. Um manipulador de manifesto de um servidor receber a partir de um aparelho inteligente uma solicitação para um manifesto correspondendo a um identificador de sessão. O manipulador de manifesto recupera a partir de um servidor de sessão um manifesto de sessão baseado no identificador de sessão. O manipulador de manifesto ajusta um deslocamento da sessão baseado em uma diferença em uma duração da sessão representada pelo manifesto da sessão a partir de uma duração da sessão representada por um manifesto de sessão anterior correspondendo à sessão. Quando o manifesto da sessão compreende um endereço de um intervalo comercial, o manipulador de manifesto identifica em um cache pelo menos um anúncio a ser inserido dentro da sessão e substitui pelo menos um endereço correspondendo a pelo menos um segmento do pelo menos um anúncio no manifesto da sessão baseado na diferença. O manipulador de manifesto transmite o manifesto da sessão para o aparelho inteligente.[0022] The problems described above are addressed and a technical solution is obtained in the art by providing a method and system for handling a manifest. A server manifest handler receives from a smart device a request for a manifest corresponding to a session identifier. The manifest handler retrieves a session manifest based on the session identifier from a session server. The manifest handler adjusts a session offset based on a difference in a session duration represented by the session manifest from a session duration represented by a previous session manifest corresponding to the session. When the session manifest comprises an address from an ad break, the manifest handler identifies in a cache at least one advertisement to be inserted within the session and substitutes at least one address corresponding to at least one segment of the at least one advertisement in the manifest of the session based on the difference. The manifest handler passes the session manifest to the smart device.
[0023] Em uma concretização, quando o manifesto de sessão compreende um endereço de um intervalo comercial, o manipulador de manifesto instrui um cliente associado com um serviço de decisão de anúncio para unir o pelo menos um anúncio ao endereço do intervalo comercial na sessão baseado no pelo menos um endereço substi- tuído do manifesto de sessão.[0023] In one embodiment, when the session manifest comprises an ad break address, the manifest handler instructs a client associated with an ad decision service to match the at least one ad to the ad break address in the session based at least one substituted address from the session manifest.
[0024] Em uma concretização, instruir um serviço de anúncio para unir o pelo menos um anúncio ao endereço do intervalo comercial na sessão pode adicionalmente compreender o servidor transmitindo, para o serviço de decisão de anúncio, pelo menos uma chamada de anúncio para o endereço do intervalo comercial correspondendo ao identificador de sessão, receber, a partir do serviço de decisão de anuncio, pelo menos um anúncio, e armazenar o pelo menos um anúncio no pelo menos um cache. Instruir um serviço de anúncio para unir o pelo menos um anúncio ao endereço do intervalo comercial na sessão pode adicionalmente compreender antes da dita união, instruir o serviço de decisão de anúncio para recuperar o pelo menos um anúncio a partir do cache.[0024] In one embodiment, instructing an advertisement service to attach the at least one advertisement to the address of the commercial break in the session may further comprise the server transmitting to the advertisement decision service at least one advertisement call to the address of the commercial break corresponding to the session identifier, receiving, from the ad decision service, at least one advertisement, and storing the at least one advertisement in the at least one cache. Instructing an advertisement service to merge the at least one advertisement to the address of the commercial break in the session may further comprise, prior to said merging, instructing the advertisement decision service to retrieve the at least one advertisement from the cache.
[0025] Em uma concretização, o deslocamento da sessão e o ma nifesto de sessão anterior são armazenados em uma memória. A memória pode ser uma memória de acesso aleatório estática. O manifesto de sessão e o manifesto de sessão anterior diferem quando a diferença não é zero. Quando o aparelho inteligente sintoniza com outro canal ou termina sua sessão, o manipulador de manifesto pode reiniciar o deslocamento de sessão para zero.[0025] In one embodiment, the session offset and the previous session manifest are stored in a memory. The memory can be static random access memory. Session manifest and previous session manifest differ when the difference is not zero. When the smart device tunes to another channel or ends its session, the manifest handler can reset the session offset to zero.
[0026] Em uma concretização, o manipulador de manifesto do ser vidor pode receber um manifesto original a partir de um transcodifica- dor. O manipulador de manifesto pode inicialmente designar um deslocamento zero para o manifesto original. O manipulador de manifesto pode derivar e manter vários manifestos armazenados possuindo diferentes deslocamentos a partir do manifesto original. O manipulador de manifesto pode substituir um dos manifestos armazenados pelo manifesto de sessão para produzir o manifesto de sessão anterior.[0026] In one embodiment, the server's manifest handler may receive an original manifest from a transcoder. The manifest handler may initially assign a zero offset to the original manifest. The manifest handler can derive and maintain multiple stored manifests having different offsets from the original manifest. The manifest handler can replace one of the manifests stored by the session manifest to produce the previous session manifest.
[0027] Em uma concretização, cada um dentre o manifesto de sessão e o manifesto de sessão anterior pode compreender várias URLs correspondentes apontando para segmentos de uma sessão correspondendo ao identificador de sessão. Pelo menos um dos URLs do manifesto de sessão e pelo menos um dos URLs do manifesto de sessão anterior pode apontar para diferentes segmentos da sessão.[0027] In one embodiment, each of the session manifest and the previous session manifest may comprise multiple corresponding URLs pointing to segments of a session corresponding to the session identifier. At least one of the session manifest URLs and at least one of the previous session manifest URLs can point to different segments of the session.
[0028] A presente invenção será mais prontamente entendida a partir da descrição detalhada de concretizações ilustrativas apresentadas abaixo consideradas em conjunto com os desenhos anexos, nos quais:[0028] The present invention will be more readily understood from the detailed description of illustrative embodiments presented below considered in conjunction with the accompanying drawings, in which:
[0029] A Figura 1 ilustra um modelo linear ou de vídeo sob de manda convencional para colocação de anúncio;[0029] Figure 1 illustrates a conventional linear or video-on-demand model for ad placement;
[0030] A Figura 2 representa uma configuração de uma infraestru- tura convencional de televisão a cabo baseada em Internet para executar decisões de colocação de anúncio nos fluxos de sinal;[0030] Figure 2 represents a configuration of a conventional Internet-based cable television infrastructure to execute ad placement decisions on signal streams;
[0031] A Figura 3 apresenta um diagrama de blocos de dois mani festos que diferem no número de URLs armazenados que resulta quando anúncios são continuamente permutados para alterar a duração total de tempo de um intervalo comercial;[0031] Figure 3 shows a block diagram of two manifests that differ in the number of stored URLs that result when advertisements are continually swapped to change the total length of time of a commercial break;
[0032] A Figura 4 representa uma configuração de uma concreti zação de um sistema para manipular manifestos;[0032] Figure 4 represents a configuration of a realization of a system to handle manifests;
[0033] A Figura 5 é um fluxograma ilustrando uma concretização de um método para acelerar as decisões de colocação de anúncio em fluxos de dados a partir de um ponto de vista de um servidor;[0033] Figure 5 is a flowchart illustrating an embodiment of a method for accelerating ad placement decisions in data streams from a server point of view;
[0034] A Figura 6 é um diagrama de blocos ilustrando vários mani festos armazenados na memória estática, onde cada um dos manifestos armazenados possui um deslocamento diferente de outro manifesto;[0034] Figure 6 is a block diagram illustrating various manifests stored in static memory, where each of the stored manifests has a different offset from another manifest;
[0035] A Figura 7 é um fluxograma ilustrando um exemplo de um método para manipular um manifesto; e[0035] Figure 7 is a flowchart illustrating an example of a method for manipulating a manifest; and
[0036] A Figura 8 ilustra uma representação diagramática de uma máquina na forma ilustrativa de um sistema de computador dentro do qual um conjunto de instruções, para causar que a máquina execute qualquer uma ou mais das metodologias discutidas neste documento, possam ser executadas.[0036] Figure 8 illustrates a diagrammatic representation of a machine in illustrative form of a computer system within which a set of instructions, to cause the machine to execute any one or more of the methodologies discussed in this document, can be executed.
[0037] É para ser entendido que os desenhos anexos são para o propósito de ilustrar os conceitos da invenção e podem não estar em escala.[0037] It is to be understood that the accompanying drawings are for the purpose of illustrating the concepts of the invention and may not be to scale.
[0038] Algumas concretizações da presente revelação são compa tíveis e fazem uso de elementos definidos de acordo com o padrão SCTE-130. O padrão SCTE-130 proporciona uma interface baseada em mensagem padronizada e extensível definindo um conjunto mínimo de serviços lógicos cooperativos necessários para comunicar oportunidades de colocação, decisões de colocação, e dados de evento relacionados com a colocação necessários para as medições de responsabilidade de prestação de contas. O SCTE-130 define uma estrutura extensível de interfaces dentre um conjunto de serviços lógicos do sistema de anúncio. O padrão SCTE-130 abrange: um conjunto mínimo de serviços lógicos cooperativos necessários para implementar sistemas de anúncio endereçável avançados; os tipos de dados principais e a estrutura de mensagem extensível formando um vocabulário necessário para se comunicar entre os serviços lógicos definidos; as interfaces entre estes serviços lógicos utilizando os tipos de dados principais e mensagens; e, mecanismos para capacidade de extensão que permite inovação enquanto preservando compatibilidade com versões anteriores com sistemas ao implementados - desse modo, reduzindo a complexidade para incorporar novos aspectos dentro do padrão.[0038] Some embodiments of the present disclosure are compatible and make use of elements defined in accordance with the SCTE-130 standard. The SCTE-130 standard provides a standardized and extensible message-based interface defining a minimal set of cooperative logic services necessary to communicate placement opportunities, placement decisions, and placement-related event data required for service delivery responsibility measurements. bills. SCTE-130 defines an extensible structure of interfaces among a set of logical services of the advertisement system. The SCTE-130 standard encompasses: a minimal set of cooperative logic services necessary to implement advanced addressable advertisement systems; the core data types and extensible message structure forming a vocabulary necessary to communicate between the defined logical services; the interfaces between these logical services using the main data types and messages; and, extensibility mechanisms that allow for innovation while preserving backward compatibility with deployed systems - thereby reducing the complexity of incorporating new aspects into the standard.
[0039] As partes normativas do padrão SCTE-130 definem meca nismos para integrar sistemas implementando aspectos tais como anúncio baseado em VOD, anúncio baseado em linear, capacidades avançadas de anúncio tal como grupos de rotação de anúncio (grupos de rotação se refere às oportunidades de colocação que executam em rotação de modo que o mesmo anúncio não é visto novamente imediatamente), endereçamento baseado em assinante para adequação de anúncio ou conteúdo, pontos de extensão para aspectos avançados de anúncio ou de endereçamento, serviços lógicos que são implementados como um ou mais sistemas físicos criados pelo menos vendedor, implementação de um serviço lógico que pode simultaneamente incluir sistemas a partir de um ou mais fornecedores, e uma implementação que pode incorporar um ou mais serviços lógicos e interfaces definidas.[0039] The normative parts of the SCTE-130 standard define mechanisms for integrating systems implementing aspects such as VOD-based advertising, linear-based advertising, advanced advertising capabilities such as ad rotation groups (rotation groups refer to opportunities placements that run in rotation so that the same ad is not seen again immediately), subscriber-based addressing for ad or content suitability, extension points for advanced aspects of ad or addressing, logical services that are implemented as one or more physical systems created by the least vendor, implementation of a logical service that can simultaneously include systems from one or more vendors, and an implementation that can incorporate one or more logical services and defined interfaces.
[0040] O padrão SCTE-130 define um conjunto de serviços lógicos compreendendo um sistema de anúncio avançado. Cada serviço lógico pode ele próprio ser um sistema complexo. Em uma concretização, um ou mais dentre os seguintes serviços lógicos podem ser utilizados ou interagir com algumas concretizações da presente invenção.[0040] The SCTE-130 standard defines a set of logical services comprising an advanced advertisement system. Each logical service can itself be a complex system. In one embodiment, one or more of the following logical services may be used or interact with some embodiments of the present invention.
[0041] Um Serviço de Gerenciamento de Anúncio (ADM) define mensagens em suporte às atividades de inserção de anúncio. O consumidor principal destas mensagens é um Serviço de Decisão de Anúncio (ADS). As interfaces de mensagem expostas por um ADM permitem tanto decisões de anúncio pré-configuradas como modelos de atendimento em tempo real. Uma implementação ADM pode incorporar algumas regras simples de seleção de anúncio (por exemplo, rotações de anúncio), mas decisões de anúncio mais complexas são a responsabilidade de um ADS.[0041] An Ad Management Service (ADM) defines messages in support of ad insertion activities. The primary consumer of these messages is an Ad Decision Service (ADS). The message interfaces exposed by an ADM allow for both pre-configured ad decisions and real-time service models. An ADM implementation may incorporate some simple ad selection rules (eg, ad rotations), but more complex ad decisions are the responsibility of an ADS.
[0042] Um Serviço de Decisão de Anúncio (ADS) determina como o conteúdo do anúncio é combinado com recursos de conteúdo que não são de anúncio (por exemplo, entretenimento). As decisões tomadas por um ADS podem ser objetivas (isto é, conteúdo de anúncioes- pecífico colocado em um momento específico em um recurso específico) ou arbitrariamente complexas (baseadas em dados do assinante, zona de anúncio, etc.).[0042] An Ad Decision Service (ADS) determines how ad content is combined with non-advertising content resources (eg entertainment). Decisions made by an ADS can be objective (ie, specific ad content placed at a specific time on a specific resource) or arbitrarily complex (based on subscriber data, ad zone, etc.).
[0043] Um Serviço de Informação de Conteúdo (CIS) gerencia me tadados descrevendo recursos (tanto recursos de anúncio como recursos que não são anúncio) disponíveis para os outros serviços lógicos SCTE-130. O CIS proporciona interfaces de consulta e de notificação para os outros serviços lógicos. O serviço de consulta está disponível em uma base ad hoc e pode ser chamado por qualquer outro serviço lógico a qualquer tempo sem qualquer registro anterior. As consultas especificam valores ou padrões a serem buscados nos metadados da mensagem de consulta e a informação associada especificada (ou uma indicação de erro) é retornada em uma mensagem de resposta.[0043] A Content Information Service (CIS) manages metadata describing resources (both advertisement resources and non-advertising resources) available to the other logical SCTE-130 services. CIS provides query and notification interfaces for the other logical services. The query service is available on an ad hoc basis and can be called by any other logical service at any time without any previous registration. Queries specify values or patterns to look for in the query message metadata, and the specified associated information (or an error indication) is returned in a response message.
[0044] O Serviço de Informação de Conteúdo (CIS) é um meca nismo de armazenamento e distribuição. Ele armazena metadados sobre recursos de entretenimento e de anúncio; proporciona notificações para clientes registrados quando metadados são modificados; registra, recebe e processa notificação a partir de outros serviços CSI; e suporta consultas de metadados em tempo real. O CIS permite que um Gerenciador de Anúncio (ADM) e/ou Serviço de Decisão de Anúncio (ADS) recupere e utilize metadados de conteúdo em seu processamento avançado de decisão de anúncio.[0044] The Content Information Service (CIS) is a storage and distribution mechanism. It stores metadata about entertainment and advertising resources; provides notifications to registered customers when metadata is modified; registers, receives and processes notification from other CSI services; and supports real-time metadata queries. CIS allows an Ad Manager (ADM) and/or Ad Decision Service (ADS) to retrieve and utilize content metadata in their advanced ad decision processing.
[0045] Um Serviço de Informação de Oportunidade de Colocação (POIS) pode conter, manter e reter descrições de oportunidades de colocação. O POIS também pode conter atributos e restrições para cada oportunidade de colocação, conformidade com a plataforma, direitos, e políticas do conteúdo no qual existe a oportunidade de colocação. Estas oportunidades de colocação são específicas em relação ao conteúdo e, portanto, atributos e restrições podem variar por rede, região geográfica, ou por outra dimensão de distribuição de conteúdo.[0045] A Placement Opportunity Information Service (POIS) may contain, maintain and retain descriptions of placement opportunities. The POIS may also contain attributes and restrictions for each placement opportunity, platform compliance, rights, and policies for the content on which the placement opportunity exists. These placement opportunities are content-specific and therefore attributes and restrictions may vary by network, geographic region, or other content delivery dimension.
[0046] O POIS é um mecanismo de execução de armazenamento e inventário de Oportunidade de Colocação (PO). Ele armazena metadados e estatísticas de PO; proporciona notificações para clientes registrados quando os metadados de PO são modificados; registra, recebe e processa notificações a partir de outros serviços POIS; e suporta consultas de metadados de PO em tempo real. Através do dispositivo POIS, um Gerenciador de Anúncio (ADM) e/ou Serviço de Decisão de Anúncio (ADS) pode recuperar e utilizar metadados de oportunidade de colocação na sua tomada de decisão de anúncio avançada.[0046] POIS is a Placement Opportunity (PO) storage and inventory execution engine. It stores PO metadata and statistics; provides notifications to registered customers when PO metadata is modified; logs, receives and processes notifications from other POIS services; and supports real-time PO metadata queries. Through the POIS device, an Ad Manager (ADM) and/or Ad Decision Service (ADS) can retrieve and use placement opportunity metadata in its advanced ad decision making.
[0047] O Serviço de Informação de Assinante (SIS) gerencia in formação por assinante relevante para decisões de colocação de anúncio. O SIS proporciona um mapeamento entre identificadores de assinante ou cliente, tal como um endereço MAC, número de série, etc., e atributos de assinante ou audiência, por exemplo, idade, sexo, localização de um assinante.[0047] Subscriber Information Service (SIS) manages per subscriber information relevant to ad placement decisions. SIS provides a mapping between subscriber or customer identifiers, such as a MAC address, serial number, etc., and subscriber or audience attributes, for example, age, gender, location of a subscriber.
[0048] O termo "computador" ou "plataforma de computador" é pretendido para incluir qualquer dispositivo de processamento de dados, tal como um computador de mesa, um computador laptop, um computador tablet, um computador de grande porte, um servidor, um dispositivo portátil, um processador de dados digitais (DSP), um processador embutido (cujo exemplo é descrito em conexão com a Figura 8), ou qualquer outro dispositivo apto a processar dados. O computa- dor/plataforma de computador é configurado para incluir um ou mais microprocessadores comunicativamente conectados com um ou mais meios legíveis por computador não transitórios e uma ou mais redes. O termo "comunicativamente conectado" é pretendido para incluir qualquer tipo de conexão, seja com uso de fios ou sem uso de fios, na qual dados podem ser comunicados. O termo "comunicativamente conectado" é pretendido para incluir, mas não limitado a uma conexão entre dispositivos e/ou programas dentro de um único computador ou entre dispositivos e/ou computadores separados através de uma rede. O termo "rede" é pretendido para incluir, mas não limitado a OTA (transmissão aérea, ATSC, DVB-T), redes comutadas por pacote (TCP/IP, por exemplo, Internet), satélite (micro-onda, fluxo de transporte MPEG ou IP), satélite de transmissão direta, sistemas analógicos de transmissão a cabo (RF), e sistemas de transmissão de vídeo digital (ATSC, HD-SDI, HDMI, DVI, VGA), etc.[0048] The term "computer" or "computer platform" is intended to include any data processing device, such as a desktop computer, a laptop computer, a tablet computer, a mainframe, a server, a portable device, a digital data processor (DSP), an embedded processor (the example of which is described in connection with Figure 8), or any other device capable of processing data. The computer/computer platform is configured to include one or more microprocessors communicatively connected with one or more non-transient computer readable media and one or more networks. The term "communicatively connected" is intended to include any type of connection, whether wired or wireless, over which data may be communicated. The term "communicatively connected" is intended to include, but not limited to, a connection between devices and/or programs within a single computer or between separate devices and/or computers over a network. The term "network" is intended to include, but not limited to, OTA (over the air, ATSC, DVB-T), packet-switched networks (TCP/IP, e.g. Internet), satellite (microwave, transport stream, MPEG or IP), direct broadcast satellite, analog cable (RF) transmission systems, and digital video transmission systems (ATSC, HD-SDI, HDMI, DVI, VGA), etc.
[0049] A Figura 4 representa uma configuração de um sistema 400 para manipular manifestos. O sistema 400 pode ser executado em um servidor 402, interconectado por uma ou mais redes (não apresentadas) e comunicativamente conectado com um ou mais ADSs 404a até 404n. Os ADSs 404a até 404n são configurados para colocar anúncios dentro de intervalos comerciais nos fluxos de dados de assinante por solicitação de uma CDN 406 para distribuição para um ou mais aparelhos inteligentes 408a até 408n.[0049] Figure 4 represents a configuration of a
[0050] Em uma concretização, o servidor 402 pode estar comuni cativamente conectado por uma ou mais redes (não apresentadas) com os dispositivos clientes 410a até 410n. Os dispositivos clientes 410a até 410n são configurados para armazenar e recuperar um número predeterminado de anúncio na/para as caches correspondentes 412a até 412n para distribuição para os ADSs 404a até 404n correspondentes sob o controle do servidor 402 e da CDN 406.[0050] In one embodiment, the
[0051] O servidor 402 pode ser associado com ou implementar um CIS 416 para receber um ou mais fluxos de sinal fonte a partir de dispositivos a montante 418 e tons de deixa correspondentes (isto é, instâncias de pacotes SCTE-130) a partir de um observador 420, o qual pode ser incorporado dentro de um transcodificador 422. O transcodifi- cador 422 também é configurado para distribuir vídeo IP, áudio, etc., em "blocos" ou segmentos predeterminados para a CDN 406, como descrito acima. O transcodificador 422 também é configurado para ge- renciar um ou mais manifestos com uma duração de tempo predeterminada (por exemplo, 30 segundos) que compreendem os endereços (por exemplo, URLs) dos segmentos de um fluxo de sinal para um ou mais dispositivos à jusante (normalmente a CDN 406) baseado em um endereço armazenado no transcodificador 422 durante um processo de registro. Em uma concretização, o dispositivo à jusante registrado é o servidor 402.[0051]
[0052] O CIS 416 também é configurado para identificar metada dos a partir de um ou mais fluxos de sinal fonte e distribuir os metadados identificados para o servidor 402. O servidor 402 é configurado para prealocar um número correspondente de oportunidades de colocação (POs) não confirmadas sem sinais e para vincular o fluxo de sinal fonte com várias oportunidades de colocação não confirmadas criadas anteriormente. Parte dos metadados identificados inclui um identificador de canal associado com um fluxo de sinal fonte correspondente. O CIS 416 é configurado para retornar um valor globalmente único, um UUID, referido como um identificador de sinal ou ID de sinal que, de forma única, identifica uma oportunidade de colocação como uma colocação confirmada e sua localização inicial dentro do sistema operacional ponta a ponta 400. O CIS 416 é adicionalmente configurado para inserir o ID do sinal e o identificador do canal dentro dos metadados do fluxo de sinal fonte utilizando o formato apropriado de transporte na banda.[0052] The
[0053] Em uma concretização, quando o dispositivo à jusante que se registrou com o transcodificador 422 para receber manifestos é o servidor 402, o CIS 416 é configurado para receber um ou mais manifestos originais correspondendo a um intervalo de dados do fluxo de sinal fonte a partir do transcodificador 422.[0053] In one embodiment, when the downstream device that has registered with
[0054] Em uma concretização, um POIS 424 pode ser implemen tado pelo servidor 402. O POIS 424 é configurada para "confirmar" oportunidades de colocação não confirmadas por identificar localizações iniciais temporais das oportunidades de colocação não confirmadas (isto é, incluindo ponto(s) de sinal de anúncio relativo tanto ao fluxo de conteúdo como a um tempo total de processamento. O POIS 424 é configurado para retornar um valor globalmente único, um UUID, referido como identificador de sinal ou ID de sinal que de forma única identifica uma PO como uma PO confirmada e sua localização inicial dentro do sistema operacional ponta a ponta. O POIS 424 então insere o ID de sinal e o identificador de canal em outros metadados extraídos do fluxo de sinal fonte utilizando o formato apropriado de transporte na banda.[0054] In one embodiment, a
[0055] O POIS 424 é configurado para iniciar um fluxo de trabalho onde, pelo sinal confirmado, gera o conjunto de oportunidades de colocação confirmadas e dispara um gatilho de decisão antecipada com o ID de sinal como os dados do gatilho. O receptor do gatilho de decisão antecipada é uma instância de um Serviço de Gerenciamento de Anúncio 426 do SCTE 130, ou ADM 426 associado com o servidor 402. O ADM 426 é configurado para identificar uma lista representativa de um número de fluxos de sinal do receptor possuindo o identificador de canal. Para identificar a lista, em uma concretização, o ADM 426 transmite e recebe mensagens e dados para/a partir do gerenciador de sessão 428 internamente implementado pelo servidor 402. Em uma concretização, o ADM 426 transmite o identificador de canal para o gerenciador de sessão 428, o qual proporciona para o ADM 426 uma lista de identidades de cliente indicativa de um número de fluxos de transporte ativos (por exemplo, uma série de sessões) possuindo o identificador de canal, por exemplo, uma lista de fluxos de sinal do receptor possuindo o mesmo identificador de canal que está sendo "assistido" pelos assinantes. O ADM 426 também é configurado para obter vários anúncios correspondendo à lista de todas as sessões ativas a partir de um ou mais ADSs 404a até 404n. O ADM 426 recebe, a partir dos ADS 404a até 404n, os vários anúncios direcionados para a lista representativa dos vários fluxos de sinal.[0055]
[0056] O ADM 426 utiliza o ID de sinal mais um conjunto de crité rios de direcionamento localmente configurados ou aprendidos para iniciar um conjunto único de solicitações de decisão de anúncio. As solicitações de decisão de anúncio dão origem às solicitações de decisão de anúncio direcionado para os proprietários de decisão apropriados e os resultados são um conjunto de decisões de colocação de anúncio se correlacionando com as oportunidades de colocação geradas como resultado da confirmação do sinal.[0056] The
[0057] O ADM 426 também é configurado para armazenar a lista de anúncios obtida em um ou mais caches 412a até 412n sob o controle dos clientes correspondentes 410a até 410n associados com um ou mais ADSs 404a até 404n. O ADM 426 associa o ID de sinal único com cada um dos anúncios direcionados/não direcionados e armazena os anúncios direcionados/não direcionado EME uma ou mais caches 412a até 412n. Desde que podem existir milhares até milhões de anúncios a serem armazenados na um ou mais caches 412a até 412n, em uma concretização, o ADM 426 é configurado para dividir um intervalo de tempo entre a recepção de um tom de deixa e a chegada de um ponto de sinal de anúncio correspondente em um número predeterminado de subintervalos de tempo e divide o fluxo de sinal em um número predeterminado de subfluxos de sinal.[0057] The
[0058] Em uma concretização, o ADM 426 é adicionalmente confi gurado para implementar um manipulador de manifesto 430 e uma memória 432, a qual pode ser, por exemplo, uma memória de acesso aleatório estática 432. O manipulador de manifesto 430 é configurado para receber um ou mais manifestos originais a partir do CIS 416. Para cada sessão ativa na lista representativa das várias sessões ativas, o manipulador de manifesto 430 associa o manifesto original com o identificador de canal correspondente, com um identificador de sessão, e com um deslocamento inicial de zero na memória (estática) 432. O manipulador de manifesto 430 é configurado para derivar e manter na memória (estática) vários manifestos armazenados possuindo diferentes deslocamentos a partir do manifesto original.[0058] In one embodiment, the
[0059] Em uma concretização, o manipulador de manifesto 430 é configurado para receber a partir de um aparelho inteligente (por exemplo, 408a) uma solicitação para um manifesto correspondendo a um identificador de sessão e um identificador de canal. O manipulador de manifesto 430 é configurado para recuperar a partir do gerenciador de sessão 428 um manifesto de sessão baseado no identificador de sessão. O manipulador de manifesto 430 é configurado para ajustar um deslocamento da sessão baseado em uma diferença em uma duração da sessão representada pelo manifesto de sessão a partir da duração de sessão representada por uma manifesto de sessão anterior correspondendo à sessão. Quando o manifesto de sessão compreende um endereço de um intervalo comercial, o manipulador de manifesto 430 é configurado para identificar em um cache (por exemplo, 412a) pelo menos um anúncio a ser inserido na sessão e substitui pelo menos um endereço correspondendo a pelo menos um segmento do pelo menos um anúncio no manifesto de sessão baseado na diferença. O manipulador de manifesto 430 é configurado para transmitir o manifesto de sessão para o aparelho inteligente (por exemplo, 408a).[0059] In one embodiment, the
[0060] Em uma concretização, quando o manifesto de sessão compreende um endereço de um intervalo comercial, o manipulador de manifesto 430 é configurado para instruir um cliente (por exemplo, 410a) associado com um serviço de decisão de anúncio (por exemplo, ADS 404a) para unir o pelo menos um anúncio ao endereço do intervalo comercial na sessão baseado no pelo menos um endereço substi- tuído do manifesto de sessão.[0060] In one embodiment, when the session manifest comprises an address of a commercial slot, the
[0061] Em uma concretização, instruir um serviço de decisão de anúncio (por exemplo, 404a) para unir o pelo menos um anúncio ao endereço do intervalo comercial na sessão pode adicionalmente compreender o servidor 402 transmitir, para o serviço de decisão de anúncio (por exemplo, 404a), pelo menos uma chamada de anúncio para o endereço do intervalo comercial correspondendo ao identificador de sessão, receber, a partir do serviço de decisão de anúncio (por exemplo, 404a), pelo menos um anúncio, e armazenar o pelo menos um anúncio em pelo menos um cache (por exemplo, 412a). Instruir um serviço de decisão de anúncio (por exemplo, 404a) para unir o pelo menos um anúncio ao endereço do intervalo comercial na sessão pode adicionalmente compreender antes da união, instruir o serviço de decisão de anúncio (por exemplo, 404a) para recuperar o pelo menos um anúncio a partir do cache (por exemplo, 412a).[0061] In one embodiment, instructing an advertisement decision service (e.g., 404a) to match the at least one advertisement to the commercial break address in the session may further comprise the
[0062] Em uma concretização, o manipulador de manifesto 430 é configurado para armazenar o deslocamento da sessão e o manifesto de sessão anterior na memória 432. A memória 432 pode ser uma memória de acesso aleatório estática. O manifesto de sessão e o manifesto de sessão anterior diferem quando a diferença não é zero. Quando o aparelho inteligente (por exemplo, 408a) sintoniza com outro canal ou termina sua sessão, o manipulador de manifesto 430 pode reiniciar o deslocamento de sessão para zero.[0062] In one embodiment, the
[0063] Em uma concretização, o manipulador de manifesto 430 do servidor 402 pode receber um manifesto original a partir do transcodifi- cador 422. O manipulador de manifesto 430 pode inicialmente designar um deslocamento zero para o manifesto original. O manipulador de manifesto 430 pode derivar e manter vários manifestos armazenados possuindo diferentes deslocamentos a partir do manifesto original. O manipulador de manifesto 430 pode substituir um dos manifestos ar- mazenados pelo manifesto de sessão para produzir o manifesto de sessão anterior.[0063] In one embodiment,
[0064] A Figura 5 é um fluxograma ilustrando uma concretização de um método 500 para acelerar as decisões de colocação de anúncio nos fluxos de dados a partir de um ponto de vista de um servidor 402, de acordo com uma concretização da presente invenção. No bloco 505, o servidor 402 pega um fluxo de sinal fonte a partir do transcodifi- cador 422. Mais particularmente, o CIS 416 associado com o servidor 402 pega um fluxo de sinal fonte (por exemplo, no formato MPEG-2) possuindo um identificador de canal a partir dos dispositivos à montante 418.[0064] Figure 5 is a flowchart illustrating an embodiment of a
[0065] Um transcodificador 422 associado com um formato de for necedor específico para o fluxo de sinal fonte (por exemplo, TBS) recebe o fluxo de sinal e converte o fluxo de sinal para vídeo IP. No processo, um observador 420, o qual pode estar incluído no transcodifi- cador 422, observa a presença de um tom de deixa SCTE-35. Em uma concretização, a indicação de que uma oportunidade de colocação de anúncio está localizada no fluxo de sinal é uma instância de um pacote SCTE-35 indicativo de um tom de deixa. O tom de deixa também proporciona uma indicação de que uma oportunidade de colocação de anúncio está localizada no fluxo de sinal um período de tempo antes de um ponto de sinal de anúncio no fluxo de sinal. O observador 420 do transcodificador 422 então faz uma chamada de Rede para o CIS 416 para informar ao CIS 416 que o tom de deixa para um ID de canal específico foi observado.[0065] A
[0066] O transcodificador 422 pode identificar o servidor 402 como anteriormente registrado para receber vários manifestos originais associados com o fluxo de sinal fonte (por exemplo, TBS). Como resultado do transcodificador 422 divide o fluxo de sinal fonte em vários intervalos de dados com uma duração predeterminada (por exemplo, 30 segundos), e para cada intervalo de dados, em vários segmentos ou "blocos" (por exemplo, 2 segundos). O transcodificador 422 é adicionalmente configurado para construir e transmitir um manifesto original para o servidor 402. No bloco 510, o CIS 416 adicionalmente recebe o manifesto original correspondendo a um intervalo de dados do fluxo de sinal fonte a partir do transcodificador 422. No bloco 515, o CIS 416 transmite o manifesto original para o manipulador de manifesto 430 para processamento adicional a ser descrito abaixo.[0066] Transcoder 422 may identify
[0067] A chegada do pacote SCTE-35 é uma indicação de várias oportunidades de colocação (POs) teóricas para o ID de canal especificado (por exemplo, TBS). Cada PO não confirmada possui uma localização inicial estimada conhecida como um ponto de sinal. O ponto de sinal precisa ser confirmado. Quando uma localização inicial real de inserção de anúncio é encontrada em tempo real, um processo de software no POIS 424 confirma o tempo real do ponto de sinal. Este ponto de sinal confirmado resulta na geração de POs confirmadas que agora estão prontas para inserção de anúncio.[0067] The arrival of the SCTE-35 packet is an indication of several theoretical placement opportunities (POs) for the specified channel ID (eg TBS). Each unconfirmed PO has an estimated starting location known as a signal point. The signal point needs to be confirmed. When a real-time ad insertion start location is found in real-time, a software process in the
[0068] Quando o CIS 416 recebe as oportunidades de colocação teóricas, o CIS 416 é configurado para prealocar um número correspondente de oportunidades de colocação não confirmadas sem sinais e para vincular o fluxo de sinal fonte com várias oportunidades de colocação preestabelecidas, mas não confirmadas. A vinculação do fluxo de sinal fonte com várias oportunidades de colocação preestabelecidas, mas não confirmadas, inclui o CIS 416 extraindo metadados incluindo o identificador de canal a partir do fluxo de sinal fonte. Como utilizado neste documento, o termo "vinculação" ser refere a uma identificação de sinais e de conteúdo dentro de uma PO. As POs frequentemente são criadas para grandes quantidades de conteúdo que ainda não são publicados (isto é, qualquer programa na rede TNT à noite).[0068] When the
[0069] Quando um programa "é levado ao ar" e um fluxo de sinal fonte é detectado, o fluxo de sinal fonte é vinculado com as POs relevantes para este programa.[0069] When a program "airs" and a source signal stream is detected, the source signal stream is linked with the POs relevant to this program.
[0070] Quando POs confirmadas são geradas, o mesmo identifi cador de ponto de sinal que gerou as POs é enviado e capturado por um processo de resolução de decisão de anúncio de escuta no ADM 426 associado com o servidor 402. Este envio do ponto de sinal é chamado de gatilho de decisão de colocação antecipado (ou gatilho de decisão, de forma abreviada) que inicia uma sequência de processos de software. À medida que conteúdo é adquirido pela CDN 406, a CDN 406 notifica o POIS 424, e o POIS 424 "confirma" a localização inicial temporal de uma oportunidade de colocação em relação tanto ao fluxo de sinal fonte como a um tempo total de processamento. O POIS 424 retorna um valor globalmente único, um UUID, referido como identificador de sinal ou ID de sinal que de forma única identifica uma PO como uma PO configurada e sua localização inicial dentro do sistema operacional ponta a ponta. O POIS 424 então insere o ID de sinal e o identificador de canal em outros metadados extraídos do fluxo de sinal fonte utilizando o formato apropriado de transporte na banda.[0070] When confirmed POs are generated, the same signal point identifier that generated the POs is sent and captured by a listening announcement decision resolution process in the
[0071] Em paralelo, o POIS 424 inicia um fluxo de trabalho por meio do qual o POIS gera um conjunto de oportunidades de colocação confirmadas no fluxo de sinal fonte e dispara um gatilho de decisão antecipada com o ID de sinal como os dados do gatilho. O receptor do gatilho de decisão antecipada é uma instância de um Serviço de Gerenciamento de Anúncio do SCTE 130, ou o ADM 426 associado com o servidor.[0071] In parallel,
[0072] No bloco 520, o ADM 426 do servidor 402 identifica um re presentante de um número de fluxos de sinal do receptor possuindo o identificador de canal antes da expiração do período de tempo. A lista representativa de vários fluxos de sinal do receptor possuindo o identificador de canal corresponde ao número de oportunidades de coloca- ção confirmadas. Para identificar a lista, o ADM 426 transmite o identificador de canal para o gerenciador de sessão 428, o qual proporciona para o ADM 426 uma lista de identificadores de sessão indicativos de um número de receptores atualmente visualizando um canal correspondendo ao identificador de canal.[0072] In
[0073] No bloco 525, o ADM 426 do servidor 402 obtém a partir de um ou mais ADSs 404a até 404n vários anúncios correspondendo à lista correlacionada com os identificadores de sessão e com o identificador de canal. O ADM 426 recebe a partir dos ADSs 404a até 404n os vários anúncios correspondendo à lista representativa dos vários fluxos de sinal do receptor possuindo o identificador de canal.[0073] In
[0074] No bloco 530, o ADM 426 do servidor 402 armazena a lista de anúncios obtida em pelo menos um cache 412a até 412n no um ou mais ADSs 404a até 404n. Enquanto armazenando a lista de anúncios na pelo menos um cache 412a até 412n, o ADM 426 associa IDs de sinal únicos com cada um da lista de anúncios. Armazenar a lista de anúncios obtida na pelo menos um cache 412a até 412n pode incluir transmitir a lista de anúncios para pelo menos um JAR (isto é, um arquivo compactado Java) associado com um ou mais clientes 410a até 410n. Desde que podem existir milhares até milhões de anúncios a serem armazenados nos caches 412a até 412n, em uma concretização, o ADM 426 divide o intervalo de tempo a partir da recepção de um tom de deixa até uma chegada esperada do ponto de sinal correspondente no fluxo de sinal fonte em um número predeterminado de subintervalos de tempo e divide o número (isto é, a contagem) de fluxos de sinal recebidos em um número predeterminado de subfluxos de sinal. O número predeterminado de subfluxos de sinal é distribuído através do número predeterminado de subintervalos de tempo para as caches 412a até 412n associadas com os clientes 410a até 410n.[0074] In
[0075] No bloco 535, para cada sessão ativa na lista, o manipula- dor de manifesto 430 associa o manifesto original com um identificador de canal, com um identificador de sessão, e com um deslocamento inicial de zero em uma memória 432. Em uma concretização, a memória 432 pode ser, por exemplo, uma memória estática. O deslocamento indica o número de segmentos e os URLs correspondentes de um manifesto de sessão a ser distribuído para um aparelho inteligente (por exemplo, 408a) que é diferente do número de segmento em um manifesto de sessão anterior correspondente (veja a Figura 7).[0075] In
[0076] No bloco 540, o manipulador de manifesto 430 deriva e mantém na memória estática (veja a Figura 6) vários manifestos armazenados 602 possuindo deslocamentos diferentes do manifesto original. Em uma concretização, os manifestos estaticamente armazenados e o número correspondente de segmentos por manifesto armazenados podem ser numerados consecutivamente a partir de um valor negativo mínimo esperado, passando por 0, até o valor máximo positivo esperado. Os anúncios são recuperados e inseridos nos intervalos comerciais, o valor do deslocamento pode alterar e um manifesto de sessão original ou "anterior" não original pode ser substituído (veja a Figura 7) dependendo da duração de um ou mais anúncios a serem inseridos no intervalo comercial.[0076] At
[0077] A Figura 7 é um fluxograma ilustrando um exemplo de um método 700 para manipular um manifesto. O método 700 pode ser executado por um sistema de computador 400 da Figura 4 e pode compreender hardware (por exemplo, conjunto de circuitos, lógica dedicada, lógica programável, microcódigo, etc.), software (por exemplo, instruções executadas em um dispositivo de processamento), ou uma combinação dos mesmos. Em um exemplo, o método 700 é executado pelo manipulador de manifesto 430 do servidor 402 da Figura 4.[0077] Figure 7 is a flowchart illustrating an example of a
[0078] Como apresentado na Figura 7, no bloco 705, o manipula dor de manifesto 430 do servidor 402 recebe uma solicitação para um manifesto correspondendo a um identificador de sessão a partir de um aparelho inteligente (por exemplo, 408a). No bloco 710, o manipulador de manifesto 430 identifica um manifesto de sessão a partir do gerenciador de sessão 432 e um deslocamento baseado no identificador de sessão. O manifesto de sessão e o deslocamento atual são identificados como um dos manifestos armazenados e os deslocamentos localizados na memória estática 432.[0078] As shown in Figure 7, at
[0079] No bloco 715, o manipulador de manifesto 430 ajusta um deslocamento de sessão baseado em uma diferença em uma duração da sessão representada pelo manifesto de sessão a partir de uma duração de sessão representada por um manifesto de sessão anterior armazenado na memória 432 correspondendo à sessão. Em uma concretização, baseado no identificador de sessão, o manipulador de manifesto 430 identifica um cliente (por exemplo, 404a) a partir do qual obter a duração de tempo de pelo menos um anúncio. O manipulador de manifesto 430 ajusta o deslocamento da sessão baseado na duração do pelo menos um anúncio recuperado. O manipulador de manifesto 430 substitui o deslocamento da sessão anteriormente armazenado na memória 432 pelo deslocamento de sessão ajustado.[0079] At
[0080] No bloco 720, quando o manifesto atual compreende um endereço de um intervalo comercial, o manipulador de manifesto 430 identifica no cache (por exemplo, 412a) pelo menos um anúncio a ser inserido na sessão e substitui pelo menos um endereço correspondendo ao pelo menos um segmento do pelo menos um anúncio no manifesto da sessão baseado na diferença. O manipulador de manifesto 430 substitui o manifesto de sessão anterior (o qual pode ser um manifesto de sessão original ou outro manifesto anterior atualizado) na memória 432 pelo manifesto de sessão atualizado.[0080] At
[0081] No bloco 720, o manipulador de manifesto 430 transmite o manifesto de sessão atualizado para o aparelho inteligente (por exem- plo, 408a).[0081] At
[0082] Se o deslocamento ajustado não alterar devido à duração total do intervalo comercial não alterar, ou se somente houver conteúdo endereçado pelo manifesto atual, então o manifesto anteriormente armazenado é uma cópia do manifesto atual. O manifesto anteriormente armazenado é uma cópia de outro manifesto diferente do manifesto atual quando o deslocamento da sessão altera o valor. Adicionalmente, quando o aparelho inteligente (por exemplo, 408a) sintoniza com outro canal ou termina sua sessão, o deslocamento da sessão é reiniciado para zero. O método da Figura 7 é repetido sempre que o transcodificador 422 distribuir um novo manifesto original à medida que o fluxo de transporte progride no tempo transmitido.[0082] If the adjusted offset does not change due to the total length of the commercial break does not change, or if there is only content addressed by the current manifest, then the previously stored manifest is a copy of the current manifest. The previously stored manifest is a copy of another manifest than the current manifest when the session offset changes the value. Additionally, when the smart device (eg, 408a) tunes in to another channel or ends its session, the session offset is reset to zero. The method of Figure 7 is repeated each
[0083] Em uma concretização, quando o manifesto de sessão compreende um endereço de um intervalo comercial, o servidor 402 pode instruir um cliente (por exemplo, 410a) associado com um serviço de decisão de anúncio (por exemplo, 404a) para unir o pelo menos um anúncio a partir de um cache associado (por exemplo, 412a) ao endereço do intervalo comercial na sessão baseado no pelo menos um endereço substituído do manifesto da sessão. Instruir um serviço de decisão de anúncio (por exemplo, 404a) a unir o pelo menos um anúncio ao endereço do intervalo comercial na sessão pode adicionalmente compreender o servidor 402 transmitir, para o serviço de de-cisão de anúncio (por exemplo, 404a), pelo menos uma chamada de anúncio para o endereço do intervalo comercial correspondendo ao identificador de sessão, receber, a partir do serviço de decisão de anúncio (por exemplo, 404a) pelo menos um anúncio, e armazenar o pelo menos um anúncio no cache associado (por exemplo, 412a). Instruir um serviço de decisão de anúncio (por exemplo, 404a) para unir o pelo menos um anúncio ao endereço do intervalo comercial na sessão pode adicionalmente compreender, antes da união, o manipulador de manifesto 430 instruindo o serviço de decisão de anúncio (por exemplo, 404a) para recuperar o pelo menos um anúncio a partir do cache associado (por exemplo, 412a).[0083] In one embodiment, when the session manifest comprises an address from a commercial range, the
[0084] A Figura 8 ilustra uma representação diagramática de uma máquina na forma ilustrativa de um sistema de computador 800 dentro do qual um conjunto de instruções, para causar que a máquina execute qualquer uma ou mais das metodologias discutidas neste documento, possa ser executado. Em alguns exemplos, a máquina pode ser conectada (por exemplo, colocada em rede) com outras máquinas em uma LAN, uma intranet, uma extranet, ou Internet. A máquina pode operar na capacidade de uma máquina servidora no ambiente de rede cliente - servidor. A máquina pode ser um computador pessoal (PC), uma caixa decodificadora de sinais (STB), um servidor, um roteador da rede, comutador ou ponte, ou qualquer máquina capaz de executar um conjunto de instruções (sequencial ou não) que especifica ações a serem executadas por esta máquina. Adicionalmente, apesar de somente uma única máquina ser ilustrada, o termo "máquina" também deve ser assumido como incluindo qualquer coleção de máquinas que individualmente ou de forma conjunta executam um conjunto (ou vários conjuntos) de instruções para executar qualquer uma ou mais das metodologias discutidas neste documento.[0084] Figure 8 illustrates a diagrammatic representation of a machine in illustrative form of a
[0085] O sistema de computador ilustrativo 800 inclui um dispositi vo de processamento (processador) 802, uma memória principal 804 (por exemplo, memória somente para leitura (ROM), memória rápida, memória de acesso aleatório dinâmica (DRAM) tal como DRAM síncrona (SDRAM)), uma memória estática 806 (por exemplo, memória rápida, memória de acesso aleatório estática (SRAM)), e um dispositivo de armazenamento de dados 816, os quais se comunicam uns com os outros via um barramento 808.[0085]
[0086] O processador 802 representa um ou mais dispositivos de processamento de propósito geral tal como um microprocessador, unidade central de processamento, dentre outros. Mais particularmente, o processador 802 pode ser um microprocessador de computador de conjunto complexo de instruções (CISC), microprocessador de computação de conjunto reduzido de instruções (RISC), microprocessador de lavra de instrução muito longa (VLIW), ou um processador implementando outros conjuntos de instruções ou processadores implementando uma combinação de conjunto de instruções. O processador 802 também pode ser um ou mais dispositivos de processamento de propósito especial tal como um circuito integrado de aplicação específica (ASIC), um arranjo de portas programáveis em campo (FPGA), um processador de sinal digital (DSP), processador de rede, dentre outros. O manipulador de manifesto 830 apresentado na Figura 4 pode ser executado pelo processador 802 configurado para executar as operações e etapas discutidas neste documento.[0086] The 802 processor represents one or more general purpose processing devices such as a microprocessor, central processing unit, among others. More particularly, the
[0087] O sistema de computador 800 adicionalmente pode incluir um dispositivo de interface de rede 822. O sistema de computador 800 também pode incluir uma unidade de monitor de vídeo 810 (por exemplo, vídeo de cristal líquido (LCD) ou um tubo de raio catódico (CRT), um dispositivo de entrada alfanumérico 812 (por exemplo, um teclado), um dispositivo de controle de cursor 814 (por exemplo, um mouse), e um dispositivo de geração de sinal 820 (por exemplo, um alto-falante).[0087]
[0088] Uma unidade de controle 816 pode incluir um meio legível por computador 824 no qual são armazenados um ou mais conjuntos de instruções (por exemplo, instruções do manipulador de manifesto 430) incorporando qualquer uma ou mais das metodologias ou funções descritas neste documento. As instruções do manipulador de manifesto 430 também podem residir, completamente ou pelo menos parcialmente, dentro da memória principal 804 e/ou dentro do processador 802 durante a execução das mesmas pelo sistema de computador 800, a memória principal 804 e o processador 802 também constituindo o meio legível por computador. As instruções do manipulador de manifesto 430 adicionalmente podem ser transmitidas ou recebidas através de uma rede via o dispositivo de interface de rede 822.[0088] A
[0089] Apesar de o meio de armazenamento legível por computa dor 824 ser apresentado em um exemplo como sendo um único meio, o termo "meio de armazenamento legível por computador" deve ser assumido como incluindo um único meio não transitório ou vários meios não transitórios (por exemplo, uma base de dados centralizada ou distribuída e/ou caches e servidores associados) que armazenam o um ou mais conjuntos de instruções. O termo "meio de armazenamento legível por computador" também deve ser assumido como incluindo qualquer meio que seja capaz de armazenar, codificar ou transportar um conjunto de instruções para execução pela máquina e que causem que a máquina execute qualquer uma das uma ou mais metodologias da presente revelação. O termo "meio legível por computador", por consequência, deve ser assumido como incluindo, mas não sendo limitado às memórias de estado sólido, meio ótico, e meio magnético.[0089] Although the computer-readable storage medium 824 is presented in an example as a single medium, the term "computer-readable storage medium" should be assumed to include a single non-transient medium or multiple non-transient medium (eg, a centralized or distributed database and/or associated caches and servers) that store the one or more instruction sets. The term "computer-readable storage medium" should also be assumed to include any medium that is capable of storing, encoding, or transporting a set of instructions for execution by the machine and which causes the machine to execute any one or more of the methodologies in the present revelation. The term "computer-readable media", therefore, should be assumed to include, but not be limited to, solid-state, optical, and magnetic media.
[0090] Na descrição acima, vários detalhes são expostos. Entre tanto, é aparente para os versados na técnica tendo o benefício desta revelação que os exemplos da revelação podem ser praticados sem estes detalhes específicos. Em alguns casos, estruturas e dispositivos bem conhecidos são apresentados em forma de digrama de blocos, ao invés do que em detalhe, de modo a evitar obscurecer a descrição.[0090] In the description above, several details are exposed. However, it is apparent to those skilled in the art having the benefit of this disclosure that the disclosure examples can be practiced without these specific details. In some cases, well-known structures and devices are presented in block diagram form, rather than in detail, in order to avoid obscuring the description.
[0091] Algumas partes da descrição detalhada são apresentadas em termos de algoritmos e de representações simbólicas de operações em relação a bits de dados dentro de uma memória de computador. Estas descrições algorítmicas e representações são os meios utilizados pelos versados nas técnicas de processamento de dados para, de forma mais eficaz, transmitir a substância de seu trabalho para ou- tros versados na técnica. Aqui, e geralmente, um algoritmo é concebido para ser uma sequência autoconsistente de etapas, levando a um resultado desejado. As etapas são estas requerendo manipulações físicas de quantidades físicas. Normalmente, apesar de não necessariamente, estas quantidades assumem a forma de sinais elétricos ou magnéticos capazes de serem armazenados, transferidos, combinados, comparados e de outro modo manipulados. Tem se provado conveniente às vezes, principalmente por razões de utilização comum, se referir a estes sinais como bits, valores, elementos, símbolos, caracteres, termos, números, e assim por diante.[0091] Some parts of the detailed description are presented in terms of algorithms and symbolic representations of operations in relation to data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in data processing techniques to more effectively convey the substance of their work to others skilled in the art. Here, and generally, an algorithm is conceived to be a self-consistent sequence of steps leading to a desired result. The steps are these requiring physical manipulations of physical quantities. Typically, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has sometimes proved convenient, mainly for reasons of common usage, to refer to these signs as bits, values, elements, symbols, characters, terms, numbers, and so on.
[0092] Entretanto, deve-se ter em mente que todos estes termos e termos similares são para ser associados com as quantidades físicas apropriadas e são meramente rótulos convenientes aplicados para estas quantidades. A não ser que especificamente declarado como aparente a partir da discussão acima, é apreciado que por toda a descrição, discussões utilizando termos tais como "receber", "gravar", "manter", dentre outros, se referem às ações e processos de um sistema de computador, ou do dispositivo de computação eletrônica similar, que manipula e transforma dados representados como quantidades físicas (por exemplo, eletrônica) dentro dos registros do sistema de computador em outros dados similarmente representados como quantidades físicas dentro das memórias ou dos registros do sistema de computador ou outros tais dispositivos de armazenamento, transmissão e exibição de informação.[0092] However, it should be borne in mind that all these terms and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated as apparent from the above discussion, it is appreciated that throughout the description, discussions using terms such as "receive", "record", "keep", among others, refer to the actions and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical quantities (e.g. electronics) within computer system records into other data similarly represented as physical quantities within system memories or records computer or other such information storage, transmission and display devices.
[0093] Exemplos da revelação também se relacionam com um aparelho para executar as operações neste documento. Este aparelho pode ser especialmente construído para os propósitos requeridos, ou ele pode compreender um computador de propósito geral seletivamente ativado ou reconfigurado por um programa de computador armazenado no computador. Tal programa de computador pode ser armaze- nado em um meio de armazenamento legível por computador, tal como, mas não limitado a, qualquer tipo de disco incluindo discos flexíveis, discos óticos, CD-ROMs, e discos magnéticos - óticos, memórias somente para leitura (ROMs), memória de acesso aleatório (RAMs), EPROMs, EEPROMs, cartões magnéticos ou óticos, ou qualquer tipo de meio adequado para armazenar instruções eletrônicas.[0093] Examples of the disclosure also relate to an apparatus for performing the operations in this document. This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored on the computer. Such computer program may be stored on a computer-readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, memory-only read-only memory (ROMs), random access memory (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any other suitable medium for storing electronic instructions.
[0094] Os algoritmos e exibições apresentados neste documento não estão inerentemente relacionados com qualquer computador ou outro aparelho particular. Vários sistemas de propósito geral podem ser utilizados com programas de acordo com as instruções neste documento, ou pode ser conveniente construir um aparelho mais especializado para executar as etapas requeridas do método. A estrutura ilustrativa para vários destes sistemas aparece a partir da descrição neste documento. Em adição, a presente revelação não é descrita com referência a qualquer linguagem de programação particular. Será aparente que várias linguagens de programação podem ser utilizadas para implementar as instruções da revelação como descritas neste documento.[0094] The algorithms and displays presented in this document are not inherently related to any particular computer or other device. Various general purpose systems can be used with programs according to the instructions in this document, or it may be convenient to build a more specialized apparatus to perform the required steps of the method. The illustrative structure for several of these systems appears from the description in this document. In addition, the present disclosure is not described with reference to any particular programming language. It will be apparent that various programming languages can be used to implement the disclosure instructions as described in this document.
[0095] É para ser entendido que a descrição acima é pretendida para ser ilustrativa e não restritiva. Vários outros exemplos serão aparentes para os versados na técnica quando da leitura e entendimento da descrição acima. Portanto, o escopo da revelação deve ser determinado com referência às reivindicações anexas, junto com o escopo total de equivalentes para os quais tais reivindicações são autorizadas.[0095] It is to be understood that the above description is intended to be illustrative and not restrictive. Several other examples will be apparent to those skilled in the art upon reading and understanding the above description. Therefore, the scope of disclosure must be determined with reference to the appended claims, together with the full scope of equivalents for which such claims are authorized.
Claims (19)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/039275 WO2014178872A2 (en) | 2013-05-02 | 2013-05-02 | Method and system for efficient manifest manipulation |
Publications (3)
Publication Number | Publication Date |
---|---|
BR112014029971A2 BR112014029971A2 (en) | 2017-06-27 |
BR112014029971A8 BR112014029971A8 (en) | 2021-05-25 |
BR112014029971B1 true BR112014029971B1 (en) | 2022-08-09 |
Family
ID=51844079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR112014029971-4A BR112014029971B1 (en) | 2013-05-02 | 2013-05-02 | COMPUTER-IMPLEMENTED METHOD, SYSTEM AND NON-TRANSITORY COMPUTER READable STORAGE MEDIA FOR MANIFEST HANDLING |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP2883201A4 (en) |
BR (1) | BR112014029971B1 (en) |
CA (1) | CA2875845C (en) |
MX (1) | MX359563B (en) |
WO (1) | WO2014178872A2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11044520B2 (en) | 2016-12-29 | 2021-06-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Handling of video segments in a video stream |
US10887799B2 (en) | 2019-01-10 | 2021-01-05 | Cisco Technology, Inc. | SRv6 user-plane-based triggering methods and apparatus for session or flow migration in mobile networks |
CN112488762B (en) * | 2020-11-30 | 2024-06-28 | 维沃移动通信有限公司 | Advertisement resource processing method, device, equipment and readable storage medium |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8949882B2 (en) * | 2007-12-06 | 2015-02-03 | This Technology, Inc. | System and method for enabling content providers to identify advertising opportunities |
US8914824B2 (en) | 2009-01-07 | 2014-12-16 | Microsoft Corporation | Video ad delivery using configurable video ad policies |
CN104394487B (en) * | 2010-03-05 | 2018-02-06 | 三星电子株式会社 | The method and apparatus that self adaptation stream is generated and reproduced based on file format |
AU2010202741B1 (en) * | 2010-06-30 | 2010-12-23 | Adeia Media Holdings Llc | Dynamic chunking for media streaming |
US8806050B2 (en) * | 2010-08-10 | 2014-08-12 | Qualcomm Incorporated | Manifest file updates for network streaming of coded multimedia data |
KR20120060134A (en) * | 2010-08-16 | 2012-06-11 | 삼성전자주식회사 | Method and apparatus for reproducing advertisement |
US8677428B2 (en) * | 2010-08-20 | 2014-03-18 | Disney Enterprises, Inc. | System and method for rule based dynamic server side streaming manifest files |
US20120198492A1 (en) * | 2011-01-31 | 2012-08-02 | Cbs Interactive, Inc. | Stitching Advertisements Into A Manifest File For Streaming Video |
US8234350B1 (en) * | 2011-12-19 | 2012-07-31 | Seachange International, Inc. | Systems and methods for generating targeted manifest files |
-
2013
- 2013-05-02 EP EP13883523.6A patent/EP2883201A4/en not_active Withdrawn
- 2013-05-02 MX MX2014015107A patent/MX359563B/en active IP Right Grant
- 2013-05-02 WO PCT/US2013/039275 patent/WO2014178872A2/en active Application Filing
- 2013-05-02 CA CA2875845A patent/CA2875845C/en active Active
- 2013-05-02 BR BR112014029971-4A patent/BR112014029971B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CA2875845C (en) | 2020-08-25 |
BR112014029971A8 (en) | 2021-05-25 |
MX2014015107A (en) | 2015-08-06 |
EP2883201A2 (en) | 2015-06-17 |
CA2875845A1 (en) | 2014-11-06 |
MX359563B (en) | 2018-10-01 |
EP2883201A4 (en) | 2016-03-09 |
WO2014178872A3 (en) | 2015-04-02 |
WO2014178872A2 (en) | 2014-11-06 |
BR112014029971A2 (en) | 2017-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8799943B1 (en) | Method and system for efficient manifest manipulation | |
US10038925B2 (en) | Server side adaptive bit rate reporting | |
US8863164B1 (en) | Server side adaptive bit rate reporting | |
EP2839638B1 (en) | Accelerating advertising decision resolution | |
US20130291014A1 (en) | Method and system for uniformly marking and identifying placement opportunity locations for facilitating accelerated decision resolution | |
US8468563B1 (en) | Method for ingesting multiple signals of the same meaning | |
US20240147019A1 (en) | In-Band Trick Mode Control | |
BR112014029971B1 (en) | COMPUTER-IMPLEMENTED METHOD, SYSTEM AND NON-TRANSITORY COMPUTER READable STORAGE MEDIA FOR MANIFEST HANDLING |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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] | ||
B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
B16A | Patent or certificate of addition of invention granted [chapter 16.1 patent gazette] |
Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 02/05/2013, OBSERVADAS AS CONDICOES LEGAIS |
|
B21F | Lapse acc. art. 78, item iv - on non-payment of the annual fees in time |
Free format text: REFERENTE A 11A ANUIDADE. |
|
B24J | Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12) |
Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2773 DE 27-02-2024 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013. |