BRPI0710320A2 - método que permite baixar e utilizar conteúdos musicais digitais em um dispositivo de computação portátil sem fio e respectivo dispositivo - Google Patents

método que permite baixar e utilizar conteúdos musicais digitais em um dispositivo de computação portátil sem fio e respectivo dispositivo Download PDF

Info

Publication number
BRPI0710320A2
BRPI0710320A2 BRPI0710320-4A BRPI0710320A BRPI0710320A2 BR PI0710320 A2 BRPI0710320 A2 BR PI0710320A2 BR PI0710320 A BRPI0710320 A BR PI0710320A BR PI0710320 A2 BRPI0710320 A2 BR PI0710320A2
Authority
BR
Brazil
Prior art keywords
user
music
server
client
musicstation
Prior art date
Application number
BRPI0710320-4A
Other languages
English (en)
Inventor
Mark Stephen Knight
Michael Ian Lamb
Robert John Lewis
Stephen William Pocock
Philip Anthony Sant
Mark Peter Sullivan
Christopher John Evans
Original Assignee
Omnifone Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=37899084&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BRPI0710320(A2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from GB0608936A external-priority patent/GB0608936D0/en
Priority claimed from GB0608932A external-priority patent/GB0608932D0/en
Priority claimed from GB0608935A external-priority patent/GB0608935D0/en
Priority claimed from GB0608933A external-priority patent/GB0608933D0/en
Priority claimed from GB0608934A external-priority patent/GB0608934D0/en
Application filed by Omnifone Ltd filed Critical Omnifone Ltd
Publication of BRPI0710320A2 publication Critical patent/BRPI0710320A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4627Rights management associated to the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72442User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for playing music files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/635Filtering based on additional data, e.g. user or group profiles
    • G06F16/637Administration of user profiles, e.g. generation, initialization, adaptation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/638Presentation of query results
    • G06F16/639Presentation of query results using playlists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/64Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/686Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title or artist information, time, location or usage information, user ratings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1403Architecture for metering, charging or billing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • H04M1/72436User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for text messaging, e.g. SMS or e-mail
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/41Billing record details, i.e. parameters, identifiers, structure of call data record [CDR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/80Rating or billing plans; Tariff determination aspects
    • H04M15/8005Flat-fee
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/4872Non-interactive information services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2543Billing, e.g. for subscription services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/082Access security using revocation of authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/084Access security using delegated authorisation, e.g. open authorisation [OAuth] protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/24Accounting or billing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/20Transfer of user or subscriber data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/101Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/35Aspects of automatic or semi-automatic exchanges related to information services provided via a voice call
    • H04M2203/358Digital rights management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Abstract

MéTODO QUE PERMITE BAIXAR E UTILIZAR CONTEúDOS MUSICAIS DIGITAIS EM UM DISPOSITIVO DE COMPUTAçãO PORTáTIL SEM FIO E RESPECTIVO DISPOSITIVO, um aplicativo em execução no dispositivo sem fio foi automaticamente adaptado a parâmetros associados com o dispositivo sem fios, sem a entrada de informações feita pelo usuário final, como, por exemplo, o aplicativo foi configurado na dependência do sistema operacional do dispositivo e programa residente (firmware), erros de programação (bugs) relacionados, tamanho da tela, número de elementos de imagem (pixels), modelos de segurança, manuseio da conexão, memória etc. Este aplicativo permite que um usuário final navegue e busque conteúdo musical em um servidor remoto, por meio do uso de uma rede sem fio, faça o download conteúdo musical do dito servidor remoto por meio do uso da rede sem fio e reproduza e gerencie esse conteúdo musical baixado. O aplicativo também inclui um sistema de gerenciamento de direitos digitais, que permite baixar, de forma legal e ilimitada, diferentes faixas de músicas para o dispositivo de computação portátil sem fio, bem como também permite que qualquer uma dessas faixas de músicas armazenadas no dispositivo possa ser tocada, contanto que o serviço de assinatura não tenha terminado.

Description

"MÉTODO QUE PERMITE BAIXAR E UTILIZAR CONTEÚDOS MUSICAISDIGITAIS EM UM DISPOSITIVO DE COMPUTAÇÃO PORTÁTIL SEM FIO E
RESPECTIVO DISPOSITIVO"
Campo da Invenção
Trata-se a presente invenção de um método que permitebaixar e utilizar conteúdos musicais digitais em um dispositivo de computaçãoportátil sem fio. A expressão "dispositivo de computação portátil sem fio" utilizadano presente relatório descritivo deve ser interpretada de forma ampla, de forma aenglobar qualquer tipo de dispositivo portátil com capacidades de comunicaçãosem fio bidirecional, que inclui, sem limitação, rádio-telefones, telefones móveis,telefones inteligentes, comunicadores, computadores pessoais, computadores edispositivos específicos a programas aplicativos.'Estes dispositivos específicos deprogramas aplicativos incluem dispositivos com capacidade de se comunicar dealguma forma, por meio de qualquer tipo de rede, como, por exemplo, GSM ouUMTS, rádio móvel CDMA e WCDMA, Bluetooth, IrDA, etc.
Fundamentos da Invenção
Nos últimos anos, ocorreram enormes mudanças naforma como a música é distribuída e consumida. O método tradicional, pelo qual oconsumidor adquire um produto físico em uma loja e o escuta em casa, deixou deser tão comum, e a receita mundial total para a indústria discográfica passou deum pouco menos de US$40 trilhões em 2000 para US$ 31 trilhões em 2005.Entretanto, houve um enorme crescimento na distribuição de música digitalatravés da internet, inicialmente sob a forma de compartilhamento ilegal dearquivos, mas, ultimamente, as músicas estão sendo cada vez mais pagas ebaixadas através da internet. Os leitores portáteis de áudio digital (DAPs),exemplificados pela Apple iPod™, exerceram um dramático efeito sobre omercado musical mundial. Apenas cinco anos após a introdução do primeiro leitorportátil de áudio digital, as vendas de música digital em nível mundial jáapresentavam um crescimento superior a US$ 5 trilhões, em 2005.
Para inverter estas tendências, os selos musicais estãoagora voltando suas atenções para atingir o mercado móvel, onde a música évendida através dos telefones móveis (ou outros tipos de dispositivos portáteissem fio) e distribuída através da rede sem fio celular. 0 valor potencial já éevidente mediante o crescimento explosivo do mercado de toques de chamadatelefônica, e tanto os selos musicais como as operadoras da rede móvel (MNOs)acreditam que a faixa da música inteira poderia proporcionar mais receitas, maiorsegurança e melhor determinação de preços em comparação com a músicadigital em um computador pessoal.
O telefone móvel tem algumas vantagens distintas emrelação ao iPod e a outros leitores portáteis de áudio digital (DAPs). Além dereproduzir músicas, os telefones móveis são conectados a uma rede sem fiorápida cada vez mais segura, por meio da qual os usuários podem localizar ecompartilhar músicas em movimento e pagar pelos conteúdos, por meio do usode facilidades de faturamento convenientes e integradas às operadoras de redemóvel. O aumento de inovações por parte dos fabricantes de telefones móveisestá ajudando a progredir o mercado.
No entanto, ainda existem grandes desafios pela frente. Aconfiança na tecnologia de internet móvel WAP (Protocolo de aplicativos sem fio)como o principal meio de venda de conteúdo musical completo é limitada. Atecnologia é adversa, lenta e excessivamente complicada para os usuários. Naverdade, o maior grupo de telefonia móvel do mundo, Vodafone Global, temevitado vender o download de músicas inteiras, exceto para os telefonessofisticados 3G, devido às dificuldades do usuário final em relação à tecnologia deinternet móvel WAP. Muitas outras operadoras foram obrigadas a assumir umaabordagem semelhante. Isto tem limitado a implantação de serviços de downloadde faixas de músicas inteiras - somente uma pequena minoria de assinantes detelefonia móvel pode utilizar ou ter acesso aos telefones sofisticados 3G. Nomercado relativamente maduro do Reino Unido, em 2005, menos de meio milhãode 14,4 milhões de usuários da Vodafone tinham o telefone 3G - uma penetraçãode mercado de aproximadamente 3%. Muitas outras operadoras têm umapenetração nula ou muito limitada de telefones 3G.
As operadoras da rede móvel (MNOs) também estãopreocupadas com a pouca experiência da reprodução musical disponível, atémesmo nos sofisticados telefones 3G. Mesmo quando os dispositivos sãocomercializados como telefones musicais sofisticados, eles geralmente nãoconseguem oferecer uma experiência ao usuário semelhante a um leitor MP3comum.
Duas alternativas para aquisição com base na tecnologiade internet móvel WAP de conteúdo musical completo estão atualmentefavorecidas:
• serviços ao vivo pela Internet, que oferece aos usuáriosserviços de rádio ao vivo personalizados para o seu telefone.
• aplicativos de loja de música, que executam localmenteem um telefone móvel e oferecem aos usuários a capacidade de comprar faixasde músicas e álbuns diretamente do telefone móvel.
As soluções de rádio ao vivo pela Internet são, noentanto, um nicho do mercado. A exigência para uma conexão constante dedados e a falta de controle total do usuário do que um usuário ouve significam quea proposição e o recurso do consumidor são limitados. As soluções ao vivotambém sofrem com o alcance limitado do telefone e com a exigência para umaconexão de dados a alta velocidade (geralmente 3G). As operadoras queoferecem estes serviços também devem planejar e investir em uma significativacarga de rede - todas as faixas de músicas devem ser baixadas cada vez quesão tocadas.
Os aplicativos de lojas de conteúdos musicais oferecemuma proposição mais cativante ao usuário, mas também sofrem com o alcancelimitado do telefone, com foco nos telefones nichos de mercado, Symbian e 3G. Aexperiência do usuário com esses dispositivos também é limitada atualmente,com produtos concorrentes que oferecem apenas serviços limitados depagamento por faixa de música e com funcionalidade limitada que não consegueaproveitar da riqueza de um leitor de áudio digital (DAP) de alta qualidade. Estafuncionalidade limitada, combinada com os catálogos de músicas relativamentepequenos, tem limitado severamente o recurso destas soluções até o presentemomento.
Sumário da InvençãoA presente invenção proporciona uma solução ponderada,confiável e conveniente, que irá permitir aos usuários comprar, gerenciar e ouvir,com facilidade, a música, em dispositivos de computação portáteis sem fio.
Uma implementação é chamada MusicStation™. OMusicStation™ oferece um método que permite baixar e utilizar conteúdosmusicais digitais em um dispositivo de computação portátil sem fio, sendo que odito método compreende as seguintes etapas:
(a) um programa aplicativo em execução no dispositivo decomputação sem fio, sendo que o dito programa aplicativo foi automaticamenteadaptado aos parâmetros associados ao dispositivo de computação sem fio, sema entrada de informações feita pelo usuário final;
(b) o programa aplicativo permite ao usuário final navegare buscar o conteúdo musical em um servidor remoto, por meio do uso de umarede sem fio, baixar o conteúdo musical a partir do dito servidor remoto, por meiodo uso da rede sem fio, reproduzir e gerenciar o conteúdo musical baixado, e;
(c) o programa aplicativo inclui um sistema degerenciamento de direitos digitais, que permite baixar, de forma legal e ilimitada,diferentes faixas de músicas para o dispositivo de computação portátil sem fio,bem como também permite que qualquer uma dessas faixas de músicasarmazenadas no dispositivo possa ser tocada, contanto que o serviço deassinatura não tenha terminado.
A presente invenção tem o compromisso de serverdadeiramente transformadora no que diz respeito à maneira pela qual aspessoas adquirem e ouvem a música digital. Ela reúne, pela primeira vez, umasérie de tecnologias que funcionam sinergicamente, para oferecer uma soluçãototal, que é significativamente maior que a soma das suas partes. Por exemplo,uma vez que o programa aplicativo pode ser adaptado automaticamente aosparâmetros associados ao dispositivo de computação sem fio, sem a entrada deinformações feita pelo usuário final, torna-se viável fornecer, automaticamente,uma grande quantidade de dispositivos portáteis sem fio com o programaaplicativo (seja antes da venda ou permitir que os usuários façam o download einstalação do programa aplicativo, por exemplo, bastando, simplesmente, dar aum servidor remoto, a marca e o número do modelo do dispositivo portátil semfio). A base instalada dos telefones móveis, por exemplo, poderia, portanto,facilmente funcionar em dezenas, senão centenas de milhões - muito mais doque qualquer leitor de áudio digital (DAP). O programa aplicativo também permitea um usuário final navegar e buscar o conteúdo musical em um servidor remoto,por meio do uso de uma rede sem fio; baixar o conteúdo musical a partir do ditoservidor remoto, por meio do uso da rede sem fio, reproduzir e gerenciar oconteúdo musical baixado: assim, a base instalada não só será muito superior aqualquer solução do leitor de áudio digital (DAP), mas como também suafuncionalidade será melhor do que qualquer leitor de áudio digital (DAP), pois serápossível buscar e comprar novas músicas diretamente do dispositivo através darede sem fio (este é um processo muito mais natural do que comprar uma músicaatravés da Internet, por meio de catálogos on-line, fazendo uso de umcomputador pessoal e, então, sincronizar o computador pessoal com o leitor deáudio digital (DAP)). Por fim, o programa aplicativo inclui um sistema degerenciamento de direitos digitais, que permite baixar, de forma legal e ilimitada,diferentes faixas de músicas para o dispositivo de computação portátil sem fio,bem como também permite que qualquer uma dessas faixas de músicasarmazenadas no dispositivo possa ser tocada, contanto que o serviço deassinatura não tenha terminado. Isto permite aos usuários explorar novasmúsicas, de forma muito mais eficaz do que anteriormente, à custa de memóriacada vez menor, armazenar milhares de faixas de músicas, mesmo emdispositivos de categoria média. As empresas discográficas estarão dispostas afazer catálogos completos de músicas disponíveis, devido ao robusto modelo comDRM (gerenciamento de direitos digitais), à imensa base instalada do usuário e àfacilidade de explorar e comprar novas músicas. Isto cria uma reação positiva,com mais e melhores conteúdos, atraindo mais usuários que, por sua vez, atraimais conteúdos.
O produto MusicStation™ apresenta uma série devantagens em relação a seus principais concorrentes, como, por exemplo:
• A experiência do usuário intuitiva e abrangente queenvolve todas as funções da música;• A compatibilidade com uma maior variedade deaparelhos de telefone do que qualquer outro concorrente, devido à ArquiteturaAdaptativa ao Dispositivo (DAA - Consulte abaixo mais detalhes), que assegura aexecução do programa aplicativo em quase todos os telefones com capacidade
de tocar música (independentemente do modelo ou fabricante), bem como parecee opera de uma maneira praticamente idêntica, em todos eles;
• O produto MusicStation™ maximiza os benefícios dotelefone móvel. Ao contrário dos leitores portáteis de áudio digital (DAPs), nosquais as músicas só podem ser compradas em casa, os usuários do produto
MusicStation™ podem descobrir e comprar novas músicas em qualquer lugar;
• O produto MusicStation™ não precisa de umcomputador pessoal, banda larga, iTunes ou um cartão de crédito para funcionar.
• O produto MusicStation™ aceita novos modelosinovadores, como, por exemplo, AYCE, ou seja, downloads ilimitados, ecaracterísticas da comunidade do usuário, como, por exemplo, fazer amigos ecompartilhar listas de Músicas.
O Produto MusicStation™
O produto MusicStation™ foi projetado para ser atecnologia aplicada principal que permitirá a adoção em massa do telefone móvel
como o sucessor do leitor de áudio digital (DAP) desconectado. Para garantir osucesso, a equipe de projetistas e de desenvolvimento concentrou-se nosseguintes requisitos-chave, para oferecer um produto musical de mercado deúltima geração:
• Experiência do Usuário que Supera o Melhor Leitor de Áudio Digital (DAP)
O tradicional leitor nativo em telefones móveis é dequalidade inferior, quando comparado com os melhores leitores portáteis de áudiodigital (DAPs). O produto MusicStation™ oferece uma interface que é tãocompleta quanto qualquer leitor de áudio digital (DAP) líder de mercado, mas também é otimizado para os benefícios de um dispositivo conectado.
• Maximização dos Benefícios da ConectividadeO telefone móvel é um dispositivo "Quase SempreConectado" (AAC)1 por isso, um produto musical baseado em telefones podepermitir a compra direta de músicas quando em movimento e não apenas quandoestá fisicamente ligado a um computador pessoal conectado à internet.
• Garantia de Não-Dependência de Um ComputadorPessoal
Um produto de telefone integrado não requer que ousuário tenha um computador pessoal com conexão banda larga. Isso éparticularmente essencial em mercados em desenvolvimento, onde, geralmente,os usuários de telefones móveis não têm acesso a essa tecnologia, nem mesmoum cartão de crédito. Quando os usuários têm acesso a um computador pessoal,eles têm que conseguir acessar músicas e listas de músicas, seja em seucomputador pessoal ou em movimento, mas não deverá ter dependência docomputador pessoal, da tecnologia de banda larga ou de cartão de crédito.
• PermitirFaturamento Direto
O programa aplicativo de música móvel deve ser capazde incentivar a relação de faturamento entre o consumidor e a operadora de redemóvel (MNO). Ao oferecer um método de faturamento rápido muito maisconveniente para a compra de conteúdos musicais, independentemente dalocalização, a venda de músicas pode ser realmente maximizada, especialmenteem comparação com o uso de cartão de crédito baseada na Internet, em umcomputador pessoal, com um processo de registro excessivamente trabalhoso,que também exige um difícil requisito de sincronização com o dispositivo portátil.
• Disponibilizar Escuta Sem-Fio
Um programa aplicativo de música no telefone deve sercapaz de utilizar o recurso Bluetooth disponível em muitos telefones móveis, parapermitir que a música seja tocada e compartilhada com outros dispositivoscompatíveis com Bluetooth, como, por exemplo, telefones sem fio, sistemas desom de alta fidelidade e estéreo em automóveis.
• Ter a Vantagem de Alta Disponibilidade (24 horaspor dia / 7 dias por semana)O telefone móvel é o aparelho eletrônico com maisprobabilidade de estar presente com um usuário 24 horas por dia/7 dias porsemana, dando uma oportunidade muito maior para a interação do consumidor,seja para escuta, compra ou gerenciamento de músicas. Por isso, é importanteque um programa aplicativo de músicas seja projetado para ser atraente e fácil deser utilizado, mesmo para os assinantes que se atrapalham, acidentalmente,enquanto exploram o recurso do telefone pela primeira vez.
• Oferecer Características de Comunidade aosUsuários
Como um dispositivo quase sempre conectado (AAC), otelefone móvel pode oferecer características de interação de comunidade emmovimento, a chave para possibilitar uma maior descoberta de músicas aoconsumidor, através de listas de músicas compartilhadas e gráficos de listas demúsicas gerados pelos usuários. Esta é uma vantagem especial em relação aoleitor de áudio digital (DAP) não-conectado.
• Aproveitar ao Máximo do Guia de Uso do Telefone
A grande maioria dos aparelhos será capaz de tocarmúsica, mesmo que estes aparelhos não sejam ativamente promovidos ouqualificados como um telefone musical pela operadora de rede móvel (MNO) oupelo fabricante. Para maximizar as receitas potenciais, qualquer programaaplicativo de músicas deverá estar disponível para cada telefone com capacidadede tocar música, seja 2,5 G ou 3G e seja qual for o fabricante, permitindo asoperadoras da rede móvel (MNOs) considerar o download completo da músicacomo uma oportunidade de mercado de massa, pela primeira vez.
O produto MusicStation™ foi concebido com base nessasnecessidades fundamentais. O resultado final é verdadeiramente capaz detransformar a grande maioria dos telefones móveis com capacidade para músicaem "Super leitores portáteis de áudio digital". Criticamente, o produtoMusicStation™ oferece toda a qualidade de experiência do usuário e desempenhodo leitor de áudio digital (DAP) (em termos de música e gerenciamento), aomesmo tempo em que oferece todas as características de navegação, buscas,compras e listas de músicas das principais lojas virtuais de músicas baseadas nocomputador pessoal. O MusicStation™ oferece características de comunidadetribal aos usuários, que podem melhorar seu processo de descoberta musical,bem como notícias personalizadas e opiniões (nenhuma das quais estãodisponíveis em qualquer leitor de áudio digital (DAP)).
Outras características incluem:
• Uma única interface intuitiva com o usuário que envolvetocar música/gerenciar lista de Músicas/comprar conteúdos/ notícias/recurso decomunidade;
• Disponibilidade de todas as funções disponíveis durantea reprodução musical (aquisição de notícias, busca/navegação, etc.);
• Tecnologia de download paralelo inteligente, que permitea disposição inteligente, de forma oculta, do conteúdo favorito;
• Monitoramento contínuo interno da rede (característicase interface inteligentemente adaptadas, dependendo do nível de conectividade darede disponível - 3G/2.5G/0G);
• Integração de faturamento direto (permite o faturamentorápido de forma extremamente conveniente, sem a exigência de um cartão decrédito ou conta) - a infra-estrutura de faturamento para o serviço de assinaturafaz parte da infra-estrutura de faturamento fornecida por uma operadora de redeque controla a rede sem fio;
• Proteção de arquivo musical padrão industrial porgerenciamento de direitos digitais (DRM). O sistema de gerenciamento de direitosdigitais (DRM) também permite a compra de uma faixa de música, de tal formaque a faixa de música ainda possa ser reproduzida se o serviço de assinaturativer terminado.
Por ser um programa aplicativo conectado, ao contráriodos leitores portáteis de áudio digital (DAPs), o produto MusicStation™ é capazde oferecer um pacote de assinatura semanal ou diário de downloads ilimitados(AYCE) diretamente do telefone móvel pela primeira vez. Há muitas evidências deque a receita média por assinante de downloads ilimitados (AYCE) ésubstancialmente mais alta do que a de um usuário tradicional que paga por faixade música (PPT). Até o presente momento, a maioria das implementações dedownloads ilimitados (AYCE) foram assinaturas baseadas em computadorespessoais, em vez de serem vendidas em um dispositivo móvel conectado.
Arquitetura Adaptativa ao Dispositivo (DAA)
Um dos principais problemas para os aplicativos móveisaté o presente momento tem sido a dificuldade de transferir novos aplicativos paratelefones móveis e distribuir aplicativos que funcionem em diversas fabricantes emodelos de telefone. Resolver este desafio é uma das mais importantesdificuldades técnicas que o produto MusicStation™ busca. A ArquiteturaAdaptativa ao Dispositivo (DAA) é a solução.
Em essência, a Arquitetura Adaptativa ao Dispositivo(DAA) permite ao produto MusicStation™ ser implantado em mais telefonesmóveis do que qualquer outro concorrente. A Arquitetura Adaptativa aoDispositivo (DAA) também permite ao produto MusicStation™ ser transferido paranovos telefones móveis em horas e não em semanas ou meses - com a criaçãode um fabricante e uma versão específica do modelo do telefone do aplicativo, emcada caso.
Até a Arquitetura Adaptativa ao Dispositivo (DAA), todosos aplicativos móveis-sejam estes específicos de música ou mais generalizados-tinham alcance limitado. As obstruções características incluíam:
• Variações do fabricante do design do telefone/capacidades de memória;
• Liberação do sistema operacional e programa residente(firmware) e erros de programação (bugs) relacionados;
• Tamanho de tela, número de elementos de imagem(pixels), profundidade de cor, comandos do teclado e variações das teclas defunções programáveis;
• Tamanho físico;
• Arquivos de mídia e formatos aceitos (por exemplo,áudio, imagens, vídeos e animações);
• Versão da plataforma Java e diferenciais daimplementação da plataforma;
• Modelos de segurança específicos do telefone;Manuseio da conexão e capacidades;Deixar de aderir às especificações publicadas;Potência de computação e outros recursos
computacionais;
Memória;
• Capacidades da rede e recursos do dispositivo, incluindouma ou mais das seguintes tecnologias: CSD1 GPRS, 2G, 2,5G, 3G, WAP, SMS,Bluetooth, infravermelho, Wi-Fi, WiMAX.
Basicamente, as características variam bastante por telefone móvel e por fabricante e/ou também por operadora de rede - e muitostelefones móveis podem sofrer erros em sua implementação. A ArquiteturaAdaptativa ao Dispositivo (DAA) soluciona esses problemas e permite que oproduto seja transferido automaticamente para a grande maioria dos telefonescom capacidade musical 3G e 2,5 G1 em tempo recorde. A Arquitetura Adaptativaao Dispositivo (DAA) captura os parâmetros associados a estas váriascaracterísticas e permite que um programa aplicativo seja construídoautomaticamente de forma personalizada para uma determinada combinação detelefone móvel/ operadora da rede, sem a entrada de informações feita pelousuário final. Maiores detalhes sobre a Arquitetura Adaptativa ao Dispositivo(DAA) podem ser encontrados na Patente Internacional WO 2006/061595, cujoconteúdo foi incorporado no presente relatório apenas a título de referência.
Também é bastante importante observar que a plataformade referência do produto MusicStation™ é a plataforma Java. Alguns produtoscompetitivos foram construídos na plataforma Symbian, que é fácil de serutilizada. Embora seja relativamente fácil de desenvolver aplicativos para estaplataforma, ela não oferece a oportunidade para uma proposição musical para omercado de massa. Menos de 10% dos telefones móveis no mundo têm aplataforma Symbian integrada e muitos destes são telefones voltados paranegócios. A plataforma Java é a plataforma móvel mais adotada e crítica para alcançar os telefones móveis. Ela está disponível em quase todos os telefonesmóveis de padrão médio e superior. A combinação da tecnologia de ArquiteturaAdaptativa ao Dispositivo (DAA) e a plataforma Java significa que o produtoMusicStation™ pode ser distribuído a mais consumidores do que qualquer outratecnologia - e criticamente atuar e ter o aspecto visual e operacional quaseidêntico, independentemente do fabricante ou modelo. O produto MusicStation™estará disponível em Java1 Symbian, Windows Mobile, Linux e BREW.
Outras características incluem o seguinte:
• o programa aplicativo apresenta uma interface gráfica deusuário, na qual mostra diversas abas selecionáveis pelo usuário, sendo que cadaaba é associada com uma função principal do programa aplicativo.
- cada aba fica visível a qualquer momento, enquanto oaplicativo está sendo executado;
- uma aba é associada a uma função principal, quefornece acesso a todos os conteúdos disponíveis e a uma função de busca;
- uma aba, se selecionada, oferece detalhes da faixa demúsica que está sendo tocada naquele momento;
- uma aba, se selecionada, oferece acesso a recursos dacomunidade e notícias;
- uma aba, se selecionada, exibe a atual fila de faixas demúsicas para ouvir e/ou baixar.
• o programa aplicativo apresenta uma interface gráfica deusuário, na qual várias telas mostram um item do menu More que é sensível aocontexto e, se selecionado, fornece acesso a outras funções pertinentes para umitem atualmente selecionado e/ou a tela atualmente exibida.
• o programa aplicativo é controlado por meio do uso deum controle multitarefa sensível ao contexto; a função específica do controle éexibida por um ícone na tela acima do mesmo. A operação do controle éreproduzida por teclas numéricas, no teclado, por exemplo, a tecla numérica 5 ficaem cima, a tecla numérica 0 fica embaixo, a tecla numérica 7 fica à esquerda e atecla numérica 9 fica à direita.
• o programa aplicativo oferece uma função de aquisiçãode contexto apropriado, no qual uma função equivalente a "Obter Novo Artista"está no mesmo nível no menu, como "Artista". Uma função equivalente a "ObterNova Faixa" está no mesmo nível no menu, como o menu que lista as faixas demúsicas para um artista.
• o programa aplicativo permite que um dispositivofuncione como um dispositivo mestre de reprodução, de tal forma que outrosdispositivos portáteis sem fio conectados por meio de conexão sem fioreproduzem a mesma faixa de música com sincronização de tempo. A conexãosem fio pode ser uma conexão sem fio de curto alcance, como, por exemplo, pelatecnologia Bluetooth.
• o programa aplicativo inclui uma tecla numéricadedicada "tocar", que sempre se alterna de volta para a tela "tocar", que mostra afaixa que está sendo reproduzida.
• o programa aplicativo inclui intervalos variáveis, sendoque telas diferentes têm intervalos diferentes, como, por exemplo, uma tela debusca nunca volta repentinamente, mas uma tela de notícias volta depois de 20segundos, em comparação com um padrão tela de navegação padrão, que podevoltar após 7 segundos.
• o programa aplicativo apresenta notícias dirigidas,filtradas de acordo com os hábitos de escuta do usuário final.
• o programa aplicativo rastreia e informa, a um servidorremoto, dados detalhados de escuta do usuário final. Os dados incluem há quantotempo as faixas de músicas foram tocadas e quando e quais faixas de músicasforam puladas. Os dados podem ficar dispostos de forma oculta, localmente nodispositivo e depois serem enviados de volta para o servidor como um carona,durante uma comunicação que de qualquer forma ocorra. O dispositivo envianovamente os dados, de forma preventiva, sem esperar que a comunicaçãoesperada ocorra de qualquer forma, apenas se o usuário não tenha baixadodurante um tempo maior do que o selecionado. Esses dados podem ser utilizadospara enriquecer um motor de sugestão de músicas, que fornece sugestões defaixas de músicas no visor do dispositivo.
· o programa aplicativo apresenta listas de músicas compartilhadas.• o programa aplicativo apresenta gráficos de listas demúsicas geradas pelos usuários.
• todas as funções do programa aplicativo ficamdisponíveis durante a reprodução musical.
• as funções disponíveis durante a reprodução incluemaquisição de notícias, bem como navegação, aquisição e busca de faixas demúsicas.
Outro aspecto da presente invenção consiste emapresentar um dispositivo de computação portátil sem fio que permite que osconteúdos musicais digitais sejam baixados e utilizados, sendo que o ditodispositivo de computação portátil sem fio compreende:
(a) um programa aplicativo em execução no dispositivo decomputação sem fio, sendo que o dito programa aplicativo foi automaticamenteadaptado aos parâmetros associados ao dispositivo sem fios, sem a entrada deinformações feita pelo usuário final,
(b) o programa aplicativo permite ao usuário final navegare buscar o conteúdo musical em um servidor remoto, por meio do uso de umarede sem fio, baixar o conteúdo musical a partir do dito servidor remoto, por meiodo uso da rede sem fio, reproduzir e gerenciar o conteúdo musical baixado, e;
(c) o programa aplicativo inclui um sistema degerenciamento de direitos digitais, que permite baixar, de forma legal e ilimitada,diferentes faixas de músicas para o dispositivo de computação portátil sem fio,bem como também permite que qualquer uma dessas faixas de músicasarmazenadas no dispositivo possa ser tocada, contanto que o serviço deassinatura não tenha terminado.
Um terceiro aspecto da presente invenção consiste emapresentar um programa aplicativo que permite que os conteúdos musicaisdigitais sejam baixados e utilizados em um dispositivo de computação portátil semfio, sendo que:
(a) um programa aplicativo em execução no dispositivo decomputação sem fio, sendo que o dito programa aplicativo foi automaticamenteadaptado aos parâmetros associados ao dispositivo sem fios, sem a entrada deinformações feita pelo usuário final;
(b) o programa aplicativo permite ao usuário final navegare buscar o conteúdo musical em um servidor remoto, por meio do uso de umarede sem fio, baixar o conteúdo musical a partir do dito servidor remoto, por meiodo uso da rede sem fio, reproduzir e gerenciar o conteúdo musical baixado, e;
(c) o programa aplicativo inclui um sistema degerenciamento de direitos digitais, que permite baixar, de forma legal e ilimitada,diferentes faixas de músicas para o dispositivo de computação portátil sem fio,bem como também permite que qualquer uma dessas faixas de músicasarmazenadas no dispositivo possa ser tocada, contanto que o serviço deassinatura não tenha terminado.
Um último aspecto da presente invenção consiste em umafaixa de música que foi baixada por meio do uso do programa aplicativoselecionado pelo terceiro aspecto da presente invenção.
Definições
- Telefone móvel: um tipo de telefone que é conectado àrede telefônica por meio de tecnologia sem fio, através do ar e não através de umfio físico ou de conexão física ou outras formas de cabo.
- Rede Móvel: uma rede que fornece conectividade semfio para os telefones móveis, para que estes possam operar e oferecer funções,como, por exemplo, fazer chamadas telefônicas ou acessar dados residentes narede ou serviços.
- Operadora de Rede Móvel (MNO): uma empresa ouorganização que opera uma rede móvel e os assinantes ou usuários que utilizamtelefones móveis nessa rede.
- Rede Móvel Global ou Rede de Telefonia Móvel: a somade todas as Redes Móveis operadas por operadoras de redes móveis no mundo.
- Rede Sem Fio: uma rede que fornece conectividade semfio a dispositivos de computação cliente. Tal Rede Sem Fio inclui Wi-Fi, WiMAX eRede Móvel Global.- Servidor: um dispositivo de computação em rede queexiste para fornecer serviços de aplicativos em rede, características e funções,como, por exemplo, informações, buscas em banco de dados e transações a umou mais dispositivos de computação cliente que fazem conexão com o mesmo epedidos de serviços a partir do mesmo. Geralmente, existem muitos clientes paracada servidor e cada cliente é, normalmente, de pequeno porte e com capacidadede computação menor do que o servidor.
- Serviços: os serviços de computação em rede,características e funções que são tipicamente prestados por um servidor para umou mais dispositivos de computação cliente por conexão em rede. Os serviçosincluem fornecimento de informações, busca de dados e transações. Taisserviços são arquitetonicamente práticos para serem utilizados centralmente narede e normalmente pouco práticos para serem utilizados em um computadorcliente devido à potência e ao tamanho do cliente.
- Cliente: um dispositivo de computação conectado a umarede, que distribui características e funções de um programa aplicativo centradona rede para o usuário ou para o consumidor do programa aplicativo. O clientegeralmente se conecta a um servidor e solicita serviços.
- Aplicativo em Rede: um tipo de aplicativo ou serviço queé centrado na rede, uma vez que é distribuído por uma combinação de programasque rodam em um dispositivo de computação cliente, executando a função dainterface do aplicativo para o usuário final ou consumidor, suportada ecomplementada por serviços fornecidos pelo programa em um servidor, que sãoacessados pelo dispositivo de computação cliente através de uma rede.
- Dispositivo de Computação Sem Fio: um tipo dedispositivo de computação cliente que se conecta à rede através de uma redesem fio. Estes dispositivos incluem telefones móveis, Assistentes PessoaisDigitais (PDAs), consoles de jogos (por exemplo, Sony PSP) ou outrosdispositivos de computação cliente conectados à rede sem fio. O tipo dedispositivo de computação sem fio também é selecionado pelo seu fabricante,modelo, versão, sistema operacional, versão do programa residente (firmware).- Dispositivo Sem Fio ou Dispositivo de ComputaçãoCliente Sem Fio: um tipo de dispositivo de computação sem fio.
- Programa Aplicativo: o programa aplicativo cliente queestá sendo distribuído pelo ar ao dispositivo de computação sem fio ou pré-instalado no dispositivo de computação sem fio.
- Componentes do Programa Aplicativo: unidadesindividuais do programa aplicativo que formam os componentes do programaaplicativo que está sendo adaptado para o dispositivo de computação sem fio eparte da biblioteca de programas de Arquitetura Adaptativa ao Dispositivo (DAA).
- Conteúdo para telefone móvel: arquivos digitais e dadosque representam os produtos eletrônicos utilizados, consumidos, tocados,visualizados ou ilustrados em telefones móveis. Os exemplos incluemtoques/melodias, papéis de parede/imagens, protetores de tela/animações,toques em MP3/Truetone, download de músicas inteiras, vídeo, alertas SMS eMMS, jogos para telefones móveis e muitos outros produtos de consumo deentretenimento e informações atuais e emergentes.
- Metadados: Itens individuais de dados ou coleções dedados, provavelmente relacionados hierarquicamente, que descrevem osatributos ou o comportamento dos dispositivos de computação sem fio, das redessem fio, componentes do programa aplicativo, aplicativos em rede ou conteúdomóvel.
Breve Descrição dos Desenhos
A Figura 1 ilustra um diagrama da classe do agendadorde tarefas.
A Figura 2 ilustra o cliente agendando uma tarefa.
A Figura 3 ilustra a linha de execução da interface dousuário (IU/UI) adicionando uma tarefa à fila de tarefas.
A Figura 4 ilustra um exemplo de uma árvore binária.
A Figura 5 ilustra a árvore binária armazenada em umvetor.
A Figura 6 ilustra um diagrama de estado para uma tarefa.A Figura 7 ilustra os limites superiores e inferiores damemória cache para cada tipo de objetos de dados.
A Figura 8 ilustra os objetos de dados utilizados para
configurar exceções.
A Figura 9 ilustra uma exceção específica do dispositivo.
A Figura 10 ilustra Capturas de Tela - Obter nova opção.A Figura 11 ilustra um item do menu personalizado erecomendações contidas.
A Figura 12 ilustra a captura de tela - classificando umitem.
A Figura 13 ilustra a captura de tela - Notícias.A Figura 14 ilustra a captura de tela - recomendações aomembro da comunidade Buzz do MusicStation™.
A Figura 15 ilustra um item do menu personalizado e recomendações contidas para membros "Ótimos" e listas de Músicas Buzz.
A Figura 16 ilustra uma matriz de correlações entre as
faixas de músicas.
A Figura 17 ilustra uma matriz de ponderações.A Figura 18 ilustra um conjunto de ponderações padronizadas entre 0 e 1.
A Figura 19 ilustra uma matriz associada de artistas, queé uma matriz de correlações que representa como os pares de Artistasestreitamente associados estão no sistema, com base em avaliações, e músicasescutadas pelo usuário.
A Figura 20 ilustra uma Matriz de Usuários Associados,que é uma matriz de correlações que representa como os pares de Usuáriosestreitamente associados estão no sistema, com base em avaliações, e músicasescutadas pelo usuário.
A Figura 21 ilustra uma parte de uma Tabela de Propriedade da Matriz de Associações, Entradas de Recomendações eMecanismo de Resultados.A Figura 22 ilustra uma parte de uma Tabela dePropriedade da Matriz de Associações, Entradas de Recomendações eMecanismo de Resultados.
A Figura 23 ilustra uma parte de uma Tabela dePropriedade da Matriz de Associações, Entradas de Recomendações eMecanismo de Resultados.
A Figura 24 ilustra uma parte de uma Tabela dePropriedade da Matriz de Associações, Entradas de Recomendações eMecanismo de Resultados.
A Figura 25 ilustra uma parte de uma Tabela dePropriedade da Matriz de Associações, Entradas de Recomendações eMecanismo de Resultados.
A Figura 26 ilustra o Cálculo do valor nominal implícito.
A Figura 27 ilustra as propriedades de uma mensagem.
A Figura 28 ilustra as propriedades de uma imagem.
A Figura 29 ilustra as propriedades da versão do cliente.
A Figura 30 ilustra mensagens traduzidas.
A Figura 31 ilustra as propriedades da Mensagem doDispositivo.
A Figura 32 ilustra as propriedades das Mensagens doDispositivo/Mensagens de Ajuda.
A Figura 33 ilustra Mensagens de Serviço.
A Figura 34 ilustra Mensagens Específicas do Dispositivoe Serviço.
A Figura 35 ilustra uma mensagem de Compilação doCliente.
A Figura 36 ilustra a captura de Tela - opções detransferência entre áreas de serviço (Roaming).
A Figura 37 ilustra as configurações do comportamento deTransferência entre áreas de serviço (Roaming) para o MusicStation™.
A Figura 38 ilustra a captura de Tela - Avisos deTransferência entre áreas de serviço (Roaming).A Figura 39 ilustra a captura de Tela - Avisos deTransferência entre áreas de serviço (Roaming) - Pronto para Receber Pergunta.
A Figura 40 ilustra a captura de Tela - Avisos deTransferência entre áreas de serviço (Roaming) - Pronto para Receber Pergunta.
A Figura 41 ilustra a captura de Tela - Opções deTransferência entre áreas de serviço (Roaming) selecionadas como ON (Permitir).
A Figura 42 ilustra a captura de Tela - Opções deTransferência entre áreas de serviço (Roaming) selecionadas como Off (Negar).
A Figura 43 mostra o cabeçalho, o conteúdo e o resultadodas respostas.
A Figura 44 ilustra o fluxo de pedido/resposta entre ocliente e o servidor.
A Figura 45 ilustra o Servidor enviando um pedido aocliente.
A Figura 46 ilustra os detalhes [maior],[menor], [micro],nome Variante e identificador da Plataforma.
A Figura 47 ilustra os detalhes dos dados de erro.
A Figura 48 ilustra um exemplo do cliente enviando osdados de erro para o servidor.
A Figura 49 ilustra um exemplo do cliente enviando osdados de erro e uma fotografia para o servidor.
A Figura 50 ilustra um exemplo do servidor enviando umafotografia no formato Jpeg com um único parâmetro.
A Figura 51 ilustra os códigos de status.
A Figura 52 mostra o servidor enviando o arquivonewsl data.
A Figura 53 mostra o servidor envia os códigos de statusarquivosnews2.data e news3.data.
A Figura 54 mostra a resposta do servidor, que indica afaixa de dados enviados.A Figura 55 ilustra o servidor enviando uma linha deEnviados, que o cliente não enviou uma linha correspondente Obter (Get) nopedido.
A Figura 56 mostra o objeto dos dados do Artistacontendo uma coleção de Lançamentos. Por sua vez, um lançamento contémuma coleção de Faixas de Músicas.
A Figura 57 mostra um método alternativo paraarmazenar cada coleção de objetos em seu próprio arquivo. Conseqüentemente,no exemplo "Meus Artistas", a lista de artistas é armazenada em um arquivo(userartists.data), mas a lista de álbuns de cada artista não é. A lista de álbuns éarmazenada em um arquivo separado do artista, um para cada artista (porexemplo, artist. 123.data). Cada álbum é, portanto, armazenado em seu próprioarquivo (release.4567.data) que contém as faixas de músicas.
A Figura 58 mostra como os grupos de objeto podemutilizar o mesmo objeto de dados sem ter que duplicar os dados.
A Figura 59 mostra que é possível armazenar o nome doartista, assim como a identificação no arquivo de dados "Meus Artistas".
A Figura 60 mostra o cliente enviando o objeto e obtémtodos os objetos modificados.
A Figura 61 mostra o Cliente solicita o objeto e obtémtodos os objetos modificados.
A Figura 62 mostra o cliente enviando os objetosmodificados no modo desconectado.
A Figura 63 mostra o registro de mudança de objeto.
A Figura 64 mostra o objeto do usuário.
A Figura 65 mostra o registro de mudança de objeto dousuário.
A Figura 66 mostra um objeto ChangeLogRecord.
A Figura 67 mostra uma tabela object_change_log.
A Figura 68 mostra uma tabela customer_object_change Jog.A Figura 69 mostra um registrador cronológico quecontém um LogRecord para cada protocolo de cliente.
A Figura 70 mostra uma tabela customerjogger.
A Figura 71 mostra um resumo gerenciamento de direitosdigitals (DRM).
A Figura 72 mostra os Parâmetros do Pedido de Registrode Serviços.
A Figura 73 ilustra Metadados Adicionados pelaOperadora de Rede Móvel (MNO).
A Figura 74 mostra os Parâmetros de Resposta aoRegistro de Serviços.
A Figura 75 mostra os Parâmetros de Pedido de Registrodo Emissor de Direitos (RI) do MusicStation™.
A Figura 76 mostra os Parâmetros de Resposta aoRegistro do Emissor de Direitos (RI) do MusicStation™.
A Figura 77 mostra os Parâmetros de Pedido deAquisição de Objeto de Direitos do MusicStation™.
A Figura 78 mostra os Parâmetros de Resposta àAquisição de Objeto de Direitos do MusicStation™.
A Figura 79 mostra os Parâmetros de Pedido deAquisição de Conteúdo.
As Figuras de 80 a 164 mostram capturas de imagens datela do computador da implementação do MusicStation™.
A Figura 165 é uma visão geral do sistema.
Descrição Detalhada
1. ARQUITETURA
1.1. Múltiplas linhas de execução
Um aspecto fundamental do leitor de música é que eledesempenha múltiplas linhas de execução de forma simultânea. Há três linhas deexecução principais:
• Linha de execução da Interface do usuário (IU/UI);
• Linha de execução de animação, e;• Linha de execução do agendador de tarefas.
Existe também uma linha de execução da conexão HTTPque, na verdade, baixa os dados e os carrega em uma área de armazenamentotemporário (buffer), enquanto a linha de execução do agendador de tarefas lê apartir deste, para que não seja bloqueada pela conexão.
Normalmente, a linha de execução da interface do usuário(IU/UI) responderá imediatamente ao usuário que navega para uma nova tela,exibindo a tela e agendando uma tarefa para carregar os dados atrás da tela, ou apartir do sistema de arquivos local ou remotamente, por meio de uma conexãoHTTP.
A tarefa de download é adicionada à fila de tarefas. A filade tarefas é ordenada por prioridade de tarefa, tipo de tarefa agendada e tempoprogramado para execução. A maioria das tarefas é agendada para execuçãoimediata, neste caso, o tempo de execução é selecionado para o momento emque a tarefa foi adicionada à fila de tarefas. Algumas tarefas são agendadas comum pequeno atraso, por exemplo, uma faixa de música é agendada para tocarcom um segundo de atraso para permitir saltar rapidamente através das faixas demúsicas de uma lista de músicas.
Quando uma nova tarefa é adicionada à fila de tarefas,sua prioridade é comparada com a tarefa sendo executada atualmente (sehouver). Se a sua prioridade for maior, então, tenta-se cancelar a tarefa atual.Somente podem ser canceladas as tarefas que levam um tempo excessivo paracompletar. Isto é para evitar as tarefas que competem com a linha de execuçãoenquanto outras tarefas com maior prioridade estão esperando. Uma quantidadeexcessiva de tempo é mais do que alguns segundos. A tarefa cancelada é entãonovamente agendada. O prazo de execução é selecionado para o momento emque a tarefa foi inicialmente adicionada à fila de tarefas.
1.1.1. Agendador de tarefas
O Agendador de Tarefas é uma facilidade para as linhasde execução agendarem tarefas para execução imediata ou futura, em uma linhade execução de segundo plano. As tarefas podem ser agendadas para execuçãoem um tempo ou para execução repetida, em intervalos regulares.O objeto do agendador de tarefas tem uma linha deexecução em segundo plano, que é utilizada para executar todas as tarefas doagendador de tarefas de forma seqüencial. Se um agendador de tarefas levar umtempo excessivo para completar, ele competirá com a linha de execução da tarefado cronômetro. Isto pode, por sua vez, atrasar a execução das tarefassubseqüentes, o que pode aglomerar. Qualquer tarefa que possa demorar maistempo do que alguns segundos para executar, deve implementar a interrupção ().
O método de interrupção () é chamado quando uma tarefacom uma prioridade maior é adicionada à fila de tarefas e será chamado na tarefaque está sendo executada no momento, quando a linha de execução adicionar atarefa. O método de execução () chamado pela linha de execução do agendadorde tarefas deve acionar uma exceção (InterruptedException) na primeiraoportunidade. O agendador de tarefas pegará esta exceção e, então, reagendar atarefa interrompida para execução com base em sua prioridade e no tempo quefoi inicialmente adicionada à fila de tarefas. A tarefa recém adicionada é entãoselecionada e executada.
Esta classe é segura para a linha de execução: múltiplaslinhas de execução podem compartilhar um único objeto do agendador de tarefas,sem a necessidade de sincronização externa. Consulte a Figura 1: Diagrama daclasse do agendador de tarefas e Figura 2: Cliente agenda uma tarefa.
1.1.1.1. Fila de Tarefas (TaskQueue)Esta classe representa uma fila de tarefas do agendadorde tarefas: a fila de tarefas prioritárias, organizadas por prioridade, tipo de tarefa(taskType) e tempo de execução (executionTime).
As prioridades da tarefa são baseadas nas prioridades dalinha de execução das configurações para dispositivos com conexão limitada(CLDC). Como tal, há três prioridades selecionadas:
• MAX_PRIORITY é a prioridade máxima que uma tarefa pode ter.
· NORM_PRIORITY é a prioridade padrão que é atribuídaa uma tarefa.• MIN_PRIORITY é a prioridade mínima que uma tarefapode ter.
As tarefas com a mesma prioridade são aindasubdivididas por tipo de tarefa (taskType). Por exemplo, isso permite oagendamento dos dados para uma tela antes das imagens. Isto poderia serconseguido por meio do uso de diferentes prioridades, no entanto, é possíveldesejar que a prioridade de uma tarefa (por exemplo, que o usuário navegue parauma tela diferente) seja diminuída sem alterar o tipo. Ao separar os conceitos deprioridade e tipo de tarefa (taskType), o design é mais flexível e fácil decompreender. Inicialmente, os três tipos organizados por importância são:
• DATA (dados): é utilizado para tarefas que requeremarquivos de dados do objeto.
• AUDIO (áudio): é utilizado para tarefas que requeremarquivos de áudio.
• IMAGE (imagem): é utilizado para tarefas que requeremarquivos de imagem.
O tempo de execução (executionTime) garante que astarefas com a mesma prioridade e tipo de tarefa (taskType) sejam executadas naordem em que elas são adicionadas à fila de tarefas. Consulte a Figura 3: linha deexecução da interface do usuário (IU/UI) adicionando uma tarefa à fila de tarefas.
Internamente, a fila de tarefas é armazenada como umaárvore binária, conseqüentemente, o custo para agendar uma tarefa é Iog n,sendo que n é o número de tarefas agendadas simultaneamente. Um grandenúmero (milhares) de tarefas agendadas não deve apresentar nenhum problema.Não há custo para recuperar a próxima tarefa agendada, pois está sempre naraiz. Consulte a Figura 4: Um exemplo de uma árvore binária.
Acrescenta-se sempre um elemento à parte inferior daestrutura de dados e, então, chama-se o método fixUp () para encontrar o seulugar na árvore. O método fixUp () compara o elemento adicionado com seu pai eos trocam se não estiverem na ordem correta.
Uma matriz é utilizada para armazenar a estrutura dedados e como a estrutura de dados está sempre completa (nunca existemeventuais lacunas na árvore), pode ser armazenada de forma compactada. Nãohá espaço exigido para ponteiros; em vez disso, para cada índice i, um elemento[i] é o pai de dois filhos a [2i +1] e a [2i +2]. Consulte a Figura 5: Árvore bináriaarmazenada em um vetor.
1.1.1.2. Tarefa
Uma tarefa pode ser agendada para execução em umtempo ou pode ser repetida. Uma tarefa pode estar em um dos três estados:
• SCHEDULED: Esta tarefa está agendada paraexecução. Se for uma tarefa não repetida, ainda não foi executada.
EXECUTED: Esta não tarefa não repetida já foiexecutada (ou está sendo executada atualmente) e não foi cancelada.
• CANCELLED: A tarefa foi cancelada (com uma chamadapara Task.cancel).
Consulte a Figura 6: diagrama de estado para uma tarefa.
O cliente MusicStation™ utiliza um único agendador detarefas para agendar as conexões de arquivos, seja a partir do sistema dearquivos local ou remotamente, por meio de uma conexão HTTP. O agendador detarefas utiliza uma única linha de execução para que todas as conexões dearquivos sejam manipuladas em série. Uma tarefa deve garantir que tem apenasuma conexão aberta quando está no estado executado. Como apenas uma tarefafica no estado executado, pode-se garantir que há sempre apenas uma conexãoaberta. Além disso, qualquer tarefa que suporta o método interromper () deve sercapaz de resumir sem armazenar qualquer informação do estado sobre o arquivoque estava sendo gravado. Isto é importante porque outra tarefa pode termodificado o arquivo, pois a tarefa foi interrompida.
1.1.2. Casos de Uso
1.1.2.1. O usuário abre o aplicativo e imediatamente abreo menu Listas de Músicas. As listas de músicas exibem o menu PIayIistSet"Minhas Listas" filtradas por meio do uso dos dois filtros "Minhas Listas Pessoaisde Músicas" e "Minhas Listas Públicas de Músicas".Quando a tela é exibida, LoadTask é adicionado aTaskQueue para carregar "Minhas Listas de Músicas". A tarefa Task.taskType éDATA e a prioridade da tarefa LoadTask.priority é MAX_PRIORITY.
Quando a tarefa LoadTask é adicionada à fila de tarefasTaskQueue1 a linha de execução do agendador de tarefas, que está esperando nafila, é notificada. Ele toma a tarefa da fila de tarefas e a executa, chamando ométodo Task.run (). A tarefa verifica se o arquivo de dados do objeto "MinhasListas de Músicas" existe no sistema de arquivos. Neste caso, não existe, e umaconexão HttpConnection é aberta e o arquivo é lido no fluxo. O arquivo é lido emuma área de armazenamento temporário (buffer) (65k) e cada vez que a área dearmazenamento temporário (buffer) está cheia, ela é gravada no cartão dememória e utilizada para preencher a totalidade ou parte dos dados do objeto(observe que muito poucos arquivos de dados serão maiores do que uma área dearmazenamento temporário (buffer)).
Como o objeto de dados PIayIistSet é preenchido comlistas de músicas, estas listas de músicas contêm referências de imagem. Comocada referência de imagem é lida, a tarefa ImageLoadTask é criada e adicionadaà fila de tarefas TaskQueue. A tarefa ImageLoadTask.taskType é IMAGE e aprioridade da tarefa ImageLoadTask.priority é MAX_PRIORITY.
Uma vez que "Minhas Listas de Músicas" terminou odownload, o agendador de tarefas pega a primeira tarefa ImageLoadTask da filade tarefas. Uma vez que a imagem não existe no sistema de arquivos locais, ela écarregada em HTTP. Isto continua até que todas as imagens sejam carregadas.
1.1.2.2. Usuário abre as Listas de Músicas e seleciona,imediatamente, Novas Listas de Músicas
O usuário abre o aplicativo e, então, abre o menu Listasde Músicas. Antes de a opção "Minhas Listas de Músicas" ser carregada, ousuário seleciona "Obter novas Listas de Músicas".
Conforme mencionado acima, LoadTask é imediatamenteadicionado à fila de tarefas TaskQueue para carregar "Minhas Listas de Músicas",quando o usuário abre as Listas de Músicas. A tarefa LoadTask.taskType é DATAe a prioridade da tarefa LoadTask.priority é MAX_PRIORITY.Antes de a tarefa LoadTask finalizar, o usuário seleciona"Obter novas Listas de Músicas". Este imediatamente chama o métodoTaskQueue.changePriority() para que a prioridade MAX_PRIORITY de todas astarefas seja reduzida para NORM_PRIORITY, porque as telas estão sendomudadas. Quaisquer tarefas pendentes na última tela precisam ter uma prioridademais baixa do que as tarefas da nova tela.
A tarefa LoadTask é então adicionada à fila de tarefasTaskQueue para carregar "Novas Listas de Músicas". A tarefa LoadTask.taskTypeé DATA e a prioridade da tarefa LoadTask.priority é MAX_PRIORITY. Aoadicionar a nova tarefa, provoca-se a interrupção () a ser chamada na tarefaLoadTask "Minhas Listas de Músicas". Como os objetos de dados são tipicamentepequenos (menos de 4k), as interrupções são ignoradas. No entanto, uma vezque a tarefa LoadTask "Minhas Listas de Músicas" teve sua prioridade reduzidapara NORM_PRIORITY, quaisquer tarefas ImageLoadTasks criadas tambémserão criadas com prioridade NORM_PRIORITY.
Depois que a tarefa LoadTask "Minhas Listas de Músicas"terminou o download, o agendador de tarefas pega a tarefa LoadTask "NovaListas de Músicas" da fila de tarefas e a executa. Uma vez que "Novas Listas deMúsicas" carregaram as imagens baixadas em "Minhas Listas de Músicas", a telacarrega em segundo plano.
1.1.2.3. O usuário inicia a Lista de Músicas
O usuário seleciona uma Lista de Músicas em "MinhasListas de Músicas" e seleciona a opção Tocar.
Todas as faixas de músicas da Lista de Músicas sãoadicionadas à fila de tarefas. A tarefa StartTask é adicionada à fila de tarefasTaskQueue para a primeira faixa de música. A tarefa StartTask.taskType éAUDIO e a prioridade da tarefa StartTask.priority é MAX_PRIORITY. Depois, umatarefa FetchTask é adicionada à fila de tarefas TaskQueue para cada faixa demúsica. A tarefa FetchTask.taskType é AUDIO e a prioridade da tarefaFetchTask.priority é MIN_PRIORITY. Deve-se observar que uma tarefa FetchTaské adicionada para cada faixa de música, incluindo a primeira faixa. Isso ocorreporque a tarefa StartTask poderá ser cancelada pelo usuário ao selecionar aopção Próxima (Next), antes do término da tarefa. A tarefa FetchTask iráprimeiramente verificar se um arquivo existe e se foi totalmente baixado, antes defazer uma conexão HttpConnection.
Quando a tarefa StartTask finaliza (e a faixa de músicacomeça a tocar), uma tarefa PrefetchTask é adicionada para a segunda faixa. Atarefa PrefetchTask. taskType é AUDIO e a prioridade da tarefaPrefetchTask.priority é MAX_PRIORITY. Dependendo da taxa de conexão, asegunda faixa de música deve ser previamente buscada e carregada antes de aprimeira faixa acabar. Neste caso, a primeira tarefa e a segunda tarefaFetchTasks são descartadas (os arquivos já existem) e a terceira faixa de músicaFetchTask começa a carregar.
1.1.2.4. Usuário inicia a Lista de Músicas e abre a Caixade Entrada
O usuário seleciona uma Lista de Músicas em MyPlaylists (Minhas Listas de Músicas) e seleciona a opção Play (Tocar). Na metadedo download da primeira faixa de música, o usuário abre a aba Inbox (Caixa deEntrada).
Conforme acima mencionado, uma tarefa StartTask éadicionada para a primeira faixa e as tarefas FetchTasks são adicionadas paracada faixa de música. Quando o usuário abre a caixa de entrada, cria-se umatarefa LoadTask para a tarefa "StorySet" da caixa de entrada. A tarefaLoadTask taskType é DATA e a prioridade da tarefa LoadTask.priority éMAX_PRIORITY.
A prioridade da tarefa StartTask é alterada deMAX_PRORITY para NORM_PRIORITY e a tarefa LoadTask da Caixa deEntrada é adicionado à fila de tarefas TaskQueue. O método de interrupção () échamado na tarefa StartTask, o que faz com que o método StartTask.run() acionea tarefa InterruptedException na próxima vez que a leitura() retornar (quando aárea de armazenamento temporário (buffer) de 65k estiver cheia). O agendadorde tarefas captura a tarefa InterruptedException e a tarefa StartTask éreagendada para ser executada após a tarefa LoadTask da Caixa de Entrada.A tarefa LoadTask da Caixa de Entrada é executada eela cria tarefas ImageLoadTasks para cada história. Estas tarefas são criadascom prioridade máxima MAX_PRIORITY e tudo vai ser executado antes de atarefa StartTask ser reiniciada.
Depois que as imagens são carregadas, a tarefaStartTask recomeça, verificando primeiramente se o arquivo existe e o quanto jáfoi lido. A tarefa então solicitará o restante do arquivo de áudio. Depois que oarquivo foi carregado, a faixa de música tocará e a tarefa PrefetchTask seráadicionada à próxima faixa.
1.1.3. Download em segundo plano
1.1.4. Gerenciamento dinâmico da lista de músicas
1.2. Gerenciamento inteligente de memória
O MusicStation™ gerencia inteligentemente a memóriadisponível em cada telefone e/ou cartão de memória.
• Antes de baixar um objeto, o MusicStation™ confirmaráse existe memória suficiente disponível para o objeto.
• Se o espaço não for suficiente, o MusicStation™realizará uma série de verificações antes de excluir um objeto.
• O MusicStation™ irá excluir o objeto com a última datamodificada mais antiga, garantindo que os objetos que são apagados sejamaqueles arquivos que não são muito utilizados ou de forma alguma esteja em uso.
1.2.1. Objetos que podem ser baixados
Existem três tipos de objetos que podem ser baixadosdentro do MusicStation™. Estes incluem:
• Dados: quaisquer dados que precisam ser atualizados,como, por exemplo, itens do menu, gráficos, textos dentro de artigos de notícias,etc.;
• Imagem: quaisquer imagens dentro do MusicStation™.Estas imagens incluem imagens de perfis de álbum e artista, bem como asimagens associadas a um artigo de notícias.
• Áudio: os arquivos de áudio.
Memória cache:Por meio do uso da opção de uso do cartão de memóriaMax no menu Options, o usuário pode definir a percentagem máxima do cartão dememória que o produto MusicStation™ utilizará para armazenamento. Estaconfiguração determina a memória alocada para o produto MusicStation™. Amemória alocada é então dividida em caches para cada tipo de objeto de dados.
Existe um cache para cada um dos objetos que podemser carregados. Cada cache apresenta um limite máximo e um limite mínimo:
• O limite máximo é a quantidade máxima de memória queo cache pode utilizar. O limite máximo existe para garantir que um usuário nãoexceda a memória alocada.
• O limite mínimo é a quantidade mínima de memória queo cache pode utilizar. O limite inferior existe para garantir que a memória estásendo consistentemente distribuída entre os vários objetos de dados.
O limite máximo e o limite mínimo são selecionados comouma percentagem da memória alocada. O limite máximo e o limite mínimo docache para cada tipo de objetos de dados são selecionados conformeapresentado na Figura 7.
1.2.2. Download de objetos
Antes de um objeto ser baixado, o MusicStation™ iráexecutar uma série de verificações para garantir que, devido ao download doarquivo, o limite máximo e o limite mínimo não serão superados. O MusicStation™mantém uma lista de cada tipo de objeto, que é organizada por ordem a partir doúltimo uso. O objeto que foi utilizado mais recentemente fica no topo da lista e oobjeto com a data de uso mais antiga fica na parte inferior da lista.
Se o download de um objeto exceder o limite máximo docache do objeto, o seguinte processo irá ocorrer:
• DELETE_WITHOUT_CHECK - O MusicStation™ iráapagar o objeto dos dados, do mesmo tipo, que tem a data de uso mais antiga.
Caso não haja memória disponível para o download doobjeto, o seguinte processo irá ocorrer:
• DELETE_WITH_CHECK - este processo irá localizar oobjeto de dados, do mesmo tipo, que tem a data de uso mais antiga e tentaráexcluir este objeto. A dita eliminação irá ocorrer se isso não deixar o cache abaixodo limite inferior.
Se a dita eliminação deixar o cache abaixo do limiteinferior, o processo DELETE_WITH_CHECK irá localizar o objeto de áudio com adata de uso mais antiga e apagar este objeto.
Se o processo DELETE_WITH_CHECK não puder excluirum objeto de áudio, ele irá continuar com a etapa 1, localizará o objeto de dados,do mesmo tipo, que tem a data de uso mais antiga e excluirá esse objeto.
1.3. Distribuição de mídia específica ao dispositivo
Cada parte do conteúdo é "marcada", com o container,formato, coeficiente de bits e taxa de amostragem (por exemplo, m4a, acc+,48kbps, 44,1kHz). A reprodução do conteúdo é testada no dispositivo por meio douso de uma parte do conteúdo básico (ruído rosa) codificado em todas asvariantes do container, formato, coeficiente de bits, taxa de amostragem e tipo deExtensões Multifunção para Mensagens de Internet (MIME). Os resultados destestestes são enviados através do teste do cliente, de volta para o servidor earmazenado. Cada container, formato, coeficiente de bits, taxa de amostragem etipo de Extensões Multifunção para Mensagens de Internet (MIME) tem umapreferência quando comparado com os outros armazenados no servidor. Quandoo cliente faz então um pedido para uma parte adicional de um conteúdo, oservidor retorna uma lista de atalhos para aquela parte do conteúdo codificadonas variações de container, formato, coeficiente de bits, taxa de amostragem etipo de Extensões Multifunção para Mensagens de Internet (MIME) que foireproduzida. Isso é feito por correspondência entre as "palavras-chave" sobre oconteúdo que foi reproduzido e as "palavras-chave" disponíveis na parte adicionaldo conteúdo. Esta lista é ordenada por preferência. Um atalho para essa parte doconteúdo é codificado no topo da preferência de codificação. Um teste dequalidade de reprodução de áudio é realizado neste item auto-selecionado, paraconfirmar se a qualidade é aceitável. Se a qualidade não for aceitável, então, asegunda preferência será examinada, e assim por diante. O teste de qualidade dosom utiliza programas de áudio para analisar a saída da tomada dos telefonesmóveis.2. Características da experiência do usuário
2.1. Manipulação de exceções do cliente
O cliente MusicStation™ regularmente faz o download eatualiza arquivos em segundo plano enquanto o usuário está usando o aplicativo.
Quando ocorre um erro, pode-se querer tentar novamente, informar o usuário ounão fazer nada, dependendo da tarefa que está sendo realizada e do erro queocorreu. Este documento descreve a forma como se decide quais medidas devemser tomadas quando ocorre um erro.
2.1.1. Ouvinte de Exceção
Há três linhas de execução principais que controlam ocliente MusicStation™. A linha de execução da Interface de Usuário manipulatodas as teclas pressionadas, a linha de execução Cor manipula todas asalterações da tela e a linha de execução Tarefa manipula os dados de download.As exceções podem ocorrer em qualquer uma destas linhas de execução, maselas sempre são passadas para o método ExceptionListener exceptionThrown().
O método ExceptionListener então decide comomanipular a exceção com base nos seguintes parâmetros:
- A exceção que ocorreu;
- O evento que causou a exceção
- A prioridade do evento
- A superclasse da exceção.
Esses parâmetros são utilizados para encontrar o objetoExceptionConfig para esta exceção. O objeto ExceptionConfig contém todas asinformações necessárias para decidir como manipular a exceção.
2.1.2. Configurara Exceção
O objeto ExceptionConfig é utilizado para decidir serepete automaticamente o evento que causou a exceção ou se mostra umamensagem de erro para o usuário.
Os seguintes objetos são utilizados para configurar asexceções:
- ExceptionConfig: Contém o comportamento padrão paraesta exceção- ExceptionEvent: invalida o comportamento padrão paraum evento especifico e prioridade;
- ExceptionLang: contém as mensagens de erro em cadaidioma suportado pelo dispositivo.
Consulte a Figura 8: objetos de dados utilizados paraconfigurar exceções.
Apenas as exceções que ocorrem na linha de execuçãoTarefa causam a repetição da tarefa. Os seguintes atributos são utilizados paradecidir se e como repetir a tarefa:
- firstRetrylnterval: pode-se inicialmente querer repetir opedido rapidamente;
- firstRetryCount: o número de vezes para repetir ou Opara não repetir
- secondRetrylnterval: pode-se então querer desistir edeixar um período mais longo entre as tentativas;
- secondRetryCount: o número de vezes para repetir ou Opara não repetir;
- allowSessionRetry: se houver um erro no servidor ou oarquivo não foi encontrado, pode-se querer invalidar o mesmo pedido ao servidorpara esta sessão;
- deleteLocalFile: se o arquivo estiver corrompido, pode-se querer apagar o arquivo local e repetir o download do arquivo a partir doservidor.
Qualquer exceção pode exibir uma mensagem de erropara o usuário. Os seguintes atributos são utilizados para decidir se e o que exibirpara o usuário.
- showAlert: Se verdadeiro, exibe uma mensagem de erropara o usuário com uma ou mais opções;
- continueOption: volta para a última tela;
- retryOption: repete a tarefa;
- upgradeOption: instala uma nova versão do aplicativo
- closeOption: fecha o aplicativo- openBrowserOption: repete o pedido no navegador WAPdo telefone móvel;
- exceptionLangs: A mensagem de erro em cada idiomasuportado
Para qualquer exceção, estes valores podem sersubstituídos por um determinado evento ou pode-se retroceder para os valoresselecionados para a superclasse da exceção.
2.1.3. Exceções específicas do dispositivo
Alguns dispositivos não apresentam as exceçõesesperadas. Por exemplo, o Nokia N70 apresenta uma exceção IOException comuma mensagem "-34" quando o servidor não responde e não a exceção maisespecífica ConnectionNotFoundException. O objeto DeviceExceptionConfigpermite especificar os mapeamentos entre as exceções específicas do dispositivoe as exceções esperadas.
Os seguintes campos mapeiam uma exceção específicado dispositivo e as exceções esperadas:
- exceptionClassName: a exceção apresentada pelodispositivo;
Exception.toStringQ;
exceptionString: o resultado do método
- exceptionld: a conhecida exceção a estes mapas
Consulte a Figura 9: exceção específica do dispositivo2.1.4. Requisitos do Banco de Dadosclient_build
event_type_set_id FK number(10) not NULL
exception_set_id FK number(10) not NULL
Os conjuntos de evento e exceção são criados no tempode compilação e os índices são utilizados no tempo de execução, para mapear oseventos e as exceções enviadas entre o cliente e o servidor.
event_type
priorityvarchar(12)DEFAULT NORMAL, in (MIN,
NORMAL, MAX)A prioridade é utilizada para determinar quais eventos sãoenviados do cliente para o servidor em primeiro lugar. Tanto a prioridade como onível de gravidade podem ser atualizados no cliente, pelo servidor.
event_type_set idPKnumber(IO)
automatic number(1)not NULL1 default 0countnumber(12)not NULL, default 0guidvarchar(32)not NULLnamevarchar(96) not NULL data_classification
createdinsertedmodified
O conjunto de eventos criados para construir um cliente.Este conjunto é utilizado no tempo de execução para mapear eventos enviadospelo cliente para os tipos de eventos no banco de dados.
event_type_set_item
event_type_set_id PKnumber(IO) not NULLevent_type_idPK number(10) not NULL event_type_namevarchar(96) not NULL
event_typejndexnumber(10) not NULL, UNIQUE
INDEX
data_classificationcreated
inserted
modified
O índice é o mapeamento entre um evento do cliente eum tipo de evento no servidor. O índice será selecionado como uma constante noobjeto de dados EventType. Todas as referências para um evento no código docliente irá utilizar essa constante.
exception_setidPKnumber(IO)automatic number(1)not NULL1 DEFAULT 0countnumber(12)not NULL1 DEFAULT 0guidvarchar(32)not NULLnamevarchar(96)not NULLdata_classification
createdinsertedmodified
O conjunto de exceções criadas para construir um cliente.Este conjunto é utilizado no tempo de execução para mapear as exceçõesenviadas pelo cliente à exceção do banco de dados.
exception_set_item
exception_setJdPKnumber(10)not NULLexception_idPKnumber(10)not NULLexception_namevarchar(96)not NULL
exception_indexnumber(10)not NULL, UNIQUE INDEX
data_classifícation
created
inserted
modified
O índice é o mapeamento entre uma exceção do cliente euma exceção no servidor. O índice será selecionado como uma constante noobjeto de dados ExceptionConfig. Todas as referências para um evento no códigodo cliente irá utilizar essa constante.exception
idPKnumber(10)not NULLguidvarchar(32)not NULLnamevarchar(96) not NULLevent_type_idFKnumber(10)not NULLclass_namevarchar(128)not NULL
superclass_namevarchar(128)first_retry_intervalnumber(10)first_retry_countnumber(10)second_retryJntervalnumber(10)second_retry_countnumber(10)allow_session_retrynumber(1)delete_local_filenumber(1)show_alertnumber(1)continue_optionnumber(1)retry_optionnumber(1)upgrade_optionnumber(1)close_optionnumber(1)open_browser_optionnumber(1)message_key_idFKnumber(1)descriptionvarchar(256)comments varchar (256)data_classificationcreatedinsertedmodified
Contém campos que controlam como é tratada umaexceção que é apresentada no cliente. A configuração da exceção é incluída noarquivo Java (JAR) no tempo de compilação e pode ser atualizada no tempo deexecução no cliente, pelo servidor.
exception_eventexception _idPKnumber(10)caused_by_event_type Jd PKnumber(10)event_priorityPKnumber(10) in (ALL, MIN, NORMAL orMAX)
first_retry_intervalnumber(10)first_retry_countnumber(10)second_retry_intervalnumber(10)second_retry_countnumber(10)allow_session_retrynumber(1)delete_local_filenumber(1)
show_alertnumber(1)
continue_optíonnumber(1)
retry_optionnumber(1)
upgrade_optionnumber(1)
close_optionnumber(1)
open_browser_optionnumber(1)
message_keyJdFKnumber(1)
event_indexnumber(10)
descriptionvarchar (256)
comments varchar (256)
data_classification
created
inserted
modified
A manipulação da exceção pode ser substituída paraeventos específicos e prioridades específicas do evento.
device_exception
device_idPKnumber(10)
exception_class_namePKvarchar(128)
exception_stringPKvarchar(256)
exception_idFKnumber(10)
automatic number(1)not NULL, DEFAULT 0
data_classification
created
inserted
modified
Mapeia exceções específicas do dispositivo paraexceções conhecidas. Esta tabela é preenchida pelo detetive durante apreparação do dispositivo.
2.2. RecomendaçõesEste documento descreve a abordagem adotada, fazendorecomendações aos usuários, dentro do aplicativo MusicStation™. O Omnifoneobserva a capacidade de fazer mudanças constantemente, recomendaçõespertinentes e atualizadas como um elemento chave para a estratégia de criaçãode fidelidade ao aplicativo MusicStation™. As recomendações, devidamenteimplementadas, incentivam a exploração e a descoberta de que, por sua vez,levam a mais compras de novas músicas. Além disso, tais recomendaçõespermitem aperfeiçoar a experiência do produto MusicStation™ no ambiente móvelrestrito.
2.2.1. Recomendações dentro do MusicStation™
O MusicStation™ contém várias característicasdestinadas a promover recomendações personalizadas para o usuário. Essascaracterísticas estão distribuídas ao longo das abas Página Inicial (Home), Caixade Entrada (Inbox) e Comunidade Buzz, que serão descritas em detalhes nasseções seguintes.
2.2.1.1. Recomendações sobre a aba Página Inicial(Home)
Consulte a Figura 10: Capturas de Tela - Obter novaopção
Quando um usuário seleciona a opção Obter Novas Listasde Músicas, Obter Novos Artistas, Obter Novos Álbuns ou Obter Novas Faixas demúsicas na aba Página Inicial (Home), é apresentada uma lista de opções demenu, algumas das quais são recomendações de sugestões personalizadas parao usuário, com base em seus hábitos recentes de escuta.
Os itens do menu que contém recomendaçõespersonalizadas são mostrados na Figura 11.
2.2.1.2. Informações que influenciam recomendaçõesmusicais
As recomendações musicais para a aba Página Inicial(Home) são feitas com base na interação dos dois únicos fatores para o usuário:- Fator implícito: este fator é baseado nos hábitos deescuta do usuário (ou seja, o tipo de música que escuta e a freqüência com que aescuta).
- Fator explícito: como o usuário realmente avalia amúsica que escuta.
Considera-se também que o fator implícito será qualquerclique dado no conteúdo da Caixa de Entrada (Inbox) pelo usuário (para maisinformações consulte a seção 2.2.1.4 - Recomendações sobre a aba ComunidadeBuzz)
Consulte a Figura 12: captura de tela - classificando umitem.
Quanto ao fator explícito, os Usuários são levados arecomendações musicais similares a outra música que os usuários tenhamclassificado como Adorei, e não é recomendado qualquer conteúdo que estejaselecionado como semelhante à música que os usuários tenham classificadocomo Detestei.
2.2.1.3. Fazendo recomendações musicais
Estes fatores implícitos e explícitos para cada usuário sãocombinados e misturados com o conhecido relacionamento entre Artistas eOutros Artistas, Faixas de Músicas e Outras Faixas de Músicas e assim pordiante. O resultado é uma lista de recomendações personalizadas para o usuário.
Ao longo do tempo, como são coletadas informaçõessobre quais artistas, álbuns, faixas de músicas e listas de músicas são populares(ou não), estas recomendações se tornarão ainda mais estreitamente orientadaspara aquilo que o usuário provavelmente considere pertinente. O sistema iráautomaticamente levar o usuário até o artista mais popular, álbuns ou faixas demúsicas que tenham relações diretas com os Artistas/Álbuns e Faixas de músicaspreferidas, que o usuário ouve ou compra.
2.2.1.3.1. A importância das "atualizações"
É importante que as recomendações sejam feitas apenascom base nos hábitos recentes de escuta do usuário e não com base em seushábitos de todos os tempos. Isso garante que as sugestões sejam maispertinentes para o usuário no momento da criação e não consistam em um amploleque de sugestões que sejam influenciadas por uma clientela que possa ter,digamos, gostos variados e muito mutáveis.
Em termos de MusicStation™, a atualização éselecionada pelos últimos Artistas/Álbuns/Faixas de Músicas ou Listas de MúsicasN que o usuário tenha escutado ou comprado. O valor real de N é configurávelcom base em observações, permitindo um ajuste fino ao longo do processo derecomendação.
2.2.1.4. Recomendações sobre a aba Comunidade Buzz
2.2.1.4.1. Recomendações através de Notícias
Consulte a Figura 13: captura de tela - Notícias.
Todos os conteúdos de notícias (notícias, notificações deeventos, promoções para Artistas particulares, etc.) são personalizados para ousuário, com base nos mesmos fatores implícitos e explícitos descritos para a abaPágina Inicial (Home). Além disso, conforme descrito anteriormente, quando osusuários clicam em conteúdos de Notícias, por exemplo, uma promoção vinculadaa uma página principal do Artista, este evento é monitorado e depois é utilizadocomo um "voto positivo" para o dito Artista em todo o processo de recomendação.
2.2.1.4.2. Recomendações através de membros daComunidade Buzz
Consulte a Figura 14: captura de tela - recomendações aomembro da comunidade Buzz.
A aba da Comunidade Buzz contém dois elementosprincipais que contêm recomendações dirigidas a cada usuário individual. Estassão descritas na tabela da Figura 15.
As recomendações para os membros (ou seja, clientesMusicStation™) são feitas por meio de vínculos com os usuários cuja história deavaliação e escuta para a música seja similar (internamente, o sistema mede a"afinidade" dos usuários com todos os outros usuários, e seleciona aqueles com omais alto grau de afinidade para o usuário, no caso).Se um usuário seleciona um membro recomendado,então, eles são capazes de escutar e avaliar suas Listas de MúsicasCompartilhadas.
2.2.2. Suporte de estruturas lógicas para a elaboração derecomendações
Existem três estruturas principais para suportar aelaboração de tais recomendações:
- Matriz associada de faixas de músicas;
- Matriz associada de Artistas;
- Matriz associada de usuários.
A infra-estrutura física dos sistemas será descrita em umaseção posterior. Para o momento, é o suficiente considerar que essas estruturasserão atualizadas com freqüência, a cada 24 horas.
2.2.2.1. Suporte à Estrutura 1 - Matriz associada de faixasde músicas
A matriz associada de faixas de músicas é uma matriz decorrelações que representam como pares estreitamente associados de faixas demúsicas estão no sistema, com base em avaliações e escutas do usuário.
2.2.2.1.1. Fase 1 - Produzir contagens de associações defaixas de músicas
Para as faixas de músicas, cria-se uma matriz similar àmatriz acima, que representa:
- Contagens de usuários que possuem ou reproduziramintegralmente, ou que tenham avaliado como Adorei! as faixas de músicas no par.
Notas importantes e regras:
A matriz da Figura 16 apenas considera um universo de 5faixas de músicas. Estamos considerando a probabilidade de lançar 500.000faixas de músicas.
Para poder ser incluído como uma contagem em 1), ousuário em questão deve ter escutado totalmente (como selecionado pelosacordos de licença), PELO MENOS DUAS VEZES. A lógica disso é que, se umusuário escuta uma faixa de música mais de uma vez, então, ele provavelmentegostou dela. Se ele ouvir a faixa de música apenas uma vez, então, ele podeestar apenas explorando novas músicas, mas não ficou suficientementeimpressionado para ouvir a mesma música novamente.
Se um usuário avalia muito bem dois pares de faixas demúsicas e ouve-os mais que duas vezes, então, isso terá o efeito de adicionar 2 àintercepção correspondente na matriz. Esta é a influência máxima que um usuáriopode ter sobre um par de intercepções de faixa de música.
Um faixa de música avaliada como Adoreil, mas nuncatocada, ainda conta para uma associação.
Esta matriz abrange todas as faixas de músicas, e todasas avaliações e vezes que tocou, em todos os serviços, no âmbito da oferta globaldo MusicStation™. O mesmo vale para a matriz associada de artistas descritaabaixo.
Deve-se observar que a metade da matriz é duplicada emtoda a diagonal. Portanto, teoricamente, apenas metade da matriz é necessária.
2.2.2.1.2. Fase 2 - Ponderação das associações de faixasde músicas
Precisamos agora pegar a matriz da Fase 1 e aplicarponderações e produzir correlações que consideram o fato de que algumas faixasde músicas podem ser simplesmente populares para TODOS os usuários (e,portanto, não são necessariamente altamente correlacionadas para paresassociados individuais).
A fórmula que se aplica para fazer isso é conhecida comouma fórmula TF x IDF.
Uma descrição de como a fórmula TF*IDF funciona,dentro do contexto das palavras-chave pertencente a um documento ou a umabusca na web, é esquematizada da seguinte maneira:
TF = freqüência do termo em um documento
Uma medida da freqüência que um termo é encontradoem uma coleção de documentos. A freqüência do termo em um documento (TF) écombinada com a freqüência inversa do termo na coleção de documentos (IDF)como um meio para determinar quais os documentos são mais relevantes parauma consulta. Algumas vezes, a freqüência do termo em um documento (TF)também é utilizada para medir a freqüência que uma palavra aparece em umdocumento específico.
IDF = freqüência inversa do termo na coleção dedocumentos
Uma medida de como é raro um termo em uma coleção,calculado pelo tamanho da coleção total dividido pelo número de documentoscontendo o termo. Os termos muito comuns ( "a", "o", "as", "os", "e" etc.) terãouma IDF muito baixa e, por isso, muitas vezes são excluídas dos resultados debusca. Estas palavras que têm IDF baixa são comumente denominadas "palavrasvazias".
<formula>formula see original document page 46</formula>J
Notas sobre esta equação:
- TF = frequency (ou o valor de intercepção na matriz daFase 1)
- A freqüência inversa do termo na coleção dedocumentos (IDF) é representada por esta última parte (log) da equação, e é umlogaritmo em base-2.
- P(T1) representa a probabilidade total da faixa de música1 aparecer pelo menos uma vez nas várias combinações na matriz (isto é, trata-se simplesmente de quantas vezes isso ocorre pelo menos uma vez em umacombinação, dividido pelo número total de faixas de músicas).
- A freqüência inversa do termo na coleção dedocumentos (IDF) é elevada à potência 3. Esta não é uma constante fixa, mas éalgo que pode ser experimentada, para aperfeiçoar as recomendações. Umarecomendador de música online bem conhecido utiliza o valor de 3 para estaconstante e, por isso, seria sensato seguir os seus conhecimentos e liderança.
Como exemplo do uso da equação, se for desejávelcalcular uma ponderação para a faixa de música 1 e para a faixa de música 2 apartir da Fase 1 da matriz, então, seria feito o seguinte cálculo:<formula>formula see original document page 47</formula>
Isto dá uma ponderação para a faixa de música 1 e para afaixa de música 2 de 34. Pode-se agora produzir uma nova matriz deponderações, conforme mostrado na Figura 17, incluindo a soma de todas asponderações, no final de cada linha e coluna.
2.2.2.1.3. Fase 3 - Normalizar as ponderações
É preciso agora normalizar as ponderações. Basicamente,tudo isto significa que uma nova matriz foi criada, onde cada correlaçãoponderada na matriz é dividida pela soma total para as correlações nessa linha oucoluna.
Por meio do uso do exemplo da faixa de música 1 e dafaixa de música 2, novamente, teríamos simplesmente que dividir 34 por 110,5,obtendo uma ponderação padronizada de 0,31.
O resultado disto é que, agora, temos um conjunto deponderações padronizadas situadas entre 0 e 1, conforme apresentado na Figura18.
Na tabela resultante, quanto mais próximo do valor 1,então, maior a correlação entre as faixas de músicas.
No mundo das recomendações, os valores na tabela sãoagora chamados de Associações Pré-Computadorizadas (APCs), em virtude dofato de serem correlações, na qual são reproduzidas em uma base regular (masgeralmente não atualizadas de forma contínua devido ao processamento degrandes quantidades de dados envolvidos).
2.2.2.2. Apoiando a estrutura 2 - Matriz associada deartistas
A matriz associada de artistas matricial é uma matriz decorrelações que representa como os pares estreitamente associados de Artistasestão no sistema, com base em avaliações e escutas do usuário, por exemplo,como mostrado na Figura 19.A matriz associada de artistas de Associações Pré-Computadorizadas (APCs) será essencialmente construída exatamente damesma forma que as faixas de músicas.
Os critérios para inclusão na Matriz de Escutas por Artistaé que o usuário deve ter tocado, integralmente, pelo menos uma faixa do ditoArtista pelo menos duas vezes. Novamente, a influência máxima que um únicousuário pode ter sobre a matriz é um valor adicional de 2 (no exemplo, quandoeles têm que ter avaliado um par de artistas como Adorei! e ouvidocompletamente pelo menos uma faixa dos dois artistas, pelo menos duas vezes).
N.B. Avaliações para faixas de músicas ou álbuns poreste Artista não têm qualquer influência sobre a matriz associada de artistas.
2.2.2.3. Suportando a estrutura 3 - matriz associada de usuários
A matriz associada de usuários é uma matriz decorrelações que representa como os pares estreitamente associados de usuáriosestão no sistema, com base em avaliações e escutas do usuário, por exemplo,como mostrado na Figura 20.
A matriz associada de usuários de Associações Pré-Computadorizadas (APCs) pode ser construída como parte do mesmo processopara a geração da matriz associada de artistas.
Os critérios para inclusão na matriz associada de usuáriosé que o usuário deve ter tocado, integralmente, pelo menos uma faixa do mesmoArtista*, pelo menos duas vezes. Novamente, a influência máxima que um únicousuário pode ter sobre a matriz é um valor adicional de 2 (no exemplo, quandoeles têm que ter avaliado um par de artistas como Adorei! e ouvidocompletamente pelo menos uma faixa dos dois artistas, pelo menos duas vezes).
N.B. Escolhendo Artistas comuns aqui é provável que sejabenéfico ao selecionar faixas de músicas comuns, pois as implicações paracálculo e capacidade de processamento serão reduzidas.
2.2.3. Fazendo Recomendações
Esta seção descreve como as estruturas descritas sãoutilizadas para gerar recomendações:- "Mais como esta(e)" faixa de música, álbum ou artista;
- Faixas de músicas que "Você provavelmente gostará";
- Álbuns que "Você provavelmente gostará";
- Artistas que "Você provavelmente gostará";
- Listas de Músicas que "Você provavelmente gostará";
- "Membros Recomendados", conforme listados na telaMembros Ótimos da Comunidade Buzz;
- Listas de músicas recomendadas, conforme listadas natela Membros Ótimos da Comunidade Buzz - esta é a mesma lista, como as
Listas de Músicas que você gostaria?
- "Encontrar em Listas de Músicas?"
- Caixa de Entrada - editorial e promocional.
Todos os recursos descritos são executados em tempo deexecução sob solicitação*, e com base nas Associações Pré-Computadorizadas(APCs) calculadas.
Consulte a Figuras 21, 22, 23, 24 e 25.
2.2.4. Gerando avaliações por estrelas
Esta seção explica como gerar avaliações de 5 estrelaspara Artistas/Álbuns/Faixas de músicas/Listas. 2.2.4.1. Entrada de dados para o sistema de avaliação
Haverá duas entradas de dados para o sistema deavaliações por estrelas - avaliações explícitas (isto é, Adorei! e Detestei!), eavaliações implícitas (isto é, número de escutas para Artistas/ Álbuns/Faixas demúsicas, especificamente o número de vezes que um usuário ouviucompletamente os Artistas/Álbuns/Faixas de músicas, e pelo menos duas vezes).
Recomenda-se que, quando possível, as avaliaçõessejam feitas de com uma divisão de 50/50 de medidas implícitas e explícitas.*
*lsto também terá a vantagem de os usuários nãopoderem simplesmente avaliar abusivamente para fazer com que apareçam maisou menos estrelas.
2.2.4.2. Calculando avaliações de 5 estrelas paraArtistas/Álbuns/Faixas de músicas/Listas2.2.4.2.1. Calculando o valor explícito da avaliaçãoA avaliação explícita para Artista/Álbum/Faixa/Lista deMúsicas é simplesmente baseada nas proporções dos usuários que classificaramArtista/Álbum/Faixa como Adorei! contra aqueles que os classificaram comoDetestei!. A avaliação explícita é calculada da seguinte forma:
1) Pegue o número de usuários que classificaram oArtista/Álbum/Faixa/Lista de Músicas como Adorei!.
2) Divida o valor em (1) pelo número total de clientes queclassificaram o Artista/Álbum/Faixa/Lista de Músicas (ou seja, como Adorei! oucomo Detestei!);
3) Multiplique por 5 para obter um valor nominal fora de 5.Por exemplo, considere que para Angels - Robbie
Williams, temos 45 avaliações Adorei! e 18 avaliações Detestei!. Portanto, o valornominal é:
<formula>formula see original document page 50</formula>
2.2.4.2.2. Ajustando o valor nominal para manipular obaixo número de avaliações
A fim de evitar abusos e para prevenir que uma grandequantidade de avaliações por estrelas de 0 ou 5 apareçam no sistema emsituações em que apenas alguns usuários tenham avaliado umArtista/Álbum/Faixa/Lista de Músicas, deve-se sempre incluir duas avaliaçõesfantasmas de Adorei! e Detestei!, no cálculo. Conseqüentemente, o cálculo finalseria:
<formula>formula see original document page 50</formula>
2.2.4.2.3. Calculando o valor implícito de avaliação
Para calcular o valor implícito de avaliação, é preciso criaruma base de dados de referência para comparação.
A base de dados de referência mais sensata é aquela querepresenta o número médio de escutas por usuário para todos osArtistas/Álbuns/Faixas de Músicas/Listas de Músicas que tenham sido tocadostotalmente pelo menos uma vez por cada usuário individual (ou seja, não é justoincluir cálculo Artistas/Álbuns/Faixas de Músicas/Listas de Músicas que nuncaforam ouvidos). Deve-se pegar esta base de dados de referência para representaruma avaliação de 2,5 dentro do sistema, e ajustar todas as outras avaliaçõesacima ou abaixo de forma apropriada, através da normalização da distribuiçãoaproximada ao valor nominal 2,5.
Como exemplo, se o número médio* de escutas porusuário da faixa de música: Angels - Robbie Williams é 12,90, e o número médiode escutas de todas as faixas de músicas (que tiveram pelo menos uma escutacompleta) por usuário é 4,66, com um deslocamento padrão de 4,23, então, deve-se fazer o seguinte:
Média de escuta por usuário para Angels - RobbieWilliams = 12,90
Escutas padronizadas (em torno de uma média de 0) =(Média de escuta - Média de escuta total) / (deslocamento padrão)
Por conseguinte, as escutas padronizadas (em torno deuma média de 0) = (12,90 - 4,66) / 4,23 = 1,95
Conseqüentemente, as escutas padronizadas (em tornode uma média de 2,5 estrelas) = 2,5 + 1,95 = 4,45
(Nota: É possível que, em circunstâncias muito extremas,este valor pode ser <0 ou >5. Nesse caso, determina-se o valor em 0 ou 5, deforma correspondente).
A representação completa de como isto funciona em umuniverso de 6 Faixas de músicas é representada na Figura 26.
*N.B.: Utilize, inicialmente, a Média, mas também se podeexperimentar a Mediana, pois a mediana terá o efeito de excluir a influência decada um dos usuários que ouviram apenas um Artista/Álbum/Faixa/Lista deMúsicas de uma forma obsessiva (!)
2.2.4.2.4. Calculando o valor da avaliação total
A avaliação total com 5 estrelas é calculada simplesmentepela média das avaliações implícitas e explícitas, e arredondar para cima até ameia estrela mais próxima (arredondar para cima, pois queremos ser positivonaquilo que apresentamos!).
Portanto, a avaliação total para Angels - Robbie Williams= (3,53 + 4,45)/2 = 3,99
Portanto, Angels - Robbie Williams recebe uma avaliaçãode 4 estrelas.
2.2.4.3. Calculando avaliações por usuários
As avaliações por usuários serão baseadas em umamédia de 50/50:
1) As avaliações e o número de escutas que um usuáriofez de suas Listas de Músicas compartilhadas.
2) O número de amigos que o membro tem.
A primeira parte é calculada de forma semelhante àqueladescrita na seção 2.2.4.2 e, do mesmo modo, para a parte implícita, somente sãoconsideradas as Listas de Músicas que foram escutados por outros usuários epelo menos duas vezes. Uma vez que temos as avaliações totais para todas asListas de Músicas do usuário, então, tira-se simplesmente uma média de todaselas, para produzir uma avaliação final (5 estrelas ou outra representação maisdesejável).
A segunda parte é calculada como o. número médio deamigos, em relação ao número médio de amigos para todo o conjunto de dadosde serviços, ou seja:
Amigos Padronizados (em torno de uma média de 2,5) =2,5 + (Média de escuta - Média de escuta total) / (deslocamento padrão) 2.3. Função de Busca
Este relatório descreve as interfaces de busca, processose conjuntos de resultados que formam a busca de música do MusicStation™.Devido à natureza do ambiente de trabalho móvel, o mecanismo de busca doMusicStation™ foi desenvolvido para ser simples e intuitivo para ser utilizado, aomesmo tempo em que tem uma característica extremamente poderosa. A ênfaseé dada aos resultados precisos e relevantes que são rapidamente fornecidos àbase do usuário MusicStation™.Ao mesmo tempo, é importante lembrar que muitotrabalho automatizado contínuo está sendo feito em segundo plano paraimpulsionar relevantes Artistas, Álbuns, Faixas de músicas e Listas de Músicaspara o cliente, nas opções do menu "Você deve gostar", "RecentementeAdicionado" e "Artistas/Álbuns/Faixas de Músicas/Listas de Músicas emDestaque". Os conteúdos destas opções do menu são atualizadosconstantemente e são baseados nos gostos específicos do usuário e em seushábitos de compra e escuta.
2.3.1. Interface de Busca
2.3.1.1. Busca Básica
A busca básica oferece acesso poderoso, porém rápido,ao banco de dados de músicas do MusicStation™. A busca é realizada pelousuário, digitando uma palavra-chave (ou conjunto de palavras-chave) e, então,refinando ainda mais sua busca por:
• Artista
• Álbum
• Faixa de música
Além disso, é possível ainda restringir a busca apenas amúsicas não clássicas ou apenas a músicas clássicas, com a escolha padrãosendo a seleção utilizada anteriormente. Caso contrário, o sistema irá buscarambas.
2.3.1.2. Busca Avançada
A tela de Busca Avançada permite um controle extenso emais refinado para ser empregado durante o processo de busca. Por meio do usoda tela Busca Avançada, é possível filtrar o conjunto de resultados por:
• Artista, Álbum ou Faixa de Música
• Gênero
• Posição do gráfico (mais alta)
• Avaliação mínima do cliente
• Idioma
• PaísAlém disso, é possível pesquisar os seguintes campospara música clássica:
• Cabeçalho do trabalho
• Cabeçalho do álbum
• Compositor
• Solista/Intérprete
• Regente
• Orquestra/Conjunto
• Gravadora
2.3.2. Princípios gerais para ajudar nas buscas no
MusicStation™
Há dez princípios básicos que foram respeitados nacriação da busca do MusicStation™. Estes princípios são aqui apresentados comexemplos, quando necessário.
2.3.2.1. Sem dependência de caracteres não-alfanuméricos
Diferentes usuários irão utilizar caracteres não-alfanuméricos de diferentes maneiras. Por exemplo, alguns podem utilizar umhífen como um separador, em um cabeçalho de Artista. Outros podemsimplesmente usar um espaço. No ambiente móvel, o uso de caracteres não-alfanuméricos pode, às vezes, ser complicado e é propenso a erros. Portanto,para fins de busca, não há dependência de caracteres não-alfanuméricos, e acabeçalho de exemplo, os seguintes são todos considerados equivalentes:
• s club 7
• s-club-7
• sclub7
2.3.2.2. Sem dependência de formasmaiúsculas/minúsculas dos caracteres
Isto significa simplesmente que, por exemplo, sãoconsideradas como equivalentes:
• s club 7
• S CLUB 7• S Club 7
2.3.2.3. Variações internacionais de caracteres sãotratadas como equivalentes
Diferentes usuários irão utilizar caracteres em idiomas diferentes do Inglês e de maneiras diversas. Por exemplo, uma pessoa inglesapode procurar por:
• Bjork
... quando na verdade, estava buscando:
• Bjõrk
No MusicStation™, essas discrepâncias não importam,pois o sistema de busca combina as variações internacionais de letras inglesascom seus equivalentes do alfabeto Inglês (e vice-versa).
2.3.2.4. Sistemas numéricos são tratados da mesmaforma que seus equivalentes escritos (e vice-versa)
Em uma busca de Artista, um cliente pode inserir, porexemplo, "50 Cent" ou "Fifty Cent". Ambos os casos são tratados pelo sistema.
2.3.2.5. Abreviaturas e diferentes formas de expressõesescritas não importam
As tabelas internas de mapeamento garantem queabreviaturas comumente utilizadas e representações equivalentes sejamcompreendidas. Conseqüentemente, as seguintes palavras-chave são todasconsideradas pelo sistema como equivalentes:
• Boys to Men
• Boys 2 Men
• Boys II Men
De forma similar, "e" e "&" são consideradas equivalentes.
2.3.2.6. Não deverá haver dependência doposicionamento correto de "The"
Não estamos preocupados com a forma como o artigo
"The" é utilizado. Por exemplo, as seguintes palavras-chave são todas vistascomo equivalentes pelo sistema e o resultado correto será reenviado:
• The Rolling Stones• Rolling Stones, The, ou simplesmente:
• Rolling Stones
2.3.2.7. Os usuários nem sempre inserem o conjunto todode palavras-chave
Quem está buscando "Rage Against the Machine" podesimplesmente digitar "Rage" como uma palavra-chave e esperar que oMusicStation™ retorne um conjunto razoável de resultados para selecionar.
2.3.2.8. Os usuários nem sempre soletram corretamenteas palavras
Embora nós estejamos principalmente procurando umacorrespondência exata, reconhecemos que os usuários muitas vezes soletramerroneamente as palavras. Usamos as técnicas de lógica difusa e combinaçãofonética para sugerir buscas de Artistas, Álbuns ou Faixas de Músicas para ousuário quando tudo falhar.
2.3.2.9. Se eles sabem o que querem, então, leve-os atélá
Se um usuário procura por "rage against the machine" eisso resulta no retorno de um resultado, então, eles serão encaminhadosautomaticamente para a Página Principal do Artista "Rage Against the Machine".Não iremos apresentar um conjunto de resultado contendo um único Artista queeles devem, então, clicar.
2.3.2.10. Vamos aprender com a utilização do sistema eaperfeiçoá-lo apropriadamente,
Pode haver variações nos nomes de Artista, Álbum ouFaixa de Música que os usuários procuram, e que são bastante diferentesdaqueles armazenados em um banco de dados. Existem estruturas para que,quando vemos uma nova variação em uma palavra-chave de busca, somoscapazes de corresponder isso com o nome pretendido de Artista, Álbum ou Faixade Música, garantindo, portanto, que todas as futuras buscas por meio do usodessa variação sejam bem sucedidas.
Do mesmo modo, na classificação, os resultados dabusca farão uso da popularidade dos resultados (escuta por usuários) garantindoque os mais populares (e, conseqüentemente, o resultado mais provável para abusca) estejam mais perto do topo. Quando isto ocasionalmente não está correto,o usuário pode, então, selecionar uma vista classificada em ordem alfabética.
2.3.3. O processo de busca
O que se segue é uma descrição do processo de buscadesde o momento em que o usuário entra sua(s) palavra-chave(s) de busca, paraprocurar um Artista.
N.B. Os mesmos princípios também são aplicáveis àsbuscas de Álbum ou Faixa de Música.
1) Uma combinação exata para a(s) palavra-chave(s) debusca introduzida(s) é procurada, mas com base nos princípios fundamentaisdescritos na seção 2.3.2 - Princípios gerais para ajudar nas buscas noMusicStation™.
2) Então, buscamos ocorrências de palavra-chave(s) debusca dentro dos nomes de Artistas. Por exemplo, dada a palavra-chave debusca "Bob Marley", as ocorrências válidas são:
a) "BOB MARLEY *"
b) "* BOB MARLEY *", e:
c) "* BOB MARLEY"
Sendo que o asterisco (*) é um "curinga" que representaqualquer seqüência de caracteres.
Correspondências do tipo (a) são vistas como umaprioridade maior na lista dos resultados reenviados do que aqueles dos tipos (b) e(c).
Se (1) e (2) retorna apenas uma ocorrência, então, vamosdireto para a página principal do Artista (página principal do Álbum para Álbuns, ea tela Tocando Agora para as Faixas de músicas).
Caso contrário, listamos ocorrências de (1), depois asocorrências de (2) classificadas por popularidade e, então, por ordem alfabética.
Se tivermos encontrado ocorrências conforme o acimamencionado, então deixamos a rotina de busca. Caso contrário, vamos para aocorrência aproximada:Vamos repetir as etapas de (1) a (4), mas desta vez,fazendo uso das técnicas de lógica difusa e combinação fonética, para encontrarocorrências que tenham um som semelhante à palavra-chave ou que estejamescritas de maneira um pouco diferente. Todas as ocorrências que sãoencontradas por este processo são precedidas pelo cabeçalho: "Não foramencontrados resultados exatos. Você quis dizer:", de modo que fica claro para ousuário que os resultados da busca não são ocorrências precisas. O conjunto deresultados é novamente classificado por popularidade e, então, por ordemalfabética.
2.3.4. Encontrando nos resultados
Nos casos em que a lista de resultados é grande, ousuário pode procurar por itens mais específicos, por meio do uso da opção"Localizar" no "Menu More Pop-up", para navegar através da lista à procura deuma seqüência específica. Quando o usuário submete a primeira ocorrência queé encontrada, o próximo resultado pode ser movido de forma rápida, por meio douso da opção "Next' localizada à esquerda da tecla com funções programáveis.
2.3.5. Refinando a busca
É possível refinar uma busca da página do conjunto deresultados, por meio do uso de uma opção no "Menu More Pop-up". Isto significaque o usuário pode pesquisar novamente (seja na Busca Básica ou na BuscaAvançada), mas com a caixa da palavra-chave de busca e todos os filtros pré-selecionados mantidos, para que possam ser rapidamente refinadas.
2.3.6. Formato do Conjunto de Resultados da Busca
Quando uma busca resulta em um Conjunto de
Resultados da Busca sendo apresentado, a contagem dos elementos no conjuntoserá apresentada na parte superior direita da página.
O formato dos próprios resultados incorridos é diferente,dependendo se a busca foi por um Artista, Álbum ou Faixa de Música. Essesformatos são descritos de forma mais detalhada nesta seção.
2.3.6.1. Busca de Artista
As ocorrências do Nome do Artista no topo sãoapresentadas, classificadas por popularidade do Artista, conforme avaliação feitapelo sistema. Estas são seguidas por mais ocorrências de popularidade similar(mas inferior), ordenadas por ordem alfabética.
2.3.6.2. Busca de Álbum
A Busca de Álbum retorna resultados no seguinte formato:Nome do Álbum - Nome do Artista (ano de lançamento)
Tendo o "Ano de lançamento", garante-se, por exemplo,que os relançamentos (que podem conter faixas de músicas bônus ouatualizadas) possam ser facilmente distinguidos do original.
As ocorrências do topo são ordenadas por popularidadedo Álbum, conforme avaliação feita pelo sistema. Estas são seguidas por maisocorrências de popularidade similar (mas inferior), ordenadas por ordemalfabética.
2.3.6.3. Busca de Faixas de músicas
A Busca de Faixas de músicas retorna resultados noseguinte formato: Nome da Faixa de Música - Nome do Artista (duração da faixade música)
Tendo a duração da faixa de música (em mm:ss),assegura-se que as Faixas de músicas com o mesmo nome (mas com diferenteduração), podem ser distinguidas. Isso geralmente ocorre com remixes em Álbunsdiferentes.
N.B. Ter o Nome do Álbum é considerado desnecessárioe indesejável, devido à duração total da seqüência, que resultaria em umambiente estreitamente restringido. Além disso, se a mesma Faixa de Músicaestiver presente em diferentes álbuns, então, ela só será mostrada uma vez.
As ocorrências do topo são apresentadas ordenadas porpopularidade da faixa de música, conforme avaliação feita pelo sistema. Estassão seguidas por mais ocorrências de popularidade similar (mas inferior),ordenadas por ordem alfabética.
2.3.7. Encontrando em Listas de Músicas
Em pontos apropriados no sistema, quando uma faixa demúsica está sendo mencionado, o usuário pode buscar essa faixa de músicadentro de Listas de Músicas, por meio do uso da opção "Find in playlists" no"Menu More Pop-up". Uma relação de Listas de Músicas compartilhadas poroutros usuários MusicStation™ (ou contidas dentro de outra lista de músicaspublicada pelo sistema) é apresentada, classificada por popularidade.
2.4. Suporte em vários idiomas
Este documento descreve como gerenciamos e utilizamosmensagens para construir uma compilação do cliente para um dispositivoespecífico, serviço e versão do cliente.
2.4.1. Desenvolvimento
Cada versão do cliente lançada pelo Desenvolvimentotem um conjunto pré-selecionado de mensagens utilizado pelo cliente. Esteconjunto pré-selecionado de mensagens é mantido durante o desenvolvimento deum lançamento pelos desenvolvedores. Cada mensagem do conjunto demensagens é um texto ou um rótulo que aparece em algum lugar do cliente.Consulte a Figura 27 - Propriedades de uma mensagem.
A mensagem é adicionada ao conjunto de mensagenspadrão, adicionando um registro em message_set_item com o próximomessage_index disponível. O índice de mensagens é utilizado no código fontepara acessar mensagens no conjunto de mensagens. O índice é selecionadocomo uma constante no objeto Mensagem:
- public static int OPEN_LABEL_INDEX = 104;
Esta constante pode então ser utilizada para receber amensagem no idioma atualmente selecionado:openCommand.setLabel(messageSet.getMessage(OPEN_LABEL_INDEX));
Este conjunto de mensagens é selecionado como oconjunto de mensagens padrão para definir uma versão do cliente.
As imagens que são incluídas na compilação sãoselecionadas no conjunto de imagens padrão. As imagens são selecionadasdeste conjunto de imagens com base na função da imagem. Consulte a Figura 28- Propriedades de uma imagem.A versão do cliente é lançada com os conjuntos demensagens e imagens padrão. Consulte a Figura 29 - Propriedades da versão docliente.
2.4.2. Lançamento da Versão do Cliente
Os seguintes registros são incluídos em um lançamentoda versão do cliente a partir do desenvolvimento do sistema de compilação:
• O conjunto de mensagens padrão e itens do conjunto demensagens
• As mensagens e as mensagens chave utilizadas peloconjunto de mensagens padrão
• Os idiomas das mensagens em Inglês e em quaisqueroutros idiomas de teste
• O conjunto de imagens padrão e itens do conjunto deimagens
'As imagens utilizadas pelo conjunto de imagens padrão.
2.4.3. Tradução de Mensagens
As mensagens traduzidas podem ser carregadas noSistema de Compilação a qualquer momento. Um idioma fica disponível paraseleção pelo usuário da compilação, quando cada mensagem no conjunto demensagens padrão tem o idioma da mensagem para esse idioma. Consulte aFigura 30 - Mensagens Traduzidas.
Ao adicionar uma mensagem a uma mensagem deserviço, garante-se que um registro do idioma da mensagem existe para todos osidiomas suportados pelo serviço. Do mesmo modo, se um usuário da compilaçãoseleciona um dispositivo para utilizar com este serviço, nós garantimos que todasas mensagens do dispositivo terão o idioma da mensagem para todos os idiomassuportados pelo serviço.
Uma vez que a compilação do cliente é construída paradiversos idiomas, mas podemos incluir apenas um ícone, logotipo e tela deabertura no arquivo Java, não há nenhuma necessidade de traduzir as imagens.As imagens selecionadas para um serviço estão no idioma padrão para esseserviço.2.4.4. Mensagens do Dispositivo
Um conjunto de mensagens pode ser selecionado paraum dispositivo. Isto nos permite sobrepor mensagens no conjunto de mensagenspadrão para o dispositivo selecionado. Consulte a Figura 31 - Propriedades dasMensagens do Dispositivo.
Por exemplo, uma mensagem de ajuda pode serespecífica a um dispositivo especial: Consulte a Figura 32 - Propriedades dasMensagens do Dispositivo/Mensagens de Ajuda.
No momento da compilação, as mensagens selecionadaspara o dispositivo selecionado se sobrepõem às mensagens do conjunto demensagens padrão, que tem a mesma mensagem chave.
2.4.5. Mensagens de Serviço
As mensagens também podem ser selecionadas para umserviço. Estas mensagens se sobrepõem às mensagens do conjunto demensagens padrão e às mensagens do dispositivo, embora, na prática, asmensagens devam ser específicas ao dispositivo ou específicas ao serviço, e nãoa ambos. Consulte a Figura 33 - Mensagens de Serviço.
Um serviço também tem um idioma padrão e um conjuntode idiomas de serviço. Estes são selecionados como idioma padrão e idiomassuportados para a compilação do cliente, no entanto, o usuário da compilaçãopode editá-las antes de fazer a compilação, se a compilação precisar de umidioma padrão diferente ou apenas um subconjunto dos idiomas.
2.4.6. Mensagens e Imagens Específicas do Dispositivo e Serviço
Em alguns casos, queremos especificar que umamensagem de texto ou uma imagem é específica para um determinado dispositivoe para um serviço particular. Por exemplo, pode-se querer usar um ícone doserviço que tenha sido redimensionado manualmente em uma série dedispositivos. Consulte a Figura 34 - Mensagens Específicas do Dispositivo e Serviço.
2.4.7. Substituição de MensagemQualquer serviço ou dispositivo que possa sermencionado na base de dados fica disponível para substituição no conjunto demensagens padrão. Por exemplo, para substituir o número de telefone do suporteao cliente:
- Para obter ajuda, favor ligar${service.company.companyAddress.customerSupportTelephone}
O conjunto de mensagens padrão aceita substituição eisso é ocultado ao usuário da compilação. Quando o usuário vê a mensagempadrão, o número de telefone já foi substituído.
As mensagens do dispositivo e serviço também aceitamsubstituição. As ferramentas que gerenciam as mensagens do dispositivo eserviço devem esconder a sintaxe do usuário da compilação.
Se um valor substituído não estiver selecionado para umdispositivo ou serviço, o usuário da compilação é obrigado a determinar o valorantes de a compilação prosseguir.
2.4.8. Compilação do Cliente
O usuário escolheu a versão do cliente, o dispositivo e oserviço. O conjunto de mensagens padrão para a versão fornece a base para asmensagens selecionadas para a compilação. Estas mensagens são entãosobrepostas pelos conjuntos de mensagens padrão do dispositivo e serviço,respectivamente. Estas são, então, sobrepostas por quaisquer mensagensespecificadas no conjunto de mensagens padrão do dispositivo e serviço.
Os idiomas selecionados para esta compilação são entãoutilizados para filtrar os registros de idiomas das mensagens para os idiomassuportados.
Uma mensagem de compilação do cliente é criada paracada mensagem em cada idioma e copiada na tabela mensagens de compilaçãodo cliente para esta compilação. Consulte a Figura 35 - Mensagem deCompilação do Cliente.
Ao termos uma cópia da mensagem no momento dacompilação, permite-nos:
• Manter um registro de quaisquer substituições feitas• Atualização de mensagens sem ter que duplicarmensagens bloqueadas.
Uma imagem da compilação do cliente é criada para cadaimagem no conjunto de imagens padrão e, então, é sobreposta com quaisquer imagens no conjunto de imagens do serviço. Estas são, então, sobrepostas porquaisquer imagens especificadas conjunto de imagens service_device. Estasimagens são redimensionadas e então, renomeadas e incluídas no arquivo Java.
As mensagens e as imagens de compilação do clientefazem parte da definição da compilação do cliente e são publicadas em um servidor de produção quando tal compilação do cliente for publicada no mesmo.
2.4.9. Publicando Compilações do Cliente
Para cada compilação do cliente, as seguintes tabelasrelacionadas à mensagem são lançadas para o Sistema de Produção:
• Client_build: O registro para esta compilação do cliente Client_build_message: Os registros para estacompilação do clienteclient_build_message
Message: Cada mensagem mencionada em
• Message_key: A chave para cada mensagem
· MessageJang: O idioma da mensagem para cada
mensagem em cada idioma suportado
• Client_build_image: Os registros para esta compilaçãodo cliente
• Source image files: Cada arquivo de imagem mencionado em client_build_image.
2.5. Seleção de rede em transferência entre áreas de
serviço (Roaming)
Quando o telefone está sob transferência entre áreas deserviço (Roaming), um usuário terá taxas adicionais quando utilizar o MusicStation™. Essas taxas serão aplicadas quando um usuário carregar faixasde músicas ou quando o MusicStation™ atualizar itens do menu e imagensenquanto o telefone estiver sob transferência entre áreas de serviço (Roaming).Um usuário pode configurar o comportamento da transferência entre áreas deserviço (Roaming) do MusicStation™
2.5.1. Configurando o comportamento da transferênciaentre áreas de serviço (Roaming) do MusicStation™
Consulte a Figura 36 - Captura de Tela - opções detransferência entre áreas de serviço (Roaming)
Dentro do MusicStation™, um usuário pode configurar ocomportamento da transferência entre áreas de serviço (Roaming)MusicStation™.
Consulte a Figura 37.
Se o comportamento da transferência entre áreas deserviço (Roaming) para as atualizações de Menu & Foto (Menu & picture updates) estiver selecionado como Perguntar (Ask), será exibida uma mensagem de avisoque irá pedir para aprovar/negar downloads, atualizações e taxas adicionais detransferência entre áreas de serviço (Roaming) para uma determinada sessão.
Consulte a Figura 38 - Captura de Tela - Avisos deTransferência entre áreas de serviço (Roaming)
Quando o usuário tenta baixar uma faixa durante atransferência entre áreas de serviço (Roaming) e o comportamento sobtransferência entre áreas de serviço (Roaming) para faixas de músicas estiverselecionado como Perguntar (Ask), será exibida uma mensagem de aviso que irápedir para aprovar/negar downloads, atualizações e taxas adicionais durante atransferência entre áreas de serviço (Roaming). Esta ação de aprovação/negaçãoconfigurará as definições da sessão atual.
Consulte a Figura 39 - Captura de tela - Avisos deTransferência entre áreas de serviço (Roaming) - Pronto para Receber Pergunta
2.5.2. Avisos de Transferência entre áreas de serviço(Roaming) e Erros
As ações faturáveis podem ser classificadas em duascategorias:
• Download de faixas de músicas - download de arquivosde áudio.• Atualizações de menu e fotografia - a atualização demenus inclui itens como, por exemplo, Listagens de Gráfico, Você provavelmentegostará de recomendações, Ótimos membros e Listas de músicas da comunidadeBuzz. A atualização de fotos, como uma imagem mudada em um perfil dacomunidade Buzz ou o download de novas imagens por perfil de artista e álbum.
O processo abaixo irá ocorrer para cada ação conectadafaturável, para cada nova sessão do MusicStation™.
• O servidor deverá analisar os cabeçalhos de resposta detodos os pedidos provenientes do cliente.
· Quando a transferência entre áreas de serviço(Roaming) é detectada, o usuário seleciona uma ação faturável, depois examina aopção de transferência entre as áreas de serviço (Roaming) estabelecida paraesse tipo de ação no menu Opções.
• Se a ação estiver marcada como On (permitir) no menude Opções de Transferência entre áreas de serviço (Roaming), então, a ação serárealizada como normal.
• Se a ação estiver marcada como Off (negar) no menu deOpções de Transferência entre áreas de serviço (Roaming), então, será exibidoum uma janela de exibição imediata (Pop-up) explicando que ela está bloqueada.
* Se esse tipo de ação estiver marcado como Perguntar,no menu de Opções de Transferência entre áreas de serviço (Roaming), então, aprimeira vez em uma sessão que uma ação deste tipo é selecionada, o aviso deTransferência entre áreas de serviço (Roaming) será exibido. As açõessubseqüentes serão então tratadas com base na resposta que o usuário forneceu.
2.5.3. Avisos de transferência entre áreas de serviço (Roaming)
2.5.3.1. Conjunto de Opções de transferência entre áreasde serviço (Roaming) para Perguntar
Quando as ações faturáveis estão selecionadas comoPerguntar, no menu de opções de Transferência entre áreas de serviço(Roaming), o seguinte aviso de Transferência entre áreas de serviço (Roaming) éexibido. O usuário será solicitado a selecionar uma configuração específica paraeste tipo de ação faturável enquanto estiver sob transferência entre áreas deserviço (Roaming).
Consulte a Figura 40 - Captura de tela - Avisos deTransferência entre áreas de serviço (Roaming) - Pronto para Receber Pergunta.
•Se o usuário selecionar Não Permitir, então, todas asações subseqüentes nesta área apresentarão erro na transferência entre áreas deserviço (Roaming) no resto desta sessão ou até que Restaurar Localização sejaselecionado
• Se o usuário selecionar Permitir, então, todas as açõessubseqüentes nesta área irão avançar sem mais pedidos, no resto desta sessãoou até que Restaurar Localização seja selecionado
• Se o usuário selecionar Termos e Condições, umapágina WAP exibirá os termos e condições de uso do MusicStation™. Ao fechar apágina WAP, o navegador volta para o MusicStation™, no ponto (prompt) acima.
Logo que o usuário volta para sua rede doméstica, esteaviso deixa de ser exibido.
2.5.3.2. Opções de transferência entre áreas de serviço(Roaming) selecionadas como On (permitir)
Quando as ações faturáveis são selecionadas como On(permitir) no menu de Opções de Roaming, o seguinte aviso de transferênciaentre áreas de serviço (Roaming) é exibido na primeira vez que um usuáriorealiza uma ação faturável em uma sessão de transferência entre áreas deserviço (Roaming). O usuário pode ter selecionado as preferências detransferência entre áreas de serviço (Roaming) em algum momento no passado eesquecer que tinha permitido essas ações faturáveis.
Consulte a Figura 41 - Captura de tela - Opções deTransferência entre áreas de serviço (Roaming) selecionadas como ON(permitido).
O usuário é avisado de que será cobrado por qualquerdownload de faixa de música ou atualização de menu e fotografia. O download defaixa de música e/ou atualização de menu e fotografia prosseguirá. Essas opçõespodem ser alteradas no menu de opções de transferência entre áreas de serviço
(Roaming).
2.5.3.3. Opções de transferência entre áreas de serviço(Roaming) selecionadas como Off (negar)
Quando as ações faturáveis estão selecionadas como Off(negar) no menu de opções de Transferência entre áreas de serviço (Roaming)1 oseguinte aviso é exibido na primeira vez que um usuário realiza uma açãofaturável em uma sessão de transferência entre áreas de serviço (Roaming).
Consulte a Figura 42 - Captura de tela - Opções deTransferência entre áreas de serviço (Roaming) selecionadas como Off (Negar)
O usuário é avisado de que o download de faixa demúsica e/ou a atualização de menu e fotografia não irá prosseguir. Essas opçõespodem ser alteradas no menu de opções de Transferência entre áreas de serviço(Roaming).
2.5.4. Detecção de Transferência entre áreas de serviço(Roaming)
O seguinte processo descreve como o MusicStation™detecta que um telefone móvel está sob Transferência entre áreas de serviço(Roaming):
Cada pedido HTTP do cliente MusicStation™ ao nossoservidor passa pela porta de comunicação da operadora de rede móvel
• A porta de comunicação foi configurada para adicionarcertas informações ao cabeçalho. Por exemplo:
X-WSB-ldentity:$(MSISDN);
X-TELENOR-SGSN:$(RADIUS:SGSN-IP-Address);
X-bearer:$(BEARER_TYPE)
• O segundo campo aqui é o endereço IP do SGSN. É oendereço IP da porta de comunicação que o telefone móvel está se comunicando.
• Nós comparamos esse endereço IP com uma lista deendereços IP das portas de comunicação, na rede da operadora de rede móvel
(MNO).• Se o endereço IP não estiver nesta lista, então, istosignifica que o telefone móvel está sob transferência entre áreas de serviço(Roaming).
O servidor faz essa avaliação por meio da observação doendereço IP na lista e se ele decidir que se trata de uma "transferência entreáreas de serviço (Roaming)", então, coloca o estado de volta para cliente, queentão será executado de acordo com as regras e prompts no modo usuário,conforme descrição no item 2.5.2. Avisos de Transferência entre áreas de serviço(Roaming) e Erros.
3. Características da Comunidade
Além da capacidade de um usuário final interagir com oservidor em uma capacidade individual, o cliente e o servidor também fornecemalgumas características da comunidade, por meio da qual os usuários podeminteragir uns com os outros. Cada usuário tem a capacidade de criar um perfilindividual, enviar pedidos de 'amigo' para outros usuários e, posteriormente,enviar suas listas de músicas ou recomendações por artista, álbum ou faixas demúsicas individuais de música para os "amigos" confirmados.
3.1. Registro
A primeira etapa para participar das características dacomunidade é a exigência de um usuário registrar um perfil exclusivo dentro doambiente da comunidade (também conhecida como Comunidade Buzz)
3.1.1. Nenhum nome de membro selecionado
Quando o usuário tenta acessar as características dacomunidade, mas o usuário ainda não registrou seu nome de usuário daComunidade Buzz, então, a página inicial da Comunidade Buzz exibe um convitepara o usuário se cadastrar na Comunidade Buzz. Somente o nome do membro écampo obrigatório:
• customer_preference.nickname
Além disso, o usuário pode inserir, opcionalmente, umafrase-chave e/ou selecionar uma imagem como seu avatar:
• customer_preference.catchphrase
• customer_preference.avatar_image_idSe o nome do membro é único neste serviço, e passa nofiltro de palavras obscenas, então, a página inicial da Comunidade Buzz mostraos detalhes recém-selecionados para este membro.
Se o nome não for único neste serviço, o cliente voltapara a tela, substitui o nome do membro inserido pelo nome do membro sugeridopara o usuário, seja para aceitar ou modificar.
Depois que o usuário forneceu um nome de membro,então, a página inicial da Comunidade Buzz mostra os detalhes anteriores destemembro, uma listagem dos amigos do usuário confirmados e o número deescutas de suas listas de músicas compartilhadas:
• customer_count.friend_count
• playlist_count.play_count
3.1.2. Nome do membro selecionado
Quando o usuário forneceu um nome, então, a páginainicial da Comunidade Buzz mostra detalhes para este membro.
• customer_preference.nickname
• customer_preference.avatarJmage Jd
• customer_preference.catchphrase
• customer_data.calculated_rating
• customer_count.friend_count (count ofcustomer_to_customer where customerjd = ${customerld} andcustomer_to_customer.friend_status = APPROVED)
• play_count_otherplaylist (sum ofplaylist_count.play_count where playlist.owning_customer_id = ${customerld})
A classificação é computada por sua popularidade. Ométodo de cálculo está incluído no item 2.2 - Recomendações.
As opções de menu dão acesso às listas de músicascompartilhadas e membros da comunidade classificados (item 3.4 - MembrosÓtimos da Comunidade Buzz) que serão de interesse para esse membro. Asopções de menu também dão acesso às listas de músicas do próprio usuário e deseus amigos (Item 3.6.1 - Amigos da Comunidade Buzz).
3.2. Editar meu perfilExiste uma opção no menu sensível ao contexto quepermite ao usuário editar seu perfil, que é exibida em sua tela de perfil dacomunidade Buzz e pode ser visualizada por outros membros, se apropriadasopções forem estabelecidas. A opção é exibida quando o usuário seleciona aopção "Editar meu perfil" nos menus sensíveis ao contexto dentro da tela principalda comunidade Buzz. O usuário pode editar seu Nome do Membro, sua frase-chave, sua imagem e as opções de visualização:
• Mostrar Perfil - controla se o perfil deste membro estásempre visível aos outros membros. O padrão é Sim.
• Mostrar minhas faixas de músicas preferidas - controlase os artistas preferidos deste usuário estão listados na sua tela de perfil domembro. O padrão é Sim.
3.3. Listas de músicas compartilhadas
A opção do menu dá acesso às listas compartilhadas queserão interessantes para este usuário.
As listas de músicas "Você deve gostar" são listas demúsicas compartilhadas de outros usuários que foram selecionados por esteusuário, pelo Sistema de Recomendação. Consulte a item 2.2 - Recomendações.
Para cada lista de música compartilhada, o cliente mostrao nome da lista de música compartilhada, a avaliação por estrelas e o membroque criou a lista de música:
• playlist.name
• playlist.owning_customer_id
• customerJnfo.recommend_playlist_set_id
• playlist.image_set_id
• playlist_data.calculated_rating
3.4. Membros Ótimos da Comunidade Buzz
A opção do menu dá acesso aos membros que serãointeressantes para esse membro. Os membros "Você deve gostar" são outrosmembros similares a esse membro. Consulte o item 2.2 - Recomendações paradetalhes de como essa lista é criada. Apenas os membros que têm a opção"Mostrar perfil" selecionada em sua tela "Editar meu perfil" e ainda não sãoamigos confirmados do usuário serão listados aqui com os seguintes detalhes:
• customer_preference.nickname
• customer_preference.avatarJmage_id
• customer Jnfo. recommend_customer_set Jd• customer_data.calculated_rating
• count of playlist where owning customerjd =${recommendedCustomerld}
3.5. Outro perfil do membro
Um usuário pode visualizar os detalhes de outro membrodo serviço MusicStation™. Quando um membro é aberto em uma lista demembros (por exemplo, na tela do item 3.4 - Membros Ótimos da ComunidadeBuzz), os aspectos do seu perfil são exibidos. Essa tela nunca poderá sermostrada para um membro que ainda não tenha se registrado na ComunidadeBuzz e definido pelo menos o seu nome de membro. A visualização inclui umalista de todas as listas de músicas que este membro compartilhou. Abrindo umadessas, exibe-se a lista de músicas.
Para cada lista de música, a tela mostra a avaliação e onúmero de vezes que uma faixa desta lista de músicas foi ouvida com um escutaqualificativa. Se não existirem listas compartilhadas, então, a mensagem "Estemembro ainda não compartilhou uma lista de música" é exibida nesta seção sob ocabeçalho Listas de Músicas Compartilhadas.
Além disso, é exibida uma lista de faixas de músicaspreferidas do outro membro. Esta seção (incluindo o cabeçalho) é mostradaapenas se o membro que está sendo exibido na tela tiver o indicador "Mostrarminhas faixas de músicas preferidas" estabelecido no item 3.2 - Editar a tela MeuPerfil. A lista mostra as 5 faixas de músicas preferidas deste membro. Esta listacontém as 5 faixas de músicas mais tocadas por esse membro, sendo que a maispopular fica no topo da lista. O usuário pode selecionar Tocar em qualquer umadessas faixas de músicas. Os campos incluídos são:• customer_preference.nickname
• customer_preference.avatarJmageJd
• customer_preference.catchphrase• customer_data.calculated_rating
play_count_otherplaylist (sum of
playlist_count.play_count where playlist.owning_customer_id = ${customerld})
Customer_count.friend_count (count ofcustomer_to_customer where customerjd = ${customerld} andcustomer_to_customer.friend_status = APPROVED)
• playlist.name
• playlist_data.calculated_rating
• playlist_count.play_count
• playlist.image_set_id
3.6. Adicionar como amigo da comunidade Buzz
Esta tela é exibida quando um usuário seleciona a opção"Adicionar como amigo" no menu sensível ao contexto quando um membro éselecionado. O usuário pode enviar uma mensagem como parte de suasolicitação de amigo.
Quando a opção "Adicionar como amigo" é selecionadapara um membro, e o membro ainda não é amigo do usuário, uma tela desolicitação de amigo é exibida com campos para o nome do membro, a solicitaçãode amigo acontece e um corpo de texto onde o membro pode entrar algum textoque será enviado para o outro membro, como uma apresentação de quem sãoeles. Os seguintes campos são incluídos:
• customer_preference.nickname
• customer_to_customer_request.body3.6.1. Meus amigos
Uma opção do menu "Meus Amigos" exibe uma lista deamigos do membro. Se o usuário não tem amigos, então, exibe a mensagem "Asua lista de amigos será mostrada aqui". Além disso, uma lista de pedidos deamigos pendentes deste membro é exibida. Este título e a lista não sãomostrados se não existirem pedidos pendentes. Os seguintes campos sãoincluídos:
• count of customer_to_customer where customerjd =${customerld} and customer_to_customer.friend_status = APPROVED• from customer_to_customer_request where friend_status= REQUESTED
3.6.2. Adicionaramigo pelo nome
Um usuário pode selecionar uma opção do menu"Adicionar amigo pelo nome" para adicionar outro usuário pelo o nome do perfil.Esta opção só está disponível se esse usuário fez o registro na comunidade Buzze registrou seu nome de membro. O usuário precisa digitar o nome de membro doamigo para enviar solicitação de amigo. Os seguintes campos são incluídos:
• customer_preference.nickname
· customer_to_customer_request.body
Quando o membro seleciona "enviar" e um membro comaquele nome é encontrado (mesmo que tal membro tenha sua opção Exibir Perfilselecionada ou não), uma mensagem de confirmação é exibida. Quando omembro seleciona "enviar" e nenhum membro com esse nome é encontrado, ousuário é notificado e solicitado a digitar novamente o nome do membro.
Quando o membro seleciona "enviar" e aquele membro jáé amigo deste usuário, o usuário é novamente notificado para este efeito.
3.6.3. Adicionar amigo pelo número de telefone
Essa tela é exibida quando um usuário seleciona a opção"Adicionar amigo pelo número de telefone". O usuário precisa digitar o número dotelefone de um amigo para lhe enviar a pedido ao amigo. O usuário digita onúmero do telefone sem o código do país e o código do país padrão será aqueledo país ao qual o serviço está associado. Os seguintes campos são incluídos:
• customer_person.mobile_msisdn
· customer_to_customer_request.body
Quando o membro seleciona "enviar" e um membro comesse número de telefone é encontrado (mesmo que esse membro tenha suaopção "Exibir Perfil" selecionada ou não), uma mensagem de confirmação éexibida. Quando o membro seleciona "enviar" e nenhum membro desse númerode telefone é encontrado, o usuário é notificado e solicitado a digitar novamente onome do membro.
Quando o membro seleciona "enviar" e esse membro já éamigo do usuário, o usuário é novamente notificado para este efeito.
3.7. Enviar faixa ou lista de músicas
Essa tela é exibida quando um usuário seleciona a opção"Enviar ao Amigo" uma faixa ou lista de músicas, nos menus sensíveis aocontexto. O usuário pode selecionar um ou mais amigos para enviar a faixa ou alista de músicas. O usuário deve ter seu próprio nome de membro definido e pelomenos um amigo para a opção "Enviar ao Amigo" ser ativada. Os seguintescampos são incluídos:
• mail_attachment.track_id
• customer_preference.nickname
• customer_mail.customer_id
• mail.body
Uma lista de amigos do membro é exibida. O usuário clicapara selecionar um amigo e clica novamente para desmarcar. Qualquer númerode amigos pode ser selecionado. Para cada amigo, são exibidas as seguintesinformações: sua avaliação, o número de amigos e número de escutas.
Ao selecionar "Enviar", uma mensagem de confirmação éexibida e o usuário retorna à sua tela inicial.
3.8. Enviar uma mensagem
O cliente também tem a capacidade de enviar umamensagem sem a adição de identificação de conteúdo. A tela da mensagem exibeos seguintes campos:
• customer_mail.customer_id
• customer_preference.nickname
• mail.body
3.9. Quem está ouvindo
Essa tela é exibida quando um usuário seleciona a opção"Quem está ouvindo" no menu More sobre uma faixa de música, álbum, artista oulista de músicas, nos menus. A tela mostra os últimos dez membros registradosna comunidade Buzz que ouviu o item que este usuário selecionou na opção"Quem está ouvindo". O que é exibido depende do tipo de objeto e a opção foiselecionada da seguinte forma:• Faixa de música - os últimos 10 membros que ouviramessa faixa de música
• Álbum - os 10 membros que ouviram uma faixa que estánesse álbum
• Artista - os últimos 10 membros que ouviram uma faixade música deste artista
• Lista - os últimos 10 membros que ouviram uma faixa demúsica dessa lista de músicas.
Os campos são os seguintes:
• customer_track order by last_play_date
• customer_release order by last_play_date
• customer_artist order by last_play_date
• customer_playlíst order by last_play_date3.10. Caixa de entrada
É incluído nas visualizações da comunidade uma "caixade entrada" que exibe todas as mensagens para um usuário, incluindomensagens e recomendações de outros usuários.
3.10.1. Chegou mensagem com recomendação de faixade música na caixa de entrada
Quando um membro envia uma faixa de música a umusuário, uma mensagem aparecerá na caixa de entrada com os seguintescampos selecionados:
• mail.kind = MESSAGE
• mail.from_customer_id
• mail.sent_date
• mail.kind = TRACK RECOMMENDATION
• mail.from_customer_id
Se o usuário abre uma mensagem, selecionando-a,então, uma tela de mensagem é exibida com os seguintes campos:
• mail.from_customer_id
• customer_preference.avatar_image_id
• mail.sent date• mail_attachment.track_id
Os nomes recomendados de faixas de músicas, álbuns,artistas ou listas de músicas aparecem em destaque na mensagem e à medidaque um usuário rola a mensagem, cada uma das subseqüentes fica destacada.
O clique no nome de uma faixa de música apresenta omesmo comportamento quando o usuário seleciona "adicionar para tocar" umafaixa de música de uma lista de músicas. Ou seja, a faixa será adicionada no finalda lista de músicas corrente e uma janela de exibição imediata (pop-up) notifica ousuário.
3.10.2. Chegou mensagem com recomendação de lista demúsicas na caixa de entrada
Quando um membro envia uma lista de músicas a umusuário, uma mensagem aparecerá na caixa de entrada com:
• mail.from_customer_id
• mail.kind = PLAYLIST RECOMMENDATION
• mail_attachment.playlist_id
Se o usuário abre uma mensagem, selecionando-a,então, uma tela de mensagem é exibida com os seguintes campos:
• mail.from_customer_id
• customer_preference.avatar_image_id
• mail.sent_date
• mail.body
• mail_attachment.playlist_id
3.10.3. Chegou mensagem de solicitação de amigo nacaixa de entrada
Quando outro membro faz um convite para esse membro,então, aparecerá uma mensagem na caixa de entrada do membro. Ao abrir, omembro terá a opção de aceitar ou negar. Isso é feito em uma janela de exibiçãoimediata (pop-up), pois o usuário está sendo solicitado para uma interação. Ocabeçalho da mensagem exibe:
• customer_to_customer_request.to_customer_id
• customer_to_customer_request.fiend_status =REQUESTED
Ao abrir, a mensagem exibe:
• customer_to_customer_request.to_customer_id
• customer_to_customer_request.body
Ao selecionar continuar, uma janela de exibição imediata(pop-up) apresenta as seguintes opções:
• Aceitar - opção exibida somente se a Solicitação deAmigo estiver destacada (desabilitada, pois para a grande maioria dos itens dacaixa de entrada, esta opção não é aplicável)
• Negar - opção exibida somente se a Solicitação deAmigo estiver destacada
• Bloquear - opção exibida somente se a Solicitação deAmigo estiver destacada
• Relatar Abuso - opção exibida somente se a Solicitaçãode Amigo estiver destacada
A resposta dos usuários é armazenada em:
• customer_to_customer_request.response (APPROVED,DENIED, BLOCKED, ABUSED)
3.10.4. Chegou resposta de solicitação de amigo na caixade entrada
Quando um membro responde a uma solicitação deamigo deste usuário, então, esta resposta aparecerá na caixa de entrada domembro. Existem três possíveis respostas que este membro verá, dependendo seo outro membro aceitou, negou ou bloqueou a solicitação de amigo:
• customer_to_customer_request.friend_status
A tabela na Figura 43 mostra o título, o conteúdo e oresultado das respostas.
3.10.5. Chegou mensagem de texto na caixa de entrada
Uma mensagem de texto também é exibida na caixa deentrada e os campos pertinentes são:
• mail.from_customer_d
• customer_preference.avatar_image_d• mail.sent_date
• mail.body
3.11. Expiração e Alertas Gerais de Mensagem
3.11.1. Alertas de Mensagem
Quando uma mensagem ou mensagens chegam para ummembro, então, é exibida uma das pequenas janelas de exibição imediata (pop-ups) na base da tela. A janela de exibição imediata (pop-up) será exibida uma vezpara cada grupo de mensagens que chegam e pode ser exibida logo que oservidor passou essas mensagens para o cliente. As próximas mensagens serãoverificadas e exibidas 2 segundos após o cliente ter voltado rapidamente para atela "Tocando Agora", de modo a não interromper o fluxo de usuários. Se nãohouver Lista de Músicas Corrente, então, a janela de exibição imediata (pop-up)será exibida 2 segundos depois, quando cliente voltou rapidamente, se houveruma Lista de Músicas presente.
Depois que a janela de exibição imediata (pop-up) foi lidae confirmada, então, se mais mensagens chegarem durante esta sessão, outrajanela de exibição imediata (pop-up) será exibida.
As mensagens enviadas enquanto este membro estavadesconectado serão, portanto, provavelmente exibidas logo depois que oaplicativo for iniciado.
3.11.2. Expiração da Mensagem
As mensagens lidas serão expiradas um dia depois deterem sido lidas.
As mensagens não lidas serão expiradas 5 dias após ousuário ter sido alertado sobre sua existência.
As mensagens não lidas serão expiradas 30 dias se ousuário não acessou o aplicativo e, conseqüentemente, não foi alertado sobre suaexistência.
As mensagens expiradas serão removidas da Caixa deEntrada em um tempo conveniente. Não é essencial que os prazos de expiraçãosejam respeitados exatamente. Por exemplo, as mensagens expiradas podem serretiradas da caixa de entrada no início da próxima sessão, depois de suaexpiração. Um campo adicional é, portanto, definido para a data de recebimentodo correio:
• customer_mail.receíved_date
4. Características da interface gráfica do usuário (GUI)
O anexo 1 descreve a interface gráfica do usuário.
5. Arquitetura das comunicações
5.1. mCom
5.1.1. Visão geral
Os aplicativos do cliente MusicStation™ são necessáriospara a conexão com o servidor MusicStation™, para fazer o download e atransferência de vários dados. O protocolo que o MusicStation™ utiliza para seconectar ao servidor deve ser capaz de ser executado em uma variedade detecnologias cliente, como, por exemplo, Java, Symbian e Windows Mobile. Épreciso também resolver os problemas documentados no documento "Requisitose Problemas do MusicStation™ Conectado"
5.1.1.1. História do Protocolo
MyFone utilizava HTTP para transferir os dados. Estaexperiência apresentava várias questões com o pedido e a resposta HTTP, tendoque passar por portas da operadora. As portas da operadora e vários telefonesmóveis interferem regularmente nos cabeçalhos HTTP, geralmente, por nãotransmiti-las novamente. Este é um dos principais fatores que levaram à criaçãodeste protocolo.
Para transferir vários arquivos em uma resposta, oprotocolo baseou-se em extensões multifunção para mensagens de internet(MIME). Uma revisão anterior do presente documento utilizou extensõesmultifunção para mensagens de internet (MIME) como fronteiras para separar osdiferentes arquivos na resposta. Isto foi mudado para usar a anotação dedeslocamento e comprimento no cabeçalho. Isso permite que um cliente acesserapidamente os objetos de dados. Apenas o cabeçalho precisa ser analisadogramaticalmente e não o conteúdo do corpo. (Consulte a seção 3.2.7)
Antigamente, os códigos de estado utilizavam umarepresentação binária para que eles pudessem ser extensíveis e ao mesmotempo fossem entendidos pelos clientes mais antigos. Isto foi simplificado pelouso de números inteiros, que podem ser facilmente compreendidos pelos sereshumanos, bem como pelo cliente. O servidor envia o código de estado maisapropriado para o cliente endereçar a questão da apresentação de novos códigosde estado. O servidor somente enviará os códigos de estado ligado que a versãodo cliente conectado entender.
Anteriormente, não era possível identificarespecificamente as confirmações se o mesmo arquivo foi solicitado várias vezesem uma sessão, ou se a confirmação foi enviada em uma sessão diferente dasessão para a qual o arquivo de dados foi enviado. O princípio de identificação daconfirmação utilizado nas linhas Enviadas e Colocadas resolve esse problema.
5.1.1.2. Visão Geral do Protocolo
O cliente deve iniciar todas as comunicações por causada maneira que os telefones móveis se conectam a internet. Como o telefonemóvel não possui um endereço IP estático e porque normalmente se conectaatravés de uma porta de comunicação da operadora móvel, não há como oservidor iniciar a comunicação. Os telefones móveis MIDP2.0 poderiam utilizar arecurso Push Registry para enviar uma SMS para o aplicativo solicitando que ocliente faça um pedido ao servidor, mas este recurso pode não estar disponívelem todas as plataformas cliente alvo e, por isso, o protocolo MusicStation™ podeser baseado no cliente que inicia a comunicação.
O protocolo deve ser capaz de ser executado emconexões via soquete HTTP e TCP/IP. Estas são as duas conexões maiscomumente disponíveis à nossa disposição pelas plataformas cliente.
O protocolo presumirá uma camada de transporteconfiável. O protocolo não precisa ter a capacidade de solicitar novamentepacotes individuais de uma resposta específica. Portanto, as conexões viasoquete UDP não será um mecanismo de transporte suportado. Para suportaruma camada de transporte não confiável seria necessário um lote de recursoextra no protocolo MusicStation™ e o protocolo TCP está disponível para todos osclientes que possuem o protocolo UDP.
O protocolo deve ser capaz de suportar o clientetransferindo dados para o servidor, assim como o cliente fazendo pedidos dedados do servidor. Isto é necessário para que os dados de erro, os dados deregistro, os dados de uso, as informações das listas de músicas e os dadosrelacionados ao usuário possam ser transferidos do cliente para o servidor.
Como o MusicStation™ é um protocolo depedido/resposta, ele é rigorosamente modelado de acordo com o protocolo HTTP,tomando emprestadas muitas características do protocolo HTTP.
O protocolo MusicStation™ é baseado em texto, apenaspor meio do uso do conjunto de caracteres padrão ASCII, conseqüentemente, elepode ser implementado em diversas plataformas cliente sem nenhuma dasquestões de codificação associadas aos dados binários.
O diagrama abaixo mostra o fluxo de pedido/respostaentre o cliente e o servidor. Este é um exemplo de um pedido simples do clientesendo cumprido pelo servidor. Toda a comunicação entre cliente/servidoracontece nesta mesma forma básica.
Consulte a Figura 44 - Fluxo de Pedido/resposta entre o
cliente e o servidor.
O próximo diagrama mostra como o servidor envia umpedido ao cliente. Como a comunicação entre cliente/servidor deve ser sempredesencadeada por um pedido do cliente, o único caminho para o servidor fazerum pedido a partir do cliente é o servidor aproveitar o pedido em uma respostaque ele envia para o cliente.
Consulte a Figura 45 - Servidor enviando um pedido aocliente.
Deve-se observar que em operações normais, o servidorsempre irá responder a um pedido do cliente, mesmo que não haja dados naresposta. A resposta pode incluir apenas um código do estado (Consulte a seção"Protocolo de Resposta do Servidor").
Os clientes robôs e os pedidos que excedem o limiar deum pedido por minuto não são operações normais e o servidor não tem obrigaçãode responder a esses pedidos. Espera-se que os clientes reais que não recebemuma resposta do servidor repitam o pedido depois de um tempo razoável.Como o protocolo HTTP, o protocolo do MusicStation™utiliza um cabeçalho para manter os metadados sobre o corpo da mensagem, quecontém os dados reais sendo transferidos. Este documento descreve o protocolo,que é relacionado apenas com estes cabeçalhos. O corpo da mensagem pode serdiferente para as diversas implementações do cliente. Como o protocolo HTTP, ocabeçalho e o corpo são separados por uma linha vazia.
5.1.2. O Protocolo de pedido do cliente
5.1.2.1. Cabeçalho
5.1.2.1.1. O identificador do protocolo
A primeira parte de qualquer pedido será o identificadordo protocolo. Isto é para que o servidor que recebe este pedido possa validar seos dados que recebeu são realmente de um cliente. O identificador do protocolodeve ser pequeno para que ele não sobrecarregue o pedido. O identificador doprotocolo utilizado pelo MusicStation™ é:
MSTP = Protocolo de Transferência MusicStation™.
5.1.2.1.2. Número da versão do protocolo
Juntamente com o identificador do protocolo fica onúmero da versão do protocolo. Este identificador do protocolo é totalmentedistinto do número da versão do cliente, do número da versão do servidor e dosobjetos de dados utilizados pelo número da versão do cliente.
Pode haver muitas versões diferentes do aplicativo clienteque irá utilizar o mesmo número da versão do protocolo.
O número da versão do protocolo será na formamaior/menor.
O menor número deve ser aumentado para mudançasadicionais ao protocolo e o número maior deve ser aumentado com as mudançassignificativas ao protocolo. As versões iniciais de desenvolvimento do protocoloterão um número maior de 0. Este será aumentado para 1 no primeiro lançamentoda produção do protocolo.
O programa do servidor deve ser sempre capaz de lidarcom cada versão do protocolo lançada, para que ele seja compatível com todasas versões cliente mais antigas.O número da versão do protocolo será na mesma linha doidentificador do protocolo e separado do identificador do protocolo por uma barra.
MSTP/0.1
Esta linha indica que esta é a versão 0.1 do protocoloMusicStation™.
5.1.2.1.3. Identificadorde pedido
Cada pedido enviado por um cliente MusicStation™ iráincluir um identificador. Este identificador deve ser exclusivo para este pedido nasessão atual. Não há nenhuma exigência para o identificador de pedido serglobalmente exclusivo. Este identificador de pedido pode ser qualquer seqüênciade até 32 caracteres. Poderia ser implementado como um número inteirocomeçando com 1 e depois aumentado a cada pedido feito pelo cliente.
Este identificador de pedido é necessário para que oservidor possa identificar pedidos duplicados dos clientes. A experiência com oMyFone mostrou que os pedidos de cliente de telefone móvel podem, às vezes,ser muito pouco confiáveis. Isto significa que o cliente deve ser capaz de repetir,automaticamente, um pedido que não tenha recebido uma resposta dentro de umperíodo de tempo razoável.
Quando o cliente não recebe uma resposta, pode ser queo pedido não tenha chegado ao servidor ou pode ser que a resposta do servidorse perdeu na porta de comunicações da operadora, no seu caminho de volta parao cliente.
Ao incluir o identificador de pedido, fica simples para oservidor identificar os pedidos duplicados.
O cliente deve enviar o mesmo identificador de pedidopara quaisquer pedidos que tenham sido tentados novamente.
O identificador de pedido pode entrar em qualquer ponto,embaixo do identificador do pedido e do número da versão do pedido.
MSTP/0.1
Requestld: 123456
Isto identifica um pedido por este cliente. Se o clientereenviar o pedido, a identificação do pedido da nova tentativa deve ser 123456.5.1.2.1.4. Nome do Cliente e Número da Versão
Cada pedido deverá incluir o nome do cliente e o númeroda versão. Estas informações podem então ser utilizadas no servidor, pararealizar uma pesquisa nas capacidades desse cliente. Isso significa que novas capacidades podem ser adicionadas a qualquer momento para o cliente, sem terde alterar as informações dadas no protocolo.
Por exemplo, se um cliente identifica-se como clienteversão 0.4.6 MIDP, então, o servidor sabe qual formato ele precisa para voltarpara os objetos de dados. O servidor também sabe qual codificação musical é suportada por este cliente. E o servidor sabe que esse cliente não suportaarquivos criptografados de músicas.
MSTP/0.1
Requestld: 123457
Cliente: MusicStation™ 0.4.6 MIDP Nokia/N70 Isso identifica o cliente como cliente Java versão 0.4.6 emexecução em um telefone móvel Nokia N70. O servidor poderá então procurarquais capacidades que esse cliente tem.
O formato desta seqüência é:
"MusicStation™" [major],[minor],[micro] "Variant name"
"Platform identifier"
Consulte a Figura 46, para mais detalhes.
5.1.2.1.5. Identificador globalmente exclusivo do usuário
Cada pedido deve incluir o identificador globalmenteexclusivo do usuário. A única exceção a isso é o pedido inicial de registro. Se um pedido não inclui o identificador globalmente exclusivo do usuário, então, oservidor responderá com uma notificação de que o cliente é obrigado a registrar.
Este identificador globalmente exclusivo do usuáriopermite ao servidor buscar diversas informações sobre o usuário.
O cliente não deve construir o identificador globalmente exclusivo. O identificador será criado pelo servidor durante o processo de registroe, então, atribuído ao cliente. O cliente deverá então incluir este identificador emcada pedido subseqüente.MSTP/0.1
Requestld: 123458
Client: MusicStation™ 0.4.6 MIDP Nokia/N70
UserGUID: AB12YZ
Isso identifica o usuário com o identificador globalmenteexclusivo AB12YZ. O servidor pode usar esta informação para procurar detalhesdo usuário, como, por exemplo, idioma preferido, território, operadora e marca.
5.1.2.2. Pedidos de dados
5.1.2.2.1. Pedidos de dados básicos
A maioria dos pedidos do cliente será um pedido dedados do cliente. Por exemplo, o cliente pode solicitar as últimas notícias doservidor.
MSTP/0.1
Requestld: 123459
Client: MusicStation™ 0.4.6 MIDP Nokia/N70
UserGUID: AB12YZ
Get: inbox.data
Este é um exemplo de um pedido do arquivo de objeto dedados inbox.data.
5.1.2.2.2. Pedido de dados com informações do caminhoOs pedidos de dados também podem ter informações do
caminho ao qual estão associados. Utiliza-se uma sintaxe semelhante aosLocalizadores Uniformes de Recursos (URLs) HTTP. Um caractere / (barra) éutilizado como o separador de diretórios.
MSTP/0.1
Requestld: 123459
Client: MusicStation™ 0.4.6 MIDP Nokia/N70UserGUID: AB12YZ
Get: games / namethattune / question.data
Este é um exemplo de um pedido do arquivo do objeto dedados question.data, que tem o caminho games/namethattune.
5.1.2.2.3. Pedido de dados com consultaOs pedidos de dados podem incluir, opcionalmente,parâmetros que o servidor irá utilizar para construir o objeto de dados a serreenviado ao cliente. Este pedido é incluído por meio do uso da sintaxe naseqüência de consulta do módulo HTTP.
MSTP/0.1
Requestld: 123460
Client: MusicStation™ 0.4.6 MIDP Nokia/N70
UserGUID: AB12YZ
Get:
advncedSearch.data?type=artist&query=artist%20name&country=uk&language=en
Este é um exemplo de um pedido de resultados de buscaavançada. O recurso solicitado tem um caractere ? (ponto de interrogação) paraseparar o nome do recurso solicitado a partir dos parâmetros para este recurso.Os parâmetros são pares de nome/valor. Cada par de nome/valor é delimitado porum caractere & (e comercial) e as partes do nome e valor são separadas por umsinal = (sinal de igual).
Os valores foram codificados pelo padrão URL, de formaque o caractere de espaço no termo de busca "nome do artista" foi substituídopela versão codificada URL %20.
5.1.2.2.4. Pedido de dados com múltiplos pedidos
O cliente pode solicitar múltiplos recursos do servidor aomesmo tempo. Para fazer isso, o cliente envia diversas linhas GET, sendo umapara cada um dos recursos solicitados.
MSTP/0.1
Requestld: 123461
Client: MusicStation™ 0.4.6 MIDP Nokia/N70
UserGUID: AB12YZ
Get: inbox.data
Get: charts.data
Este é um exemplo de um pedido de um arquivoinbox.data e um pedido de um arquivo charts.data. Uma situação como esta podeocorrer quando o cliente está fazendo um pedido para um recurso que precisaimediatamente (neste exemplo, inbox.data), e também é necessário para atualizarum recurso em segundo plano (neste exemplo, charts.data).
As linhas GET devem ser ordenadas de acordo com aprioridade que o cliente gostaria de receber os recursos na resposta do servidor.
Ocasionalmente, o cliente pode ter uma resposta parcialem memória cache e precisa de apenas alguns dos dados reenviados do servidor.Em casos como esse, o cliente pode querer fazer um pedido de apenas umadeterminada parte dos dados.
O cliente pode fazer isso por meio do uso de parâmetrosdas faixas de músicas em uma linha GET. Os parâmetros das faixas de músicassão separados do nome do recurso solicitado por um caractere ; (ponto-e-vírgula).
Se houver mais de um parâmetro de alcance, então, osparâmetros das faixas de músicas são separados por um caractere ; (ponto-e-vírgula).
Os parâmetros das faixas de músicas são de e para.Ambos devem ser seguidos por um caractere = (sinal de igual) e, depois, umnúmero inteiro de bytes.
5.1.2.2.5. Pedido Parcial de Dados
Abaixo, um exemplo de um pedido parcial para o arquivoinbox.data. O cliente está pedindo todo o arquivo inbox.data a partir do 34° byteem diante.
MSTP/0.1
Requestld: 123462
Client: MusicStation™ 0.4.6 MIDP Nokia/N70
UserGUID: AB12YZ
Get: inbox.data; from=34
Abaixo, um exemplo de um pedido parcial para o arquivoinbox.data. O cliente está pedindo todo o arquivo inbox.data, a partir do 128° byteaté o 256° byte.
MSTP/0.1
Requestld: 123463Client: MusicStation™ 0.4.6 MIDP Nokia/N70
UserGUID: AB12YZ
Get: charts.data; from=128; to=256
Ao fazer um pedido das faixas de músicas, o cliente nãodeve esperar que os dados sejam apresentados nas faixas de músicas que pediu.A resposta do servidor irá incluir os detalhes das faixas de músicas reenviadas eo cliente deve usar as informações das faixas de músicas na resposta do servidor,e não as informações das faixas de músicas em seu próprio pedido paraprocessamento adicional. Isso ocorre porque o servidor pode ter um motivo pararetornar uma faixa diferente de dados. Por exemplo, se os dados mudaram desdeo último pedido do cliente.
5.1.2.3. Envio de dados ao servidor
Ocasionalmente, o cliente pode ter de enviar dados aoservidor. Por exemplo, para enviar as informações de erro para o servidor. Ocliente pode fazer isso por meio do uso da linha Put (Colocar).
Uma linha Put (Colocar) tem várias partes. Cada parte éseparada por um caractere ; (ponto-e-vírgula).
Put: error.data; ackld=1; offset=0; length=160;type="application/octet-stream"
Consulte a Figura 47 para obter detalhes dos dados deerro.
Este é um exemplo do cliente enviando dados de erro aoservidor.
Consulte a Figura 48.
O bloco de números zero e um significa o corpo damensagem. Estes são os dados binários que estão sendo transferidos por esteprotocolo. O formato destes dados está fora do âmbito do presente protocolo,porque o formato será diferente dependendo da tecnologia da implementação docliente.
Os dados no corpo começam na posição 0 e tem umcomprimento de 160 bytes. Os valores de deslocamento e comprimento na linhaPut (Colocar) refletem esta informação.O tipo de conteúdo na linha Put (Colocar) informa oservidor como esses dados devem ser interpretados.
5.1.2.3.1. Enviar dados com múltiplas linhas Put (Colocar)
O cliente poderá ser obrigado a enviar vários recursospara o servidor, ao mesmo tempo. De um modo semelhante ao uso de múltiplaslinhas Get (Obter), o cliente pode enviar várias linhas Put (Colocar).
Consulte a Figura 49, que ilustra um exemplo do clienteenviando dados de erro e uma fotografia para o servidor.
No corpo do pedido, os dados de erro são mostrados emnegrito para os dados da fotografia. As posições de deslocamento e comprimentono pedido informam ao servidor o deslocamento nestes dados, bem como ocomprimento dos dados.
5.1.2.3.2. Enviar dados com parâmetros
De um modo semelhante à linha Getl a linha Put (Colocar)também suporta parâmetros em uma linha Put.
A sintaxe para a linha Put é a mesma sintaxe da linhaGet, que tem como modelo a sintaxe na seqüência de consulta do módulo HTTP.
A Figura 50 ilustra um exemplo do servidor enviando umafotografia em Jpeg com um único parâmetro (name = "Fave Tracks").
Deve-se observar que, embora a linha Put (Colocar) sejamuito semelhante à linha Get, a linha Put não suporta os valores das faixas demúsicas De e Para. Uma falha na linha Put (Colocar) exigirá o reenvio completodos dados. O cliente saberá se a linha Put falhou, pois não receberá umaconfirmação de recebimento do servidor (consulte a seção "Protocolo deResposta do Servidor").
5.1.2.3.3. Confirmação do cliente
Para que o servidor possa ter sempre perfeitoconhecimento de quais dados existem sobre cada cliente, o cliente é obrigado aconfirmar o recebimento de cada parte dos dados enviados pelo servidor. Isto éfeito através do envio de uma linha Ack (confirmação) para cada arquivo de dadosrecebido e armazenado com sucesso.O parâmetro da linha Ack (confirmação) é acklD atribuídopelo servidor quando ele envia o arquivo.
MSTP/0.1
Requestld: 123466
Client: MusicStation™ 0.4.6 MIDP Nokia/N70
UserGUID: AB12YZ
Ack: 2006061911030001CHARTS
Este pedido mostra a confirmação do cliente que foirecebido e armazenado com êxito o arquivo de dados que tinha atribuído àidentificação de recebimento 2006061911030001CHARTS.
O cliente só deve confirmar o recebimento de arquivosrecebidos completamente. Nunca se deve confirmar o recebimento de arquivosrecebidos parcialmente. Se um cliente recebe um arquivo parcialmente, ele devefazer um pedido de faixa Get para o resto dos dados. Depois que todos os dadosforam recebidos e armazenados, então, o cliente pode enviar a confirmação derecebimento desses dados.
5.1.2.3.4. Confirmação de recebimento do cliente commúltiplas ACKS (confirmações)
Um pedido pode incluir múltiplas linhas de confirmação.MSTP/0.1
Requestld: 123466
Client: MusicStation™ 0.4.6 MIDP Nokia/N70UserGUID: AB12YZ
Ack: 2006061911030001 CHARTS
Ack: 2006061911030001INBOX
Este pedido mostra a confirmação do cliente que foramrecebidos e armazenados com êxito os arquivos de dados com identificações derecebimento de 2006061911030001 CHARTS e 2006061911030001INBOX.
5.1.2.3.5. Notificação de Não-Recebimento
Se o cliente não receber e armazenar com sucesso umarquivo de dados que tenha solicitado, ele deverá enviar uma notificação de não-recebimento ao servidor.MSTP/0.1
Requestld: 123466
Client: MusicStation™ 0.4.6 MIDP Nokia/N70
UserGUID: AB12YZ
Nak: 2006061911030001CHARTS
Este pedido mostra o cliente avisando o servidor quehouve um problema com o recebimento ou com o armazenamento do arquivo dedados com a identificação de recebimento 2006061911030001CHARTS. Oservidor saberá que este arquivo não existe no cliente.
Normalmente, quando o cliente envia uma Nak(Notificação de Não-Recebimento), é muito provável que tenha algum dado deerro explicando o motivo da Nak. Se o servidor recebe uma Nak e sem nenhumdado de erro, ele pode pedir ao cliente enviar os detalhes do registro de eventos.Se o cliente envia persistentemente Naks para o servidor, o servidor pode quereraumentar o nível de registro no cliente para ajudar a identificar a causa.
5.1.2.4. Identificadorda sessão
Cada pedido que o cliente envia para o servidor deveincluir um identificador da sessão. O cliente pode não se lembrar desteidentificador da sessão entre reinicializações. Em relação ao primeiro pedidodepois da inicialização, o cliente não deve incluir um identificador da sessão. Oservidor irá responder, enviando de volta um novo identificador de sessão. Ocliente deverá então incluir este identificador em cada pedido subseqüente atéque o usuário feche o cliente.
MSTP/0.1
Requestld: 123467
Client: MusicStation™ 0.4.6 MIDP Nokia/N70
UserGUID: AB12YZ
Sessionid: FJSKNBKSKSDKFLSH
Get: inbox.data
Este pedido mostra que o cliente atribuiu anteriormente oidentificador da sessão FJSKNBKSKSDKFLSH.Para mais informações sobre como o cliente recebe esteidentificador de sessão, consulte a seção "Protocolo de resposta do servidor".
5.1.3. Protocolo de resposta do servidor
5.1.3.1. Cabeçalho
5.1.3.1.1. O identificador do protocolo
O identificador do protocolo utilizado na resposta doservidor deve ser idêntico ao identificador do protocolo do pedido do cliente. Osclientes devem verificar este identificador para que eles saibam se a resposta estáno formato do Protocolo MusicStation™.
O identificador do protocolo utilizado pelo MusicStation™é:
MSTP
5.1.3.1.2. Número da versão do protocolo
O servidor pode suportar muitas versões diferentes doprotocolo, ao mesmo tempo. O servidor deve sempre responder com o mesmonúmero da versão do protocolo que o cliente utilizou no pedido. Isso é porqueeste é o único número da versão do protocolo que o servidor pode ter certeza queo cliente suporta.
Junto com o identificador do protocolo, o cliente deveverificar a número da versão do protocolo na resposta, de tal modo que saiba se aversão do protocolo que está sendo utilizada é uma versão que entende.
MSTP/0.1
Este é um exemplo do servidor enviando o identificadordo Protocolo de Transferência do MusicStation™, por meio do uso do número daversão do protocolo 0.1.
5.1.3.1.3. Códigos do estado da resposta
Com cada resposta, o servidor enviará um código doestado. Os códigos do estado são mostrados na Figura 51.
Os códigos do estado são sempre 4 dígitos. Isto é parapermitir códigos suficientes para possibilitar uma futura expansão. Os códigos de3 dígitos não são utilizados para evitar confusão com os códigos de estado doHTTP.Os códigos do estado são extensíveis e novos códigospodem ser adicionados a qualquer momento. O servidor vai ter certeza de que osclientes estão sempre enviando apenas códigos do estado que o cliente entende.
Os códigos do estado são agrupados em 2 seções. Oscódigos que começam com o algarismo 1 (ou seja, 1000 - 1999) devem serutilizados para códigos relacionados a uma operação bem sucedida. Os códigosque começam com o dígito 2 (ou seja, 2000 - 2999) devem ser utilizados parauma operação falha.
Dentro da faixa de falhas de códigos, há dois outrosgrupos. Os códigos que começam com o dígito 4 (ou seja, 4000 - 4999) devemser utilizados em falhas, quando a falha é do cliente. Os códigos que começamcom o dígito 5 (ou seja, 5000 - 5999) devem ser utilizados em falhas, quando afalha é do servidor.
O exemplo abaixo mostra uma resposta de êxito doservidor.
MSTP/0.1
StatusCode: 1000
5.1.3.1.4. Identificadorda resposta
Para que o cliente possa verificar se a resposta querecebe é a resposta do pedido que fez, cada resposta do servidor irá repetir oidentificador do pedido do cliente.
MSTP/0.1
StatusCode: 1000
Responseld: 234567
Este exemplo mostra a resposta do servidor para o pedidodo cliente com a identificação do pedido 234567.
5.1.3.2. Definindo o identificador da sessão
O primeiro pedido do cliente, cada vez que é iniciado, nãoirá conter um identificador da sessão. O servidor deve responder a este pedidocom um novo identificador da sessão atribuído.
MSTP/0.1StatusCode: 1000Responseld: 234568
SetSessionId: FJSKNBKSKSDKFLSR
Esta resposta mostra o servidor configurando aidentificação da sessão FJSKNBKSKSDKFLSR.
Se o cliente recebe qualquer resposta com uma linha
SetSessionId, então, o cliente deve iniciar, por meio do uso da nova identificaçãoda sessão, imediatamente. Pode haver casos em que o servidor atribui uma novaidentificação da sessão a um cliente que já tem uma identificação de sessão. Porexemplo, isso pode acontecer quando a sessão teve o tempo esgotado no servidor.
5.1.3.3. Enviando dados
A maioria das respostas do servidor tende a incluir pelomenos um arquivo com objeto de dados. Esses arquivos de dados são enviadosno corpo da resposta.
Para cada linha Get no pedido enviado pelo cliente, oservidor deverá devolver uma linha Sent.
O servidor deve gerar uma identificação da notificação derecebimento, que ele envia junto com os dados. Isto é para que, quando oservidor recebe uma linha Ack, ele sabe que os dados estão sendo recebidos. É de responsabilidade de o servidor gerar estas identificações de notificação derecebimento, de forma que identifique exclusivamente o arquivo de dadosenviado.
A linha Sent deve incluir a posição do deslocamento embytes no corpo dos dados onde o cliente pode encontrar os dados, assim como também deve incluir o comprimento dos dados e o tipo de conteúdo dos dados. Ocomprimento e o deslocamento em bytes são utilizados no protocoloMusicStation™ porque tornam o processamento relativamente simples. Tem sidoutilizado em detrimento de um parâmetro delimitador, como utilizado emextensões multifunção para mensagens de internet (MIME) de partes múltiplas. Esta resposta na Figura 52 mostra o servidor enviando oarquivo news1.data.5.1.3.3.1. Enviando múltiplos arquivos de dados em umaresposta
O servidor também pode enviar múltiplos arquivos dedados em uma única resposta. Isso é feito com múltiplas linhas Sent, da mesmaforma que o cliente envia recursos para o servidor com múltiplas linhas Put.
A resposta na Figura 53 mostra o servidor enviando osarquivos news2.data e news3.data.
No corpo da resposta, os dados são mostrados emnegrito. O cliente sabe qual o dado do corpo é para qual arquivo de dados, porcausa dos parâmetros de comprimento e deslocamento na linha Sent.
5.1.3.3.2. Pedido parcial de dados
Se um pedido cliente foi para uma determinada faixa dedados, o servidor só envia esta faixa de dados e, então, a resposta do servidordeverá indicar qual faixa de dados já foi enviada.
Consulte a Figura 54.
Esta resposta mostra que os dados reenviados são osdados a partir do byte 160 até o final. Há 40 bytes destes dados e eles sãoposicionados a 0 byte no corpo dos dados (ou seja, o início do corpo).
Deve-se observar que o valor do deslocamento é umíndice no corpo dos dados e não é para fazer com a faixa de valores.
A faixa de valores pode ser utilizada em uma linha Sent,para mostrar que os dados na resposta não vão até o final do arquivo de dados.
O cliente deve sempre ler os cabeçalhos da resposta eutilizar esses cabeçalhos para processar os dados, e não os cabeçalhos dopedido enviado pelo cliente. Isso ocorre porque a faixa solicitada pode não ser afaixa reenviada, se o servidor tiver motivos para retornar o arquivo de dadoscompleto.
5.1.3.3.3. Impondo dados para o cliente
O servidor também pode enviar linhas Sent para os dadosque gostaria de impor ao cliente. Isto é feito pelo servidor, ao enviar uma linhaSent, que o cliente não tinha enviado uma linha Get correspondente no pedido.Consulte a Figura 55.Esta resposta mostra o servidor enviando os arquivosnewsl data e command.data. Qualquer dado imposto deverá sempre acompanharos dados solicitados, no corpo da resposta.
5.1.3.4. Confirmações
5.1.3.4.1. Confirmando os dados recebidos
Quando o cliente envia os dados para o servidor (porexemplo, dados de erro), o servidor deverá confirmar o recebimento destes dadospara que o cliente saiba que o servidor recebeu estes dados com êxito.
MSTP/0.1
StatusCode: 1000
Responseld: 234569
Ack: 3
Esta resposta mostra o servidor confirmando orecebimento do arquivo de dados que o cliente enviou em uma linha Put e ocliente atribuiu a identificação da confirmação como 3.
5.1.3.4.2. Enviando uma notificação não confirmada
Da mesma forma, o servidor pode confirmarnegativamente o recebimento dos dados, se for um problema de recebimento ouarmazenamento dos dados. Isso permitirá que o cliente reenvie os dados.
MSTP/0.1
StatusCode: 1000
Responseld: 234569
Nak: 4
Esta resposta mostra o servidor confirmando a falha norecebimento do arquivo de dados que o cliente atribuiu uma identificação deconfirmação 4.
5.1.3.4.3. Pedidos de confirmação
Se o servidor enviou dados para o cliente, então, nopróximo pedido com uma identificação de pedido diferente do cliente, o servidornão recebeu uma confirmação para esses dados, então, o servidor poderá pedirao cliente confirmar se recebeu os dados ou não.Isto é feito pelo servidor, enviando uma linhaanAckRequired na resposta.
MSTP/0.1
StatusCode: 1000
Responseld: 234574
AckRequired: 20060619111230NEWS2
Este é um exemplo do servidor pedindo ao cliente aconfirmação do arquivo de dados que foi anteriormente enviado com aidentificação de confirmação 20060619111230NEWS2.
Deve-se observar que o servidor não é obrigado a pedirconfirmação de arquivos de dados, pois o cliente deve enviá-la automaticamente.A linha "AckRequired" é utilizada quando a conexão é menos do que perfeita euma confirmação enviada anteriormente pelo cliente não chegou ao servidor poralgum motivo.
5.1.4. Níveis de conexão
Os clientes terão diferentes níveis de velocidade deconexão, confiabilidade, largura de banda e latência.
Cada pedido de objeto de dados do cliente terá um nívelde prioridade pré-definido associado a ele.
O cliente irá mudar dinamicamente seu limiar do nível deconectividade com base na largura de banda disponível e no número de conexõesbem sucedidas.
Os níveis de prioridade são:
• IMEDIATA - O cliente deve enviar esse pedidoimediatamente e não colocá-lo em fila. Isso deve ser utilizado para solicitarobjetos de dados que são necessários para mostrar a tela solicitada pelo usuário.
• EM BREVE - Esse cliente pode enviar este pedidoimediatamente se a velocidade da rede/largura de banda estiver disponível. Estainformação é útil para o servidor, para decidir quais objetos de dados deve imporao cliente.
• QUANDO POSSÍVEL - O cliente não precisa enviaressas informações para o servidor, em qualquer momento crítico. O servidorprecisa ser notificado desta informação, mas os dados podem ser enviados juntocom o próximo pedido.
O cliente pode calcular a sua largura de banda com baseno tempo que leva para transferir uma grande quantidade de dados.
Provavelmente, isto é mais bem feito quando se transfere um arquivo de áudio.
O cliente pode calcular seu limiar de conectividade combase na largura de banda e no número de conexões bem sucedidas, bem comono número de conexões interrompidas para enviar um pedido com maiorprioridade.
Os clientes com uma boa conectividade terão um limiar deconectividade que permite que todas as mensagens de prioridade EM BREVE ousuperior sejam enviadas imediatamente.
O cliente com conectividade fraca terá um limiar deconectividade que permite apenas às mensagens IMEDIATAS serem enviadasimediatamente.
5.1.5. Objetos de dados de comando
No MusicStation™ MIDP 0.4.6, os únicos objetos dedados que existem são objetos de dados de conteúdo. Um novo tipo de objeto dedados é exigido na versão MusicStation™ conectada. Estes são necessários paraque o servidor possa solicitar ou enviar vários dados para o cliente. Estes objetosde dados são enviados pelo produto Protocolo de Transferência MusicStation™,mas não fazem parte do produto Protocolo de Transferência MusicStation™. Elesnão fazem parte do protocolo porque diferentes objetos de comando serãoutilizados para diferentes implementações do cliente, mas o mesmo protocolo detransferência será utilizado para todas as implementações.
5.1.5.1. Objetos de dados de comando do servidor
Além dos dados de objetos de conteúdo e arquivos deimagem, o servidor deve ser capaz de enviar os seguintes comandos para ocliente:
· Favor enviar o tamanho do espaço total do arquivo parao servidor.• Favor envie o tamanho do espaço restante do arquivopara o servidor.
• Favor enviar arquivo com registro de atividades para oservidor.
• Favor enviar erros para o servidor.
• Favor mudar o nível de registro do cliente.
• Definir propriedade.
• Obter propriedade.
• Favor excluir um arquivo.
• Favor enviar detalhes de quais arquivos você possui.
• Favor enviar detalhes da largura de banda.
• Favor mudar nível de conexão.
• Favor solicitar arquivo de dados.
• Favor solicitar arquivo de áudio.
• Dados de registro.
Os itens podem ser adicionados a esta lista à medida queum novo recurso é adicionado ao cliente e ao servidor.
Deve-se observar que o servidor irá freqüentemente ficarmais informado dos detalhes da conexão do cliente do que o cliente. Por exemplo,um cliente MIDP em um Nokia N80 não tem como saber se a conexão HTTP éatravés de uma porta de acesso da operadora ou se é através de uma LAN semfio. O servidor vai saber se a conexão do cliente é através de uma porta deacesso da operadora, pois a conexão será proveniente de uma faixa deendereços IP conhecido da Operadora.
5.1.5.2. Objetos de dados de comando do cliente
O cliente precisa ser capaz de enviar os seguintes dadospara o servidor:
• Dados da lista de músicas.
• Arquivos de imagem.
• Espaço total do arquivo.
• Espaço disponível do arquivo.
• Dados do arquivo de registro.• Nível atual de registro.
• Informação de erro.
• Informações sobre quais arquivos foram apagados paraliberar espaço para outros arquivos.
• Nível atual da largura de banda.
• Arquivo de dados utilizado.
• Tela mostrada.
• Valor da propriedade.
• Tempo do cliente atual.
• Dados de registro.5.1.5.3. Cronogramas
O servidor gravará o horário que vários eventos do clienteocorreram.
Os clientes deverão relatar os horários ao servidor emnúmero de segundos desde a meia-noite GMT em 1 de janeiro de 1970.
Por Exemplo, em MIDP1.0, isto pode ser obtido por:Calendar.getlnstance(TimeZone.getTimeZone("GMT")).ge
tTime().getTime()
A especificação MIDP diz que o fuso horário GMT deveser suportado, mas se por alguma razão não for suportado, então, o telefonemóvel pode usar simplesmente:
(new Date()).getTime() para obter o horário do cliente.Cada cliente armazena os dados do cronograma por meiodo uso de suas próprias configurações de horário. Quando esses dados sãotransferidos para o servidor, o servidor pode, então, converter e armazenar estescronogramas de eventos em seu próprio formato.
O servidor irá fazê-lo isso através da comparação dohorário local dos clientes com o seu próprio horário. O delta entre os horáriosrelatados do cliente e os horários do servidor pode então ser calculado.
O objeto de comando do horário atual do cliente deveconter o horário que os dados são enviados para o servidor para que o horáriocalculado do servidor seja o mais preciso possível.5.2. Sincronização dos dados do cliente
5.2.1. Introdução
A maioria das telas no MusicStation™ é constituída dedados. Estes dados são transferidos do servidor e armazenados localmente emarquivos, no cliente. Quando os dados no servidor mudam, os arquivos no clienteprecisam ser atualizados para refletir essas alterações. Além disso, o usuário écapaz de criar e modificar arquivos no cliente, por exemplo, adicionar faixas demúsicas a uma lista de músicas. Estas mudanças precisam ser comunicadas devolta para o servidor.
O usuário também pode fazer alterações nos dadosatravés do MusicMate. Estas mudanças podem entrar em conflito com asmudanças feitas no dispositivo. O cliente e o servidor precisam ser capazes desincronizar seus dados e o servidor irá lidar com qualquer resolução dos conflitos.
5.2.2. Objetos de Dados
Os objetos de dados são a unidade básica do objeto queé passado entre o cliente e o servidor e o cliente e o servidor. Eles encapsulam arepresentação de alguma entidade que é exibida dentro da interface cliente(como, por exemplo, um artista, um álbum, etc.) ou dados e precisam serenviados de volta para o servidor (como uma lista de músicas definida pelousuário). Eles são passados entre o servidor e o cliente e são armazenados deforma segura, no telefone. Os objetos de dados podem ser distribuídos ao clientepelo servidor a qualquer momento que precisar atualizar alguma coisa no cliente.
Os objetos de dados podem escrever para um arquivo eestes são utilizados para transferir dados entre o cliente e o servidor. O cabeçalhodo arquivo contém a versão do objeto de dados utilizado para escrever o arquivo.As versões mais recentes dos objetos de dados são capazes de ler e escreverarquivos em todas as versões suportadas. A versão é passada para cada métodode leitura e escrita, e isso permite mudar o que é lido ou escrito com base naversão.
Por meio do uso desse método, o servidor é capaz deescrever arquivos de objeto de dados para versões mais antigas do cliente. Aversão-alvo é configurada no cabeçalho do arquivo e, então, cada método deescrita garante que as informações estão no formato para essa versão.
O servidor também é capaz de ler arquivos escritos porum cliente mais antigo, por meio do uso do mesmo método. Quando o arquivo élido no objeto de dados, o método de leitura utiliza a versão para mudar quaisatributos são lidos a partir do arquivo.
Os objetos de dados contêm os dados utilizados parapovoar as telas no MusicStation™. Eles utilizam métodos que lhes permiteescrever e ler de e para um arquivo ou um grupo. Eles são utilizados paratransferir dados entre o cliente e o servidor e para carregar e armazenar dadoslocalmente em arquivos, no cartão de memória.
5.2.2.1. Grupos de objetos de dados
Um objeto de dados pode conter uma coleção de outrosobjetos de dados, por exemplo, um objeto de dados do Artista contém umacoleção de Lançamentos. Por sua vez, um Lançamento contém uma coleção deFaixas de músicas. Consulte a Figura 56.
O objeto de dados também pode armazenar listas deobjetos, por exemplo, ArtistGroup armazena uma lista de Artistas. A tela "MeusArtistas" utiliza um objeto de dados ArtistGroup para exibir todos os artistaspertencentes ao usuário. Uma vez que o Artista contém Lançamentos e umLançamento contém Faixas de músicas, o Artista e o Lançamento também sãogrupos de objeto de dados.
5.2.2.2. Visualizações do objeto de dados
Uma visualização do objeto de dados oferece umavisualização ordenada e filtrada de um grupo de objetos de dados. Todas as telasno MusicStation™ que são povoadas por dados são apoiadas por uma ou maisvisualizações. Quaisquer alterações em um grupo de objetos de dados sãopropagadas para a visualização, que é responsável pela atualização da tela, pararefletir estas alterações.
Isto nos permite exibir uma tela imediatamente antes deum objeto de dados ser carregado. Conforme o objeto de dados é carregado emsegundo plano, estas alterações resultam em atualizações para a tela, porexemplo, a lista de Artistas na tela "My Artist s"
aumenta à medida que cada Artista é carregado.
5.2.3. Arquivos de objeto de dados
Cada grupo de objeto de dados é armazenado localmenteem um arquivo. Por exemplo, "Meus Artistas" no objeto ArtistGroup é armazenadoem seu próprio arquivo. Se o usuário possui 100 artistas, cada um com umamédia de 2 álbuns1 contendo 10 faixas de músicas, esse objeto de dados setornará muito grande em breve. Quando esse objeto ArtistGroup é escrito, ele criaum arquivo grande e quando é lido de volta do arquivo, ele demora um tempopara preencher.
Um método alternativo é armazenar cada coleção deobjetos em seu próprio arquivo. Então, no nosso exemplo "Meus Artistas", a listade Artistas é armazenada em um arquivo (userartists.data), mas a lista de álbunsde cada artista não é. A lista de álbuns é armazenada em um arquivo separadode artistas, um para cada artista (por exemplo, artist.123.data). Cada álbum é,então, armazenado em seu próprio arquivo (release.4567.data) que contém asfaixas de músicas.
Consulte a Figura 57.
Uma vez que cada objeto de dados é armazenado em seupróprio arquivo, os grupos de objeto podem utilizar o mesmo objeto de dados semter que duplicar os dados. Por exemplo, "Snow Patrol" está no grupo "MeusArtistas" e no grupo "Artistas Populares". Se o usuário compra "Chasing Cars" doálbum "Eyes Open", temos apenas que atualizar o arquivo de dados do álbumOpen Eyes". Quando o usuário navega em "Artistas Populares" e depois "SnowPatrol", a tela irá mostrar que o usuário comprou "Chasing Cars".
Consulte a Figura 58.
No entanto, esta abordagem apresenta o seu próprioconjunto de problemas. Uma vez que o arquivo de dados "Meus Artistas" sócontém uma lista de identificações de artistas, precisamos abrir cada arquivo deartista e ler o nome de cada artista para preencher a tela "Meus Artistas". Existem
1O usuário não precisa ter ambos os álbuns, mas ambos os álbuns existem no objeto de dados do artista.vários problemas importantes com esta abordagem. Em primeiro lugar,precisamos de cada arquivo de artista armazenado localmente, portanto,quaisquer arquivos inexistentes precisam ser baixados do servidor. Sem essesarquivos ficamos impossibilitados de mostrar os nomes dos artistas. Em segundolugar, é relativamente caro abrir uma nova conexão de arquivo para cada artistana lista, portanto, esta abordagem será lenta.
Para evitar isso, podemos armazenar o nome do artista,assim como a identificação no arquivo de dados "Meus Artistas". Isto significa quepodemos construir a lista "Meus Artistas" rapidamente. No entanto, estamos entãointroduzindo redundância, pois o nome já está armazenado no arquivo de dadosdo grupo do artista e no arquivo de dados do artista. Consulte a Figura 59.
Também se pode querer classificar ou filtrar a lista comoutra propriedade. Por exemplo, "Buscar Resultados" mostra os artistaspertencentes ao usuário no topo da lista. Para isso, precisamos da propriedade doproprietário, bem como o nome para exibir a lista. Estes são dados maisredundantes que adicionamos ao arquivo de dados do grupo.
Uma vez que um objeto pode ser armazenado em muitosgrupos, temos que estar conscientes desta redundância e certificar-se se o clienteou o servidor assume a responsabilidade pelas atualizações. Em geral, o servidorserá responsável por essas atualizações e as atualizações serão transferidaspara o cliente em resposta a um pedido do cliente. Quando for possível que essasmudanças ocorram quando o cliente estiver desconectado, o cliente terá aresponsabilidade pela propagação destas mudanças. Nestes casos, o cliente iráatualizar os arquivos locais sendo conectado ou desconectado. Por exemplo,quando um cliente modifica uma imagem da lista de músicas, quaisquer gruposde lista de músicas que contêm essa lista devem ser atualizados.
5.2.4. Transferência de objeto de dados
Os objetos de dados são transferidos entre o cliente e oservidor por meio do uso do protocolo MusicStation™ Conectado. Espera-se quea maior parte da comunicação com o cliente seja por HTTP, por isso, o clienteserá responsável pela execução do pedido inicial.
5.2.4.1. Pedido do clienteO cliente nem sempre saberá onde os objetos sãoduplicados no cartão de memória. Por exemplo, o grupo "Artistas Populares" foiimposto para o cliente, no entanto, o cliente nunca abriu "Artistas Populares" enão tem conhecimento de que, quando o usuário compra "Chasing Cars" de"Snow Patrol", o arquivo de dados "Artistas Populares" precisa ser atualizado pararefletir isso. No entanto, o servidor não tem esse conhecimento, porque eleconstruiu o arquivo de dados "Artistas Populares" e enviou o arquivo para ocliente.
Por este motivo, o servidor é responsável por atualizar osarquivos no cliente quando os registros no servidor são modificados. Quando ocliente compra "Chasing Cars", o servidor irá calcular quais arquivos de dados nocliente contém "Chasing Cars" e, portanto, precisam ser atualizados. O servidorentão irá impor estes objetos atualizados com a resposta da compra ou enviarácomandos para que o cliente possa atualizar esses arquivos quando puder. Épreferível que a resposta contenha todos os objetos de dados que forammodificados, em conseqüência do pedido. Consulte a Figura 60: Cliente enviandoo objeto e obtém todos os objetos modificados.
5.2.4.2. Impondo objetos de dados
Quando os registros são atualizados no servidor enquantoo cliente está desconectado e essas mudanças precisam ser propagadas para ocliente, o servidor irá impor estes objetos de dados atualizados para o cliente nopróximo pedido. Por exemplo, se o cliente compra "Chasing Cars" do MusicMate,na próxima vez que o cliente se conectar ao servidor, quaisquer objetos queprecisam ser atualizados serão impostos para o cliente.
Consulte a Figura 61 - Cliente solicita o objeto e obtémtodos os objetos modificados.
5.2.4.3. Modo desconectado
Quando o cliente está desconectado, o usuário cliente éimpedido de realizar mais ações que possam modificar os dados. Por exemplo,ele não pode comprar uma faixa de música.
No entanto, o usuário poderá criar, editar e compartilharlistas de músicas. O cliente precisa manter uma lista de arquivos que forameditados no cliente, mas não foram enviados para o servidor. Na próxima vez queo cliente estiver conectado, ele deve enviar esses arquivos para o servidor. Todasas alterações feitas pelo cliente são enviadas para o servidor na próxima vez queo cliente se conectar. O servidor irá então retornar quaisquer arquivosmodificados para o cliente. Consulte a Figura 62 - Cliente envia os objetosmodificados no modo desconectado.
5.2.5. Registro de mudança
O servidor mantém uma lista de objetos que foramenviados para o cliente. Quando um ou mais desses objetos são modificados noservidor, os objetos modificados devem ser distribuídos ao cliente o mais rápidopossível (ASAP). Da mesma forma, o cliente mantém uma lista de objetos queforam criados ou modificados no cliente e precisam ser atualizados no servidor.
A tabela object_change_log é para onde as alteraçõesque não precisam ser guardadas são enviadas imediatamente. Isto é paragrandes mudanças gerais do sistema, como, por exemplo, a adição de um novoartista. Esta tabela também inclui as mudanças incorporadas feitas a partir devárias bases de dados. Estas mudanças são comunicadas quando uma próximasessão do usuário é criada.
As mudanças específicas do cliente ocorrem emcustomer_object_change_log. Estas mudanças são imediatamente comunicadasao cliente.
5.2.5.1. Objetos do servidor
As mudanças no servidor de objetos são armazenadas natabela object_change_log. Toda vez que um registro inserido, atualizado ouexcluído pode afetar um ou mais dos arquivos de dados de objetos, um ou maisregistros são inseridos nesta tabela. Esta tabela também inclui as mudançasfeitas em um banco de dados separado, como, por exemplo, em um servidortemporário e, então, quando as mudanças são importadas, a tabelaobject_change_log também é importada.
Consulte a Figura 63 - Registro de mudança de objeto.
A lista de objetos de dados que existem no cliente éarmazenada no servidor, na tabela customer_object. Quando uma sessão écriada para o cliente, nós consultamos as tabelas customer_object eobject_change_log para determinar quais objetos que foram mudados para esteusuário. É possível que esta consulta retorne vários registros de mudança paraum único objeto. Neste caso, apenas precisamos considerar o último registro demudança. Os objetos que foram alterados precisam ser reenviados para o cliente.
Consulte a Figura 64 - Objeto do cliente.
Os objetos que precisam ser reenviados ao cliente sãoinseridos na tabela customer_object_change_log. Os registros também podem serinseridos nesta tabela quando ocorrem alterações em objetos, que afetam apenasum usuário. Por exemplo, quando o usuário compra uma faixa de música,precisamos atualizar os arquivos de dados de objetos que se referem à dita faixade música.
Consulte a Figura 65 - Registro de mudança de objeto dousuário.
Cada vez que recebemos um pedido de um cliente,gostaríamos de devolver todos os objetos modificados na resposta. Em algumassituações (onde a largura de banda é limitada ou os objetos são grandes),poderemos enviar um comando para que o cliente solicite os objetos modificadosmais tarde. Em situações em que muitos objetos precisam ser reenviados aocliente, o campo prioridade é utilizado para determinar quais objetos serãoenviados primeiro.
Para obter a lista de objetos modificados para um cliente,selecionamos a da tabela customer_object_change_log, ondeacknowledgement_date é nulo.
À primeira vista, parece que object_modified_date estariaduplicado para cada object_guid e poderia ser separado em outra tabela. Noentanto, por motivos de desempenho, os arquivos de dados de objetos no clientecontêm dados provenientes de mais de uma tabela e um objeto pode necessitarde atualização em um cliente e não em outro. Por exemplo, as listas de artistascontêm informações de propriedade para cada artista, para que possam serclassificados com os artistas pertencentes ao usuário no topo. Quando umusuário compra uma faixa de música de um artista, somente a lista de artista dousuário é modificada e precisa ser atualizada.
Um ou mais dos seguintes métodos podem ser utilizadospara atualizar as tabelas object_change_log e customer_object_change_log:
· Gatilho no banco de dados (database trigger) em umatabela poderia preencher a tabela object_change_log quando o dado foiadicionado, atualizado ou excluído.
• Processo por lotes (batch process) preenche a tabelaobject_change_log, por exemplo, em uma importação de novos dados deconteúdo.
• Ouvintes de entidade ou métodos de retorno dechamada (Entity Listeners/callback methods) são utilizados para persistir,atualizar e apagar eventos EJB.
Na maioria dos casos, os métodos de retorno de chamadasão os mais apropriados, no entanto, para grandes inserções, como, por exemplo,uma carga de dados, pode ser mais eficiente utilizar outro método.
5.2.5.2. Objetos do cliente
O cliente também deve manter um registro das mudançasque precisam ser enviadas para o servidor. O cliente mantém essa lista noservidor de Gerenciamento Raiz (RMS). Cada mudança é armazenada em umobjeto ChangeLogRecord. Consulte a Figura 66.
O objectGUID será o mesmo GUID utilizado paraidentificar o objeto no servidor, a menos que o cliente tenha adicionado esteobjeto. Neste caso, o cliente irá atribuir um GUID temporário que será utilizado atéque o servidor atualize o objeto com o seu novo GUID gerado pelo servidor.
Todas as vezes que o cliente se conecta ao servidor, eleenvia todos os objetos do registro de mudança. O servidor deve responder comuma confirmação para cada objeto. Quando o cliente recebe uma confirmação, oChangeLogRecord é, então, excluído.
5.2.6. Resolução de Conflitos
Quando os conflitos ocorrem porque o mesmo objeto foimodificado no cliente e no servidor, o servidor é o responsável pela resolução doconflito. O servidor comunica a resolução para o cliente, enviando-lhe o objetoatualizado.
Tentamos minimizar o número de situações onde conflitospodem ocorrer, tornando o servidor responsável pela maioria das atualizações.
Apenas em alguns casos, o cliente será capaz de modificar os objetos e enviar asalterações para o servidor.
No protótipo, as modificações do cliente estão limitadas a:
1. Criar lista de músicas
2. Editar a lista de músicas3. Excluir a lista de músicas
4. Editar o perfil do usuário (frase-chave, ícone)
5. Avaliarfaixa de música
Ao planejar a estratégia de resolução dos conflitos,precisamos ter em mente os seguintes tipos de conflito: · Conflitos de atualização: ocorrem quando a atualizaçãode um registro entra em conflito com outra atualização.
• Conflitos de unicidade: ocorrem quando a atualizaçãopara gravar viola uma restrição de unicidade com um registro conflitante.
• Conflitos de exclusão: ocorrem quando um registro éatualizado que também foi excluído.
5.2.7. Casos de uso
Quando um objeto é atualizado ou excluído, as tabelasobject_change_log e customer_object_change_log devem ser atualizadas pararefletir essa mudança. Uma vez que os arquivos de dados de objetos do clientecontêm dados redundantes, é provável que uma mudança afete mais de umobjeto.
5.2.7.1. Mudanças do Servidor
5.2.7.1.1. Artista lança um novo álbum
O artista "Snow Patrol" lança o álbum "Eyes Open". Cadacliente que contém o arquivo de dados do artista "Snow Patrol" precisa seratualizado.Primeiro, insere-se os registros de mudança para "SnowPatrol" e "Eyes Open" na tabela object_change_log.
Consulte a Figura 67.
Quando um usuário que tem o arquivo do artista "SnowPatrol" conecta ao servidor e uma sessão é criada, a tabela customer_data_objecté ajuntada à tabela object_change_log para encontrar quaisquer objetos queforam modificados para este usuário.
SELECT FROM customer_object, object_change_logWHERE customer_object.object_guid =object_change_log.object_guid AND
customer_object.deleted_date IS NOT NULL ANDcustomer_object.object_modified_date <object_change_log.object_modified_date;
Esta busca retorna o registro object_change_log "SnowPatrol". Este registro é inserido na tabela customer_object_change_log.
Consulte a Figura 68.
O campo customer_object.modified_date também éatualizado para "18/07/2006 13:16:33".
O arquivo de dados "Snow Patrol" é então enviado para ocliente e campo customer_object_change_log.acknowledgement_id éestabelecido.
Quando o cliente confirma o arquivo, então, o campocustomer_object_change_log.acknowledgement_date é estabelecido.
5.2.7.1.2. Artista é removido
O artista "Cliff Richard" é removido do MusicStation™.
Cada cliente que tem armazenado o arquivo de dados do "Cliff Richard" ou temuma lista que contém "Cliff Richard" precisa ser atualizado.
A tabela object_change_log é atualizada e um registroexcluído é inserido para os seguintes objetos:
Artist
Artist.getAlbums()
Artist.getListsQArtist.getAlbums().getLists()
Artist.getPlaylists()
5.2.7.1.3. Usuário compartilha uma lista de músicas
O usuário decide criar e compartilhar uma nova lista demúsicas "Sunday Stroll". O cliente envia a nova lista de músicas para o servidor.Todas as alterações são enviadas no próximo pedido para o servidor. Quando sebusca faixas de músicas para adicionar à lista de músicas, é como se estivessese comunicando com o servidor, e cada vez as alterações serão enviadas.
Quando o objeto da lista de música é criado, a tabelaobject_change_log é atualizada e um registro é inserido emcustomer_object_change_log para cada cliente que tenha o arquivo do objeto dedados do usuário.
5.2.7.1.4. Mudanças de usuário/Usuário compartilha umalista de músicas
O usuário decide criar e compartilhar uma nova lista demúsicas "Sunday Stroll". O cliente envia a nova lista de músicas para o servidor.Todas as alterações são enviadas no próximo pedido para o servidor. Quando sebusca faixas de músicas para adicionar à lista de músicas, é como se estivessese comunicando com o servidor, e cada vez as alterações serão enviadas.
Quando o objeto da lista de música é criado, a tabelaobject_change_log é atualizada e um registro é inserido emcustomer_object_change_log para cada cliente que tenha o arquivo do objeto dedados do usuário.
5.2.7.1.5. Usuário compartilha uma lista de músicas
O usuário decide criar e compartilhar uma nova lista demúsicas "Sunday Stroll". O cliente envia a nova lista de músicas para o servidor.Todas as alterações são enviadas no próximo pedido para o servidor. Quando sebusca faixas de músicas para adicionar à lista de músicas, é como se estivessese comunicando com o servidor, e cada vez as alterações serão enviadas.
Quando o objeto da lista de música é criado, a tabelaobject_change_log é atualizada e um registro é inserido emcustomer_object_change_log para cada cliente que tenha o arquivo do objeto dedados do usuário.
5.2.7.1.6. Usuário muda o idioma
O usuário seleciona um idioma diferente. Gostaríamosque todos os arquivos contendo dados específicos ao idioma fossem atualizados.
O arquivo de propriedade das mensagens e as legendasdo editor precisam ser atualizados para refletir esta mudança. Apenas as listas demúsicas exibem as legendas do editor no cliente e, portanto, para qualquer listade música no cliente que tem uma legenda do editor, um registro é inserido emcustomer_object_change_log.
5.2.7.1.7. Usuário adiciona faixa á lista de músicasenquanto o servidor exclui a faixa de música
Um usuário adiciona uma de música T a uma lista demúsicas enquanto está desconectado. Entretanto, o servidor elimina a faixa demúsica T.
Quando a faixa de música T é eliminada, um registro éinserido em object_change_log. Quando o cliente envia a lista de músicasatualizada, comparamos as mudanças com os registros em object_change_log,excluímos a faixa da lista de Músicas e enviamos novamente. O usuário não seránotificado deste fato, e a faixa de música só irá desaparecer.
5.2.7.1.8. Usuário adiciona faixa de música à lista demúsicas enquanto o servidor renomeia a faixa
Um usuário adiciona uma faixa T a uma lista de músicas Tenquanto está desconectado. Entretanto, o servidor renomeia a faixa de músicaT. Quando a faixa de música T é renomeada, um registro é inserido emobject_change_log. Quando o cliente envia a lista de músicas atualizada,comparamos as mudanças com os registros em object_change_log, renomeamosa faixa da lista de Músicas e enviamos novamente.
5.2.8. Gerenciamento de memória do dispositivo
O dispositivo é capaz de comunicar ao servidor quantamemória resta para armazenamento. O servidor usará estas informações paradecidir se alguns arquivos deverão ser excluídos do cliente quando entregar asatualizações.
O campo object_last_used na tabela customer_objectarmazena a data que o cliente utilizou pela ultima vez um determinado objeto.
Este campo é preenchido pelos dados de registro enviados pelo cliente para oservidor. O servidor utiliza esses dados para determinar quais arquivos devem serexcluídos. O servidor também poderá utilizar outros métodos para predizer quaisarquivos devem ser eliminados, como, por exemplo, uma história que já nãoexiste em nenhuma lista.
O cliente também mantém uma lista dos últimos arquivosutilizados e é possível excluir eles mesmos antes que fique sem memória. Essalista é armazenada no Servidor de Gerenciamento Raiz (RMS) e em arquivos dereferências, por caminho relativo e nome do arquivo. O caminho e os nomes dosarquivos serão curtos, pois temos a intenção de retirar qualquer significado donome. Isto atua como uma válvula de segurança se acaso ocorrer um problemacom a lógica de supressão no servidor.
5.3. Downloads incompletos
5.4. Registro de atividade do cliente
Precisamos registrar as ações do usuário, os eventos e asexceções no cliente e enviá-los para o servidor, para:
• Depurar informações durante os testes
• Fornecer informações para suporte ao cliente
• Coletar dados de uso para relatórios e recomendações
5.4.1. Registrador cronológico
O objeto registrador cronológico é utilizado para controlaro registro de atividades no cliente. É um DataObjectSet e pode ser sincronizadocom o servidor por meio do uso do Protocolo de Transferência MusicStation™(MSTP).
O registrador cronológico contém os seguintes atributos:
· Nível: O nível em que os registros são armazenados,sendo que os eventos em um nível mais baixo são descartados- DEBUG (depuração): Os eventos que são úteis paradepurar o aplicativo
- INFO (informações): Mensagens informativas quedestacam o avanço do programa aplicativo
- WARN (aviso): Indica que existe um possível problema
- ERR (erro): Ocorreu um erro, mas o aplicativo conseguiucontinuar
- OFF (desligado): Nada é registrado
• Prioridade: Controla a freqüência com que os registrossão enviados para o servidor
- MIN (mínima): Na próxima vez que o cliente fizer umpedido ao servidor ou quando o tamanho máximo for atingido MAXSIZE.
- NORMAL (normal): Cada 5 minutos (ou como MIN)
- MAX (máxima): A cada 30 segundos (ou como MIN)
Este comportamento será controlado por propriedades epode ser sintonizado
• MAXSIZE: O número máximo de registros a serarmazenado no cliente
• TimeOffset: A diferença horária entre o servidor e ocliente
• LogRecords: Os próprios registros
O registrador cronológico contém um LogRecord paracada registro do cliente. O LogRecord contém os seguintes atributos:
• Message (Mensagem): descrição legível do queaconteceu
• Levei (nível): O nível deste registro
• Date (data): O tempo do servidor calculado por meio douso do tempo do cliente e o timeOffset
• sessionld: Sessionld do servidor quando ocorreu esseevento (se houver)
• EventTypeGuid: O identificador na tabela event_typepara este evento (se houver)• Parameters (Parâmetros): Os parâmetros que sãopertinentes a este evento
Consulte a Figura 69.
5.4.2. Depuração do cliente
Enquanto o cliente está em teste, temos de permitir queos testadores visualizem facilmente os registros do cliente para que eles possamcompreender o que estava acontecendo quando o erro ocorreu e possam incluirestes erros nos relatórios de erros de programação do Mantis.
O cliente irá registrar o seguinte:
• Tarefas incluindo todos os parâmetros necessários paraexecutar a tarefa
• Comandos incluindo todos os parâmetros necessáriospara executar o comando
• Exceções incluindo todas as informações relevantes
Cada LogRecord será registrado como um incidente epodem ser visualizados pelo testador por meio do uso da interface do usuário doIncident Monitor. Uma vez que cada registro é registrado por meio do uso dotempo do servidor, os incidentes podem ser ordenados por data, para a obtençãode uma lista de ações do cliente e do servidor, na seqüência que elas ocorreram.
5.4.3. Suporte ao usuário
Quando o usuário entra em contato com o serviço desuporte ao usuário, é preciso impor o objeto do registrador cronológico do clientepara o servidor para que o usuário possa ver os últimos LogRecords gerados pelocliente. O cliente precisa começar a impor, o que não pode fazer durante umperíodo determinado se a prioridade do registro estiver estabelecida como MIN.Conseqüentemente, precisamos de um método para comandar o cliente paraenviar o objeto do registrador cronológico.
É preciso registrar informações suficientes para recriar asituação do usuário. Essas informações serão armazenadas na tabela deespalhamento LogRecord.parameters Hashtable. Se o atributo EventTypeGuid forestabelecido, um registro será inserido na tabela customer_event e os parâmetrosinseridos em customer_event_val. Iremos utilizar uma fila para a inserção emcustomer_event e customer_event_val, para que o registro do evento não atrasea resposta ao cliente. A exceção é quando a prioridade customerjogger.priorityestá definida como MAX. Neste caso, precisamos ver os eventos quandoacontecem e esses registros serão inseridos diretamente na base de dados.
5.4.4. Dados de uso
Os dados de uso do cliente são preenchidos por meio dedisparos na tabela de eventos. Assim, por exemplo, quando recebermos umevento para que o cliente toque uma faixa de música, customer_track.play_counté incrementado.
5.4.5. Requisitos da Base de Dados
O suporte ao usuário deve ser capaz de controlar osregistros gerados pelo cliente e a freqüência com que ele é enviado para oservidor. Isso é controlado por meio do uso da tabela customer_jogger.
Consulte a Figura 70.
Todas as vezes que essa tabela for alterada, um registroserá inserido em customer_object_log para que o objeto do registradorcronológico atualizado possa ser imposto para o cliente.
6. Gerenciamento de direitos digitais (DRM)
6.1. Introdução
O MusicStation™ é um programa aplicativo baseado emum telefone móvel, que permite aos usuários descobrir, gerenciar e ouvir músicasem seu telefone em movimento, através da rede móvel. A Omnifone lançou oMusicStation™ ao mercado, essencialmente em parceria com operadoras deredes móveis (MNOs), ao mesmo tempo em que trabalhava em conjunto com aindústria fonográfica para garantir que a mais ampla e a melhor variedade demúsicas estivesse disponível para os usuários do MusicStation™. Tais vastasbibliotecas de mídia musical são extremamente valiosas e precisam serprotegidas contra roubo e abuso, enquanto se permite um acesso contínuo aosusuários pagantes. O gerenciamento de direitos digitais (DRM) apresenta ummétodo para controlar e facilitar o uso e distribuição legítima da mídia digital.
A principal plataforma de tecnologia de telefones móveispara o MusicStation™ é a plataforma Java 2 Platform Micro Edition (J2ME). Estaplataforma foi escolhida porque oferece o mais amplo alcance de telefonia móvel.Este documento descreve os métodos utilizados pelo aplicativo de telefonia móvelJ2MbtE MusicStation™ da Omnifone e serviços de rede associados para distribuirconteúdos protegidos e com segurança em relação aos direitos de uso deste conteúdo.
O gerenciamento de direitos digitais (DRM) doMusicStation™ é uma implementação da especificação DRM v2 da Open MobileAlliance (OMA). Esta especificação foi amplamente adotada pelas indústrias detelefonia móvel & fonográficas, como seu método preferido de proteção deconteúdo para dispositivos móveis. Embora a especificação DRM v1 da OpenMobile Alliance (OMA) tenha sido amplamente aprovada pelos fornecedores detelefones móveis, no momento da redação do presente documento, haviapouquíssimos aparelhos portáteis que suportavam a especificação DRM v2 daOpen Mobile Alliance (OMA). Por este motivo, a implementação da especificaçãoDRM v2 da Open Mobile Alliance (OMA) discutida neste documento é a que aOmnifone incorporou ao aplicativo de telefonia móvel MusicStation™ e serviçosde rede MusicStation™ associados.
6.1.1. Visão geral do gerenciamento de direitos digitais (DRM)
Antes de o conteúdo ser distribuído, ele é empacotadopara protegê-lo contra acesso não autorizado. O servidor de conteúdo (CS)distribui o conteúdo do gerenciamento de direitos digitais (DRM), e um Emissor deDireitos (RI) gera e distribui os Objetos de Direitos associados. O servidor deconteúdo (CS) e o Emissor de Direitos (RI) desempenham papéis no sistema.
Dependendo de sua implantação, eles podem ser fornecidos pelo mesmo ator oupor diversos atores, e executados pelo mesmo ou por diversos nodos da rede.Por exemplo, o conteúdo protegido pré-incluído pode ser distribuído por múltiplosservidores de conteúdo para uma eficiente distribuição de conteúdo.
Consulte a Figura 71 - Visão geral do gerenciamento de direitos digitais (DRM).
Um Objeto de Direitos governa como o conteúdo dogerenciamento de direitos digitais (DRM) pode ser utilizado. É um documento queespecifica as permissões e as restrições associadas a uma parte do conteúdo dogerenciamento de direitos digitais (DRM). O conteúdo do gerenciamento dedireitos digitais (DRM) não pode ser utilizado sem um Objeto de Direitosassociado, e só pode ser utilizado de acordo com as permissões e as restriçõesespecificadas em um Objeto de Direitos.
Como todos os sistemas v2 da Open Mobile Alliance(OMA)1 o gerenciamento de direitos digitais (DRM) do MusicStation™ faz umaseparação lógica do conteúdo do gerenciamento de direitos digitais (DRM) dosObjetos de Direitos, conhecida como "distribuição separada". Os Objetos de Direitos e o Conteúdo do gerenciamento de direitos digitais (DRM) podem serpedidos separadamente ou em conjunto, e eles podem ser distribuídosseparadamente ou de forma simultânea. Por exemplo, um usuário podeselecionar uma parte do conteúdo, pagar por esta parte e receber o Objeto deDireitos e o Conteúdo do gerenciamento de direitos digitais (DRM) na mesma transação. Mais tarde, se o Objeto de Direitos expirar, o usuário pode voltar ecomprar um novo Objeto de Direitos, sem ter que baixar novamente o conteúdodo gerenciamento de direitos digitais (DRM).
Os Objetos de Direitos relacionados com o conteúdo dogerenciamento de direitos digitais (DRM) devem ser cumpridos no ponto de consumo. O agente do gerenciamento de direitos digitais (DRM), dentro doaplicativo de telefonia móvel do MusicStation™, incorpora um componenteconfiável do aplicativo, responsável por impor permissões e restrições para oconteúdo de gerenciamento de direitos digitais (DRM) no dispositivo, controlandoo acesso ao conteúdo do gerenciamento de direitos digitais (DRM) no dispositivo, e assim por diante.
Um Objeto de Direitos é criptograficamente vinculado aum determinado agente do gerenciamento de direitos digitais (DRM), de modoque somente o agente do gerenciamento de direitos digitais (DRM) pode acessá-lo. O Conteúdo do gerenciamento de direitos digitais (DRM) somente pode ser acessado com um Objeto de Direitos válido, e, portanto, pode ser distribuídolivremente. Isto permite, por exemplo, uma "super distribuição", pois os usuáriospodem passar livremente o Conteúdo do gerenciamento de direitos digitais (DRM)entre eles. Para acessar o Conteúdo do gerenciamento de direitos digitais (DRM)no novo dispositivo, um novo Objeto de Direitos tem que ser solicitado edistribuído para um Agente do gerenciamento de direitos digitais (DRM) nessedispositivo.
6.1.1.1. Proteção de objetos de conteúdo
O Formato do Conteúdo (DCF) do gerenciamento dedireitos digitais é um pacote de conteúdo seguro para o conteúdo dogerenciamento de direitos digitais (DRM), com seu próprio tipo de conteúdoMIME. Além do conteúdo criptografado, ele contém informações adicionais, como,por exemplo, descrição do conteúdo (tipo de conteúdo original, fornecedor,versão, etc.), URL do Emissor dos Direitos (um local onde um Objeto de Direitospode ser obtido), e assim por diante. Esta informação adicional não é codificada epode ser apresentada ao usuário antes de Objeto de Direitos ser recuperado.Apenas o conteúdo de mídia (por exemplo, arquivo de música) é criptografado noarquivo no Formato do Conteúdo (DCF) do gerenciamento de direitos digitais.
A chave de criptografia de conteúdos (CEK) necessáriapara desbloquear o conteúdo do gerenciamento de direitos digitais (DRM) dentrode um arquivo no Formato do Conteúdo (DCF) do gerenciamento de direitosdigitais está contida dentro do Objeto de Direitos associado. Assim, não épossível acessar o conteúdo do gerenciamento de direitos digitais (DRM) sem umObjeto de Direitos. O conteúdo do gerenciamento de direitos digitais (DRM)somente pode ser utilizado conforme especificado em um Objeto de Direitos. Ogerenciamento de direitos digitais (DRM) do MusicStation™ inclui um mecanismoque permite que um agente do gerenciamento de direitos digitais (DRM) verifiquea integridade de um arquivo no Formato do Conteúdo (DCF) do gerenciamento dedireitos digitais, protegendo contra modificações do conteúdo por algumasentidades não autorizadas.
6.1.1.2. Proteção dos Objetos de DireitosUm Objeto de Direitos é protegido por meio do uso deuma Chave de Criptografia de Direitos (REK). A Chave de Criptografia de Direitos(REK) é utilizada para criptografar partes sensíveis do Objeto de Direitos, como,por exemplo, a chave de criptografia de conteúdos (CEK). Durante a distribuição,a Chave de Criptografia de Direitos (REK) é criptograficamente vinculada aoAgente-alvo do gerenciamento de direitos digitais (DRM). Desta forma, apenas oAgente-alvo do gerenciamento de direitos digitais (DRM) pode acessar o Objetode Direitos e, conseqüentemente, a chave de criptografia de conteúdos (CEK). OsObjetos de Direitos são, portanto, intrinsecamente seguros.
6.2. MusicStation™ no telefone móvel
Independentemente de qual método de provisionamentofoi utilizado, o aplicativo MusicStation™ acaba ficando residente no telefone móveldo usuário. Cada instalação do aplicativo do telefone móvel no MusicStation™ éuma construção sob medida do programa possivelmente exclusivo para cadamodelo diferente de telefone móvel e versão do programa residente (firmware) dotelefone móvel. As construções do programa são criadas e gerenciadas pelaArquitetura Adaptativa ao Dispositivo (DAA) patenteada da Omnifone e distribuídaao telefone correto, por meio do uso do sofisticado programa de provisionamentode aplicativo da Omnifone descrito abaixo.
6.2.1. Provisionamento do MusicStation™
Trabalhando com a operadora de rede móvel (MNO),existem duas maneiras de o aplicativo do telefone móvel do MusicStation™ ser"provisionado" ao telefone, sendo que ambas serão detalhadamente discutidasneste capítulo. O método preferido para distribuir o aplicativo MusicStation™ paraum telefone móvel é o ρré-download (pré-instalação) do aplicativo no dispositivoantes que ele chegue ao usuário final. A experiência de distribuir este tipo deaplicativo tem demonstrado que a descoberta por parte dos usuários finais podechegar a 93% quando pré-carregado na forma mais desejável, com uma chave desegurança (botão Música) no telefone, que inicia o serviço. Experiência similar noprovisionamento através do ar (OTA) deste tipo de aplicativo por operadoras derede móvel (MNO) demonstrou taxas de sucesso (ou seja, proporção de usuáriosconectados com sucesso para usuários solicitantes) a uma ordem de magnitudemenor do que quando o aplicativo é pré-carregado.
6.2.1.1. Pré-download do aplicativo (pré-instalação)
Normalmente, este tipo de personalização do dispositivo éfeito pelo fornecedor do telefone móvel, no pedido da operadora de rede móvel(MNO), e é realizado antes de o telefone sair das instalações do fornecedor. Apersonalização do dispositivo também pode ser realizada pelos distribuidores detelefones móveis, como, por exemplo, Mobiltron, que têm capacidade depersonalização na cadeia de suprimentos ou realizam a personalização emcélulas nos armazéns de armazenamento da operadora de rede móvel (MNO).
Independentemente de onde é realizado este pré-download, ele é suportado pela ferramenta de provisionamento da Omnifone, oPredownloader. O Predownloader é um aplicativo da área de trabalho conectadoà rede utilizado pelo pessoal na facilidade de pré-download. O acesso aoPredownloader é controlado por uma Licença do Programa, identificação dousuário e senha e é filtrado por uma lista de endereços IP autorizados. O acessoao Predownloader pode ser anulado a qualquer momento pelo usuário, pelalicença do programa ou pela organização.
Para uma parte autorizada, o Predownloader ofereceacesso às mais recentes e às mais apropriadas construções de programa docliente MusicStation™. A Omnifone pode controlar quais construções deprograma qualquer Predownloader tem acesso pelo fornecedor e modelo. OPredownloader permite fácil localização, download e armazenamento local dacorreta construção de programa do cliente MusicStation™, para a integração nasferramentas de personalização do telefone móvel e processos da parte deinstalação.
Embutido no Predownloader, há um sistema denotificação que pode alertar os instaladores para o fato de que novas construçõesde programa estão disponíveis para download.
6.2.1.2. Distribuição através do ar (OTA)
Devido a uma Interface de Programas Aplicativos abertasem fio, a Omnifone suporta um número de pontos de contato e mecanismosatravés dos quais um usuário pode comprar o MusicStation™ através do ar(OTA). Estes incluem, mas não ficam limitados a:
• pedido do portal WAP (operadora de rede móvel - MNO)
• texto SMS no pedido
• pedido baseado na Web• aquisição de IVR (resposta interativa de voz)
• atalho de serviços da Web
• integração profunda da rede de comunicação eoperadora de rede móvel (MNO), como, por exemplo, quando o Módulo deIdentificação do Assinante (SIM) é visto pela primeira vez na rede.
Independentemente do mecanismo de pedido, o aplicativoMusicStation™ é distribuído, oferecendo ao usuário final uma página de downloaddo protocolo WAP, seja diretamente dentro de um portal WAP que já estãonavegando ou via WAP Push, se o aplicativo foi solicitado através de outrométodo.
6.2.1.3. Reinstalação do aplicativo
O aplicativo MusicStation™ tem a capacidade de forçaruma reinstalação completa do aplicativo se assim for instruído pelo Servidor.Neste caso, o aplicativo MusicStation™ é novamente baixado por meio do uso dodownload do protocolo WAP através do ar (OTA). Se a reinstalação do aplicativoé comandada pelo Servidor, a antiga versão do aplicativo não será executada.
6.2.2. Metadados embutidos no aplicativo de telefoniamóvel do MusicStation™
Dentro de cada aplicativo de telefonia móvel doMusicStation™ há um conjunto de informações e metadados inseridosautomaticamente e utilizados para uma variedade de finalidades, conformedescrição no presente documento.
6.2.2.1. Modelo, versão e fornecedor do telefone móvel erevisão do programa residente (firmware)
Cada aplicativo de telefonia móvel do MusicStation™ éconstruído por uma combinação específica de modelo, versão e fornecedor dotelefone móvel e revisão do programa residente (firmware). Os metadados queidentificam esta combinação são embutidos em cada construção do aplicativoMusicStation™. Por exemplo, o Servidor sabe exatamente que tipo deconfiguração de telefonia cada aplicativo MusicStation™ está executando. Este éo caso, mesmo que o servidor nunca tenha se comunicado com este aplicativoMusicStation™ específico.6.2.2.2. Licença de Programa
Cada aplicativo de telefonia móvel do MusicStation™ éconstruído especificamente para um Serviço MusicStation™ específico. Para isso,todos os Aplicativos de telefonia móvel do MusicStation™ têm uma "Licença dePrograma" embutida em seu interior. A Licença de Programa é um númeroaleatório de 512 bits, que, quando apresentada para o servidor, é utilizada pararelacionar este exemplo de aplicativo a um Serviço MusicStation™ específico.Cada serviço ou é bloqueado ou desbloqueado, sendo que somente Serviçosdesbloqueados podem ser utilizados pelos usuários finais.
6.2.2.3. Autoridade Certificadora Raiz do MusicStation™
Cada aplicativo do MusicStation™ tem a AutoridadeCertificadora Raiz embutida dentro do aplicativo. Este certificado, descrito deforma mais detalhada nas seções posteriores deste documento, é utilizado paraautenticar e validar as mensagens enviadas entre o aplicativo de telefoniaMusicStation™ e o Servidor.
6.2.3. Autenticação e permissões do aplicativoA plataforma Java 2 Platform Micro Edition (J2ME)implementa um modelo de segurança, o que significa que certas funções quenormalmente se espera que um aplicativo tenha acesso (por exemplo, acessarmemória/sistemas de arquivos, ou acesso à rede) são, na verdade, limitadas. Éevidente que um aplicativo como o MusicStation™ faz amplo uso de tais recursose ele próprio necessita acessar estes recursos do telefone móvel, que sãocomuns, porém protegidos por segurança.
Para que o aplicativo MusicStation™ tenha acesso aestas funções restritas, o aplicativo é "assinado". A assinatura e o certificado deInfra-estrutura de Chaves Públicas (PKI) resultante do assinante sãoarmazenados no arquivo JAD do aplicativo. Quando o aplicativo MusicStation™ éexecutado, esta assinatura é analisada e o certificado é validado para um doscertificados raiz de domínio protegido já no telefone móvel para estas finalidades.Se o aplicativo estiver corretamente assinado, os recursos restritos tornam-sedisponíveis.Os certificados raiz já no telefone são, em geral, oucertificados raiz do fabricante do telefone, da rede móvel ou da AutoridadeCertificadora, como, por exemplo, Verisign.
6.2.4. Gerenciamento de direitos digitais (DRM)pertencentes ao próprio aplicativo MusicStatíon™
Há uma série de maneiras que os hackers tentam quebraros sistemas de gerenciamento de direitos digitais (DRM). Uma dessas formas éreverter a engenharia do código do programa que implementa o gerenciamentode direitos digitais (DRM). É por esta razão que o aplicativo de telefonia doMusicStatíon™ é sempre instalado por meio do uso do gerenciamento de direitosdigitais (DRM) residente no telefone, para proteger o programa de ser removido.
Apesar de os avançados sistemas de gerenciamento dedireitos digitais (DRM), como, por exemplo, o OMA v2, não estarem presentes emmuitos telefones móveis, o OMA v1, que suporta o necessário mecanismo decontrole de conteúdo com um sistema de bloqueio de reencaminhamentos, estápresente na maioria dos telefones. O sistema de bloqueio de reencaminhamentos,tal como sugere, desabilita o reencaminhamento ou a transferência do item doconteúdo, neste contexto, o aplicativo de telefonia móvel do MusicStatíon™, apartir do telefone. Se o MusicStatíon™ é pré-carregado ou instalado através do ar(OTA), ele é instalado como um arquivo protegido com sistema de bloqueio dereencaminhamentos OMA v1.
Para distribuições mais seguras do aplicativoMusicStatíon™ através do ar (OTA), somente são suportados os pedidos atravésdo ar (OTA), para downloads do aplicativo confirmados para a emissão, a partirda porta de comunicação da operadora de rede móvel (MNO). Isso garante que ocódigo do aplicativo somente seja baixado pela Internet móvel de umadeterminada operadora de rede móvel (MNO) para um telefone, em vez de seremitido pela Internet geral. Isto é implementado pela confirmação de que a origemou encaminhamento de endereços IP encontrados nos cabeçalhos dascomunicações da rede e os metadados são aquelas portas de comunicaçãoarmazenadas no banco de dados e conhecidas por ser da operadora de redemóvel (MNO).6.2.5. Pré-download de Música
O conteúdo musical pode ser pré-baixado em um telefoneao mesmo tempo em que o aplicativo é instalado. Este conteúdo ou é gratuito atítulo de promoção e pode não ser submetido ao sistema de gerenciamento de direitos digitais (DRM), ou é para compra e é submetido ao sistema degerenciamento de direitos digitais (DRM), assim como seria aplicado se a músicafosse baixada através do ar (OTA) pelo MusicStation™. O conteúdo musical pré-baixado permite ao MusicStation™ ficar pronto para ser utilizado.
6.3. Utilizando o MusicStation™ pela primeira vez Antes de o aplicativo MusicStation™ ser utilizado pelo seuproprietário, o MusicStation™ deve primeiramente ser conectado ao Servido doMusicStation™ para que possa ser registrado com o Serviço MusicStation™apropriado e emitido um Certificado do Cliente (e uma chave pessoal do clienteassociada) para que ele possa ter acesso ao conteúdo musical protegido pelo sistema de gerenciamento de direitos digitais (DRM) que ele faz o download. Paraser emitido com Objetos de Direito (contendo as regras de acesso e as chaves deacesso ao conteúdo protegido pelo sistema de gerenciamento de direitos digitais(DRM)), o aplicativo MusicStation™ também deve registrar com o Emissor deDireitos, cujo processo de registro de duas etapas é descrito neste capítulo. 6.3.1. Registro de Serviço MusicStation™
A primeira vez que o MusicStation™ inicia, ele sabe queprecisa se conectar ao servidor MusicStation™, para registrar o serviço e serequipado com um Certificado do Cliente e a Chave Pessoal do Cliente para queele possa acessar o conteúdo protegido pelo sistema de gerenciamento de direitos digitais (DRM). Para que o registro ocorra, o servidor deve ser capaz deidentificar especificamente o dispositivo. O protocolo de registro de serviçoMusicStation™ em dois passos é o protocolo pelo qual isso é obtido. Esteprotocolo inclui a identificação do dispositivo e do assinante seguido pelatransferência segura do Certificado do Cliente e da Chave Pessoal do Cliente associada do Servidor MusicStation™ (a Autoridade de Certificação) de volta parao dispositivo. Como é imperativo que somente este dispositivo MusicStation™possa acessar a Chave Pessoal do Cliente, o protocolo de registro utilizacomunicações seguras HTTPS.
6.3.1.1. Pedido de registro de serviço
O aplicativo MusicStation™ tenta acessar o IMEI,Bluetooth Address, IMSI e MSISDN do assinante para que ele possa prestarinformações ao servidor para identificar especificamente o dispositivo e o usuário.Os parâmetros do pedido enviados para o Servidor estão descritos na tabela daFigura 72: Parâmetros do Pedido de Registro de Serviços. Um entre IMEI,Bluetooth Address ou IMSI deve ser fornecido para identificar o dispositivo ou ocartão SIM no servidor.
6.3.1.2. Metadados Adicionados pela operadora de redemóvel (MNO)
Uma vez que as comunicações do aplicativo de telefoniamóvel do MusicStation™ para o Servidor MusicStation™ são roteadas através darede de equipamentos de rede da operadora de rede móvel (MNO), os seguintesassinantes e provavelmente também os identificadores do telefone móvel sãoadicionados aos cabeçalhos do pedido HTTP. Esta informação é extraída destescabeçalhos e utilizada pelo Servidor MusicStation™ para finalidades deidentificação. Consulte a Figura 73. Um dado entre MSISDN ou Identificação daparte deve ser fornecido para identificar o assinante no servidor.
6.3.1.3. Processo de Registro de Serviço
Quando o Servidor MusicStation™ recebe umamensagem de pedido de registro de serviço, essas etapas são seguidas.
6.3.1.3.1. Registro a partir da rede doméstica daoperadora de rede móvel (MNO)?
Quando o servidor recebe um pedido de registro, eleverifica se a rede de dados móveis que o aplicativo de telefonia móvel doMusicStation™ está sendo atualmente utilizada é a rede doméstica da operadorade rede móvel (MNO). Isto é feito por meio do uso de registros armazenados nabase de dados dos endereços IP das portas de comunicação da rede domésticada operadora de rede móvel (MNO) e equipamentos de roteamento de tráfego daInternet.A configuração normal é apenas para permitir que apenasos registros do dispositivo na rede doméstica da operadora de rede móvel (MNO)ou em outras redes específicas, como, por exemplo, uma operadora de redemóvel (MNO) terceirizada com as quais existe um acordo de transferência entreáreas de serviço (Roaming).
6.3.1.3.2. Verificação das credenciais do Cliente
Após a recepção de um pedido de registro de um novoaplicativo de telefonia móvel do MusicStation™ com um Serviço MusicStation™, oservidor irá executar os seguintes testes:
• Confirmar se a Licença de Programa é para um ServiçoMusicStation™ válido e ativo
• Confirmar se o assinante foi identificado, por exemplo,por MSISDN ou Identificação da parte.
• Confirmar se o MSISDN ou a Identificação da parte é umusuário desta operadora de rede móvel - MNO (se a Interface de Programaçãode Aplicativos - API - existe na operadora de rede móvel (MNO)).
• Opcionalmente, confirmar se o dispositivo foiidentificado, como, por exemplo, por IMEI ou por Bluetooth ID.
Uma vez que estas credenciais foram confirmadas, oservidor passa para a fase seguinte de infraestrutura de chave pública (PKI).
6.3.1.3.3. MusicStation™ & infraestrutura de chavepública (PKI)
Depois que um Registro de Serviço MusicStation™ foicompletado com êxito, o dispositivo terá que registrar com o Emissor de Direitos,de modo que poderá pedir Objeto de Direitos e, por sua vez, acessar o conteúdosubmetido ao sistema de gerenciamento de direitos digitais (DRM). O Emissor deDireitos, no entanto, só registra Dispositivos que possam ser positivamenteidentificados por ele. Esta identificação é facilitada pelo Servidor MusicStation™que atua como uma Autoridade de Certificação (CA) da infraestrutura de chavepública (PKI) e gera um certificado de chave pública, o Certificado do Cliente,para cada aplicativo de telefonia móvel do MusicStation™ registrado e,conseqüentemente, comprova a autenticidade e a identidade de cada dispositivo.O Emissor de Direitos MusicStation™ confia na Autoridade de Certificação (CA),que tem uma cópia do Certificado da Autoridade de Certificação (CA) Raiz doMusicStation™, para que possa confirmar se o Certificado do Cliente apresentadoà mesma, por um aplicativo de telefonia móvel do MusicStation™, foi realmenteemitido pela Autoridade de Certificação (CA).
A infraestrutura de chave pública (PKI) é o arranjoutilizado que determina o procedimento de controle minucioso terceirizado de egarantia das identidades do usuário ou, neste contexto, identidades do aplicativode telefonia móvel do MusicStation™. A infraestrutura de chave pública (PKI)permite a ligação das chaves públicas aos usuários. Isso geralmente é realizadopor um programa em um local central, neste caso, o Servidor MusicStation™,juntamente com outro programa coordenado nos locais distribuídos, ou seja, osaplicativos de telefonia móvel do MusicStation™.
Os arranjos da infraestrutura de chave pública (PKI)permitem que os usuários (aplicativos MusicStation™, Servidores MusicStation™,Emissor de Direitos MusicStation™, etc.) sejam autenticados e utilizem asinformações nos certificados da infraestrutura de chave pública (PKI), ou seja,chaves públicas de outros, para criptar e descriptar mensagens que circulamentre as partes no sistema. Em geral, a infraestrutura de chave pública (PKI)consiste em um programa cliente (aplicativo de telefonia móvel doMusicStation™), programa do servidor (Servidor MusicStation™), como, porexemplo, uma Autoridade de Certificação e procedimentos operacionais. Umusuário pode assinar digitalmente as mensagens por meio do uso de sua chavepessoal, e outro usuário pode verificar esta assinatura (por meio do uso da chavepública contida no certificado deste usuário emitido por uma Autoridade deCertificação (CA), dentro da infraestrutura de chave pública (PKI)). Isso permiteque duas (ou mais), partes que comunicam estabeleçam confidencialidade,integridade da mensagem e autenticação do usuário, sem ter que trocar qualquerinformação secreta com antecedência.
Pode-se determinar se a autenticidade da assinatura daAutoridade de Certificação (CA) e se a Autoridade de Certificação (CA) podem serconfiáveis por meio da verificação de seu certificado. No entanto, esta cadeia temde terminar em algum lugar e isso acontece no Certificado da Autoridade deCertificação (CA) Raiz do MusicStation™, como é chamado, na raiz de umaárvore. Os certificados raiz são implicitamente confiáveis (às vezes são chamadosde Âncora de Confiança) e estão incluídos com muitos programas aplicativos,como, por exemplo, navegadores da Web, ou, neste caso, o produto Emissor deDireitos MusicStation™ e Aplicativo de telefonia móvel do MusicStation™.
6.3.1.3.4. Geração da chave pessoal do cliente &certificado de cliente
A primeira etapa na emissão de um novo Certificado doCliente é a geração de um novo par de chaves pública e pessoal para o aplicativode telefonia móvel do MusicStation™ que está se registrando. Estaimplementação da infraestrutura de chave pública (PKI) utiliza o algoritmo RSA dechave pública de 1024 bits.
Uma vez que o par de chaves foi gerado, a chave públicaé utilizada pela Autoridade de Certificação (CA) do MusicStation™ para construire depois emitir o Certificado do Cliente. O Certificado do Cliente afirma que aAutoridade de Certificação (CA) confirma que a chave pública contida noCertificado do Cliente pertence ao aplicativo de telefonia móvel do MusicStation™anotado no certificado. A obrigação da Autoridade de Certificação (CA) é verificaras credenciais do requerente, de modo que os usuários (partes confiáveis, como,por exemplo, o Emissor de Direitos MusicStation™) podem confiar na informaçãocontida nos certificados da Autoridade de Certificação (CA). A idéia é que, se ousuário confia na Autoridade de Certificação (CA) e pode verificar a assinatura daAutoridade de Certificação (CA), então, também pode verificar se umadeterminada chave pública pertence, de fato, a quem é identificado no Certificadodo Cliente.
A Chave Pessoal do Cliente não é armazenada noServidor MusicStation™, apenas as Chaves Públicas do Cliente, para que oservidor possa criar mensagens que somente este dispositivo possa abrir.
O padrão X.509 é utilizado para todos os certificadosMusicStation™. O padrão X.509 é um padrão ITU-T (União Internacional deTelecomunicações) para a infra-estrutura de chave pública (PKI). O padrão X.509especifica, entre outras coisas, formatos padrão para certificados de chavepública e um algoritmo para validação do caminho de certificação.
6.3.1.3.5. Identificador Único Universal (GUID) do Cliente
O Identificador Único Universal (GUID) do Cliente é umnúmero único que é gerado cada vez que um novo aplicativo de telefonia móveldo MusicStation™ é registrado no Servidor. O Identificador Único Universal(GUID) do Cliente é reenviado para o aplicativo de telefonia móvel doMusicStation™ e, portanto, armazenado e reenviado em todas as comunicações epedidos subseqüentes para o Servidor MusicStation™ ou Emissor de DireitosMusicStation™.
6.3.1.4. Resposta do Registro de Serviço
A mensagem é enviada pela Autoridade de Certificação(CA) para o Dispositivo, em resposta a uma mensagem de Pedido de Registro deServiço MusicStation™. Ela carrega o Certificado do Cliente protegido e a ChavePessoal do Cliente ao longo da conexão HTTPS.
Consulte a Figura 74: Parâmetros de Resposta aoRegistro de Serviços. Somente obrigatório se o Status = "Sucess".
6.3.1.5. Processo de Registro Pós-Serviço
Depois que os resultados são reenviados para umRegistro de Serviços bem sucedido, o aplicativo de telefonia móvel doMusicStation™ executa as seguintes tarefas.
6.3.1.6. Armazenamento do Certificado do Cliente
O Certificado do Cliente para o dispositivo é armazenadona memória de armazenamento do sistema de gerenciamento de registro (RMS)do aplicativo. O sistema de gerenciamento de registro (RMS) no J2ME fornece ummecanismo através do qual os aplicativos podem armazenar dadospersistentemente e recuperá-los mais tarde. Em uma abordagem orientada peloregistro, O sistema de gerenciamento de registro (RMS) do J2ME compreendevários armazenamentos de registro.
6.3.1.6.1. Armazenamento do Identificador Único
Universal (GUID) do ClienteO Identificador Único Universal (GUID) do Cliente écriptografado, embaralhado e armazenado no sistema de gerenciamento deregistro (RMS) do aplicativo. Isto é utilizado em todos os futuros pedidos aoServidor do MusicStation™ e Emissor de Direitos (RI) do MusicStation™.
6.3.1.6.2. Armazenamento da chave pessoal do cliente
O aplicativo de telefonia móvel do MusicStation™ utiliza orecurso privado do sistema de gerenciamento de registro (RMS) J2ME. Istosignifica que apenas o aplicativo MusicStation™ que criou a coleção de registrosdo sistema de gerenciamento de registro (RMS) terá acesso.
Entretanto, o MusicStation™ também garante asegurança da chave pessoal do cliente. O aplicativo de telefonia móvel doMusicStation™ apenas armazena a chave pessoal do cliente após criptografá-lacomo uma medida de segurança extra no caso improvável de o sistema degerenciamento de registro (RMS) tornar-se comprometido. Além disso, oaplicativo também embaralha a chave pessoal do cliente por meio do uso dedeterminadas técnicas antes e durante seu armazenamento no sistema degerenciamento de registro (RMS).
6.3.2. Registro do Emissor de Direitos
Imediatamente após o dispositivo adquirir o seuCertificado de Cliente, ele tentará registrar com o Emissor de Direitos (RI). Umdispositivo deve ser registrado com um Serviço MusicStation™ antes que elepossa registrar e obter Objetos de Direitos do Emissor de Direitos (RI). Aconclusão bem sucedida do processo de registro do Emissor de Direitos (RI)permite ao Dispositivo comprar uma chave de domínio (DK). A chave de domínio(DK) é uma chave simétrica de Padrão Avançado de Criptografia (AES) de 128bits utilizada para proteger as Chaves de Criptografia de Direitos (REKs) dosObjetos de Direitos distribuídos ao dispositivo.
O protocolo de registro do Emissor de Direitos (RI) é umatroca de informações de segurança total e aperto de mão entre o dispositivo e oEmissor de Direitos (RI). A mensagem de resposta ao registro do Emissor deDireitos (RI) é enviada pelo Emissor de Direitos (RI) para o Dispositivo, emresposta à mensagem de pedido de registro do Emissor de Direitos (RI). Estamensagem completa o protocolo do registro, e se tiver sucesso, permite aodispositivo estabelecer um Contexto do Emissor de Direitos (RI) para esteEmissor de Direitos (RI). O Contexto do Emissor de Direitos (RI) consiste eminformações que foram negociadas com o Emissor de Direitos, durante oprotocolo de registro do Emissor de Direitos (RI) em duas etapas. Este Contextodo Emissor de Direitos (RI) é necessário para um dispositivo adquirir, comsucesso, os Objetos de Direitos.
6.3.2.1. Domínios do gerenciamento de direitos digitais (DRM)
Um domínio é um conjunto de um ou mais dispositivosque possuem uma chave de domínio comum distribuída por um Emissor deDireitos. Os Dispositivos no mesmo Domínio podem acessar os mesmos Objetosde Direitos de Domínio (ROs) e, provavelmente, então, a música protegida poraqueles Objetos de Direitos de Domínio (ROs).
No MusicStation™, os domínios do gerenciamento dedireitos digitais (DRM) são centralizados na rede. O Emissor de Direitos (RI)define os Domínios, gerencia as Chaves do Domínio e controla quais e quantosdispositivos estão incluídos e excluídos do Domínio. Tipicamente, cada aplicativode telefonia móvel do MusicStation™ tem sua própria chave de domínio (DK) eapenas um Dispositivo MusicStation™ fica em cada Domínio.
6.3.2.2. Pedido de Registro do Emissor de Direitos (RI)
A mensagem de Pedido de Registro do Emissor deDireitos (RI) é enviada pelo Dispositivo para o Emissor de Direitos, para iniciar oprotocolo de registro do Emissor de Direitos (RI) em duas etapas.
Consulte a Figura 75 - Parâmetros de Pedido de Registrodo Emissor de Direitos (RI) do MusicStation™.
6.3.2.3. Resposta ao Registro do Emissor de Direitos (RI)
A mensagem de Resposta ao Registro do Emissor deDireitos (RI) é enviada pelo Emissor de Direitos para o Dispositivo em resposta àmensagem de Pedido de Registro do Emissor de Direitos. Quando o registro ébem sucedido, resulta em uma Chave de Domínio a ser distribuída para oaplicativo de telefonia móvel do MusicStation™. Esta chave de domínio (DK) écriptada por meio do uso de uma chave pública do cliente encontrada noCertificado do Cliente enviada para o Emissor de Direitos (RI) no pedido. Destaforma, a chave de domínio (DK) pode ser seguramente transferida para oDispositivo, uma vez que apenas o dispositivo tem acesso à sua chave pessoalde cliente, que é necessária para descriptografar e acessar a chave de domínio(DK).
Consulte a Figura 76: Parâmetros de Resposta aoRegistro do Emissor de Direitos (RI) do MusicStation™. Apenas obrigatório se oStatus = "Sucesso".
6.3.2.4. Processo Pós-Registro do Emissor de Direitos (RI)
Depois de receber uma Resposta de Registro do Emissorde Direitos (RI) bem sucedida, o MusicStation™ criptografa e embaralha a chavede domínio devolvida e a armazena no sistema de gerenciamento de registro(RMS) privado do aplicativo. A chave de domínio (DK) é subseqüentementeutilizada pelo MusicStation™ para acessar as Chaves de Criptografia de Direitos(REKs) criptografadas da chave de domínio (DK), para ter acesso às zonassensíveis dos Objetos de Direitos (ROs).
6.4. Ouvindo música
Para ouvir uma música, o Dispositivo MusicStation™necessita do arquivo de música, que é armazenado como conteúdo protegidopelo gerenciamento de direitos digitais (DRM) no Formato de Conteúdo (DCF) dogerenciamento de direitos digitais, e do Objeto de Direitos (RO) contendo a chavede criptografia de conteúdos (CEK) para destravar o gerenciamento de direitosdigitais (DRM).
É possível que, em qualquer momento, nem o Formato deConteúdo (DCF) nem o Objeto de Direitos (RO) correspondente esteja nodispositivo. Os Objetos de Direitos (ROs) contêm Localizadores Uniformes deRecursos (URLs) para o formato de conteúdo (DCF) e os formatos de conteúdo(DCFs) contêm Localizadores Uniformes de Recursos (URLs) para o Objeto deDireitos (RO), de tal forma que, se você tem um, pode adquirir o outro. Senenhum dos dois está no Dispositivo, então, a listagem de faixas de músicasmostrada no aplicativo MusicStation™ também contém os LocalizadoresUniformes de Recursos (URLs) para ambos (Objeto de Direitos (RO) e formato deconteúdo (DCF)), portanto, freqüentemente ambos os arquivos são solicitadossimultaneamente após uma faixa de música ter sido localizada em uma busca ouenquanto se navega.
6.4.1. Aquisição de objetos de direitos
O protocolo de aquisição de objetos de direitos em duasetapas é o protocolo pelo qual o dispositivo adquire os Objetos de Direitos. Esteprotocolo inclui a autenticação mútua do Dispositivo & Emissor de Direitos (RI),pedido protegido por integridade e distribuição dos objetos de direitos, e atransferência segura do material de chaveamento criptográfico necessário para oprocesso do objeto de direitos.
6.4.1.1. Pedido de aquisição de objeto de direitos
A mensagem de pedido de aquisição de objeto de direitosé enviada pelo dispositivo para o Emissor de Direitos (RI) para pedir os Objetosde Direitos. Esta mensagem é a primeira mensagem do protocolo de aquisição deobjetos de direitos em duas etapas. Consulte a Figura 77: Parâmetros de Pedidode Aquisição de Objeto de Direitos do MusicStation™.
6.4.1.2. Resposta à Aquisição de Objeto de Direitos
A mensagem de Resposta à Aquisição de Objeto deDireitos é enviada pelo Dispositivo para o Emissor de Direitos (RI) em resposta auma mensagem de pedido de aquisição de objeto de direitos. Ela carrega osobjetos de direitos contendo a chave de criptografia de conteúdos (CEK)protegida para o formato de conteúdo (DCF) da música em questão.
Consulte a Figura 78: Parâmetros de Resposta àAquisição de Objeto de Direitos do MusicStation™. Apenas obrigatório se o Status= "Sucesso".
6.4.1.3. Revogação do Certificado do Cliente
Uma vez por sessão do Dispositivo, o Emissor de Direitos(RI) verifica com a Autoridade de Certificação (CA) se o Certificado do Cliente dodispositivo ainda é válido. A Autoridade de Certificação (CA) mantém uma lista derevogação de certificado (CRL)1 uma lista de certificados de cliente que foramrevogados e não deve ser válidos. Quando um certificado é utilizado, deve serverificado nesta lista, para verificar o status de revogação. O certificado serárevogado se a Autoridade de Certificação (CA) emitiu indevidamente umcertificado, a chave pessoal foi comprometida, o usuário violou a política de usoda Autoridade de Certificação (CA) ou o administrador do MusicStation™ negou oacesso a este dispositivo por qualquer motivo.
6.4.2. Download de conteúdo
Esta seção descreve como o conteúdo musical épreparado, protegido e baixado no Dispositivo MusicStation™ a partir do Servidorde Conteúdo do MusicStation™.
6.4.2.1. Preparação de conteúdo
Antes de o conteúdo musical ficar disponibilizado paradownload a partir do Servidor de Conteúdo do MusicStation™ (CS), ele éprotegido contra acessos não autorizados, por meio de criptografia. Aocriptografar um arquivo de música, cria-se um novo arquivo conhecido comoformato de conteúdo (DCF) do gerenciamento de direitos digitais (DRM).
No MusicStation™, a criptografia do conteúdo musical éexecutada por meio do uso de uma chave de criptografia de conteúdos (CEK)RC4 simétrica de 128 bits. Cada formato de conteúdo tem uma chave decriptografia de conteúdos (CEK) RC4 simétrica de 128 bits diferente. Portanto, sehouver 1.000.000 faixas de músicas na biblioteca de músicas e cada faixa estiverdisponível em 10 diferentes formatos de arquivo (para atender diferentes gostosde telefone e capacidades de música/codecs), haverá 10.000.000 chaves decriptografia de conteúdos (CEKs) distintas, uma para cada arquivo físico. Istosignifica que mesmo se a chave de criptografia de conteúdos (CEK) para umformato de conteúdo (DCF) estiver comprometida, nenhum outro formato deconteúdo (DCF) será comprometido, por conseqüência.
6.4.2.2. Pedido de aquisição de conteúdo
Uma vez que cada formato de conteúdo (DCF) éinerentemente seguro, os formatos de conteúdo (DCFs) podem ser transportadospor meio do uso de protocolos de transportes não seguros. Por esta razão, osDispositivos MusicStation™ solicitam o conteúdo musical através do protocolo detransferência de hipertexto (HTTP).
Consulte a Figura 79 - Parâmetros de Pedido de
Aquisição de Conteúdo.
6.4.2.3. Resposta para aquisição de conteúdo
A resposta do Servido de Conteúdo do MusicStation™ égeralmente o fluxo binário do arquivo do formato de conteúdo (DCF) solicitadoatravés do protocolo de transferência de hipertexto (HTTP). Isto épredominantemente o arquivo inteiro, mas, às vezes, a transferência de arquivo pode ser interrompida por cobertura de rede móvel rompida. Nestas situações, oaplicativo de telefonia móvel do MusicStation™ faz um pedido subseqüente deAquisição de Conteúdo, mas, desta vez, por meio do uso do parâmetro Faixa, elesó pede a parte do formato de conteúdo (DCF) que ele ainda não tem.
À medida que o fluxo de bytes do formato de conteúdo chega ao dispositivo, o aplicativo MusicStation™ escreve progressivamente oarquivo para o sistema de arquivos do telefone móvel. Tanto a memória internacomo a memória externa (meio de remoção) são utilizadas. Quando a alocaçãodo MusicStation™ de memória interna e externa combinada está cheia, oMusicStation™ remove a faixa de música que não foi tocada há mais tempo. Isto é repetido até que haja espaço suficiente disponível para a faixa de música recémsolicitada.
Todo o conteúdo musical é armazenado no formato deconteúdo original protegido em que foi baixado. Para ter acesso à música dentrode qualquer formato de conteúdo (DCF), o objeto de direitos correspondente é necessário para que a chave de criptografia de conteúdos (CEK) possa seracessada.
6.4.3. Reproduzindo o conteúdo musical
Para reproduzir uma música através do aplicativoMusicStation™, é obrigatório ter o formato de conteúdo (DCF) da faixa de música e o objeto de direitos correspondente. Primeiramente, o Objeto de Direitos éexaminado para ver se o usuário tem o direito de reproduzir a música. Se tiver, achave de criptografia de conteúdos (CEK) é extraída do Objeto de Direitos eutilizada para descriptografar o formato de conteúdo (DCF), para acessar a faixade música, que depois é reproduzida através do leitor de mídia do telefone.
6.4.3.1. Avaliando a linguagem de expressão dos direitos
(REL)
Depois que um pedido é feito para reproduzir uma faixade música, para a qual o Objeto de Direitos e o formato de conteúdo (DCF)existem no telefone, a linguagem de expressão dos direitos (REL) contida noObjeto de Direitos é analisada pelo agente de gerenciamento de direitos digitais(DRM) do MusicStation™. A linguagem de expressão dos direitos (REL) define asformas pelas quais o conteúdo no formato de conteúdo (DCF) associado a esteobjeto de direitos pode ser consumido e utilizado pelo usuário. Os direitosexpressos pela linguagem de expressão dos direitos (REL) podem ser muito ricos,cujos exemplos incluem:
• O conteúdo é gratuito para reprodução ilimitada.
• O conteúdo pode ser reproduzido uma vez, depois,precisa ser comprado.
• O conteúdo pode ser reproduzido gratuitamente por umasemana, depois, precisa ser comprado.
• O conteúdo pode ser reproduzido gratuitamente por ummês, mas não mais do que 5 vezes.
• O conteúdo pode ser reproduzido um número ilimitado
de vezes, se comprado.
• O conteúdo pode ser reproduzido um número ilimitadode vezes, se um usuário estiver atualmente dentro de um período de assinaturailimitada (AYCE) válido.
6.4.3.2. Descriptar o conteúdo
Se o agente do gerenciamento de direitos digitais (DRM)determina a partir da linguagem de expressão dos direitos (REL) que o usuário écapaz de reproduzir a música, então, a Chave de Criptografia de Direitos (REK)de Padrão Avançado de Criptografia (AES) de 128 bits é utilizada para ganharacesso à chave de criptografia de conteúdos (CEK) criptografada para o formatode conteúdo (DCF) associado. A chave de criptografia de conteúdos (CEK) RC4de 128 bits é então utilizada para descriptografar o formato de conteúdo (DCF)para acessar a faixa de música original. Esta faixa de música descriptografada oué armazenada na memória do telefone não-permanente para a duração dareprodução da faixa ou é progressivamente distribuída como um fluxodescriptografado para o leitor de mídia do telefone, dependendo docomportamento do telefone específico. As faixas de músicas descriptografadasnunca são armazenadas permanentemente no telefone móvel.
6.5. Serviços ilimitados (AYCE)
Devido à implementação do sofisticado gerenciamento dedireitos digitais (DRM) do MusicStation™, é possível suportar modelos avançadosde acesso a conteúdos, como, por exemplo, acessos ilimitados (AYCE). Issopermite aos usuários, que estão dentro de um período de assinatura válido, teremacesso ilimitado para baixar qualquer faixa de música e tocar cada faixa, quantasvezes quiserem.
6.5.1. Períodos de assinatura
O MusicStation™ suporta uma grande variedade deperíodos de assinatura, como, por exemplo, diário, semanal, mensal ou qualqueroutro período necessário. Um período de assinatura inicia quando o ServidorMusicStation™ comunica o sistema de faturamento da operadora de rede móvel(MNO) e cobra, com sucesso, a fatura do telefone do usuário com taxasapropriadas para o período de assinatura.
O Servidor MusicStation™ mantém o estado do períodode assinatura do usuário ao gravar a data/hora da cobrança bem sucedida feita àfatura do usuário (pré-paga ou pós-paga), e a duração do período de assinaturapara a qual o usuário foi cobrado. Esta informação é compartilhada com o Agentede gerenciamento de direitos digitais (DRM) no aplicativo de telefonia móvel doMusicStation™ e, portanto, o Dispositivo sabe se o usuário tem uma assinaturaválida ou não.
6.5.2. Expiração da Assinatura
O método preferido para a implementação de assinaturascom acessos ilimitados (AYCE) é o método de assinatura contínuo. Nestemodelo, o servidor MusicStation™ compra, automaticamente, uma novaassinatura quando o período da assinatura atual termina. O usuário tem a opçãode cancelar uma assinatura e isso torna a re-assinatura automaticamentesuspensa. Se o usuário tentar acessar o conteúdo (seja com o dispositivo ounão), após o término do último período de assinatura válido, o usuário équestionado se deseja reiniciar sua assinatura. Se desejar, a assinatura contínuacomeça novamente.
Quando a assinatura não é uma assinatura contínua, ousuário precisa confirmar se pretende assinar outro período com acessosilimitados (AYCE) cada vez que o período atual termina.6.5.3. Objeto de Direitos Principal
Um Objeto de Direitos pode herdar permissões de outroObjeto de Direitos. Esse mecanismo é utilizado, por exemplo, para especificar osdireitos para conteúdos adquiridos como parte de uma assinatura com acessosilimitados (AYCE). O Objeto de Direitos que herda permissões é referido como umObjeto de Direitos Secundário (C-RO). O Objeto de Direitos que contém aspermissões herdadas é referido como um Objeto de Direitos Principal (P-RO).
Os Dispositivos do Cliente verificam se o mesmo Emissorde Direitos emitiu o Objeto de Direitos Secundário (C-RO) e seu Objeto deDireitos Principal (P-RO) relacionado e ambos pertencem ao mesmo domínio,20 antes de o conteúdo associado ser colocada à disposição do usuário. O Objeto deDireitos Principal (P-RO) não se refere diretamente a nenhum Conteúdo degerenciamento de direitos digitais (DRM).
6.5.4. Horário do gerenciamento de direitos digitaisO Agente de gerenciamento de direitos digitais (DRM) notelefone idealmente tem acesso permanente a uma data/hora precisa e imutávelpelo usuário (Horário do gerenciamento de direitos digitais). Este não é o casodos telefones móveis, portanto, o MusicStation™ tem que usar vários métodospara garantir que um horário confiável do gerenciamento de direitos digitais(DRM) esteja disponível para o Agente de gerenciamento de direitos digitais(DRM), para que possa ser dado acesso justo aos usuários, realizando mudançasválidas na data/hora de seus telefones, enquanto resiste aos usuários que podemtentar enganar o sistema e ganhar acesso ilegítimo dentro de um serviço deassinatura.
Apesar de os telefones poderem ter legitimamente suadata/hora alterada em qualquer ponto (por exemplo, primeira vez que o telefonefoi configurado, mudança de fuso horário ou horário de verão), o ServidorMusicStation™ sempre mantém uma data/hora confiável. Portanto, embora existauma conexão à rede, o agente do gerenciamento de direitos digitais (DRM)sempre pode acessar dados confiáveis de data/hora.
Uma vez que a data/hora do Servidor MusicStation™provavelmente é diferente da data/hora local do Dispositivo, o Agente dogerenciamento de direitos digitais (DRM) utiliza cronômetros em relação àdata/hora local e não datas/horas absolutas. No entanto, ele também monitora adata/hora local relativa ao local onde se sabe que a data/hora local deve serbaseada nos cronômetros que ele mantém. Isto permite às assinaturas expiraremsem conexões à rede e também a identificação das mudanças de data/hora localdo telefone. Todas as vezes que ocorre uma conexão de rede, todos oscronômetros e conhecimento de data/hora real são restaurados.
Provavelmente, os problemas ocorrem quando osusuários tentam enganar o sistema, ao definirem sua data/hora para algum tempono passado. Estas questões são combatidas com sucesso por meio do uso daseguinte lógica:
Quando o aplicativo de telefonia móvel doMusicStation™ inicia, ele compara a data/hora local com a última data/hora deencerramento do aplicativo. Se a data/hora de início do aplicativo é anterior àúltima data/hora de encerramento do aplicativo, então, a diferença entre essasduas datas/horas é subtraída do cronômetro relativo.
• O resultado líquido é que o maior tempo que umdeterminado usuário pode usar o MusicStation™ enquanto não tem conexão árede é um tempo de utilização do aplicativo agregado, que iguala a duração dotempo do período pago de assinatura (por exemplo, uma semana). Para isso, elesprecisam anotar a hora todas as vezes que fecharem o MusicStation™, erestaurar a data/hora de seu telefone para um pouco antes daquela hora e cadavez que iniciarem o MusicStation™. Evidentemente, a recompensa limitadaparece que não compensa o esforço.
• A data/hora é verificada, uma vez por minuto, enquantoo aplicativo está sendo executado, para proteger contra um usuário que altera adata/hora, enquanto o aplicativo estiver aberto. Se a data/hora atual for antes daúltima da data/hora, então, a diferença entre essas duas datas/horas é subtraídado cronômetro relativo.
Se um usuário altera legitimamente sua data/hora localpara uma data/hora futura e o dispositivo pode se conectar ao Servidor, ostempos de expiração são re-sincronizados com o Servidor. Se a conexão não estádisponível:
• Se o tempo futuro ainda está dentro do período deassinatura válida, então, as faixas de músicas serão reproduzidas.
• Se o tempo futuro é maior do que o tempo de expiraçãoda licença, então, fora de um limiar configurável do sistema, as faixas de músicasnão serão reproduzidas até que o dispositivo se conecte ao Servidor. Não épossível distinguir entre o usuário que adianta seu relógio (enquanto oMusicStation™ não está sendo executado) e o usuário que não usa oMusicStation™ por um longo período de tempo. A reconexão ao servidor atravésda rede de dados é necessária para reativar o usuário ou renovar a assinatura.
6.5.5. Contabilidade de sistemas com acessos ilimitados(AYCE)
A contabilidade para sistemas com acessos ilimitados(AYCE) requer uma contagem absoluta de cada reprodução de cada faixa demúsica por cada usuário final. As informações sobre o consumo de faixa demúsicas precisam, portanto, ser transferidas de volta para o Servidor, onde todasas reproduções qualificadas por todos os Dispositivos MusicStation™ em umdeterminado serviço são agregadas em conjunto. Estas contagens dereproduções agregadas são utilizadas para determinar quais são os pagamentos30 de direitos autorais para cada proprietário de direitos cuja música foi tocada noperíodo da contabilidade. As faixas de músicas que são tocadas por um períodoinferior a um limiar previsto, como, por exemplo, 30 segundos, são consideradaspré-visualizações gratuitas e não são incluídas nos cálculos dos pagamentos dedireitos autorais.
Para que o MusicStation™ não cause um tráfego de rededesnecessário, as contagens de reproduções podem ser armazenadastemporariamente no dispositivo até que uma conexão natural à rede seja exigidapelo aplicativo. Este armazenamento temporário também se estende a OG (vôos etúneis, etc.), onde as contagens de reproduções podem ser armazenadastemporariamente por longos períodos de tempo e enviadas para o servidorquando uma conexão for finalmente feita.
6.5.6. Modelos mesclados
O MusicStation™ permite um modelo comercial mescladoonde os usuários que têm acessos ilimitados (AYCE) ainda podem fazer comprasdiretas das faixas de músicas. Se o período de assinatura termina semrenovação, aquelas faixas de músicas que o usuário comprou ainda podem seracessadas.
6.6. Anexo A: Gerenciamento de chaves
Esta é uma descrição do modo criptográfico no qual oEmissor de Direitos emite uma chave de domínio (DK) para um dispositivo, pormeio do uso da chave pública conhecida apenas pelo Agente de gerenciamentode direitos digitais (DRM) no aplicativo de telefonia móvel do MusicStation™ nodispositivo. O Anexo A também descreve a forma como o Emissor de Direitos (RI)protege a chave de criptografia de conteúdos (CEK) no Objeto de Direitos (RO),por meio do uso de uma Chave de Criptografia de Direitos (REK), que distribuipara o dispositivo, tendo sido primeiramente criptografada por meio do uso daChave de Domínio (KD) anteriormente distribuída ao dispositivo.
6.6.1. Distribuindo a Chave de Domínio (Kd) sob umachave pública do dispositivo
Esta seção se aplica quando um dispositivo tem umaChave de Domínio K0.
A Chave de Domínio K0 é a chave simétrica deembaralhamento de chave utilizada quando se protege a Chave de Criptografiade Objeto de Direitos (Krek) emitida para um Domínio D. A Chave de Domínio(K0) é uma chave longa de Padrão Avançado de Criptografia (AES) de 128 bitsgerada aleatoriamente pelo remetente e deve ser única para cada domínio D. AChave de Criptografia de Objeto de Direitos (Krek) é a chave de embaralhamentopara a chave de criptografia de conteúdos (Kcek) nos Objetos de Direitos.
O esquema de criptografia assimétrica RSA será utilizadopara transmitir com segurança uma Chave de Domínio (K0) para um Dispositivodestinatário, por meio do uso da chave pública do cliente RSA do dispositivo.
C = RSA.ENCRYPT(ClientPubKey, KD)Depois de receber C, o dispositivo criptografa C por meiodo uso de sua Chave Pessoal de Cliente:
Kd = RSA.DECRYPT(ClientPrivKey, C)6.6.2. Distribuindo a Chave de Criptografia de Objeto deDireitos (Krek) sob uma Chave de Domínio (K0)
Esta seção é aplicada quando se protege um Objeto deDireitos para um domínio.
O esquema AES-WRAP para embaralhamento da chavedeve ser utilizado. O Emissor de Direitos (RI) criptografa a chave de criptografiade objeto de direitos (Krek) por meio do uso da Chave de Domínio (KD):
C = AES-WRAP(KD, Krek)
Depois de receber C, o Dispositivo criptografa C por meiodo uso da Chave de Domínio (KD):
Krek = AES-UNWRAP(Kd, C)Anexo 1: Fluxos de Tela
7. Introdução
Este anexo apresenta uma descrição das telas e dainterface do usuário do cliente MusicStation™. Ele inclui uma lista completa derecursos e, para cada recurso, uma descrição da experiência do usuário ecapturas de tela apropriadas.
Os recursos são decompostos pelos principais gruposfuncionais do aplicativo, que geralmente seguem a estrutura dos menus doaplicativo.
7. Layout da tela e interação do usuário
7.1. Registro
Consulte a Figura 80.
Quando o MusicStation™ é iniciado pela primeira vez, ousuário verá uma mensagem enquanto o cliente é registrado com o servidor e ousuário receberá um identificador único ou um Identificador Único Universal(GUID).
7.2. Associando-se ao MusicStation™
Consulte a Figura 81.
Quando um usuário tenta utilizar qualquer um dosrecursos taxáveis do MusicStation™ pela primeira vez, ele é convidado a seAssociar por um período experimental gratuito opcional. O usuário, então, precisaconfirmar e fazer a opção para ver os Termos e Condições através de um atalhodo protocolo para aplicativos sem fio (WAP). Posteriormente, a Assinatura éconfirmada e o usuário precisa selecionar continuar, para confirmar. Um usuárioque fez a assinatura com sucesso é conhecido como um membro MusicStation™.
7.3. Abas e Menus
Consulte a Figura 82.
A interface do usuário é separada em quatro abas. Cadaaba é focada em uma determinada função essencial do MusicStation™.
•Home - fornece ao usuário acesso a todo o conteúdodisponível no MusicStation™, incluindo gráficos, e a todas as funções essenciais,como, por exemplo, Busca, Opções, etc. Também realça o conteúdo que ousuário fez o download (ou seja, "loja" e "biblioteca").
• Buzz - permite o acesso aos recursos da comunidade enotícias musicais.
• Alinhamento (Lineup) - exibe a atual fila de faixas demúsicas para download e reprodução.
• Playing - exibe detalhes da faixa de música que estásendo tocada.
A aba Home e a aba Buzz são constituídas por múltiplastelas dispostas em uma estrutura hierárquica de menu.
7.4. Navegação de aba e menu
O usuário utiliza o controle para navegar pelos menus eas abas do aplicativo. Consulte a Figura 83.
7.5. O menu More
7.5.1. Acessando Funções
Consulte a Figura 84.
Cada tela contém um menu More no teclado com funçõesprogramáveis do lado direito do telefone, que dá acesso às funções relevantes,tanto para o item selecionado atualmente, como para a tela como um todo. Asopções que não estão atualmente disponíveis ficam acinzentadas neste menu enão podem ser selecionadas.
O menu More pode ser fechado novamente, ao selecionarCancel no teclado com funções programáveis do lado direito do telefone.
7.5.2. Opções sensíveis ao contexto
As opções disponíveis no menu More são sensíveis aocontexto para o item atualmente em destaque. Esta tabela lista as opções comunsdo menu More e uma descrição das ações que a opção selecionada no menuMore executa. Consulte as Figuras 85 e 86.
Favor consultar o Anexo 2: Menus sensíveis ao contexto,para obter uma lista detalhada das opções disponíveis no menu More para cadaopção do MusicStation™.
7.6. VoltarConsulte a Figura 87.
Um histórico de navegação na tela é mantido. A qualquermomento, o usuário poderá pressionar a tecla com funções programáveis do ladoesquerdo do telefone para voltar para a tela anterior, em qualquer determinadaaba. Em telefones móveis, como, por exemplo, da Sony Ericsson, se o telefonepossuir uma tecla sem funções programáveis Voltar, então, também podem serutilizados para voltar através do histórico da tela.
7.7. Reprodução musical
Consulte a Figura 88.
Várias chaves são predefinidas e associadas às funçõesde reprodução musical, de modo a que o usuário pode controlar a reprodução apartir de qualquer tela do aplicativo, sem ter que retornar para a aba Playing. Porexemplo, a tecla [5] pausa e continua a reprodução da música onde quer que ousuário esteja dentro da interface do usuário.
Consulte a Figura 89.
7.8. Ajuda
Consulte as Figuras 90 e 91.
O usuário pode visualizar a ajuda no tecladopressionando a tecla [1], Esta tela exibe as ações realizadas ao pressionarqualquer tecla numerada do telefone móvel, independentemente da localizaçãodo usuário no MusicStation™.
7.9. Bloqueio do teclado
Consulte as Figuras 92 e 93.
O teclado é bloqueado pelo usuário pressionando esegurando a tecla [*]. Para desbloquear o teclado, o usuário pressiona e seguranovamente a tecla [*]. A música vai continuar tocando enquanto o controle estábloqueado, mas nenhuma outra opção do menu ou outras chaves de controle dereprodução musical estarão acessíveis, para evitar uso acidental.
7.10. Minimização
Consulte as Figuras 94 e 95.O programa aplicativo também pode ser minimizadopressionando e segurando a tecla [#]. Para parar a música, o usuário deve voltara abrir o MusicStation™.
7.11. Saindo
Consulte a Figura 96.
Quando o usuário seleciona Close no menu More, então,se a música estiver tocando, o usuário será consultado se quer continuar a tocar amúsica.
• Sair e manter a música tocando - O MusicStation™ seráminimizado e mudado para o fundo do telefone móvel. O usuário poderá, então,continuar a utilizar as funções do telefone móvel e ao mesmo tempo ouvir amúsica. O usuário pode voltar para o MusicStation™ a qualquer momento.
• Sair e parar a música - Neste caso, o MusicStation™ vaiparar a reprodução da música e sair completamente. O usuário precisaria reiniciaro MusicStation™ para utilizá-lo subseqüentemente.
3.8. Conceitos Básicos
3.1.8.1. Aba Alinhamento (Lineup)
A terceira aba ou Alinhamento (Lineup) é um conceito-chave para a compreensão do usuário sobre o produto MusicStation™. Elafornece uma visão permanente da atual seleção de músicas do usuário. Qualquermúsica que o usuário seleciona para tocar (e, por download padrão, se ainda nãoestiver no telefone móvel) é adicionada à aba Alinhamento (Lineup). Um usuáriopode selecionar qualquer álbum, lista de música ou faixa de música individual eadicioná-la à aba Alinhamento (Lineup). Qualquer faixa de música que ainda estápara concluir o download fica acinzentada e a porcentagem baixada é exibida aolado. Consulte a Seção 12 para mais informações.
Consulte a Figura 97.
8.2. Listas de Músicas
Existem vários tipos de listas de músicas dentro dainterface do usuário do MusicStation™.
<table>table see original document page 148</column></row><table><table>table see original document page 149</column></row><table>
8.3. ClassificaçãoConsulte a Figura 98.
O MusicStation™ oferece recursos de comunidade, que
incluem o fornecimento de recomendações para seus usuários. Para permitir queos usuários sejam envolvidos neste processo, muitos itens diferentes dentro dainterface do MusicStation™ podem ser classificados. Os seguintes itens podemser classificados:
• Faixas de músicas de músicas
• Álbuns
• Artistas
• Listas de músicas
• Outros membros
Um usuário classifica um item, selecionando-o nainterface e, então, selecionando a opção Rate no menu More. O usuário tem deselecionar entre três avaliações para cada item:
• Adorei
• Neutro•Detestei
Estas avaliações são coletadas de todos os usuários esão utilizadas pelo MusicStation™ para gerar avaliações por estrelas para essesitens. Essa avaliação por estrelas pode ser vista em vários locais em toda ainterface e dão ao usuário uma visão da popularidade relativa de cada item. Asavaliações do usuário também são utilizadas para gerar recomendações egráficos, como, por exemplo, a lista Top Playlists (tela Get New Playlists).
8.4. Atualizações da Tela
O MusicStation™ inclui um componente chamadoassistente de download inteligente em segundo plano. Este componente éresponsável pelo download de todas as músicas e dados para o telefone móvel.Ele é executado em segundo plano, distribui músicas para reprodução e conteúdopara todos os menus dinâmicos. Como ele é executado em segundo plano, écapaz de distribuir conteúdos atualizados para qualquer tela sem interferir nodivertimento do usuário com o MusicStation™.
Por exemplo, artigos de notícias listados na aba Inbox(Caixa de entrada) poderão ser atualizados enquanto o usuário estiver ouvindomúsica, de modo que quando o usuário muda para a próxima aba Buzz, osartigos mais recentes estarão lá prontos e à espera do usuário.
9. Menus de nível superior
A interface do usuário é separada em quatro abas. Cadaaba é focada em uma determinada função essencial do MusicStation™.
• Home - fornece ao usuário acesso a todo o conteúdodisponível no MusicStation™ e a todas as funções essenciais, como, porexemplo, Gráficos, Busca, etc.
• Buzz - permite o acesso aos recursos da comunidade enotícias musicais.
• Alinhamento (Lineup) - exibe a atual fila de faixas demúsicas para reprodução.
• Tocar (PIaying) - exibe detalhes da faixa de música queestá sendo tocada.A aba Home e a aba Buzz são constituídas por múltiplastelas dispostas em uma estrutura hierárquica de menu. As tabelas a seguirfornecem uma lista de opções no menu de nível superior da aba Home e da abaBuzz e uma referência cruzada para a seção deste documento na qual estãodescritas de forma mais detalhada.
Consulte as Figuras 99 e 100.
As abas Alinhamento (Lineup) e Playing não têm menus.Elas têm uma visão única fixa em relação à música atual. A aba Alinhamento(Lineup) exibe uma visão permanente da atual seleção do usuário da música parabaixar e tocar. A aba Piaying exibe apenas a faixa de música atual.
10. Home
10.1. Listas de Músicas
Consulte a Figura 101.
A tela Playlists oferece ao usuário o acesso às listas demúsicas. O usuário pode visualizar e gerenciar suas listas de músicas pessoais ecompartilhadas. O usuário também pode usar as opções Get New Playlists paravisualizar e baixar as listas de músicas fornecidas pela equipe deconteúdo/editorial ou por outros usuários.
10.1.1. Minhas listas de músicas pessoais
As listas de músicas pessoais são aquelas que o usuáriocriou, mas não compartilhou com a comunidade MusicStation™. As listas demúsicas pessoais estão listadas debaixo do cabeçalho My Private Playlists. Ousuário pode decidir tornar qualquer uma destas listas de músicas pessoais emlistas de músicas compartilhadas, se selecionar uma lista de música pessoal edepois selecionar a opção Share no menu More.
10.1.2. Minhas listas de músicas compartilhadas
Consulte a Figura 102.
As listas de músicas compartilhadas são listas de músicasque o usuário compartilhou com a comunidade MusicStation™. As listas demúsicas compartilhadas estão listadas debaixo do cabeçalho My Shared Playlists.O usuário pode decidir tornar qualquer uma destas listas de músicascompartilhadas em listas de músicas pessoais, se selecionar uma lista de musicapessoal e depois selecionar a opção Make Private no menu More.
10.1.3. Obter novas listas de músicas
Consulte a Figura 103.
A opção Get new playlists oferece acesso a listas demúsicas editoriais, a listas de músicas geradas automaticamente e a listas demúsicas compartilhadas de outros usuários. O usuário pode visualizar, tocar eavaliar qualquer uma destas listas.
Consulte a Figura 104.
As listas nestas telas são atualizadas todas as noites ousemanalmente pelo MusicStation™.
Item do Menu DescriçãoTop Playlists Uma lista de Listas de Músicas Compartilhadas mais populares dentro do MusicStation™. Estas são as listas de músicas com a maior avaliação por estrelas.You Might Like Uma lista de Listas de Músicas recomendadas gerada por meio do uso do hábito de escuta do usuário e atividade de avaliação.
Featured Playlists Listas de Músicas formadas em torno de algum tópico, como, por exemplo, a época, um evento especial, um novo lançamento de um artista, etc.Celebrity Playlists Listas de Músicas criadas ou inspiradas por celebridades.
10.1.4. Criar lista de músicas
Consulte a Figura 105.
Por meio do uso da opção Create playlist, o usuário podecriar listas de músicas pessoais ou compartilhadas. O usuário fornece um nomeda lista de músicas e seleciona uma imagem para a lista de músicas a partir deuma biblioteca de imagens. Uma vez criada, o usuário pode adicionar faixas demúsicas à lista de músicas, por meio do uso da opção Add to Playlist encontradaem toda a interface. Um usuário também pode criar uma nova lista de músicasdepois de selecionar a opção Add to Playlist,
10.2. Excluir lista de músicas
O usuário pode excluir qualquer uma de suas listas demúsicas pessoais ou compartilhadas, colocando em evidência a lista de músicase selecionando Excluir no menu More.
10.2.1. Visualizar a lista de músicas
Consulte a Figura 106.
O usuário pode visualizar as faixas de músicas dentro deuma lista de músicas. O usuário também verá a imagem associada à lista demúsicas, o tempo de reprodução total da lista de músicas e o número de faixas demúsicas na lista de músicas. Se a lista de músicas é uma Lista de MúsicasCompartilhada, então, a sua avaliação por estrelas também será mostrada.
Embaixo de cada lista há uma opção ALL TRACKS queum usuário pode selecionar para adicionar todas as faixas de músicas na lista demúsicas à aba Alinhamento (Lineup).
10.2.2. Avaliação da lista de músicas
O usuário pode classificar as Listas de MúsicasCompartilhadas. As avaliações são fornecidas por todos os usuários ecoletivamente utilizadas para gerar as listas Top playlists and You might Iikel quesão, então, realimentadas para os usuários para sua tela Get New Playlists.
Consulte a seção 8.3.
10.3. Artistas
Consulte a Figura 107.
A tela Albums oferece ao usuário o acesso a todos osálbuns disponíveis no catálogo MusicStation™. O usuário pode visualizar osArtistas de quem ele fez o download das faixas de músicas no passado. O usuáriopode usar a opção Get new artists para visualizar e ouvir os artistas de interessegeral ou pessoal para este usuário.
10.3.1. Meus artistas preferidos
Na seção My Top Artists da tela Artists, o usuário podevisualizar uma lista seletiva de seus artistas dos quais têm faixas de músicasbaixadas. A lista será composta por artistas que o usuário tenha baixado Faixasde músicas. Isso proporciona ao usuário acesso fácil aos seus artistas favoritos.Geralmente, a lista contém todos os artistas que o usuário tenha baixado Faixasde músicas, mas a lista é limitada (depende do telefone), para garantir que elanão fique demasiadamente longa.
10.3.2. Obter novos artistas
Consulte a Figura 108.
A opção Get new artists oferece acesso às listas dosArtistas que foram gerados pelo MusicStation™, seja automaticamente, por meiodo uso dos hábitos de escuta do usuário e realimentação, ou editorialmente.Estas listas são baseadas em duas categorias principais: artistas populares,como, por exemplo, Top artists, Top Pop, Top Rock, etc, e artistas recomendados,como, por exemplo, You might like.
As listas destas telas são atualizadas todas as noites ousemanalmente pelo MusicStation™.
<table>table see original document page 154</column></row><table>
Consulte a Figura 109.
10.3.3. Perfil do Artista - Visualizar o Artista
Consulte a Figura 110.
O usuário pode visualizar o perfil do artista incluindo umaimagem, a classificação por estrelas do MusicStation™ para o Artista, o númerode faixas de músicas baixadas, uma lista das faixas de músicas baixadas e o totalde reprodução dessas faixas de músicas baixadas. A partir desta tela, o usuáriopode visualizar e tocar todas as faixas de músicas ou álbuns disponíveis paraeste artista.
10.3.4. Perfil do Artista - Obter novas faixas de músicas
Consulte a Figura 111.
O usuário pode visualizar a lista de todas as faixas demúsicas disponíveis para o artista selecionado. A partir desta tela, o usuário podetocar e avaliar as faixas de músicas.
10.3.5. Perfil do Artista - Obter novos álbuns
Consulte a Figura 112.
O usuário pode visualizar a lista de álbuns disponíveispara todos os artistas selecionados. A partir desta tela, o usuário pode visualizar,tocar e avaliar as faixas de músicas do álbum.
10.3.6. Avaliação do Artista
O usuário poderá avaliar qualquer artista por meio do usoda opção Rate do menu More.
Consulte a seção 8.3.
10.4. Álbuns
Consulte a Figura 113.
A tela Albums oferece ao usuário o acesso a todos osálbuns disponíveis no catálogo MusicStation™. O usuário pode visualizar osÁlbuns dos quais fez o download das faixas de músicas no passado. O usuáriopode usar a opção Get new albums para visualizar e ouvir os álbuns de interessegeral ou pessoal para este usuário.
10.4.1. Meus álbuns preferidos
Na seção My Top Albums da tela Albums, o usuário podevisualizar uma lista seletiva dos seus álbuns a partir da qual eles fizeram odownload das faixas de músicas. A lista será composta de álbuns que o usuáriofaz o download e escuta músicas com freqüência. Isso proporciona ao usuáriofácil acesso às faixas de músicas baixadas.
10.4.2. Obter novos álbunsConsulte a Figura 114.
A opção Get new albums oferece acesso a listas deálbuns que foram geradas pelo MusicStation™, seja automaticamente, por meiodo uso dos hábitos de escuta do usuário e realimentação, ou editorialmente.
Estas listas são baseadas em duas categorias principais: álbuns populares, como,por exemplo, Top artists, Top Pop, Top Rockl etc, e álbuns recomendados, como,por exemplo, You might like, Just released. O usuário pode tocar ou visualizarqualquer álbum com facilidade.
As listas nestas telas serão atualizadas todas as noites ousemanalmente pelo MusicStation™.
<table>table see original document page 156</column></row><table>
Consulte a Figura 115.
10.4.3. Página Principal do Álbum
Consulte a Figura 116.
O usuário pode visualizar os detalhes de um álbum,incluindo o número de faixas de músicas do álbum, a avaliação por estrelas doálbum e uma listagem de faixas de músicas. O usuário pode reproduzir faixas demúsicas individuais ou todas as faixas de músicas do álbum. Por meio do uso daopção ALL TRACKS na parte inferior da página principal do Álbum, o usuáriopode selecionar para tocar todas as faixas de músicas do álbum.10.4.4. Avaliação do Álbum
O usuário pode avaliar qualquer álbum dentro da interfacedo usuário (IU/UI).
Consulte a seção 8.3.
10.5. Faixas de músicas
Consulte a Figura 117.
A tela Tracks oferece ao usuário acesso a todas as faixasde músicas disponíveis no catálogo do MusicStation™. O usuário pode visualizaruma lista seletiva de faixas de músicas, que eles tenham baixado no passado. Ousuário também pode usar a opção Get new tracks para visualizar e ouvir asfaixas de músicas de interesse geral ou pessoal para este usuário.
10.5.1. Minhas Faixas de músicas Favoritas
Na seção My Top Albums da tela Albumst o usuário podevisualizar uma lista seletiva de suas faixas de músicas baixadas. A lista serácomposta de faixas de músicas que o usuário ouve com freqüência. Todas asfaixas de músicas nesta lista podem ser reproduzidas imediatamente. O usuárionão necessita de cobertura pela Rede para reproduzir qualquer uma destas faixasde músicas.
10.5.2. Obter novas faixas de músicasConsulte a Figura 118.
A opção Get new tracks oferece acesso a listas de faixasde músicas que foram geradas pelo MusicStation™, seja automaticamente, pormeio do uso dos hábitos de escuta do usuário e realimentação, ou editorialmente.Estas listas são baseadas em duas categorias principais: faixas de músicaspopulares, como, por exemplo, Top Tracks, e faixas de músicas recomendadas,como, por exemplo, You might like, Just released.
As listas nestas telas serão atualizadas todas as noites ousemanalmente pelo MusicStation™.
<table>table see original document page 157</column></row><table><table>table see original document page 158</column></row><table>
10.5.3. Avaliação de faixas de músicas.
O usuário pode avaliar qualquer faixa de música.
Consulte a seção 8.3.
10.5.4. Adicionar faixas de músicas à lista de músicas
O usuário poderá adicionar qualquer faixa a uma lista demúsicas. Durante este processo, o usuário pode selecionar uma lista de músicasjá existente ou criar uma nova.
Consulte a seção 10.1.4 - Criar lista de músicas.
10.6. Gráficos
10.6.1. Listagem de gráficos
Consulte a Figura 119.
A tela Charts apresenta uma listagem de gráficos geradosa partir de hábitos de escuta e avaliação dos usuários deste serviço. Uma seleçãode gráficos está disponível todos os dias, semanas e meses.
10.6.2. Detalhes do Gráfico
Consulte a Figura 120.
O usuário pode visualizar os detalhes de um determinadográfico, incluindo seu nome, o tempo total de reprodução do gráfico, a listagemcompleta de faixa de música seqüencial/artista, para o gráfico e tocar qualquerfaixa de música do gráfico.
10.7. Busca
Consulte a Figura 121.
10.7.1. Busca de artista
Consulte a Figura 122.
O usuário pode procurar por qualquer artista dentro docatálogo do MusicStation™, digitando termos de busca na caixa de texto Search eselecionando o botão de seleção Artists do menu Search for. O usuário poderáentão visualizar qualquer perfil de artista resultante de sua busca.
10.7.2. Busca de faixas de músicas
Consulte a Figura 123.
O usuário pode procurar qualquer faixa de música dentrodo catálogo MusicStation™, digitando termos de busca na caixa de texto Search eselecionando o botão de seleção Tracks do menu do menu Search for. O usuáriopoderá então tocar qualquer faixa de música resultante de sua busca.
10.7.3. Busca de álbum
Consulte a Figura 124.
O usuário pode procurar qualquer álbum dentro docatálogo MusicStation™, digitando termos de busca na caixa de texto Seareh eselecionando o botão de seleção Albums do menu Seareh for. O usuário poderáentão visualizar ou tocar qualquer perfil de álbum resultante de sua busca.
10.8. Tocarfaixa de música favorita
Consulte a Figura 125.
A opção Play Top Traek no menu Home adiciona umafaixa de música aleatória da lista de faixas de músicas já existente no telefonemóvel no final da aba Alinhamento (Lineup). Se a aba Alinhamento (Lineup)estiver vazia, então, esta faixa começa a tocar imediatamente. A cobertura pelaRede não é obrigatória para esta opção, pois as faixas de músicas já sãobaixadas.
10.9. Opções
Consulte a Figura 126.
A tela Options oferece ao usuário acesso a informaçõesgerais e opções para controlar seu aplicativo MusicStation™.
10.9.1. Status da adesão como membro
Consulte a Figura 127.
Esta opção exibe o status da adesão como membro dousuário. Ela irá mostrar os detalhes da renovação, como, por exemplo, a data ehora da próxima renovação, a taxa de renovação e a freqüência da renovação. Ousuário também pode cancelar sua assinatura por meio do uso da opção CancelMembership.
A seguinte tabela descreve as diferentes etapas noprocesso de adesão como membro.
<table>table see original document page 160</column></row><table><table>table see original document page 161</column></row><table>
10.9.2. SobreConsulte a Figura 128.
A tela About exibe informações sobre a versão doMusicStation™. Ela também exibe o número total de faixas de músicas que ousuário tem atualmente baixado em seu telefone móvel.
10.9.3. Opções de transferência entre áreas de serviço(Roaming)
Consulte a Figura 129.
O usuário pode configurar o comportamento datransferência entre áreas de serviço (Roaming) do MusicStation™. Quando otelefone está sob transferência entre áreas de serviço (Roaming), o usuário teráque pagar taxas adicionais quando baixar faixas de músicas ou quando oMusicStation™ atualizar itens do menu e imagens.
<table>table see original document page 161</column></row><table><table>table see original document page 162</column></row><table>
Se o comportamento da transferência entre áreas deserviço (Roaming) para Menu & picture updates estiver selecionado para Ask,será exibida uma mensagem de aviso que irá pedir para o usuário aprovar/negardownloads, atualizações e taxas adicionais enquanto estiver sob transferênciaentre áreas de serviço (Roaming) para uma determinada sessão.
Consulte a Figura 130.
Quando o usuário tenta baixar uma faixa de músicaenquanto está sob transferência entre áreas de serviço (Roaming) e ocomportamento da transferência entre áreas de serviço para Faixas de músicasestá selecionado para Askm, será exibida uma mensagem de aviso que irá pedirpara o usuário aprovar/negar downloads, atualizações e taxas adicionaisenquanto estiver sob transferência entre áreas de serviço (Roaming). Esta açãode aprovação/negação configurará as definições da sessão atual.
Consulte a Figura 131.
10.9.4. Escolha de idioma
Em um serviço que tem múltiplos idiomas definidos, ousuário pode mudar o idioma do MusicStation™. Ao alterar o idioma, o usuárioserá avisado que precisará reiniciar o MusicStation™. A confirmação da açãofecha o MusicStation™.
Consulte a Figura 132.
10.9.5. Termos e Condições
Esta tela exibe um atalho para o protocolo paraaplicações sem fio (WAP) para termos e condições gerais e específicos doserviço, para este serviço do MusicStation™.
Consulte a Figura 133.
10.9.6. Uso máximo do cartão de memória
O usuário pode selecionar a percentagem máxima docartão de memória que o MusicStation™ irá utilizar para armazenar músicas edados. O usuário pode definir um valor mais baixo para deixar mais espaço paraoutros usos do telefone (por exemplo, fotografias).
6.11. Comunidade Buzz
Consulte a Figura 134.
O usuário pode optar por criar um perfil Buzz. Isto permiteao usuário participar de todo o conjunto de recursos da comunidade doMusicStation™. Se o usuário não tiver um perfil Buzz, então, ele não poderá secomunicar com outros membros.
A partir da tela Buzz, os usuários podem visualizar seuperfil, ler artigos de notícias e acessar mensagens em sua caixa de entrada Inbox.
11.1. Associando-se á comunidade Buzz
Consulte a Figura 135.
Quando o usuário tenta utilizar um recurso dacomunidade que exige o perfil Buzz, então, ele será redirecionado para a tela Jointhe Buzz e será solicitado o nome do membro que o usuário deseja se registrar.Muitas vezes, o usuário digita um nome e escolhe uma imagem, que formarãoseu perfil. O nome inserido deve ser único.
Se o nome do Membro não estiver disponível, então, serásugerida uma alternativa, que o usuário poderá aceitar ou modificar.
O usuário pode editar seu perfil a qualquer momento apartir da tela My Profile.
O usuário também pode, opcionalmente, selecionar umaimagem e uma curta frase-chave. Esses itens estão exibidos quando outrosusuários visualizam o perfil deste membro.
11.2. Membros da Comunidade Buzz
11.2.1. Meu perfil
Consulte a Figura 136.
A tela My Profile oferece ao usuário acesso a todos osaspectos da comunidade do MusicStation™, juntamente com os seus própriosconteúdos personalizados. Antes de criar um perfil, o usuário poderá acessar ositens News na aba Buzz e visualizar as listas de músicas da comunidade Buzz eCool Members, mas não será capaz de adicionar amigos ou enviarrecomendações.
Depois de ter registrado, esta tela mostrará:
• Nome do membro
• Imagem
• Avaliação por estrelas - indicação da forma como outrosusuários os classificaram.
• Escutas - número de vezes que os outros usuáriosouviram uma destas listas de músicas compartilhadas deste membro.
• Número de amigos
• Frase-chave.
A partir da tela My Profile, o usuário poderá visualizar aslistas de músicas da comunidade Buzz e Cool Members e uma lista de seusamigos da comunidade Buzz.
<table>table see original document page 164</column></row><table><table>table see original document page 165</column></row><table>
11.2.2. Editar meu perfil
A qualquer momento, após registrar-se como um Membro,o usuário pode modificar os detalhes de seu perfil de membro, por meio do uso daopção Edit My Profile no menu More. Consulte a Figura 137.
Isso permite ao usuário modificar sua frase-chave emudar sua imagem. Isso também permite ao usuário especificar se quer que seuperfil fique visível a outros usuários e se suas Faixas de músicas Favoritas (TopTracks) sejam listadas na tela de seu perfil.
11.2.3. Ótimos membros
Consulte a Figura 138.
A opção Cool Members na tela My Profile oferece aousuário acesso a diversas listas de Membros.
<table>table see original document page 165</column></row><table>O usuário pode clicar em qualquer membro destas listaspara visualizar o perfil do membro (seção 11.2.4).
11.2.4. Listas de Músicas da Comunidade Buzz
Consulte a Figura 139.
A opção Buzz Playlists na tela My Proflle oferece aousuário acesso a diversas listas de músicas, incluindo Listas de MúsicasEditoriais, Listas de Músicas Geradas Automaticamente e Listas de MúsicasCompartilhadas de outros usuários. O usuário pode visualizar, reproduzir e avaliarqualquer uma destas listas de músicas.
Consulte a Figura 140.
As listas destas telas são atualizadas todas as noites ousemanalmente pelo MusicStation™.
<table>table see original document page 166</column></row><table>
11.2.5. Meus amigos
Consulte a Figura 141.
A opção My Friends na tela My Profile oferece ao usuárioacesso a uma lista de usuários que o adicionou como amigo e quaisquer pedidosde amigo pendentes. Consulte a seção 11.3 para obter mais informações sobreAmigos.
11.2.6. Visualizar outro perfil de membro
Consulte a Figura 142.
Esta tela exibe os detalhes de outro Membro. Um perfil domembro só pode ser visto por outro usuário se o membro ativou a opção quetorna seu perfil visível na tela Edit My Profile.
A tela Member Profile exibe as seguintes informações deum membro:
• Nome do membro
• Imagem
• Avaliação por estrelas
• Escutas (número de vezes que os outros usuáriosouviram uma das listas de músicas compartilhadas deste membro)
• Número de amigos
• Frase-chave
• Uma lista de suas listas de músicas compartilhadas
• My Top Tracks (5 faixas de músicas preferidas desteusuário)
A partir desta tela, o usuário poderá:
• Visualizar as listas de músicas compartilhadas desteusuário
• Visualizar as 5 Faixas de músicas preferidas desteusuário e reproduzi-las (Essa opção somente será exibida se o outro membroativou a opção Show my top tracks quando configurou seu perfil, por meio do usoda opção Edit my profile. Consulte a seção 11.2.2)
• Pedido para adicionar este usuário como um Amigo
• Avaliar este membro
11.3. Amigos
Os Membros da Comunidade Buzz podem recomendaritens para outros Membros para que estes também possam anexar umamensagem. No entanto, eles somente poderão fazer isso com Membros que elesadicionaram à sua lista de Amigos. Os usuários podem adicionar Amigos,enviando Friend Requests para outros Membros da Comunidade Buzz ouconfirmando pedidos de outros membros.
Uma lista de amigos pode ser vistas pela tela My Profile(Consulte a seção 11.3.2).
Todas as recomendações podem ser visualizadas nacaixa de entrada Inboxl na aba Buzz. (Consulte a seção 11.4)
11.3.1. Pedido para adicionar um membro como amigo
Consulte a Figura 143.
Independentemente do local que um membro estejalistado na interface do usuário, um usuário pode selecionar a opção Add as Frienddo menu More, para enviar um pedido para que o Membro se torne seu amigo. Ousuário pode digitar uma mensagem, que é enviada juntamente com a solicitaçãode amigo. Para enviar a mensagem, o usuário seleciona a opção Send no menuMore. A solicitação de amigo será enviada para o outro membro que, então, tem aopção de aceitar ou negar o pedido.
11.3.2. Visualizar a lista dos meus amigos
Consulte a Figura 144.
Um usuário pode visualizar sua lista de amigos a qualquermomento, acessando sua tela My Profile e selecionando a opção My friends.
11.3.3. Visualizar a lista das minhas solicitações
pendentes de amigo
Consulte a Figura 145.
Um usuário pode visualizar a lista de solicitações deamigo que enviou, mas que ainda não obteve resposta sob o cabeçalho Pendingfriend requests na tela My Friends disponível em sua tela My Profile (Consulte aseção 11.3.2).
11.3.4. Solicitação para adicionar um amigo pelo nome
Consulte a Figura 146.
Se o usuário sabe o nome de um membro que pretendeadicionar como um amigo, ele pode enviar uma solicitação de amigo para esteMembro, digitando o nome, por meio do uso da opção Add friend by name,acessada pela opção do menu My Friends disponível em sua tela My Profile(Consulte a seção 11.3.2).
11.3.5. Solicitação para adicionar um amigo pelo número de telefone
Consulte a Figura 147.
Se o usuário sabe o número do telefone móvel de ummembro que pretende adicionar como um amigo, ele pode enviar uma solicitaçãode amigo para este Membro, digitando o número do telefone móvel do Membro,por meio do uso da opção Add friend by phone no, acessada pela opção do menuMy Friends disponível em sua tela My Profile (Consulte a seção 11.3.2).
11.3.6. Enviar recomendação de lista de músicas para um amigo
Independentemente do local que uma lista de músicaestiver listada no MusicStation™ o usuário pode usar a opção Send to Friend domenu More para enviar uma mensagem para um ou mais Amigos, recomendandouma lista de música. A mensagem de recomendação chega à caixa de entrada doamigo (seção 11.4.3).
11.3.7. Enviar recomendação de artista para um amigoIndependentemente do local que um artista estiver listadono MusicStation™, o usuário pode usar a opção Send to Friend do menu Morepara enviar uma mensagem para um ou mais Amigos, recomendando um artista.A mensagem de recomendação chega à caixa de entrada do amigo (seção 11.4.4).
11.3.8. Enviar recomendação de álbum para um amigo
Independentemente do local que um álbum estiver listadono MusicStation™, o usuário pode usar a opção Send to Friend do menu Morepara enviar uma mensagem para um ou mais Amigos, recomendando um álbum.A mensagem de recomendação chega à caixa de entrada do amigo (seção11.4.5).
11.3.9. Enviar recomendação de faixa de música para umamigoIndependentemente do local que uma faixa de músicaestiver listada no MusicStation™, o usuário pode usar a opção Send to Friend domenu More para enviar uma mensagem para um ou mais Amigos, recomendandouma faixa de música. A mensagem de recomendação chega à caixa de entradado amigo (seção 11.4.6).
Consulte a Figura 148.
11.4. Caixa de entrada
A Caixa de Entrada (Inbox) exibe mensagens erecomendações que chegaram dos amigos do usuário, que também são usuáriosdesse serviço do MusicStation™.
Consulte a seção 11.3 para a apresentação de recursosdos Amigos do MusicStation™.
As mensagens são baixadas em segundo plano peloassistente de download inteligente em segundo plano e aparecem na caixa deentrada sem qualquer interação específica do usuário.
11.4.1. Chegada de mensagem de solicitação de amigo
Consulte a Figura 149.
Quando outro Membro pede para adicionar este usuáriocomo um amigo, então, uma solicitação de amigo chegará à caixa de entradadeste usuário. Esse usuário poderá responder a esta solicitação de quatro formas.
<table>table see original document page 170</column></row><table><table>table see original document page 171</column></row><table>
Quando este usuário responder, a resposta será enviada
para a Caixa de Entrada do outro membro. Essas respostas são descritas naseção 11.4.2.
11.4.2. Resposta à solicitação de amigo
Consulte a Figura 150.
Quando este usuário envia uma solicitação de amigo aoutro membro, este membro tem a opção de aceitar ou negar a solicitação. Suaresposta é reenviada para este usuário e exibida na Caixa de Entrada. As trêsrespostas possíveis a uma solicitação de amigo estão listadas abaixo.
<table>table see original document page 171</column></row><table><table>table see original document page 172</column></row><table>
11.4.3. Chegada de recomendação de lista de música deum amigo
Consulte a Figura 151.
Quando um amigo envia uma recomendação de lista demúsica para este usuário (seção 11.3.6), então, a mensagem de recomendaçãoaparecerá na caixa de entrada do usuário. O usuário pode abrir a mensagem eclicar sobre o hyperlink na mensagem para visualizar a lista de músicas.
11.4.4. Chegada de recomendação de artista de umamigo
Consulte a Figura 152.
Quando um amigo envia uma recomendação de artistapara este usuário (seção 11.3.7), então, a mensagem de recomendaçãoaparecerá na caixa de entrada do usuário. O usuário pode abrir a mensagem eclicar sobre o hyperlink na mensagem para ir direto para a tela do Perfil do Artista.
11.4.5. Chegada de recomendação de álbum de umamigo
Consulte a Figura 153.
Quando um amigo envia uma recomendação de álbumpara este usuário (seção 11.3.8), então, a mensagem de recomendação
aparecerá na caixa de entrada do usuário. O usuário pode abrir a mensagem eclicar sobre o hyperlink na mensagem para ir direto para a tela do álbum. Eletambém pode clicar sobre o nome do artista para ir direto para a tela do Perfil doArtista.
11.4.6. Chegada de recomendação de faixa de música deum amigo
Consulte a Figura 154.
Quando um amigo envia uma recomendação de faixa demúsica para este usuário (seção 11.3.9), a mensagem de recomendaçãoaparecerá na caixa de entrada do usuário. O usuário pode abrir a mensagem eclicar sobre o hyperlink na mensagem para adicionar a faixa de música à sua abaAlinhamento (Lineup).
11.5. Noticias
11.5.1. Lista de artigos editoriais
A seção News exibe uma lista de artigos de notíciasconstantemente atualizada. Caracteristicamente, seis artigos serão exibidos comuma ruptura, com dois artigos de interesse internacional geral, duas histórias deinteresse local geral e duas histórias baseadas no comportamento declassificação e escuta deste usuário. Esta ruptura pode ser configurada para asdemandas do serviço particular.
A lista de artigos é atualizada pelo DownloaderBackground Intelligent (assistente de download inteligente em segundo plano)durante o uso normal do MusicStation™. Os artigos são adicionados a esta listaem segundo plano e podem ser visualizados imediatamente pelo usuário, quandonavega para a aba Buzz.
11.5.2. Visualizar artigo
Consulte a Figura 155.
Para visualizar o artigo, o usuário seleciona o artigo dalista e. clica no botão do controle ou seleciona a opção Open no menu More. Otexto do corpo do artigo é exibido debaixo de um cabeçalho e imagem pertinente.
11.5.3. Hyperlinks em um artigo
Consulte a Figura 156.
As histórias podem conter hyperlinks para outras telasdentro do MusicStation™. Por exemplo, um anúncio do lançamento de um novoálbum pode incluir atalhos para as telas de artistas e álbuns relevantes. Oshyperlinks são exibidos em azul nas telas de artigos. O usuário pode navegardireto para o álbum ou artista, selecionando o hyperlink e clicando no botão docontrole. Á medida que o usuário rola para cima e para baixo em um artigo, pormeio do uso do controle para cima/baixo, o hyperlink ativo se move entresucessivos hyperlinks.
12. Alinhamento (Lineup)Consulte a Figura 157.
Alinhamento (Lineup) é um conceito central para o clienteMusicStation™. É a atual lista de faixas de músicas que um usuário tem na filapara ouvir. As músicas nas listas de músicas serão tocadas na seqüência. Aqualquer momento, o conteúdo do Alinhamento (Lineup) pode ser visualizado natela Alinhamento (Lineup),
A faixa de música atual é a faixa no Alinhamento (Lineup)que está tocando no momento. A faixa de música atual é realçada com umpequeno ponteiro azul do lado esquerdo.
Consulte a Figura 158.
Quando nenhuma faixa foi adicionada ainda aoAlinhamento (Lineup), a opção Play top track é exibida. Essa opção adicionaaleatoriamente e reproduz uma faixa de música Top track ao Alinhamento(Lineup). As faixas de música Top tracks já foram baixadas e tocarãoimediatamente.
12.1. Monitorar o status do download
Consulte a Figura 159.
As faixas de músicas que ainda não foram baixadas serãobaixadas em segundo plano. As faixas de músicas que estão atualmente sendobaixadas ou estão à espera para fazer o download são mostradas em fonte cinza.O progresso do download de uma faixa é apresentado como uma porcentagem de0-100%.
As faixas de músicas tocam na seqüência a partir doAlinhamento (Lineup). Se uma faixa é alcançada, que ainda não terminou odownload, então, a reprodução pulará essa faixa e irá para a próxima faixa, quefoi baixada. Uma vez que a faixa de música foi baixada, então, ele estarádisponível para tocar.
O MusicStation™ gerencia inteligentemente o downloadde faixas de músicas em segundo plano para otimizar a experiência do usuário egarantir que a reprodução da música seja contínua e que o usuário ouvirá umfluxo contínuo de música.As faixas de músicas são baixadas uma de cada vez,embora dependendo de como as faixas de músicas foram adicionadas aoAlinhamento (Lineup) e se o usuário interrompeu o download, saindo doaplicativo, pode haver várias faixas de músicas mostradas em um estadoparcialmente baixado.
Enquanto as faixas de músicas estão sendo baixadas, ousuário pode ouvir uma música que já fez o download e está livre para navegarpelo resto da interface de usuário do MusicStation™.
As faixas de músicas parcialmente baixadas são salvasquando o MusicStation™ sai e continua baixar mais tarde de onde parou.
12.2. Salvar como lista de músicas
Consulte a Figura 160.
O usuário pode salvar o atual Alinhamento (Lineup) emuma lista de músicas. Para salvar o atual Alinhamento (Lineup) como uma lista demúsicas, o usuário seleciona Save as playlist no menu More. O usuário podeoptar por salvar o atual Alinhamento (Lineup) como uma nova lista de músicas ouadicionar as faixas de músicas a uma lista de músicas existente. Esta lista demúsicas salva é salva no telefone móvel e centralmente.
12.3. Remover do Alinhamento (Lineup)
Consulte a Figura 161.
O usuário pode retirar uma faixa de música doAlinhamento (Lineup). Para remover uma faixa de música do Alinhamento(Lineup), o usuário seleciona a faixa de música e depois seleciona Remove domenu More. Se o usuário remover a Current Track, então, a próxima faixadisponível na lista de músicas atual será tocada.
12.4. Limpar o Alinhamento (Lineup)
Consulte a Figura 162.
O usuário pode limpar o atual Alinhamento (Lineup),eliminando todas as faixas de músicas a partir dele. Para limpar o Alinhamento(Lineup), o usuário seleciona Clear no menu More. A reprodução musical iráparar.12.5. Pular a faixa de música no atual Alinhamento(Lineup) e tocar
O usuário pode selecionar outra faixa de música paratocar do atual Alinhamento (Lineup). Para fazer isso, o usuário navega até a faixade música por meio do uso do controle. O usuário pode iniciar a reprodução dafaixa de música pressionando o botão do controle ou selecionando Play no menuMore. O MusicStation™ começará a tocar a faixa de música selecionada. Apenasas faixas de músicas baixadas poderão ser tocadas.
12.6. Adicionar música ao Alinhamento (Lineup)
O usuário navega pelo catálogo musical doMusicStation™ e pode selecionar faixas de músicas, álbuns, artistas ou listas demúsicas para adicionar ao Alinhamento (Lineup).
Qualquer faixa de música pode ser adicionada aoAlinhamento (Lineup), por meio da seleção da faixa de música com o controle.
Qualquer lista de músicas, álbum ou faixa de música pode ser adicionado, pormeio da seleção de Add to Lineup no menu More.
Se o Alinhamento (Lineup) estiver vazio, então, esse itemcomeçará a tocar. Se o Alinhamento (Lineup) já contém faixas de músicas, então,o item será adicionado à fila, no final do Alinhamento (Lineup). O usuário podevisualizar as faixas de músicas que foram adicionadas acessando a abaAlinhamento (Lineup).
As faixas de músicas, que não foram baixadas, sãoadicionadas ao Alinhamento (Lineup) antes de serem baixadas. O MusicStation™gerencia inteligentemente o download de itens em segundo plano, permitindo aousuário desfrutar de um fluxo contínuo de músicas.
Outras opções para adicionar itens ao Alinhamento(Lineup) são fornecidas no menu More. Estas opções, como, por exemplo, asPlay next, Play o mais rápido possível (ASAP) ou Play now são detalhadamentedescritas abaixo.
Se um usuário adiciona uma faixa de música aoAlinhamento (Lineup) que precisa ser baixada e não há atualmente outras faixasde músicas no Alinhamento (Lineup), então, o usuário é notificado com umaopção de adicionar uma faixa de música Top Track para reprodução imediata.
Consulte a Figura 163.
12.6.1. Adicionar ao Alinhamento (Lineup)
Quando um usuário está navegando no catálogo doMusicStation™, ele pode selecionar Add to Lineup no menu More para adicionaruma faixa de música, uma lista de música, uma faixa de música de um álbum ouartista selecionado ao Alinhamento (Lineup).
<table>table see original document page 177</column></row><table>
12.6.2. Tocar a próxima
Quando um usuário está navegando no catálogo doMusicStation™, ele pode selecionar Play next no menu More para inserir umafaixa de música, uma lista de música, uma faixa de música de um álbum ou artistaselecionado no Alinhamento (Lineup), depois da faixa de música que está sendotocada atualmente.
<table>table see original document page 178</column></row><table>
12.6.3. Tocar agora
Quando um usuário está navegando no catálogo doMusicStation™ ele pode selecionar Play now no menu More para inserir umafaixa de música que foi baixada no Alinhamento (Lineup). A faixa que está sendotocada atualmente será interrompida e a faixa de música selecionada começará atocar e substituir a atual faixa de música.
<table>table see original document page 179</column></row><table>
12.6.4. Tocar o mais rápido possível (ASAP) ASAP significa tocar o mais rápido possível. Quando um usuário está navegando no catálogo do MusicStation™, ele pode selecionar Play ASAP no menu More, para inserir uma faixa de música, uma lista de músicas, uma faixa por um artista ou um álbum selecionado, que não tenha sido baixada no Alinhamento (Lineup). Assim que estiver disponível, a faixa de música, a lista de músicas, uma faixa por um artista ou um álbum selecionado irá substituir a faixa que está tocando no momento.
Quando um usuário está navegando no catálogo do MusicStation™, se a faixa de música, a lista de músicas, a faixa por um artista ou um álbum selecionado não foi baixada, ele pode selecionar Play ASAP no menu More. <table>table see original document page 179</column></row><table><table>table see original document page 180</column></row><table><table>table see original document page 181</column></row><table>
13. Tocar
Consulte a Figura 164.
13.1.1. Tela Tocar
A aba Playing mostra os detalhes da faixa de música que está tocando no momento. <table>table see original document page 181</column></row><table><table>table see original document page 182</column></row><table>
13.1.2. Ações de Tocar
O usuário pode realizar as seguintes ações na aba Playing.
<table>table see original document page 182</column></row><table>ANEXO 2: MENUS SENSÍVEIS AO CONTEXTO
O anexo abaixo detalha as opções disponíveis no menuMore quando visualizar menus e objetos no MusicStation™.
<table>table see original document page 183</column></row><table><table>table see original document page 184</column></row><table><table>table see original document page 185</column></row><table><table>table see original document page 186</column></row><table><table>table see original document page 187</column></row><table><table>table see original document page 188</column></row><table>
Outros <table>table see original document page 188</column></row><table><table>table see original document page 189</column></row><table><table>table see original document page 190</column></row><table>

Claims (50)

1. MÉTODO QUE PERMITE BAIXAR E UTILIZARCONTEÚDOS MUSICAIS DIGITAIS EM UM DISPOSITIVO DE COMPUTAÇÃOPORTÁTIL SEM FIO, caracterizado pelo fato de compreender as seguintesetapas:(a) um programa aplicativo em execução no dispositivo decomputação sem fio, sendo que o dito programa aplicativo foi automaticamenteadaptado aos parâmetros associados ao dispositivo sem fios, sem a entrada deinformações feita pelo usuário final;(b) o programa aplicativo permite ao usuário final navegare pesquisar o conteúdo musical em um servidor remoto, por meio do uso de umarede sem fio, baixar o conteúdo musical a partir do dito servidor remoto, por meiodo uso da rede sem fio, reproduzir e gerenciar o conteúdo musical baixado, e;(c) o programa aplicativo inclui um sistema degerenciamento de direitos digitais, que permite baixar, de forma legal e ilimitada,diferentes faixas de música para o dispositivo de computação portátil sem fio, bemcomo também permite que qualquer uma dessas faixas armazenadas nodispositivo possa ser tocada, contanto que o serviço de assinatura não tenhaterminado.
2. MÉTODO, de acordo com a reivindicação 1,caracterizado pelo fato de o dito sistema de gerenciamento de direitos digitaispermitir a compra de uma faixa de música, de tal forma que a dita faixa de músicaainda poderá ser tocada, mesmo que o serviço de assinatura tenha terminado.
3. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de a infra-estrutura do sistemade cobrança para o serviço de assinatura fazer parte da infra-estrutura do sistemade cobrança fornecida por um operador de rede que controla a rede sem fio.
4. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de os parâmetros associadoscom o dispositivo sem fios variarem de acordo com o fabricante e modelo dodispositivo sem fio.
5. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de os parâmetros definirem umaversão específica do Java.
6. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de os parâmetros definiremquais partes específicas da plataforma Java foram implementadas.
7. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de os parâmetros definirem aliberação do sistema operacional e programa residente (firmware).
8. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de os parâmetros definirem ooperador de rede móvel específico que forneceu o dispositivo.
9. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de os parâmetros definirem ascaracterísticas físicas do dispositivo, incluindo uma ou mais das seguintescaracterísticas: tamanho de tela, número de elementos de imagem (pixels),profundidade de cor, comandos do teclado, características das teclas de funçõesprogramáveis.
10. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de os parâmetros definirem ascapacidades computacionais do dispositivo.
11. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de os parâmetros definirem umconjunto de arquivos de mídia e formatos que podem ser mostrados nodispositivo, através do Java, incluindo áudio, imagens, vídeos e animações.
12. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de os parâmetros definirem aslimitações da memória do dispositivo.
13. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de os parâmetros definirem umconjunto de arquivos de mídia e formatos que o sistema operacional dodispositivo pode aceitar.
14. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de os parâmetros definiremcomo o dispositivo acessa a conexão de rede.
15. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de os parâmetros definirem ascapacidades da rede e recursos do dispositivo, incluindo uma ou mais dasseguintes tecnologias: CSD, GPRS, 2G, 2,5G, 3G, WAP, SMS, Bluetooth,infravermelho, Wi-Fi, WiMAX.
16. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de o dispositivo portátil sem fioser um telefone móvel.
17. MÉTODO, de acordo com a reivindicação 16,caracterizado pelo fato de o telefone móvel ser um dispositivo com tecnologia-2,5G.
18. MÉTODO, de acordo com a reivindicação 16,caracterizado pelo fato de o telefone móvel ser um dispositivo com tecnologia 3G.
19. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de o programa aplicativoapresentar uma interface gráfica de usuário na qual exibe múltiplas abasselecionáveis pelo usuário, sendo que cada aba é associada com uma funçãoprincipal do programa aplicativo.
20. MÉTODO, de acordo com a reivindicação 19,caracterizado pelo fato de cada aba ser visível a qualquer momento, enquanto oaplicativo está sendo executado.
21. MÉTODO, de acordo com a reivindicação 19 ou 20,caracterizado pelo fato de uma aba ser associada com uma função principal, quefornece acesso a todos os conteúdos disponíveis, e com uma função de pesquisa.
22. MÉTODO, de acordo com as reivindicações de 19 a-21, caracterizado pelo fato de uma aba, se selecionada, oferecer detalhes dafaixa de música que está sendo tocada naquele momento.
23. MÉTODO, de acordo com as reivindicações de 19 a-22, caracterizado pelo fato de uma aba, se selecionada, oferecer acesso arecursos da comunidade e de notícias.
24. MÉTODO, de acordo com as reivindicações de 19 a-23, caracterizado pelo fato de uma aba, se selecionada, exibir a atual fila defaixas de músicas para ouvir e/ou baixar.
25. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de o programa aplicativoapresentar uma interface gráfica de usuário, na qual várias telas mostram um itemdo menu "Mais" que é sensível ao contexto e, se selecionado, fornece acesso aoutras funções relevantes para um item atualmente selecionado e/ou a telaatualmente exibida.
26. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de o programa aplicativo sercontrolado por meio do uso de um joystick multitarefa sensível ao contexto.
27. MÉTODO, de acordo com a reivindicação 26,caracterizado pelo fato de a função específica do joystick ser exibida por um íconena tela acima do mesmo.
28. MÉTODO, de acordo com a reivindicação 27,caracterizado pelo fato de a operação do joystick ser reproduzida por teclasnuméricas, no teclado.
29. MÉTODO, de acordo com a reivindicação 28,caracterizado pelo fato de a tecla numérica 5 ficar em cima, a tecla numérica 0ficar embaixo, a tecla numérica 7 ficar à esquerda e 9 ficar à direita.
30. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de o programa aplicativooferecer uma função de aquisição de contexto apropriado, no qual uma funçãoequivalente a "Obter Novo Artista" está no mesmo nível no menu, como "Artista".
31. MÉTODO, de acordo com a reivindicação 30,caracterizado pelo fato de uma função equivalente a "Obter Nova Faixa" estar nomesmo nível no menu, como o menu que lista as faixas para um artista.
32. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de o programa aplicativo permitirque um dispositivo funcione como um dispositivo mestre de reprodução, de talforma que outros dispositivos portáteis sem fio conectados por meio de conexãosem fio reproduzem a mesma faixa de música em sincronização de tempo.
33. MÉTODO, de acordo com a reivindicação 32,caracterizado pelo fato de a conexão sem fio ser uma conexão sem fio de curtoalcance, como, por exemplo, pela tecnologia Bluetooth.
34. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de o programa aplicativo incluiruma tecla numérica dedicada "tocar", que sempre se alterna de volta para a tela"tocar", que mostra a faixa que está sendo reproduzida.
35. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de o programa aplicativo incluirintervalos variáveis, sendo que telas diferentes têm intervalos diferentes.
36. MÉTODO, de acordo com a reivindicação 35,caracterizado pelo fato de a tela de pesquisa nunca voltar repentinamente.
37. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de o programa aplicativoapresentar notícias dirigidas, filtradas de acordo com os hábitos de reprodução dousuário final.
38. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de o programa aplicativorastrear e informar, a um servidor remoto, dados detalhados de escuta do usuáriofinal.
39. MÉTODO, de acordo com a reivindicação 38,caracterizado pelo fato de os dados incluírem quanto tempo as faixas foramtocadas.
40. MÉTODO, de acordo com a reivindicação 38,caracterizado pelo fato de os dados incluírem quando e quais faixas forampuladas.
41. MÉTODO, de acordo com as reivindicações de 38 a 40, caracterizado pelo fato de os dados ficarem dispostos de forma oculta,localmente no dispositivo e depois serem enviados de volta para o servidor comoum carona, durante uma comunicação que de qualquer forma ocorra.
42. MÉTODO, de acordo com a reivindicação 41,caracterizado pelo fato de o dispositivo enviar novamente os dados, de formapreventiva, sem esperar que a comunicação esperada ocorra de qualquer forma,apenas se o usuário não tenha baixado durante um tempo maior do que odefinido.
43. MÉTODO, de acordo com as reivindicações de 38 a 42, caracterizado pelo fato de os dados serem utilizados para enriquecer um motor de sugestão de músicas, que fornece sugestões de faixas de músicas novisor do dispositivo.
44. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de o programa aplicativoapresentar listas de músicas compartilhadas.
45. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de o programa aplicativoapresentar gráficos de listas de músicas geradas pelos usuários.
46. MÉTODO, de acordo com qualquer uma dasreivindicações anteriores, caracterizado pelo fato de todas as funções doprograma aplicativo ficarem disponíveis durante a reprodução musical.
47. MÉTODO, de acordo com a reivindicação 46,caracterizado pelo fato de as funções disponíveis durante a reprodução incluiraquisição de notícias, bem como navegação, aquisição e busca de faixa demúsica.
48. DISPOSITIVO DE COMPUTAÇÃO PORTÁTIL SEM FIO, QUE PERMITE QUE OS CONTEÚDOS DIGITAIS MUSICAIS SEJAMBAIXADOS E UTILIZADOS, caracterizado pelo fato de compreender:(a) um programa aplicativo em execução no dispositivo decomputação sem fio, sendo que o dito programa aplicativo foi automaticamenteadaptado aos parâmetros associados ao dispositivo sem fios, sem a entrada de informações feita pelo usuário final;(b) o programa aplicativo permite ao usuário final navegare pesquisar o conteúdo musical em um servidor remoto, por meio do uso de umarede sem fio, baixar o conteúdo musical a partir do dito servidor remoto, por meiodo uso da rede sem fio, reproduzir e gerenciar o conteúdo musical baixado, e; (c) o programa aplicativo inclui um sistema degerenciamento de direitos digitais, que permite baixar, de forma legal e ilimitada,diferentes faixas de música para o dispositivo de computação portátil sem fio, bemcomo também permite que qualquer uma dessas faixas armazenadas nodispositivo possa ser tocada, contanto que o serviço de assinatura não tenha terminado.
49. PROGRAMA APLICATIVO QUE PERMITE QUE OSCONTEÚDOS DIGITAIS MUSICAIS SEJAM BAIXADOS E UTILIZADOS EM UMDISPOSITIVO DE COMPUTAÇÃO PORTÁTIL SEM FIO, caracterizado pelo fatode compreender:(a) um programa aplicativo em execução no dispositivo decomputação sem fio, sendo que o dito programa aplicativo foi automaticamenteadaptado aos parâmetros associados ao dispositivo sem fios, sem a entrada deinformações feita pelo usuário final;(b) o programa aplicativo permite ao usuário final navegare pesquisar o conteúdo musical em um servidor remoto, por meio do uso de umarede sem fio, baixar o conteúdo musical a partir do dito servidor remoto, por meiodo uso da rede sem fio, reproduzir e gerenciar o conteúdo musical baixado, e;(c) o programa aplicativo inclui um sistema degerenciamento de direitos digitais, que permite baixar, de forma legal e ilimitada,diferentes faixas de música para o dispositivo de computação portátil sem fio, bemcomo também permite que qualquer uma dessas faixas armazenadas nodispositivo possa ser tocada, contanto que o serviço de assinatura não tenhaterminado.
50. FAIXA DE MÚSICA, caracterizada pelo fato de serbaixada por meio do uso do programa aplicativo da reivindicação 49.
BRPI0710320-4A 2006-05-05 2007-05-08 método que permite baixar e utilizar conteúdos musicais digitais em um dispositivo de computação portátil sem fio e respectivo dispositivo BRPI0710320A2 (pt)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
GB0608936A GB0608936D0 (en) 2006-05-05 2006-05-05 Musicstation client architecture highlights
GB0608932.0 2006-05-05
GB0608933.8 2006-05-05
GB0608932A GB0608932D0 (en) 2006-05-05 2006-05-05 Musicstation testing architecture
GB0608935A GB0608935D0 (en) 2006-05-05 2006-05-05 Musicstation client overview version 4.7
GB0608933A GB0608933D0 (en) 2006-05-05 2006-05-05 Musicstation demonstration pack read me first
GB0608934.6 2006-05-05
GB0608936.1 2006-05-05
GB0608934A GB0608934D0 (en) 2006-05-05 2006-05-05 Introducing musicstation
GB0608935.3 2006-05-05
GB0702596.8 2007-02-09
GBGB0702596.8A GB0702596D0 (en) 2006-05-05 2007-02-09 Big book one
PCT/GB2007/001675 WO2007129081A1 (en) 2006-05-05 2007-05-08 A method of providing digital rights management for music content by means of a flat-rate subscription

Publications (1)

Publication Number Publication Date
BRPI0710320A2 true BRPI0710320A2 (pt) 2011-08-23

Family

ID=37899084

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0710320-4A BRPI0710320A2 (pt) 2006-05-05 2007-05-08 método que permite baixar e utilizar conteúdos musicais digitais em um dispositivo de computação portátil sem fio e respectivo dispositivo

Country Status (11)

Country Link
US (10) US8510847B2 (pt)
EP (2) EP3396570A1 (pt)
JP (4) JP2009536482A (pt)
KR (2) KR101378111B1 (pt)
AU (2) AU2007246910B2 (pt)
BR (1) BRPI0710320A2 (pt)
CA (1) CA2651347C (pt)
GB (8) GB0702587D0 (pt)
MX (1) MX2008014187A (pt)
WO (1) WO2007129081A1 (pt)
ZA (1) ZA200809534B (pt)

Families Citing this family (232)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8290603B1 (en) 2004-06-05 2012-10-16 Sonos, Inc. User interfaces for controlling and manipulating groupings in a multi-zone media system
US11106425B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US9207905B2 (en) 2003-07-28 2015-12-08 Sonos, Inc. Method and apparatus for providing synchrony group status information
US11294618B2 (en) 2003-07-28 2022-04-05 Sonos, Inc. Media player system
US11106424B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US8086752B2 (en) 2006-11-22 2011-12-27 Sonos, Inc. Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data
US11650784B2 (en) 2003-07-28 2023-05-16 Sonos, Inc. Adjusting volume levels
US8234395B2 (en) 2003-07-28 2012-07-31 Sonos, Inc. System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
US20130097302A9 (en) * 2003-10-01 2013-04-18 Robert Khedouri Audio visual player apparatus and system and method of content distribution using the same
US20060008256A1 (en) * 2003-10-01 2006-01-12 Khedouri Robert K Audio visual player apparatus and system and method of content distribution using the same
US20070271184A1 (en) * 2003-12-16 2007-11-22 Norbert Niebert Technique for Transferring Media Data Files
US9374607B2 (en) * 2012-06-26 2016-06-21 Sonos, Inc. Media playback system with guest access
US9977561B2 (en) 2004-04-01 2018-05-22 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture to provide guest access
US8868698B2 (en) 2004-06-05 2014-10-21 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US8326951B1 (en) 2004-06-05 2012-12-04 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US7774384B2 (en) * 2005-05-25 2010-08-10 At&T Intellectual Property I, L.P. Obtaining user feedback for unavailable content
US8352323B2 (en) 2007-11-30 2013-01-08 Blaze Mobile, Inc. Conducting an online payment transaction using an NFC enabled mobile communication device
GB0702587D0 (en) 2006-05-05 2007-03-21 Omnifone Ltd Digital rights management
US8903843B2 (en) * 2006-06-21 2014-12-02 Napo Enterprises, Llc Historical media recommendation service
US8805831B2 (en) 2006-07-11 2014-08-12 Napo Enterprises, Llc Scoring and replaying media items
US9003056B2 (en) 2006-07-11 2015-04-07 Napo Enterprises, Llc Maintaining a minimum level of real time media recommendations in the absence of online friends
US7970922B2 (en) 2006-07-11 2011-06-28 Napo Enterprises, Llc P2P real time media recommendations
US8327266B2 (en) 2006-07-11 2012-12-04 Napo Enterprises, Llc Graphical user interface system for allowing management of a media item playlist based on a preference scoring system
US8059646B2 (en) 2006-07-11 2011-11-15 Napo Enterprises, Llc System and method for identifying music content in a P2P real time recommendation network
US8620699B2 (en) * 2006-08-08 2013-12-31 Napo Enterprises, Llc Heavy influencer media recommendations
US8090606B2 (en) 2006-08-08 2012-01-03 Napo Enterprises, Llc Embedded media recommendations
WO2008031114A2 (en) * 2006-09-08 2008-03-13 Virgin America Inc. On-board vessel entertainment system
US8788080B1 (en) 2006-09-12 2014-07-22 Sonos, Inc. Multi-channel pairing in a media system
US9202509B2 (en) 2006-09-12 2015-12-01 Sonos, Inc. Controlling and grouping in a multi-zone media system
US8483853B1 (en) 2006-09-12 2013-07-09 Sonos, Inc. Controlling and manipulating groupings in a multi-zone media system
US9317179B2 (en) 2007-01-08 2016-04-19 Samsung Electronics Co., Ltd. Method and apparatus for providing recommendations to a user of a cloud computing service
US20100250458A1 (en) * 2009-03-30 2010-09-30 Mspot, Inc. Content based social networking system and method
KR100923456B1 (ko) * 2007-02-23 2009-11-09 삼성전자주식회사 휴대용 단말기에서 디지털 저작권 관리 컨텐츠 관리 방법 및 장치
US9224427B2 (en) 2007-04-02 2015-12-29 Napo Enterprises LLC Rating media item recommendations using recommendation paths and/or media item usage
US8112720B2 (en) 2007-04-05 2012-02-07 Napo Enterprises, Llc System and method for automatically and graphically associating programmatically-generated media item recommendations related to a user's socially recommended media items
KR100983793B1 (ko) * 2007-04-18 2010-09-27 한국전자통신연구원 상호운용적 디지털저작권관리 장치 및 그 방법
US9164993B2 (en) 2007-06-01 2015-10-20 Napo Enterprises, Llc System and method for propagating a media item recommendation message comprising recommender presence information
US8839141B2 (en) 2007-06-01 2014-09-16 Napo Enterprises, Llc Method and system for visually indicating a replay status of media items on a media device
US9037632B2 (en) 2007-06-01 2015-05-19 Napo Enterprises, Llc System and method of generating a media item recommendation message with recommender presence information
US20090049045A1 (en) 2007-06-01 2009-02-19 Concert Technology Corporation Method and system for sorting media items in a playlist on a media device
US8285776B2 (en) 2007-06-01 2012-10-09 Napo Enterprises, Llc System and method for processing a received media item recommendation message comprising recommender presence information
US8065429B2 (en) 2007-06-28 2011-11-22 Nokia Corporation System, apparatus and method for associating an anticipated success indication with data delivery
KR101431741B1 (ko) * 2007-08-01 2014-08-20 삼성전자주식회사 휴대용 단말기에서 컨텐츠를 전송하는 장치 및 방법
KR101187178B1 (ko) 2007-09-12 2012-09-28 소니 픽쳐스 엔터테인먼트, 인크. 하나 이상의 사용자 장치들에 대한 콘텐츠 배포 방법 및 시스템
US7865522B2 (en) 2007-11-07 2011-01-04 Napo Enterprises, Llc System and method for hyping media recommendations in a media recommendation system
US9060034B2 (en) 2007-11-09 2015-06-16 Napo Enterprises, Llc System and method of filtering recommenders in a media item recommendation system
KR101453464B1 (ko) * 2007-11-09 2014-10-21 삼성전자주식회사 이동통신 단말기의 컨텐츠 권한 정보 관리 장치 및 방법
US8745507B2 (en) * 2007-11-30 2014-06-03 At&T Intellectual Property I, L.P. Preloader employing enhanced messages
US8175579B2 (en) * 2007-12-05 2012-05-08 Echostar Technologies L.L.C. Apparatus, systems and methods to communicate authorized programming between a receiving device and a mobile device
EP2071898A1 (en) * 2007-12-10 2009-06-17 Telefonaktiebolaget LM Ericsson (publ) Method for alteration of integrity protected data in a device, computer program product and device implementing the method
US9224150B2 (en) 2007-12-18 2015-12-29 Napo Enterprises, Llc Identifying highly valued recommendations of users in a media recommendation network
US8396951B2 (en) 2007-12-20 2013-03-12 Napo Enterprises, Llc Method and system for populating a content repository for an internet radio service based on a recommendation network
US9734507B2 (en) 2007-12-20 2017-08-15 Napo Enterprise, Llc Method and system for simulating recommendations in a social network for an offline user
US8316015B2 (en) 2007-12-21 2012-11-20 Lemi Technology, Llc Tunersphere
US8117193B2 (en) 2007-12-21 2012-02-14 Lemi Technology, Llc Tunersphere
US8060525B2 (en) 2007-12-21 2011-11-15 Napo Enterprises, Llc Method and system for generating media recommendations in a distributed environment based on tagging play history information with location information
JP5000477B2 (ja) * 2007-12-26 2012-08-15 日立公共システムエンジニアリング株式会社 コンテンツデータ、コンテンツ不正検出のプログラム、装置及び方法
US8724600B2 (en) * 2008-01-07 2014-05-13 Tymphany Hong Kong Limited Systems and methods for providing a media playback in a networked environment
JP2009205440A (ja) * 2008-02-28 2009-09-10 Hitachi Ltd 情報処理装置
GB0807116D0 (en) * 2008-04-18 2008-05-21 Omnifone Ltd Music subscription service
WO2009146437A1 (en) 2008-05-31 2009-12-03 Strands, Inc. Adaptive recommender technology
JP4596043B2 (ja) * 2008-06-03 2010-12-08 ソニー株式会社 情報処理装置、情報処理方法、プログラム
JP4600521B2 (ja) * 2008-06-03 2010-12-15 ソニー株式会社 情報処理装置、情報処理方法、プログラム
JP4596044B2 (ja) * 2008-06-03 2010-12-08 ソニー株式会社 情報処理システム、情報処理方法
WO2009150439A1 (en) * 2008-06-13 2009-12-17 Christopher Simon Gorman Content system
US20090326965A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Bulk media
US8825552B2 (en) * 2008-09-29 2014-09-02 Lemi Technology, Llc Providing a radio station at a user device using previously obtained DRM locked content
US20100121891A1 (en) * 2008-11-11 2010-05-13 At&T Intellectual Property I, L.P. Method and system for using play lists for multimedia content
US20100125474A1 (en) * 2008-11-19 2010-05-20 Harmon J Scott Service evaluation assessment tool and methodology
ES2351565B1 (es) * 2009-01-19 2011-12-12 Vodafone España, S.A.U. Metodo para compartir y registrar logros obtenidos en servicios web.
US8200602B2 (en) 2009-02-02 2012-06-12 Napo Enterprises, Llc System and method for creating thematic listening experiences in a networked peer media recommendation environment
US8838824B2 (en) * 2009-03-16 2014-09-16 Onmobile Global Limited Method and apparatus for delivery of adapted media
US9143381B2 (en) 2009-04-16 2015-09-22 Microsoft Technology Licenising, LLC Sequenced transmission of digital content items
WO2010124446A1 (zh) * 2009-04-27 2010-11-04 华为技术有限公司 发行许可的方法、装置和系统
US8148622B2 (en) * 2009-07-01 2012-04-03 Apple Inc. Media playback queuing for playback management
TR200905180A1 (tr) * 2009-07-02 2011-01-21 Turkcell �Let���M H�Zmetler� A.�. Eğitim içeriklerinin sunulduğu bir mobil cihaz.
US8725648B2 (en) 2009-09-01 2014-05-13 Savoirsoft, Inc. Digital rights content services architecture
US20110107431A1 (en) * 2009-10-30 2011-05-05 Nokia Corporation Method and apparatus for protecting an embedded content object
KR20110047390A (ko) * 2009-10-30 2011-05-09 삼성전자주식회사 Drm 컨텐츠 처리 방법, 장치 및 시스템
CN102196438A (zh) * 2010-03-16 2011-09-21 高通股份有限公司 通信终端标识号管理的方法和装置
US8356359B2 (en) * 2010-04-19 2013-01-15 Ericsson Television, Inc. Licensing rights for media content that follows a subscriber
US8930277B2 (en) * 2010-04-30 2015-01-06 Now Technologies (Ip) Limited Content management apparatus
CN103119621B (zh) 2010-04-30 2016-12-07 当今技术(Ip)有限公司 内容管理装置
US20110271228A1 (en) * 2010-05-03 2011-11-03 Zumobi, Inc. Systems, Methods, and Computer Program Products Providing an Article Selection Structure
US9361130B2 (en) 2010-05-03 2016-06-07 Apple Inc. Systems, methods, and computer program products providing an integrated user interface for reading content
US9015588B2 (en) * 2010-06-10 2015-04-21 At&T Mobility Ii Llc Advanced playback queue management
US20120059910A1 (en) * 2010-06-10 2012-03-08 Cricket Communications, Inc. Unlimited media access over wireless infrastructure
US9021554B2 (en) 2010-06-10 2015-04-28 At&T Mobility Ii Llc Unlimited access to media and applications over wireless infrastructure
EP2580736A4 (en) * 2010-06-10 2015-10-21 Cricket Communications Inc MULTIMEDIA SERVER PROVIDES UNLIMITED MULTIMEDIA ACCESS OVER A WIRELESS INFRASTRUCTURE
EP2580735A4 (en) * 2010-06-10 2015-07-01 Cricket Communications Inc MOBILE DEVICE FOR MEDIA ACCESS AND PLACEMENT
US9497290B2 (en) * 2010-06-14 2016-11-15 Blackberry Limited Media presentation description delta file for HTTP streaming
US9906838B2 (en) * 2010-07-12 2018-02-27 Time Warner Cable Enterprises Llc Apparatus and methods for content delivery and message exchange across multiple content delivery networks
WO2012018681A2 (en) * 2010-08-02 2012-02-09 Be In, Inc. System and method for online interactive recording studio
US20120046099A1 (en) * 2010-08-17 2012-02-23 John Mraovic Method of mind influencing through subliminal messages
US8555332B2 (en) 2010-08-20 2013-10-08 At&T Intellectual Property I, L.P. System for establishing communications with a mobile device server
US10210160B2 (en) 2010-09-07 2019-02-19 Opentv, Inc. Collecting data from different sources
US9699503B2 (en) * 2010-09-07 2017-07-04 Opentv, Inc. Smart playlist
US8438285B2 (en) 2010-09-15 2013-05-07 At&T Intellectual Property I, L.P. System for managing resources accessible to a mobile device server
US20130163370A1 (en) * 2010-09-15 2013-06-27 Bacardi & Company Limited - Corporation Liechtenstein Mixing Device
US20120215878A1 (en) * 2010-09-28 2012-08-23 Adam Kidron Content delivery platform apparatuses, methods and systems
US8989055B2 (en) 2011-07-17 2015-03-24 At&T Intellectual Property I, L.P. Processing messages with a device server operating in a telephone
US8504449B2 (en) 2010-10-01 2013-08-06 At&T Intellectual Property I, L.P. Apparatus and method for managing software applications of a mobile device server
US8443420B2 (en) 2010-10-01 2013-05-14 At&T Intellectual Property I, L.P. System for communicating with a mobile device server
US8516039B2 (en) 2010-10-01 2013-08-20 At&T Intellectual Property I, L.P. Apparatus and method for managing mobile device servers
US8478905B2 (en) 2010-10-01 2013-07-02 At&T Intellectual Property I, Lp System for synchronizing to a mobile device server
US8610546B2 (en) 2010-10-01 2013-12-17 At&T Intellectual Property I, L.P. System for selecting resources accessible to a mobile device server
US9392316B2 (en) 2010-10-28 2016-07-12 At&T Intellectual Property I, L.P. Messaging abstraction in a mobile device server
US9066123B2 (en) 2010-11-30 2015-06-23 At&T Intellectual Property I, L.P. System for monetizing resources accessible to a mobile device server
KR101763642B1 (ko) * 2010-12-09 2017-08-14 삼성전자 주식회사 선호도 기반의 컨텐츠 제공 방법 및 시스템
CN102547620A (zh) * 2010-12-30 2012-07-04 同方股份有限公司 一种移动支付系统及其更新密钥的方法
US11265652B2 (en) 2011-01-25 2022-03-01 Sonos, Inc. Playback device pairing
US11429343B2 (en) 2011-01-25 2022-08-30 Sonos, Inc. Stereo playback configuration and control
KR20120117469A (ko) * 2011-04-15 2012-10-24 주식회사 네오위즈인터넷 음원 서비스를 제공하는 방법, 서버, 모바일 단말기 및 기록매체
US8732569B2 (en) 2011-05-04 2014-05-20 Google Inc. Predicting user navigation events
US8458210B2 (en) * 2011-05-06 2013-06-04 Verizon Patent And Licensing Inc. Database load balancing through dynamic database routing
US10055493B2 (en) * 2011-05-09 2018-08-21 Google Llc Generating a playlist
US8788711B2 (en) 2011-06-14 2014-07-22 Google Inc. Redacting content and inserting hypertext transfer protocol (HTTP) error codes in place thereof
US9769285B2 (en) 2011-06-14 2017-09-19 Google Inc. Access to network content
US8730823B2 (en) 2011-06-24 2014-05-20 Jasper Wireless, Inc. Core services platform for wireless voice, data and messaging network services
US8650139B2 (en) 2011-07-01 2014-02-11 Google Inc. Predicting user navigation events
US8745212B2 (en) 2011-07-01 2014-06-03 Google Inc. Access to network content
US8744988B1 (en) 2011-07-15 2014-06-03 Google Inc. Predicting user navigation events in an internet browser
US8707289B2 (en) 2011-07-20 2014-04-22 Google Inc. Multiple application versions
JP5792901B2 (ja) * 2011-07-20 2015-10-14 ソノズ インコーポレイテッド ウェブベースの音楽パートナーシステムおよびその方法
CN103562716B (zh) * 2011-07-28 2016-06-01 京瓷株式会社 生物传感器
JP5776432B2 (ja) * 2011-08-11 2015-09-09 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
US8600921B2 (en) 2011-09-15 2013-12-03 Google Inc. Predicting user navigation events in a browser using directed graphs
US8655819B1 (en) 2011-09-15 2014-02-18 Google Inc. Predicting user navigation events based on chronological history data
US9104664B1 (en) 2011-10-07 2015-08-11 Google Inc. Access to search results
US8909667B2 (en) 2011-11-01 2014-12-09 Lemi Technology, Llc Systems, methods, and computer readable media for generating recommendations in a media recommendation system
US9594605B2 (en) * 2011-11-15 2017-03-14 Apple Inc. Client-server version control system for software applications
JP5917103B2 (ja) * 2011-11-18 2016-05-11 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US9584579B2 (en) 2011-12-01 2017-02-28 Google Inc. Method and system for providing page visibility information
US9769281B2 (en) * 2011-12-19 2017-09-19 Google Technology Holdings LLC Method and apparatus for determining a multimedia representation for a multimedia asset delivered to a client device
US9654821B2 (en) 2011-12-30 2017-05-16 Sonos, Inc. Systems and methods for networked music playback
FR2985400B1 (fr) * 2012-01-03 2013-12-20 Alcatel Lucent Transmission securisee de donnees
US8793235B2 (en) 2012-01-19 2014-07-29 Google Inc. System and method for improving access to search results
US20130232229A1 (en) * 2012-03-02 2013-09-05 Ilya Firman Distribution of Application Files
US9659093B1 (en) * 2012-04-02 2017-05-23 Google Inc. Adaptive recommendations of user-generated mediasets
US9372589B2 (en) * 2012-04-18 2016-06-21 Facebook, Inc. Structured information about nodes on a social networking system
US9729115B2 (en) 2012-04-27 2017-08-08 Sonos, Inc. Intelligently increasing the sound level of player
US9946792B2 (en) 2012-05-15 2018-04-17 Google Llc Access to network content
US9674587B2 (en) 2012-06-26 2017-06-06 Sonos, Inc. Systems and methods for networked music playback including remote add to queue
US9715365B2 (en) 2012-06-27 2017-07-25 Sonos, Inc. Systems and methods for mobile music zones
US9208325B2 (en) * 2012-07-26 2015-12-08 International Business Machines Corporation Protecting data on a mobile device
US8887239B1 (en) 2012-08-08 2014-11-11 Google Inc. Access to network content
US9584573B2 (en) 2012-08-29 2017-02-28 Ericsson Ab Streaming policy management system and method
US9008330B2 (en) 2012-09-28 2015-04-14 Sonos, Inc. Crossover frequency adjustments for audio speakers
US9141722B2 (en) 2012-10-02 2015-09-22 Google Inc. Access to network content
US9244586B2 (en) 2012-10-16 2016-01-26 Apple Inc. Displaying a buy/download button based on purchase history
US20140123004A1 (en) 2012-10-25 2014-05-01 Apple Inc. Station creation
JP6248943B2 (ja) * 2012-10-26 2017-12-20 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム、並びに情報処理システム
DE102012022064A1 (de) 2012-11-09 2014-05-15 Thomas Klimpel System und Verfahren zur Wiedergabe von Musikstücken und/oder Multimediadaten
US9779140B2 (en) * 2012-11-16 2017-10-03 Google Inc. Ranking signals for sparse corpora
US9462332B2 (en) 2012-12-05 2016-10-04 At&T Intellectual Property I, L.P. Method and apparatus for controlling a media device
US10083462B2 (en) * 2012-12-05 2018-09-25 Capital One Services, Llc Methods and systems for dynamically providing content
US9690759B2 (en) * 2013-01-03 2017-06-27 Cable Television Laboratories, Inc. Content linking
US9510055B2 (en) 2013-01-23 2016-11-29 Sonos, Inc. System and method for a media experience social interface
KR20140103212A (ko) * 2013-02-14 2014-08-26 한국전자통신연구원 콘텐츠 캐쉬 기능을 가지는 이동형 개인 기지국 및 그 서비스 제공 방법
US9083674B2 (en) 2013-03-11 2015-07-14 Aol Inc. Systems and methods for sharing audio feeds
US9305154B2 (en) * 2013-03-15 2016-04-05 Qualcomm Incorporated Method and apparatus for requesting and providing access to information associated with an image
US20140280590A1 (en) * 2013-03-15 2014-09-18 Nevada Funding Group Inc. Systems, methods and apparatus for creating, managing and presenting a social contacts list
US9075960B2 (en) 2013-03-15 2015-07-07 Now Technologies (Ip) Limited Digital media content management apparatus and method
US9247363B2 (en) 2013-04-16 2016-01-26 Sonos, Inc. Playback queue transfer in a media playback system
US9361371B2 (en) 2013-04-16 2016-06-07 Sonos, Inc. Playlist update in a media playback system
US9501533B2 (en) 2013-04-16 2016-11-22 Sonos, Inc. Private queue for a media playback system
PL2987084T3 (pl) 2013-04-18 2021-01-25 Ruslan Albertovich SHIGABUTDINOV Układy i sposoby zarządzania plikami przez mobilne urządzenia komputerowe
US9798510B2 (en) 2013-05-29 2017-10-24 Sonos, Inc. Connected state indicator
US9735978B2 (en) 2013-05-29 2017-08-15 Sonos, Inc. Playback queue control via a playlist on a mobile device
US9684484B2 (en) 2013-05-29 2017-06-20 Sonos, Inc. Playback zone silent connect
US10715973B2 (en) 2013-05-29 2020-07-14 Sonos, Inc. Playback queue control transition
US9953179B2 (en) 2013-05-29 2018-04-24 Sonos, Inc. Private queue indicator
US9703521B2 (en) * 2013-05-29 2017-07-11 Sonos, Inc. Moving a playback queue to a new zone
US9495076B2 (en) 2013-05-29 2016-11-15 Sonos, Inc. Playlist modification
CA2819539C (en) * 2013-06-21 2021-01-12 Ibm Canada Limited - Ibm Canada Limitee Dynamic management of integration protocols
US10394408B1 (en) * 2013-06-27 2019-08-27 Google Llc Recommending media based on received signals indicating user interest in a plurality of recommended media items
CN104254020B (zh) * 2013-09-25 2015-12-02 腾讯科技(深圳)有限公司 媒体数据的播放方法、装置及终端
US10296884B2 (en) 2013-09-30 2019-05-21 Sonos, Inc. Personalized media playback at a discovered point-of-sale display
US20150161087A1 (en) 2013-12-09 2015-06-11 Justin Khoo System and method for dynamic imagery link synchronization and simulating rendering and behavior of content across a multi-client platform
US10742716B1 (en) * 2013-12-16 2020-08-11 Amazon Technologies, Inc. Distributed processing for content personalization
WO2015100614A1 (en) 2013-12-31 2015-07-09 Thomson Licensing User-centered task scheduling for multi-screen viewing in cloud computing environment
US9350735B1 (en) * 2013-12-31 2016-05-24 Emc Corporation Context-based dynamic information rights management
US9577946B1 (en) * 2014-01-03 2017-02-21 hopTo, Inc. Account-specific login throttling
US20150220498A1 (en) 2014-02-05 2015-08-06 Sonos, Inc. Remote Creation of a Playback Queue for a Future Event
US9226073B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9226087B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9679054B2 (en) 2014-03-05 2017-06-13 Sonos, Inc. Webpage media playback
US9411809B1 (en) * 2014-03-07 2016-08-09 Amazon Technologies, Inc. Remote content presentation queues
US20150324552A1 (en) 2014-05-12 2015-11-12 Sonos, Inc. Share Restriction for Media Items
US20150356084A1 (en) 2014-06-05 2015-12-10 Sonos, Inc. Social Queue
US10068012B2 (en) * 2014-06-27 2018-09-04 Sonos, Inc. Music discovery
US9954849B2 (en) * 2014-06-27 2018-04-24 Oath (Americas) Inc. Systems and methods for managing secure sharing of online advertising data
CN104143057A (zh) * 2014-07-11 2014-11-12 上海一端科技有限公司 独立控制移动终端应用程序进入权限的方法
US9874997B2 (en) 2014-08-08 2018-01-23 Sonos, Inc. Social playback queues
US9959087B2 (en) 2014-09-24 2018-05-01 Sonos, Inc. Media item context from social media
US10645130B2 (en) 2014-09-24 2020-05-05 Sonos, Inc. Playback updates
US9667679B2 (en) 2014-09-24 2017-05-30 Sonos, Inc. Indicating an association between a social-media account and a media playback system
WO2016049342A1 (en) 2014-09-24 2016-03-31 Sonos, Inc. Social media connection recommendations based on playback information
US9690540B2 (en) 2014-09-24 2017-06-27 Sonos, Inc. Social media queue
US9690692B2 (en) * 2014-10-31 2017-06-27 Hewlett Packard Enterprise Development Lp Priority queue having array and trees
CN104469404B (zh) * 2014-12-05 2018-02-16 统云信息科技有限公司 Led显示屏及lcd液晶显示屏的远程批量播放控制方法
US11388131B2 (en) * 2014-12-30 2022-07-12 Avaya Inc. System and method for assessing the sensitivity of social network user populations to response time delays
US10748200B2 (en) * 2015-03-03 2020-08-18 Amazon Technologies, Inc. Search query-based replacement part interface
US10248376B2 (en) 2015-06-11 2019-04-02 Sonos, Inc. Multiple groupings in a playback system
DE102015008117A1 (de) * 2015-06-23 2016-12-29 Giesecke & Devrient Gmbh Subskriptionsverwaltung
KR20170006558A (ko) * 2015-07-08 2017-01-18 엘지전자 주식회사 이동단말기 및 그 제어방법
JP6834124B2 (ja) * 2015-09-17 2021-02-24 株式会社デンソーウェーブ ロボット制御装置
GB201518383D0 (en) * 2015-10-16 2015-12-02 Muzeit Ltd System and method for sharing of data
CN105530172A (zh) * 2015-12-28 2016-04-27 小米科技有限责任公司 用户信息的获取方法、装置、终端设备和服务器
US10623459B2 (en) * 2016-03-09 2020-04-14 Spotify Ab System and method for use of cyclic play queues in a media content environment
US10523722B1 (en) * 2016-05-09 2019-12-31 Playlist Media, Inc. System and method for shared media session creation
CN106372461B (zh) * 2016-08-31 2019-01-18 电子科技大学 一种在线音乐试听文件版权保护的方法
US10712997B2 (en) 2016-10-17 2020-07-14 Sonos, Inc. Room association based on name
US10515063B1 (en) * 2016-12-19 2019-12-24 Cboe Exchange, Inc. System and method for real-time data acquisition and display
US10282402B2 (en) * 2017-01-06 2019-05-07 Justin Khoo System and method of proofing email content
US10459941B2 (en) * 2017-02-22 2019-10-29 Salesforce.Com, Inc. Providing context-specific content relating to a displayed personal information management (PIM) message for display in a user interface of a PIM application
US11599902B2 (en) * 2017-03-13 2023-03-07 Crackle, Inc. Interactive advertisement driving transaction of an advertised digital content displayed during online playing of a content
WO2018222846A1 (en) * 2017-05-31 2018-12-06 Depict, Inc. Cloud based digital art subscriptions, control devices, and display devices
EP3610389A1 (en) * 2017-06-02 2020-02-19 Apple Inc. Device, method, and graphical user interface for presenting representations of media containers
WO2019098685A1 (ko) * 2017-11-14 2019-05-23 안강석 네트워크를 통한 사용자 맞춤식 콘텐츠 관련 객체 처리 시스템 및 그 방법
KR102178330B1 (ko) * 2017-11-14 2020-11-12 안강석 네트워크를 통한 사용자 맞춤식 콘텐츠 관련 객체 처리 시스템 및 그 방법
US11055371B2 (en) 2017-12-06 2021-07-06 Bank Of America Corporation Using smart data filters to create multi-threaded profiles
KR102458218B1 (ko) * 2017-12-22 2022-10-21 주식회사 넥슨코리아 금칙어 판정 방법 및 장치
US20190236285A1 (en) * 2018-01-31 2019-08-01 Walmart Apollo, Llc System and method for a physical device authorizing digital copies
US11102316B1 (en) 2018-03-21 2021-08-24 Justin Khoo System and method for tracking interactions in an email
US10834193B2 (en) * 2019-01-30 2020-11-10 Box, Inc. Scheduled retrieval of shared content
US11481206B2 (en) 2019-05-16 2022-10-25 Microsoft Technology Licensing, Llc Code update in system management mode
KR102412134B1 (ko) * 2019-11-25 2022-06-21 주식회사 사운드플랫폼 음원 마스터링을 위한 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
US11210057B2 (en) * 2020-01-10 2021-12-28 James Matthew Gielarowski Multi-User Media Player GUI
US11385903B2 (en) * 2020-02-04 2022-07-12 Microsoft Technology Licensing, Llc Firmware update patch
US11836507B2 (en) * 2020-06-18 2023-12-05 Dell Products L.P. Prioritizing the pre-loading of applications with a constrained memory budget using contextual information
FR3116370B1 (fr) * 2021-04-28 2023-09-29 Jcdecaux Sa Procédé et système d’affichage digital.

Family Cites Families (128)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047241B1 (en) 1995-10-13 2006-05-16 Digimarc Corporation System and methods for managing digital creative works
US6748209B2 (en) 1995-10-30 2004-06-08 At&T Wireless Services, Inc. Method and apparatus for storing activation data in a cellular telephone
US20060265337A1 (en) 1996-02-26 2006-11-23 Graphon Corporation Automated system for management of licensed digital assets
US5963951A (en) 1997-06-30 1999-10-05 Movo Media, Inc. Computerized on-line dating service for searching and matching people
US6502137B1 (en) * 1997-10-09 2002-12-31 International Business Machines Corporation System and method for transferring information over a computer network
US6427161B1 (en) * 1998-06-12 2002-07-30 International Business Machines Corporation Thread scheduling techniques for multithreaded servers
US6223213B1 (en) * 1998-07-31 2001-04-24 Webtv Networks, Inc. Browser-based email system with user interface for audio/video capture
US6115709A (en) * 1998-09-18 2000-09-05 Tacit Knowledge Systems, Inc. Method and system for constructing a knowledge profile of a user having unrestricted and restricted access portions according to respective levels of confidence of content of the portions
JP2000112858A (ja) * 1998-10-06 2000-04-21 Nec Corp データダウンロード方法および装置
JP3646011B2 (ja) * 1998-10-22 2005-05-11 三菱電機株式会社 検索システム、及び、当該検索システムのプログラムを記録したコンピュータ読み取り可能な記録媒体
US6134548A (en) 1998-11-19 2000-10-17 Ac Properties B.V. System, method and article of manufacture for advanced mobile bargain shopping
US6509910B1 (en) 1998-11-18 2003-01-21 Eastman Kodak Company Method and system for interfacing with a digital media frame network
US7103574B1 (en) * 1999-03-27 2006-09-05 Microsoft Corporation Enforcement architecture and method for digital rights management
US8464302B1 (en) * 1999-08-03 2013-06-11 Videoshare, Llc Method and system for sharing video with advertisements over a network
US6263364B1 (en) 1999-11-02 2001-07-17 Alta Vista Company Web crawler system using plurality of parallel priority level queues having distinct associated download priority levels for prioritizing document downloading and maintaining document freshness
US6658659B2 (en) * 1999-12-16 2003-12-02 Cisco Technology, Inc. Compatible version module loading
JP2001184287A (ja) * 1999-12-27 2001-07-06 Victor Co Of Japan Ltd 公衆網を用いたプレーヤ端末及び著作権物配信装置並びに著作権物伝送課金システム
US20040220926A1 (en) 2000-01-03 2004-11-04 Interactual Technologies, Inc., A California Cpr[P Personalization services for entities from multiple sources
US6377974B1 (en) * 2000-01-19 2002-04-23 Speedbit Ltd. Methods and apparatus for downloading a file from a server
JP2001209586A (ja) * 2000-01-26 2001-08-03 Toshiba Corp コンピュータにおけるコンテンツ管理装置及びコンテンツ管理方法
US20010052019A1 (en) * 2000-02-04 2001-12-13 Ovt, Inc. Video mail delivery system
US6567974B1 (en) 2000-02-25 2003-05-20 Sun Microsystems, Inc. Small memory footprint system and method for separating applications within a single virtual machine
CA2299946A1 (en) * 2000-03-03 2001-09-03 Destiny Software Productions Inc. Digital media distribution method and system
GB2362229A (en) * 2000-04-07 2001-11-14 Sony Uk Ltd Provision of copyrighted media items
US7155415B2 (en) * 2000-04-07 2006-12-26 Movielink Llc Secure digital content licensing system and method
US7725525B2 (en) * 2000-05-09 2010-05-25 James Duncan Work Method and apparatus for internet-based human network brokering
AUPQ921400A0 (en) * 2000-08-04 2000-08-31 Canon Kabushiki Kaisha Method of enabling browse and search access to electronically-accessible multimedia databases
JP2002073051A (ja) 2000-09-01 2002-03-12 Sanyo Electric Co Ltd データ再生端末装置
US6823518B1 (en) * 2000-10-17 2004-11-23 Microsoft Corporation Threading and communication architecture for a graphical user interface
US7099946B2 (en) * 2000-11-13 2006-08-29 Canon Kabushiki Kaishsa Transferring a media browsing session from one device to a second device by transferring a session identifier and a session key to the second device
JP4092530B2 (ja) 2000-11-29 2008-05-28 富士フイルム株式会社 携帯端末、情報交換仲介システム及びその方法
US20020116708A1 (en) 2000-12-11 2002-08-22 Morris Richard M. User interface for a streaming media client
US7242324B2 (en) * 2000-12-22 2007-07-10 Sony Corporation Distributed on-demand media transcoding system and method
US7028033B2 (en) 2001-01-02 2006-04-11 Hall Aluminum Llc Method and apparatus for simplified access to online services
MY147018A (en) * 2001-01-04 2012-10-15 Thomson Licensing Sa A method and apparatus for acquiring media services available from content aggregators
JP2002216040A (ja) * 2001-01-18 2002-08-02 Nippon Telegraph & Telephone East Corp コンテンツ配信システムおよび方法
US20040163020A1 (en) * 2002-01-25 2004-08-19 David Sidman Apparatus method and system for registration effecting information access
AU2002247257A1 (en) * 2001-03-02 2002-09-19 Kasenna, Inc. Metadata enabled push-pull model for efficient low-latency video-content distribution over a network
US7246104B2 (en) * 2001-03-21 2007-07-17 Nokia Corporation Method and apparatus for information delivery with archive containing metadata in predetermined language and semantics
JP2002297555A (ja) 2001-03-30 2002-10-11 Mitsubishi Electric Corp データ配信システム
US8180904B1 (en) * 2001-04-26 2012-05-15 Nokia Corporation Data routing and management with routing path selectivity
US7085845B2 (en) 2001-05-09 2006-08-01 Gene Fein Method, apparatus and computer program product for identifying a playing media file and tracking associated user preferences
US8275716B2 (en) * 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
JP2002359701A (ja) 2001-06-01 2002-12-13 Mitsunori Takahashi 携帯端末を用いた配信システム
JP2002366477A (ja) * 2001-06-08 2002-12-20 Pop Cube Kk 電子掲示板システム及び方法
US6798647B2 (en) 2001-07-16 2004-09-28 Hewlett-Packard Development Company, L.P. Portable computer with integrated PDA I/O docking cradle
JP2003099455A (ja) 2001-09-20 2003-04-04 Yamaha Corp 情報提供装置及び情報提供プログラム
US7512652B1 (en) 2001-09-28 2009-03-31 Aol Llc, A Delaware Limited Liability Company Passive personalization of buddy lists
JP2003168020A (ja) * 2001-11-29 2003-06-13 Shunichi Tanaka 電子化データファイル配信、及びそのダウンロードとそれを用いたビジネスモデル
US7283992B2 (en) * 2001-11-30 2007-10-16 Microsoft Corporation Media agent to suggest contextually related media content
US7032007B2 (en) * 2001-12-05 2006-04-18 International Business Machines Corporation Apparatus and method for monitoring instant messaging accounts
JP3901523B2 (ja) * 2002-01-10 2007-04-04 ソニー株式会社 情報配信システム、携帯情報端末、情報配信サーバ装置および情報配信方法
JP2003255958A (ja) * 2002-02-28 2003-09-10 Toshiba Corp 楽曲利用状況及び音楽情報提供方法及び記録媒体
US7937443B2 (en) * 2002-03-10 2011-05-03 Talkway, Inc. Email messaging program with built-in video and/or audio media recording and/or playback capabilities
JP3653058B2 (ja) * 2002-04-15 2005-05-25 埼玉日本電気株式会社 携帯電話機および携帯電話機における画像表示方法
JP4116320B2 (ja) 2002-04-24 2008-07-09 シャープ株式会社 コンテンツ記録再生装置
JP2004005128A (ja) 2002-05-31 2004-01-08 Matsushita Electric Ind Co Ltd 情報処理システムおよびそれを利用した電子商取引システム
US7640300B2 (en) 2002-06-10 2009-12-29 Microsoft Corporation Presence and notification system for maintaining and communicating information
US20030231661A1 (en) * 2002-06-18 2003-12-18 General Instrument Corporation Optimized broadband download for large content
US8332895B2 (en) * 2002-09-16 2012-12-11 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US8151304B2 (en) 2002-09-16 2012-04-03 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US20040162878A1 (en) * 2002-11-22 2004-08-19 Lewis Michael Pescatello System and method to facilitate real-time communications and content sharing among users over a network
US20060041830A1 (en) * 2002-12-31 2006-02-23 Christopher Bohn Method and apparatus for organizing internet information for dissemination to others, collaboration on that information with others, enabling self-publishing of online content and associating it with digital media, enabling contextual search results triggered by playing of digital media
US20040255137A1 (en) * 2003-01-09 2004-12-16 Shuqian Ying Defending the name space
JP2004240933A (ja) 2003-02-07 2004-08-26 Takahiro Matsui 個人情報が保護された名簿システムとその運用法
JP2004294584A (ja) 2003-03-26 2004-10-21 Sony Corp 音楽データ転送記録方法および音楽再生装置
US20040210538A1 (en) * 2003-04-16 2004-10-21 Bruce Forest Method of generating or increasing product sales through the dissemination of on-line content for free over a distributed computer network
US9406068B2 (en) * 2003-04-25 2016-08-02 Apple Inc. Method and system for submitting media for network-based purchase and distribution
US7069308B2 (en) 2003-06-16 2006-06-27 Friendster, Inc. System, method and apparatus for connecting users in an online computer system based on their relationships within social networks
JP4151544B2 (ja) * 2003-09-26 2008-09-17 ソニー株式会社 記録装置、記録方法およびプログラム
US20130097302A9 (en) * 2003-10-01 2013-04-18 Robert Khedouri Audio visual player apparatus and system and method of content distribution using the same
US20060008256A1 (en) * 2003-10-01 2006-01-12 Khedouri Robert K Audio visual player apparatus and system and method of content distribution using the same
US20050120084A1 (en) 2003-10-28 2005-06-02 Yu Hu Method of and system for creating, maintaining, and utilizing an online universal address book
JP4479885B2 (ja) * 2003-12-25 2010-06-09 日本電気株式会社 再生用データ更新システムおよび再生用データ更新方法
US7113981B2 (en) * 2003-12-29 2006-09-26 Mixxer, Inc. Cellular telephone download locker
US8015119B2 (en) 2004-01-21 2011-09-06 Google Inc. Methods and systems for the display and navigation of a social network
JP3960609B2 (ja) 2004-01-22 2007-08-15 株式会社ドワンゴ サーバシステム、コンテンツ送信方法およびプログラム
US7269590B2 (en) 2004-01-29 2007-09-11 Yahoo! Inc. Method and system for customizing views of information associated with a social network user
GB2411331A (en) 2004-02-19 2005-08-24 Trigenix Ltd Rendering user interface using actor attributes
US20050210507A1 (en) 2004-03-17 2005-09-22 Sony Corporation System and method for multimedia playlist
US20050210409A1 (en) 2004-03-19 2005-09-22 Kenny Jou Systems and methods for class designation in a computerized social network application
EP1733316A1 (en) 2004-03-22 2006-12-20 Nitgen Technologies Inc. A streaming based contents distribution network system and methods for splitting, merging and retrieving files
JP2005284574A (ja) 2004-03-29 2005-10-13 Clarion Co Ltd 車載用情報機器、車載用情報機器の制御方法、制御プログラムおよび記録媒体
JP4442294B2 (ja) * 2004-04-09 2010-03-31 ソニー株式会社 コンテンツ再生装置,プログラム,コンテンツ再生制御方法
JP4161936B2 (ja) * 2004-04-27 2008-10-08 ソニー株式会社 時刻設定システム,時刻設定方法
US7293122B1 (en) * 2004-04-27 2007-11-06 Apple Inc. Connector interface system facilitating communication between a media player and accessories
JP4647949B2 (ja) * 2004-05-18 2011-03-09 株式会社リコー マルチメディアコンテンツ再構成装置、マルチメディアコンテンツ再構成方法、その方法をコンピュータに実行させるプログラム、およびマルチメディアコンテンツ配信システム
JP4227072B2 (ja) 2004-05-18 2009-02-18 日本電信電話株式会社 おすすめ番組提供方法、おすすめ番組提供装置およびおすすめ番組提供プログラム
JP4576901B2 (ja) * 2004-06-22 2010-11-10 ソニー株式会社 ライセンス評価装置,コンピュータプログラム,ライセンス評価方法
JP2006040259A (ja) 2004-06-25 2006-02-09 Fuji Photo Film Co Ltd 通信端末、サーバ、再生制御方法及びプログラム
JP4701644B2 (ja) 2004-07-08 2011-06-15 ソニー株式会社 コンテンツ再生装置,コンテンツ再生制御方法およびコンピュータプログラム
US8302164B2 (en) * 2004-07-22 2012-10-30 Facebook, Inc. Authorization and authentication based on an individual's social network
US20060056324A1 (en) * 2004-09-10 2006-03-16 Nokia Corporation Apparatus and method to provide mobile music appliance with subscription-based play-list service
AU2005286683A1 (en) * 2004-09-21 2006-03-30 Netomat, Inc. Mobile messaging system and method
US7562358B2 (en) * 2004-10-04 2009-07-14 United Parcel Service Of America, Inc. Controlled deployment of software in a web-based architecture
US20070192818A1 (en) 2004-10-12 2007-08-16 Mikael Bourges-Sevenier System and method for creating, distributing, and executing rich multimedia applications
EP1825430A4 (en) 2004-10-19 2009-08-26 Yahoo Inc SYSTEM AND METHOD FOR PERSONAL NETWORKING BASED ON LOCATION
US7797720B2 (en) 2004-10-22 2010-09-14 Microsoft Corporation Advanced trick mode
GB0426736D0 (en) 2004-12-06 2005-01-12 Omnifone Ltd MyFone
US8229856B1 (en) * 2005-02-17 2012-07-24 Sprint Spectrum Lp. Music subscription and distribution for wireless devices
US7818350B2 (en) 2005-02-28 2010-10-19 Yahoo! Inc. System and method for creating a collaborative playlist
RU51768U1 (ru) 2005-03-03 2006-02-27 Анатолий Анатольевич Логинов Сеть для распространения аудиовизуальной информации, система управления и система предоставления аудиовизуальной информации
US20060218153A1 (en) * 2005-03-28 2006-09-28 Voon George H H Building social networks using shared content data relating to a common interest
US20060224943A1 (en) * 2005-04-01 2006-10-05 Entriq Inc. Method and system to automatically publish media assets
US20060259575A1 (en) * 2005-05-11 2006-11-16 Manish Upendran User interface distribution systems and methods
US7996427B1 (en) 2005-06-23 2011-08-09 Apple Inc. Unified system for accessing metadata in disparate formats
US9715542B2 (en) * 2005-08-03 2017-07-25 Search Engine Technologies, Llc Systems for and methods of finding relevant documents by analyzing tags
US8271549B2 (en) * 2005-08-05 2012-09-18 Intel Corporation System and method for automatically managing media content
WO2007035965A2 (en) * 2005-09-23 2007-03-29 Jammermedia, Inc. Media management system
US20070073694A1 (en) * 2005-09-26 2007-03-29 Jerome Picault Method and apparatus of determining access rights to content items
US7634296B2 (en) 2005-12-02 2009-12-15 General Instrument Corporation Set top box with mobile phone interface
JP5016610B2 (ja) * 2005-12-21 2012-09-05 ディジマーク コーポレイション ルール駆動パンidメタデータルーティングシステム及びネットワーク
US20070218900A1 (en) * 2006-03-17 2007-09-20 Raj Vasant Abhyanker Map based neighborhood search and community contribution
CN101366029A (zh) * 2005-12-23 2009-02-11 费斯布克公司 用于产生社会时间表的系统和方法
JP2007193611A (ja) * 2006-01-19 2007-08-02 Looops Communications Inc 会員制コミュニティサイトにおけるプロフィール情報管理方式
US20070220092A1 (en) * 2006-02-14 2007-09-20 Snapvine, Inc. System, apparatus and method for enabling mobility to virtual communities via personal and group forums
US7707246B1 (en) * 2006-02-22 2010-04-27 Qurio Holdings, Inc. Creating a social network around recorded media
US20070220174A1 (en) * 2006-03-17 2007-09-20 Fatdoor, Inc. Marker placement in a mapping environment
US7783652B2 (en) 2006-04-07 2010-08-24 Microsoft Corporation Keeping offensive content out of default view on a website
GB0702587D0 (en) 2006-05-05 2007-03-21 Omnifone Ltd Digital rights management
US8572169B2 (en) 2006-08-28 2013-10-29 Myspace, Llc System, apparatus and method for discovery of music within a social network
GB0807116D0 (en) * 2008-04-18 2008-05-21 Omnifone Ltd Music subscription service
US9805123B2 (en) 2008-11-18 2017-10-31 Excalibur Ip, Llc System and method for data privacy in URL based context queries
US8886762B2 (en) 2009-09-17 2014-11-11 Adobe Systems Incorporated Stream duration management
EP2469425A3 (en) * 2010-12-21 2012-11-14 Research In Motion Limited Contextual customization of content display on a communication device
US20130080911A1 (en) * 2011-09-27 2013-03-28 Avaya Inc. Personalizing web applications according to social network user profiles
US20130204779A1 (en) 2012-02-07 2013-08-08 Cobalt Monkey, LLC Monetizing a social networking website
US9083766B2 (en) 2012-12-27 2015-07-14 Dropbox, Inc. Maintaining consistent globally unique identifiers via an asynchronous interface

Also Published As

Publication number Publication date
US9648132B2 (en) 2017-05-09
US20130318187A1 (en) 2013-11-28
US20170310814A1 (en) 2017-10-26
US11431835B2 (en) 2022-08-30
KR101378111B1 (ko) 2014-03-27
ZA200809534B (en) 2010-02-24
GB0702599D0 (en) 2007-03-21
CA2651347C (en) 2016-04-26
AU2007246910B2 (en) 2013-02-21
AU2007246910A1 (en) 2007-11-15
GB0702596D0 (en) 2007-03-21
GB0702587D0 (en) 2007-03-21
WO2007129081A1 (en) 2007-11-15
US20210160359A1 (en) 2021-05-27
GB0702604D0 (en) 2007-03-21
JP2015228657A (ja) 2015-12-17
KR20090048545A (ko) 2009-05-14
US20210092217A1 (en) 2021-03-25
EP2021954B1 (en) 2018-06-27
KR101497263B1 (ko) 2015-03-04
JP2014195274A (ja) 2014-10-09
US20160182677A1 (en) 2016-06-23
KR20130137052A (ko) 2013-12-13
GB0702594D0 (en) 2007-03-21
JP5833178B2 (ja) 2015-12-16
GB0702600D0 (en) 2007-03-21
US9294430B2 (en) 2016-03-22
GB0702603D0 (en) 2007-03-21
US9065792B2 (en) 2015-06-23
US20210160361A1 (en) 2021-05-27
EP3396570A1 (en) 2018-10-31
US20210160360A1 (en) 2021-05-27
US8510847B2 (en) 2013-08-13
US10887443B2 (en) 2021-01-05
AU2007246910A2 (en) 2013-02-14
MX2008014187A (es) 2009-09-07
GB0702583D0 (en) 2007-03-21
EP2021954A1 (en) 2009-02-11
CA2651347A1 (en) 2007-11-15
AU2013205964A1 (en) 2013-06-06
US20100031366A1 (en) 2010-02-04
US20180262608A1 (en) 2018-09-13
JP2009536482A (ja) 2009-10-08
US9992322B2 (en) 2018-06-05
JP2017208840A (ja) 2017-11-24
US20130304870A1 (en) 2013-11-14

Similar Documents

Publication Publication Date Title
US11431835B2 (en) Method of enabling digital music content to be downloaded to and used on a portable wireless computing device
US10521624B2 (en) Object device including an IC chip
US20050246193A1 (en) Methods and apparatus for enabling transaction relating to digital assets
US20030014630A1 (en) Secure music delivery
US20030014496A1 (en) Closed-loop delivery system
US20120005041A1 (en) Mobile content distribution with digital rights management
US20140237615A1 (en) Portable license server
CN101438286A (zh) 一种通过按时计价订购为音乐内容提供数字权限管理的方法
US20090112657A1 (en) Repository infrastructure to store transaction information for providing customer service

Legal Events

Date Code Title Description
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]