KR20090048545A - 정액 요금제 가입에 의해 음악 컨텐츠의 디지털 저작권 관리를 제공하는 방법 - Google Patents

정액 요금제 가입에 의해 음악 컨텐츠의 디지털 저작권 관리를 제공하는 방법 Download PDF

Info

Publication number
KR20090048545A
KR20090048545A KR1020087029819A KR20087029819A KR20090048545A KR 20090048545 A KR20090048545 A KR 20090048545A KR 1020087029819 A KR1020087029819 A KR 1020087029819A KR 20087029819 A KR20087029819 A KR 20087029819A KR 20090048545 A KR20090048545 A KR 20090048545A
Authority
KR
South Korea
Prior art keywords
client
application
server
musicstation
user
Prior art date
Application number
KR1020087029819A
Other languages
English (en)
Other versions
KR101378111B1 (ko
Inventor
마크 스티븐 나이트
마이클 이안 램
로버트 존 루이스
스티븐 윌리엄 포콕
필립 안소니 샌트
마크 피터 설리반
크리스토퍼 존 에반스
Original Assignee
옴니폰 리미티드
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=KR20090048545(A) "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 옴니폰 리미티드 filed Critical 옴니폰 리미티드
Publication of KR20090048545A publication Critical patent/KR20090048545A/ko
Application granted granted Critical
Publication of KR101378111B1 publication Critical patent/KR101378111B1/ko

Links

Images

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
    • 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
    • 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
    • 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

본 발명은 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치로 다운로드되어 사용될 수 있게 해준다. 무선 컴퓨팅 장치 상에서 실행되는 애플리케이션은 최종 사용자 입력 없이도 무선 장치와 연관된 파라미터에 맞춰 자동적으로 적응된다(예를 들어, 애플리케이션은 장치 OS 및 펌웨어, 관련 버그, 화면 크기, 픽셀 수, 보안 모델, 접속 처리, 메모리, 기타 등등에 따라 구성됨). 이 애플리케이션은 최종 사용자로 하여금 무선 네트워크를 사용하여 원격 서버에서 음악 컨텐츠를 브라우징 및 검색하고, 이 무선 네트워크를 사용하여 그 원격 서버로부터 음악 컨텐츠를 다운로드하며, 그 다운로드된 음악 컨텐츠를 재생 및 관리할 수 있게 해준다. 이 애플리케이션은 또한 서로 다른 음악 트랙의 상기 장치로의 무제한의 합법적 다운로드를 가능하게 해주고 또한 가입 서비스가 종료되지 않는 한 상기 장치 상에 저장된 그 트랙들 중 어느 것이라도 재생될 수 있게 해주는 디지털 저작권 관리 시스템을 포함한다.
무선 컴퓨팅 장치, 디지털 저작권 관리, 음악 트랙, 권한 객체, 권한 발행자

Description

정액 요금제 가입에 의해 음악 컨텐츠의 디지털 저작권 관리를 제공하는 방법{A METHOD OF PROVIDING DIGITAL RIGHTS MANAGEMENT FOR MUSIC CONTENT BY MEANS OF A FLAT-RATE SUBSCRIPTION}
본 발명은 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치로 다운로드되어 사용될 수 있게 해주는 방법에 관한 것이다. 본 특허 명세서에서 사용되는 용어 '휴대용 무선 컴퓨팅 장치'는 양방향 무선 통신 기능을 갖는 모든 종류의 휴대용 장치를 포괄하는 것으로 확장 해석되어야만 하고 무선 전화, 이동 전화, 스마트폰, 커뮤니케이터(communicator), 퍼스널 컴퓨터, 컴퓨터 및 애플리케이션 관련 장치를 포함하지만 이에 한정되지 않는다. 이는 GSM 또는 UMTS, CDMA 및 WCDMA 이동 무선(mobile radio), 블루투스(Bluetooth), IrDA, 기타 등등의 임의의 종류의 네트워크를 통해 임의의 방식으로 통신할 수 있는 장치들을 포함한다.
과거 수년에 걸쳐 음악이 배포되고 소비되는 방식에 엄청난 변화가 있었다. 소비자가 상점에서 물리적 제품을 구매하고 이를 집에서 듣는 종래의 방법이 쇠퇴하고, 전세계 음악 산업의 총수익이 2000년에 $40bn에 조금 미치지 못하는 정도에서 2005년에 $31bn으로 떨어졌다. 반면에, 인터넷을 통한 디지털 음악의 배포는 엄청나게 급증하였는데, 처음에는 불법 파이리 공유의 형태로 이루어지다가 요즘에 는 유료로 다운로드하는 일이 점점 더 많아졌다. 휴대용 디지털 오디오 플레이어(DAP)(그 좋은 예가 Apple iPod™임)는 전세계 음악 시장에 극적인 영향을 미쳤다. 첫번째 휴대용 디지털 오디오 플레이어가 소개된지 단지 5년만에, 디지털 음악 판매량은 전세계적으로 이미 2005년에 $5bn을 훨씬 넘게 성장하였다.
이러한 경향을 완전히 바꾸어 놓기 위해, 음악 레코드 회사들은 이제 그들의 관심을 모바일 시장을 추구하는 쪽으로 전환하고 있으며, 이 모바일 시장에서는 음악이 이동 전화(또는 다른 종류의 휴대용 무선 장치)를 통해 판매되고 셀룰러 무선 네트워크를 통해 배포된다. 그 잠재적인 가치는 이미 통화연결음 시장의 폭발적인 성장으로부터 명백해졌으며, 음악 레코드 회사 및 이동 통신 사업자(mobile network operator, MNO) 둘다는 모바일 전곡 음악(mobile full-track music)이 PC에서의 디지털 음악에 비해 더 많은 수익, 더 나은 보안 및 개선된 가격 결정을 제공할 수 있을 것으로 생각하고 있다.
이동 전화는 iPod 및 기타 DAP보다 어떤 두드러진 이점을 가지고 있다. 이동 전화는, 음악을 재생함은 물론, 사용자가 이동 중에 음악을 찾고 공유하며 MNO의 내장된 편리한 과금 기능을 사용하여 컨텐츠에 대해 지불할 수 있는 더욱더 빠른 보안 무선 네트워크에 연결되어 있다. 모바일 핸드셋 제조업체로부터의 지속적인 혁신은 이 시장을 촉진시키는 데 도움이 되고 있다.
그렇지만, 여전히 상당한 도전이 앞에 놓여 있다. 전곡 음악 컨텐츠를 판매하는 주된 수단인 모바일 인터넷 기술 WAP(Wireless Application Protocol)에의 의존이 제한 요인이다. 이 기술이 사용자에게는 익숙치 않으며, 느리고 또 다루기 불편하다. 실제로, 세계에서 가장 큰 이동 전화 그룹인 Vodafone Global은 WAP와 관련된 최종 사용자의 어려움으로 인해 최고급 3G 전화를 제외하고는 전곡 음악 다운로드를 판매하지 않기로 하였다. 많은 다른 통신 사업자들은 어쩔 수 없이 비슷한 길을 가게 되었다. 이것은 전곡 음악 다운로드 서비스의 촉진을 제한하였으며, 이동 전화 가입자의 단지 소수만이 3G를 사용하거나 그에 액세스할 수 있다. 비교적 성숙한 2005 UK 시장에서, Vodafone의 1440만 고객 중 50만도 안되는 고객이 3G를 가지고 있으며, 이는 약 3%의 보급률이다. 많은 다른 통신 사업자는 전혀 없거나 아주 제한된 3G 보급률을 가지고 있다.
MNO는 또한 현재의 최고급 3G 핸드셋에서조차도 이용가능한 음악 재생 경험이 좋지 않음도 염려하고 있다. 장치들이 최고급 뮤직폰으로 출시될 때에도, 이들 장치는 일반적으로 보통의 MP3 플레이어와 비슷한 사용자 경험을 전달하지 못한다.
WAP 기반의 전곡 음악 컨텐츠의 획득에 대한 2가지 대안이 현재 인기를 누리고 있다.
Figure 112008084031862-PCT00001
사용자에게 그의 핸드셋으로 스트리밍되는 개인화된 무선 서비스를 제공하는 스트리밍 서비스
Figure 112008084031862-PCT00002
이동 전화 상에서 로컬적으로 실행되어, 이동 전화로부터 직접 음악 트랙 및 앨범을 구매할 수 있는 기능을 사용자에게 제공하는 뮤직숍 애플리케이션
그렇지만, 무선 스트리밍 솔루션은 틈새 시장이다. 데이터 접속이 연속적이어야만 한다는 요건과 사용자가 듣고 있는 것에 대한 완전한 사용자 제어의 결여는 소비자 제안 및 요청이 제한되어 있다는 것을 의미한다. 스트리밍 솔루션은 또한 핸드셋 통달 거리(handset reach)가 제한되어 있고 고속(보통 3G) 데이터 접속을 필요로 한다. 이러한 서비스를 구현하는 통신 사업자는 또한 상당한 네트워크 부담에 대해 계획을 세우고 투자를 해야만 하는데, 모든 음악 트랙이 재생될 때마다 재다운로드되어야만 하기 때문이다.
뮤직숍 애플리케이션은 더욱 끌리는 사용자 제안을 제공하지만 역시 핸드셋 통달 거리가 제한되어 있고 3G 및 틈새 시장인 심비안 핸드셋에 촛점이 맞추어져 있다. 경쟁 업체 제품이 단지 제한된 PPT(pay per track) 서비스만을 제공하고 고품질 DAP의 풍부함에 이르지 못하는 제한된 기능을 가지고 있음으로써 이러한 장치에서의 사용자 경험도 현재 제한되어 있다.
이러한 제한된 기능은, 비교적 작은 음악 카탈로그와 함께, 지금까지의 이러한 솔루션들의 매력을 심각하게 제한하고 있다.
본 발명은 사용자가 휴대용 무선 컴퓨팅 장치에서 쉽게 음악을 획득하고 들으며 또한 관리할 수 있게 해주는 성숙되고 신뢰성있으며 편리한 솔루션을 제공한다.
한 구현은 MusicStation™이라고 한다. MusicStation은 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법을 제공하며, 이 방법은,
(a) 소프트웨어 애플리케이션이 상기 무선 장치 상에서 실행되는 단계 - 상기 애플리케이션은 최종 사용자 입력 없이도 상기 무선 장치와 연관된 파라미터에 맞춰 자동적으로 적응됨 -,
(b) 상기 애플리케이션이 최종 사용자로 하여금 무선 네트워크를 사용하여 원격 서버에서 음악 컨텐츠를 브라우징 및 검색하고, 상기 무선 네트워크를 사용하여 그 원격 서버로부터 음악 컨텐츠를 다운로드하며, 그 다운로드된 음악 컨텐츠를 재생 및 관리할 수 있게 해주는 단계, 및
(c) 상기 애플리케이션에 포함되어 있는 디지털 저작권 관리 시스템이 서로 다른 음악 트랙의 상기 장치로의 무제한의 합법적 다운로드를 가능하게 해주고 또한 가입 서비스가 종료되지 않는 한 상기 장치 상에 저장된 그 트랙들 중 어느 것이라도 재생될 수 있게 해주는 단계를 포함한다.
본 발명은 사람들이 디지털 음악을 획득하고 듣는 방식을 진정으로 변화시킬 것이다. 본 발명은 처음으로 상승 효과를 내도록 작용하는 다수의 기술들을 통합하여 그 부분들의 합보다 상당히 더 탁월한 통합 솔루션을 제공하였다. 예를 들어, 이 애플리케이션이 사용자 입력 없이도 무선 컴퓨팅 장치와 연관된 파라미터들에 맞춰 자동적으로 적응될 수 있기 때문에, (판매 전에 또는 사용자가 이 애플리케이션을 다운로드하여 설치할 수 있게 해주기 위해, 예를 들어, 원격 서버에 단순히 정확한 휴대용 무선 장치 제조 및 모델 번호를 제공하는 것만으로) 아주 많은 수의 휴대용 무선 장치에 이 애플리케이션을 자동적으로 제공하는 것이 가능하게 된다. 따라서, 예를 들어, 이동 전화의 설치된 베이스가, 수억대는 아니더라도, DAP보다 훨씬 더 많은 수십대에 즉시 실행될 수 있다. 이 애플리케이션은 또한 최종 사용자가 무선 네트워크를 사용하여 원격 서버에서 음악 컨텐츠를 브라우징 및 검색하고, 이 무선 네트워크를 사용하여 그 원격 서버로부터 음악 컨텐츠를 다운로드하며, 또한 그 다운로드된 음악 컨텐츠를 재생 및 관리할 수 있게 해주며, 따라서 설치된 베이스가 DAP 솔루션을 크게 능가하며, 기능이 DAP보다 더 나은데, 그 이유는 무선 네트워크를 통해 장치로부터 직접 새 음악을 검색 및 획득하는 것이 가능하게 되기 때문이다(이것이 데스크톱 기계를 사용하여 웹 기반의 온라인 카탈로그를 통해 음악을 획득하고 이어서 DAP를 데스크톱 기계와 동기시키는 것보다 훨씬 더 자연스런 프로세스이다). 마지막으로, 이 애플리케이션은 서로 다른 음악 트랙의 장치로의 무제한의 합법적 다운로드를 가능하게 해주고 또한 가입 서비스가 종료되지 않는 한 장치 상에 저장된 그 트랙들 중 어느 것이라도 재생될 수 있게 해주는 디지털 저작권 관리 시스템을 포함한다. 이것은 사용자로 하여금 새 음악을 이전보다 훨씬 더 효과적으로 탐색할 수 있게 해주며, 메모리 가격이 급속하게 떨어짐에 따라, 중급 장치에도 수천개의 음악 트랙을 저장할 수 있게 해준다. 음악 회사는 안정된 DRM 모델, 거대한 설치된 사용자 베이스 및 새 음악의 탐색 및 획득의 용이성으로 인해 기꺼이 전체 음악 카탈로그를 이용가능하도록 만들어 줄 것이다. 이것은 긍정적 피드백을 생성하여, 더 많고 더 나은 컨텐츠가 더 많은 사용자를 끌어오게 되고 차례로 더 많은 컨텐츠를 유인하게 된다.
MusicStation은 그의 경쟁자들에 비해 다수의 주요 이점을 갖는다.
Figure 112008084031862-PCT00003
모든 음악 기능을 포함하는 포괄적이고 직관적인 사용자 경험
Figure 112008084031862-PCT00004
DAA(Device Adaptive Architecture)(추가의 상세에 대해서는 이하를 참조할 것)의 결과, 어떤 경쟁자보다도 광범위한 핸드셋과의 호환성. 이에 의해, 이 소프트웨어 애플리케이션은 거의 모든 음악-지원 핸드셋에서 실행되고 이들 모두에서 실제로 동일한 형태를 가지고 있고 동일하게 동작함.
MusicStation은 이동 전화의 이점을 극대화시킨다. 음악을 홈에서만 획득할 수 있는 DAP와는 달리, MusicStation 사용자는 새 음악을 어느 곳에서라도 발견하고 획득할 수 있다.
Figure 112008084031862-PCT00005
MusicStation은 PC, 광대역, iTunes 또는 유효한 신용 카드를 필요로 하지 않는다.
Figure 112008084031862-PCT00006
MusicStation은 AYCE(all-you-can-eat. 즉 무제한 다운로드)와 같은 혁신적인 새 모델 및 친구 사귀기 및 재생 목록 공유와 같은 사용자 커뮤니티 특징을 지원한다.
MusicStation 제품
MusicStation은 비접속형 DAP(Digital Audio Player)의 뒤를 이어 이동 전화의 대량-채택을 가능하게 해주는 주요 기반 기술이 되도록 설계되어 있다. 성공을 보장하기 위해, 설계 및 개발팀은 차세대의 대량 판매용 음악 제품을 전달하기 위해 이하의 주된 요건에 중점을 두었다.
Figure 112008084031862-PCT00007
최상의 DAP보다 앞서는 사용자 경험
이동 전화에서의 종래의 기본 플레이어는 최상의 DAP에 비해 품질이 떨어졌다. MusicStation은 시장을 주도하는 DAP만큼 완벽하면서도 접속된 장치의 이점에 최적화되어 있는 인터페이스를 제공한다.
Figure 112008084031862-PCT00008
접속의 이점들을 극대화
이동 전화는 AAC(Almost Always Connected) 장치이며, 따라서 핸드셋-기반의 음악 제품은 인터넷-접속된 PC에 물리적으로 부착되어 있을 때 뿐만 아니라 이동 중에도 직접 음악 구매를 가능하게 해준다.
Figure 112008084031862-PCT00009
PC에 의존하지 않음
통합형 핸드셋 제품에서는 사용자가 광대역-접속된 PC를 소유할 필요가 없다. 이것은 이동 전화 사용자가 이러한 기술에도, 또 실제로 신용 카드에도 일반적으로 접근하지 않는 시장을 개척하는 데 특히 중요하다. 사용자가 PC에 접근하는 경우에도, 사용자는, 책상에 있든 움직이고 있든 간에, 음악 및 재생 목록에 액세스할 수 있지만, 퍼스널 컴퓨터, 광대역 또는 신용 카드 기술에 전혀 의존하지 않는다.
Figure 112008084031862-PCT00010
직접 과금 가능
모바일 음악 애플리케이션은 소비자와 MNO 간의 과금 관계를 이용할 수 있다. (장소에 상관없이) 컨텐츠 구매에 대해 훨씬 더 편리한 원터치 과금 방법을 제공함으로써, 음악 판매가 정말로 극대화될 수 있으며, 휴대용 장치와의 어려운 동기화 요건도 필요로 하는 성가신 등록 프로세스를 갖는 책상에서의 웹-기반 신용 카드 애플리케이션과 비교할 경우 특히 그렇다.
Figure 112008084031862-PCT00011
무선 듣기 가능
핸드셋 상의 음악 애플리케이션은 음악이 재생될 수 있고 무선 헤드폰, 카 스테레오 및 하이-파이 시스템과 같은 다른 블루투스 지원 장치와 공유될 수 있게 해주기 위해 많은 모바일 핸드셋에서 이용가능한 블루투스 기능을 사용할 수 있어야만 한다.
Figure 112008084031862-PCT00012
24시간 연중 무휴 가용성의 이용
이동 전화는 24시간 연중 내내 사용자와 같이 있을 가능성이 가장 많은 전자 장치로서, 음악의 듣기, 구매 또는 관리든 간에, 소비자 상호작용을 위한 훨씬 더 폭넓은 기회를 제공한다. 따라서, 음악 애플리케이션이 처음으로 핸드셋 기능을 탐색하는 동안에 우연히 이 애플리케이션과 마주치는 가입자에게조차도 매력적이고 사용하기 쉽도록 설계되는 것이 중요하다.
Figure 112008084031862-PCT00013
사용자 커뮤니티 특징의 제공
AAC(Almost Always Connected) 장치로서, 이동 전화는 이동 중에 커뮤니티 상호작용 특징을 전달할 수 있으며, 사용자들에 의해 생성된 공유 재생 목록 및 재생 목록 차트를 통해 향상된 소비자 음악 찾기를 가능하게 해주는 열쇠이다. 이것은 비접속형 DAP에 대한 주된 이점이다.
Figure 112008084031862-PCT00014
우연한 핸드셋 로드맵의 활용
MNO 또는 제조업체에 의해 뮤직폰이라고 적극적으로 홍보 또는 표시되지 않더라도, 대다수의 핸드셋이 2007년 1 사분기쯤에 음악을 지원하게 될 것이다. 수익 가능성을 극대화하기 위해, 2.5G 또는 3G이든, 제조업체가 누구이든, 모든 음악-지원 핸드셋에서 음악 애플리케이션이 이용가능해야만 하며, 이는 처음으로 MNO로 하여금 전곡 다운로드 음악을 대량 판매 기회로 생각할 수 있게 해준다.
MusicStation은 이들 주요 요건을 감안하여 설계되었다. 최종 결과는 진정으로 대다수의 음악-지원 핸드셋을 "수퍼-DAP"으로 만들 수 있다. MusicStation은 (음악 재생 및 관리의 측면에서) DAP의 모든 성능 및 사용자 경험 품질을 제공하고 또한 선도적인 PC 기반의 온라인 음악 상점의 브라우징, 검색, 획득, 재생 목록, 및 명곡 기능 모두를 제공한다. 그에 부가하여, MusicStation은 음악 사용자들에게 그의 음악 찾기 프로세스를 향상시킬 수 있는 부족 사회 기능 및 개인화된 뉴스 및 보기를 제공한다(이들 어느 것도 DAP에서는 이용가능하지 않음).
다른 주요 특징으로는 이하의 것들이 있다.
Figure 112008084031862-PCT00015
모든 음악 재생/재생 목록 관리/컨텐츠 획득/뉴스/커뮤니티 기능을 포함하는 하나의 사용자 직관적인 인터페이스
Figure 112008084031862-PCT00016
음악 재생 동안에 이용가능한 모든 기능의 가용성(뉴스 가져오기, 검색/브라우징, 기타)
Figure 112008084031862-PCT00017
좋아하는 컨텐츠의 지능적 캐싱을 가능하게 해주는 지능적 병렬 다운로드 기술
Figure 112008084031862-PCT00018
내장된 네트워크 인식(특징 및 인터페이스가 이용가능한 네트워크 접속의 레벨(3G/2.5G/0G)에 따라 지능적으로 적응함)
Figure 112008084031862-PCT00019
직접 과금 통합(신용 카드 또는 계정을 필요로 하지 않는 아주 편리한 원터치 과금을 가능하게 해줌)
Figure 112008084031862-PCT00020
가입 서비스를 위한 과금 기반구조가 무선 네트워크를 제어하는 네트워크 통신 사업자에 의해 제공되는 과금 기반구조의 일부임
Figure 112008084031862-PCT00021
DRM에 의한 산업 표준 음악 파일 보호. DRM은 또한 가입 서비스가 종료되는 경우에도 음악 트랙이 여전히 재생될 수 있도록 음악 트랙의 구매를 가능하게 해준다.
DAP와 달리, 접속형 애플리케이션이기 때문에, MusicStation은 처음으로 핸드셋으로부터 직접 AYCE(All-You-Can-Eat) 주간 또는 일간 가입 패키지를 제공할 수 있다. AYCE 가입자당 평균 음악 수익이 종래의 PPT(pay per track) 사용자로부터의 수익보다 상당히 더 높다는 많은 증거가 있다. 지금까지, 대부분의 AYCE 구현예는 접속형 모바일 장치를 통해 판매되기보다는 데스크톱-기반의 가입이었다.
DAA(Device Adaptive Architecture)
지금까지의 모바일 애플리케이션의 가장 큰 문제들 중 하나는 애플리케이션을 새로운 핸드셋에 포팅하고 다수의 핸드셋 제조업체 및 모델에 걸쳐 동작하는 애플리케이션을 전달하는 것의 어려움이었다. 이러한 난제를 해결하는 것이 MusicStation이 해소할 가장 중요한 기술적 어려움들 중 하나이다. DAA(Device Adaptive Architecture)가 해결 방안이다.
기본적으로, DAA는 MusicStation이 어떤 경쟁자보다도 더 많은 이동 전화에 설치될 수 있게 해준다. DAA는 또한 MusicStation이 "수주 또는 수개월"이 아니라 수시간 내에 새로운 핸드셋에 포팅될 수 있게 해주어, 각각의 경우에 애플리케이션의 제조업체 및 핸드셋 모델 고유 버전을 생성한다.
DAA 때까지는, 모든 모바일 애플리케이션이, 음악에 관련된 것이든 더 일반화된 것이든 간에, 핸드셋 통달거리가 제한되어 있었다. 통상적인 장애로는 다음과 같은 것들이 있다.
Figure 112008084031862-PCT00022
핸드셋 설계/메모리 용량의 제조업체간 변동
Figure 112008084031862-PCT00023
OS 및 펌웨어 릴리스 및 관련 버그
Figure 112008084031862-PCT00024
화면 크기, 픽셀 수, 색심도, 키패드 제어 및 소프트키 변동
Figure 112008084031862-PCT00025
물리적 크기
Figure 112008084031862-PCT00026
미디어 파일 및 형식 지원(예를 들어, 오디오, 사진, 비디오, 애니메이션)
Figure 112008084031862-PCT00027
자바 버전 및 플랫폼 구현 차이
Figure 112008084031862-PCT00028
핸드셋-고유의 보안 모델
Figure 112008084031862-PCT00029
접속 처리 및 용량
Figure 112008084031862-PCT00030
공개된 규격에 부합하지 않음
Figure 112008084031862-PCT00031
컴퓨팅 능력 및 기타 계산 자원
Figure 112008084031862-PCT00032
메모리
Figure 112008084031862-PCT00033
CSD, GPRS, 2G, 2.5G, 3G, WAP, SMS, 블루투스, 적외선, Wi-Fi, WiMAX 중 하나 이상을 포함한, 장치의 네트워크 용량 및 처리
기본적으로, 핸드셋, 제조업체, 또한 네트워크 통신 사업자마다 특징들이 크게 다르며, 많은 핸드셋이 그의 구현에 버그가 있을 수 있다. DAA(Device Adaptive Architecture)는 이들 문제를 해결하고 기록 시에 이 제품이 대다수의 모든 음악 지원 2.5G 및 3G 핸드셋에 자동적으로 포팅될 수 있게 해준다. DAA는 이들 다양한 특징과 연관된 파라미터를 포착하고 애플리케이션이 최종 사용자 입력 없이 특정의 핸드셋/네트워크 통신 사업자 조합에 대해 자동적으로 맞춤 구축될 수 있게 해준다. DAA에 관한 추가적인 상세는 WO 2006/061595(이 출원은 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함됨)에서 찾아볼 수 있다.
엄격히 말하면, MusicStation의 기준 플랫폼이 자바인 것에 유의하는 것이 중요하다. 몇가지 경쟁 제품들은 해결이 용이한 심비안 플랫폼에 구축되어 있다. 이 플랫폼의 경우 애플리케이션을 구축하는 것이 비교적 쉽지만, 대량 판매 음악 제안의 기회를 제공하지는 않는다. 전세계적으로 10% 미만의 핸드셋이 심비안을 탑재하고 있으며 이들 중 다수가 비즈니스에 초점에 맞추어진 핸드셋이다. 자바는 가장 널리 채택된 모바일 플랫폼이며 핸드셋 통달거리에 아주 중요하다. 자바는 거의 모든 중간 및 고급 핸드셋에서 이용가능하다. 자바와 DAA 기술의 결합은 MusicStation이 어떤 다른 기술보다도 더 많은 소비자에게 전달될 수 있고 엄격히 말하면 제조업체 또는 모델에 상관없이 거의 동일하게 동작하고 거의 동일한 형태 및 느낌을 가지고 있다는 것을 의미한다. MusicStation은 자바, 심비안, 윈도즈 모바일, 리눅스 및 BREW에서 이용가능하다.
다른 특징들로는 다음과 같은 것들이 있다.
Figure 112008084031862-PCT00034
이 애플리케이션은 다수의 사용자-선택가능 탭(각각의 탭은 애플리케이션의 핵심 기능과 연관되어 있음)을 보여주는 그래픽 사용자 인터페이스를 제공한다.
Figure 112008084031862-PCT00035
각각의 탭은 애플리케이션이 실행 중일 때 항상 보인다.
Figure 112008084031862-PCT00036
하나의 탭이 모든 이용가능한 컨텐츠 및 검색 기능에의 액세스를 제공하는 홈 기능과 연관되어 있다.
Figure 112008084031862-PCT00037
하나의 탭은, 선택되는 경우, 현재 재생되고 있는 트랙의 상세를 제공한다.
Figure 112008084031862-PCT00038
하나의 탭은, 선택되는 경우, 커뮤니티 및 뉴스 기능에의 액세스를 제공한다.
Figure 112008084031862-PCT00039
하나의 탭은, 선택되는 경우, 듣기 및/또는 다운로드를 위한 트랙들의 현재 큐를 디스플레이한다.
Figure 112008084031862-PCT00040
이 애플리케이션은 다수의 화면이 컨텍스트 의존적이고, 선택되는 경우, 현재 선택된 항목 및/또는 현재 디스플레이된 화면에 관련된 추가적인 기능에의 액세스를 제공하는 '더 보기' 메뉴 항목을 보여주는 그래픽 사용자 인터페이스를 제공한다.
Figure 112008084031862-PCT00041
이 애플리케이션은 멀티태스킹 컨텍스트 의존적인 조이스틱을 사용하여 제어되고, 이 조이스틱의 특정의 기능은 이 조이스틱 상의 온스크린 아이콘으로 나타내어져 있다. 이 조이스틱의 동작은 키패드에 있는 숫자키에 의해 복제(replicate)되며, 예를 들어, 숫자키 5는 위쪽이고, 0은 아래쪽이며, 7은 왼쪽이고, 9는 오른쪽이다.
Figure 112008084031862-PCT00042
이 애플리케이션은, '새 음악가 가져오기(Get New Artist)'와 동등한 기능이 메뉴에서 '음악가(Artist)'와 동일한 레벨에 있는, 컨텍스트에 적절한 가져오기(acquire) 기능을 제공한다. 새 트랙 가져오기(Get New Track)와 동등한 기능이 메뉴에서 음악가에 대한 트랙들을 나열하는 메뉴와 동일한 레벨에 있다.
Figure 112008084031862-PCT00043
이 애플리케이션은 한 장치가 다른 무선 접속된 휴대용 무선 장치들이 동일한 음악 트랙을 시간 동기하여 재생하도록 하는 마스터 재생 장치로서 동작할 수 있게 해준다. 이 무선 접속은 블루투스와 같은 단거리 무선 접속일 수 있다.
Figure 112008084031862-PCT00044
이 애플리케이션은 항상 토글되면 현재 재생되고 있는 트랙을 보여주는 재생 화면으로 돌아가는 전용의 '재생' 숫자키를 제공한다.
Figure 112008084031862-PCT00045
이 애플리케이션은 가변적인 타임아웃을 제공하며, 서로 다른 화면은 서로 다른 타임아웃을 갖는다. 예를 들어, 검색 화면은 결코 스냅백(snap back)되지 않으며, 7초 후에 스냅백될 수 있는 표준의 탐색 화면(navigation screen)과 비교하여 뉴스 화면은 20초 후에 스냅백된다.
Figure 112008084031862-PCT00046
이 애플리케이션은 최종 사용자의 재생 습관에 따라 필터링된 맞춤 뉴스(targeted news)를 디스플레이한다.
Figure 112008084031862-PCT00047
이 애플리케이션은 상세한 최종 사용자 듣기 데이터를 추적하고 이를 원격 서버로 피드백한다. 이 데이터는 트랙을 얼마동안 들었는지, 어느 트랙을 언제 건너뛰었는지를 포함한다. 이 데이터는 장치 상에 로컬적으로 캐싱되었다가 어떻게든 있게 될 통신을 통해 피기백으로서 서버로 다시 전송된다. 이 장치는 사용자가 설정된 시간 이상 동안 다운로드를 하지 않은 경우에만, 어떻게든 있게 될 통신을 기다리지 않고 데이터를 선제적으로 다시 전송한다. 이 데이터는 장치 상에 디스플레이하기 위한 음악 트랙 제안을 제공하는 음악 제안 엔진(music suggestion engine)을 보강하는 데 사용될 수 있다.
Figure 112008084031862-PCT00048
이 애플리케이션은 공유 재생 목록을 디스플레이한다.
Figure 112008084031862-PCT00049
이 애플리케이션은 사용자들에 의해 발생된 재생 목록 차트를 디스플레이하고, 이 애플리케이션의 모든 기능들이 음악 재생 동안에 이용가능하다.
Figure 112008084031862-PCT00050
재생 동안에 이용가능한 기능들은 뉴스 가져오기는 물론, 음악 트랙의 검색, 브라우징 및 가져오기를 포함한다.
다른 측면은 디지털 음악 컨텐츠가 다운로드되어 사용될 수 있게 해주는 휴대용 무선 컴퓨팅 장치이며, 이 장치는
(a) 무선 장치 상에서 실행되는 소프트웨어 애플리케이션 - 이 애플리케이션은 최종 사용자 입력 없이도 무선 장치와 연관된 파라미터에 맞춰 자동적으로 적응됨 -,
(b) 최종 사용자로 하여금 무선 네트워크를 사용하여 원격 서버에서 음악 컨텐츠를 브라우징 및 검색하고, 무선 네트워크를 사용하여 그 원격 서버로부터 음악 컨텐츠를 다운로드하며, 그 다운로드된 음악 컨텐츠를 재생 및 관리할 수 있게 해주는 애플리케이션, 및
(c) 서로 다른 음악 트랙의 장치로의 무제한의 합법적 다운로드를 가능하게 해주고 또한 가입 서비스가 종료되지 않는 한 장치 상에 저장된 그 트랙들 중 어느 것이라도 재생될 수 있게 해주는, 애플리케이션에 포함되어 있는 디지털 저작권 관리 시스템을 포함한다.
제3 측면은 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 소프트웨어 애플리케이션이며,
(a) 상기 애플리케이션은 상기 무선 장치 상에서 실행되고 - 상기 애플리케이션은 최종 사용자 입력 없이도 상기 무선 장치와 연관된 파라미터에 맞춰 자동적으로 적응됨 -,
(b) 상기 애플리케이션은 최종 사용자로 하여금 무선 네트워크를 사용하여 원격 서버에서 음악 컨텐츠를 브라우징 및 검색하고, 상기 무선 네트워크를 사용하여 그 원격 서버로부터 음악 컨텐츠를 다운로드하며, 그 다운로드된 음악 컨텐츠를 재생 및 관리할 수 있게 해주고,
(c) 상기 애플리케이션은 서로 다른 음악 트랙의 상기 장치로의 무제한의 합법적 다운로드를 가능하게 해주고 또한 가입 서비스가 종료되지 않는 한 상기 장치 상에 저장된 그 트랙들 중 어느 것이라도 재생될 수 있게 해주는 디지털 저작권 관리 시스템을 포함한다.
마지막 측면은 제3 측면에 의해 정의된 소프트웨어 애플리케이션을 사용하여 다운로드된 음악 트랙이다.
정의
이동 전화: 물리적 전선 또는 기타 물리적 접속 또는 기타 형태의 케이블을 통하기보다는 공중을 통한 무선 기술을 통해 전화 네트워크에 접속되어 있는 유형의 전화
모바일 전화, 전화, 모바일, 모바일 핸드셋 또는 핸드셋: 이동 전화의 일종
모바일 네트워크: 이동 전화가 동작할 수 있고 또 전화 통화를 하는 것 또는 네트워크-상주 데이터 또는 서비스에 액세스하는 것과 같은 기능을 제공할 수 있도록 이동 전화에 무선 접속을 제공하는 네트워크
모바일 네트워크 통신 사업자(MNO): 모바일 네트워크를 운영하는 회사 또는 조직체 및 그 네트워크 상에서 이동 전화를 사용하는 가입자 또는 사용자
전세계 모바일 네트워크 또는 이동 전화 네트워크: 전 세계에 있는 모바일 네트워크 통신 사업자에 의해 운영되는 모든 모바일 네트워크의 총합
무선 네트워크: 클라이언트 컴퓨팅 장치에 무선 접속을 제공하는 네트워크. 이러한 네트워크로는 Wi-Fi, WiMAX 및 전세계 모바일 네트워크(Global Mobile Network)가 있다.
서버: 서버에 접속하여 서버에 서비스를 요청하는 하나 이상의 클라이언트 컴퓨팅 장치에 정보 제공, 데이터베이스 검색 및 트랜잭션과 같은 네트워크화된 애플리케이션 서비스, 특징 및 기능을 제공하기 위해 존재하는 네트워크화된 컴퓨팅 장치. 일반적으로 각각의 서버에 많은 클라이언트가 있으며, 각각의 클라이언트는 보통 서버보다 크기가 작고 계산 용량이 작다.
서비스: 통상적으로 서버에 의해 하나 이상의 네트워크 접속된 클라이언트 컴퓨팅 장치에 제공되는 네트워크화된 컴퓨팅 서비스, 특징 및 기능. 서비스로는 정보 제공, 데이터베이스 검색 및 트랜잭션이 있다. 이러한 서비스는 구조적으로 네트워크에서 중앙집중식으로 배포될 수 있지만, 통상적으로 클라이언트의 크기 및 능력으로 인해 클라이언트 컴퓨터에서 배포되기는 불가능하다.
클라이언트: 네트워크-중심 애플리케이션의 특징 및 기능을 애플리케이션의 사용자 또는 소비자에게 전달하는 네트워크에 접속된 컴퓨팅 장치. 클라이언트는 통상적으로 서버에 접속되어 서비스를 요청한다.
네트워크 애플리케이션: 애플리케이션의 인터페이스의 기능을 수행하는 클라이언트 상에서 실행되는 소프트웨어의 조합에 의해 최종 사용자 또는 소비자에게 전달되고, 네트워크를 통해 클라이언트에 의해 액세스되는 서버 상의 소프트웨어에 의해 제공되는 서비스에 의해 지원되고 보완된다는 점에서 네트워크-중심적인 애플리케이션 또는 서비스의 일종.
무선 컴퓨팅 장치: 무선 네트워크를 통해 네트워크에 접속되는 클라이언트의 일종. 이러한 장치로는 이동 전화, PDA(Personal Digital Assistant), 게임 콘솔(예를 들어, 소니 PSP), 또는 기타 무선 네트워크 접속된 클라이언트 컴퓨팅 장치가 있다. 무선 컴퓨팅 장치의 유형은 그의 제조업체, 원산지, 버전, 운영 체제, 펌웨어 버전에 의해 추가적으로 정의된다.
무선 장치 또는 무선 클라이언트: 무선 컴퓨팅 장치의 일종
소프트웨어 애플리케이션: 공중을 통해 무선 컴퓨팅 장치로 전달되거나 무선 컴퓨팅 장치에 사전 설치되어 있는 클라이언트 소프트웨어 애플리케이션
소프트웨어 컴포넌트: 무선 컴퓨터 장치에 맞게 커스터마이즈되어 있는 소프트웨어 애플리케이션의 컴포넌트들 및 DAA(Device Adaptive Architecture) 소프트웨어 라이브러리의 일부를 형성하는 소프트웨어의 개개의 유닛
모바일 컨텐츠: 모바일 전화에 의해 사용, 소비, 재생, 열람 또는 렌더링되는 전자 제품을 표현하는 디지털 파일 및 데이터. 예로는 통화 연결음/벨소리, 배경 화면/사진, 화면 보호기/애니메이션, 착신음, 전곡 음악 다운로드, 비디오, SMS 및 MMS 경보, 모바일 게임, 및 많은 다른 현재의 또한 부상하는 모바일 전화 사용 오락 및 정보 제품이 있다.
메타데이터: 무선 컴퓨팅 장치, 무선 네트워크, 소프트웨어 컴포넌트, 네트워크 애플리케이션 또는 모바일 컨텐츠의 속성 또는 거동을 기술하는 개개의 데이터 항목 또는 데이터의 집합체(계층적으로 관련되어 있을 수 있음)
도 1은 스케쥴러 클래스를 나타낸 도면.
도 2는 클라이언트가 작업을 스케쥴링하는 것을 나타낸 도면.
도 3은 UI 쓰레드가 큐에 작업을 추가하는 것을 나타낸 도면.
도 4는 이진 힙(binary heap)의 일례를 나타낸 도면.
도 5는 어레이에 저장된 이진 힙을 나타낸 도면.
도 6은 작업에 대한 상태도를 나타낸 도면.
도 7은 각각의 유형의 데이터 객체에 대한 캐쉬 상한 및 하한을 나타낸 도면.
도 8은 예외를 구성하는 데 사용되는 데이터 객체를 나타낸 도면.
도 9는 장치 관련 예외를 나타낸 도면.
도 10은 새로운 ... 가져오기 옵션의 화면 캡처를 나타낸 도면.
도 11은 개인화된 메뉴 항목 및 포함된 추천들을 나타낸 도면.
도 12는 항목 평가하기의 화면 캡처를 나타낸 도면.
도 13은 뉴스의 화면 캡처를 나타낸 도면.
도 14는 버즈 회원 추천의 화면 캡처를 나타낸 도면.
도 15는 우수 회원 및 버즈 재생목록에 대해 포함된 개인화된 메뉴 항목 및 추천을 나타낸 도면.
도 16은 트랙들 간의 상관관계의 행렬을 나타낸 도면.
도 17은 가중치의 행렬을 나타낸 도면.
도 18은 0과 1 사이에 있는 일련의 정규화된 가중치를 나타낸 도면.
도 19는 평가 및 고객 재생에 기초하여, 시스템에서 음악가의 쌍들이 얼마가 강하게 연관되어 있는지를 나타내는 상관의 행렬인, 관련 음악가의 행렬을 나타낸 도면.
도 20은 평가 및 고객 재생에 기초하여, 시스템에서 고객의 쌍들이 얼마가 강하게 연관되어 있는지를 나타내는 상관의 행렬인, 관련 고객의 행렬을 나타낸 도면.
도 21은 연관관계 행렬 속성, 추천에 대한 입력, 및 결과 메카니즘의 테이블의 일부를 나타낸 도면.
도 22는 연관관계 행렬 속성, 추천에 대한 입력, 및 결과 메카니즘의 테이블의 일부를 나타낸 도면.
도 23은 연관관계 행렬 속성, 추천에 대한 입력, 및 결과 메카니즘의 테이블의 일부를 나타낸 도면.
도 24는 연관관계 행렬 속성, 추천에 대한 입력, 및 결과 메카니즘의 테이블의 일부를 나타낸 도면.
도 25는 연관관계 행렬 속성, 추천에 대한 입력, 및 결과 메카니즘의 테이블의 일부를 나타낸 도면.
도 26은 암시적 평가값의 계산을 나타낸 도면.
도 27은 메시지의 속성을 나타낸 도면.
도 28은 이미지의 속성을 나타낸 도면.
도 29는 클라이언트 버전의 속성을 나타낸 도면.
도 30은 번역된 메시지를 나타낸 도면.
도 31은 장치 메시지 속성을 나타낸 도면.
도 32는 장치 메시지/도움말 메시지 속성을 나타낸 도면.
도 33은 서비스 메시지를 나타낸 도면.
도 34는 서비스 및 장치 관련 메시지를 나타낸 도면.
도 35는 클라이언트 빌드 메시지를 나타낸 도면.
도 36은 로밍 옵션의 화면 캡처를 나타낸 도면.
도 37은 MusicStation의 로밍 거동의 구성을 나타낸 도면.
도 38은 로밍 경고의 화면 캡처를 나타낸 도면.
도 39는 로밍 경고 - 질문 프롬프트의 화면 캡처를 나타낸 도면.
도 40은 로밍 경고 - 질문 프롬프트의 화면 캡처를 나타낸 도면.
도 41은 로밍 옵션이 온으로 설정되어 있는 화면 캡처를 나타낸 도면.
도 42는 로밍 옵션이 오프로 설정되어 있는 화면 캡처를 나타낸 도면.
도 43은 응답의 제목, 내용 및 결과를 나타낸 도면.
도 44는 클라이언트와 서버 사이에서의 요청/응답의 흐름을 나타낸 도면.
도 45는 서버가 클라이언트에게로 요청을 전송하는 것을 나타낸 도면.
도 46은 [주번호].[부번호].[세부번호], 변형 이름 및 플랫폼 식별자의 상세를 나타낸 도면.
도 47은 에러 데이터의 상세를 나타낸 도면.
도 48은 클라이언트가 에러 데이터를 서버에게로 전송하는 것의 일례를 나타낸 도면.
도 49는 클라이언트가 에러 데이터 및 사진을 서버에게로 전송하는 것의 일례를 나타낸 도면.
도 50은 서버가 하나의 파라미터를 사용하여 Jpeg 사진을 전송하는 것의 일례를 나타낸 도면.
도 51은 상태 코드를 나타낸 도면.
도 52는 서버가 news1.data 파일을 전송하는 것을 나타낸 도면.
도 53은 서버가 news2.data 및 news3.data 파일을 전송하는 것을 나타낸 도면.
도 54는 어느 범위의 데이터가 전송되었는지를 나타내는 서버 응답을 나타낸 도면.
도 55는 클라이언트가 요청에서 대응하는 Get 라인을 전송하지 않았다는 Sent 라인을 전송하는 것을 나타낸 도면.
도 56은 음악가 데이터 객체가 릴리스의 집합체를 포함하고, 차례로 릴리스가 트랙의 집합체를 포함하는 것을 나타낸 도면.
도 57은 대안의 방법이 각각의 객체 집합체를 그 자신의 파일에 저장하는 것임을 나타낸 도면으로서, 우리의 "내 음악가" 예에서, 음악가의 목록이 파일(userartists.data)에 저장되지만 각각의 음악가에 대한 앨범의 목록은 파일에 저장되지 않으며, 앨범의 목록은 각각의 음악가에 대한 별도의 음악가 파일(예를 들어, artist.123.data)에 저장되고 각각의 앨범은 트랙을 포함하는 그 자신의 파일(release.4567.data)에 저장됨.
도 58은 데이터를 복제할 필요없이 객체 그룹이 어떻게 동일한 데이터 객체를 사용할 수 있는지를 나타낸 도면.
도 59는 음악가 이름은 물론 id도 '내 음악가' 데이터 파일에 저장할 수 있음을 나타낸 도면.
도 60은 클라이언트가 객체를 설정하고 모든 수정된 객체를 가져오는 것을 나타낸 도면.
도 61은 클라이언트가 객체를 요청하고 모든 수정된 객체를 가져오는 것을 나타낸 도면.
도 62는 클라이언트가 오프라인 모드에서 수정된 객체를 전송하는 것을 나타낸 도면.
도 63은 객체 변경 로그를 나타낸 도면.
도 64는 고객 객체를 나타낸 도면.
도 65는 고객 객체 변경 로그를 나타낸 도면.
도 66은 ChangeLogRecord 객체를 나타낸 도면.
도 67은 object_change_log 테이블을 나타낸 도면.
도 68은 customer_object_change_log 테이블을 나타낸 도면.
도 69는 Logger가 각각의 클라이언트 로그에 대한 LogRecord를 포함하는 것 을 나타낸 도면.
도 70은 customer_logger 테이블을 나타낸 도면.
도 71은 DRM 개요를 나타낸 도면.
도 72는 서비스 등록 요청 파라미터를 나타낸 도면.
도 73은 MNO 추가 메타데이터를 나타낸 도면.
도 74는 서비스 등록 응답 파라미터를 나타낸 도면.
도 75는 MusicStation RI 등록 요청 파라미터를 나타낸 도면.
도 76은 RI 등록 응답 파라미터를 나타낸 도면.
도 77은 MusicStation RO 가져오기 요청 파라미터를 나타낸 도면.
도 78은 MusicStation RO 가져오기 응답 파라미터를 나타낸 도면.
도 79는 컨텐츠 가져오기 요청 파라미터를 나타낸 도면.
도 80 내지 도 164는 MusicStation 구현예의 스크린샷을 나타낸 도면.
도 165는 시스템 개요를 나타낸 도면.
아키텍처
1.1. 멀티쓰레딩
플레이어의 주된 측면은 다중 쓰레드를 동시에 수행한다는 것이다. 3개의 주요 쓰레드가 있다.
Figure 112008084031862-PCT00051
사용자 인터페이스(UI) 쓰레드
Figure 112008084031862-PCT00052
애니메이션 쓰레드
Figure 112008084031862-PCT00053
스케쥴러 쓰레드
또한 스케쥴러 쓰레드가 접속에 의해 차단되지 않도록 이것으로부터 판독을 하는 동안 실제로 데이터를 다운로드하고 이를 버퍼에 로드하는 HTTP 접속 쓰레드가 있다.
통상적으로, UI 쓰레드는 사용자가 새 화면으로 이동한 것에 즉각 응답하여 그 화면을 디스플레이하고, 로컬 파일 시스템으로부터 또는 HTTP 접속을 통해 원격적으로, 배후에서 데이터를 로드하도록 작업을 스케쥴링한다.
로드 작업이 작업 큐에 추가된다. 이 큐는 작업 우선순위, 작업 유형 및 스케쥴링된 실행 시간에 따라 정렬된다. 대부분의 작업이 즉각 실행되도록 스케쥴링되어 있으며, 이 경우 실행 시간은 작업이 큐에 추가된 시간으로 설정되어 있다. 어떤 작업은 작은 지연을 갖도록 스케쥴링되어 있으며, 예를 들어, 트랙을 재생하는 일은 재생목록 상의 트랙들을 신속하게 건너뛸 수 있게 하기 위해 1초의 지연을 갖도록 스케쥴링되어 있다.
새 작업이 작업 큐에 추가될 때, 그의 우선순위를 (현재 실행 중인 작업이 하나인 경우) 이 현재 실행 중인 작업과 비교한다. 그의 우선순위가 현재의 작업보다 높은 경우, 현재의 작업을 취소시키려고 한다. 완료하는 데 과도한 시간을 요하는 작업만이 취소될 수 있다. 이것은 다른 더 높은 우선순위의 작업이 기다리는 동안 작업들이 실행 쓰레드를 독차지하는 것을 피하기 위함이다. 과도한 양의 시간은 몇초보다 더 길다. 취소된 작업은 그 다음에 재스케쥴링된다. 실행 시간은 작업이 최초로 큐에 추가된 시간으로 설정된다.
1.1.1. 스케쥴러
스케쥴러는 백그라운드 쓰레드(background thread)에서 쓰레드들이 즉각적인 또는 장래의 실행을 위해 작업들을 스케쥴링하는 도구이다. 작업들이 한꺼번에 실행하기 위해 또는 일정한 간격으로 반복적으로 실행하기 위해 스케쥴링될 수 있다.
스케쥴러 객체는 스케쥴러의 작업들 전부를 순차적으로 실행하는 데 사용되는 하나의 백그라운드 쓰레드를 갖는다. 스케쥴러 작업을 완료하는 데 과도한 시간이 걸리는 경우, 스케쥴러는 타이머의 작업 실행 쓰레드를 "독차지"한다. 이것은, 차례로, "정체"되어 있을지 모르는 후속 작업들의 실행을 지연시킨다. 실행하는 데 몇초보다 더 오래 걸릴 수 있는 작업은 interrupt()를 수행해야만 한다.
interrupt() 메서드는 더 높은 우선순위를 갖는 작업이 작업 큐에 추가될 때 호출되고 작업을 추가하는 쓰레드에 의해 현재 실행 중인 작업에 대해 호출된다. 스케쥴러 쓰레드에 의해 호출되는 run() 메서드는 가급적 빨리 InterruptedException를 던져야만 한다. 스케쥴러는 이 예외를 잡은 다음에 인터럽트된 작업을 그의 우선순위 및 그가 최초로 큐에 추가된 시간에 기초하여 실행하기 위해 재스케쥴링한다. 이어서, 새로 추가된 작업이 선택되어 실행된다.
이 클래스는 쓰레드-안전(thread-safe)이며, 다중 쓰레드가 외부 동기화를 필요로 하지 않고 하나의 스케쥴러 객체를 공유할 수 있다. 스케쥴러 클래스를 나타낸 도 1 및 클라이언트가 작업을 스케쥴링하는 것을 나타낸 도 2를 참조하기 바란다.
1.1.1.1. TaskQueue
이 클래스는 스케쥴러의 작업 큐, 즉 priority(우선순위), taskType(작업 유형) 및 executionTime(실행 시간)에 기초하여 정렬된 작업들의 우선순위 큐를 나타낸다.
작업 우선순위는 CLDC 쓰레드 우선순위에 기초한다. 그 자체로서, 3가지 우선순위가 정의되어 있다.
Figure 112008084031862-PCT00054
MAX_PRIORITY는 작업이 가질 수 있는 최대 우선순위이다.
Figure 112008084031862-PCT00055
NORM__PRIORITY는 작업에 할당되는 기본 우선순위이다.
Figure 112008084031862-PCT00056
MIN_PRIORITY는 작업이 가질 수 있는 최소 우선순위이다.
동일한 우선순위를 갖는 작업들은 taskType(작업 유형)에 의해 추가로 한정(refine)된다. 예를 들어, 이것은 이미지 이전에 화면에 대한 데이터를 스케쥴링할 수 있게 해준다. 이것은 서로 다른 우선순위를 사용하여 달성될 수 있지만, 유형을 변경하지 않고 작업의 우선순위를 낮추고자(예를 들어, 사용자가 다른 화면으로 이동하고자) 할 수 있다. priority(우선순위)와 taskType(작업 유형)의 개념을 분리함으로써, 설계가 더 유연성이 있고 이해하기 더 쉽다. 먼저, 중요도에 따라 정렬된 3가지 유형은 다음과 같다.
Figure 112008084031862-PCT00057
DATA는 객체 데이터 파일을 요청하는 작업에 대해 사용된다.
Figure 112008084031862-PCT00058
AUDIO는 오디오 파일을 요청하는 작업에 대해 사용된다.
Figure 112008084031862-PCT00059
IMAGE는 이미지 파일을 요청하는 작업에 대해 사용된다.
실행 시간은 동일한 priority(우선순위) 및 taskType(작업 유형)을 갖는 작업들이 큐에 추가된 순서로 실행되도록 보장해준다. UI 쓰레드가 작업을 큐에 추가하는 것을 나타낸 도 3을 참조하기 바란다.
내부적으로, 큐는 이진 힙으로서 저장되며, 따라서 작업을 스케쥴링하는 비용은 log n(단, n은 동시에 스케쥴링된 작업들의 수임)이다. 많은 수(수천개)의 스케쥴링된 작업들이 어떤 문제도 야기해서는 안된다. 항상 루트에 있는 그 다음의 스케쥴링된 작업을 검색하는 비용이 없다. 이진 힙의 일례를 나타낸 도 4를 참조하기 바란다.
우리는 항상 힙의 하단에 요소를 추가한 다음에 힙에서 그의 위치를 알아내기 위해 fixUp() 메서드를 호출한다. fixUp() 메서드는 추가된 요소를 그의 부모와 비교하고 이들이 정확한 순서로 있지 않은 경우 이들을 스와핑한다.
힙을 저장하는 데 어레이가 사용되며, 힙이 항상 완전(트리에 어떤 갭(gap)도 없음)이기 때문에, 깔끔하게 저장될 수 있다. 포인터를 위한 공간이 필요없으며, 그 대신에 각각의 인덱스 i에 대해, 요소 a[i]는 2개의 자식 a[2i+l] 및 a[2i+2]의 부모이다. 어레이에 저장된 이진 힙을 나타낸 도 5를 참조하기 바란다.
1.1.1.2. 작업
작업은 한번 또는 반복 실행을 위해 스케쥴링될 수 있다. 작업은 3가지 상태 중 하나일 수 있다.
Figure 112008084031862-PCT00060
SCHEDULED: 이 작업은 실행을 위해 스케쥴링되어 있다. 작업이 비반복적 작업인 경우, 이 작업은 아직 실행되지 않았다.
Figure 112008084031862-PCT00061
EXECUTED: 이 비반복적 작업은 이미 실행되었으며(또는 현재 실행 중이며) 취소되지 않았다.
Figure 112008084031862-PCT00062
CANELLED: 이 작업은 (Task.cancel을 호출하여) 취소되었다. 작업에 대한 상태도를 나타낸 도 6을 참조하기 바란다.
MusicStation 클라이언트는 로컬 파일 시스템으로부터 또는 HTTP 접속을 통해 원격적으로 모든 파일 접속을 스케쥴링하기 위해 하나의 스케쥴러를 사용한다. 이 스케쥴러는 하나의 쓰레드를 사용하며, 따라서 모든 파일 접속이 직렬로 처리된다. 작업은 실행 상태에 있을 때 열린 접속(open connection)만을 가져야 한다. 단지 하나의 작업만이 실행 상태에 있을 때, 단지 하나의 접속만이 열려 있음을 보증할 수 있다. 또한, interrupt() 메서드를 지원하는 작업은 이 작업이 기입을 하고 있었던 파일에 관한 상태 정보를 저장하지 않고도 재개할 수 있어야만 한다. 이것이 중요한 이유는 이 작업이 인터럽트된 후에 다른 작업이 파일을 수정했을 수 있기 때문이다.
1.1.2. 사용 사례들
1.1.2.1. 사용자가 재생 목록을 엶
사용자가 애플리케이션을 열고 즉각 재생 목록 메뉴를 연다. 재생 목록 메뉴는 2개의 필터 "내 개인 재생 목록(My Private Playlists)" 및 "내 공개 재생 목록(My Public Playlists)"을 사용하여 필터링된 "내 재생 목록(My Playlists)" PlaylistSet을 디스플레이한다.
화면이 디스플레이될 때, "내 재생 목록"을 로드하기 위해 LoadTask가 TaskQueue에 추가된다. LoadTask.taskType은 DATA이고, LoadTaskpriority는 MAX_PRIORITY이다.
LoadTask가 TaskQueue에 추가될 때, 큐에서 기다리고 있는 스케쥴러 쓰레드는 통지를 받는다. 스케쥴러 쓰레드는 큐로부터 작업을 가져오고 Taskrun() 메서드를 호출함으로써 이를 실행한다. 이 작업은 "내 재생 목록" 객체 데이터 파일이 파일 시스템에 존재하는지를 알아보기 위해 검사를 한다. 이 경우에, 존재하지 않는 경우, HttpConnection이 열리고 그 파일이 스트림을 통해 판독된다. 이 파일은 판독되어 버퍼(65k)에 들어가고 버퍼가 채워질 때마다, 그 파일은 메모리 카드에 기입되고 데이터 객체의 일부 또는 전부를 채우는 데 사용된다(버퍼보다 큰 데이터 파일이 거의 없다는 것에 유의).
PlaylistSet 데이터 객체가 재생 목록으로 채워질 때, 이들 재생 목록은 이미지 참조를 포함한다. 각각의 이미지 참조가 판독될 때, ImageLoadTask가 생성되어 TaskQueue에 추가된다. ImageLoadTasktaskType은 IMAGE이고 ImageLoadTask.priority는 MAX_PRIORITY이다.
"내 재생 목록"이 다 로딩되었으면, 스케쥴러는 큐로부터 첫번째 ImageLoadTask를 가져온다. 이 이미지가 로컬 파일 시스템에 존재하지 않기 때문에, 이 이미지는 HTTP를 통해 로드된다. 이것은 모든 이미지가 로드될 때까지 계속된다.
1.1.2.2. 사용자가 재생 목록을 열고 즉각 새 재생 목록을 선택함
사용자는 애플리케이션을 열고 이어서 재생 목록 메뉴를 연다. "내 재생 목록"이 로드되기 전에, 사용자는 "새 재생 목록 가져오기"를 선택한다.
상기와 같이, 사용자가 재생 목록을 열 때 "내 재생 목록"을 로드하기 위해 LoadTask가 즉각 TaskQueue에 추가된다. LoadTasktaskType은 DATA이고, LoadTaskpriority는 MAX_PRIORITY이다.
LoadTask가 끝나기 전에, 사용자는 "새 재생 목록 가져오기"를 선택한다. 이것은 우리가 화면을 변경하고 있기 때문에 모든 MAX_PRIORITY 작업을 NORM_PRIORITY로 다운그레이드하기 위해 즉각 TaskQueue.changePriority()를 호출한다. 마지막 화면의 계류 중인 작업은 새 화면의 작업보다 낮은 우선순위를 가져야만 한다.
"새 재생 목록"을 로드하기 위해 LoadTask가 이어서 TaskQueue에 추가된다. LoadTasktaskType는 DATA이고, LoadTaskpriority는 MAX_PRIORITY이다. 새 작업을 추가하는 것은 "새 재생 목록" LoadTask에 대해 interrupt()가 호출되게 한다. 데이터 객체가 통상적으로 작기(4k 미만) 때문에, 인터럽트가 무시된다. 그렇지만, "내 재생 목록" LoadTask의 우선순위가 NORM_PRIORITY으로 떨어졌기 때문에, 그가 생성하는 ImageLoadTask도 NORM_PRIORITY로 생성된다. "내 재생 목록" LoadTask가 로딩을 마치면, 스케쥴러는 큐로부터 "새 재생 목록" LoadTask를 가져와서 이를 실행한다. "새 재생 목록"이 로드되면, "내 재생 목록" 화면에 대한 이미지가 백그 라운드에 로드된다.
1.1.2.3. 사용자가 재생 목록을 시작함
사용자는 "내 재생 목록"으로부터 하나의 재생 목록을 선택하고 재생 옵션을 선택한다.
재생 목록에 있는 트랙들 전부가 재생 큐에 추가된다. 첫번째 트랙을 위해 StartTask가 TaskQueue에 추가된다. StartTasktaskType는 AUDIO이고, StartTask.priority는 MAX_PRIORITY이다. 이어서, 각각의 트랙을 위해 FetchTask를 TaskQueue에 추가한다. FetchTasktaskType은 AUDIO이고, FetchTaskpriority는 MIN_PRIORITY이다. FetchTask가 첫번째 트랙을 비롯한 각각의 트랙을 위해 추가되는 것에 유의한다. 이러한 이유는 작업이 끝나기 전에 사용자가 다음(Next)을 선택함으로써 StartTask가 취소될 수 있기 때문이다. HttpConnection을 하기 전에, FetchTask는 먼저 파일이 존재하고 완전히 다운로드되었는지를 알아보는 검사를 한다.
StartTask이 끝났을 때(트랙이 재생되기 시작할 때), 두번째 트랙을 위해 PrefetchTask가 추가된다. PrefetchTasktaskType은 AUDIO이고, PrefetchTask.priority는 MAX_PRIORITY이다. 접속 속도에 따라, 두번째 트랙은 첫번째 트랙이 끝나기 전에 프리페치되어야만 한다. 이 경우, 첫번째 및 두번째 FetchTask가 폐기되고(파일이 이미 존재함), 세번째 트랙 FetchTask이 로드되기 시작한다.
1.1.2.4. 사용자가 재생 목록을 시작하고 받은 편지함을 엶
사용자가 "내 재생 목록"으로부터 하나의 재생 목록을 선택하고 재생 옵션을 선택한다. 첫번째 트랙을 다운로드하는 도중에, 사용자가 받은 편지함 탭을 연다.
상기한 바와 같이, 첫번째 트랙을 위해 StartTask이 추가되고 각각의 트랙을 위해 FetchTask가 추가된다. 사용자가 받은 편지함을 열 때, ""Inbox" StorySet를 위해 LoadTask가 생성된다. LoadTasktaskType은 DATA이고, LoadTaskpriority는 MAX_PRIORITY이다.
StartTask의 우선순위는 MAX_PRORITY에서 NORM_PRIORITY로 변경되고, "받은 편지함" LoadTask가 TaskQueue에 추가된다. StartTask에 대해 interrupt() 메서드가 호출되어, 그 다음에 read()가 복귀할 때(65k 버퍼가 채워질 때) StartTaskrun() 메서드가 InterruptedException를 던지게 한다. 스케쥴러는 InterruptedException를 잡고, StartTask는 "받은 편지함" LoadTask 이후에 실행되도록 재스케쥴링된다.
"받은 편지함" LoadTask가 실행되어 각각의 스토리에 대한 ImageLoadTask를 생성한다. 이들은 MAX_PRIORITY로 생성되고 그 모두는 StartTask가 재개되기 전에 실행된다. 이미지가 로드되면, 먼저 파일이 존재하는지 및 이미 얼마나 판독되었는지를 검사함으로써 StartTask가 재개된다. 이 작업은 이어서 나머지 오디오 파일을 요청하게 된다. 이 파일이 다운로드되면, 그 트랙이 재생되고, 새로운 트랙을 위해 PrefetchTask가 추가된다.
1.1.3. 백그라운드 다운로드
1.1.4. 동적 재생 목록 관리
1.2. 지능적 메모리 관리
MusicStation은 각각의 핸드셋 및/또는 메모리 카드 상의 이용가능한 메모리를 지능적으로 관리한다.
Figure 112008084031862-PCT00063
객체를 다운로드하기 전에, MusicStation은 객체에 대해 이용가능한 충분한 메모리가 있는지를 확인한다.
Figure 112008084031862-PCT00064
충분한 공간이 없는 경우, MusicStation은 객체를 삭제하기 전에 일련의 검사를 수행한다.
Figure 112008084031862-PCT00065
MusicStation은 마지막 수정된 날짜가 가장 오래된 객체를 삭제하여, 삭제된 객체가 그다지 사용되지 않거나 전혀 사용되지 않는 파일이도록 한다.
1.2.1. 다운로드가능한 객체
MusicStation에서는 3가지 유형의 다운로드가능한 객체가 있다. 이들 객체로는 다음과 같은 것들이 있다.
Figure 112008084031862-PCT00066
데이터 - 뉴스 기사 내의 메뉴 항목, 차트, 뉴스 기사 내의 텍스트와 같이 업데이트될 필요가 있는 임의의 데이터
Figure 112008084031862-PCT00067
이미지 - MusicStation에서의 임의의 이미지. 이들 이미지로는 음악가 및 앨범 프로파일에 관한 이미지 및 뉴스 기사와 연관된 이미지가 있다.
Figure 112008084031862-PCT00068
Figure 112008084031862-PCT00069
오디오 - 오디오 파일
캐쉬
옵션 메뉴에서 최대 메모리 카드 사용 옵션을 사용하여, 사용자는 MusicStation이 저장을 위해 사용하게 될 메모리 카드의 최대 퍼센트를 정의할 수 있다. 이 설정은 MusicStation에 대한 할당된 메모리를 결정한다. 할당된 메모리는 이어서 각각의 유형의 데이터 객체에 대한 캐쉬로 나누어진다. 다운로드가능한 객체들 각각에 대해 캐쉬가 존재한다. 각각의 캐쉬는 상한 및 하한을 갖는다.
Figure 112008084031862-PCT00070
상한은 캐쉬가 이용할 수 있는 최대 메모리량이다. 상한은 사용자가 할당된 메모리를 초과하지 않도록 하기 위해 존재한다.
Figure 112008084031862-PCT00071
하한은 캐쉬가 이용할 수 있는 최소 메모리량이다. 하한은 서로 다른 데이터 객체들 간에 메모리가 균일하게 분배되도록 하기 위해 존재한다.
상한 및 하한은 할당된 메모리의 퍼센트로 정의된다. 각각의 유형의 데이터 객체에 대한 캐쉬 상한 및 하한은 도 7에 나타낸 바와 같이 정의된다.
1.2.2. 객체 다운로드하기
객체가 다운로드되기 전에, MusicStation은 파일을 다운로드하는 것에 의해 상한 및 하한이 위반되지 않도록 하기 위해 일련의 검사를 수행한다. MusicStation은 마지막 사용의 순서로 정렬되어 있는 각각의 유형의 객체의 목록을 유지한다. 가장 최근에 사용된 객체가 목록의 최상부에 있고 마지막 사용된 날짜가 가장 오래된 객체가 목록의 최하단에 있다. 객체의 다운로드가 그 객체의 캐쉬의 상한을 초과하는 경우, 이하의 프로세스가 행해진다.
Figure 112008084031862-PCT00072
DELETE_WITHOUT_CHECK - MusicStation은 "마지막 사용된" 날짜가 가장 오래된, 동일한 유형의 데이터 객체를 삭제한다.
객체를 다운로드할 가용 메모리가 없는 경우, 이하의 프로세스가 행해진다.
Figure 112008084031862-PCT00073
DELETE_WITH_CHECK -
DELETE_WITH_CHECK는 "마지막 사용된" 날짜가 가장 오래된, 동일한 유형의 데이터 객체를 찾아내고 이 객체를 삭제하려고 한다. 이 삭제는 이 삭제로 캐쉬가 하한 아래로 내려가지 않는 한 계속된다. 이 삭제로 캐쉬가 하한 아래로 내려가는 경우, DELETE_WITH_CHECK는 "마지막 사용된" 날짜가 가장 오래된 오디오 객체를 찾아내어 이 오디오 객체를 삭제한다.
DELETE_WITH_CHECK가 오디오 객체를 삭제할 수 없는 경우, 단계 1을 계속한다. "마지막 사용된" 날짜가 가장 오래된, 동일한 유형의 데이터 객체를 찾아내어 이 객체를 삭제한다.
1.3. 장치 관련 미디어 전달
각각의 컨텐츠는 컨테이너, 형식, 비트레이트, 및 샘플레이트(예를 들어, m4a, acc+, 48kbps, 44.IkHz)로 "태깅"된다. 컨텐츠의 재생은 컨테이너, 형식, 비트레이트, 샘플 레이트 및 MIME 타입의 모든 변형들에 인코딩된 베이스 컨텐츠(핑 크 노이즈)를 사용하여 장치 상에서 테스트된다. 이들 테스트의 결과는 테스트 클라이언트를 통해 다시 서버로 전송되어 저장된다. 각각의 컨텐츠, 형식, 비트레이트, 샘플 레이트 및 MIME 타입은 서버에 저장된 다른 것들과 비교하여 우선권을 갖는다. 클라이언트가 부가의 컨텐츠를 요청할 때, 서버는 재생된 컨테이너, 형식, 비트레이트, 샘플 레이트 및 MIME 타입의 변형들에 인코딩된 그 컨텐츠에의 링크들의 목록을 반환한다. 이것은 재생된 컨텐츠에 대한 "태그"를 부가의 컨텐츠에 대한 이용가능한 "태그"와 대응시키는 것으로 행해진다. 이 목록은 우선순위별로 정렬된다. 그 컨텐츠에의 링크는 최고 인코딩 우선순위로 인코딩된다. 오디오 재생 품질 테스트는 타당한 품질을 가지고 있는지를 확인하기 위해 이 자동 선택된 항목에 대해 수행된다. 타당한 품질을 가지고 있지 않은 경우, 두번째 우선순위가 검사되고, 이하 마찬가지로 하여 목록의 아래쪽으로 내려간다. 오디오 품질 테스트는 전화의 헤드폰 소켓의 출력을 분석하기 위해 오디오 소프트웨어를 사용한다.
2. 사용자 경험 기능
2.1. 클라이언트 예외 처리
MusicStation 클라이언트는 고객이 애플리케이션을 사용하고 있는 동안에 백그라운드에서 정기적으로 파일을 다운로드 및 업데이트한다. 에러가 발생하면, 우리는 수행되고 있는 작업 및 발생된 에러에 따라 재시도하거나, 사용자에게 통보하거나 아무 것도 하지 않고자 할 수 있다. 본 문서는 에러가 발생할 때 어떤 조치를 취해야 하는지를 결정하는 방법에 대해 기술하고 있다.
2.1.1. 예외 리스너(Exception Listener)
MusicStation 클라이언트를 제어하는 3개의 주요 쓰레드가 있다. UI 쓰레드는 모든 키 누름을 처리하고, Paint 쓰레드는 모든 화면 다시그리기(screen redraw)를 처리하며, Task 쓰레드는 데이터의 로딩을 처리한다. 이들 쓰레드에서 예외가 던져질 수 있지만 이들 예외는 항상 ExceptionListener exceptionThrown() 메서드로 전달된다.
ExceptionListener는 이어서 이하의 것들에 기초하여 예외를 어떻게 처리할지를 결정한다.
던져진 예외
예외를 야기한 이벤트
이벤트의 우선순위
예외의 상위 클래스
이들 파라미터는 이 예외에 대한 ExceptionConfig를 탐색하는 데 사용된다. ExceptionConfig는 예외를 어떻게 처리할지를 결정하는 데 필요한 모든 정보를 포함하고 있다.
2.1.2. 예외 구성(Exception Config)
ExceptionConfig는 예외를 야기한 이벤트를 자동적으로 재시도할지 또는 에러 메시지를 사용자에게 보여줄지를 결정하는 데 사용된다. 이하의 객체는 예외를 구성하는 데 사용된다.
ExceptionConfig: 이 예외에 대한 기본 거동을 포함함
ExceptionEvent: 특정의 이벤트 및 우선순위에 대한 기본 거동에 우선함
ExceptionLang: 장치에 의해 지원되는 각각의 언어로 된 에러 메시지를 포함함
예외를 구성하는 데 사용되는 데이터 객체를 나타낸 도 8을 참조할 것.
Task 쓰레드에서 발생하는 예외만이 재시도(retry)를 야기한다. Task를 재시도할지 여부 및 어떻게 재시도할지를 결정하는 데 이하의 속성들이 사용된다.
firstRetryInterval: 처음에 신속히 요청을 재시도하고자 하는 경우
firstRetryCount: 재시도 횟수 또는 재시도 하지 않는 경우 0
secondRetryInterval: 그 다음에 물러서서 재시도들 간에 더 긴 기간을 두고자 하는 경우
secondRetryCount: 재시도 횟수 또는 재시도하지 않는 경우 0
allowSessionRetry: 서버 에러가 있거나 파일이 발견되지 않은 경우, 이 세션 동안 서버에 동일한 요청을 허용하지 않고자 할 때
deleteLocalFile: 파일이 오염된 경우, 로컬 파일을 삭제하고 서버로부터의 파일의 로딩을 재시도하고자 할 때
예외는 에러 메시지를 사용자에게 디스플레이할 수 있다. 사용자에게 디스플레이할지 여부 및 무엇을 디스플레이할지를 결정하는 데 이하의 속성이 사용된다.
showAlert: true인 경우, 하나 이상의 옵션을 사용하여 사용자에게 에러 메시지를 디스플레이함
continueOption: 마지막 화면으로 되돌아감
retryOption: Task를 재시도함
upgradeOption: 새 버전의 애플리케이션을 설치함
closeOption: 애플리케이션을 닫음
openBrowserOption: 모바일의 WAP 브라우저에서 요청을 재시도함
exceptionLangs: 각각의 지원되는 언어로 된 에러 메시지
어떤 예외의 경우, 이들 값이 특정 이벤트에 대해 무시될 수 있거나, 예외의 상위 클래스에 대해 정의된 값으로 후퇴할 수 있다.
2.1.3. 장치 관련 예외
어떤 장치는 예상된 예외를 던지지 않는다. 예를 들어, Nokia N70는 서버가 응답하지 않을 때 보다 구체적인 ConnectionNotFoundException보다는 메시지 "-34"를 사용하여 IOException를 던진다. DeviceExceptionConfig 객체는 장치 관련 예외와 예상된 예외 간의 매핑을 정의할 수 있게 해준다.
이하의 필드는 장치 관련 예외를 예상된 예외에 매핑한다.
exceptionClassName: 장치에 의해 던져진 예외
exceptionString: Exception.toString() 메서드의 결과
exceptionId: 이것이 매핑되는 기지의 예외
장치 관련 예외를 나타낸 도 9를 참조할 것.
2.1.4. 데이터베이스 요건
Figure 112008084031862-PCT00074
빌드 시에 이벤트 및 예외 세트가 생성되고, 클라이언트와 서버 간에 전송된 이벤트 및 예외를 매핑하기 위해 런타임 시에 인덱스가 사용된다.
Figure 112008084031862-PCT00075
클라이언트에서 서버로 어느 이벤트가 먼저 전송되는지를 결정하기 위해 우선순위가 사용된다. 우선순위 및 심각성 레벨 둘다가 서버에 의해 클라이언트에서 업데이트될 수 있다.
Figure 112008084031862-PCT00076
클라이언트 빌드를 위해 생성된 이벤트들의 세트. 이 세트는 런타임 시에 클라이언트에 의해 전송되는 이벤트를 데이터베이스 내의 이벤트 유형에 매핑하는 데 사용된다.
Figure 112008084031862-PCT00077
인덱스는 클라이언트 이벤트와 서버 상의 이벤트 유형 간의 매핑이다. 인덱스는 EventType 데이터 객체에서 상수로 정의된다. 클라이언트 코드에서 이벤트에 대한 모든 참조는 이 상수를 사용한다.
Figure 112008084031862-PCT00078
Figure 112008084031862-PCT00079
클라이언트 빌드를 위해 생성된 예외들의 세트. 이 세트는 런타임 시에 클 라이언트에 의해 전송된 예외를 데이터베이스에서의 예외에 매핑하는 데 사용된다.
Figure 112008084031862-PCT00080
인덱스는 클라이언트 예외와 서버에서의 예외 간의 매핑이다. 인덱스는 ExceptionConfig 데이터 객체에서 상수로 정의된다. 클라이언트 코드에서 이벤트에 대한 모든 참조는 이 상수를 사용한다.
Figure 112008084031862-PCT00081
Figure 112008084031862-PCT00082
클라이언트에서 던져지는 예외가 어떻게 처리되는지를 제어하는 필드들을 포함한다. 예외 구성은 빌드 시에 JAR에 포함되고 서버에 의해 클라이언트에서 런타임 시에 업데이트될 수 있다.
Figure 112008084031862-PCT00083
Figure 112008084031862-PCT00084
예외 처리는 특정의 이벤트 및 특정의 이벤트 우선순위에 대해 무시될 수 있다.
Figure 112008084031862-PCT00085
장치 관련 예외를 기지의 예외로 매핑한다. 이 테이블은 장치 시운전 동안에 탐지자에 의해 채워진다.
2.2. 추천
본 문서는 MusicStation 애플리케이션 내로부터 고객에 추천을 하는 방법을 기술하고 있다. Omnifone은 MusicStation 애플리케이션에 대한 충성도를 불러 일으키는 전략의 열쇠로서 계속 변하는 관련있는 최신의 추천을 하는 기능을 고려하고 있다. 추천은, 적절히 구현되면, 새 음악의 더 많은 구매를 가져오는 조사 및 발견을 촉진시킨다. 그에 부가하여, 추천은 제한된 모바일 환경에서 MusicStation 경험을 최적화시킬 수 있게 해준다.
2.2.1. MusicStation 내에서의 추천
MusicStation은 고객에 대한 개인화된 추천을 조장하도록 설계된 몇가지 특 징들을 포함하고 있다. 이들 특징은 , 받은 편지함버즈 탭에 걸쳐 분산되어 있으며, 이하의 섹션들에서 상세히 설명된다.
2.2.1.1. 홈 탭에서의 추천
새 ... 가져오기 옵션의 화면 캡처를 나타낸 도 10을 참조할 것.
고객이 탭으로부터 새 재생 목록 가져오기, 새 음악가 가져오기, 새 앨범 가져오기 또는 새 트랙 가져오기 옵션을 선택할 때마다, 고객들은 메뉴 옵션의 목록을 제공받으며, 이들 중 일부는 개인화되어 고객의 최근의 듣기 습관에 기초하여 고객에 추천을 제안한다.
개인화된 추천을 포함하는 메뉴 항목이 도 11에 도시되어 있다.
2.2.1.2. 음악 추천에 영향을 주는 정보
탭에 대한 음악 추천은 고객에 고유한 2가지 요인의 상호작용에 기초하여 행해진다.
암시적 요인: 이것은 고객의 듣기 습관(즉, 고객이 듣는 음악의 유형 및 고객이 음악을 듣는 빈도수)에 기초한다.
명시적 요인: 고객이 듣고 있는 음악을 실제로 어떻게 평가하는지. 또한, 고객이 한 받은 편지함(Inbox) 컨텐츠에 대한 클릭율도 암시적 요인에 중요하다(추가의 정보에 대해서는, 섹션 2.2.1.4 버즈 탭에서의 추천를 참조할 것).
항목 평가하기의 화면 캡처를 나타낸 도 12를 참조할 것. 명시적 요인과 관 련하여, 고객은 고객이 좋음(Love it)으로 평가한 다른 음악과 유사한 음악에 대한 추천을 받고 고객이 싫음(Hate it)으로 평가한 음악과 유사한 것으로 정의되는 컨텐츠를 추천받지 않는다.
2.2.1.3. 음악 추천하기
각 고객에 대한 이들 암시적명시적 요인들은 결합되고, 음악가와 다른 음악가, 트랙과 다른 트랙, 기타 등등 간의 알려진 관계와 혼합된다. 결과물은 고객에 대한 개인화된 추천의 목록이다.
시간이 지남에 따라, 어느 음악가, 앨범, 트랙 및 재생 목록이 인기가 있는지(또는 인기가 없는지)에 관한 정보를 수집함에 따라, 이들 추천은 고객이 적절하다고 생각할 가능성이 가장 많은 것에 훨씬 더 적합하게 될 것이다. 이 시스템은 자동적으로 고객이 듣는 또는 구매하는 최정상의 음악가/앨범 및 트랙과 직접적인 관계가 있는 가장 인기있는 음악가, 앨범 또는 트랙을 고객에게 내밀 것이다.
2.2.1.3.1. '최근성'의 중요성
고객의 지금까지의 듣기 습관 전체가 아니라 고객의 최근의 듣기 습관에 기초해서만 추천을 하는 것이 중요하다. 이것은 제안이 이 제안을 할 당시 고객에 가장 적절하고 또 말하자면 아주 변덕스럽고 다양한 취미를 가질 수 있는 고객에 의해 영향을 받는 애매한 아주 폭넓은 제안으로 이루어지지 않도록 해준다.
MusicStation에서, 최근성은 고객이 들었거나 구매했던 마지막 N개의 음악가 /앨범/트랙 또는 재생 목록에 의해 정의된다. N의 실제값은 관찰 내용에 기초하여 구성가능하며, 추천 프로세스의 시간에 따른 미세 조정을 가능하게 해준다.
2.2.1.4. 버즈 탭에서의 추천
2.2.1.4.1. 뉴스를 통한 추천
뉴스의 화면 캡처를 나타낸 도 13을 참조할 것. 모든 뉴스 컨텐츠(뉴스 기사, 행사 통지, 특정 음악가를 위한 홍보, 기타)가 홈 탭에 대해 기술된 동일한 암시적명시적 요인들에 기초하여 고객에 맞게 개인화된다. 그에 부가하여, 앞서 설명한 바와 같이, 사용자가 뉴스 컨텐츠(예를 들어, 음악가 홈페이지로의 홍보 링크)를 클릭하는 경우, 이 이벤트가 추적되고 이어서 전체적인 추천 프로세스에서 그 음악가에 대한 '찬성 투표(positive vote)'로서 사용된다.
2.2.1.4.2. 버즈 멤버를 통한 추천
버즈 멤버 추천의 화면 캡처를 나타낸 도 14를 참조할 것.
버즈(Buzz) 탭은 개개의 고객 각각에 대한 추천을 포함하는 2개의 주요 요소를 포함한다. 이들은 도 15의 테이블에 기술되어 있다.
멤버들(즉, MusicStation 고객들)에 대한 추천은 음악 듣기 및 평가 이력이 비슷한 고객들을 링크시키는 것으로 행해진다(내부적으로, 시스템은 고객들의 모든 다른 고객들에 대한 '친화성'을 측정하고, 만일의 경우에 대비하여 그 고객에 대해 가장 높은 친화성 레벨을 갖는 고객들을 선택한다).
고객이 추천된 멤버를 선택하는 경우, 고객은 공유 재생 목록을 듣고 평가할 수 있다.
2.2.2. 추천을 하기 위한 논리적 구조 지원하기
이러한 추천을 하는 것을 지원하기 위한 3가지 주요 구조가 있다.
Figure 112008084031862-PCT00086
관련 트랙 행렬
Figure 112008084031862-PCT00087
관련 음악가 행렬
Figure 112008084031862-PCT00088
관련 고객 행렬
시스템의 물리적 기반구조에 대해서는 이후의 섹션에서 설명할 것이다. 우선은, 이들 구조가 자주, 즉 24시간마다 리프레쉬되는 것으로 생각하는 것으로 충분하다.
2.2.2.1. 구조 1 - 관련 트랙 행렬 지원하기
관련 트랙 행렬은, 평가 및 고객 재생에 기초하여 시스템에서 트랙 쌍이 얼마나 강하게 연관되어 있는지를 나타내는 상관 행렬이다.
2.2.2.1.1. 스테이지 1 - 트랙 연관 관계의 수를 생성
트랙에 대해, 그 쌍에 있는 트랙을 완전히 재생하였거나 좋음(Love It!)으로 평가한 고객의 수를 나타내는 상기한 것과 같은 행렬을 작성한다.
중요한 유의점 및 규칙
도 16의 행렬은 단지 5개 트랙의 전체 집합을 고려하고 있다. 실감나도록 하기 위해 500,000개를 고려할 수 있다.
카운트로서 1)에 포함되기 위해서, 문제의 사용자는 적어도 2번 완전히(라이센스 계약에 의해 정의된 대로) 들어야만 한다. 이것의 이론적 근거는, 고객이 트랙을 2번 이상 듣는 경우, 그 고객이 아마도 그 트랙을 좋아할 거라는 데 있다. 고객이 트랙을 하나번만 듣는 경우, 고객은 새 음악을 탐색하고 있을 뿐이며 그 음악으로 다시 갈 정도로 감명받지 않을지도 모른다.
고객의 2개의 트랙 쌍을 높게 평가하고 둘다를 3번 이상 듣는 경우, 이것은 행렬에서 대응하는 절편에 2를 가산하는 효과를 갖는다. 이것은 한명의 사용자가 트랙 절편 쌍에 미칠 수 있는 최대 영향이다.
좋음으로 평가되었지만 재생되지 않은 트랙도 여전히 연관 관계에 중요하다.
이 행렬은 전세계 MusicStation 판매 상품 내에서 모든 서비스에 걸쳐 모든 트랙, 및 모든 평가 및 재생을 망라하고 있다. 앞으로 기술될 음악가 연관관계 행렬도 마찬가지이다.
대각선을 중심으로 한 행렬의 반쪽이 서로 동일하다는 것에 유의한다. 따라서, 이론적으로 행렬의 반쪽만 있으면 된다.
2.2.2.1.2. 스테이지 2 - 트랙 연관관계 가중하기
이제 스테이지 1로부터 행렬을 받아서 가중치를 적용하고 어떤 트랙들이 그저 모든 고객에 인기있을지도 모른다(따라서 개개의 연관된 쌍에 대해 반드시 크게 상관되어 있을 필요는 없다)는 사실을 고려하는 상관을 생성할 필요가 있다.
이것을 하기 위해 적용하는 식을 TF
Figure 112008084031862-PCT00089
IDF 식이라고 한다.
웹 검색의 문서에 속하는 키워드와 관련하여 TF
Figure 112008084031862-PCT00090
IDF 식이 어떻게 동작하는지에 대한 설명이 이하에 요약되어 있다.
TF = Term Frequency(용어 빈도수)
문서의 집합체에서 용어가 얼마나 자주 발견되는지의 척도. TF는 어느 문서가 질의에 가장 적절한지를 결정하는 수단인 IDF(inverse document frequency, 문서 빈도수의 역)와 결합된다. TF는 때때로 특정의 문서에서 단어가 얼마나 자주 나오는지를 측정하는 데도 사용된다.
IDF = inverse document frequency(문서 빈도수의 역)
집합체에서 용어가 얼마나 드물게 있는지의 척도로서, 집합체의 총 크기를 용어를 포함하는 문서의 수로 나눔으로써 계산된다. 아주 흔한 용어("the", "and", 기타)는 아주 낮은 IDF를 가질 것이고 따라서 종종 검색 결과로부터 제외된다. 이들 IDF가 낮은 단어들은 통상 "중단어(stop word)"라고 한다.
Figure 112008084031862-PCT00091
이 식에서 유의할 점:
Figure 112008084031862-PCT00092
TF = frequency (즉 스테이지 1 행렬에서의 절편 값).
Figure 112008084031862-PCT00093
IDF는 식의 뒷부분(log)으로 표현되며 밑이 2인 로그이다.
Figure 112008084031862-PCT00094
P(T1)은 트랙 1이 행렬 내의 서로 다른 쌍에서 적어도 한번 나올 전체 확률(즉, 간단히 트랙 1이 쌍에서 적어도 한번 나오는 횟수를 트랙의 총수로 나눈 것임)을 나타낸다.
Figure 112008084031862-PCT00095
IDF이 3제곱된다. 이것은 일정한 상수가 아니라 추천을 더 한정(refine)하기 위해 실험될 수 있는 무언가이다. 공지의 온라인 음악-추천기는 이 상수로 3의 값을 사용하며, 따라서 그의 정보 및 권유를 따르는 것이 현명할 것이다.
이 식의 사용의 일례로서, 스테이지 1 행렬로부터 트랙 1 트랙 2에 대한 가중치를 계산하고자 하는 경우, 이하의 계산을 수행하게 된다.
Figure 112008084031862-PCT00096
이것은 트랙 1트랙 2에 대한 가중치로 34를 제공한다. 이제 도 17에 나타낸 새로운 가중치 행렬(각각의 행 및 열의 끝에 모든 가중치들의 합을 포함함)을 생성할 수 있다.
2.2.2.1.3. 스테이지 3 - 가중치 정규화하기
이제 가중치를 정규화해야만 한다. 본질적으로, 이것이 의미하는 바는 행렬 내의 모든 가중된 상관이 그 행 또는 열 내의 상관들의 총합으로 나누어진 새로운 행렬이 생성된다는 것이다.
다시 트랙 1트랙 2의 예를 사용하면, 단순히 34를 110.5로 나누어, 정규 화된 가중치 0.31을 제공한다.
이 결과, 도 18에 나타낸 것과 같은 0과 1 사이에 있는 일련의 정규화된 가중치를 얻게 된다.
얻어진 테이블에서, 값이 1에 가까울수록, 트랙들 간의 상관이 더 높다. 추천의 세계에서, 이 테이블 내의 값들은 이 값들이 규칙적으로 반복된다는 점에서(그렇지만, 일반적으로 수반되는 수치 처리의 양으로 인해 계속 업데이트되지는 않음) 상관이 있다는 사실로 인해 이제 PCA(Pre-Computed Association)라고 불리운다.
2.2.2.2. 구조 2 - 관련 음악가 행렬 지원하기
관련 음악가 행렬은, 예를 들어, 도 19에 나타낸 바와 같이, 평가 및 고객 재생에 기초하여 시스템에서 음악가의 쌍이 얼마나 강하게 연관되어 있는지를 나타내는 상관의 행렬이다.
PCA의 관련 음악가 행렬은 기본적으로 트랙에 대한 것과 정확히 동일한 방식으로 작성된다.
음악가 재생 행렬에 포함시키기 위한 기준은 고객이 최소한 2번 그 음악가의 적어도 하나의 트랙을 완전히 재생했어야만 한다는 것이다. 다시 말하면, 한명의 고객이 행렬에 미칠 수 있는 최대 영향은 (고객이 한 쌍의 음악가를 좋음으로 평가함과 동시에 양 음악가의 적어도 하나의 트랙을 최소한 2번 완전히 들은 경우에) 부가적인 값 2이다.
주의할 점: 이 음악가의 트랙 또는 앨범에 대한 평가는 관련 음악가 행렬에 영향을 주지 않는다.
2.2.2.3. 구조 3 - 관련 고객 행렬 지원하기
관련 고객 행렬은 평가 및 고객 재생에 기초하여 시스템에서 고객의 쌍이 얼마가 강하게 연관되어 있는지를 나타내는 상관의 행렬이다. 예를 들어, 도 20을 참조할 것.
PCA의 관련 고객 행렬은 관련 고객 행렬을 발생하는 동일 프로세스의 일부로서 작성될 수 있다. 관련 고객 행렬에 포함시키기 위한 기준은 고객이 동일 음악가*의 적어도 하나의 트랙을 최소한 2번 완전히 재생했어야만 한다는 것이다. 다시 말하면, 한명의 고객이 행렬에 미칠 수 있는 최대 영향은 (고객이 동일한 한 쌍의 음악가를 좋음으로 평가함과 동시에 양 음악가의 적어도 하나의 트랙을 최소한 2번 완전히 들은 경우에) 부가적인 값 2이다.
주의할 점: 여기서 공통의 음악가를 선택하는 것은 공통의 트랙을 선택하는 것보다 유익할 수 있는데, 그 이유는 계산 및 처리 능력에 대한 영향이 낮아질 것이기 때문이다.
2.2.3. 추천하기
이 섹션에서는 추천을 발생하기 위해 기술된 구조들이 어떻게 사용되는지에 대해 설명한다.
Figure 112008084031862-PCT00097
"More like this" Tracks, Albums 또는 Artists
Figure 112008084031862-PCT00098
Tracks "You might like"
Figure 112008084031862-PCT00099
Albums "You might like"
Figure 112008084031862-PCT00100
Artists "You might like"
Figure 112008084031862-PCT00101
Playlists "You might like"
Figure 112008084031862-PCT00102
Buzz Cool Members 화면 상에 열거되는 "Recommended Members"
Figure 112008084031862-PCT00103
Buzz Cool Playlists 화면 상에 열거되는 Recommended Playlists - 이것이 Playlists you might like와 동일한 목록인가?
Figure 112008084031862-PCT00104
"Find in Playlists?"
Figure 112008084031862-PCT00105
Inbox - 편집 및 홍보
설명된 모든 기능은 계산된 PCA에 기초하여 요청에 따라 런타임 시에 실행된다.
도 21, 도 22, 도 23, 도 24 및 도 25를 참조할 것.
2.2.4. 별표시 평가 발생하기
이 섹션에서는 Artists/Albums/Tracks/Playlists에 대한 5개-별표시 평가를 발생하는 방법에 대해 설명한다.
2.2.4.1. 평가 시스템에의 입력
별표시 평가 시스템에의 입력은 2가지 - 명시적 평가(explicit ratings)(즉, Love It!Hate it!) 및 암시적 평가(implicit ratings)(즉, Artists/Albums/Tracks의 듣기 횟수, 구체적으로는 고객이 그 Artist/Album/Track을 적어도 2번, 완전히 들은 횟수) - 가 있다.
가능한 경우, 이 평가는 명시적 척도와 암시적 척도가 50 대 50으로 되어 있는 것이 추천된다*.
* 이것은 또한 노래가 높은 또는 낮은 별표시 평가로 나타나도록 하기 위해 고객이 그 노래를 단순히 마구 평가하지 못하는 이점이 있다.
2.2.4.2. Artists/Albums/Tracks/Playlists에 대한 5개-별표시 평가 계산하기
2.2.4.2.1. 명시적 평가값 계산하기
Artist/Album/Track/Playlist에 대한 명시적 평가는 단순히 Artist/Album/Track을 Love It!으로 평가한 고객 대 Hate It!으로 평가한 고객의 비율에 기초한다. 이는 다음과 같이 계산된다.
1) Artist/Album/Track/Playlist를 Love It!으로 평가한 고객의 수를 구한다.
2) (1)에서의 값을 Artist/Album/Track/Playlist를 (즉, Love It!으로나 Hate It!으로) 평가한 전체 고객수로 나눈다.
3) 5개 중에서 하나의 평가값을 제공하기 위해 5를 곱한다.
예를 들어, Angels - Robbie Williams에 대해, 45개의 Love It! 평가와 18개 의 Hate It! 평가가 있는 것으로 생각해보자. 그러면, 평가값(rating value)은 다음과 같다.
Figure 112008084031862-PCT00106
2.2.4.2.2. 적은 수의 평가에 대처하기 위해 평가값 조정하기
역이용을 피하고 단지 몇명의 고객이 Artist/Album/Track/Playlist를 평가한 경우에 별이 0개 또는 5개인 평가가 많이 나타나는 것을 방지하기 위해, 이 계산에 2가지 가상 평가(phantom rating) Love It!Hate It!가 항상 포함되어야만 한다. 따라서, 최종적인 계산은 다음과 같이 된다.
Figure 112008084031862-PCT00107
2.2.4.2.3. 암시적 평가값 계산하기
암시적 평가값을 계산하기 위해, 비교를 위한 기준치(baseline)를 만들 필요가 있다.
가장 합리적인 기준치는 개개의 고객 각각에 의해 최소한 한번 완전히 재생된 모든 Artists/Albums/Tracks/Playists에 대한 고객별 평균 재생 횟수를 나타내는 것이다 (즉, 이 계산에 결코 들은 적인 없는 Artists/Albums/Tracks/Playlists를 포함시키는 것은 공평하지 않다). 그러면, 이 시스템 내에서 2.5 평가를 나타 내기 위해 이 기준치를 택할 수 있고 또 그 분포를 2.5 평가값을 중심으로 정규화함으로써 그에 따라 모든 다른 평가들을 위 또는 아래로 조정할 수 있다.
일례로서, Track: Angels - Robbie Williams에 대한 고객별 평균* 재생 횟수가 12.90이고, 모든 Tracks에 대한 고객별 (최소한 한번 완전히 재생한) 평균 재생 횟수가 4.66인 경우(표준 편차가 4.23임), 이하의 것을 하게 된다.
Angels - Robbie Williams에 대한 고객별 평균 재생 횟수 = 12.90
(평균 0을 중심으로 한) 정규화된 재생 횟수 = (평균 재생 횟수 - 전체 평균 재생 횟수) / (표준 편차)
따라서, (평균 0을 중심으로 한) 정규화된 재생 횟수 = (12.90 - 4.66) / 4.23 = 1.95
따라서, (평균 2.5개 별을 중심으로 한) 정규화된 재생 횟수 = 2.5 + 1.95 = 4.45
(주의할 점: 아주 극단적인 상황에서, 이 값은 < 0 또는 > 5 일 수 있다. 이 경우, 그에 따라 이 값의 한계를 0 또는 5로 한다.)
6개의 트랙으로 된 전체 집합에서 이것이 어떻게 동작하는지에 대한 전반적인 설명이 도 26에 나타내어져 있다.
* 유의할 점: 처음에 MEAN(평균) 평균값을 사용하지만, MEDIAN(메디안) 평균값으로도 실험을 해야만 하는데, 그 이유는 후자가 집요하게(!) 하나의 Artist/Album/Track/Playlist을 재생하기만 하는 개개의 고객의 영향을 제거하는 효과를 가지고 있기 때문이다.
2.2.4.2.4. 전체 평가값 계산하기
단순히 암시적 및 명시적 평가의 평균을 구하고 가장 가까운 1/2 별표시로 반올림함으로써 종합적인 5개-별표시 평가가 계산된다(반올림하는 이유는 우리가 제시하는 것에 확신을 갖고 싶기 때문이다).
따라서, Angels - Robbie Williams에 대한 종합적인 평가 = (3.53 + 4.45)7 2 = 3.99이다.
따라서, Angels - Robbie Williams별 4개의 평가를 받게 된다.
2.2.4.3. 고객에 대한 평가 계산하기
고객에 대한 평가는 이하의 것들의 50 대 50 평균에 기초하게 된다.
1) 고객의 공유 재생 목록에 대해 고객이 한 평가 및 들은 횟수
2) 멤버가 가지고 있는 친구의 수
전자의 것은 섹션 2.2.4.2에서 설명한 것과 유사한 방식으로 계산되고, 마찬가지로, 암시적인 부분에 대해서는, 다른 고객들이 최소한 2번 들었던 재생 목록만을 고려하고 있다. 모든 고객의 재생 목록에 대한 평가들 모두를 가지고 있는 경우, 최종적인 평가(5개 별표시 또는 다른 보다 바람직한 표현)를 생성하기 위해 단순히 이들 모두의 평균을 구하면 된다.
두번째 부분은 서비스 데이터 세트 전부에 대한 평균(average) 친구 수에 대한 평균(mean) 친구 수로서 계산된다. 즉,
(평균 2.5를 중심으로 한) 정규화된 친구 수 = 2.5 + (평균 재생 횟수 - 전체 평균 재생 횟수) / (표준 편차)
2.3. 검색 기능
이 백서는 MusicStation 음악 검색을 구성하고 있는 검색 인터페이스, 프로세스 및 결과 집합에 대해 기술하고 있다. 음악 작업 환경의 성질로 인해, MusicStation 내에서의 검색 메카니즘은 사용하기 간단하고 직관적인 반면 동시에 아주 강력한 기능이도록 설계되어 있다. 적절하고 정확한 결과를 신속하게 MusicStation 고객 베이스(customer base)에 제공하는 것에 중점을 두고 있다.
이와 동시에, You might like, Recently Added, 및 Featured Artists / Albums / Tracks / Playlists 메뉴 옵션에서 적절한 음악가, 앨범, 트랙 및 재생 목록을 고객에 제공하기 위해 백그라운드에서 많은 계속적인 자동화된 작업이 행해지고 있다는 것을 기억해야만 한다. 이들 메뉴 옵션의 내용은 항상 업데이트되고 고객의 독특한 취향과 구매 및 듣기 습관에 기초하고 있다.
2.3.1. 검색 인터페이스
2.3.1.1. 기본적인 검색
이 기본적인 검색은 MusicStation 음악 데이터베이스에의 신속하면서 강력한 액세스를 제공한다. 이 검색은 고객이 키워드(또는 일련의 키워드)를 입력한 다음에 검색을 이하의 것들 중 하나로 더욱 한정(refine)하는 것에 의해 수행된다.
Figure 112008084031862-PCT00108
음악가
Figure 112008084031862-PCT00109
앨범
Figure 112008084031862-PCT00110
트랙
그에 부가하여, 검색을 비클래식(non-classical) 음악 전용 또는 클래식(classical) 음악 전용으로 추가적으로 제한하는 것이 가능하며, 기본값은 이전에 사용된 선택이다. 그렇지 않은 경우, 시스템은 둘다를 검색하게 된다.
2.3.1.2. 고급 검색
고급 검색 화면은 전반적이고 세밀한 검색이 검색 프로세스에 걸쳐 이용될 수 있게 해준다. Advanced Search(고급 검색) 화면을 사용하면, 이하의 것들에 의해 결과 집합을 필터링하는 것이 가능하다.
Figure 112008084031862-PCT00111
음악가, 앨범 또는 트랙
Figure 112008084031862-PCT00112
장르
Figure 112008084031862-PCT00113
차트 위치(가장 높음)
Figure 112008084031862-PCT00114
최소 고객 평가
Figure 112008084031862-PCT00115
언어
Figure 112008084031862-PCT00116
국가
그에 부가하여, 클래식 음악을 찾기 위해 이하의 필드를 검색하는 것이 가능하다.
Figure 112008084031862-PCT00117
작품 타이틀
Figure 112008084031862-PCT00118
앨범 타이틀
Figure 112008084031862-PCT00119
작곡가
Figure 112008084031862-PCT00120
솔로/연주자
Figure 112008084031862-PCT00121
지휘자
Figure 112008084031862-PCT00122
오케스트라/앙상블
Figure 112008084031862-PCT00123
레코드 라벨
2.3.2. MusicStation에서 검색을 지원하기 위한 일반 원칙
MusicStation 검색을 생성하는 데 준수되는 10가지 기본 원칙이 있다. 이들 원칙은 본 명세서에서 적절한 경우 예로서 제공된다.
2.3.2.1. 비영숫자 문자에 의존하지 않음
서로 다른 고객들은 서로 다른 방식으로 비영숫자 문자를 사용하게 된다. 예를 들어, 어떤 고객들은 음악가 타이틀에서 분리자로서 하이픈을 사용할지도 모른다. 다른 고객들은 단순히 공백을 사용할지도 모른다. 모바일 환경에서, 비영숫자 문자를 입력하는 것은 때때로 까다로우며 에러가 발생하기 쉽다. 따라서, 검색의 목적상, 비영숫자 문자에 의존하지 않으며, 예로서, 이하의 것들은 모두 동등한 것으로 간주된다.
Figure 112008084031862-PCT00124
s club 7
Figure 112008084031862-PCT00125
s-club-7
Figure 112008084031862-PCT00126
sclub7
2.3.2.2. 대소문자에 의존하지 않음
이것은 단순히, 예를 들어, 이하의 것들이 동등하다는 것을 의미한다.
Figure 112008084031862-PCT00127
s club 7
Figure 112008084031862-PCT00128
S CLUB 7
Figure 112008084031862-PCT00129
S Club 7
2.3.2.3. 문자의 국가간 변형체가 동등한 것으로 취급됨
서로 다른 고객이 서로 다른 방식으로 비영어 문자를 사용하게 된다. 예를 들어, 영국 사람은 정말로 검색해야 하는 것이
Figure 112008084031862-PCT00130
일 때에
Figure 112008084031862-PCT00131
을 검색할지도 모른다.
MusicStation에서, 이러한 차이는 중요하지 않은데, 그 이유는 검색 시스템이 영어 글자의 국가간 변형체를 그의 영어 알파벳 등가물에 대응시켜주기 때문이다(그 역도 마찬가지임).
2.3.2.4. 숫자가 그의 필기 등가물과 동일하게 취급됨(그 역도 마찬가지임)
음악가 검색에서, 고객은, 예를 들어, "50 Cent" 또는 "Fifty Cent"를 입력할지도 모른다. 이들 경우 둘다가 시스템에 의해 처리된다.
2.3.2.5. 단축 및 다른 단어 쓰기 방식도 상관없음
내부 매핑 테이블이 흔히 사용되는 단축 및 등가 표현이 이해되도록 해준다. 따라서, 이하의 키워드 모두는 시스템에 의해 동등한 것으로 간주된다.
Figure 112008084031862-PCT00132
Boys to Men
Figure 112008084031862-PCT00133
Boys 2 Men
Figure 112008084031862-PCT00134
Boys II Men
같은 맥락에서,
"and"와 "&"는 동등한 것으로 간주된다.
2.3.2.6. "The"의 정확한 위치에 의존하지 않음
"The"가 어떻게 사용되는지에 관심이 없다. 예를 들어, 이하의 키워드 모두는 시스템에 의해 등등한 것으로 간주되며, 정확한 결과가 반환된다.
Figure 112008084031862-PCT00135
The Rolling Stones
Figure 112008084031862-PCT00136
Rolling Stones, The, 또는 단순히
Figure 112008084031862-PCT00137
Rolling Stones
2.3.2.7. 고객이 항상 키워드 세트 전부를 입력하는 것은 아님
"Rage Against the Machine"를 검색하는 누군가가 키워드로서 단순히 "Rage"만을 입력하고 MusicStation이 타당한 결과 집합(이로부터 선택을 함)을 반환할 것을 기대할지도 모른다.
2.3.2.8. 고객이 항상 단어의 철자를 정확히 쓰는 것은 아님
우리가 주로 정확하게 일치하는 것을 찾고는 있지만, 고객이 종종 단어의 철자를 틀리게 쓴다는 것을 알고 있다. 우리는 다른 모든 것들이 실패하는 경우 고객에게 검색 음악가, 앨범 또는 트랙을 제안하기 위해 퍼지 논리 및 발음 일치 기법을 사용한다.
2.3.2.9. 원하는 것을 아는 경우 그곳으로 데려감
고객이 "rage against the machine"를 검색하고 이 결과 하나의 결과가 반환되는 경우, 고객이 자동적으로 "Rage Against the Machine" 음악가 홈페이지로 보내진다. 우리는 고객이 그 다음에 클릭해야만 하는 단 하나의 음악가를 포함하는 결과 집합을 고객에 제공하지 않는다.
2.3.2.10. 시스템의 사용으로부터 배우고 그에 따라 시스템을 최적화함
데이터베이스에 있는 것과 아주 다른, 고객이 검색하는 음악가, 앨범 또는 트랙 이름의 변형들이 있을 수 있다. 검색 키워드에서 새로운 변형을 볼 때, 그 변형을 의도된 음악가, 앨범, 또는 트랙 이름에 대응시킬 수 있도록 함으로써 그 변형을 사용하는 모든 장래의 검색이 성공적이도록 해주는 구조가 존재한다.
이와 유사하게, 검색 결과를 정렬할 때, (고객에 의해 재생되는 것과 같은) 결과의 인기도에 관한 정보를 사용하여 가장 인기있는 것(따라서 의도된 검색에 대한 가장 적당한 결과)이 상단에 더 가깝도록 해준다. 이것이 때때로 정확하지 않을 때, 고객은 그 대신에 알파-정렬된 보기(alpha-sorted view)를 선택할 수도 있다.
2.3.3. 검색 프로세스
이하는 고객이 음악가 검색을 위해 검색 키워드(들)을 입력하는 경우의 검색 프로세스에 대한 설명이다.
유의할 점: 이하의 동일한 원칙이 앨범 또는 트랙 검색에도 적용가능하다.
1) 입력한 검색 키워드(들)에 대한 정확한 일치는 섹션 2.3.2 - MusicStation에서 검색을 지원하기 위한 일반 원칙에서 개략 설명된 기본적인 원칙에 기초하여 검색된다.
2) 그 다음에 음악가 이름 내에서 검색 키워드(들)의 사례들을 검색한다. 예를 들어, 검색 키워드 "BOB MARLEY"가 주어진 경우, 유효한 일치는 다음과 같은 것들이 있다.
a) "BOB MARLEY *"
b) "* BOB MARLEY *", 및
c) "* BOB MARLEY"
(여기서, *는 임의의 문자열을 나타내는 '와일드카드'임)
유형 (a)의 일치는 유형 (b) 및 (c)의 일치보다 반환된 결과 목록에서 상위 우선순위로서 보여진다.
(1) 및 (2)가 단지 하나의 일치를 반환하는 경우, 곧바로 음악가 홈페이지(앨범의 경우 앨범 홈페이지, 트랙의 경우 현재 재생중(Now Playing) 화면)로 간다.
그렇지 않은 경우, 1)로부터의 일치를 열거하고, 이어서 2)로부터의 일치가 인기도순에 이어 알파벳순으로 정렬되어 나타난다. 이상으로부터 일치하는 것을 발견한 경우, 검색 루틴을 빠져 나온다. 그렇지 않은 경우, 근사 매칭(approximate matching)으로 간다.
단계 1) 내지 단계 4)를 반복하지만, 이 때 발음 및 퍼지 논리 매칭을 사용함으로써 키워드와 유사하게 소리나거나 약간 다른 철자를 갖는 일치를 찾아낸다. 이 프로세스로부터 반환되는 모든 일치는 검색 결과가 정확한 일치가 아니라는 것이 고객에게 명확하도록 "No exact matches found. Did you mean:"라는 헤더가 그 앞에 온다. 이 결과 집합은 또다시 인기도순으로 이어서 알파벳순으로 정렬된다.
2.3.4. 결과내 검색
결과 목록이 큰 경우에, 고객은 그 목록을 순회하여 특정의 문자열을 찾기 위해 'More popup' 메뉴 상의 'Find' 옵션을 사용하여 더 구체적인 항목들을 검색 할 수 있다. 고객이 전송을 하면, 그의 첫번째 해당되는 것이 발견된다. 좌측 소프트키 상의 'Next' 옵션을 사용하여 그 다음 결과로 신속하게 이동될 수 있다.
2.3.5. 검색 한정하기
'More popup' 메뉴 상의 옵션을 사용하여 결과 집합 페이지로부터 검색을 세분하는 것이 가능하다. 이것이 의미하는 바는 사용자가 (기본 검색 또는 고급 검색에서) 검색 키워드 박스 및 보유한 모든 사전 선택된 필터(이들은 검색이 신속하게 한정될 수 있게 해줌)를 사용하여 다시 검색을 할 수 있다는 것이다.
2.3.6. 검색 결과 집합의 형식
검색 결과 집합 내의 검색 결과가 반환될 때, 그 집합 내의 요소들의 수가 페이지의 상단 우측에 제공된다.
실제 결과의 형식 자체는 검색이 음악가, 앨범 또는 트랙에 대한 것이었는지에 따라 다르다. 이들 형식은 이 섹션에서 더 상세히 기술한다.
2.3.6.1. 음악가 검색
상위의 Artist Name 일치들이 반환되고, 시스템에 의해 측정되는 음악가의 인기도에 따라 정렬된다. 이들 다음에 알파벳순으로 정렬된 유사한 (낮은) 인기도의 추가적인 일치들이 온다.
2.3.6.2. 앨범 검색
앨범 검색은 이하의 형식으로 결과를 반환한다.
앨범 이름 - 음악가 이름(발매 년도)
'발매 년도'가 있음으로써, 예를 들어, 재발매판(보너스 또는 업데이트된 트랙을 포함할 수 있음)과 초판이 용이하게 구별될 수 있게 된다.
상위의 일치들이 시스템에 의해 측정되는 앨범의 인기도에 따라 정렬되어 반환된다. 이들 다음에 알파벳순으로 정렬된 유사한 (낮은) 인기도의 추가적인 일치들이 온다.
2.3.6.3. 트랙 검색
트랙 검색은 이하의 형식으로 결과를 반환한다.
트랙 이름 - 음악가 이름 (트랙 길이)
'트랙 길이'(mm:ss로 표시됨)가 있음으로써, 동일한 이름을 갖는 (다른 길이의) 트랙이 구별될 수 있게 된다. 이것은 종종 서로 다른 앨범들의 리믹스에서 일어날 수 있다.
유의할 점: 여기에 앨범 이름이 있는 것은 엄격히 제한된 환경에 따른 문자열의 전체 길이로 인해 불필요하고 바람직하지 않은 것으로 생각된다. 또한, 동일한 트랙이 서로 다른 앨범에 있는 경우, 그 트랙은 한번만 반환된다.
상위의 일치들은 시스템에 의해 측정되는 트랙의 인기도에 따라 정렬되어 반환된다. 이들 다음에 알파벳순으로 정렬된 유사한 (낮은) 인기도의 추가적인 일치 들이 온다.
2.3.7. 재생 목록에서 찾기
시스템에서의 적당한 지점에서, 트랙이 참조될 때, 고객은 'More popup' 옵션 'Find in playlists'를 사용하여 재생 목록 내에서 그 트랙을 찾을 수 있다. 다른 MusicStation 고객들과 공유하는(또는 다른 시스템-게시 재생 목록 내에 포함되어 있는) 재생 목록의 목록이 인기도별로 정렬되어 반환된다.
2.4. 다중 언어 지원
본 문서는 특정의 장치, 서비스 및 클라이언트 버전에 대한 클라이언트 빌드(client build)를 작성하기 위해 메시지를 어떻게 관리하고 사용하는지에 대해 설명한다.
2.4.1. 개발
개발에 의해 릴리스된 각각의 클라이언트 버전은 클라이언트에 의해 사용되는 기본 메시지 세트를 갖는다. 이 메시지 세트는 개발자에 의한 릴리스의 개발 동안에 유지된다. 메시지 세트 내의 각각의 메시지는 클라이언트의 어딘가에서 나오는 텍스트 또는 라벨이다. 메시지의 속성을 나타낸 도 27을 참조할 것.
그 다음으로 이용가능한 message_index를 사용하여 message_set_item에 레코드를 추가함으로써 기본 메시지 세트에 메시지가 추가된다. 메시지 인덱스는 소스 코드에서 메시지 세트 내의 메시지에 액세스하기 위해 사용된다. 이 인덱스는 다음과 같이 Message 객체에서 상수로 정의되어 있다.
public static int OPEN_LABEL_INDEX = 104;
이 상수는 이어서 다음과 같이 현재 선택된 언어로 메시지를 가져오는 데 사용될 수 있다.
openCommand.setLabel(messageSet.getMessage(OPEN_LABEL_INDEX));
이 메시지 세트가 클라이언트 버전에 대한 기본 메시지 세트로서 설정된다.
빌드 내에 패키징된 이미지들은 기본 이미지 세트에 정의되어 있다. 이미지 역할(image role)에 기초하여 이 세트로부터 이미지가 선택된다. 이미지의 속성을 나타낸 도 28을 참조할 것.
클라이언트 버전은 기본 메시지 세트 및 기본 이미지 세트를 사용하여 릴리스된다. 클라이언트 버전의 속성을 나타낸 도 29를 참조할 것.
2.4.2. 클라이언트 버전 릴리스
이하의 레코드들은 빌드 시스템에 대한 개발부터 클라이언트 버전 릴리스에 패키징된다.
Figure 112008084031862-PCT00138
기본 메시지 세트 및 메시지 세트 항목
Figure 112008084031862-PCT00139
기본 메시지 세트에 의해 사용되는 메시지 및 메시지 키
Figure 112008084031862-PCT00140
영어 및 임의의 다른 테스트 언어로 된 message lang
Figure 112008084031862-PCT00141
기본 이미지 세트 및 이미지 세트 항목
Figure 112008084031862-PCT00142
기본 이미지 세트에 의해 사용되는 이미지
2.4.3. 메시지 번역
번역된 메시지는 언제든지 빌드 시스템에 로드될 수 있다. 기본 메시지 세트 내의 각각의 메시지가 언어에 대한 message lang을 가지고 있을 때 그 언어가 빌드 사용자에 의해 선택될 수 있다. 번역된 메시지를 나타낸 도 30을 참조할 것.
메시지를 서비스 메시지에 추가할 때, 서비스에 의해 지원되는 모든 언어에 대한 message lang 레코드가 존재하도록 한다. 이와 유사하게, 빌드 사용자가 그 서비스에서 사용하기 위해 장치를 선택하는 경우, 그 서비스에 의해 지원되는 모든 언어에 대해 모든 장치 메시지가 message lang을 갖도록 한다.
클라이언트 빌드가 다중 언어용으로 빌드되었지만 jar에 하나의 아이콘, 로고 및 스플래쉬 화면만을 포함시킬 수 있기 때문에, 이미지의 번역이 필요없다. 서비스에 대해 정의된 이미지들은 그 서비스에 대한 기본 언어로 되어 있다.
2.4.4. 장치 메시지
장치에 대해 메시지 세트가 정의될 수 있다. 이것은 선택된 장치에 대한 기본 메시지 세트 내의 메시지를 무시할 수 있게 해준다. 장치 메시지 속성을 나타낸 도 31을 참조할 것.
예를 들어, 도움말 메시지는 특정의 장치에 특유할 수 있다. 장치 메시지/도움말 메시지 속성을 나타낸 도 32를 참조할 것.
빌드 시에, 선택된 장치에 대해 정의된 메시지가 동일한 메시지 키를 갖는 기본 메시지 세트 내의 메시지에 우선한다.
2.4.5. 서비스 메시지
서비스에 대해서도 메시지가 정의될 수 있다. 이들 메시지는 기본 메시지 세트 및 장치 메시지 세트에 우선하지만, 실제로는 메시지가 장치에 관련되거나 서비스에 관련된 것이어야 하며 둘다에 관련된 것이어서는 안된다. 서비스 메시지를 나타낸 도 33을 참조할 것.
서비스도 역시 기본 언어 및 서비스 언어 세트를 가지고 있다. 이들은 클라이언트 빌드에 대한 기본 언어 및 지원 언어로 설정되지만, 빌드가 다른 기본 언어 또는 이들 언어 중 일부분만을 필요로 하는 경우, 빌드 사용자가 빌드를 하기 전에 이들을 편집할 수 있다.
2.4.6. 서비스 및 장치 관련 메시지 및 이미지
어떤 경우에, 메시지 또는 이미지가 특정의 장치 및 특정의 서비스에 관련된 것이도록 지정하고 싶다. 예를 들어, 일련의 장치 상에서 수동으로 크기 조정되는 서비스 아이콘을 사용하고 싶을지도 모른다. 서비스 및 장치 관련 메시지를 나타낸 도 34를 참조할 것.
2.4.7. 메시지 대체
데이터베이스에서 참조될 수 있는 서비스 또는 장치 속성이 기본 메시지 세트로 대체될 수 있다. 예를 들어, 고객 지원 전화 번호를 대체하기 위해,
도움을 받으려면
${service.company.companyAddress.customerSupportTelephone}로 전화해주세요.
기본 메시지 세트는 대체를 지원하며, 이것은 빌드 사용자에게는 보이지 않는다. 빌드 사용자가 기본 메시지를 볼 때면, 전화 번호가 이미 대체되어 있을 것이다.
장치 및 서비스 메시지도 역시 대체를 지원한다. 장치 및 서비스 메시지를 관리하는 도구는 구문이 빌드 사용자에게 보이지 않도록 해야 한다.
대체된 값이 장치 또는 서비스에 대해 정의되어 있지 않는 경우, 빌드 사용자는 빌드가 계속될 수 있기 전에 그 값을 설정해야만 한다.
2.4.8. 클라이언트 빌드
사용자는 클라이언트 버전, 장치 및 서비스를 선택하였다. 이 버전에 대한 기본 메시지 세트는 빌드에 대해 선택된 메시지들을 위한 베이스를 제공한다. 이들 메시지보다 장치 및 서비스 메시지 세트가 각각 우선한다. 또 이들보다는 service_device 메시지 세트에 지정된 메시지가 우선한다.
이 빌드에 대해 선택된 언어들은 지원된 언어들에 대한 message lang 레코드를 필터링하는 데 사용된다. 각각의 메시지에 대해 각각의 언어로 클라이언트 빌 드 메시지가 생성되고 이 빌드에 대한 클라이언트 빌드 메시지 테이블에 복사된다. 클라이언트 빌드 메시지를 나타낸 도 35를 참조할 것.
빌드 시에 메시지의 복사본을 가져오면 이하의 일들을 할 수 있다.
Figure 112008084031862-PCT00143
행해진 대체들의 기록을 유지하는 일
Figure 112008084031862-PCT00144
잠금된 메시지를 복제할 필요없이 메시지를 갱신하는 일
기본 이미지 세트 내의 각각의 이미지에 대해 클라이언트 빌드 이미지가 생성되고 이들 클라이언트 빌드 이미지보다 서비스 이미지 세트 내의 이미지가 우선된다. 또 이들보다는 service_device 이미지 세트에 지정된 이미지가 우선된다. 이들 이미지는 크기 조정되고 이름 변경되어 jar에 패키징된다.
클라이언트 빌드 메시지 및 이미지는 클라이언트 빌드 정의의 일부를 구성하며 그 클라이언트 빌드가 작업 서버(Production Server)에 게시될 때 작업 서버에 게시된다.
2.4.9. 클라이언트 빌드 게시하기
각각의 클라이언트 빌드에 대해, 이하의 메시지 관련 테이블들이 작업 시스템(Production System)에 릴리스된다.
Figure 112008084031862-PCT00145
client_build: 이 클라이언트 빌드에 대한 레코드
Figure 112008084031862-PCT00146
client_build_message: 이 클라이언트 빌드에 대한 레코드
Figure 112008084031862-PCT00147
message: client_build_message에서 참조되는 각각의 메시지
Figure 112008084031862-PCT00148
message_key: 각각의 메시지에 대한 키
Figure 112008084031862-PCT00149
message_lang: 각각의 지원된 언어로 된 각각의 메시지에 대한 message_lang
Figure 112008084031862-PCT00150
client_build_image: 이 클라이언트 빌드에 대한 레코드
Figure 112008084031862-PCT00151
source image files: client_build_image에서 참조되는 각각의 이미지 파일
2.5. 로밍 네트워크 선택
전화가 "로밍 중"일 때, 사용자는 MusicStation을 사용하는 경우 부가 요금을 내게 된다. 이들 요금은 전화가 로밍 중인 동안 사용자가 트랙을 다운로드할 때 또는 MusicStation이 메뉴 항목 및 이미지를 업데이트할 때 적용된다. 사용자는 MusicStation의 로밍 거동을 구성할 수 있다.
2.5.1. 로밍 거동 구성하기
로밍 옵션의 화면 캡처를 나타낸 도 36을 참조할 것.
MusicStation 내에서, 사용자는 MusicStation에 대한 로밍 거동을 구성할 수 있다. 도 37을 참조할 것.
Menu & picture updates(메뉴 및 사진 업데이트)에 대한 로밍 거동이 Ask(요청하기)로 설정되어 있는 경우, 주어진 세션에 대해 로밍 동안에 다운로드, 업데이트 및 부가 요금을 승인/거부하도록 요청하는 경고 메시지가 보여진다. 로밍 경로의 화면 캡처를 나타낸 도 38을 참조할 것.
사용자가 로밍 동안에 트랙을 다운로드하려고 하고 트랙에 대한 로밍 거동이 Ask로 설정되어 있을 때, 로밍 동안에 다운로드, 업데이트 및 부가 요금을 승인/거부하도록 요청하는 경고 메시지가 보여진다. 이러한 승인/거부의 동작은 현재의 세션에 대한 설정을 구성하게 된다. 로밍 경로 - Ask 프롬프트의 화면 캡처를 나타낸 도 39를 참조할 것.
2.5.2. 로밍 경고 및 에러
과금가능한 동작들이 다음과 같이 2가지 카테고리로 분류될 수 있다.
Figure 112008084031862-PCT00152
Track Downloads(트랙 다운로드) - 오디오 파일의 다운로드
Figure 112008084031862-PCT00153
Menu and picture updates(메뉴 및 사진 업데이트) - 메뉴의 업데이트가 Chart listings, You might like 추천, Cool members 및 Buzz playlists 등의 항목들을 포함한다. 버즈 프로파일 상의 변경된 이미지와 같은 사진의 업데이트 또는 음악가 및 앨범 프로파일에 대한 새 이미지의 다운로드.
이하의 프로세스는 MusicStation의 각각의 새 세션에 대한 모든 접속된 과금가능한 동작에 대해 행해진다.
Figure 112008084031862-PCT00154
서버는 클라이언트로부터 오는 모든 요청의 응답 헤더를 검사해야만 한다.
Figure 112008084031862-PCT00155
로밍이 검출되고 사용자가 과금가능한 동작을 선택할 때, Options 메뉴에서 그 유형의 동작에 대해 설정된 로밍 옵션을 검사한다.
Figure 112008084031862-PCT00156
그 동작이 Roaming options 메뉴에서 On(허용)으로 표시되어 있는 경우, 그 동작이 정상적으로 수행된다.
Figure 112008084031862-PCT00157
그 동작이 Roaming options 메뉴에서 Off(불허)로 표시되어 있는 경우, 그 동작이 차단되어 있음을 설명하는 팝업이 디스플레이된다.
Figure 112008084031862-PCT00158
그 유형의 동작이 Roaming options에서 Ask로 표시되어 있고 세션에서 이러한 유형의 동작이 처음으로 선택된 경우, 로밍 경고가 디스플레이된다. 이후의 동작들은 사용자가 제공한 대답에 기초하여 처리된다.
2.5.3. 로밍 경고
2.5.3.1. Ask로 설정된 Roaming Options
과금가능한 동작들이 Roaming Options 메뉴에서 Ask로 설정되어 있을 때, 이하의 로밍 경고가 디스플레이된다. 사용자는 로밍 동안에 이러한 유형의 과금가능한 동작에 대한 설정을 선택하도록 요청받게 된다. 로밍 경고 - Ask 프롬프트의 화면 캡처를 나타낸 도 40을 참조할 것.
Figure 112008084031862-PCT00159
사용자가 Don't Allow를 선택하면, 이 영역에서의 모든 후속 동작들이 이 세션의 나머지 동안에 또는 Reset Location이 선택될 때까지 로밍 에러를 디스플레이한다.
Figure 112008084031862-PCT00160
사용자가 Allow를 선택하면, 이 영역에서의 모든 후속 동작들이 이 세션의 나머지 동안에 또는 Reset Location이 선택될 때까지 추가의 프롬프트없이 계속된다.
Figure 112008084031862-PCT00161
사용자가 Terms & Conditions을 선택하면, WAP 페이지는 MusicStation 사 용 조건 및 기한을 디스플레이한다. WAP 브라우저를 닫으면 상기 프롬프트에서 MusicStation으로 복귀한다.
사용자가 그의 홈 네트워크로 복귀하자마자, 이 경고가 더 이상 디스플레이되지 않는다.
2.5.3.2. On으로 설정된 Roaming Options
과금가능한 동작들이 Roaming Options 메뉴에서 On으로 설정되어 있는 경우, 사용자가 로밍 세션에서 과금가능한 동작을 처음으로 수행할 때, 이하의 로밍 경고가 디스플레이된다. 사용자는 과거 언젠가 로밍 기본 설정을 설정하였고 이들 과금가능한 동작들을 허용했다는 것을 잊어버렸을 수도 있다. On으로 설정된 Roaming Options의 화면 캡처를 나타낸 도 41을 참조할 것.
사용자는 트랙 다운로드 또는 메뉴 및 사진 업데이터에 대해 과금될 것이라고 경고를 받는다. 트랙 다운로드 및/또는 메뉴 및 사진 업데이트가 진행된다. 이들 옵션은 Roaming Options 메뉴에서 변경될 수 있다.
2.5.3.3. Off로 설정된 Roaming Options
과금가능한 동작들이 Roaming Options 메뉴에서 Off로 설정되어 있는 경우, 사용자가 로밍 세션에서 과금가능한 동작을 처음으로 수행할 때, 이하의 로밍 경고가 디스플레이된다. Off로 설정된 Roaming Options의 화면 캡처를 나타낸 도 42를 참조할 것.
사용자는 트랙 다운로드 및/또는 메뉴 및 사진 업데이트가 진행되지 않을 것이라는 경고를 받는다. 이들 옵션은 Roaming Options 메뉴에서 변경될 수 있다.
2.5.4. 로밍 검출하기
이하의 프로세스는 MusicStation이 전화가 로밍 중임을 어떻게 검출하는지에 대해 설명한다.
Figure 112008084031862-PCT00162
MusicStation 클라이언트로부터 우리의 서버로의 모든 HTTP 요청은 MNO의 게이트웨이를 통과한다.
Figure 112008084031862-PCT00163
어떤 정보를 헤더에 추가하도록 게이트웨이를 구성하였다. 예를 들어,
X-WSB-Identity:$(MSISDN); X-TELENOR-SGSN:$(RADIUS:SGSN-IP-Address);X- bearer:$(BEARER_TYPE)
Figure 112008084031862-PCT00164
여기서 두번째 필드는 SGSN의 IP 주소이다. 이는 핸드셋이 통신하는 중에 사용하는 게이트웨이의 IP 주소이다.
Figure 112008084031862-PCT00165
이 IP 주소를 MNO 네트워크 상의 게이트웨이들의 IP 주소의 목록과 비교한다.
Figure 112008084031862-PCT00166
IP 주소가 이 목록 상에 없는 경우, 이것은 핸드셋이 로밍 중에 있음을 의미한다.
서버는 목록에서 IP 주소를 탐색하는 것으로 이 평가를 하며, 로밍하고 있는 것으로 결정하는 경우, 그 상태를 다시 클라이언트에 제공하고, 클라이언트는 2.5.2. 로밍 경고 및 에러에 기술된 규칙 및 사용자 프롬프트를 통해 실행된다.
3. 커뮤니티 기능
최종 사용자가 개개의 능력으로 서버와 상호작용할 수 있는 것에 부가하여, 클라이언트 및 서버는 또한 어떤 커뮤니티 기능을 제공하며, 이 커뮤니티 기능에 의해 사용자는 서로 상호작용할 수 있다. 각각의 사용자는 개개의 프로파일을 생성할 수 있고, '친구' 요청을 다른 사용자들에게 전송할 수 있으며, 그 후에 그의 음악가, 앨범별 재생 목록 또는 추천이나 개개의 트랙을 확인된 '친구'에게로 전송할 수 있다.
3.1. 등록
커뮤니티 기능에 참여하는 첫번째 단계는 사용자가 커뮤니티 환경(버즈라고도 함)에 고유의 프로파일을 등록해야만 하는 것이다.
3.1.1. 멤버 이름 정의되지 않음
사용자가 커뮤니티 기능에 액세스하려고 하지만 사용자가 그의 버즈 사용자 이름을 등록하지 않은 경우, 버즈 홈페이지는 사용자에게 버즈에 등록하라는 초대장을 디스플레이한다. 멤버 이름이 유일한 필수 필드이다.
Figure 112008084031862-PCT00167
customer_preference.nickname
그에 부가하여, 사용자는 선택적으로 캐치프레이즈(catchphrase)를 입력하고 및/또는 그의 아바타로서 이미지를 선택할 수 있다.
Figure 112008084031862-PCT00168
customer_preference.catchphrase
Figure 112008084031862-PCT00169
customer_preference.avatar_image_id
멤버 이름이 이 서비스에서 유일하고 욕설 필터를 통과하면, 버즈 홈페이지는 이 멤버에 대한 새로 정의된 상세를 보여준다.
멤버 이름이 이 서비스에서 유일한 것이 아닌 경우, 클라이언트는 화면으로 돌아가서, 사용자가 수락 또는 수정을 하도록 사용자가 입력한 멤버 이름을 제안된 멤버 이름으로 대체한다.
사용자가 멤버 이름을 제공한 경우, 버즈 홈페이지는 이 멤버에 대한 이전의 상세 및 사용자의 확인된 친구의 수 및 그의 공유 재생 목록의 듣기 횟수를 보여준다.
Figure 112008084031862-PCT00170
Customer_count.friend_count
Figure 112008084031862-PCT00171
playlist_count.play_count
3.1.2. 멤버 이름 정의됨
사용자가 멤버 이름을 제공한 경우, 버즈 홈페이지는 이 멤버에 대한 상세를 보여준다.
Figure 112008084031862-PCT00172
customer_preference.nickname
Figure 112008084031862-PCT00173
customer_preference.avatar_image_id
Figure 112008084031862-PCT00174
customer_preference.catchphrase
Figure 112008084031862-PCT00175
customer_data.calculated_rating
Figure 112008084031862-PCT00176
Customer_count.friend_count (count of customer_to_customer where customer_id = ${customerld} and customer_to_customer.friend_status = APPROVED)
Figure 112008084031862-PCT00177
play_count_otherplaylist (sum of playlist_count.play_count where playlist.owning_customer_id = $ {customerId})
그의 인기도로부터 평가가 계산된다. 이 알고리즘은 2.2 추천에 포함되어 있다.
메뉴 옵션들은 공유 재생 목록 및 이 멤버에 관심을 갖게 될 정렬된 커뮤니티 멤버들(3.4 Buzz Cool Members)에 액세스를 허용한다. 메뉴 옵션들은 또한 사용자 자신의 재생 목록 및 그의 친구(3.6.1 Buzz Friends)에의 액세스를 허용한다.
3.2. 내 프로필 편집하기
컨텍스트 의존적인 메뉴를 통해 사용자가 그의 프로파일(그의 버즈 프로파일 화면에 디스플레이되고 해당 옵션이 설정되어 있는 경우 다른 멤버들이 볼 수 있음)을 편집할 수 있게 해주는 옵션이 존재한다. 이는 사용자가 버즈 주화면 내의 컨텍스트 의존적인 메뉴로부터 "Edit My Profile" 옵션을 선택할 때 디스플레이된다. 사용자가 그의 멤버 이름, 그의 캐치프레이즈, 그의 이미지 및 보기 옵션을 편집할 수 있다.
Figure 112008084031862-PCT00178
Show Profile(프로파일 보여주기) - 이 멤버의 프로파일이 다른 멤버들에게 보이는지를 제어한다. 기본값은 Yes이다.
Figure 112008084031862-PCT00179
Show my top tracks(내 상위 트랙 보여주기) - 이 사용자의 좋아하는 음악가가 그의 멤버 프로파일 화면에 열거되는지를 제어한다. 기본값은 Yes이다.
3.3. 공유 재생 목록
메뉴 옵션은 이 사용자가 관심을 갖게 될 공유 재생 목록에의 액세스를 허용한다.
"You Might Like" 재생 목록은 이 사용자를 위해 추천 엔진(Recommendation Engine)에 의해 선택된 다른 사용자의 공유 재생 목록이다. 2.2 추천을 참조할 것.
각각의 공유 재생 목록에 대해, 클라이언트는 공유 재생 목록 이름, 별표시 평가 및 그 재생 목록을 생성한 멤버를 디스플레이한다.
Figure 112008084031862-PCT00180
playlistname
Figure 112008084031862-PCT00181
playlist.owning_customer_id
Figure 112008084031862-PCT00182
customer_info.recommend_playlist_set_id
Figure 112008084031862-PCT00183
playlist.image_set_id
Figure 112008084031862-PCT00184
playlist_data.calculated_rating
3.4. Buzz Cool Members
메뉴 옵션은 이 멤버에 관심을 갖게 될 멤버에의 액세스를 허용한다. "You Might Like" 멤버는 이 멤버와 유사한 다른 멤버이다. 이 목록이 어떻게 생성되는 지에 대한 상세는 2.2 추천을 참조할 것. 그의 Edit My Profile 화면에서 "Show Profile" 옵션이 설정되어 있지만 아직 사용자의 확인된 친구가 아닌 멤버만이 이하의 상세와 함께 열거된다.
Figure 112008084031862-PCT00185
customer_preference.nickname
Figure 112008084031862-PCT00186
customer_preference.avatar_image_id
Figure 112008084031862-PCT00187
customer_info.recommend_customer_set_id
Figure 112008084031862-PCT00188
customer_data.calculated_rating
Figure 112008084031862-PCT00189
count of playlist where owning customer_id = $ {recommendedCustomerId}
3.5. 다른 멤버 프로파일
사용자는 MusicStation 서비스의 다른 멤버의 상세를 볼 수 있다. 멤버가 멤버들의 목록으로부터(예를 들어, 3.4 Cool Members 화면으로부터) 열리면, 그의 프로파일의 측면들이 디스플레이된다. 이 화면은 버즈에 아직 가입하지 않았고 적어도 그의 멤버 이름을 설정하지 않은 멤버에게는 보여지지 않는다. 이 뷰는 이들이 공유하는 이 멤버의 재생 목록 전부의 목록을 포함한다. 이들 중 하나를 열면 재생 목록이 디스플레이된다.
각각의 재생 목록에 대해, 화면은 평가 및 적격 재생으로 그 재생 목록 중의 트랙을 들은 횟수를 보여준다. 공유 재생 목록이 없는 경우, 메시지 "This member has not yet shared any playlists.(이 멤버가 아직 재생 목록을 공유하지 않았습 니다.)"가 Shared Playlists 제목 아래의 이 섹션에 디스플레이된다.
그에 부가하여, 다른 멤버의 상위 트랙의 목록이 디스플레이된다. 이 섹션(타이틀을 포함함)은 이 화면 상에 디스플레이되고 있는 멤버가 3.2 Edit My Profile 화면에서 "Show my top tracks" 플래그를 설정한 경우에만 보여진다. 이 목록은 이 멤버의 상위 5개 트랙을 디스플레이한다. 이것은 이 멤버에 의해 가장 많이 재생된 상시 상위 5개 트랙이고 가장 인기있는 것이 상단에 열거되어 있다. 이 사용자는 이들 트랙 중 임의의 트랙에서 재생을 선택할 수 있다. 포함되어 있는 필드들은 다음과 같다.
Figure 112008084031862-PCT00190
customer_preference.nickname
Figure 112008084031862-PCT00191
customer_preference.avatar_image_id
Figure 112008084031862-PCT00192
customer_preference.catchphrase
Figure 112008084031862-PCT00193
customer_data.calculated_rating
Figure 112008084031862-PCT00194
play_count_otherplaylist (sum of playlist_count.play_count where playlist.owning_customer_id = $ {customerId})
Figure 112008084031862-PCT00195
Customer_count.friend_count (count of customer_to_customer where customer_id = ${customerId} and customer_to_customer.friend_status = APPROVED)
Figure 112008084031862-PCT00196
playlistname
Figure 112008084031862-PCT00197
playlist_data.calculated_rating
Figure 112008084031862-PCT00198
playlist_count.play_count
Figure 112008084031862-PCT00199
playlist.image_set_id
3.6. Buzz Add as Friend
이 화면은 멤버가 선택되는 어디에서라도 컨텍스트 의존적인 메뉴로부터 사용자가 "Add as Friend" 옵션을 선택할 때 디스플레이된다. 사용자는 그의 친구 요청의 일부로서 메시지를 전송할 수 있다.
멤버에 대해 Add as Friend 옵션이 선택되고 그 멤버가 아직 이 사용자의 친구가 아닐 때, 친구 요청이 가게 될 그 멤버의 이름에 대한 필드 및 그 멤버가 자신이 누구인지에 관한 소개로서 다른 멤버에게로 전송될 어떤 텍스트를 입력할 수 있는 텍스트 보디를 갖는 친구 요청 화면이 디스플레이된다. 필드로는 다음과 같은 것들이 있다.
Figure 112008084031862-PCT00200
customer_preference.nickname
Figure 112008084031862-PCT00201
customer_to_customer_request.body
3.6.1. 내 친구
"My Friends" 메뉴 옵션은 이 멤버의 친구들의 목록을 디스플레이한다. 사용자가 친구가 없는 경우, 이것은 메시지 "Your list of friends will be shown here(여기에 친구 목록이 보여집니다)"를 디스플레이한다. 그에 부가하여, 이 멤버의 보류 중인 친구 요청의 목록이 디스플레이된다. 보류 중인 요청이 없는 경우, 이 타이틀 및 목록이 보여지지 않는다. 필드로는 다음과 같은 것들이 있다.
Figure 112008084031862-PCT00202
count of customer_to_customer where customer_id = $ {customerId} and customer_to_customer.friend_status = APPROVED
Figure 112008084031862-PCT00203
from customer_to_customer_request where friend_status = REQUESTED
3.6.2. 이름으로 친구 추가하기
사용자가 다른 사용자를 그의 프로파일 이름으로 추가하기 위해 "Add Friend by Name" 메뉴 옵션을 선택할 수 있다. 이 옵션은 이 사용자가 버즈 등록을 하고 그의 멤버 이름을 등록한 경우에만 이용가능하다. 사용자는 친구 요청을 전송받을 친구의 멤버 이름을 입력할 필요가 있다. 필드로는 다음과 같은 것들이 있다.
Figure 112008084031862-PCT00204
customer_preference.nickname
Figure 112008084031862-PCT00205
customer_to_customer_request.body
멤버가 "send"를 선택하고 그 이름을 갖는 멤버가 발견될 때(그 멤버가 그의 Show Profile 옵션이 설정되어 있든 그렇지 않든 간에) 또한 멤버가 "send"를 선택하고 그 이름의 멤버가 발견되지 않을 때, 사용자는 통지를 받고 멤버 이름을 재입력하라고 요청받는다. 멤버가 "send"를 선택하고 그 멤버가 이미 이 사용자의 친구인 경우, 사용자는 다시 이러한 취지의 통지를 받는다.
3.6.3. 전화 번호로 친구 추가하기
이 화면은 사용자가 "Add Friend by Number" 옵션을 선택할 때 디스플레이된다. 사용자는 친구 요청을 전송받을 친구의 전화 번호를 입력할 필요가 있다. 이 들이 국가 코드없이 입력을 하고 기본 국가 코드가 이 서비스와 연관되어 있는 국가의 국가 코드인 것으로 가정한다. 필드로는 다음과 같은 것들이 있다.
Figure 112008084031862-PCT00206
customer_person.mobile_msisdn
Figure 112008084031862-PCT00207
customer_to_customer__request.body
멤버가 "send"를 선택하고 그 번호를 갖는 멤버가 발견될 때(그 멤버가 그의 Show Profile 옵션이 설정되어 있든 그렇지 않든 간에) 또한 멤버가 "send"를 선택하고 그 번호의 멤버가 발견되지 않을 때, 사용자는 통지를 받고 멤버 이름을 재입력하라고 요청받는다. 멤버가 "send"를 선택하고 그 멤버가 이미 이 사용자의 친구인 경우, 사용자는 다시 이러한 취지의 통지를 받는다.
3.7. 트랙 또는 재생 목록 전송하기
이 화면은 사용자가 컨텍스트 의존적인 메뉴의 어디에서든지 트랙 또는 재생 목록에서 "Send to Friend" 옵션을 선택할 때 디스플레이된다. 사용자는 트랙 또는 재생 목록을 전송받을 하나 이상의 친구를 선택할 수 있다. 사용자는 그 자신의 멤버 이름이 설정되어 있어야만 하고 Send to Friend 옵션이 인에이블되기 위한 적어도 하나의 친구를 가지고 있어야만 한다. 필드로는 다음과 같은 것들이 있다.
Figure 112008084031862-PCT00208
mail_attachment.track_id
Figure 112008084031862-PCT00209
customer_preference.nickname
Figure 112008084031862-PCT00210
customer_mail.customer_id
Figure 112008084031862-PCT00211
mailbody
이 멤버의 친구들의 목록이 디스플레이된다. 사용자는 선택할 친구를 클릭하고 선택을 해제하기 위해 다시 클릭을 한다. 임의의 수의 친구가 선택될 수 있다. 각각의 친구에 대해, 평가, 친구의 수, 및 듣기 횟수가 디스플레이된다.
send를 선택할 시에, 확인 메시지가 디스플레이되고, 사용자는 그의 초기 화면으로 되돌아간다.
3.8. 메시지 전송하기
클라이언트는 또한 컨텐츠 ID(identification)를 추가하지 않고 메시지를 전송할 수 있다. 이 메시지 화면은 이하의 필드들을 디스플레이한다.
customer_mail.customer_id
customer_preference.nickname
mailbody
3.9. Who's Listening
이 화면은 사용자가 메뉴의 어디에서든지 트랙, 앨범, 음악가, 또는 재생 목록에서 More 메뉴로부터 'Who's Listening" 옵션을 선택할 때 디스플레이된다. 이 화면은 이 사용자가 Who's Listening 옵션을 선택했던 항목을 재생한 버즈에 등록된 마지막 10명의 멤버를 보여준다. 디스플레이되는 것은 다음과 같이 그 옵션이 선택된 객체의 유형에 의존한다.
Figure 112008084031862-PCT00212
Track - 그 트랙을 재생할 마지막 10명의 멤버
Figure 112008084031862-PCT00213
Album - 그 앨범에 있는 트랙을 재생할 10명의 멤버
Figure 112008084031862-PCT00214
Artist - 그 음악가의 트랙을 재생할 마지막 10명의 멤버
Figure 112008084031862-PCT00215
Playlist - 그 재생 목록 중의 트랙을 재생할 마지막 10명의 멤버
필드로는 다음과 같은 것들이 있다.
Figure 112008084031862-PCT00216
customer_track order by last_play_date
Figure 112008084031862-PCT00217
customer_release order by last_play_date
Figure 112008084031862-PCT00218
customer_artist order by last_play_date
Figure 112008084031862-PCT00219
customer_playlist order by last_play_date
3.10. 받은 편지함
다른 사용자들로부터의 메시지 및 추천을 비롯하여 사용자에 대한 모든 메시지를 디스플레이하는 "Inbox"가 커뮤니티 뷰에 포함되어 있다.
3.10.1. 받은 편지함 트랙 추천 메시지 도착함
멤버가 이 사용자에게 트랙을 전송할 때, 다음과 같이 정의된 이하의 필드들을 갖는 메시지가 받은 편지함에 나타난다.
Figure 112008084031862-PCT00220
mailkind = MESSAGE
Figure 112008084031862-PCT00221
mail.from_customer_id
Figure 112008084031862-PCT00222
mail.sent_date
Figure 112008084031862-PCT00223
mailkind = TRACK RECOMMENDATION
Figure 112008084031862-PCT00224
mail.from_customer_id
사용자가 메시지를 선택하여 열게 되면, 다음과 같은 필드들을 갖는 메시지 화면이 디스플레이된다.
Figure 112008084031862-PCT00225
mail.from_customer_id
Figure 112008084031862-PCT00226
customer_preference.avatar_image_id
Figure 112008084031862-PCT00227
mail.sent_date
Figure 112008084031862-PCT00228
mail_attachment.track_id
메시지에서 추천된 트랙, 앨범, 음악가, 또는 재생 목록 이름이 하이라이트되어 나타나고, 사용자가 메시지를 스크롤함에 따라, 각각의 후속하는 것이 하이라이트된다.
트랙 이름을 클릭하는 것은 사용자가 트랙 목록 내의 한 트랙에서 Add to Playing을 선택한 경우와 동일한 거동을 갖는다. 즉, 현재 재생 목록의 끝에 트랙이 추가되고 사용자에게 이것을 통지하는 팝업이 디스플레이된다.
3.10.2. 받은 편지함 재생 목록 추천 메시지 도착함
멤버가 이 사용자에게 재생 목록을 전송하면, 받은 편지함에 이하의 것들을 갖는 메시지가 나타난다.
mail.from_customer_id
mail.kind = PLAYLIST RECOMMENDATION
mail_attachment.playlist_id
사용자가 메시지를 선택함으로써 메시지를 열면, 메시지 화면이 이하의 필드들을 갖는 디스플레이된다.
Figure 112008084031862-PCT00229
mail.from_customer_id
Figure 112008084031862-PCT00230
customer_preference.avatar_image_id
Figure 112008084031862-PCT00231
mail.sent_date
Figure 112008084031862-PCT00232
mailbody
Figure 112008084031862-PCT00233
mail_attachment.playlist_id
3.10.3. 받은 편지함 친구 요청 메시지 도착함
다른 멤버가 이 멤버에 친구 요청을 할 때, 이 멤버의 받은 편지함에 메시지가 나타난다. 이 메시지를 열면, 그를 수락 또는 거부할 기회가 있다. 팝업 내에서 이것을 하는 이유는 사용자가 상호작용하도록 요청받고 있기 때문이다. 메시지 제목이 이하의 것들을 디스플레이한다.
Figure 112008084031862-PCT00234
customer_to_customer_request.to_customer_id
Figure 112008084031862-PCT00235
customer_to_customer_request.fiend_status = REQUESTED
이 메시지를 열면 이하의 것들이 디스플레이된다.
customer_to_customer_request.to_customer_id
customer_to_customer_request.body
계속을 선택을 하면 이하의 옵션들을 갖는 팝업을 디스플레이한다.
Figure 112008084031862-PCT00236
Approve(승락) - Friend Request가 하이라이트될 때에만 디스플레이됨(대 다수의 받은 편지함 항목의 경우 이 옵션이 관련없기 때문에 비활성화되지 않음)
Figure 112008084031862-PCT00237
Deny(거부) - Friend Request이 하이라이트될 때만 디스플레이됨
Figure 112008084031862-PCT00238
Block(차단) - Friend Request이 하이라이트될 때만 디스플레이됨
Figure 112008084031862-PCT00239
Report Abuse(욕설 신고) - Friend Request이 하이라이트될 때만 디스플레이됨
사용자 응답이 이하의 것에 저장된다.
Figure 112008084031862-PCT00240
customer_to_customer_request.response (APPROVED, DENIED, BLOCKED, ABUSED)
3.10.4. 받은 편지함 친구 요청 응답 도착함
멤버가 이 사용자로부터의 친구 요청에 응답할 때, 그 응답은 이 멤버의 받은 편지함에 나타난다. 다른 멤버가 친구 요청을 수락, 거부 또는 차단했는지에 따라 3가지 가능한 응답을 이 멤버가 보게 된다.
Figure 112008084031862-PCT00241
customer_to_customer_request.friend_status
도 43의 테이블은 응답의 타이틀, 내용 및 결과를 보여준다.
3.10.5. 받은 편지함 텍스트 메시지 도착함
텍스트 메시지도 마찬가지로 받은 편지함에 디스플레이되며, 관련 필드들로는 다음과 같은 것들이 있다.
Figure 112008084031862-PCT00242
mail.from_customer_id
Figure 112008084031862-PCT00243
customer_preference.avatar_image_id
Figure 112008084031862-PCT00244
mail.sent_date
Figure 112008084031862-PCT00245
mail.body
3.11. 일반 메시지 경보 및 만료
3.11.1. 메시지 경보
멤버에 대한 메시지 또는 메시지들이 도착할 때, 화면의 베이스에 작은 팝업들 중 하나를 디스플레이한다. 이 팝업은 도착하는 각각의 메시지 그룹에 대해 한번 디스플레이되며, 서버가 이들 메시지를 클라이언트로 전달하자마자 디스플레이될 수 있다. 그 다음 메시지가 있는지 검사되고 사용자 흐름을 방해하지 않기 위해 클라이언트가 Now Playing 화면으로 스냅백되고 나서 2초 후에 디스플레이된다. Current Playlist가 없는 경우, 팝업은 Current Playlist가 있었을 경우 클라이언트가 스냅백되었을 때부터 2초 후에 디스플레이된다.
하나의 팝업이 판독되고 확인된 후에, 이 세션 동안에 추가의 메시지가 도착하는 경우, 다른 팝업이 디스플레이된다.
이 멤버가 오프라인이었을 동안에 전송된 메시지는 따라서 그 멤버가 애플리케이션을 시작하고 나서 곧 디스플레이될 수 있다.
3.11.2. 메시지 만료
판독된 메시지는 그 메시지가 판독되고 나서 1일 후에 만료된다. 판독되지 않은 메시지는 사용자가 그의 존재에 대해 경보를 받고 나서 5일 후에 만료된다.
판독되지 않은 메시지는 사용자가 애플리케이션에 있지 않고 따라서 그의 존재에 대해 경보를 받지 않은 경우 30일 후에 만료된다.
만료된 메시지는 편리한 때에 받은 편지함으로부터 제거된다. 만료 기간이 정확하게 준수되는 것이 필수적인 것은 아니다. 예를 들어, 이들 메시지는 만료 이후 그 다음 세션의 시작 시에 받은 편지함으로부터 제거되어도 된다. 따라서, 다음과 같이 메일이 수신된 날짜를 위해 부가의 필드가 정의된다.
Figure 112008084031862-PCT00246
customer_mail.received_date
4. 그래픽 사용자 인터페이스(GUI) 기능
부록 1에서 GUI에 대해 설명한다.
5. 통신 아키텍처
5.1.mCom
5.1.1. 개요
MusicStation 클라이언트 애플리케이션은 여러가지 데이터를 다운로드 및 업로드하기 위해 MusicStation 서버에 접속해야만 한다. MusicStation이 서버에 접속하기 위해 사용하는 프로토콜은 각종의 클라이언트 기술, 예를 들어, Java, Symbian, 및 Windows Mobile에서 구현될 수 있어야만 한다. 이는 또한 문서 "접속형 MusicStation 문제 및 요건"에서 언급된 문제들을 해결해야만 한다.
5.1.1.1. 프로토콜 이력
MyFone은 데이터를 전송하기 위해 HTTP를 사용하였다. 이러한 경험은 HTTP 요청 및 응답이 통신 사업자 게이트웨이를 통과해야만 하는 것에서 몇가지 문제점을 보여주었다. 통신 사업자 게이트웨이 및 다양한 모바일 전화는, 보통 HTTP 헤더를 전달하지 못함으로써, 정기적으로 HTTP 헤더를 방해하였다. 이것은 이 프로토콜의 생성을 가져오게 한 주요 인자들 중 하나이다.
하나의 응답으로 몇개의 파일을 전송하기 위해, 이 프로토콜은 MIME으로부터 영감을 받았다. 이 문서의 이전 개정판은 응답 내의 서로 다른 파일들을 분리하기 위해 경계와 같은 MIME을 사용하였다. 이것은 헤더에 오프셋 및 길이 표기를 사용하도록 변경되었다. 이것에 의해 클라이언트는 데이터 객체에 신속하게 액세스할 수 있게 된다. 헤더만 파싱되면 되며, 보디 내용은 파싱될 필요가 없다(섹션 3.2.1 참조).
이전에, 상태 코드는 이전의 클라이언트들에 의해 여전히 이해되면서도 확장될 수 있도록 하기 위해 이진 표현을 사용하였다. 이것은 사람은 물론 클라이언트에 의해서도 용이하게 이해될 수 있는 정수값을 사용하도록 간단화되었다. 서버가 클라이언트에 가장 적절한 상태 코드를 전송하는 것은 새로운 상태 코드를 도입하는 문제를 해결해준다. 서버는 접속된 클라이언트 버전이 이해하는 상태 코드만을 전송한다.
이전에는, 한 세션에서 동일한 파일이 여러번 요청된 경우에 또는 확인 응답 이 다른 세션에서 그 데이터 파일이 전송된 세션으로 전송된 경우에, 그 확인 응답을 일의적으로 식별하는 것이 가능하지 않았다. Sent 및 Put 라인에서 사용되는 확인 응답 id 원칙이 이 문제를 해결한다.
5.1.1.2. 프로토콜 개요
클라이언트는 모바일 전화가 인터넷에 접속되는 방식으로 인해 모든 통신을 개시해야만 한다. 모바일 전화가 정적 IP 주소를 갖지 않기 때문에 또한 모바일 전화가 보통 모바일 통신사업자 게이트웨이를 통해 접속되기 때문에, 서버가 통신을 개시할 방법이 없다. MIDP2.0 핸드셋은 클라이언트가 서버에 요청을 하도록 요청하는 SMS를 애플리케이션에게로 전송하기 위해 푸시 레지스트리(Push Registry) 기능을 사용할 수 있지만, 이 기능이 모든 타겟 핸드셋 및 클라이언트 플랫폼에서 이용가능하지 않을 수도 있으며, 따라서 MusicStation 프로토콜은 클라이언트가 통신을 개시하는 것에 기초해야만 한다. 이 프로토콜은 HTTP 및 TCP/IP 소켓 접속을 통해 실행될 수 있어야만 한다. 이들은 클라이언트 플랫폼에 의해 사용할 수 있는 2가지 가장 통상적으로 이용가능한 접속이다.
이 프로토콜은 신뢰성있는 전송 계층을 가정한다. 이 프로토콜은 특정의 응답의 개개의 패킷을 재요청할 수 있을 필요가 없다. 따라서, UDP 소켓 접속이 지원되는 전송 메카니즘이 아니다. 신뢰성없는 전송 계층을 지원하려면 MusicStation 프로토콜에 많은 부가 기능이 필요하고, TCP는 UDP를 갖는 모든 클라이언트에서 이용가능하다.
이 프로토콜은 클라이언트가 서버로 데이터를 전송하는 것은 물론 클라이언트가 서버에 데이터를 요청하는 것을 지원할 수 있어야만 한다. 에러 데이터, 로깅 데이터, 사용 데이터, 재생 목록 정보, 및 사용자 관련 데이터가 클라이언트로부터 서버로 전송되기 위해서 이것이 필요하다.
MusicStation이 요청/응답 프로토콜이기 때문에, 이는 HTTP 특징들 중 몇가지를 빌려서 HTTP에서 충실하게 모델링된다.
MusicStation 프로토콜은 텍스트 기반으로서 ASCII 문자 세트만을 사용하며, 이것은 이진 데이터와 연관된 인코딩 문제 없이 많은 서로 다른 클라이언트 플랫폼에서 구현될 수 있도록 되어 있다.
이하의 도면은 클라이언트와 서버 간의 요청/응답 흐름을 나타낸다. 이것은 클라이언트로부터의 간단한 요청이 서버에 의해 수행되는 것의 일례이다. 모든 클라이언트/서버 통신은 이와 동일한 기본적인 방식으로 행해진다. 클라이언트와 서버 간의 요청/응답 흐름을 나타낸 도 44를 참조할 것.
그 다음 도면은 서버가 클라이언트에게로 어떻게 요청을 전송하는지를 나타낸 것이다. 클라이언트/서버 통신이 항상 클라이언트 요청에 의해 트리거되어야만 하기 때문에, 서버가 클라이언트에 요청을 하는 유일한 방법은 서버가 클라이언트에게로 전송하는 응답에 그 요청을 피기백시키는 것이다. 서버가 클라이언트에게로 요청을 전송하는 것을 나타낸 도 45를 참조할 것.
유의할 점은, 응답에 데이터가 없을지라도, 정상 동작에서 서버가 항상 클라이언트 요청에 응답한다는 것이다. 이 응답은 상태 코드만을 포함할 수 있다('서 버 "응답" 프로토콜' 섹션을 참조할 것).
로봇 클라이언트 및 분당 요청수 문턱값을 초과하는 요청은 정상이 아니며, 서버는 이들 요청에 응답할 의무가 없다. 서버 응답을 수신하지 않는 실제 클라이언트는 적절한 시간 후에 요청을 재시도할 것으로 예상된다.
HTTP와 같이, MusicStation 프로토콜은 전송되는 실제 데이터를 포함하는 메시지의 보디에 관한 메타데이터를 보유하기 위해 헤더를 사용한다. 이 문서는 이들 헤더에만 관련된 프로토콜에 대해 기술하고 있다. 메시지의 보디는 다양한 클라이언트 구현을 위해 서로 다를 수 있다. HTTP와 같이, 헤더 및 보디는 비어있는 줄에 의해 분리되어 있다.
5.1.2. 클라이언트 요청 프로토콜
5.1.2.1. 헤더
5.1.2.1.1. 프로토콜 식별자
요청의 제1 부분은 프로토콜 식별자이다. 이것은 이 요청을 수신하는 서버가 그가 수신한 데이터가 정말로 클라이언트로부터 온 것인지를 확인하기 위한 것이다. 프로토콜 식별자는 요청에 오버헤드를 주지 않기 위해 짧아야만 한다. MusicStation에 의해 사용되는 프로토콜 식별자는 다음과 같다.
MSTP
이것은 MusicStation Transfer Protocol의 약어이다.
5.1.2.1.2. 프로토콜 버전 번호
프로토콜 식별자는 프로토콜 버전 번호이다. 이 프로토콜 식별자는 클라이언트 버전 번호, 서버 버전 번호, 및 클라이언트 버전 번호에 의해 사용되는 데이터 객체와 완전히 다르다.
모두가 동일한 프로토콜 버전 번호를 사용하는 클라이언트 애플리케이션의 많은 서로 다른 버전이 있을 수 있다.
프로토콜 버전 번호는 주번호.부번호 형태로 되어 있다.
부번호는 프로토콜에 대한 증분적 변경에 대해 증가되어야만 하고, 주번호는 프로토콜에 대한 상당한 변경으로 증가되어야만 한다. 프로토콜의 초기 개발 버전은 주번호가 0이다. 이것은 프로토콜의 첫번째 제품 발매시에 1로 증가된다.
서버 소프트웨어는 항상 모든 이전의 클라이언트 버전과 후방 호환되도록 모든 발매된 버전의 프로토콜을 처리할 수 있어야만 한다.
프로토콜 버전 번호는 프로토콜 식별자와 동일 라인에 있으며 프로토콜 식별자와 슬래쉬(forward slash)로 분리되어 있다.
MSTP/0.1
이 라인은 이것이 MusicStation 프로토콜의 버전 0.1이라는 것을 나타낸다.
5.1.2.1.3. 요청 식별자
MusicStation 클라이언트에 의해 전송된 각각의 요청은 식별자를 포함한다. 이 식별자는 현재 세션에서 이 요청에 고유한 것이어야 한다. 요청 식별자가 전역 적으로 고유해야 한다는 요건은 없다. 이 요청 식별자는 최대 32 문자 길이의 임의의 문자열일 수 있다.
이것은 1에서 시작하여 클라이언트에 의해 행해지는 매 요청마다 증분되는 정수로 구현될 수 있다.
이 요청 식별자는 서버가 클라이언트로부터의 중복 요청을 식별하기 위해 필요한 것이다. MyFone 경험은 모바일 전화 클라이언트 요청이 때때로 그다지 신뢰할 수 없다는 것을 보여주었다. 이것은 클라이언트가 타당한 시간 내에 응답을 수신하지 않은 경우 자동적으로 요청을 재시도할 수 있어야만 한다는 것을 의미한다.
클라이언트가 응답을 수신하지 않은 경우, 이것은 요청이 서버에 이르지 못했기 때문일 수 있거나 서버의 응답이 클라이언트로 다시 가는 중에 통신사업자 게이트웨이에서 손실되었기 때문일 수 있다.
요청 식별자를 포함함으로써, 서버가 중복 요청을 식별하는 것이 간단하다.
클라이언트는 재시도된 요청에 대해 동일한 요청 식별자를 전송해야만 한다.
요청 식별자는 요청 식별자 및 요청 버전 번호 아래의 어느 곳에도 올 수 있다.
MSTP/0.1
RequestId: 123456
이것은 이 클라이언트에 의한 요청을 식별해준다. 클라이언트가 이 요청을 재시도하는 경우, 재시도에서의 요청 id는 123456이어야만 한다.
5.1.2.1.4. 클라이언트 이름 및 버전 번호
모든 요청은 클라이언트 이름 및 버전 번호를 포함해야만 한다. 이 정보는 서버에서 이 클라이언트의 기능들을 탐색하는 데 사용될 수 있다. 이것은 프로토콜에 주어진 정보를 변경할 필요없이 새로운 기능들이 언제라도 클라이언트에 추가될 수 있다는 것을 의미한다.
예를 들어, 클라이언트가 자신을 MIDP 버전 0.4.6 클라이언트라고 밝힌 경우, 서버는 데이터 객체를 어느 형식으로 반환해야 하는지를 알고 있다. 서버는 또한 이 클라이언트에서 어느 음악 인코딩이 지원되는지를 알고 있다. 서버는 이 클라이언트가 암호화된 음악 파일을 지원하지 않는다는 것을 알고 있다.
MSTP/0.1
RequestId: 123457
Client: MusicStation 0.4.6 MIDP Nokia/N70
이것은 클라이언트를 Nokia N70 핸드셋에서 실행 중인 자바 클라이언트 버전 0.4.6으로 식별한다. 서버는 이 클라이언트가 어느 기능들을 가지고 있는지를 탐색할 수 있다.
이 문자열의 형식은 다음과 같다.
"MusicStation" [주번호].[부번호].[세부번호] "변형 이름" "플랫폼 식별자"
상세한 것은 도 46을 참조할 것.
5.1.2.1.5. 사용자의 전역 고유 식별자
모든 요청은 사용자의 전역 고유 식별자(globally unique identifier)를 포함해야만 한다. 이것에 대한 한가지 예외는 최초 등록 요청이다. 요청이 사용자의 전역 고유 식별자를 포함하지 않는 경우, 서버는 클라이언트가 등록할 필요가 있다는 통지로 응답하게 된다.
이러한 전역 고유 식별자는 서버가 사용자에 관한 다양한 정보를 탐색할 수 있게 해준다.
클라이언트가 전역 고유 식별자를 작성해서는 안된다. 이 식별자는 등록 프로세스 동안에 서버에 의해 생성된 다음에 클라이언트에 할당된다. 클라이언트는 모든 후속 요청에서 이 식별자를 포함해야만 한다.
MSTP/0.1
RequestId: 123458
Client: MusicStation 0.4.6 MIDP Nokia/N70
UserGUID: AB12YZ
이것은 전역 고유 식별자 AB12YZ를 갖는 사용자를 식별해준다. 서버는 이 정보를 사용하여 선호 언어, 지역, 통신사업자, 및 브랜딩 등의 사용자 상세를 탐색할 수 있다.
5.1.2.2. 데이터 요청
5.1.2.2.1. 기본적인 데이터 요청
클라이언트로부터의 요청의 대부분은 클라이언트로부터의 데이터 요청이다. 예를 들어, 클라이언트는 서버에 최신 뉴스를 요청할 수 있다.
MSTP/0.1
RequestId: 123459
Client: MusicStation 0.4.6 MIDP Nokia/N70
UserGUID: AB12YZ
Get: inbox.data
이것은 inbox.data 데이터 객체 파일에 대한 요청의 일례이다.
5.1.2.2.2. 경로 정보를 갖는 데이터 요청
데이터 요청은 또한 그와 연관된 경로 정보를 가질 수 있다. 이것은 HTTP URL과 유사한 구문을 사용한다. 디렉토리 분리자(directory separator)로서 /(슬래쉬) 문자가 사용된다.
MSTP/0.1
RequestId: 123459
Client: MusicStation 0.4.6 MIDP Nokia/N70
UserGUID: AB12YZ
Get: games/namethattune/question.data
이것은 경로 games/namethattune를 갖는 question.data 데이터 객체 파일에 대한 요청의 예이다.
5.1.2.2.3. 질의를 갖는 데이터 요청
데이터 요청은 선택적으로 클라이언트로 반환될 데이터 객체를 작성하기 위해 서버가 사용하게 될 파라미터를 포함할 수 있다. 이 요청은 HTTP 질의 문자열 구문을 사용하여 포함된다.
MSTP/0.1
RequestId: 123460
Client: MusicStation 0.4.6 MIDP Nokia/N70
UserGUID: AB12YZ
Get: advncedSearch.data?type=artist&query=artist%20name&country=uk&language=en
이것은 고급 검색 결과에 대한 요청의 예이다. 요청된 자원은 요청된 자원의 이름을 이 자원에 대한 파라미터와 분리시키기 위해 ?(물음표) 문자를 갖는다. 이 파라미터들은 이름/값 쌍이다. 각각의 이름/값 쌍은 &(앰퍼샌드) 문자로 구분되어 있고, 이름 및 값 부분이 = (등호)로 분리되어 있다.
이 값들은 URL 인코딩되어 있으며, 따라서 검색어 "artist name"에서의 공백 문자는 URL 인코딩된 버전 %20으로 대체되어 있다.
5.1.2.2.4. 다중 요청을 갖는 데이터 요청
클라이언트는 서버에 다수의 자원을 동시에 요청할 수 있다. 이를 위해, 클라이언트는, 요청된 각각의 자원에 대해 하나씩, 몇개의 GET 라인을 전송한다.
MSTP/0.1
RequestId: 123461
Client: MusicStation 0.4.6 MIDP Nokia/N70
UserGUID: AB12YZ
Get: inbox.data
Get: charts.data
이것은 inbox.data 파일에 대한 요청 및 charts.data 파일에 대한 요청의 예이다. 이것과 같은 상황은 클라이언트가 즉각 필요로 하는 자원(이 예에서, inbox.data)과 백그라운드에서 자원을 업데이트하는 데 필요한 자원(이 예에서, charts.data)을 요청하고 있을 때 일어날 수 있다. GET 라인은 클라이언트가 서버 응답에서 자원을 수신하고자 하는 우선순위의 순서로 되어 있어야 한다.
때때로, 클라이언트는 부분 응답을 캐싱할 수 있고, 서버로부터 반환된 데이터의 일부만을 필요로 할 수 있다. 이것과 같은 경우에, 클라이언트는 그 데이터의 어떤 부분만을 요청하고자 할 수 있다. 클라이언트는 GET 라인에서 범위 파라미터를 사용함으로써 이것을 할 수 있다. 범위 파라미터는 ;(세미콜론) 문자에 의해 요청된 자원 이름과 분리되어 있다.
2개 이상의 범위 파라미터가 있는 경우, 범위 파라미터는 ;(세미콜론) 문자로 분리되어 있다.
범위 파라미터는 from과 to이다. 이들 둘다의 다음에는 = (등호) 문자가 와야 하고, 이들 둘다는 정수개 바이트이다.
5.1.2.2.5. 부분 데이터 요청
이하는 inbox.data 파일에 대한 부분 요청의 예이다. 클라이언트는 34번째 바이트부터 전방으로의 모든 inbox.data 파일을 요청하고 있다.
MSTP/0.1
RequestId: 123462
Client: MusicStation 0.4.6 MIDP Nokia/N70
UserGUID: AB12YZ
Get: inbox.data; from=34
이하는 inbox.data 파일에 대한 부분 요청의 예이다. 클라이언트는 128번째 바이트에서 256번째 바이트까지의 모든 inbox.data 파일을 요청하고 있다.
MSTP/0.1
RequestId: 123463
Client: MusicStation 0.4.6 MIDP Nokia/N70
UserGUID: AB12YZ
Get: charts.data; from=128; to=256
범위 요청을 할 때, 클라이언트는 반환된 데이터가 요청된 범위를 가질 것으로 예상해서는 안된다. 서버 응답은 반환된 범위의 상세를 포함하게 되며, 클라이언트는 추가의 처리를 위해 그 자신의 요청 내의 범위 정보가 아니라 서버 응답 내의 범위 정보를 사용해야만 한다. 이것은 서버가 다른 범위의 데이터를 반환할 이 유를 가질 수 있기 때문이다. 예를 들어, 클라이언트가 데이터를 요청한 이후로 그 데이터가 변경된 경우가 있다.
5.1.2.3. 서버로 데이터 전송하기
때때로, 클라이언트는 서버로 데이터를 전송할 필요가 있을 수 있다. 예를 들어, 서버로 에러 정보를 전송할 수 있다. 클라이언트는 Put 라인을 사용함으로써 이것을 할 수 있다.
Put 라인은 몇개의 부분을 갖는다. 각각의 부분은 ;(세미콜론)으로 분리되어 있다.
Put: error.data;ackId=1;offset=O;length=160;type='application/octet-stream"
여기서 에러 데이터의 상세에 대해서는 도 47을 참조할 것.
이것은 클라이언트가 서버로 에러 데이터를 전송하는 예이다. 도 48을 참조할 것.
0과 1의 블록이 메시지의 보디를 의미한다. 이것이 이 프로토콜에 의해 전송될 이진 데이터이다. 이 데이터의 형식은 이 프로토콜의 범위 밖인데, 그 이유는 이 형식이 클라이언트 구현 기술에 따라 달라지기 때문이다. 보디 내의 데이터는 위치 0에서 시작하고, 160 바이트의 길이를 갖는다. Put 라인에서의 오프셋 및 길이 값이 이 정보를 반영한다.
Put 라인에서의 컨텐츠 유형은 서버에게 이 데이터를 어떻게 해석해야 하는 지를 말해준다.
5.1.2.3.1. 다중 put을 사용하여 데이터 전송하기
클라이언트는 서버에 다수의 자원을 동시에 전송해야만 할지도 모른다. 다수의 Get 라인을 사용하는 것과 유사한 방식으로, 클라이언트는 다수의 Put 라인을 전송할 수 있다.
클라이언트가 에러 데이터 및 사진을 서버로 전송하는 것의 예에 대해 도 49를 참조할 것.
요청의 보디에서, 에러 데이터는 사진 데이터에 대해 더 굵은체 텍스트로 나타내어져 있다. 요청에서의 길이 및 오프셋 위치는 서버에게 이 데이터에 대한 오프셋 및 이 데이터의 길이를 알려준다.
5.1.2.3.2. 파라미터와 함께 데이터 전송하기
Get 라인과 유사한 방식으로, Put 라인도 Put에서 파라미터를 지원한다.
이것에 대한 구문은 Get 라인 구문과 동일하며, HTTP 질의 문자열 구문을 바탕으로 모델링된다.
도 50에 서버가 단 하나의 파라미터(name = "Fave Tracks")로 Jpeg 사진을 전송하는 예가 있다.
유의할 점은 Put 라인이 Get 라인과 아주 유사하지만, Put 라인이 범위값 From 및 To를 지원하지 않는다는 것이다. Put은 실패하면 데이터를 전부 재전송해 야 한다. 클라이언트는 Put이 실패했는지를 알게 되는데, 그 이유는 서버로부터 확인 응답을 수신하지 않게 되기 때문이다('서버 "응답" 프로토콜' 섹션을 참조할 것).
5.1.2.3.3. 클라이언트 확인 응답
서버가 항상 각각의 클라이언트에 어떤 데이터가 존재하는지를 알 수 있도록, 클라이언트는 서버에 의해 그에게로 전송된 모든 데이터의 수신을 확인 응답해야만 한다. 이것은 성공적으로 수신되어 저장된 각각의 데이터 파일에 대해 하나의 Ack 라인을 전송함으로써 행해진다.
Ack 라인 파라미터는 서버가 파일을 전송할 때 서버에 의해 할당된 ackID이다.
MSTP/0.1
RequestId: 123466
Client: MusicStation 0.4.6 MIDP Nokia/N70
UserGUID: AB12YZ
Ack: 2006061911030001CHARTS
이 요청은 클라이언트가 할당된 확인 응답 id, 2006061911030001CHARTS를 갖는 데이터 파일을 성공적으로 수신하여 저장하였음을 확인 응답하는 것을 보여준다.
클라이언트는 완전히 수신된 파일만을 확인 응답해야 한다. 클라이언트는 결코 부분적으로 수신된 파일을 확인 응답해서는 안된다. 클라이언트가 파일을 부분적으로 수신하는 경우, 클라이언트는 나머지 데이터에 대해 Get 범위 요청을 해야만 한다. 모든 데이터가 수신되어 저장된 경우, 클라이언트는 이 데이터에 대한 확인 응답을 전송할 수 있다.
5.1.2.3.4. 다수의 ack에 의한 클라이언트 확인 응답
요청은 다수의 확인 응답 라인을 포함할 수 있다.
MSTP/0.1
RequestId: 123466
Client: MusicStation 0.4.6 MIDP Nokia/N70
UserGUID: AB12YZ
Ack: 2006061911030001CHARTS
Ack: 2006061911030001INBOX
이 요청은 클라이언트가 데이터 파일을 성공적으로 수신하여 저장하였음을 확인 응답 id, 2006061911030001CHARTS 및 2006061911030001INBOX을 사용하여 확인 응답하는 것을 나타낸 것이다.
5.1.2.3.5. 확인 응답 없음 통지
클라이언트가 그가 요청한 데이터 파일을 성공적으로 수신하여 저장하지 못한 경우, 클라이언트는 서버에 확인 응답 없음 통지를 전송해야만 한다.
MSTP/0.1
RequestId: 123466
Client: MusicStation 0.4.6 MIDP Nokia/N70
UserGUID: AB12YZ
Nak: 2006061911030001CHARTS
이 요청은 데이터 파일의 수신 또는 저장에 문제가 있었음을 확인 응답 id, 2006061911030001CHARTS를 사용하여 서버에 알려주는 것을 나타낸 것이다. 서버는 이제 이 파일이 클라이언트에 존재하지 않는다는 것을 알게 된다.
보통, 클라이언트가 Nak를 전송할 때, Nak의 이유를 설명하는 어떤 부수적인 에러를 가지고 있을 수 있다. 서버가 Nak를 수신하지만 에러 데이터를 수신하지 않는 경우, 서버는 클라이언트에게 로그 파일 상세를 전송하도록 요청하고 싶을지도 모른다. 클라이언트가 계속하여 Nak를 서버에게로 전송하지 않는 경우, 서버는 그 원인을 아는 데 도움을 주기 위해 클라이언트에서의 로깅 레벨을 증가시키고자 할지도 모른다.
5.1.2.4. 세션 식별자
클라이언트가 서버에게로 전송하는 각각의 요청은 세션 식별자를 포함하고 있어야 한다. 클라이언트는 재기동들 간에 이 세션 식별자를 기억해서는 안된다. 기동 이후의 첫번째 요청 시에, 클라이언트는 세션 식별자를 포함해서는 안된다. 서버는 새로운 세션 식별자를 다시 전송하는 것으로 응답을 한다. 클라이언트는 사용자가 클라이언트를 닫을 때까지 모든 후속 요청에서 이 식별자를 포함해야만 한다.
MSTP/0.1
RequestId: 123467
Client: MusicStation 0.4.6 MIDP Nokia/N70
UserGUID: AB12YZ
Sessionld: FJSKNfBKSKSDKELSH
Get: inbox.data
이 요청은 클라이언트가 이전에 세션 식별자, FJSKNfBKSKSDKELSH를 할당받았음을 보여준다.
클라이언트가 이 세션 식별자를 어떻게 받는지에 관한 추가의 상세에 대해서는, '서버 "응답" 프로토콜' 섹션을 참고하기 바란다.
5.1.3. 서버 응답 프로토콜
5.1.3.1. 헤더
5.1.3.1.1. 프로토콜 식별자
서버 응답에서 사용되는 프로토콜 식별자는 클라이언트 요청 프로토콜 식별자와 동일해야만 한다. 클라이언트는 응답이 MusicStation 프로토콜 형식으로 되어 있는지를 알기 위해 이 식별자를 검사해야만 한다.
MusicStation에 의해 사용되는 프로토콜 식별자는 다음과 같다.
MSTP
5.1.3.1.2. 프로토콜 버전 번호
서버는 프로토콜의 많은 서로 다른 버전들을 동시에 지원할 수 있다. 서버는 항상 클라이언트가 요청에서 사용한 것과 동일한 프로토콜 버전 번호로 응답해야만 한다. 이렇게 해야 하는 이유는 이것이 클라이언트가 지원하는 것으로 서버가 확신할 수 있는 유일한 프로토콜 버전 번호이기 때문이다.
프로토콜 식별자와 함께, 클라이언트는 사용되고 있는 프로토콜 버전이 자기가 이해하는 버전인지를 알기 위해 응답에서의 프로토콜 버전 번호를 검사해야만 한다.
MSTP/0.1
이것은 서버가 프로토콜 버전 번호 0.1을 사용하여 MusicStation 전송 프로토콜 식별자를 전송하는 것의 예이다.
5.1.3.1.3. 응답 상태 코드
각각의 응답에서, 서버는 상태 코드를 전송한다. 상태 코드는 도 51에 나타내어져 있다.
상태 코드는 항상 4자리 숫자이다. 이렇게 하는 것은 장래의 확장을 고려하여 충분한 코드를 가능하게 해주기 위함이다. 3자리 숫자 코드는 HTTP 상태 코드와의 충돌을 피하기 위해 사용되지 않았다.
상태 코드는 확장가능하고, 새로운 코드가 언제라도 추가될 수 있다. 서버는 클라이언트가 이해하는 상태 코드만을 클라이언트가 전송받도록 한다.
상태 코드는 2개의 섹션으로 그룹화된다. 숫자 1로 시작하는 코드(즉, 1000 - 1999)는 성공적인 동작에 관한 코드용으로 사용된다. 숫자 2로 시작하는 코드(즉, 4000 - 5999)는 실패한 동작에 대해 사용된다. 실패 코드 범위 내에, 2가지 추가적인 그룹이 있다. 숫자 4로 시작하는 코드(즉, 4000 - 4999)는 클라이언트에서 잘못한 실패에 대해 사용된다. 숫자 5로 시작하는 코드(즉, 5000 - 5999)는 서버에서 잘못한 실패에 대해 사용된다.
이하의 예는 서버로부터의 성공적인 응답을 나타낸 것이다.
MSTP/0.1
StatusCode: 1000
5.1.3.1.4. 응답 식별자
클라이언트가 그가 수신하는 응답이 그가 행한 요청에 대한 응답인지를 확인하기 위해, 서버로부터의 각각의 응답은 클라이언트의 요청 식별자를 그대로 사용하고 있다.
MSTP/0.1
StatusCode: 1000
ResponseId: 234567
이 예는 요청 id, 234567를 갖는 클라이언트 요청에 대한 서버 응답을 나타 낸 것이다.
5.1.3.2. 세션 식별자 설정하기
클라이언트가 기동될 때마다 클라이언트로부터의 첫번째 요청은 세션 식별자를 포함하지 않는다. 서버는 새로 할당된 세션 식별자를 사용하여 이 요청에 응답한다.
MSTP/0.1
StatusCode: 1000
ResponseId: 234568
SetSessionId: FJSKNBKSKSDKFLSR
이 응답은 서버가 세션 id를 FJSKNBKSKSDKFLSR로 설정하는 것을 나타낸 것이다.
클라이언트가 SetSessionId 라인을 갖는 응답을 수신하는 경우, 클라이언트는 즉각 새 세션 id를 사용하여 시작해야만 한다. 서버가 세션 id를 이미 가지고 있는 클라이언트에 새 세션 id를 할당하는 경우들이 있을 수 있다. 예를 들어, 이러한 일은 세션이 서버에서 타임아웃되었을 때 일어날 수 있다.
5.1.3.3. 데이터 전송하기
서버로부터의 대부분의 응답들은 적어도 하나의 데이터 객체 파일을 포함할 가능성이 있다. 이들 데이터 파일은 응답의 보디로 전송된다.
클라이언트에 의한 요청으로 전송되는 각각의 Get 라인에 대해, 서버는 Sent 라인을 반환해야 한다.
서버는 데이터와 함께 전송하는 확인 응답 id를 발생해야만 한다. 이렇게 하는 것은 서버가 Ack 라인을 수신할 때 어느 데이터가 확인 응답되는지를 알기 위한 것이다. 전송된 데이터 파일을 일의적으로 식별해주도록 이들 확인 응답 id를 발생하는 일은 서버의 책임이다.
Sent 라인은 클라이언트가 데이터를 찾을 수 있는 데이터의 보디에 대한 바이트 오프셋 위치를 포함해야만 하고, 또한 데이터의 길이 및 데이터의 컨텐츠 유형도 포함해야만 한다. 바이트 오프셋 및 길이는 MusicStation 프로토콜에서 사용되는데, 그 이유는 이들이 비교적 간단한 처리에 도움이 되기 때문이다. 이것은 다중 부분 MIME에서 사용되는 바와 같이 경계 파라미터에 우선하여 사용된다.
도 52에서의 이러한 응답은 서버가 news1.data 파일을 전송하는 것을 나타낸 것이다.
5.1.3.3.1. 응답으로 다중 데이터 파일을 전송하기
서버는 또한 단 하나의 응답으로 다중 데이터 파일을 전송할 수 있다. 이것은 클라이언트가 다수의 Put 라인을 사용하여 서버로 자원을 전송하는 것과 동일한 방식으로 다수의 Sent 라인을 사용하여 행해진다.
도 53의 응답은 서버가 news2.data 및 news3.data를 전송하는 것을 나타낸 것이다.
응답의 보디에서, 데이터는 굵은체 텍스트로 나타내어져 있다. 클라이언트는 Sent 라인 상의 오프셋 및 길이 파라미터로 인해 어느 보디 데이터가 어느 데이터 파일에 대한 것인지를 알고 있다.
5.1.3.3.2. 부분 데이터 요청
클라이언트 요청이 어떤 범위의 데이터에 대한 것이고 서버가 이 범위의 데이터만을 전송하는 경우, 서버 응답은 어느 범위의 데이터가 전송되었는지를 표시해야만 한다. 도 54를 참조할 것.
이 응답은 반환된 데이터가 바이트 160부터 끝까지의 데이터라는 것을 보여준다. 40 바이트의 이러한 데이터가 있으며, 이는 데이터의 보디까지 0 바이트인 곳에(즉, 보디의 시작에) 위치해 있다.
유의할 점은 오프셋 값이 데이터의 보디에 대한 인덱스이고 범위 값과 전혀 관계가 없다는 것이다. 값의 범위는 응답에서의 데이터가 데이터 파일의 끝까지 가지 않는다는 것을 보여주기 위해 Sent 라인에서 사용될 수 있다.
클라이언트는 항상 응답 헤더를 판독하고 클라이언트가 전송한 요청 헤더가 아니라 이들을 사용하여 데이터를 처리해야 한다. 이렇게 하는 이유는 서버가 어떤 이유로 전체 데이터 파일을 반환하는 경우 요청된 범위가 반환된 범위가 아닐 수 있기 때문이다.
5.1.3.3.3. 클라이언트에 데이터 푸시하기
서버는 또한 그가 클라이언트로 푸시하고자 하는 데이터를 위해 Sent 라인을 전송할 수 있다. 이것은 서버가 클라이언트가 요청에서 대응하는 Get 라인을 전송하지 않았다는 Sent 라인을 전송함으로써 행해진다. 도 55를 참고할 것.
이 응답은 서버가 news1.data 및 command.data 파일을 전송하는 것을 나타낸 것이다. 푸시된 데이터는 항상 응답 보디에서 요청된 데이터 다음에 온다.
5.1.3.4. 확인 응답
5.1.3.4.1. 수신된 데이터 확인 응답하기
클라이언트가 서버에게로 데이터(예를 들어, 에러 데이터)를 전송할 때, 서버는 서버가 이 데이터를 성공적으로 수신했음을 클라이언트가 알도록 하기 위해 이 데이터의 수신을 확인 응답해야만 한다.
MSTP/0.1
StatusCode: 1000
ResponseId: 234569
Ack: 3
이 응답은 클라이언트가 Put 라인으로 전송하고 클라이언트가 확인 응답 id, 3을 할당했던 데이터 파일의 수신을 서버가 확인 응답하는 것을 나타낸 것이다.
5.1.3.4.2. 확인 응답 없음 통지 전송하기
똑같이, 서버도 데이터의 수신 또는 저장에 문제가 있었던 경우 데이터의 수 신을 부정 확인 응답할 수 있다. 이것은 클라이언트가 데이터를 재전송할 수 있게 해준다.
MSTP/0.1
StatusCode: 1000
ResponseId: 234569
Nak: 4
이 응답은 클라이언트가 확인 응답 id, 4를 할당했던 데이터 파일의 수신 실패를 서버가 확인 응답하는 것을 나타낸 것이다.
5.1.3.4.3. 확인 응답 요청
서버가 클라이언트에게로 데이터를 전송했고, 다른 요청 id를 갖는 클라이언트로부터의 그 다음 요청에서, 서버가 그 데이터에 대한 확인 응답을 수신하지 못한 경우, 서버는 클라이언트가 데이터를 수신했는지 여부를 확인 응답하도록 클라이언트에 요청할 수 있다.
이것은 서버가 응답으로 AckRequired 라인을 전송함으로써 행해진다.
MSTP/0.1
StatusCode: 1000
ResponseId: 234574
AckRequired: 20060619111230NEWS2
이것은 서버가 이전에 확인 응답 id, 20060619111230NEWS2와 함께 전송되었 던 데이터 파일을 확인 응답하도록 클라이언트에 요청하는 것의 예이다.
유의할 점은 서버가 데이터 파일의 확인 응답을 요청할 필요가 없고, 클라이언트가 자동적으로 전송해야만 한다는 것이다. 접속이 완전하지 못하고 클라이언트로부터의 이전에 전송된 확인 응답이 어떤 이유로 서버에 도달하지 못한 경우 AckRequired 라인이 사용된다.
5.1.4. 접속 레벨
클라이언트는 다양한 레벨의 접속 속도, 신뢰성, 대역폭 및 지연시간을 갖는다.
각각의 클라이언트 데이터 객체 요청은 그와 연관된 미리 정의된 우선순위 레벨을 갖는다.
클라이언트는 가용 대역폭 및 성공적인 접속의 수에 기초하여 그의 접속 레벨 문턱값을 동적으로 변경한다. 우선순위 레벨로는 다음과 같은 것들이 있다.
Figure 112008084031862-PCT00247
IMMEDIATE - 클라이언트는 이 요청을 즉각 전송해야만 하고 이 요청을 큐잉해서는 안된다. 이것은 사용자에 의해 요청된 화면을 보여주는 데 필요한 데이터 객체를 요청하기 위해 사용되어야 한다.
Figure 112008084031862-PCT00248
SOON - 이 클라이언트는 네트워크 속도/대역폭이 이용가능한 경우 이 요청을 즉각 전송해야만 한다. 이 정보는 어느 데이터 객체를 클라이언트로 푸시할지를 결정함에 있어서 서버에 유용하다.
Figure 112008084031862-PCT00249
WHENEVER - 클라이언트는 시간 임계적인 기간에 서버로 이 정보를 전송할 필요가 없다. 서버는 이 정보를 통보받을 필요가 있지만, 이 데이터는 그 다음 요청과 함께 전송될 수 있다.
클라이언트는 대량의 데이터를 전송하는 데 걸리는 시간에 기초하여 그의 대역폭을 계산할 수 있다. 이것은 아마도 오디오 파일을 전송할 때 행해지는 것이 최상이다.
클라이언트는 대역폭 및 성공적인 접속의 수와 더 높은 우선순위의 요청을 전송하기 위해 중단된 접속의 수에 기초하여 그의 접속 문턱값을 계산할 수 있다.
양호한 접속성을 갖는 클라이언트는 우선순위 SOON 이상의 모든 메시지가 즉각 전송될 수 있게 해주는 접속 문턱값을 갖는다.
좋지 않은 접속성을 갖는 클라이언트는 IMMEDIATE 메시지만이 즉각 전송될 수 있게 해주는 접속 문턱값을 갖는다.
5.1.5. 명령 데이터 객체
MusicStation MIDP 0.4.6에서, 존재하는 유일한 데이터 객체는 컨텐츠 데이터 객체이다. 접속형 MusicStation 버전에서는 새 유형의 데이터 객체가 요구된다. 이들은 서버가 다양한 데이터를 요청하거나 클라이언트로 전송하기 위해 필요하다. 이들 데이터 객체는 MusicStation 전송 프로토콜에 의해 전송되지만, MusicStation 전송 프로토콜의 일부는 아니다. 이들이 이 프로토콜의 일부가 아닌 이유는 서로 다른 클라이언트 구현에 대해 서로 다른 명령 객체가 사용되지만 모든 구현에 대해 동일한 전송 프로토콜이 사용되기 때문이다.
5.1.5.1. 서버 명령 데이터 객체
컨텐츠 데이터 객체 및 이미지 파일에 부가하여, 서버는 이하의 명령들을 클라이언트로 전송할 수 있어야 한다.
Figure 112008084031862-PCT00250
총 파일 공간 크기를 서버로 보내기.
Figure 112008084031862-PCT00251
남아 있는 파일 공간 크기를 서버로 보내기.
Figure 112008084031862-PCT00252
로그 파일을 서버로 보내기.
Figure 112008084031862-PCT00253
에러를 서버로 보내기.
Figure 112008084031862-PCT00254
클라이언트 로깅 레벨 변경하기.
Figure 112008084031862-PCT00255
속성 설정하기.
Figure 112008084031862-PCT00256
속성 가져오기.
Figure 112008084031862-PCT00257
파일 삭제하기.
Figure 112008084031862-PCT00258
어떤 파일을 가지고 있는지의 상세 보내기.
Figure 112008084031862-PCT00259
대역폭 상세 보내기.
Figure 112008084031862-PCT00260
접속 레벨 변경하기.
Figure 112008084031862-PCT00261
데이터 파일 요청하기.
Figure 112008084031862-PCT00262
오디오 파일 요청하기.
Figure 112008084031862-PCT00263
등록 데이터.
새로운 기능이 클라이언트 및 서버에 추가되기 때문에 이 목록에 항목들이 추가될 수 있다.
주목해야 하는 것은 서버가 빈번하게 클라이언트보다 클라이언트의 접속 상세를 더 잘 알고 있다는 것이다. 예를 들어, Nokia N80 상의 MIDP 클라이언트는 HTTP 접속이 통신사업자 게이트웨이를 통하는지 무선 LAN을 통하는지를 알 방법이 없다. 서버는 클라이언트 접속이 통신사업자 게이트웨이를 통하는지를 알게 되는데, 그 이유는 그 접속이 기지의 통신사업자 IP 주소 범위로부터 오고 있기 때문이다.
5.1.5.2. 클라이언트 명령 데이터 객체
클라이언트는 이하의 데이터를 서버로 전송할 수 있어야 한다.
Figure 112008084031862-PCT00264
재생 목록 데이터
Figure 112008084031862-PCT00265
이미지 데이터
Figure 112008084031862-PCT00266
총 파일 공간
Figure 112008084031862-PCT00267
이용가능한 파일 공간
Figure 112008084031862-PCT00268
로그 파일 데이터
Figure 112008084031862-PCT00269
현재 로깅 레벨
Figure 112008084031862-PCT00270
에러 정보
Figure 112008084031862-PCT00271
다른 파일을 위한 공간을 마련하기 위해 어느 파일이 삭제되었는지에 관한 정보
Figure 112008084031862-PCT00272
현재 대역폭 레벨
Figure 112008084031862-PCT00273
사용된 데이터 파일
Figure 112008084031862-PCT00274
보여지는 화면
Figure 112008084031862-PCT00275
속성값
Figure 112008084031862-PCT00276
현재 클라이언트 시간
Figure 112008084031862-PCT00277
등록 데이터
5.1.5.3. 타이밍
서버는 다양한 클라이언트 이벤트가 발생한 시간을 기록한다.
클라이언트는 GMT 1970년 1월 1일 자정 이후의 초 수로 서버에 시간을 보고해야만 한다.
예를 들어, MIDPl.0에서, 이것은 다음과 같이 획득될 수 있다.
Calendar.getInstance(TimeZone.getTimeZone("GMT")).getTime().getTime()
MIDP 규격에서는 GMT 시간대가 지원되어야만 하지만, 어떤 이유로 지원되지 않는 경우, 핸드셋은 클라이언트 시간을 얻기 위해 간단히 이하의 것을 사용할 수 있다.
(new Date()).getTime()
각각의 클라이언트는 그 자신의 시간 설정을 사용하여 타이밍 데이터를 저장한다. 이 데이터가 서버로 전송될 때, 서버는 이들 이벤트 타이밍을 그 자신의 형식으로 변환하여 저장할 수 있다.
서버는 클라이언트의 로컬 시간을 그 자신의 시간과 비교함으로서 이것을 하게 된다. 그러면, 클라이언트가 보고한 시간과 서버 시간 간의 차이가 계산될 수 있다.
현재의 클라이언트 시간 명령 객체는 서버가 계산한 시간이 가능한 한 정확하도록 하기 위해 데이터가 서버로 전송된 시간을 포함해야만 한다.
5.2. 클라이언트 데이터 동기화
5.2.1. 서론
MusicStation에서의 대부분의 화면은 데이터로 채워져 있다. 이 데이터는 서버로부터 전송되어 클라이언트 상의 파일들에 로컬적으로 저장된다. 서버 상의 데이터가 변경될 때, 이 변경을 반영하기 위해 클라이언트 상의 파일들이 업데이트될 필요가 있다. 또한, 사용자는 클라이언트 상의 파일들을 생성 및 수정할 수 있다, 예를 들어, 재생 목록에 트랙을 추가할 수 있다. 이들 변경은 서버로 다시 신뢰성있게 전달되어야 한다.
사용자는 또한 MusicMate를 통해 데이터를 변경할 수 있다. 이들 변경은 장치 상에서 행해진 변경과 충돌할 수도 있다. 클라이언트 및 서버는 그의 데이터를 동기화시킬 수 있어야 하며, 서버는 충돌 해결을 처리하게 된다.
5.2.2. 데이터 객체
데이터 객체는 서버와 클라이언트 간에 전달되는 객체의 기본 단위이다. 이들은 클라이언트 인터페이스 내에 디스플레이되는 어떤 개체의 표현(음악가, 앨범, 기타 등등) 또는 데이터를 캡슐화하고 (사용자-정의된 재생 목록과 같이) 서버로 다시 전송되어야 한다. 이들은 서버와 클라이언트 간에 전달되고 전화에 안전하게 저장된다. 데이터 객체는 서버가 클라이언트 상의 무언가를 업데이트할 필요가 있는 언제라도 서버에 의해 클라이언트로 전달될 수 있다.
데이터 객체는 그 자신을 파일에 기록할 수 있고, 이들은 클라이언트와 서버 간에 데이터를 전송하는 데 사용된다. 파일 헤더는 파일을 기록하는 데 사용되는 데이터 객체 버전을 포함한다. 최신 버전의 데이터 객체가 모든 지원되는 버전에서 파일을 판독 및 기록할 수 있다. 이 버전은 각각의 판독 및 기록 메서드로 전달되고 이렇게 함으로써 이 버전에 기초하여 판독 또는 기록되는 것이 전환될 수 있다.
이 메서드를 사용하여, 서버는 이전 버전의 클라이언트에 대한 데이터 객체 파일을 기록할 수 있다. 타겟 버전은 파일 헤더에 설정되고, 각각의 기록 메서드는 출력이 그 버전에 대한 형식으로 되어 있도록 한다.
서버는 또한 동일한 메서드를 사용하여 이전의 클라이언트에 의해 기록된 파일을 판독할 수 있다. 파일이 데이터 객체 내로 판독될 때, 판독 메서드는 이 버전을 사용하여 그 파일로부터 어떤 속성을 판독할지를 전환한다. 데이터 객체는 MusicStation에서의 화면들을 채우는 데 사용되는 데이터를 포함하고 있다. 이 데이터 객체들은 그 자신을 파일 또는 스트림에 기록하고 그로부터 판독할 수 있게 해주는 메서드를 사용한다. 이 데이터 객체들은 클라이언트와 서버 간에 데이터를 전송하고 데이터를 로드하여 메모리 카드 상의 파일들에 저장하는 데 사용된다.
5.2.2.1. 데이터 객체 그룹
데이터 객체는 다른 데이터 객체들의 집합체를 포함할 수 있으며, 예를 들어, 음악가 데이터 객체는 릴리스의 집합체를 포함하고 있다. 차례로, 릴리스는 트랙의 집합체를 포함한다. 도 56을 참조할 것.
데이터 객체는 또한 객체들의 목록을 저장할 수 있으며, 예를 들어, ArtistGroup은 음악가들의 목록을 저장한다. 'My Artists' 화면은 ArtistGroup 데이터 객체를 사용하여 사용자가 가지고 있는 모든 음악가를 디스플레이한다. Artist가 Release들을 포함하고 Release가 Track들을 포함하기 때문에, 음악가 및 릴리스도 데이터 객체 그룹이다.
5.2.2.2. 데이터 객체 뷰
데이터 객체 뷰는 데이터 객체 그룹의 정렬되고 필터링된 뷰를 제공한다. 데이터로 채워져 있는 MusicStation에서의 모든 화면들은 하나 이상의 뷰에 의해 뒷받침되고 있다. 데이터 객체에 대한 변경은 뷰로 전파되고 이 뷰는 이들 변경을 반영하기 위해 화면을 갱신하는 일을 맡고 있다.
이렇게 함으로써 데이터 객체가 로드되기 직전에 화면을 디스플레이할 수 있게 된다. 데이터 객체가 백그라운드에서 로드되기 때문에, 이들 변경은 화면의 갱신을 가져오며, 예를 들어, 'My Artists' 화면 상의 음악가들의 목록이 각각의 음악가가 로드됨에 따라 커진다.
5.2.3. 데이터 객체 파일
각각의 데이터 객체 그룹은 파일에 로컬적으로 저장된다. 예를 들어, 'My Artists' ArtistGroup은 그 자신의 파일에 저장된다. 사용자가 100명의 음악가(각각이 20개의 트랙을 포함하는 앨범*을 평균적으로 2개 가지고 있음)를 가지고 있는 경우, 이 데이터 객체는 곧 아주 커지게 된다. 이 ArtistGroup 객체가 기록될 때, 이 객체는 큰 파일을 생성하고 파일로부터 다시 판독될 때 이를 채우는 데 잠시 시간이 걸린다.
* 사용자가 앨범 둘다를 가질 필요는 없지만 앨범 둘다가 음악가 데이터 파일에 존재한다.
대안의 방법은 객체들의 집합체 각각을 그 자신의 파일에 저장하는 것이다. 따라서, 'My Artists' 예에서, 음악가들의 목록이 파일(userartists.data)에 저장되지만, 각각의 음악가에 대한 앨범들의 목록은 저장되지 않는다. 앨범들의 목록은, 각각의 음악가마다 하나씩있는 별도의 음악가 파일(예를 들어, artist.123.data)에 저장된다. 각각의 앨범은 트랙들을 포함하는 그 자신의 파일(release.4567.data)에 저장된다. 도 57을 참조할 것.
각각의 데이터 객체가 그 자신의 파일에 저장되기 때문에, 객체 그룹들은 데이터를 복제할 필요없이 동일한 데이터 객체를 사용할 수 있다. 예를 들어, 'Snow Patrol'은 'My Artists' 그룹 및 'Popular Artists' 그룹에 있다. 사용자가 'Eyes Open' 앨범으로부터 'Chasing Cars'를 구입하는 경우, 'Eyes Open' 앨범 데이터 파일을 갱신하기만 하면 된다. 사용자가 "Popular Artists'로, 이어서 'Snow Patrol'로 이동할 때, 화면은 사용자가 'Chasing Cars'를 구입했음을 보여준다. 도 58을 참조할 것.
그렇지만, 이 방식은 그 자신의 일련의 문제들을 야기한다. 'My Artists' 데이터 파일이 음악가 id의 목록만을 포함하고 있기 때문에, 각각의 음악가 파일을 열고 'My Artists' 화면을 채우기 위해 각각의 음악가의 이름을 판독할 필요가 있다. 이 방식에서는 몇가지 주요 문제점이 있다. 첫째, 모든 음악가 파일을 로컬적으로 저장해야 하고 따라서 누락된 파일이 서버로부터 다운로드되어야 한다. 이들 파일이 없는 경우, 음악가 이름을 디스플레이할 수 없다. 둘째, 목록에 있는 각각의 음악가에 대해 새로운 파일 접속을 여는 것은 비교적 비용이 많이 들며, 따라서 이 방식은 속도가 느리다.
이것을 피하기 위해, 음악가 이름은 물론 id를 'My Artists' 데이터 파일에 저장할 수 있다. 이것이 의미하는 바는 'My Artists' 목록을 신속하게 작성할 수 있다는 것이다. 그렇지만, 이름이 이제는 음악가 그룹 데이터 파일 및 음악가 데이터 파일 둘다에 저장되어 있기 때문에, 중복성이 유입된다. 도 59를 참고할 것.
또한 다른 속성을 바탕으로 목록을 정렬 또는 필터링하고자 할 수도 있다. 예를 들어, 'Search Results'는 목록의 상단에 사용자가 가지고 있는 음악가를 보여준다. 이것을 하기 위해, 목록을 디스플레이하기 위해 소유자 속성은 물론 이름을 필요로 한다. 이것은 그룹 데이터 파일에 추가하게 되는 더 중복적인 데이터이다. 객체가 많은 그룹들에 저장될 수 있기 때문에, 이 중복성을 알고 있을 필요가 있으며 클라이언트 또는 서버가 갱신을 책임지도록 할 필요가 있다. 일반적으로, 서버는 이들 갱신을 책임지고 이들 갱신은 클라이언트 요청에 응답하여 클라이언트로 이전된다. 클라이언트가 오프라인일 때 이들 변경이 행해질 수 있을 때마다, 클라이언트는 이들 변경을 전달할 책임을 지게 된다. 이들 경우에, 클라이언트는 온라인이든 오프라인이든 간에 로컬 파일을 갱신한다. 예를 들어, 고객이 재생 목록 이미지를 수정할 때, 그 재생 목록을 포함하는 재생 목록 그룹이 갱신되어야만 한다.
5.2.4. 데이터 객체 전송
데이터 객체는 접속형 MusicStation 프로토콜(Connected MusicStation Protocol)을 사용하여 클라이언트와 서버 사이에서 전송된다. 클라이언트와의 대부분의 통신은 HTTP를 통할 것으로 예상되며, 따라서 클라이언트는 초기 요청을 할 책임이 있다.
5.2.4.1. 클라이언트 요청
객체가 메모리 카드 상의 어디에 복제되어 있는지를 클라이언트가 항상 알게 되는 것은 아니다. 예를 들어, 'Popular Artists' 그룹이 클라이언트로 푸시되었지만, 클라이언트는 결코 'Popular Artists'를 열지 않았고 사용자가 'Snow Patrol'의 'Chasing Cars'을 구입할 때 이것을 반영하기 위해 'Popular Artists' 데이터 파일이 갱신될 필요가 있음을 알지 못한다. 그렇지만, 서버는 이것을 알고 있는데, 그 이유는 서버가 'Popular Artists' 데이터 파일을 작성했고 이 파일을 클라이언트로 전송했기 때문이다.
이 때문에, 서버는 서버 상의 기록이 수정될 때 클라이언트 상의 파일을 갱신할 책임이 있다. 고객이 'Chasing Cars'를 구매할 때, 서버는 클라이언트 상의 어느 데이터 파일이 'Chasing Cars'를 포함하고 있고 따라서 갱신될 필요가 있는지를 계산한다. 이어서, 서버는 이들 갱신된 객체를 구매 응답과 함께 푸시하거나 가능할 때 이들 파일을 갱신하라는 명령을 클라이언트에게로 전송한다. 이 응답이 요청의 결과로서 수정된 모든 데이터 객체를 포함하는 것이 바람직하다. 클라이언트가 객체를 설정하고 모든 수정된 객체를 가져오는 것을 나타낸 도 60을 참조할 것.
5.2.4.2. 데이터 객체 푸시
클라이언트가 오프라인인 동안에 서버 상에서 기록이 갱신되고 이들 변경이 클라이언트로 전달될 필요가 있을 때, 서버는 그 다음 요청 시에 이들을 클라이언트로 푸시하게 된다. 예를 들어, 고객이 MusicMate로부터 'Chasing Cars'를 구매하는 경우, 고객이 그 다음에 서버에 접속할 때, 갱신될 필요가 있는 객체가 클라이언트로 푸시된다. 클라이언트가 객체를 요청하고 모든 수정된 객체를 가져오는 것을 나타낸 도 61을 참조할 것.
5.2.4.3. 오프라인 모드
클라이언트가 오프라인일 때, 고객은 데이터를 수정할 수 있는 대부분의 동 작을 수행하지 못한다. 예를 들어, 고객은 트랙을 구입할 수 없다. 그렇지만, 고객들은 재생 목록을 생성, 편집 및 공유할 수 있어야만 한다. 클라이언트는 클라이언트 상에서 편집되었지만 서버로 전송되지 않은 파일들의 목록을 유지해야 한다. 클라이언트가 그 다음에 접속될 때, 클라이언트는 이들 파일을 서버로 전송해야만 한다. 클라이언트에 의해 행해진 모든 변경은 클라이언트가 그 다음에 접속될 때 서버로 전송된다. 이어서, 서버는 수정된 파일을 클라이언트로 반환한다. 클라이언트가 오프라인 코드에서 수정된 객체들을 전송하는 것을 나타낸 도 62를 참조할 것.
5.2.5. 변경 로그
서버는 클라이언트로 전송된 객체들의 목록을 유지한다. 이들 객체 중 하나 이상이 서버 상에서 수정될 때, 이 수정된 객체들은 가능한 한 빨리 클라이언트로 전달되어야만 한다. 이와 마찬가지로, 클라이언트는 클라이언트 상에서 생성 또는 수정되고 서버 상에서 갱신될 필요가 있는 객체들의 목록을 유지한다.
object_change_log 테이블은 즉각 전송될 필요가 없는 변경들이 저장되어 있는 곳이다. 이것은 새로운 음악가를 추가하는 것과 같은 일반적이고 시스템 전반적인 변경들을 위한 것이다. 이 테이블은 또한 몇개의 데이터베이스로부터 행해진 변경들을 병합하는 일도 처리한다. 이들 변경은 그 다음에 사용자 세션이 생성될 때 전달된다. 고객 관련 변경은 customer_object_change_log에서 행해진다. 이들 변경은 즉각 클라이언트로 전달된다.
5.2.5.1. 서버 객체
서버 상에서의 객체들에 대한 변경은 object_change_log 테이블에 저장된다. 하나 이상의 객체 데이터 파일에 영향을 줄지도 모르는 레코드가 삽입, 갱신 또는 삭제될 때마다, 하나 이상의 레코드가 이 테이블에 삽입된다. 이 테이블은 또한, 예를 들어, 준비 서버(staging server) 상의 별도의 데이터베이스에서 변경이 행해질 수 있게 해주고, 이어서 변경들이 가져오기될 때, object_change_log도 가져오기된다. 객체 변경 로그를 나타낸 도 63을 참조할 것.
클라이언트 상에 존재하는 데이터 객체들의 목록이 서버 상의 customer_object 테이블에 저장된다. 클라이언트에 대해 세션이 생성될 때마다, 이 고객에 대해 어느 객체가 변경되었는지를 결정하기 위해 customer_object 및object_change_log 테이블을 질의한다. 이 질의는 단 하나의 객체에 대해 몇개의 변경 레코드를 반환할 수 있다. 이러한 경우에, 마지막 변경 레코드만을 고려하면 된다. 변경된 객체들은 클라이언트로 반환되어야 한다. 고객 객체를 나타낸 도 64를 참조할 것.
클라이언트에 반환되어야 하는 객체들은 customer_object_change_log 테이블에 삽입된다. 단지 한명의 고객에 영향을 주는 객체들에 대해 변경이 있을 때 이 테이블에 레코드들이 삽입될 수 있다. 예를 들어, 고객이 트랙을 구입하고 우리가 그 트랙을 참조하는 객체 데이터 파일을 갱신해야만 할 때에 그렇다. 고객 객체 변경 로그를 나타낸 도 65를 참조할 것.
클라이언트로부터 요청을 수신할 때마다, 모든 수정된 객체들을 응답으로 반환하고자 한다. (대역폭이 제한되어 있거나 객체들이 큰) 어떤 상황에서, 수정된 객체들을 나중에 요청하기 위해 클라이언트로 명령을 전송할 수 있다. 많은 객체들이 클라이언트로 반환되어야 하는 상황에서, 어느 객체가 먼저 전송되는지를 결정하기 위해 우선순위 필드가 사용된다.
클라이언트에 대한 수정된 객체들의 목록을 가져오기 위해, acknowledgement_date가 널인 경우 customer_object_change_log 테이블로부터 선택을 한다.
언뜻 보기에, 각각의 object_guid에 대해 object_modified_date가 복제되어 다른 테이블로 분리될 수 있는 것처럼 보인다. 그렇지만, 성능 이유로, 클라이언트 상의 객체 데이터 파일은 2개 이상의 테이블로부터의 데이터를 포함하며, 객체가 한 클라이언트 상에서는 갱신을 필요로 할 수 있지만 다른 클라이언트에서는 갱신을 필요로 하지 않을 수 있다. 예를 들어, 음악가 목록은 사용자 소유의 음악가가 상단에 정렬될 수 있게 하기 위해 각각의 음악가에 대한 소유 정보를 포함한다. 고객이 음악가의 트랙을 구입할 때, 그 고객의 음악가 목록만이 수정되었고 갱신될 필요가 있다. object_change_log 및 customer_object_change_log 테이블을 갱신하기 위해 이하의 방법들 중 하나 이상이 사용될 수 있다.
Figure 112008084031862-PCT00278
데이터가 추가, 갱신 또는 삭제되었을 때, 테이블 상의 데이터베이스 트리거(database trigger)가 object_change_log 테이블을 채울 수 있다.
Figure 112008084031862-PCT00279
새로운 컨텐츠 데이터를 가져오기 할 때 일괄 프로세스(batch process)가 object_change_log 테이블을 채운다.
Figure 112008084031862-PCT00280
EJB 존속, 갱신 및 제거 이벤트 시에 개체 리스너 또는 콜백 메서드가 사용된다.
대부분의 경우에, 콜백 메서드가 가장 적절하지만, 대부분의 삽입, 예를 들어, 데이터 로드의 경우, 다른 메서드를 사용하는 것이 더 효율적일 수 있다.
5.2.5.2. 클라이언트 객체
클라이언트는 또한 서버로 전송되어야만 하는 변경의 로그를 유지해야만 한다. 클라이언트는 이 목록을 RMS에 유지한다. 각각의 변경은 ChangeLogRecord 객체에 저장된다. 도 66을 참조할 것.
objectGUID는, 클라이언트가 이 객체를 추가한 것이 아닌 한, 서버 상의 객체를 식별하는 데 사용되는 동일한 GUID이다. 이러한 경우에, 클라이언트는 서버가 객체를 그의 새로운 서버 발생 GUID로 갱신할 때까지 사용될 임시 GUID를 할당한다.
클라이언트가 서버에 접속될 때마다, 클라이언트는 변경 로그 내의 모든 객체들을 전송한다. 서버는 각각의 객체에 대한 확인 응답으로 응답해야만 한다. 클라이언트가 확인 응답을 수신할 때, 클라이언트는 대응하는 ChangeLogRecord를 삭제한다.
5.2.6. 충돌 해결
클라이언트 및 서버 상에서 동일한 객체가 수정되었기 때문에 충돌이 일어날 때, 서버가 이 충돌을 해결할 책임이 있다. 서버는 클라이언트에 갱신된 객체를 전송함으로써 이 해결을 클라이언트에 통신한다.
서버가 대부분의 갱신을 책임지도록 함으로써 충돌이 발생할 수 있는 상황의 수를 최소화하려고 한다. 단지 몇몇 경우에서만 클라이언트는 객체를 수정하고 그 변경을 서버로 전송할 수 있다.
프로토타입에서, 클라이언트 수정은 이하의 것들로 제한되어 있다.
1. 재생 목록의 생성
2. 재생 목록의 편집
3. 재생 목록의 삭제
4. 고객 프로파일(캐치프레이즈, 아이콘)의 편집
5. 트랙의 평가
충돌 해결 전략을 설계할 때, 이하의 유형의 충돌을 염두에 두어야 한다.
Figure 112008084031862-PCT00281
레코드에 대한 갱신이 다른 갱신과 충돌할 때 갱신 충돌 (update conflict)이 일어난다.
Figure 112008084031862-PCT00282
레코드에 대한 갱신이 충돌하는 레코드에서의 고유성 제약을 위반할 때 고유성 충돌 (uniqueness conflict)이 일어난다.
Figure 112008084031862-PCT00283
삭제된 레코드가 갱신될 때 삭제 충돌 (delete conflict)이 일어난다.
5.2.7. 사용 사례
객체가 갱신 또는 삭제될 때마다, object_change_log 또는 customer_object_change_log 테이블이 이 변경을 반영하기 위해 갱신되어야만 한다. 클라이언트 상의 객체 데이터 파일이 중복하는 데이터를 포함하기 때문에, 변경이 2개 이상의 객체에 영향을 줄 가능성이 있다.
5.2.7.1. 서버 변경
5.2.7.1.1. 음악가가 새 앨범을 발표함
음악가 'Snow Patrol'이 앨범 'Eyes Open'을 발표한다. 'Snow Patrol'에 대한 음악가 데이터 파일을 포함하는 모든 클라이언트는 갱신되어야 한다.
먼저, 'Snow Patrol' 및 'Eyes Open'에 대한 변경 레코드를 object_change_log 테이블에 삽입한다. 도 67을 참조할 것.
'Snow Patrol' 음악가 파일을 갖는 고객이 서버에 연결되고 세션이 생성될 때, customer_data_object 테이블이 object_change_log 테이블과 조인되어 이 고객에 대해 수정된 객체를 찾아낸다.
SELECT FROM customer__object, object_change_log
WHERE customer_object.object_guid = object_change_log.object_guid AND
customer_object.deleted_date IS NOT NULL AND
customer_object.object_modified_date < object_change_log.object_modified_date;
이 질의는 'Snow Patrol' object_change_log 레코드를 반환한다. 이 레코드 는 customer_object_change_log 테이블에 삽입된다. 도 68을 참조할 것.
customer_object.modified_date 필드도 역시'18/07/2006 13:16:33'로 갱신된다.
'Snow Patrol' 데이터 파일은 이어서 클라이언트로 전송되고 customer_object_change_log.acknowledgement_id 필드가 설정된다. 클라이언트가 파일을 확인 응답할 때, customer_object_change_log.acknowledgement_date 필드가 설정된다.
5.2.7.1.2. 음악가가 제거됨
음악가 'Cliff Richard'가 MusicStation으로부터 제거된다. 'Cliff Richard' 데이터 파일을 저장하고 있거나 'Cliff Richard'를 포함하는 목록을 갖는 모든 클라이언트는 갱신될 필요가 있다.
object_change_log 테이블이 갱신되고, 이하의 객체들에 대해 삭제된 레코드가 삽입된다.
Artist
Artist.getAlbums()
Artist.getLists()
Artist.getAlbums().getlists()
Artist.getPlaylists()
5.2.7.1.3. 고객이 재생 목록을 공유함
고객은 새로운 재생 목록 'Sunday Stroll'을 생성하고 공유하기로 결정한다. 클라이언트는 이 새로운 재생 목록을 서버로 전송한다. 어떤 변경이라도 그 다음 요청 시에 서버로 전송된다. 재생 목록에 추가하기 위해 트랙을 브라우징할 때, 서버와 통신하고 있을 수 있으며, 매번마다 변경들이 전송된다.
Playlist 객체가 생성될 때, object_change_log 테이블이 갱신되고, 고객의 데이터 객체 파일을 갖는 모든 클라이언트에 대해 레코드가 customer_object_change_log에 삽입된다.
5.2.7.1.4. 고객이 재생 목록을 변경하고 공유함
고객은 새로운 재생 목록 'Sunday Stroll'을 생성하고 공유하기로 결정한다. 클라이언트는 이 새로운 재생 목록을 서버로 전송한다. 어떤 변경이라도 그 다음 요청 시에 서버로 전송된다. 재생 목록에 추가할 트랙을 브라우징하고 있을 때, 서버와 통신하고 있을 수 있으며, 매번마다 변경들이 전송된다.
Playlist 객체가 생성될 때, object_change_log 테이블이 갱신되고, 고객의 데이터 객체 파일을 갖는 모든 클라이언트에 대해 customer_object_change_log에 레코드가 삽입된다.
5.2.7.1.5. 고객이 재생 목록을 공유함
고객은 새로운 재생 목록 'Sunday Stroll'을 생성하고 공유하기로 결정한다. 클라이언트는 이 새로운 재생 목록을 서버로 전송한다. 어떤 변경이라도 그 다음 요청 시에 서버로 전송된다. 재생 목록에 추가할 트랙을 브라우징하고 있을 때, 서버와 통신하고 있을 수 있으며, 매번마다 변경들이 전송된다.
Playlist 객체가 생성될 때, object_change_log 테이블이 갱신되고, 고객의 데이터 객체 파일을 갖는 모든 클라이언트에 대해 customer_object_change_log에 레코드가 삽입된다.
5.2.7.1.6. 고객이 언어를 변경함
고객이 다른 언어를 선택한다. 갱신될 언어 관련 데이터를 포함하는 모든 파일을 원한다.
이 변경을 반영하기 위해 메시지 속성 파일 및 에디터 캡션(editor caption) 둘다가 갱신될 필요가 있다. 재생 목록만이 클라이언트 상에서 에디터 캡션을 디스플레이하며, 따라서 에디터 캡션을 갖는 클라이언트 상의 재생 목록에 대해, customer_object_change_log에 레코드가 삽입된다.
5.2.7.1.7. 고객이 재생 목록에 추가하는 반면 서버는 트랙을 삭제함
사용자가 오프라인 동안에 재생 목록에 트랙 T를 추가한다. 한편, 서버는 트랙 T를 삭제한다.
T가 삭제될 때, object_change_log에 레코드가 삽입된다. 클라이언트가 갱신된 재생 목록을 전송할 때, 이 변경들을 object__change_log 내의 레코드와 비교 하고 재생 목록으로부터 그 트랙을 삭제하여 이를 다시 전송한다. 고객은 이것을 통보받지 않고, 트랙은 단지 사라지게 된다.
5.2.7.1.8. 고객이 트랙을 재생 목록에 추가하는 반면 서버는 트랙의 이름을 변경함
사용자가 오프라인 동안에 재생 목록에 트랙 T를 추가한다. 한편, 서버는 트랙 T의 이름을 변경한다.
T의 이름이 변경될 때, object_change_log에 레코드가 삽입된다. 클라이언트가 갱신된 재생 목록을 전송할 때, 이 변경들을 object__change_log 내의 레코드와 비교하고 재생 목록 상의 그 트랙의 이름을 변경하여 이를 다시 전송한다.
5.2.8. 장치 메모리 관리
장치는 저장을 위한 메모리가 얼마나 남아 있는지를 서버에 전달할 수 있다. 서버는 갱신을 전달할 때 어떤 파일이 클라이언트로부터 삭제되어야만 하는지를 결정하기 위해 이 정보를 사용한다.
customer_object 테이블 내의 object_last_used 필드는 클라이언트가 특정의 객체를 마지막으로 사용한 날짜를 저장한다. 이 필드는 클라이언트로부터 서버로 전송되는 로그 데이터로부터 채워진다. 서버는 어느 파일이 삭제되어야 하는지를 결정하기 위해 이 데이터를 사용한다. 서버는 또한 어느 파일이 삭제되어야 하는지를 예측하기 위해 다른 방법을 사용할 수 있다. 예를 들어, 이야기가 어떤 목록 에 더 이상 존재하지 않는다.
클라이언트는 또한 마지막으로 사용된 파일들의 목록을 유지하고 메모리가 부족하게 되기 전에 그 자체가 이들을 삭제할 수 있다. 이 목록은 RMS에 저장되고, 상대 경로 및 파일명으로 파일을 참조한다. 이름으로부터 의미를 제거하려고 하기 때문에 경로 및 파일명이 짧게 된다. 이것은 서버에서의 삭제 논리에 문제가 있는 경우에 안전 밸브로서 기능하다.
5.3. 불완전 다운로드
5.4. 클라이언트 로깅
이하의 일들을 위해, 클라이언트 상에서의 사용자 동작, 이벤트 및 예외를 로깅하고 이를 서버로 전송할 필요가 있다.
Figure 112008084031862-PCT00284
테스트 동안에 정보를 디버그하기
Figure 112008084031862-PCT00285
고객 지원을 위한 정보를 제공하기
Figure 112008084031862-PCT00286
보고 및 추천을 위한 사용 데이터를 수집하기
5.4.1. 로거(Logger)
Logger 객체는 클라이언트 상에서의 로깅을 제어하는 데 사용된다. 이는 DataObjectSet이고 MSTP를 사용하여 서버와 동기화될 수 있다. Logger는 이하의 속성들을 포함한다.
Figure 112008084031862-PCT00287
Level: 로그가 저장되는 레벨. 하위 레벨의 이벤트가 폐기된다.
o DEBUG: 애플리케이션을 디버깅하는 데 유용한 이벤트
o INFO: 애플리케이션의 진행을 하이라이트하는 정보 메시지
o WARN: 잠재적인 문제가 있음을 알려줌
o ERROR: 에러가 발생했지만 애플리케이션은 계속됨
o OFF: 아무것도 로깅되지 않음
Figure 112008084031862-PCT00288
Priority: 로그가 서버로 전송되는 빈도수를 제어함
o MIN: 클라이언트가 그 다음에 서버에 요청을 할 때 또는 maxSize에 도달될 때
o NORMAL: 매 5분마다 (또는 MIN과 같음)
o MAX: 매 30초 마다 (또는 MIN과 같음)
이 거동은 속성에 의해 제어되고 또 조정될 수 있다.
Figure 112008084031862-PCT00289
MaxSize: 클라이언트에 저장할 최대 레코드 수
Figure 112008084031862-PCT00290
TimeOffset: 서버와 클라이언트 간의 시간차
Figure 112008084031862-PCT00291
LogRecords: 로그 자체
Logger는 각각의 클라이언트 로그에 대한 LogRecord를 포함하고 있다. LogRecord는 이하의 속성들을 포함하고 있다.
Figure 112008084031862-PCT00292
Message: 무엇이 일어났는지의 판독가능한 설명
Figure 112008084031862-PCT00293
Level: 이 로그의 레벨
Figure 112008084031862-PCT00294
Date: 클라이언트 시간 및 timeOffset를 사용하여 계산된 서버 시간
Figure 112008084031862-PCT00295
SessionId: (있는 경우) 이러한 이벤트가 일어났을 때의 서버 sessionId
Figure 112008084031862-PCT00296
EventTypeGuid: (있는 경우) 이러한 이벤트에 대한 event_type 테이블에서의 식별자
Figure 112008084031862-PCT00297
Parameters: 이러한 이벤트에 관련된 파라미터
도 69를 참조할 것.
5.4.2. 클라이언트 디버깅
클라이언트가 테스트 중인 동안, 에러가 발생했을 때 무슨 일이 일어났는지를 이해할 수 있고 이들을 Mantis 버그 보고서에 포함시킬 수 있도록 테스터가 클라이언트 로그를 쉽게 볼 수 있게 해줄 필요가 있다.
클라이언트는 이하의 것들을 로깅할 수 있다.
Figure 112008084031862-PCT00298
작업을 실행하는 데 필요한 모든 파라미터를 포함하는 작업
Figure 112008084031862-PCT00299
명령을 실행하는 데 필요한 모든 파라미터를 포함하는 명령
Figure 112008084031862-PCT00300
모든 관련 정보를 포함하는 예외
각각의 LogRecord는 사건으로서 로깅되고 Incident Monitor(사건 모니터)의 웹 인터페이스를 사용하여 테스터가 볼 수 있다. 각각의 레코드가 서버 시간을 사용하여 로깅되기 때문에, 이들 사건이 발생한 순서로 클라이언트 및 서버 동작의 목록을 제공하기 위해 이들 사건이 날짜별로 정렬될 수 있다.
5.4.3. 고객 지원
고객이 고객 지원에 연락을 할 때, 고객 지원이 클라이언트에 의해 발생된 마지막 LogRecords를 볼 수 있도록 Logger 객체를 클라이언트로부터 서버로 푸시할 필요가 있다. 클라이언트가 푸시를 개시할 필요가 있으며, 로그 우선순위가 MIN으로 설정되어 있는 경우 잠시 동안 그렇게 하지 않을 수 있다. 따라서, Logger 객체를 포스팅하도록 클라이언트에 명령할 방법이 필요하다.
사용자의 상황을 재현하기 위해 충분한 정보를 로깅할 필요가 있다. 이 정보는 LogRecord-파라미터 해쉬테이블에 저장된다. eventTypeGuid 속성이 설정되어 있는 경우, customer_event 테이블에 레코드가 삽입되고 customer_event_val에 파라미터들이 삽입된다. 이벤트 로깅이 클라이언트에 대한 응답을 지연시키지 않도록 하기 위해 customer_event 및 customer_event_val에 삽입하기 위해 큐를 사용한다. customer_logger.priority가 MAX로 설정되어 있을 때는 예외이다. 이 경우에, 이벤트들이 일어날 때 그 이벤트를 보고자 하며, 이들 레코드가 직접 데이터베이스에 삽입된다.
5.4.4. 사용 데이터
클라이언트 사용 데이터가 트리거를 사용하여 이벤트 테이블에 채워진다. 따라서, 예를 들어, 고객이 트랙을 재생하는 것에 대한 이벤트를 수신할 때, customer_track.play_count이 증분된다.
5.4.5. 데이터베이스 요건
고객 지원은 클라이언트에 의해 발생된 로깅 및 이 로깅이 서버로 전송되는 빈도수를 제어할 수 있어야 한다. 이것은 customer_logger 테이블을 사용하여 제어된다. 도 70을 참조할 것.
이 테이블이 변경될 때마다, 갱신된 Logger 객체가 클라이언트로 푸시될 수 있도록 하기 위해 레코드가 customer_object_log에 삽입된다.
6. DRM
6.1. 서론
MusicStation은 사용자가 모바일 네트워크를 사용하여 이동 중에 그의 전화를 통해 음악을 찾아내고 관리하며 또 이를 들을 수 있게 해주는 모바일 전화 기반 소프트웨어 애플리케이션이다. Omnifone은 주로 MusicStation 사용자가 가장 광범위하고 가장 우수한 음악을 이용할 수 있도록 해주기 위해 음악 산업와 밀접하게 협력하면서 MNO(Mobile Network Operator)와 제휴하여 MusicStation을 시장에 내놓았다. 이러한 광대한 디지털 음악 미디어 라이브러리는 아주 귀중하며 유효한 유료 사용자에게 끊김 없는 액세스를 가능하게 해주면서도 도난 및 남용으로부터 보호될 필요가 있다. 디지털 저작권 관리(Digital Rights Management, DRM)는 디지털 미디어의 합법적인 배포 및 사용을 통제하고 용이하게 해주는 방법을 제공한다. MusicStation의 주된 핸드셋 기술 플랫폼은 J2ME(Java 2 Platform Micro Edition)이다. 이 플랫폼이 선택된 이유는 가장 넓은 모바일 전화 핸드셋 통달거리를 제공하기 때문이다. 본 문서는 보호 컨텐츠를 배포하고 그 컨텐츠를 사용할 권한을 안 전하게 발행하기 위해 Omnifone의 J2ME MusicStation 핸드셋 애플리케이션 및 관련 네트워크 서비스에 의해 사용되는 방법들에 대해 기술한다. MusicStation의 DRM은 OMA(Open Mobile Alliance) DRM v2 규격의 구현이다. 이 규격은 모바일 장치에 대한 컨텐츠를 보호하는 선호 방법으로서 모바일 및 음악 산업 둘다에 의해 널리 채택되었다. OMA DRM v1이 핸드셋 업체들에 의해 널리 채택되었지만, 이의 작성 시에, OMA DRM v2를 지원하는 핸드셋이 거의 없었다. 이 때문에, 본 문서에서 논하는 OMA DRM v2 구현은 Omnifone이 MusicStation 핸드셋 애플리케이션 및 관련된 MusicStation 네트워크 서비스에 내장시킨 것이다.
6.1.1. DRM 개요
컨텐츠는, 배달되기 전에, 컨텐츠를 불법 액세스로부터 보호하기 위해 패키징된다. CS(Content Server, 컨텐츠 서버)는 DRM 컨텐츠를 배달하고, RI(Rights Issuer, 권한 발행자)는 관련 권한 객체(Rights Object)를 발생하여 배포한다. CS(Content Server) 및 RI(Rights Issuer)는 본 시스템에서 역할을 구현한다. 배치에 따라, 이들은 동일한 또는 서로 다른 역할자에 의해 제공될 수 있으며 동일한 또는 서로 다른 네트워크 노드에 의해 구현될 수 있다. 예를 들어, 사전 패키지화된 보호 컨텐츠가 효율적인 컨텐츠 배달을 위해 다수의 컨텐츠 서버를 통해 배포될 수 있다. DRM 개요를 나타낸 도 71을 참조할 것.
권한 객체는 DRM 컨텐츠가 어떻게 사용될 수 있는지를 좌우한다. 이는 DRM 컨텐츠와 연관된 허가 권한 및 제약조건을 상술한 문서이다. DRM 컨텐츠는 관련 권한 객체가 없는 경우 사용될 수 없으며, 권한 객체에 상술된 허가 권한 및 제약조건에 따라서만 사용될 수 있다.
모든 OMA v2 시스템과 같이, MusicStation DRM은 DRM 컨텐츠를 권한 객체로부터 논리적으로 분리시키며, 이는 "분리 배달(separate delivery)"이라고 한다. DRM 컨텐츠 및 권한 객체는 개별적으로 또는 함께 요청될 수 있으며, 이들은 개별적으로 또는 동시에 배달될 수 있다. 예를 들어, 사용자는 동일한 트랙잭션에서 컨텐츠를 선택하고 그에 대해 지불을 하며 DRM 컨텐츠 및 권한 객체를 수신할 수 있다. 나중에, 권한 객체가 만료되는 경우, 사용자는, DRM 컨텐츠를 다시 다운로드할 필요없이, 돌아가서 새로운 권한 객체를 획득할 수 있다. DRM 컨텐츠와 연관된 권한 객체는 소비 시점에서 시행되어야 한다. MusicStation 핸드셋 애플리케이션 내부의 DRM 에이전트는 장치 상에서 DRM 컨텐츠의 허가 권한 및 제약조건을 시행하는 일, 장치 상에서 DRM 컨텐츠에의 액세스를 제어하는 일, 기타 등등을 맡고 있는 이 애플리케이션의 신뢰 컴포넌트를 구현한다.
권한 객체는 DRM 객체이 특정의 DRM 에이전트에만 액세스할 수 있도록 그 특정의 DRM 에이전트와 암호적으로 연계되어 있다. DRM 컨텐츠는 유효한 권한 객체를 사용해서만 액세스될 수 있고 따라서 무료로 배포될 수 있다. 이것은, 예를 들어, "수퍼 배포(super-distribution)"를 가능하게 해주는데, 그 이유는 사용자가 무료로 사용자들 간에 DRM 컨텐츠를 전달할 수 있기 때문이다. 새로운 장치를 통해 DRM 컨텐츠에 액세스하기 위해서는, 새로운 권한 객체가 요청되어 그 장치 상의 DRM 에이전트로 전달되어야 한다.
6.1.1.1. 컨텐츠 객체의 보호
DCF(DRM Content Format, DRM 컨텐츠 형식)은 그 자신의 MIME 컨텐츠 유형을 갖는, DRM 컨텐츠의 안전한 컨텐츠 패키지이다. 암호화된 컨텐츠에 부가하여, 이 형식은 컨텐츠 설명(원본 컨텐츠 유형, 판매업자, 버전, 기타), 권한 발행자 URI(권한 객체가 획득될 수 있는 장소), 기타 등등의 부가의 정보를 포함한다. 이 부가의 정보는 암호화되지 않으며 권한 객체가 검색되기 전에 사용자에게 제공될 수 있다. DCF 파일에서 미디어 컨텐츠(예를 들어, 음악 파일)만이 암호화되어 있다.
DCF 내의 DRM 컨텐츠를 잠금 해제하는 데 필요한 CEK(Content Encryption Key, 컨텐츠 암호화 키)는 관련 권한 객체 내에 포함되어 있다. 따라서, 권한 객체 없이 DRM 컨텐츠에 액세스하는 것은 가능하지 않다. DRM 컨텐츠는 권한 객체에 규정된 대로만 사용될 수 있다. MusicStation DRM은 DRM 에이전트가 DCF의 무결성을 검증할 수 있게 해줌으로써 어떤 무허가 개체에 의한 컨텐츠의 수정으로부터 보호하는 메카니즘을 포함한다.
6.1.1.2. 권한 객체의 보호
권한 객체는 REK(Rights Encryption Key, 권한 암호화 키)를 사용하여 보호된다. REK는 컨텐츠 암호화 키와 같은 권한 객체의 민감한 부분을 암호화하는 데 사용된다. 배포 동안에, REK는 암호적으로 타겟 DRM 에이전트에 연계되어 있다. 이와 같이, 타겟 DRM 에이전트는 권한 객체, 따라서 CEK에 액세스할 수 있다. 따라서, 권한 객체는 본질적으로 안전한다.
6.2. 핸드셋 상의 MusicStation
어느 프로비저닝 방법이 사용되었는지에 상관없이, MusicStation 애플리케이션은 결국은 사용자의 모바일 전화 핸드셋에 상주한다. 각각의 MusicStation 핸드셋 애플리케이션 설치는 잠재적으로 각각의 서로 다른 전화 모델 및 핸드셋 펌웨어 버전에 고유한 맞춤화된 소프트웨어 빌드이다. 이 소프트웨어 빌드는 Omnifone의 특허된 DAA(Device Adaptive Architecture)에 의해 생성 및 관리되고 이하에서 기술되는 Omnifone의 고도의 애플리케이션 프로비저닝 소프트웨어를 사용하여 정확한 핸드셋으로 배달된다.
6.2.1. MusicStation 프로비저닝
MNO에서 동작할 때, MusicStation 모바일 핸드셋 애플리케이션이 전화에 "프로비저닝"되는 2가지 방법이 있으며, 이 둘다에 대해 본 장에서 상세히 다룬다. MusicStation 애플리케이션을 핸드셋에 배포하는 선호된 방법은 장치가 최종 사용자에 이르기 전에 이 애플리케이션을 장치에 사전 로드(사전 설치)하는 것이다. 이러한 유형의 애플리케이션을 전달하는 경험은, 이 서비스를 기동시키는 전화 상의 하드키(음악 버튼)를 사용하여 가장 바람직한 방식으로 사전 로드될 때, 최종 사용자에 의한 발견이 93% 정도로 높아질 수 있음을 보여주었다. MNO에 의한 이러 한 유형의 애플리케이션의 OTA 프로비저닝에서의 유사한 경험은 성공률(즉, 요청자에 대한 성공적으로 접속된 사용자의 비)이 애플리케이션이 사전 로드될 때보다 낮은 크기임을 보여주었다.
6.2.1.1. 애플리케이션 사전 로드(사전 설치)
일반적으로, 이러한 유형의 장치 맞춤화는 MNO의 요청 시에 핸드셋 판매업자에 의해 행해지며 핸드셋이 판매업자의 구내를 벗어나기 전에 수행된다. 이는 또한 공급망에 맞춤화 기능을 갖거나 MNO의 물류 시설에 있는 셀들에서 동일한 일을 수행하는 Mobiltron와 같은 핸드셋 유통업자에 의해서도 수행될 수 있다.
이러한 사전 로드가 어디에서 수행되든지 간에, 이는 Omnifone의 사전 로드 프로비저닝(Preload Provisioning) 도구인 Preloader에 의해 지원된다. Preloader는 사전 로드 설비에 있는 직원들에 의해 사용되는 네트워크 접속형 데스크톱 애플리케이션이다. Preloader에의 액세스는 소프트웨어 라이센스, 사용자 id 및 패스워드에 의해 제어되고, 허가된 IP 주소의 목록에 의해 필터링된다. Preloader에의 액세스는 사용자, 소프트웨어 라이센스, 또는 조직에 의해 언제라도 취소될 수 있다.
Preloader는 허가된 당사자에게 최신의 가장 적절한 MusicStation 클라이언트 소프트웨어 빌드에의 액세스를 제공한다. Omnifone은 Preloader가 어느 소프트웨어 빌드에 액세스하는지를 판매업자 및 모델별로 제어할 수 있다. Preloader는 설치 당사자의 핸드셋 맞춤화 도구 및 프로세스에 통합하기 위한 정확한 MusicStation 클라이언트 소프트웨어 빌드의 용이한 위치 확인, 다운로드 및 로컬 저장을 가능하게 해준다.
새로운 소프트웨어 빌드가 다운로드될 수 있다는 사실을 설치자에게 경보할 수 있는 통지 시스템이 Preloader에 내장되어 있다.
6.2.1.2. OTA(Over-The-Air Delivery)
열린 OTA API로 인해, Omnifone은 사용자가 MusicStation OTA를 획득하는 데 사용할 수 있는 다수의 터치 포인트 및 메카니즘을 지원한다. 이들에는 다음과 같은 것들이 있지만, 이에 한정되지 않는다.
Figure 112008084031862-PCT00301
(MNO) WAP 포털 요청
Figure 112008084031862-PCT00302
요청 중인 SMS 텍스트
Figure 112008084031862-PCT00303
웹 기반 요청
Figure 112008084031862-PCT00304
IVR 획득
Figure 112008084031862-PCT00305
웹 서비스 링크
Figure 112008084031862-PCT00306
SIM이 처음으로 네트워크에 보여질 때와 같이 깊은 MNO 네트워크 통합
요청 메카니즘과 상관없이, MusicStation 애플리케이션은, 최종 사용자가 이미 서핑하고 있는 WAP 포털 내에서 직접, 또는 애플리케이션이 다른 방법을 통해 요청된 경우 WAP 푸시를 통해, 최종 사용자에게 WAP 다운로드 페이지를 제공함으로써 전달된다.
6.2.1.3. 애플리케이션 재설치
MusicStation 애플리케이션은, 서버에 의해 그렇게 하도록 지시를 받은 경우, 애플리케이션의 전체 재설치를 강요하는 기능을 포함한다. 이 경우에, MusicStation 애플리케이션은 OTA WAP 다운로드를 사용하여 재다운로드된다. 애플리케이션 재설치가 서버에 의해 강제되는 경우, 이전 버전의 애플리케이션이 실행되지 않는다.
6.2.2. MusicStation 핸드셋 애플리케이션 내장 메타데이터
각각의 MusicStation 핸드셋 애플리케이션 내에는 본 명세서에 기술된 바와 같이 다양한 목적을 위해 자동적으로 삽입되어 사용되는 일련의 정보 및 메타데이터가 있다.
6.2.2.1. 핸드셋 판매업자, 모델, 버전, 및 펌웨어 개정판
모든 MusicStation 핸드셋 애플리케이션은 특정의 핸드셋 판매업자, 모델, 버전, 및 펌웨어 개정판 조합을 위해 빌드된다. 이 조합을 식별해주는 메타데이터는 모든 MusicStation 애플리케이션 빌드에 내장되어 있다. 그 자체로서, 서버는 각각의 MusicStation 애플리케이션이 어느 유형의 핸드셋 구성에서 실행되고 있는지를 정확하게 알고 있다. 서버가 이 특정의 MusicStation 애플리케이션과 이전에 통신한 적이 없는 경우에도 그렇다.
6.2.2.2. 소프트웨어 라이센스
모든 MusicStation 핸드셋 애플리케이션은 특정의 MusicStation 서비스를 위해 특별히 빌드된다. 이것을 위해, 모든 MusicStation 핸드셋 애플리케이션은 "소프트웨어 라이센스"가 그 안에 내장되어 있다. 소프트웨어 라이센스는, 서버에 제공될 때, 이 애플리케이션 인스턴스를 특정의 MusicStation 서비스와 관련시키는 데 사용되는 512 비트 난수이다. 각각의 서비스는 잠금되어 있거나 잠금 해제되어 있으며, 잠금 해제된 서비스만이 최종 사용자에 의해 사용가능하다.
6.2.2.3. MusicStation 루트 CA 인증서
각각의 MusicStation 애플리케이션은 이 애플리케이션 내에 내장된 MusicStation 루트 CA 인증서를 가지고 있다. 이 인증서(본 문서의 이후의 섹션들에 보다 상세히 기술되어 있음)는 MusicStation 핸드셋 애플리케이션과 서버 간에 전송되는 메시지에 서명하거나 그의 유효성을 확인하는 데 사용된다.
6.2.3. 애플리케이션 사용 허가 및 서명
J2ME는 보안 모델을 구현하며, 이는 소프트웨어 애플리케이션이 액세스(예를 들어, 메모리/파일 시스템에 액세스 또는 네트워크에 액세스)할 것으로 통상 예상하고 있는 어떤 기능이 실제로는 제한되어 있음을 의미한다. 명백하게도, MusicStation과 같은 애플리케이션은 이러한 기능을 광범위하게 사용하며, 그 자체로서 핸드셋의 이들 통상의 보안 보호된 특징에 액세스할 필요가 있다.
MusicStation 애플리케이션에 이들 제한된 기능에의 액세스를 제공하기 위해, 이 애플리케이션이 "서명"된다. 서명자의 서명 및 그 결과 얻어지는 PKI 인증서가 애플리케이션의 JAD 파일에 저장된다. MusicStation 애플리케이션이 실행될 때, 이 서명이 검사되고 이들 목적으로 이미 핸드셋 상에 있는 보호된 도메인 루트 인증서들 중 하나에 대해 인증서의 유효성이 확인된다. 애플리케이션이 정확하게 서명된 경우, 이 제한된 기능들이 이용가능하게 된다.
이미 전화 상에 있는 루트 인증서는 일반적으로 전화 제조업자, 모바일 네트워크, 또는 Verisign 등의 인증 기관으로부터의 루트 인증서이다.
6.2.4. MusicStation 애플리케이션 자체에 관한 DRM
해커가 DRM 시스템을 파괴하려고 시도하는 다수의 방식이 있다. 이들 방식 중 한가지는 DRM을 구현하는 소프트웨어 코드를 역분석(reverse engineer)하는 것이다. 이러한 이유로 MusicStation 핸드셋 애플리케이션은 소프트웨어가 제거되지 않도록 하기 위해 항상 전화 상에 상주하는 DRM을 사용하여 설치된다.
OAM v2와 같은 고급 DRM이 많은 핸드셋 상에 존재하지 않지만, 요구되는 "전달 잠금(forward-lock)" 컨텐츠 제어 메카니즘을 지원하는 OMA v1은 대다수의 핸드셋 상에 존재한다. 전달-잠금은, 그가 의미하는 바와 같이, 전화로부터의 컨텐츠 항목(이와 관련하여, MusicStation 핸드셋 애플리케이션)의 전달 또는 전송을 못하게 한다. MusicStation가 사전 로드되어 있든 OTA가 설치되어 있든 간에, 이는 OMA v1 전달-잠금 보호된 파일로서 설치되어 있다.
MusicStation 애플리케이션의 OTA 전달을 더욱 보호하기 위해, MNO 네트워크 게이트웨이로부터 나온 것으로 확인된 애플리케이션 다운로드에 대한 OTA 요청만이 지원된다. 이것은 애플리케이션 코드가 일반 인터넷으로부터 나오기보다는 특정 MNO의 모바일 인터넷을 통해서만 전화로 다운로드되도록 한다. 이것은 네트워크 통신 헤더 및 메타데이터에서 발견되는 소스 또는 라우팅 IP 주소가 서비스 데이터베이스에 저장되어 MNO의 게이트웨이가 알고 있는 게이트웨이인 것을 확인하는 것으로 구현된다.
6.2.5. 음악 사전 로드하기
애플리케이션이 설치되는 것과 동시에 음악 컨텐츠가 전화에 사전 로드될 수 있다. 이 컨텐츠는 홍보용으로 무료이어서 DRM되어 있지 않을 수 있거나, 구매를 위한 것으로서 음악이 MusicStation을 통해 OTA 다운로드된 경우에 적용되는 것과 동일한 DRM을 적용받거나 한다. 사전 로드된 컨텐츠는 MusicStation이 박스 재생을 벗어날 수 있게 해준다.
6.3. 처음으로 MusicStation 사용하기
MusicStation 애플리케이션은, 그의 소유자에 의해 사용될 수 있기 전에, 먼저 적절한 MusicStation 서비스에 등록될 수 있도록 MusicStation 서버에 접속되어야 하고 또 그 애플리케이션이 다운로드하는 DRM 보호된 음악 컨텐츠에 액세스할 수 있도록 클라이언트 인증서(및 관련 클라이언트 비밀키)를 발행받아야만 한다. 권한 객체(액세스 규칙 및 DRM 보호된 컨텐츠에 액세스하기 위한 키를 포함함)를 발행받기 위해, MusicStation 애플리케이션은 또한 권한 발행자(Rights Issuer)에도 등록해야 하며, 이러한 2-단계 등록 프로세스에 대해 본 장에서 설명한다.
6.3.1. MusicStation 서비스 등록
처음으로 MusicStation이 시작할 때, 이 MusicStation은 서비스에 등록하기 위해 MusicStation 서버에 접속해야 하고 또 DRM 보호된 컨텐츠에 액세스하기 위해 클라이언트 인증서(Client Certificate) 및 클라이언트 비밀키(Client Private Key)를 구비하고 있어야 한다는 것을 알고 있다. 등록이 행해지기 위해, 서버는 장치를 일의적으로 식별할 수 있어야 한다. "2-패스" MusicStation 서비스 등록 프로토콜은 이것을 달성하는 데 사용되는 프로토콜이다. 이 프로토콜은 장치 및 가입자를 식별하는 것과 그에 뒤이어서 클라이언트 인증서 및 관련 클라이언트 비밀키를 MusicStation 서버(인증 기관)로부터 장치로 다시 보안 전송하는 것을 포함한다. 이 MusicStation 장치만이 클라이언트 비밀키에 액세스할 수 있는 것이 필수적이기 때문에, 등록 프로토콜은 HTTPS 보안 통신을 사용한다.
6.3.1.1. 서비스 등록 요청
MusicStation 애플리케이션은 장치 및 사용자를 일의적으로 식별해주는 정보를 서버에 제공하기 위해 핸드셋의 IMEI, 블루투스 주소, IMSI 및 가입자의 MSISDN에 액세스하려고 한다. 서버로 전송되는 요청 파라미터는 서비스 등록 요청 파라 미터를 나타낸 도 72의 테이블에 기술되어 있다. IMEI, 블루투스 주소, 또는 IMSI 중 하나가 서버에서 장치 또는 SIM 카드를 식별하기 위해 제공되어야만 한다.
6.3.1.2. MNO 추가 메타데이터
MusicStation 핸드셋 애플리케이션으로부터 MusicStation 서버로의 통신은 MNO의 네트워킹 장비를 통해 라우팅되기 때문에, 이하의 가입자, 또한 잠재적인 핸드셋 식별자가 HTTP 요청 헤더에 추가된다. 이 정보는 추가의 식별 목적을 위해 이들 헤더로부터 추출되고 MusicStation 서버에 의해 사용된다. 도 73을 참조할 것. MSISDN 또는 당사자 ID 중 하나가 서버에서 가입자를 식별하기 위해 제공되어야만 한다.
6.3.1.3. 서비스 등록 프로세스
MusicStation 서버가 서비스 등록 요청 메시지를 수신할 때, 이들 단계를 따른다.
6.3.1.3.1. MNO 홈 네트워크로부터의 등록인가?
서버는, 등록 요청을 수신할 때, MusicStation 핸드셋 애플리케이션이 현재 사용되고 있는 모바일 데이터 네트워크가 MNO의 홈 네트워크인지를 검사한다. 이것은 MNO의 홈 네트워크 게이트웨이 및 인터넷 트래픽 라우팅 장비의 IP 주소의 일련의 데이터베이스 저장 레코드를 사용하여 행해진다.
정상적인 설정은 MNO의 홈 네트워크 또는 로밍 협약이 되어 있는 제3자 MNO의 네트워크와 같은 기타 특정의 네트워크 상에서의 장치 등록을 가능하게 해주는 것만이다.
6.3.1.3.2. 고객 자격 증명 검증
MusicStation 서비스에 새로운 MusicStation 핸드셋 애플리케이션을 등록하라는 요청의 수신 시에, 서버는 이하의 테스트들을 수행하게 된다.
Figure 112008084031862-PCT00307
소프트웨어 라이센스가 유효한 활성 MusicStation 서비스에 대한 것인지의 확인.
Figure 112008084031862-PCT00308
예를 들어, MSISDN 또는 당사자 ID에 의해 가입자가 식별되었는지의 확인.
Figure 112008084031862-PCT00309
(API가 MNO에 존재하는 경우) MSISDN 또는 당사자 ID가 이 MNO의 고객인지의 확인.
Figure 112008084031862-PCT00310
선택적으로, 예를 들어, IMEI 또는 블루투스 ID에 의해 장치가 식별되었는지의 확인. 이들 자격 증명이 합치되는 경우, 서버는 이하의 PKI 단계로 계속된다.
6.3.1.3.3. MusicStation 및 공개키 기반구조(PKI)
MusicStation 서비스 등록이 성공적으로 완료된 후에, 장치는 권한 객체를 요청하고 이어서 DRM 컨텐츠에 액세스하기 위해 권한 발행자에 등록해야 한다. 그 렇지만, 권한 발행자는 그가 확정적으로 식별할 수 있는 장치들만을 등록한다.
MusicStation 서버가 PKI 인증 기관(CA)으로서 역할하여 각각의 등록된 MusicStation 핸드셋 애플리케이션에 대한 공개키 인증서인 클라이언트 인증서를 발생하고 따라서 각각의 장치의 진정성 및 ID를 증명함으로써, 이러한 식별이 용이하게 된다. MusicStation 권한 발행자는 CA를 신뢰하고, MusicStation 루트 CA 인증서의 사본을 가지고 있으며, 따라서 MusicStation 핸드셋 애플리케이션에 의해 그에게 제공된 클라이언트 인증서가 실제로 CA에 의해 발행된 것인지를 확인할 수 있다.
공개키 기반구조(PKI)는 사용자 ID, 또는 이와 관련하여 MusicStation 핸드셋 애플리케이션 ID에 대한 신뢰된 제3자의 조사 및 확인을 제공하는 데 사용되는 구성이다. 이는 공개키를 사용자에 연계시키는 것을 가능하게 해준다. 이것은 보통, 분산된 장소들에 있는 다른 조정된 소프트웨어(즉, MusicStation 핸드셋 애플리케이션)와 함께, 중앙(이 경우에, MusicStation 서버)에 있는 소프트웨어에 의해 수행된다.
PKI 구성은 사용자(MusicStation 애플리케이션, MusicStation 서버, MusicStation 권한 발행자, 기타)가 인증되어, PKI 인증서에 있는 정보(즉, 서로의 공개키)를 사용하여 시스템 내의 당사자들 간에 전달되는 메시지를 암호화 및 복호화할 수 있게 해준다. 일반적으로, PKI는 클라이언트 소프트웨어(MusicStation 핸드셋 애플리케이션), 인증 기관 등의 서버 소프트웨어(MusicStation 서버) 및 동작 절차로 이루어져 있다. 사용자는 그의 비밀키를 사용하여 메시지에 디지털적으로 서명할 수 있고, 다른 사용자는 (PKI 내의 CA에 의해 발행된 그 사용자의 인증서에 포함된 공개키를 사용하여) 그 서명을 검사할 수 있다. 이것은 2명(또는 그 이상)의 통신 당사자가 사전에 비밀 정보를 교환할 필요없이 기밀성, 메시지 무결성 및 사용자 인증을 구축할 수 있게 해준다.
CA의 서명의 진위성 및 CA가 신뢰될 수 있는지는 그의 인증서를 검사함으로써 판정될 수 있다. 그렇지만, 이러한 연쇄는 어딘가에서 끝나야만 하며, MusicStation CA 루트 인증서에서, 소위 트리의 루트에서 끝난다. 루트 인증서(때때로 신뢰 앵커라고 함)는 절대적으로 신뢰되고 웹 브라우저, 또는 이 경우에, MusicStation 권한 발행자 및 MusicStation 핸드셋 애플리케이션 등의 많은 소프트웨어 애플리케이션에 포함되어 있다.
6.3.1.3.4. 클라이언트 인증서 및 클라이언트 비밀키 발생
새로운 클라이언트 인증서를 발행함에 있어서의 첫번째 단계는 등록하고 있는 MusicStation 핸드셋 애플리케이션에 대한 새로운 공개 및 비밀키 쌍을 발생하는 것이다. 이러한 PKI의 구현은 RSA 1024 비트 공개키 알고리즘을 사용한다. 이 키 쌍이 발생되면, 공개키는 클라이언트 인증서를 작성하여 발행하기 위해 MusicStation CA에 의해 사용된다. 클라이언트 인증서에는, 클라이언트 인증서에 포함된 공개키가 이 인증서에 언급된 MusicStation 핸드셋 애플리케이션의 것임을 증명한다고 되어 있다. CA의 책무는 사용자(MusicStation 권한 발행자와 같은 신뢰 당사자)가 CA의 인증서에 있는 정보를 신뢰할 수 있도록 신청자의 자격증명을 검증하는 것이다. 착상은 사용자가 CA를 신뢰하고 CA의 서명을 검증할 수 있는 경우, 사용자가 또한 어떤 공개키가 클라이언트 인증서에서 식별되는 자가 누구든 사실상 그 자의 것이라고 검증할 수 있다는 것이다.
서버가 이 장치만이 열 수 있는 메시지를 생성할 수 있도록, 클라이언트 비밀키는 MusicStation 서버에 저장되지 않고 클라이언트 공개키만이 저장된다. 모든 MusicStation 인증서에 대해 X.509 표준이 사용된다. X.509는 공개키 기반 구조(PKI)에 대한 ITU-T 표준이다. X.509는, 그 중에서도 특히, 공개키 인증서 및 인증 경로 확인 알고리즘에 대한 표준 형식을 규정하고 있다.
6.3.1.3.5. 클라이언트 GUID
클라이언트 GUID는 새로운 MusicStation 핸드셋 애플리케이션이 서버에 등록될 때마다 발생되는 고유의 번호(전세계적으로 고유한 ID)이다. 클라이언트 GUID는 MusicStation 핸드셋 애플리케이션에게로 반환되어 이 애플리케이션에 저장되고 모든 차후의 통신 및 요청에서 MusicStation 서버 또는 MusicStation RI에게로 반환된다.
6.3.1.4. 서비스 등록 응답
서비스 등록 응답 메시지는 MusicStation 서비스 등록 요청 메시지에 응답하여 CA로부터 장치로 전송된다. 이는 HTTPS를 통해 보호된 클라이언트 인증서 및 클라이언트 비밀키를 전달한다. 서비스 등록 응답 파라미터를 나타낸 도 74를 참 조할 것. Status = "Success"인 경우에만 필수적이다.
6.3.1.5. 서비스 등록후 프로세스
성공적인 서비스 등록에 대한 결과가 반환된 후에, MusicStation 핸드셋 애플리케이션은 이하의 작업들을 수행한다.
6.3.1.6. 클라이언트 인증서 저장
장치에 대한 클라이언트 인증서는 애플리케이션의 RMS(record management system) 메모리 저장소에 저장된다. J2ME에서의 RMS는 애플리케이션이 데이터를 영구적으로 저장하고 나중에 이를 검색하는 데 사용할 수 있는 메카니즘을 제공한다. 레코드-지향 방법에서, J2ME RMS는 다수의 레코드 저장소를 포함한다.
6.3.1.6.1. 클라이언트 GUID 저장
클라이언트 GUID는 암호화되고, 스크램블링되어 애플리케이션의 RMS에 저장된다. 이것은 MusicStation 서버 및 MusicStation RI에 대한 모든 장래의 요청에서 사용된다.
6.3.1.6.2. 클라이언트 비밀키 저장
MusicStation 핸드셋 애플리케이션은 J2ME 비밀 RMS 기능을 사용한다. 이것은 RMS 레코드 저장소를 생성한 MusicStation 애플리케이션만이 그에 액세스한다는 것을 의미한다.
그렇지만, MusicStation은 더 나아가 클라이언트 비밀키의 보안을 보장한다. MusicStation 핸드셋 애플리케이션은 RMS가 오염되는 일어날 것 같지 않은 일이 일어난 경우에 추가의 보안 대책으로서 클라이언트 비밀키를 암호화한 후에 저장할 뿐이다. 게다가, 애플리케이션은 RMS에 저장하기 전에 및 RMS에 저장되어 있는 동안에 어떤 기법을 사용하여 클라이언트 비밀키를 더욱 알기 어렵게 만든다.
6.3.2. 권한 발행기 등록
장치는, 그의 클라이언트 인증서를 획득한 직후, 권한 발행기(RI)에 등록하려고 시도한다. 장치는, RI에 등록하여 RI로부터 권한 객체를 획득하기 전에, MusicStation 서비스에 등록해야만 한다. RI 등록 프로세스의 성공적인 완료는 장치가 도메인 키(Domain Key, DK)를 획득할 수 있게 해준다. DK는 장치로 전달되는 권한 객체의 권한 암호화 키(Rights Encryption Key, REK)를 보호하는 데 사용되는 128-비트 AES 대칭키이다. RI 등록 프로토콜은 장치와 RI 간의 완전한 보안 정보 교환 및 핸드쉐이크이다. RI 등록 요청 메시지에 응답하여, RI 등록 응답 메시지가 권한 발행자로부터 장치로 전송된다. 이 메시지는 등록 프로토콜을 완성시키며, 성공적인 경우, 장치가 이 RI에 대한 RI 컨텍스트(RI Context)를 설정할 수 있게 해준다. RI 컨텍스트는 2-패스 RI 등록 프로토콜 동안에 권한 발행자와 협상된 정보로 이루어져 있다. 이 RI 컨텍스트는 장치가 권한 객체를 성공적으로 획득하는 데 필요하다.
6.3.2.1. DRM 도메인
도메인이란 권한 발행자에 의해 배포되는 공통의 도메인 키를 소유하는 하나 내지 다수의 장치들의 집합이다. 동일한 도메인 내의 장치들은 모두 동일한 도메인 권한 객체(RO)에 또한 아마도 이들 RO에 의해 보호되는 음악에 액세스할 수 있다.
MusicStation에서, DRM 도메인은 네트워크 중심이다. RI는 도메인을 정의하고, 도메인 키를 관리하며, 어느 장치 또 몇개의 장치가 도메인에 포함되고 도메인으로부터 제외되는지를 제어한다. 일반적으로, 각각의 MusicStation 핸드셋 애플리케이션은 그 자신의 DK를 가지며, 단지 하나의 MusicStation 장치가 각각의 도메인에 있다.
6.3.2.2. RI 등록 요청
2-패스 RI 등록 프로토콜을 개시하기 위해 RI 등록 요청 메시지가 장치로부터 권한 발행자로 전송된다. MusicStation RI 등록 요청 파라미터를 나타낸 도 75를 참조할 것.
6.3.2.3. RI 등록 응답
RI 등록 요청 메시지에 응답하여 RI 등록 응답 메시지가 권한 발행자로부터 장치로 전송된다. 등록이 성공적인 경우, 그 결과 도메인 키가 MusicStation 핸드 셋 애플리케이션으로 전달된다. 이 DK는 요청에서 RI에게로 전송되는 클라이언트 인증서에서 발견되는 클라이언트 공개키를 사용하여 암호화된다. 이와 같이, DK는 장치에게로 안전하게 전송될 수 있는데, 그 이유는 장치만이 DK를 복호화하여 그에 액세스하는 데 필요한 그의 클라이언트 비밀키에 액세스하기 때문이다. RI 등록 응답 파라미터를 나타낸 도 76을 참조할 것. Status = "Success"인 경우에만 필수적임.
6.3.2.4. RI 등록후 프로세스
성공적인 RI 등록 응답이 수신된 후에, MusicStation은 반환된 도메인 키를 암호화하여 알아보기 어렵게 만들고 이를 애플리케이션의 사적 RMS에 저장한다. DK는 그 후에 권한 객체(RO)의 민감한 부분에 액세스하기 위해 MusicStation에 의해 DK 암호화된 REK(Rights Encryption Key)에 액세스하는 데 사용된다.
6.4. 음악 듣기
음악을 듣기 위해, MusicStation 장치는 DRM 컨텐츠 형식(DCF)으로 된 DRM 보호된 컨텐츠로서 저장된 음악 파일 및 DRM을 잠금 해제하는 컨텐츠 암호화 키(CEK)를 포함하는 RO 둘다를 필요로 한다. 한꺼번에 DCF도 대응하는 RO도 장치에 없는 경우가 있을 수 있다. 하나를 가지고 있는 경우 다른 하나를 획득할 수 있도록, RO는 DCF에 대한 URL을 포함하고 DCF는 RO에 대한 URL을 포함한다. 어느 것도 장치에 없는 경우, MusicStation 애플리케이션에 보여지는 트랙 목록이 RO 및 DCF 둘다에 대한 URL을 포함하며, 따라서 검색에서 또는 브라우징 동안에 트랙을 찾아낸 후에 종종 이들 파일 둘다가 동시에 요청된다.
6.4.1. 권한 객체 획득
2-패스 RO 획득 프로토콜은 장치가 권한 객체를 획득하는 데 사용되는 프로토콜이다. 이 프로토콜은 장치 및 RI의 상호 인증, RO의 무결성-보호된 요청 및 전달, 및 RO를 처리하는 데 필요한 암호키 자료의 보안 전송을 포함한다.
6.4.1.1. RO 획득 요청
권한 객체를 요청하기 위해 RO 획득 메시지가 장치로부터 RI에게로 전송된다. 이 메시지는 2-패스 RO 획득 프로토콜의 첫번째 메시지이다. MusicStation RO 획득 요청 파라미터를 나타낸 도 77을 참조할 것.
6.4.1.2. RO 획득 응답
RO 획득 요청 메시지에 응답하여 RO 획득 응답 메시지가 RI로부터 장치에게로 전송된다. 이는 문제의 음악 DCF에 대한 보호된 컨텐츠 암호화 키(CEK)를 포함하는 RO를 전달한다. MusicStation RO 획득 응답 파라미터를 나타낸 도 78을 참조할 것. Status = "Success"인 경우에만 필수적임.
6.4.1.3. 클라이언트 인증서 폐기
장치 세션마다 한번씩, RI는 장치의 클라이언트 인증서가 여전히 유효한지를 CA에게 검사한다. CA는 폐기되어 의존해서는 안되는 클라이언트 인증서의 목록인 인증서 폐기 목록(certificate revocation list, CRL)을 유지한다. 인증서가 사용될 때마다, 폐기 상태를 검사하기 위해 이 목록과 대조하여 인증서가 검사되어야만 한다. CA가 인증서를 부적절하게 발행한 경우, 비밀키가 오염된 경우, 사용자가 CA의 사용 정책을 위반한 경우, 또는 MusicStation 관리자가 어떤 이유로 이 장치에의 액세스를 거부한 경우, 인증서가 폐기된다.
6.4.2. 컨텐츠 다운로드
이 섹션은 음악 컨텐츠가 어떻게 준비되고, 보호되며, MusicStation 컨텐츠 서버로부터 MusicStation 장치들로 다운로드되는지에 대해 기술한다.
6.4.2.1. 컨텐츠 준비
음악 컨텐츠는, MusicStation 컨텐츠 서버(CS)로부터 다운로드될 수 있기 전에, 암호화에 의해 불법 액세스로부터 보호된다. 음악 파일을 암호화하면 DRM 컨텐츠 형식(DCF)이라고 하는 새로운 파일을 생성한다.
MusicStation에서는, 128-비트 RC4 대칭 컨텐츠 암호화 키(CEK)를 사용하여 음악 컨텐츠 암호화가 수행된다. 모든 DCF는 서로 다른 128-비트 RC4 CEK를 갖는다. 따라서, 음악 라이브러리에 1,000,000 트랙이 있고 (서로 다른 전화 특색 및 음악 기능/코덱을 제공하기 위해) 각각의 트랙이 10가지의 서로 다른 파일 형식으 로 이용가능한 경우, 물리적 파일마다 하나씩, 10,000,000개의 서로 다른 CEK가 있다. 이것은 하나의 DCF에 대한 CEK가 오염되는 경우에도 그 결과로서 다른 DCF가 오염되지 않는다는 것을 의미한다.
6.4.2.2. 컨텐츠 획득 요청
모든 DCF가 본질적으로 안전하기 때문에, DCF는 비보안 전송 프로토콜을 사용하여 전송될 수 있다. 이러한 이유로, MusicStation 장치는 HTTP를 사용하여 음악 컨텐츠를 요청한다. 컨텐츠 획득 요청 파라미터를 나타낸 도 79를 참조할 것.
6.4.2.3. 컨텐츠 획득 응답
MusicStation 컨텐츠 서버로부터의 응답은 통상적으로 HTTP를 통해 요청되는 DCF 파일의 이진 스트림이다. 이것은 주로 파일 전체이지만, 때때로 파일 전송은 끊겨 있는 모바일 네트워크 통신 가능 구역으로 인해 중단될 수 있다. 이러한 상황에서, MusicStation 핸드셋 애플리케이션은 후속 컨텐츠 획득 요청을 하지만, 이번에는 Range 파라미터를 사용하여, 아직 갖지 않은 DCF의 부분만을 요청한다.
DCF 바이트 스트림이 장치에 도달할 때, MusicStation 애플리케이션은 점차적으로 파일을 핸드셋의 파일 시스템에 기록한다. 내장형 및 외장형(분리 매체) 메모리 둘다가 이용된다. 내장형 및 외장형 겸용 메모리의 MusicStation 할당분이 꽉찬 경우, MusicStation은 가장 오랫 동안 재생되지 않은 트랙을 제거한다. 이것은 새로 요청된 트랙에 대한 충분한 가용 공간이 있을 때까지 반복된다.
모든 음악 컨텐츠는 다운로드되었을 때의 원래의 DCF 보호 형식으로 저장되어 있다. DCF 내에서 음악에 액세스하기 위해, CEK에 액세스할 수 있도록 대응하는 RO가 필요하다.
6.4.3. 음악 컨텐츠 재생하기
MusicStation 애플리케이션을 통해 음악을 재생하기 위해, 음악 트랙 DCF 및 대응하는 RO가 전화 상에 있어야 한다. 먼저, 사용자가 음악을 재생할 권한을 가지고 있는지를 알아보기 위해 RO가 검사된다. 가지고 있는 경우, CEK가 RO로부터 추출되고 또 전화의 미디어 플레이어를 통해 재생될 음악 트랙에 액세스하기 위해 DCF를 복호화하는 데 사용된다.
6.4.3.1. REL(Rights Expression Language) 평가하기
관련 RO 및 DCF가 전화에 존재하는 트랙을 재생하라는 요청이 있으면, RO 내에 포함된 REL(Rights Expression Language)이 MusicStation DRM 에이전트에 의해 파싱된다. REL은 이 RO와 연관된 DCF로 된 컨텐츠가 사용자에 의해 소비되고 사용될 수 있는 방식을 정의한다. REL에 의해 표현된 권한은 아주 다양할 수 있으며, 예로는 다음과 같은 것들이 있다.
Figure 112008084031862-PCT00311
컨텐츠가 무제한 재생에 무료이다.
Figure 112008084031862-PCT00312
컨텐츠가 한번 재생될 수 있고 그 다음에는 구입되어야만 한다.
Figure 112008084031862-PCT00313
컨텐츠가 일주일은 무료로 재생될 수 있고 그 다음에는 구입되어야만 한 다.
Figure 112008084031862-PCT00314
컨텐츠가 1개월 동안 최대 5번 무료로 재생될 수 있다.
Figure 112008084031862-PCT00315
컨텐츠가 구매된 경우 무제한으로 재생될 수 있다.
Figure 112008084031862-PCT00316
사용자가 현재 유효한 AYCE 가입 기간 내에 있는 경우 컨텐츠가 무제한으로 재생될 수 있다.
6.4.3.2. 컨텐츠 복호화하기
DRM 에이전트가 REL로부터 사용자가 음악을 재생할 수 있는 것으로 판정하는 경우, 연관된 DCF에 대한 암호화된 CEK에 액세스하기 위해 128-비트 AES REK가 사용된다. 이어서, DCF를 복호화하여 원래의 음악 트랙에 액세스하기 위해 128-비트 RC4 CEK가 사용된다. 이러한 복호화된 트랙은, 특정 전화의 거동에 따라, 트랙 재생 동안 비영구적 핸드셋 메모리에 저장되거나 복호화된 스트림으로서 핸드셋 미디어 플레이어로 점진적으로 전달된다. 복호화된 음악 트랙은 핸드셋에 영구적으로 저장되지 않는다.
6.5. AYCE(All-You-Can-Eat) 서비스
MusicStation의 고도의 DRM 구현으로 인해, AYCE(All-You-Can-Eat)와 같은 고급 컨텐츠 액세스 모델을 지원하는 것이 가능하다. 이것은 유효한 가입 기간 내에 있는 사용자가 트랙을 다운로드하여 원하는 만큼 각각의 트랙을 재생하기 위해 무제한 액세스할 수 있게 해준다.
6.5.1. 가입 기간
MusicStation은 1일, 1주, 1개월, 또는 필요한 임의의 다른 기간과 같은 광범위한 가입 기간을 지원한다. 가입 기간은 MusicStation 서버가 MNO 과금 시스템과 통신을 하여 가입 기간에 대한 해당 요금으로 사용자의 전화 청구서에 성공적으로 과금을 할 때 시작된다. MusicStation 서버는 사용자의 청구서(선불 또는 후불)에 대한 성공적인 과금의 날짜/시간 및 사용자에게 요금 청구된 가입 기간의 길이를 기록함으로써 사용자의 가입 기간의 상태를 유지한다. 이 정보는 MusicStation 핸드셋 애플리케이션 상의 DRM 에이전트와 공유되며, 따라서 장치는 사용자가 유효한 가입을 갖는지 여부를 알고 있다.
6.5.2. 가입 만료
AYCE 가입을 구현하는 선호된 방법은 롤링 가입(rolling subscription) 방법이다. 이 모델에서, MusicStation 서버는 현재의 가입 기간이 만료될 때 자동적으로 새 가입을 구입한다. 사용자는 가입을 취소할 옵션을 가지고 있으며 이것으로 인해 자동적인 재가입이 보류된다. 사용자가 마지막 유효한 가입 기간의 종료 이후에 (장치 상에서든 아니든) 컨텐츠에 액세스하려고 하는 경우, 사용자는 가입을 재시작하고자 하는지 질문을 받는다. 재시작하고자 하는 경우, 롤링 가입이 다시 시작된다.
가입 모델이 롤링 가입이 아닌 경우, 사용자는 현재의 기간이 만료될 때마다 다른 AYCE 기간에 대해 가입하고자 하는지를 확인할 필요가 있다.
6.5.3. 부모 권한 객체
권한 객체는 다른 권한 객체로부터 허가 권한을 상속받을 수 있다. 이 메카니즘은, 예를 들어, AYCE 가입의 일부로서 획득되는 컨텐츠에 대한 권한을 규정하는 데 사용된다. 허가 권한을 상속하는 RO를 자식 권한 객체(Child Rights Object, C-RO)라고 한다. 상속되는 허가 권한을 포함하는 권한 객체를 부모 권한 객체(Parent Rights Object, P-RO)라고 한다.
클라이언트 장치는, 연관된 컨텐츠가 사용자에게 이용가능하게 되기 전에, 동일한 권한 발행기가 C-RO 및 그의 관련된 P-RO를 발행했는지 또 이들 둘다가 동일한 도메인에 속하는지를 검증한다. P-RO는 어떤 DRM 컨텐츠도 직접 참조하지 않는다.
6.5.4. DRM 시간
전화 상의 DRM 에이전트는 이상적으로는 사용자에 의해 변경가능하지 않은 정확한 날짜/시간(DRM 시간)에 영구적으로 액세스한다. 모바일 전화의 경우에는 그렇지 않으며, 따라서 MusicStation은 시스템을 기만하여 가입 서비스 내에서의 불법적 액세스를 하려고 할지도 모르는 그러한 사용자들을 저지시키면서도 그의 전화 날짜/시간에 대한 적법한 변경을 수행하는 사용자에게는 공평한 액세스가 제공될 수 있도록 하기 위해 신뢰성있는 DRM 시간을 DRM 에이전트가 이용할 수 있도록 여러가지 방법을 사용해야만 한다.
전화가 언제라도 그의 날짜/시간이 적법하게 변경될 수 있는 반면(예를 들어, 처음으로 설정되거나, 시간대를 변경하거나, 썸머타임제가 시행되는 경우), MusicStation 서버는 항상 신뢰성있는 날짜/시간을 유지한다. 따라서, 네트워크 접속이 있는 동안, DRM 에이전트는 항상 신뢰성있는 날짜/시간 데이터에 액세스할 수 있다. MusicStation 서버 날짜/시간이 아마도 장치의 로컬 날짜/시간과 다를 수 있기 때문에, DRM 에이전트는 절대 날짜/시간보다는 로컬 날짜/시간에 대한 타이머를 사용한다. 그렇지만, DRM 에이전트는 또한 로컬 날짜/시간이 그가 유지하고 있는 타이머에 기초하고 있어야만 하는 것을 알고 있는 경우와 관련하여 로컬 날짜/시간을 모니터링한다. 이것은 네트워크 접속, 또한 로컬 전화 날짜/시간 변경의 식별 없이도 가입이 만료될 수 있게 해준다. 네트워크 접속이 있을 때마다, 모든 타이머 및 실제 날짜/시간 정보가 재설정된다.
사용자가 시스템의 날짜/시간을 과거의 어떤 시간으로 설정함으로써 시스템을 기만하려고 할 때 문제가 발생할 수 있다. 이들 문제는 이하의 논리를 사용하여 성공적으로 대처된다.
Figure 112008084031862-PCT00317
MusicStation 핸드셋 애플리케이션은, 시작될 때, 로컬 날짜/시간을 마지막 애플리케이션 닫기 날짜/시간과 비교한다. 애플리케이션 열기 날짜/시간이 마지막 애플리케이션 닫기 날짜/시간보다 이전인 경우, 이들 2개의 날짜/시간의 차이가 상대 타이머로부터 차감된다.
Figure 112008084031862-PCT00318
순 결과는 정해진 사용자가 네트워크 접속을 갖지 않는 동안 MusicStation을 사용할 수 있는 최장 기간이 유료 가입 기간(예를 들어, 1주)의 시간 길이와 같은 총 애플리케이션 사용 시간이라는 것이다. 이것을 하기 위해, 사용자가 MusicStation을 닫을 때마다 시간을 적어두고 MusicStation을 시작할 때마다 그 바로 전에 그의 전화 날짜/시간을 적어둔 시간으로 재설정해야만 한다. 분명한 것은 제한된 보상이 노력할만한 가치가 없어 보인다는 것이다.
Figure 112008084031862-PCT00319
애플리케이션이 열려 있는 동안 사용자가 날짜/시간을 변경하는 것으로부터 보호하기 위해, 애플리케이션이 실행 중인 동안 매분마다 한번씩 날짜/시간이 검사된다. 현재의 날짜/시간이 마지막 날짜/시간보다 이전인 경우, 이들 2개의 날짜/시간의 차이가 상대 타이머로부터 차감된다.
사용자가 적법하게 그의 로컬 날짜/시간을 장래의 날짜/시간으로 변경하고 장치가 서버에 접속될 수 있는 경우, 만료 시간이 서버와 재동기된다. 접속이 가능하지 않은 경우,
Figure 112008084031862-PCT00320
장래의 시간이 여전히 유효한 가입 기간 내에 있는 경우, 트랙이 재생된다.
Figure 112008084031862-PCT00321
장래의 시간이 라이센스 만료 시간보다 더 커서, 시스템 구성가능한 문턱값을 벗어나는 경우, 장치가 서버에 접속될 때까지 트랙이 재생되지 않는다. 사용자가 (MusicStation이 실행되고 있지 않은 동안) 그의 시계를 앞으로 돌려 놓은 것과 사용자가 오랜 기간 동안 MusicStation을 사용하지 않은 것을 구별할 수 없다. 사용자를 재활성화시키거나 가입을 갱신하기 위해 데이터 네트워크를 통한 서버에의 재접속이 필요하다.
6.5.5. AYCE 회계
AYCE 시스템에 대한 회계는 모든 최종 사용자에 의한 모든 트랙의 모든 재생의 절대 카운트를 필요로 한다. 따라서, 트랙 소비 정보가 서버로 다시 전송될 필요가 있으며, 서버에서 특정의 서비스에서의 모든 MusicStation 장치에 의한 모든 적격의 재생이 총합된다. 이들 총합된 재생 카운트는 회계 기간에 그의 음악이 재생된 각각의 권한 소유자에 대한 로열티 지불이 얼마인지를 결정하는 데 사용된다. 미리 보기 문턱값 기간보다 적은 기간(예를 들어, 30초) 동안 재생된 트랙은 무료 미리 보기로 간주되며, 로열티 지불 계산에 포함되지 않는다. MusicStation이 불필요한 네트워크 트래픽을 야기하지 않도록 하기 위해, 애플리케이션에 의해 자연스런 네트워크 접속이 요구될 때까지 재생 카운트가 장치 상에 버퍼링된다. 재생 카운트가 오랜 기간 동안 버퍼링되고 접속이 마지막으로 행해질 때 서버로 전송될 수 있는 경우, 이 버퍼링은 또한 0G(비행 및 터널, 기타)로도 확장된다.
6.5.6. 혼합 모델
MusicStation은 AYCE에 있는 사용자가 여전히 트랙의 즉석 구매를 할 수 있는 경우 혼합된 상업 모델을 제공한다. 갱신 없이 가입 기간이 끝나는 경우, 사용자가 구입한 트랙들은 여전히 액세스될 수 있다.
6.6. 부록 A: 키 관리
이것은 권한 발행자가 장치 상의 MusicStation 핸드셋 애플리케이션에 있는 DRM 에이전트만이 알고 있는 공개키를 사용하여 장치에 도메인 키(DK)를 발행하는 암호적 방식에 대한 설명이다. 또한, REK를 사용함으로써 RI가 RO 내의 CEK를 보호하는 방식도 기술되어 있으며, 이 REK는 장치로 전달되어 이전에 장치로 전달된 KD를 사용하여 처음으로 암호화된다.
6.6.1. 장치 공개키를 사용하여 K D 배포하기
이 섹션은 장치에 도메인 키 KD를 프로비저닝할 때 적용된다.
KD는 도메인 D에 발행되는 KREK("권한 객체 암호화 키")를 보호할 때 사용되는 대칭키-래핑키(symmetric key-wrapping key)이다. KD는 송신기에 의해 랜덤하게 발생되는 128-비트 길이의 AES 키이며 각각의 도메인 D에 대해 고유해야 한다. KREK는 권한 객체 내의 컨텐츠-암호화키 KCEK에 대한 래핑키이다.
비대칭 암호화 방식 RSA는 장치의 RSA 클라이언트 공개키를 사용하여 KD를 수신자 장치로 안전하게 전송하는 데 사용된다.
C = RSA.ENCRYPT(ClientPubKey, KD)
C를 수신한 후에, 장치는 그의 클라이언트 비밀키를 사용하여 C를 복호화한다.
KD = RSA.DECRYPT(ClientPrivKey, C)
6.6.2. 도메인 키 KD를 사용하여 KREK 배포하기
이 섹션은 도메인에 대한 권한 객체를 보호할 때 적용된다.
키-래핑 방식 AES-WRAP가 사용된다. RI는 KD를 사용하여 KREK를 암호화한다.
C =AES-WRAP(KD,KREK)
C를 수신한 후에, 장치는 KD를 사용하여 C를 복호화한다.
KREK = AES-UNWRAP(KD, C)
부록 1: 화면 흐름
7. 서론
이 부록은 MusicStation 클라이언트의 화면 및 사용자 인터페이스에 대한 설명을 제공한다. 이는 전체 기능 목록 및, 각각의 기능에 대한, 사용자 경험 및 해당 스크린샷에 대한 설명을 포함하고 있다.
이들 기능은 애플리케이션의 주기능 그룹들로 분류되며, 이들 주기능 그룹은 일반적으로 애플리케이션의 메뉴 구조를 따른다.
7. 화면 레이아웃 및 사용자 상호작용
7.1. 등록
도 80을 참조할 것. MusicStation이 처음으로 시작될 때, 사용자는 클라이언트가 서버에 등록되고 사용자가 공유의 식별자, 즉 GUID를 제공받는 동안 메시지를 보게 된다.
7.2. MusicStation에 가입하기
도 81을 참조할 것. 먼저 사용자가 처음으로 MusicStation의 과금가능한 기능을 사용하려고 할 때, 사용자는 선택적인 무료 시험 기간에 가입하도록 요청받는다. 이어서, 사용자는 확인을 하고 옵션이 주어진 경우 WAP 링크를 통해 기한 및 조건을 보도록 요청받는다. 그 후에, 가입이 확인되고 사용자는 확인 시에 계속을 선택해야 한다. 성공적으로 가입한 사용자는 MusicStation 멤버라고 한다.
7.3. 탭 및 메뉴
도 82를 참조할 것. 사용자 인터페이스는 4개의 탭으로 분할된다. 각각의 탭은 MusicStation의 특정의 핵심 기능에 중점을 두고 있다.
Figure 112008084031862-PCT00322
Home - 차트를 비롯한 MusicStation에서 이용가능한 모든 컨텐츠에 대한 또한 검색(Search), 옵션(Options), 기타 등등의 모든 핵심 기능에 액세스를 사용자에게 제공한다. 또한, 사용자가 다운로드한 컨텐츠(즉, "저장소" 및 "라이브러리" 둘다)를 하이라이트한다.
Figure 112008084031862-PCT00323
Buzz - 커뮤니티 기능 및 음악 뉴스에의 액세스를 제공한다.
Figure 112008084031862-PCT00324
Lineup - 다운로드 및 듣기를 위한 현재의 트랙 큐를 디스플레이한다.
Figure 112008084031862-PCT00325
Playing - 현재 재생되고 있는 트랙의 상세를 디스플레이한다.
Home 탭 및 Buzz 탭은 계층적 메뉴 구조로 배열된 다수의 화면으로 이루어져 있다.
7.4. 메뉴 및 탭 순회
사용자는 애플리케이션의 탭 및 메뉴를 순회하기 위해 조이스틱을 사용한다. 도 83을 참조할 것.
7.5. More 메뉴
7.5.1. 기능 액세스하기
도 84를 참조할 것. 모든 화면은 핸드셋의 우측 소프트키 상에 More 메뉴를 포함하며, 이 메뉴는 현재 선택된 항목 및 화면 전체 둘다에 관련된 기능들에의 액세스를 제공한다. 현재 이용가능하지 않은 옵션들은 이 메뉴 상에서 흐릿하게 되어 있으며 선택될 수 없다.
More 메뉴는 우측 소프트키로 Cancel을 선택함으로써 다시 닫힐 수 있다.
7.5.2. 컨텍스트 의존적인 옵션
More 메뉴에서 이용가능한 옵션들은 현재 하이라이트된 항목에 컨텍스트 의존적이다. 이 테이블은 통상의 More 메뉴 옵션들 및 선택된 More 메뉴 옵션이 수행하는 동작에 대한 설명을 열거하고 있다. 도 85 및 도 86을 참조할 것.
각각의 MusicStation 옵션에 이용가능한 More 메뉴 옵션들의 상세 목록에 대해서는 컨텍스트 의존적인 메뉴를 나타낸 부록 2를 참조할 것.
7.6. Back
도 87을 참조할 것. 화면 순회 이력이 유지된다. 언제라도, 사용자는 임의의 주어진 탭에서 이전의 화면으로 돌아가기 위해 좌측 소프트키를 누를 수 있다. Sony Ericsson의 핸드셋과 같은 핸드셋에서, 핸드셋이 하드 Back 키를 갖는 경우, 그 키는 화면 이력을 통해 되돌아가는 데 사용될 수 있다.
7.7. 음악 재생
도 88을 참조할 것. 사용자가 Playing 탭으로 되돌아갈 필요없이 애플리케이션에서 임의의 화면으로부터 재생을 제어할 수 있도록, 다양한 키들이 사전 정의되어 있고 음악 재생 기능과 연관되어 있다. 예를 들어, [5] 키는 사용자가 사용자 인터페이스 내에 있는 경우 음악 재생을 일시 정지 및 재시작시킨다. 도 89를 참조할 것.
7.8. 도움말
도 90 및 도 91을 참조할 것. 사용자는 [1] 키를 누름으로써 키패드 도움말을 볼 수 있다. 이 화면은 MusicStation에서의 사용자의 위치에 상관없이 핸드셋 상에서 임의의 숫자키를 누름으로써 수행되는 동작들을 디스플레이한다.
7.9. 키패드 잠금
도 92 및 도 93을 참조할 것. 키패드는 사용자가 [*] 키를 누른 채로 있으면 잠긴다. 키패드를 잠금 해제하기 위해, 사용자는 다시 [*]를 누른 채로 있는다. 조이스틱이 잠금되어 있는 동안에 음악이 계속 재생되지만, 우발적인 사용을 방지하기 위해 어떤 메뉴 옵션 또는 기타 음악 재생 제어키도 액세스가능하지 않다.
7.10. 최소화
도 94 및 도 95를 참조할 것. 애플리케이션은 또한 [#] 키를 누른 채로 있음으로써 최소화될 수 있다. 음악을 정지시키기 위해, 사용자는 MusicStation을 다시 열기해야만 한다.
7.11. 종료
도 96을 참조할 것. 사용자가 More 메뉴로부터 Close를 선택할 때, 음악이 재생 중인 경우, 사용자는 음악을 계속 재생하고자 하는지를 질문받는다.
Figure 112008084031862-PCT00326
종료 및 음악 재생 계속 - MusicStation은 최소화되어 핸드셋의 백그라운드로 이동된다. 사용자는 음악을 들으면서 계속하여 핸드셋의 기능을 사용할 수 있다. 사용자는 언제라도 MusicStation으로 되돌아올 수 있다.
Figure 112008084031862-PCT00327
종료 및 음악 정지 - 이 경우에, MusicStation은 음악 재생을 정지하고 완전히 종료된다. 사용자는 그 후에 MusicStation을 사용하기 위해 이를 재시작해야만 한다.
8. 기본 개념들
8.1. Lineup
세번째 탭, 즉 Lineup은 MusicStation에 대한 사용자 이해에 중요한 개념이다. 이는 사용자의 현재의 음악 선택의 영구적인 뷰를 제공한다. 사용자가 재생을 위해(또한 기본적으로 핸드셋에 아직 없는 경우 다운로드하기 위해) 선택하는 음악이 Lineup에 추가된다. 사용자는 어떤 앨범, 재생 목록, 또는 개개의 트랙을 선택하여 이를 Lineup에 추가할 수 있다. 아직 다운로드가 완료되지 않은 트랙은 흐릿하게 되어 있으며 다운로드된 퍼센트가 그 옆에 나란히 디스플레이된다. 추가의 정보에 대해서는 섹션 12를 참조할 것. 도 97을 참조할 것.
8.2. 재생 목록
MusicStation 사용자 인터페이스 내에 몇가지 유형의 재생 목록이 있다.
재생 목록 설명
사적 재생 목록 현재 사용자에 의해 편의상 정의된 재생 목록
공유 재생 목록 사용자에 의해 생성된 다음 커뮤니티와 공유되는 재생 목록. 어떤 사용자라도 이 재생 목록을 듣고, 보고 및 평가할 수 있다.
편집 재생 목록 특정의 서비스와 관련된 컨텐츠 팀에 의해 생성된 재생 목록. 예를 들어, 일군의 주석을 하이라이트하기 위해 생성된 재생 목록
자동 생성된 재생 목록 MusicStation에 의해 자동 생성된 재생 목록. 이들은 사용자에 대해 개인화될 수 있다. 예를 들어, You Might Like 및 Top Artists
8.3. 평가
도 98을 참조할 것. MusicStation은 그의 사용자에게 추천을 제공하는 것을 비롯한 커뮤니티 기능을 제공한다. 사용자가 이 프로세스에 관여할 수 있게 해주기 위해, MusicStation 인터페이스 내의 많은 서로 다른 항목들이 평가될 수 있다. 이하의 항목들이 평가될 수 있다.
Figure 112008084031862-PCT00328
트랙
Figure 112008084031862-PCT00329
앨범
Figure 112008084031862-PCT00330
음악가
Figure 112008084031862-PCT00331
재생 목록
Figure 112008084031862-PCT00332
기타 멤버
사용자는 인터페이스에서 항목을 선택한 다음에 More 메뉴에서 Rate 옵션을 선택함으로써 항목을 평가한다. 사용자는 각각의 항목으로부터 선택할 3가지 평가를 갖는다.
Figure 112008084031862-PCT00333
I love it (좋아함)
Figure 112008084031862-PCT00334
Neutral (중간)
Figure 112008084031862-PCT00335
I hate it (싫어함)
이들 평가는 모든 사용자로부터 수집되고 그 항목들에 대한 별표시-평가를 발생하기 위해 MusicStation에 의해 사용된다. 이들 별표시는 인터페이스 전체에 걸쳐 여러 곳에서 볼 수 있으며 사용자 베이스에 각각의 항목의 상대 인기도에 관한 뷰를 제공한다. 각각의 사용자 평가는 또한 Top Playlists 목록(Get New Playlists 화면)과 같은 추천 및 차트를 발생하는 데도 사용된다.
8.4. 화면 갱신
MusicStation은 지능적 백그라운드 다운로더(Intelligent Background Downloader)라고 하는 컴포넌트를 포함한다. 이 컴포넌트는 모든 음악 및 데이터를 핸드셋으로 다운로드하는 일을 맡고 있다. 이 컴포넌트는 백그라운드에서 실행되며 재생을 위한 음악 및 모든 동적 메뉴에 대한 컨텐츠를 전달한다. 이 컴포넌 트는, 백그라운드에서 실행되기 때문에, 사용자가 MusicStation을 즐기는 것을 방해하지 않고, 갱신된 컨텐츠를 어떤 화면으로도 전달할 수 있다.
예를 들어, Inbox 탭에 열거된 뉴스 기사들은 사용자가 음악을 듣고 있는 동안에 갱신될지도 모르며, 따라서 사용자가 그 다음에 Buzz 탭으로 전환할 때, 최근의 기사들이 그곳에 준비되어 사용자를 기다리고 있다.
9. 상위 레벨 메뉴
사용자 인터페이스는 4개의 탭으로 분할되어 있다. 각각의 탭은 MusicStation의 특정의 핵심 기능에 중점을 두고 있다.
Figure 112008084031862-PCT00336
Home - MusicStation에서 이용가능한 모든 컨텐츠에 대한 또한 Charts, Search, 기타 등등의 모든 핵심 기능에 액세스를 사용자에게 제공한다.
Figure 112008084031862-PCT00337
Buzz - 커뮤니티 기능 및 음악 뉴스에의 액세스를 제공한다.
Figure 112008084031862-PCT00338
Lineup - 듣기 위한 현재의 트랙 큐를 디스플레이한다.
Figure 112008084031862-PCT00339
Playing - 현재 재생되고 있는 트랙의 상세를 디스플레이한다.
Home 탭 및 Buzz 탭은 계층적 메뉴 구조로 배열된 다수의 화면으로 이루어져 있다. 이하의 테이블들은 Home 탭 및 Buzz 탭의 상위 레벨 메뉴에서의 옵션들의 목록 및 이들이 보다 상세히 기술되는 본 문서의 섹션과의 상호 참조를 제공한다. 도 99 및 도 100을 참조할 것.
LineupPlaying 탭은 어떤 메뉴도 갖지 않는다. 이들은 현재의 음악에 관한 단 하나의 고정된 뷰이다. Lineup은 다운로드 및 재생을 위한 사용자의 현재 의 음악 선택의 영구적인 뷰를 디스플레이한다. Playing 탭은 단지 현재의 트랙을 디스플레이한다.
10. Home
10.1. Playlists
도 101을 참조할 것. Playlists 화면은 재생 목록에의 액세스를 사용자에게 제공한다. 사용자는 그의 사적 및 공유 재생 목록을 보고 관리할 수 있다. 사용자는 또한 편집/컨텐츠 팁에 의해 또는 다른 사용자들에 의해 제공되는 재생 목록을 보고 다운로드하기 위해 Get New Playlists 옵션을 사용할 수 있다.
10.1.1. My Private Playlists
사적 재생 목록은 사용자가 생성했지만 MusicStation 커뮤니티와 공유하지 않는 재생 목록이다. 사적 재생 목록은 My Private Playlists 제목 아래에 열거되어 있다. 사용자는 사적 재생 목록을 선택한 다음에 More 메뉴로부터 Share 옵션을 선택함으로써 이들 재생 목록 중 어느 것을 공개하기로 결정할 수 있다.
10.1.2. My Shared Playlists
도 102를 참조할 것. 공유 재생 목록은 사용자가 MusicStation 커뮤니티와 공유하는 재생 목록이다. 공유 재생 목록은 My Shared Playlists 제목 아래에 열거되어 있다. 사용자는 공유 재생 목록을 선택한 다음에 More 메뉴로부터 Make Private 옵션을 선택함으로써 이들 재생 목록 중 어느 것을 다시 사적인 것으로 만들기로 결정할 수 있다.
10.1.3. Get New Playlists
도 103을 참조할 것. Get new playlists 옵션은 다른 사용자들로부터의 편집 재생 목록(Editorial Playlists), 자동 생성된 재생 목록(Automatically Generated Playlists), 및 공유 재생 목록(Shared Playlists)에의 액세스를 제공한다. 사용자는 이들 재생 목록 중 어느 것을 보고, 재생하며 평가할 수 있다. 도 104를 참조할 것.
이들 화면 상의 목록들은 MusicStation에 의해 매일 밤 또는 매주 갱신된다.
메뉴 항목 설명
Top Playlists MusicStation 내에서 가장 인기있는 공유 재생 목록들의 목록. 이들은 최고 별표시 평가를 갖는 재생 목록이다.
You Might Like 사용자의 듣기 습관 및 평가 활동을 사용하여 발생된 추천된 재생 목록들의 목록
Featured Playlists 계절, 특별 행사, 음악가 새 릴리스, 기타 등등의 어떤 주제를 중심으로 작성된 재생 목록
Celebrity Playlists 유명인별로 생성된 또는 유명인별로 영감을 받은 재생 목록
10.1.4. Create playlist
도 105를 참조할 것. Create playlist 옵션을 사용하여, 사용자는 사적 또는 공유 재생 목록을 생성할 수 있다. 사용자는 재생 목록 이름을 제공하고 이미지들의 라이브러리로부터 재생 목록에 대한 이미지를 선택한다. 생성되면, 사용자는 인터페이스에 걸쳐 발견되는 Add to Playlist 옵션을 사용하여 재생 목록에 트랙을 추가할 수 있다. 사용자는 또한 Add to Playlist을 선택한 후에 새 재생 목 록을 생성할 수 있다.
10.2. 재생 목록 삭제하기
사용자는 재생 목록을 하이라이트하고 More 메뉴로부터 Delete를 선택함으로써 그의 사적 또는 공유 재생 목록들 중 어느 것을 삭제할 수 있다.
10.2.1. 재생 목록 보기
도 106을 참조할 것. 사용자는 재생 목록 내의 트랙들을 볼 수 있다. 사용자는 또한 재생 목록과 연관된 이미지, 재생 목록의 총 재생 시간, 및 재생 목록 내의 트랙의 수를 보게 된다. 재생 목록이 공유 재생 목록인 경우, 그의 별표시 평가도 보여진다.
각각의 재생 목록의 하단에는 사용자가 재생 목록 내의 모든 트랙을 Lineup에 추가하기 위해 선택할 수 있는 ALL TRACKS 옵션이 있다.
10.2.2. 재생 목록 평가하기
사용자는 공유 재생 목록을 평가할 수 있다. 평가들은 모든 사용자들에 의해 제공되고 또한 Top playlists 및 You might like... 목록들을 발생하기 위해 전체적으로 사용되며, 이어서 사용자의 Get New Playlists 화면에서 사용자에게 피드백된다. 섹션 8.3을 참조할 것.
10.3. 음악가
도 107을 참조할 것. Albums 화면은 MusicStation 카탈로그에서 이용가능한 모든 앨범에의 액세스를 사용자에게 제공한다. 사용자는 과거에 트랙을 다운로드했던 음악가를 볼 수 있다. 사용자는 이 사용자가 일반적으로 또는 개인적으로 관심을 갖는 음악가를 보고 듣기 위해 Get new artists 옵션을 사용할 수 있다.
10.3.1. My Top Artists
Artists 화면의 My Top Artists 부분에서, 사용자는 트랙들을 다운로드했던 그의 음악가들의 선택적 목록을 볼 수 있다. 이 목록은 사용자가 트랙들을 다운로드했던 음악가들로 이루어지게 된다. 이것은 사용자에게 그의 좋아하는 음악가에의 용이한 액세스를 제공한다. 이 목록은 일반적으로 사용자가 트랙을 다운로드했던 모든 음악가이지만, (전화에 따라) 과도하게 길지 않도록 제한되어 있다.
10.3.2. Get new artists
도 108을 참조할 것. Get new artists 옵션은, 사용자의 듣기 습관 및 피드백을 사용하여 자동적으로, 또는 편집하여, MusicStation에 의해 발생된 음악가들의 목록에의 액세스를 제공한다. 이들은 2가지 주요 카테고리, 즉 인기있는 음악가(예를 들어, Top artists, Top Pop, Top Rock, 기타) 및 추천된 음악가(예를 들어, You might like)에 기초하고 있다.
이들 화면 상의 목록들은 MusicStation에 의해 매일밤 또는 매주 갱신된다.
메뉴 항목 설명
Top Artists MusicStation 내의 모든 사용자에 걸쳐 가장 인기있는 음악가들의 목록
You Might Like 사용자의 듣기 습관 및 평가 활동을 이용하여 발생된 추천 음악가들의 목록
Top [Genre] 장르별로 나누어진 MusicStation에서 가장 인기있는 음악가들의 목록. 옵션들의 목록이 MusicStation에서 가장 인기있는 상위 5개 장르를 포함한다.
도 109를 참조할 것.
10.3.3. 음악가 프로파일 - 음악가 보기
도 110을 참조할 것. 사용자는 이미지, 음악가의 MusicStation 별표시 평가, 다운로드된 트랙의 수, 다운로드된 트랙의 목록, 및 이들 다운로드된 트랙의 총 재생 시간을 비롯한 음악가 프로파일을 볼 수 있다. 이 화면으로부터, 사용자는 이 음악가에 대해 이용가능한 모든 트랙 또는 앨범을 보고 재생할 수 있다.
10.3.4. 음악가 프로파일 - Get new tracks
도 111을 참조할 것. 사용자는 선택된 음악가에 대한 모든 이용가능한 트랙들의 목록을 볼 수 있다. 이 화면으로부터, 사용자는 트랙을 재생 및 평가할 수 있다.
10.3.5. 음악가 프로파일 - Get new albums
도 112를 참조할 것. 사용자는 선택된 음악가에 대한 이용가능한 앨범 전부의 목록을 볼 수 있다. 이 화면으로부터, 사용자는 앨범 중의 트랙을 보고, 재생하며 평가할 수 있다.
10.3.6. 음악가 평가하기
사용자는 More 메뉴로부터 Rate 옵션을 사용하여 음악가를 평가할 수 있다. 섹션 8.3을 참조할 것.
10.4. 앨범
도 113을 참조할 것. Albums 화면은 MusicStation 카탈로그에서 이용가능한 모든 앨범에의 액세스를 사용자에게 제공한다. 사용자는 과거에 트랙을 다운로드했던 앨범을 볼 수 있다. 사용자는 이 사용자가 일반적으로 또는 개인적으로 관심을 갖고 있는 앨범을 보고 듣기 위해 Get new albums 옵션을 사용할 수 있다.
10.4.1. My Top Albums
Albums 화면의 My Top Albums 부분에서, 사용자는 트랙을 다운로드했던 그의 앨범들의 선택적인 목록을 볼 수 있다. 이 목록은 사용자가 빈번하게 다운로드하여 듣는 앨범들로 이루어진다. 이것은 사용자에게 다운로드된 트랙들에의 용이한 액세스를 제공한다.
10.4.2. Get New Albums
도 114를 참조할 것. Get new albums 옵션은 사용자 듣기 습관 및 피드백을 사용하여 자동적으로 또는 편집하여 MusicStation에 의해 발생된 앨범들의 목록에 의 액세스를 제공한다. 이들은 2가지 주요 카테고리, 즉 인기있는 앨범(예를 들어, Top artists, Top Pop, Top Rock, 기타) 및 추천 앨범(예를 들어, You might like, Just released)에 기초하고 있다. 사용자는 어느 것이라도 쉽게 재생하거나 볼 수 있다.
이들 화면 상의 목록들은 MusicStation에 의해 매일밤 또는 매주 갱신된다.
메뉴 항목 설명
Top Albums 이 서비스 내의 모든 사용자에 걸쳐 가장 인기있는 앨범들의 목록
You Might Like 사용자의 듣기 습관 및 평가 활동을 이용하여 계산된 추천 앨범들의 목록
Just released 최근에 발표된 앨범들의 목록
Top [Genre] 장르별로 나누어진 이 MusicStation 서비스에서 가장 인기있는 앨범들에의 액세스를 제공함. 옵션들의 목록이 이 서비스에서 가장 인기있는 상위 5개 장르를 포함한다.
도 115를 참조할 것.
10.4.3. 앨범 홈 페이지
도 116을 참조할 것. 사용자는 앨범 상의 트랙의 수, 앨범의 별표시 평가, 및 트랙 목록을 비롯한 앨범의 상세를 볼 수 있다. 사용자는 앨범으로부터의 개개의 트랙 또는 모든 트랙을 재생할 수 있다. 앨범 홈 페이지의 하단에 있는 ALL TRACKS 옵션을 사용하여, 사용자는 앨범으로부터의 모든 트랙을 재생하기로 선택할 수 있다.
10.4.4. 앨범 평가하기
사용자는 사용자 인터페이스 내에서 앨범을 평가할 수 있다. 섹션 8.3을 참 조할 것.
10.5. Tracks
도 117을 참조할 것. Tracks 화면은 MusicStation 카탈로그로부터 이용가능한 모든 트랙에의 액세스를 사용자에게 제공한다. 사용자는 과거에 다운로드했던 트랙들의 선택적인 목록을 볼 수 있다. 사용자는 또한 이 사용자가 일반적으로 또는 개인적으로 관심을 갖고 있는 트랙들을 보고 듣기 위해 Get new tracks 옵션을 사용할 수 있다.
10.5.1. My Top Tracks
Albums 화면의 My Top Albums 부분에서, 사용자는 그의 다운로드된 트랙들의 선택적인 목록을 볼 수 있다. 이 목록은 사용자가 빈번하게 듣는 트랙으로 이루어진다. 이 목록 내의 모든 트랙들은 즉각 들을 수 있다. 사용자는 이들 트랙 중 임의의 것을 듣기 위해 네트워크 통화 권역을 필요로 하지 않는다.
10.5.2. Get New Tracks
도 118을 참조할 것. Get new tracks 옵션은, 사용자 듣기 습관 및 피드백을 사용하여 자동적으로 또는 편집하여, MusicStation에 의해 발생된 트랙들의 목록에의 액세스를 제공한다. 이들은 2가지 주요 카테고리, 즉 인기있는 트랙(예를 들어, Top Tracks) 및 추천 트랙(예를 들어, You might like, Just released)에 기 초하고 있다.
이들 화면 상의 목록들은 MusicStation에 의해 매일밤 또는 매주 갱신된다.
10.5.3. 트랙 평가하기
사용자는 어떤 트랙이라도 평가할 수 있다. 섹션 8.3을 참조할 것.
10.5.4. 재생 목록에 트랙 추가하기
사용자는 재생 목록에 트랙을 추가할 수 있다. 이 프로세스 동안에, 사용자는 기존의 재생 목록을 선택하거나 새로운 재생 목록을 생성할 수 있다. 섹션 10.1.4 재생 목록 생성하기를 참조할 것.
10.6. Charts
10.6.1. 차트 목록
도 119를 참조할 것. Charts 화면은 이 서비스의 사용자의 듣기 및 평가 습관으로부터 생성된 차트의 목록을 제공한다. 차트의 선택은 매일, 매주 및 매월을 비롯하여 이용가능하다.
10.6.2. 차트 상세
도 120을 참조할 것. 사용자는 차트의 이름, 차트의 총 재생 시간, 차트의 전체적인 순차적 트랙//음악가 목록을 비롯한 특정의 차트의 상세를 볼 수 있고 차 트로부터의 트랙을 재생할 수 있다.
10.7. 검색
도 121을 참조할 것.
10.7.1. 음악가 검색
도 122를 참조할 것. 사용자는 Search 텍스트 박스에 검색어를 입력하고 Search for 메뉴 상의 Artists 라디오 버튼을 선택함으로써 MusicStation 카탈로그 내에서 음악가를 검색할 수 있다. 그러면, 사용자는 그의 검색에 의해 반환되는 음악가 프로파일을 볼 수 있다.
10.7.2. 트랙 검색
도 123을 참조할 것. 사용자는 Search 텍스트 박스에 검색어를 입력하고 Search for 메뉴 상의 Tracks 라디오 버튼을 선택함으로써 MusicStation 카탈로그 내에서 트랙을 검색할 수 있다. 그러면, 사용자는 그의 검색에 의해 반환되는 트랙을 재생할 수 있다.
10.7.3. 앨범 검색
도 124를 참조할 것. 사용자는 Search 텍스트 박스에 검색어를 입력하고 Search for 메뉴 상의 Albums 라디오 버튼을 선택함으로써 MusicStation 카탈로그 내에서 앨범을 검색할 수 있다. 그러면, 사용자는 그의 검색에 의해 반환되는 앨범 프로파일을 보거나 재생할 수 있다.
10.8. Play Top Track
도 125를 참조할 것. Home 메뉴 상의 Play Top Track 옵션은 핸드셋에 이미 있는 트랙들의 목록으로부터의 랜덤한 트랙을 Lineup의 끝에 추가한다. Lineup이 비어 있는 경우, 이 트랙은 즉각 재생되기 시작한다. 이 옵션에 대해 네트워크 통화 권역이 필요하지 않는데, 그 이유는 이들 트랙이 이미 다운로드되어 있기 때문이다.
10.9. Options
도 126을 참조할 것. Options 화면은 사용자에게 일반 정보 및 그의 MusicStation 애플리케이션을 제어하는 옵션에의 액세스를 제공한다.
10.9.1. Membership Status
도 127을 참조할 것. 이 옵션은 사용자의 멤버쉽의 상태를 디스플레이한다. 이는 그 다음 갱신의 날짜 및 시간, 갱신 비용 및 갱신 빈도수 등의 갱신 상세를 보여준다. 사용자는 또한 Cancel Membership 옵션을 사용하여 그의 멤버쉽을 취소할 수 있다.
이하의 테이블은 멤버쉽 프로세스에서의 서로 다른 단계들을 나타낸 것이다.
멤버쉽 설명
무료 액세스 사전 로드된 무료 컨텐츠를 비롯한 애플리케이션의 사용이 무제한임. 사용자는 무료 컨텐츠를 재생하고 MusicStation를 순회할 수 있다.
무료 시험 액세스 사용자가 처음으로 과금가능한 동작을 수행하려고 할 때, MusicStation에 가입하도록 요청받고 통상적으로(서비스 구성에 따라 다름) 무제한 무료 액세스를 갖게 될 무료 사용 기간을 제공받는다. 사용자는 음악 다운로드 및 커뮤니티를 비롯한 MusicStation의 모든 기능을 사용할 수 있다. 무료 기간의 끝에, 사용자는 정상 요금으로 요금을 재발생하기 시작한다.
무제한 다운로드에 가입됨 가입 프로세스는 사용자가 서비스의 기한 및 조건을 수락하는 것을 포함한다. 이들이 수락되면, 사용자는 가입되어 있는 기간 동안 MusicStation 내의 모든 음악에 즉각 액세스한다.
자동 가입 갱신 사용자가 가입되어 있는 동안 아무 조치도 취하지 않는 경우, 갱신 날짜/시간이 다가오자마자 사용자의 가입이 자동적으로 갱신된다. 사용자는 갱신의 통지를 받지 않는다. 사용자가 갱신 날짜의 유예 기간 내에 MusicStation을 사용하지 않는 경우, 성공적인 갱신이 있을 때까지 모든 음악(핸드셋에 이미 다운로드된 것을 포함함)에의 액세스가 금지된다.
무제한 다운로드 가입 탈퇴 사용자는 Membership Status 화면 상의 Cancel Membership 옵션을 선택함으로써 언제라도 서비스의 가입을 탈퇴하기로 할 수 있다. 사용자는 그 다음 갱신 날짜/시간 기한까지 가입된 채로 있게 되며, 이 기한이 되면 더 이상 음악에 액세스할 수 없게 된다.
10.9.2. About
도 128를 참조할 것. 이 화면은 MusicStation의 버전에 관한 정보를 디스플레이한다. 이는 또한 사용자가 그의 핸드셋으로 현재 다운로드한 트랙의 총수를 디스플레이한다.
10.9.3. Roaming Options
도 129를 참조할 것. 사용자는 MusicStation에 대한 로밍 거동을 구성할 수 있다. 전화가 로밍 중인 경우, 사용자는 트랙을 다운로드할 때 또는 MusicStation이 메뉴 항목 및 이미지를 갱신할 때 부가의 요금을 경험할 수 있다.
옵션 설명
Roaming Status 전화의 현재 로밍 상태. 이것은 사용자가 로밍 중이 아닌 경우 Home을 보여주고 사용자가 로밍 중인 경우 Roaming을 보여준다.
Track Downloads 사용자가 로밍할 때 프롬프트없이 트랙을 다운로드하기 위해(부가 요금이 있음) 이 옵션을 On으로 설정할 수 있다. 사용자가 로밍할 때 트랙의 다운로드를 금지하기 위해 이 옵션을 Off로 설정하거나 이하의 프롬프트를 야기하기 위해 Ask로 설정한다.
Menu & picture updates 사용자가 로밍할 때 프롬프트없이 메뉴 항목 및 사진을 갱신하기 위해(부가 요금이 있음) 이 옵션을 On으로 설정할 수 있다. 사용자가 로밍할 때 메뉴 및 사진 갱신을 금지하기 위해 이 옵션을 Off로 설정하거나 이하의 프롬프트를 야기하기 위해 Ask로 설정한다.
Menu & picture updates에 대한 로밍 거동이 Ask로 설정되는 경우, 주어진 세션에 대해 로밍하는 동안, 사용자에게 다운로드, 갱신 및 부가 요금을 승인/거부하도록 요구하는 경고 메시지가 사용자에게 보여진다. 도 130을 참조할 것.
사용자가 로밍하는 동안 트랙을 다운로드하려고 하고 트랙에 대한 로밍 거동이 Ask로 설정되어 있을 때, 로밍 동안 사용자에게 다운로드, 갱신 및 부가 요금을 승인/거부하도록 요구하는 경고 메시지가 사용자에게 보여진다. 이 승인/거부의 동작은 현재의 세션에 대한 설정을 구성한다. 도 131을 참조할 것.
10.9.4. 언어 선택
다수의 언어가 정의되어 있는 서비스에 대해, 사용자는 MusicStation의 언어를 변경할 수 있다. 언어를 변경할 시에, 사용자는 MusicStation을 재시작하도록 요청받게 된다. 이 동작을 확인하면 MusicStation이 닫힌다. 도 132를 참조할 것.
10.9.5. Terms & Conditions
이 화면은 이 MusicStation 서비스에 대한 일반적인 또한 서비스-관련 기한 및 조건에의 WAP 링크를 디스플레이한다. 도 133을 참조할 것.
10.9.6. 최대 메모리 카드 사용
사용자는 MusicStation이 음악 및 데이터를 저장하기 위해 사용하게 될 메모리 카드의 최대 퍼센트를 선택할 수 있다. 사용자는 전화의 다른 용도(예를 들어, 사진)를 위해 더 많은 공간을 남겨 두기 위해 낮은 값을 설정할 수 있다.
11. Buzz
도 134를 참조할 것. 사용자는 Buzz 프로파일을 생성하기로 선택할 수 있다. 이것은 사용자가 MusicStation 커뮤니티 기능들 전부에 참여할 수 있게 해준다. 사용자가 Buzz 프로파일을 가지고 있지 않은 경우, 사용자는 다른 멤버들과 통신을 할 수 없다.
Buzz 화면으로부터, 사용자는 그의 프로파일을 볼 수 있고, 뉴스 기사를 읽을 수 있으며 그의 Inbox 내의 메시지에 액세스할 수 있다.
11.1. Join the Buzz
도 135를 참조할 것. 사용자가 Buzz 프로파일을 필요로 하는 커뮤니티 기능을 사용하려고 할 때, 사용자는 Join the Buzz 화면으로 리디렉션되고 등록하고자 하는 멤버 이름을 넣으라고 요청받는다. 사용자는 이름을 입력하고 이미지를 선택 할 수 있으며, 이에 의해 그의 프로파일이 형성되게 된다. 입력된 이름은 고유해야만 한다.
Member 이름이 이용가능하지 않은 경우, 사용자가 수락하거나 변경할 수 있는 대안이 제안된다.
사용자는 My Profile 화면으로부터 언제라도 그의 프로파일을 편집할 수 있다.
사용자는 또한 선택적으로 이미지를 선택하고 짧은 캐치프레이즈를 제공해도 된다. 이들 항목은 다른 사용자들이 이 멤버의 프로파일을 볼 때마다 디스플레이된다.
11.2. Buzz 멤버
11.2.1. My Profile
도 136을 참조할 것. My Profile 화면은 그 자신의 개인화된 컨텐츠와 함께 MusicStation 커뮤니티의 모든 측면에의 액세스를 사용자에게 제공한다. 사용자가 프로파일을 생성하기 전에, 사용자는 Buzz 탭에서 News 항목에 액세스하고 Cool Members 및 Buzz playlists를 볼 수 있지만, 친구를 추가하거나 추천을 전송할 수는 없다.
사용자가 등록을 하면, 이 화면은 이하의 것들을 보여준다.
Figure 112008084031862-PCT00340
멤버 이름
Figure 112008084031862-PCT00341
이미지
Figure 112008084031862-PCT00342
별표시 평가
Figure 112008084031862-PCT00343
다른 사용자들이 그를 어떻게 평가했는지의 표시
Figure 112008084031862-PCT00344
듣기 - 다른 사용자들이 이 멤버의 공유 재생 목록들 중 하나를 들은 횟수
Figure 112008084031862-PCT00345
친구 수
Figure 112008084031862-PCT00346
캐치프레이즈
My Profile 화면으로부터, 사용자는 Cool Members, Buzz Playlists 및 그의 Buzz Friends의 목록을 볼 수 있다.
메뉴 항목 설명
Cool members 인기있는 멤버, 특별 멤버, 및 유사한 듣기 및 평가 습관에 기초한 이 사용자와 관련될 수 있는 멤버
Buzz playlists 인기있는 재생 목록, 특별 재생 목록, 유명인 재생 목록, 및 듣기 및 평가 습관에 기초한 이 사용자가 즐길 수 있는 재생 목록
My friends 이 사용자가 친구로서 추가한 사용자들의 목록
11.2.2. Edit my profile
멤버로서 등록하고 나서 언제라도, 사용자는 More 메뉴로부터의 Edit My Profile 옵션을 사용하여 그의 멤버 프로파일의 상세를 수정할 수 있다. 도 137을 참조할 것.
이것은 사용자가 그의 캐치프레이즈를 수정하고 그의 이미지를 변경할 수 있게 해준다. 이는 또한 사용자가 그의 프로파일이 다른 사용자들에게 보이기를 원하는지 또 그의 상위 트랙이 그의 프로파일 화면에 열거되기를 원하는지를 지정할 수 있게 해준다.
11.2.3. Cool Members
도 138을 참조할 것. My Profile 화면 상의 Cool Members 옵션은 다양한 멤버들의 목록에의 액세스를 사용자에게 제공한다.
메뉴 항목 설명
Top Members MusicStation에서 가장 인기있는 멤버들
You Might Like 유사한 듣기 및 평가 습관에 기초한 이 사용자가 관련되어 있을 수 있는 멤버들의 목록
Featured Members 편집하여 선택된 멤버들의 목록
사용자는 그 멤버의 프로파일을 보기 위해 이들 목록에서 임의의 멤버를 클릭할 수 있다(섹션 11.2.4).
11.2.4. Buzz Playlists
도 139를 참조할 것. My Profile 화면 상의 Buzz Playlists 옵션은 편집 재생 목록, 자동 생성된 재생 목록, 및 다른 사용자들로부터의 공유 재생 목록을 비롯한 다양한 재생 목록에의 액세스를 사용자에게 제공한다. 사용자는 이들 재생 목록 중 임의의 것을 보고, 재생하며, 평가할 수 있다.
도 140을 참조할 것. 이들 화면 상의 목록은 MusicStation에 의해 매일밤 또는 매주 갱신된다.
메뉴 항목 설명
Top Playlists MusicStation 내에서 가장 인기있는 공유 재생 목록들의 목록. 이들은 별표시 평가 및 듣기에 기초한 가장 인기있는 재생 목록이다.
You Might Like 사용자의 듣기 습관 및 평가 활동을 사용하여 생성된 추천 재생 목록들의 목록
Featured Playlists 계절, 특별 행사, 음악가 새 발표, 기타 등등의 어떤 주제를 중심으로 작성된 편집하여 선택된 재생 목록
Celebrity Playlists 유명인별로 생성되거나 유명인별로 영감을 받는 재생 목록
11.2.5. My Friends
도 141을 참조할 것. My Profile 화면 상의 My Friends 옵션은 친구로서 추가한 사용자들의 목록 및 임의의 보류 중인 친구 요청에의 액세스를 사용자에게 제공한다. 친구에 관한 추가 정보에 대해서는 섹션 11.3을 참조할 것.
11.2.6. 다른 멤버 프로파일 보기
도 142를 참조할 것. 이 화면은 다른 멤버의 상세를 디스플레이한다. 멤버의 프로파일은 그 멤버가 Edit My Profile 화면에서 그의 프로파일이 보이도록 하는 옵션을 활성화시킨 경우에만 다른 사용자가 볼 수 있다.
Member Profile 화면은 멤버의 이하의 것들을 디스플레이한다.
Figure 112008084031862-PCT00347
멤버 이름
Figure 112008084031862-PCT00348
이미지
Figure 112008084031862-PCT00349
별표시 평가
Figure 112008084031862-PCT00350
듣기(다른 사용자가 이 멤버의 공유 재생 목록들 중 하나를 들은 횟수)
Figure 112008084031862-PCT00351
친구 수
Figure 112008084031862-PCT00352
캐치프레이즈
Figure 112008084031862-PCT00353
그의 공유 재생 목록들의 목록
Figure 112008084031862-PCT00354
내 상위 트랙 (이 사용자의 상위 5개 트랙)
이 화면으로부터, 사용자는 이하의 것들을 할 수 있다.
Figure 112008084031862-PCT00355
이 멤버의 공유 재생 목록을 보기
Figure 112008084031862-PCT00356
이 멤버의 상위 5개 트랙을 보고 재생하기(이 옵션은 다른 멤버가 Edit my profile 옵션을 사용하여 그의 멤버 프로파일을 구성할 때 Show my top tracks 옵션을 활성화시킨 경우에만 보여진다. 섹션 11.2.2를 참조할 것)
Figure 112008084031862-PCT00357
이 사용자를 친구로서 추가하도록 요청하기
Figure 112008084031862-PCT00358
이 멤버를 평가하기
11.3. 친구
버즈 멤버는 다른 멤버들에게 항목들(이 항목들에 메시지도 첨부할 수 있음)을 추천할 수 있다. 그렇지만, 버즈 멤버는 그의 친구 목록에 추가한 멤버들에 대해서만 이렇게 하도록 허용되어 있다. 사용자들은 다른 버즈 멤버들에게 친구 요청을 전송하거나 다른 멤버들로부터의 요청을 확인함으로써 친구를 추가할 수 있다.
친구들의 목록은 그의 My Profile 화면으로부터 볼 수 있다(섹션 11.3.2 참조할 것).
모든 추천은 Buzz 탭 상의 Inbox에서 볼 수 있다(섹션 11.4 참조).
11.3.1. 멤버를 친구로 추가하도록 요청하기
도 143을 참조할 것. 사용자 인터페이스에서 멤버가 열거되어 있는 어디에서든지, 사용자는 그 멤버에게 자기의 친구가 되라는 요청을 전송하기 위해 More 메뉴로부터 Add as Friend 옵션을 선택할 수 있다. 사용자는 메시지를 입력할 수 있고, 이 메시지는 친구 요청과 함께 전송된다. 이 메시지를 전송하기 위해, 사용자는 More 메뉴로부터 Send 옵션을 선택한다. 친구 요청은 다른 멤버에게로 전송되고, 그 다른 멤버는 이 요청을 수락 또는 거부하는 선택권을 갖는다.
11.3.2. 내 친구의 목록 보기
도 144를 참조할 것. 사용자는 My Profile 화면으로 가서 My friends 옵션을 선택함으로서 언제라도 자기의 친구 목록을 볼 수 있다.
11.3.3. 보류 중인 내 친구 요청의 목록 보기
도 145를 참조할 것. 사용자는 My Profile 화면으로부터 이용가능한 My Friends 화면 상의 Pending friend requests 제목 하에서 자기가 전송하였지만 아직 응답을 받지 못한 친구 요청의 목록을 볼 수 있다(섹션 11.3.2를 참조할 것).
11.3.4. 이름으로 친구를 추가하라는 요청
도 146을 참조할 것. 사용자가 친구로서 추가하고자 하는 멤버의 이름을 아는 경우, 사용자는 My Profile 화면으로부터의 My Friends 메뉴 옵션으로부터 액세스되는, Add friend by name 옵션을 사용하여 그 이름을 입력함으로써 그 멤버에게 친구 요청을 전송할 수 있다(섹션 11.3.2를 참조할 것).
11.3.5. 전화 번호로 친구를 추가하라는 요청
도 147을 참조할 것. 사용자가 친구로서 추가하고자 하는 멤버의 이동 전화 번호를 알고 있는 경우, 사용자는 My Profile 화면으로부터의 My Friends 메뉴 옵션으로부터 액세스되는, Add friend by phone no 옵션을 사용하여 그 이름을 입력함으로써 친구 요청을 그 멤버에게 전송할 수 있다(섹션 11.3.2를 참조할 것).
11.3.6. 친구에게 재생 목록 추천 전송하기
재생 목록이 MusicStation의 어디에 열거되어 있든지 간에, 사용자는 하나 이상의 친구에게 이를 추천하는 메시지를 전송하기 위해 More 메뉴로부터의 Send to Friend 옵션을 사용할 수 있다. 추천 메시지는 그 친구의 Inbox에 도착한다(섹션 11.4.3을 참조할 것).
11.3.7. 음악가 추천을 친구에게 전송하기
음악가가 MusicStation의 어디에 열거되어 있든지 간에, 사용자는 하나 이상의 친구에게 이를 추천하는 메시지를 전송하기 위해 More 메뉴로부터의 Send to Friend 옵션을 사용할 수 있다. 추천 메시지는 그 친구의 Inbox에 도착한다(섹션 11.4.4를 참조할 것).
11.3.8. 앨범 추천을 친구에게 전송하기
앨범이 MusicStation의 어디에 열거되어 있든지 간에, 사용자는 하나 이상의 친구에게 이를 추천하는 메시지를 전송하기 위해 More 메뉴로부터의 Send to Friend 옵션을 사용할 수 있다. 추천 메시지는 그 친구의 Inbox에 도착한다(섹션 11.4.5를 참조할 것).
11.3.9. 트랙 추천을 친구에게 전송하기
트랙이 MusicStation의 어디에 열거되어 있든지 간에, 사용자는 하나 이상의 친구에게 이를 추천하는 메시지를 전송하기 위해 More 메뉴로부터의 Send to Friend 옵션을 사용할 수 있다. 추천 메시지는 그 친구의 Inbox에 도착한다(섹션 11.4.6을 참조할 것). 도 148을 참조할 것.
11.4. Inbox
Inbox(받은 편지함)는 이 MusicStation 서비스의 사용자이기도 한 사용자의 친구로부터 도착한 메시지 및 추천을 디스플레이한다. MusicStation의 친구 기능에 대한 소개에 대해서는 섹션 11.3을 참조할 것. 메시지는 지능적 백그라운드 다운로더(Intelligent Background Downloader)에 의해 백그라운드에서 다운로드되며 사용자로부터의 어떤 특정의 상호작용도 없이 받은 편지함에 나타난다.
11.4.1. 들어오는 친구 요청 메시지
도 149를 참조할 것. 다른 멤버가 이 사용자를 친구로서 추가하라고 요청할 때, 친구 요청이 이 사용자의 받은 편지함에 도착한다. 이 사용자는 4가지 방식 중 하나로 이 요청에 응답할 수 있다.
선택 동작
Approve 이 사용자는 상대방 멤버의 친구 목록에 추가된다. 상대방 멤버는 이 사용자의 친구 목록에 추가된다.
Deny 이 사용자는 상대방 멤버의 친구 목록에 추가되지 않는다. 상대방 멤버는 이 사용자의 친구 목록에 추가되지 않는다.
Block 이 사용자는 상대방 멤버의 친구 목록에 추가되지 않는다. 상대방 멤버는 이 사용자의 친구 목록에 추가되지 않는다. 상대방 멤버로부터의 모든 장래의 친구 요청이 무시된다.
Report abuse 이 사용자는 상대방 멤버의 친구 목록에 추가되지 않는다. 상대방 멤버는 이 사용자의 친구 목록에 추가되지 않는다. 상대방 멤버로부터의 모든 장래의 친구 요청이 무시된다. 욕설 통지가 MusicStation 지원팀에 제공된다.
이 사용자가 응답할 때, 그의 응답이 상대방 멤버의 받은 편지함으로 전달된다. 이들 응답은 섹션 11.4.2에 기술되어 있다.
11.4.2. 친구 요청에 대한 응답
도 150을 참조할 것. 이 사용자가 다른 멤버에 친구 요청을 전송할 때, 그 멤버는 이 요청을 수락 또는 거부하는 선택권이 있다. 그의 응답이 이 사용자에게 반환되고 받은 편지함에 디스플레이된다. 친구 요청에 대한 3가지 가능한 응답이 이하에 열거되어 있다.
받은 편지함에 보여지는 타이틀 동작
Friend Request Accepted 상대방 멤버가 친구 요청을 수락한다. 상대방 멤버가 이 사용자의 친구 목록에 추가되고 이 사용자가 상대방 멤버의 친구 목록에 추가된다. 이들은 이제 서로에게 트랙, 재생 목록 및 메시지를 전송할 수 있다.
Friend Request Denied 상대방 멤버가 친구 요청을 거부한다. 어느 한쪽 멤버의 친구 목록에 대한 변경 없음. 이 사용자가 친구 요청을 재전송할 수 있다.
Friend Request Blocked 상대방 멤버가 이 사용자로부터의 모든 친구 요청을 차단한다. 이 사용자는 상대방 멤버로의 모든 친구 요청을 자동적으로 차단시킨다. 상대방 멤버는 그 멤버로부터의 요청을 다시는 보지 못하게 된다.
11.4.3. 친구로부터 들어오는 재생 목록 추천
도 151을 참조할 것. 친구가 이 사용자에게로 재생 목록 추천을 전송할 때(섹션 11.3.6), 추천 메시지가 이 사용자의 받은 편지함에 나타난다. 사용자는 그 메시지를 열고 재생 목록을 보기 위해 그 메시지 내의 하이퍼링크를 클릭할 수 있다.
11.4.4. 친구로부터의 들어오는 음악가 추천
도 152를 참조할 것. 친구가 이 사용자에게로 음악가 추천을 전송할 때(섹션 11.3.7), 메시지가 이 사용자의 받은 편지함에 나타난다. 사용자는 그 메시지를 열고 음악가 프로파일 화면으로 바로 가기 위해 그 메시지 내의 하이퍼링크를 클릭할 수 있다.
11.4.5. 친구로부터의 들어오는 앨범 추천
도 153을 참조할 것. 친구가 이 사용자에게로 앨범 추천을 전송할 때(섹션 11.3.8), 메시지가 이 사용자의 받은 편지함에 나타난다. 사용자는 그 메시지를 열고 앨범 화면으로 바로 가기 위해 그 메시지 내의 하이퍼링크를 클릭할 수 있다. 사용자는 또한 음악가 프로파일 화면으로 바로 가기 위해 음악가 이름을 클릭할 수 있다.
11.4.6. 친구로부터의 들어오는 트랙 추천
도 154를 참조할 것. 친구가 이 사용자에게로 트랙 추천을 전송할 때(섹션 11.3.9), 추천 메시지가 이 사용자의 받은 편지함에 나타난다. 사용자는 그 메시지를 열고 트랙을 그의 Lineup에 추가하기 위해 그 메시지 내의 하이퍼링크를 클릭할 수 있다.
11.5. 뉴스
11.5.1. 사설의 목록
News 섹션은 계속하여 갱신되는 뉴스 기사의 목록을 디스플레이한다. 통상적으로, 6개의 기사가 디스플레이되고, 국제적 일반 관심의 기사 2개, 지역적 일반 관심 기사 2개 및 이 사용자의 듣기 및 평가 거동에 기초한 기사 2개로 나누어져 있다. 이러한 분할은 특정 서비스의 요구에 맞춰 구성될 수 있다.
기사의 목록은 MusicStation의 정상 사용 동안에 지능적 백그라운드 다운로더에 의해 갱신된다. 기사들이 백그라운드에서 이 목록에 추가되고, 사용자가 그 다음에 Buzz 탭으로 이동할 때 사용자가 이를 즉각 볼 수 있다.
11.5.2. 기사 보기
도 155를 참조할 것. 기사를 보기 위해, 사용자는 목록에서 기사를 선택하고 조이스틱 버튼을 클릭하거나 More 메뉴로부터 Open 옵션을 선택한다. 기사 본문 텍스트가 제목 및 관련 이미지 아래에 디스플레이된다.
11.5.3. 기사에 있는 하이퍼링크
도 156을 참조할 것. 기사가 MusicStation 내의 다른 화면으로의 하이퍼링크를 포함해도 된다. 예를 들어, 새 앨범 발표의 보도는 관련 음악가 및 앨범 화면으로의 링크를 포함할 수 있다. 하이퍼링크는 기사 화면에서 청색으로 표시된다. 사용자는 하이퍼링크를 선택하고 조이스틱 버튼을 클릭함으로써 앨범 또는 음악가로 직접 이동할 수 있다. 사용자가 조이스틱 상의 위/아래(up/down)를 사용하여 기사를 위로/아래로 스크롤할 때, 활성 하이퍼링크는 연속적인 하이퍼링크들 간을 이동한다.
12. 라인업
도 157을 참조할 것. 라인업(Lineup)은 MusicStation 클라이언트의 중심 개념이다. 이는 사용자가 듣기 위해 큐잉한 현재의 트랙 재생 목록이다. 재생 목록 상의 노래들이 순서대로 재생된다. 언제라도, 라인업의 내용을 Lineup 화면에서 볼 수 있다.
현재의 트랙은 현재 재생 중인 라인업에 있는 트랙이다. 현재의 트랙은 좌측에 있는 작은 청색 포인터로 하이라이트되어 있다.
도 158을 참조할 것. 라인업에 추가된 트랙이 없는 경우, 옵션 Play top track이 디스플레이된다. 이 옵션은 상위 트랙을 라인업에 랜덤하게 추가하여 재생한다. 상위 트랙은 이미 다운로드되어 있고 즉각 재생된다.
12.1. 트랙 다운로드 상태
도 159를 참조할 것. 아직 다운로드되지 않은 트랙들은 백그라운드에서 다운로드된다. 현재 다운로드 중이거나 다운로드되기를 기다리고 있는 트랙은 회색 폰트로 나타내어져 있다. 다운로드 중인 트랙의 진행이 0-100%의 퍼센트로 디스플레이된다.
트랙들은 라인업으로부터 순서대로 재생된다. 아직 다운로드가 끝나지 않은 트랙에 도달되면, 재생은 그 트랙을 건너뛰며 다운로드된 그 다음 트랙으로 간다. 그 트랙이 다운로드되었으면, 그 트랙은 재생될 수 있게 된다.
MusicStation은 사용자의 경험을 최적화하고 또 음악 재생이 연속적이어서 사용자가 연속적인 음악 흐름을 듣도록 하기 위해 트랙의 다운로드를 백그라운드에서 지능적으로 관리한다.
트랙이 한번에 하나씩 다운로드되지만, 트랙이 라인업에 어떻게 추가되었는지 또 사용자가 애플리케이션을 종료시킴으로써 다운로드를 중단했는지 여부에 따라, 다수의 트랙이 부분적으로 다운로드된 상태로 보여질 수 있다.
트랙이 다운로드 중인 동안, 사용자는 이미 다운로드된 음악을 들을 수 있으며 나머지 MusicStation 사용자 인터페이스를 자유롭게 돌아다닌다. MusicStation이 종료될 때 부분적으로 다운로드된 트랙이 저장되고 나중에 트랙이 중단된 곳에서부터 다운로드를 계속한다.
12.2. 재생 목록으로 저장하기
도 160을 참조할 것. 사용자는 현재의 라인업을 재생 목록에 저장할 수 있다. 현재의 라인업을 재생 목록으로 저장하기 위해, 사용자는 More 메뉴로부터 Save as playlist를 선택한다. 사용자는 현재의 라인업을 새 재생 목록으로 저장하거나 트랙들을 기존의 재생 목록에 추가하기로 선택할 수 있다. 이 저장된 재생 목록은 핸드셋에 또 중앙에 저장된다.
12.3 라인업으로부터 제거하기
도 161을 참조할 것. 사용자는 Lineup으로부터 트랙을 제거할 수 있다. Lineup으로부터 트랙을 제거하기 위해, 사용자는 트랙을 선택한 다음에 More 메뉴로부터 Remove를 선택한다. 사용자가 Current Track을 제거하는 경우, 현재의 재생 목록에서의 그 다음으로 이용가능한 트랙이 재생된다.
12.4. 라인업 비우기
도 162를 참조할 것. 사용자는 현재의 라인업을 비워, 그로부터 모든 트랙을 제거할 수 있다. 라인업을 비우기 위해, 사용자는 More 메뉴로부터 Clear를 선택한다. 음악 재생이 중단된다.
12.5. 현재의 라인업 내의 트랙으로 점프하여 재생하기
사용자는 현재의 Lineup으로부터 재생할 다른 트랙을 선택할 수 있다. 이것을 하기 위해, 사용자는 조이스틱을 사용하여 트랙으로 이동한다. 사용자는 조이 스틱 버튼을 누르거나 More 메뉴로부터 Play를 선택함으로써 트랙을 시작할 수 있다. MusicStation은 선택된 트랙을 재생하기 시작한다. 다운로드된 트랙만이 재생될 수 있다.
12.6. 음악을 라인업에 추가하기
사용자는 MusicStation의 음악 카탈로그를 순회하고 Lineup에 추가할 트랙, 앨범, 음악가 또는 재생 목록을 선택할 수 있다.
조이스틱으로 트랙을 선택함으로써 어떤 트랙이라도 라인업에 추가될 수 있다. More 메뉴로부터 Add to Lineup을 선택함으로써 재생 목록, 앨범 또는 트랙이 추가될 수 있다.
Lineup이 비어 있는 경우, 그 항목이 재생되기 시작한다. Lineup이 이미 트랙들을 포함하고 있는 경우, 추가된 항목은 Lineup의 끝에 큐잉된다. 사용자는 Lineup 탭으로 감으로써 사용자가 추가한 트랙들을 볼 수 있다.
다운로드되지 않은 트랙들은 다운로드되기 전에 Lineup에 추가된다. MusicStation은 항목의 다운로드를 백그라운드에서 지능적으로 관리하여 사용자가 연속적인 음악 흐름을 즐길 수 있게 해준다.
항목들을 Lineup에 추가하기 위한 다른 옵션들이 More 메뉴에 제공되어 있다. Play next, Play ASAP 또는 Play now 등의 이들 옵션들에 대해 이제부터 이하에 더 상세히 기술한다.
사용자가 다운로드되어야 하는 트랙을 라인업에 추가하고 라인업에 현재 다 른 트랙이 없는 경우, 사용자는 즉각 재생하기 위한 상위 트랙을 추가하는 옵션으로 프롬프트된다. 도 163을 참조할 것.
12.6.1. Add to Lineup
사용자가 MusicStation 카탈로그를 브라우징할 때, 사용자는 트랙, 재생 목록, 선택된 음악가의 트랙 또는 앨범을 Lineup에 추가하기 위해 More 메뉴로부터 Add to Lineup을 선택할 수 있다.
항목 동작
재생목록 사용자는 인터페이스에서 재생 목록을 선택하고 그 재생 목록으로부터의 모든 트랙을 라인업에 추가할 수 있다. 사용자는 또한 그 재생 목록으로부터의 개개의 트랙을 라인업의 끝에 추가할 수 있다.
앨범 사용자는 인터페이스에서 앨범을 선택하고 그 앨범으로부터의 트랙을 라인업에 추가할 수 있다. 사용자는 또한 그 앨범으로부터의 개개의 트랙을 라인업의 끝에 추가할 수 있다.
음악가 사용자는 음악가를 선택하고 선택된 음악가로부터의 개개의 트랙 또는 앨범을 라인업의 끝에 추가할 수 있다.
트랙 사용자는 트랙을 선택하여 이를 라인업의 끝에 추가할 수 있다.
12.6.2. Play Next
사용자는 MusicStation 카탈로그를 브라우징할 때, 트랙, 재생 목록, 선택된 음악가의 트랙 또는 앨범을 현재 재생되고 있는 트랙 뒤에 라인업에 삽입하기 위해 More 메뉴로부터 Play next를 선택할 수 있다.
항목 동작
재생 목록 사용자는 재생 목록을 선택하고 이를 현재 재생 중인 트랙 직후에 라인업에 삽입하도록 MusicStation에 지시할 수 있다. 이 재생 목록은 현재 트랙이 끝난 경우에 재생되기 시작한다.
앨범 사용자는 앨범을 선택하고 이를 현재 재생 중인 트랙 직후에 라인업에 삽입하도록 MusicStation에 지시할 수 있다. 이 재생 목록은 현재 트랙이 끝난 경우에 재생되기 시작한다.
음악가 사용자는 선택된 음악가로부터 개개의 트랙 또는 앨범을 선택하고 이를 현재 재생 중인 트랙 직후에 라인업에 삽입하도록 MusicStation에 지시할 수 있다. 선택된 트랙은 현재 트랙이 끝난 경우에 재생되기 시작한다.
트랙 사용자는 트랙을 선택하고 이를 현재 재생 중인 트랙 직후에 라인업에 삽입하도록 MusicStation에 지시할 수 있다. 선택된 트랙은 현재 트랙이 끝난 경우에 재생되기 시작한다.
12.6.3. Play Now
사용자는 MusicStation 카탈로그를 브라우징할 때, 다운로드된 트랙을 라인업에 삽입하기 위해 More 메뉴로부터 Play now를 선택할 수 있다. 현재 재생 중인 트랙이 중단되고 선택된 트랙이 재생되기 시작하여 현재 트랙을 대체한다.
항목 동작
트랙 사용자는 이미 다운로드된 노래를 선택하고 이를 즉각 라인업에 삽입하도록 MusicStation에 지시할 수 있다. 현재 재생 중인 트랙이 중단되고 선택된 트랙이 재생되기 시작하여 현재 트랙을 대체한다.
12.6.4. Play ASAP
Play ASAP는 Play As Soon As Possible의 약어이다. 사용자가 MusicStation 카탈로그를 브라우징할 때, 사용자는 다운로드되지 않은 트랙, 재생 목록, 선택된 음악가의 트랙 또는 앨범을 라인업에 삽입하기 위해 More 메뉴로부터 Play ASAP를 선택할 수 있다. Play ASAP가 이용가능하자마자, 트랙, 재생 목록, 선택된 음악가의 트랙 또는 앨범이 현재 재생 중인 트랙을 대체하게 된다.
사용자가 MusicStation 카탈로그를 브라우징할 때, 트랙, 재생 목록, 선택된 음악가의 트랙, 또는 앨범이 아직 다운로드되지 않은 경우, 사용자는 More 메뉴로부터 Play ASAP 옵션을 선택할 수 있다.
항목 동작
재생 목록
Figure 112008084031862-PCT00359
사용자는 재생 목록을 선택하고 그 재생 목록을 가능한 한 빨리 재생하도록 MusicStation에 지시할 수 있다. 이 재생 목록은 라인업에 삽입되고 이 재생 목록이 이용가능하자마자 현재 재생 중인 트랙을 중단시킨다.
Figure 112008084031862-PCT00360
그 재생 목록의 하나 이상의 트랙이 이미 핸드셋에 다운로드된 경우, 현재의 트랙이 중단되고 그 재생 목록이 즉각 재생되기 시작한다.
Figure 112008084031862-PCT00361
재생 목록이 먼저 다운로드되어야 하는 경우, 제1 트랙이 다운로드되고 이 제1 트랙의 다운로드가 끝나자마자 이 제1 트랙이 현재의 트랙을 대체하여 재생되기 시작한다. 재생 목록으로부터의 나머지 트랙은 백그라운드에서 다운로드되어 이용가능할 때 큐잉된다.
앨범
Figure 112008084031862-PCT00362
사용자는 앨범을 선택하고 그 앨범을 가능한 한 빨리 재생하도록 MusicStation에 지시할 수 있다. 이 앨범은 라인업에 삽입되고 제1 이용가능한 트랙이 이용가능하자마자 현재 재생 중인 트랙을 중단시킨다.
Figure 112008084031862-PCT00363
그 앨범의 하나 이상의 트랙이 이미 핸드셋에 다운로드된 경우, 현재의 트랙이 중단되고 그 앨범이 즉각 재생되기 시작한다.
Figure 112008084031862-PCT00364
앨범이 먼저 다운로드되어야 하는 경우, 제1 트랙이 다운로드되고 이 제1 트랙의 다운로드가 끝나자마자 이 제1 트랙이 현재의 트랙을 중단시키고 재생되기 시작한다. 앨범으로부터의 나머지 트랙은 백그라운드에서 다운로드되어 이용가능할 때 큐잉된다.
음악가 사용자는 선택된 음악가의 개개의 트랙을 선택하고 그 트랙을 가능한 한 빨리 재생하도록 MusicStation에 지시할 수 있다. 이 선택된 트랙은 라인업에 삽입되고 그 트랙이 이용가능하자마자 현재 재생 중인 트랙을 중단시킨다.
트랙 사용자는 트랙을 선택하고 그 트랙을 가능한 한 빨리 재생하도록 MusicStation에 지시할 수 있다. 이 트랙은 라인업에 삽입되고 그 트랙이 이용가능하자마자 현재 재생 중인 트랙을 중단시킨다.
13. 재생중
도 164를 참조할 것.
13.1.1. 재생중 화면
Playing 탭은 현재 재생 중인 트랙의 상세를 디스플레이한다.
항목 설명
트랙 이름 현재 재생 중인 트랙의 이름
트랙 음악가 트랙에 대한 음악가의 이름
트랙 앨범 트랙이 있는 앨범의 이름
앨범 이미지 트랙이 있는 앨범의 커버를 나타내는 이미지
라인업 위치 라인업 내에서의 트랙 위치
라인업 카운트 현재 라인업 내의 트랙의 수
현재 재생시간 현재 트랙의 현재 재생 위치(분:초로 표시됨)
재생 시간 현재 트랙의 총 길이(분:초로 표시됨)
13.1.2. 재생 동작
사용자는 Playing 탭에서 이하의 동작들을 수행할 수 있다.
동작
재생 조이스틱 버튼을 누르거나 [5] 키를 누름
일시정지 조이스틱 버튼을 누르거나 [5] 키를 누름
다음 트랙 [6] 키를 누름
트랙 재시작 [4] 키를 누름
이전 트랙 [4] 키를 두번 누름
고속 감기 [6] 키를 누른 채로 있음
고속 되감기 [4] 키를 누른 채로 있음
재생 목록에 추가 More 메뉴에서 Add to playlist를 선택함
평가 More 메뉴에서 Rate를 선택함
부록 2: 컨텍스트 의존적인 메뉴
이하의 부록은 MusicStation에서 메뉴 및 객체들을 볼 때 More 메뉴에서 이용가능한 옵션들에 대해 상세히 기술한 것이다.
재생목록
객체 추가 옵션들
사적 재생 목록 Open Add to Lineup Play next Play ASAP Send to Friend Delete Share Help Minimise Close
공유 재생 목록 Open Add to Lineup Play next Play ASAP Rate Send to Friend Delete Make Private Help Minimise Close
버즈 재생 목록 Open Add to Lineup Play next Play ASAP Rate Send to Friend Help Minimise Close
트랙
객체 추가 옵션들
공유 재생 목록 상의 트랙 앨범 상의 트랙 음악가 화면 상의 트랙 차트 상의 트랙 검색 결과 내의 트랙 * 다운로드되지 않은 트랙/다운로드된 트랙 Add to Lineup Play next Play ASAP/Play now* Add to playlist Rate Send to Friend Artist Profile Details Help Minimise Close
사적 재생 목록 상의 트랙 * 다운로드되지 않은 트랙/다운로드된 트랙 Add to Lineup Play next Play ASAP/Play now* Add to playlist Remove Rate Send to Friend Artist Profile Details Help Minimise Close
내 상위 트랙 상의 트랙 * 다운로드되지 않은 트랙/다운로드된 트랙 Add to Lineup Play next Play ASAP/Play now* Add to playlist Delete Rate Send to Friend Artist Profile Details Help Minimise Close
Buzz
객체 추가 옵션들
버즈 ... Buzz 메인 화면 Open Send/Receive Help Minimise Close
받은 편지함 ... Buzz 메인 화면 Open Delete Send/Receive Help Minimise Close
버즈 프로파일 Edit my profile Open Help Minimise Close
멤버의 목록에 있는 버즈 멤버 ** 멤버가 이미 친구인 경우 흐릿하게 됨 Open Add as Friend** Help Minimise Close
친구의 목록에 있는 친구 Open Remove Help Minimise Close
버즈 멤버 프로파일 화면 상의 재생 목록 ** 멤버가 이미 친구인 경우 흐릿하게 됨 Open Add to Lineup Play next Play ASAP Rate Send to Friend Add as Friend** Help Minimise Close
버즈 멤버 프로파일 화면 상의 재생 목록 * 다운로드되지 않은 트랙/다운로드된 트랙 ** 멤버가 이미 친구인 경우 흐릿하게 됨 Add to Lineup Play next Play ASAP/Play now** Add to playlist Rate Send to Friend Artist Profile Details Add as Friend** Help Minimise Close
Lineup + Playing
객체 추가 옵션들
라인업 ...트랙 없음 Play Top Track Help Minimise Close
라인업 ... 트랙 Play Rate Remove Clear Send to Friend Save as playlist Add to playlist Pause Help Minimise Close
재생중 Add to playlist Rate Help Minimise Close
기타
객체 추가 옵션들
음악가 ... 음악가의 목록에서 Open Rate Send to Friend Help Minimise Close
앨범 ... 앨범의 목록에서 Open Add to Lineup Play next Play ASAP Rate Send to Friend Help Minimise Close
차트 Open Add to Lineup Play next Play ASAP Help Minimise Close
검색 ... 검색 실행 OK Reset search Help Minimise Close
일반
객체 추가 옵션들
일반 상위 레벨 메뉴 항목 Open Help Minimise Close
일반 작동가능 메뉴 항목 예를 들어, Create playlist <<동작 실행>> 예를 들어, Create playlist Help Minimise Close
메뉴 항목(기본) Help Minimise Close

Claims (50)

  1. 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법으로서,
    (a) 소프트웨어 애플리케이션이 상기 무선 컴퓨팅 장치 상에서 실행되는 단계 - 상기 애플리케이션은 최종 사용자 입력 없이도 상기 무선 장치와 연관된 파라미터에 맞춰 자동적으로 적응됨 -,
    (b) 상기 애플리케이션이 최종 사용자로 하여금 무선 네트워크를 사용하여 원격 서버에서 음악 컨텐츠를 브라우징 및 검색하고, 상기 무선 네트워크를 사용하여 그 원격 서버로부터 음악 컨텐츠를 다운로드하며, 그 다운로드된 음악 컨텐츠를 재생 및 관리할 수 있게 해주는 단계, 및
    (c) 상기 애플리케이션에 포함되어 있는 디지털 저작권 관리 시스템이 서로 다른 음악 트랙의 상기 장치로의 무제한의 합법적 다운로드를 가능하게 해주고 또한 가입 서비스가 종료되지 않는 한 상기 장치 상에 저장된 그 트랙들 중 어느 것이라도 재생될 수 있게 해주는 단계를 포함하는, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  2. 제1항에 있어서, 상기 디지털 저작권 관리 시스템은 상기 가입 서비스가 종료되지 않은 경우 음악 트랙이 여전히 재생될 수 있도록 상기 음악 트랙의 구매를 가능하게 해주는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드 되어 사용될 수 있게 해주는 방법.
  3. 제1항 또는 제2항에 있어서, 상기 가입 서비스에 대한 과금(billing) 기반구조가 상기 무선 네트워크를 제어하는 네트워크 운영자에 의해 제공되는 과금 기반구조의 일부인 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 무선 장치와 관련된 상기 파라미터들이 상기 무선 장치의 제조사 및 모델마다 다른 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 파라미터들은 특정 버전의 자바(Java)를 정의하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 파라미터들은 자바 플랫폼의 어느 특정 부분이 구현되었는지를 정의하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 파라미터들은 운영 체제 및 펌웨어의 릴리스(release)를 정의하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 파라미터들은 상기 장치를 제공한 특정의 모바일 네트워크 운영자를 정의하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 파라미터들은 화면 크기, 픽셀 수, 색심도(colour depth), 키보드 제어, 소프트키 특성 중 하나 이상을 포함한 상기 장치의 물리적 특성을 정의하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 상기 파라미터들은 상기 장치의 계산 기능을 정의하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서, 상기 파라미터들은, 오디오, 사진, 비디오, 및 애니메이션을 포함한, 상기 장치 상에서 자바를 통해 볼 수 있는 일련의 미디어 파일 및 포맷을 정의하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서, 상기 파라미터들은 상기 장치의 메모리 제한을 정의하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서, 상기 파라미터들은 상기 장치의 운영 체제가 처리할 수 있는 일련의 미디어 파일 및 포맷을 정의하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  14. 제1항 내지 제13항 중 어느 한 항에 있어서, 상기 파라미터들은 상기 장치가 네트워크 접속을 어떻게 처리하는지를 정의하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  15. 제1항 내지 제14항 중 어느 한 항에 있어서, 상기 파라미터들은 CSD, GPRS, 2G, 2.5G, 3G, WAP, SMS, 블루투스, 적외선, Wi-Fi, WiMAX 중 하나 이상을 포함한, 상기 장치의 네트워킹 기능 및 처리를 정의하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  16. 제1항 내지 제15항 중 어느 한 항에 있어서, 상기 휴대용 무선 장치는 이동 전화인 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  17. 제16항에 있어서, 상기 이동 전화는 2.5G 장치인 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  18. 제16항에 있어서, 상기 이동 전화는 3G 장치인 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  19. 제1항 내지 제18항 중 어느 한 항에 있어서, 상기 애플리케이션은 다수의 사용자 선택가능 탭 - 각각의 탭은 상기 애플리케이션의 핵심 기능과 연관되어 있음 - 을 보여주는 그래픽 사용자 인터페이스를 제공하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  20. 제19항에 있어서, 각각의 탭은 상기 애플리케이션이 실행 중일 때는 항상 보이는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  21. 제19항 또는 제20항에 있어서, 하나의 탭은 모든 이용가능한 컨텐츠 및 검색 기능에의 액세스를 제공하는 홈 기능과 연관되어 있는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  22. 제19항 내지 제21항 중 어느 한 항에 있어서, 하나의 탭은, 선택되면, 현재 재생되고 있는 트랙의 상세를 제공하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  23. 제19항 내지 제22항 중 어느 한 항에 있어서, 하나의 탭은, 선택되면, 커뮤니티 및 뉴스 특징에의 액세스를 제공하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  24. 제19항 내지 제23항 중 어느 한 항에 있어서, 하나의 탭은, 선택되면, 듣고 및/또는 다운로드하기 위한 트랙의 현재의 큐(queue)를 디스플레이하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  25. 제1항 내지 제24항 중 어느 한 항에 있어서, 상기 애플리케이션은 다수의 화면이 컨텍스트 의존적인 "더 보기" 메뉴 항목을 보여주고, 선택되는 경우, 현재 선택된 항목 및/또는 현재 디스플레이된 화면에 관련된 추가의 기능들에의 액세스를 제공하는 그래픽 사용자 인터페이스를 제공하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  26. 제1항 내지 제25항 중 어느 한 항에 있어서, 상기 애플리케이션은 멀티태스킹 컨텍스트 의존적인 조이스틱을 사용하여 제어되는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  27. 제26항에 있어서, 상기 조이스틱의 특정의 기능이 이 조이스틱 상의 온스크린 아이콘으로 나타내어져 있는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  28. 제27항에 있어서, 상기 조이스틱의 동작은 키패드 상의 숫자키에 의해 복제되는(replicate) 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  29. 제28항에 있어서, 숫자키 5는 위; 0은 아래; 7은 왼쪽; 9는 오른쪽인 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  30. 제1항 내지 제29항 중 어느 한 항에 있어서, 상기 애플리케이션은, '새 음악가 가져오기(Get New Artist)'와 동등한 기능이 메뉴에서 '음악가(Artist)'와 동일한 레벨에 있는, 컨텍스트에 적절한 가져오기(acquire) 기능을 제공하는 것인, 디 지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  31. 제30항에 있어서, 새 트랙 가져오기(Get New Track)와 동등한 기능이 메뉴에서 음악가에 대한 트랙들을 나열하는 메뉴와 동일한 레벨에 있는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  32. 제1항 내지 제31항 중 어느 한 항에 있어서, 상기 애플리케이션은 한 장치가 다른 무선 접속된 휴대용 무선 장치들이 동일한 음악 트랙을 시간 동기하여 재생하도록 하는 마스터 재생 장치로서 동작할 수 있게 해주는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  33. 제32항에 있어서, 상기 무선 접속은 블루투스와 같은 단거리 무선 접속인 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  34. 제1항 내지 제33항 중 어느 한 항에 있어서, 상기 애플리케이션은 항상 토글(toggle)되면 현재 재생되고 있는 트랙을 보여주는 재생 화면으로 돌아가는 전용 '재생' 숫자키를 제공하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  35. 제1항 내지 제34항 중 어느 한 항에 있어서, 상기 애플리케이션은 가변적인 타임아웃을 제공하며, 서로 다른 화면은 서로 다른 타임아웃을 갖는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  36. 제35항에 있어서, 검색 화면은 절대 되돌아가기(snap back) 하지 않는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  37. 제1항 내지 제36항 중 어느 한 항에 있어서, 상기 애플리케이션은 최종 사용자의 재생 습관에 따라 필터링된 맞춤 뉴스(targeted news)를 디스플레이하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  38. 제1항 내지 제37항 중 어느 한 항에 있어서, 상기 애플리케이션은 상세한 최종 사용자 듣기 데이터를 추적하고 이를 원격 서버로 피드백하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  39. 제38항에 있어서, 상기 데이터는 트랙을 청취한 기간을 포함하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  40. 제38항에 있어서, 상기 데이터는 어느 트랙을 언제 스킵(skip) 했는지를 포함하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  41. 제38항 내지 제40항 중 어느 한 항에 있어서, 상기 데이터가 상기 장치 상에서 국부적으로 캐시에 입력된 다음, 임의적으로 발생할 수 있는 통신을 통해 피기백으로서 상기 서버로 다시 전송되는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  42. 제41항에 있어서, 상기 장치는 상기 사용자가 설정된 시간 이상의 시간 동안 다운로드를 하지 않은 경우에만, 발생될 것으로 예상되는 통신을 기다리지 않고 상기 데이터를 우선적으로 다시 전송하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  43. 제38항 내지 제42항 중 어느 한 항에 있어서, 상기 데이터는 상기 장치 상에 디스플레이하기 위한 음악 트랙 제안을 제공하는 음악 제안 엔진(music suggestion engine)을 보강하는 데 사용되는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  44. 제1항 내지 제43항 중 어느 한 항에 있어서, 상기 애플리케이션은 공유 재생 목록을 디스플레이하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  45. 제1항 내지 제44항 중 어느 한 항에 있어서, 상기 애플리케이션은 사용자들에 의해 발생된 재생 목록 차트를 디스플레이하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  46. 제1항 내지 제45항 중 어느 한 항에 있어서, 상기 애플리케이션의 모든 기능들이 음악 재생 동안에 이용가능한 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  47. 제46항에 있어서, 재생 동안에 이용가능한 기능들은 뉴스 가져오기는 물론, 음악 트랙의 검색, 브라우징 및 가져오기를 포함하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 방법.
  48. 디지털 음악 컨텐츠가 다운로드되어 사용될 수 있게 해주는 휴대용 무선 컴퓨팅 장치로서,
    (a) 상기 무선 장치 상에서 실행되는 소프트웨어 애플리케이션 - 상기 애플리케이션은 최종 사용자 입력 없이도 상기 무선 장치와 연관된 파라미터에 맞춰 자동적으로 적응됨 -,
    (b) 최종 사용자로 하여금 무선 네트워크를 사용하여 원격 서버에서 음악 컨텐츠를 브라우징 및 검색하고, 상기 무선 네트워크를 사용하여 그 원격 서버로부터 음악 컨텐츠를 다운로드하며, 그 다운로드된 음악 컨텐츠를 재생 및 관리할 수 있게 해주는 상기 애플리케이션, 및
    (c) 서로 다른 음악 트랙의 상기 장치로의 무제한의 합법적 다운로드를 가능하게 해주고 또한 가입 서비스가 종료되지 않는 한 상기 장치 상에 저장된 그 트랙들 중 어느 것이라도 재생될 수 있게 해주는, 상기 애플리케이션에 포함되어 있는 디지털 저작권 관리 시스템을 포함하는, 디지털 음악 컨텐츠가 다운로드되어 사용될 수 있게 해주는 휴대용 무선 컴퓨팅 장치.
  49. 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 소프트웨어 애플리케이션으로서,
    (a) 상기 애플리케이션은 상기 무선 장치 상에서 실행되고 - 상기 애플리케이션은 최종 사용자 입력 없이도 상기 무선 장치와 연관된 파라미터에 맞춰 자동적으로 적응됨 -,
    (b) 상기 애플리케이션은 최종 사용자로 하여금 무선 네트워크를 사용하여 원격 서버에서 음악 컨텐츠를 브라우징 및 검색하고, 상기 무선 네트워크를 사용하여 그 원격 서버로부터 음악 컨텐츠를 다운로드하며, 그 다운로드된 음악 컨텐츠를 재생 및 관리할 수 있게 해주고,
    (c) 상기 애플리케이션은 서로 다른 음악 트랙의 상기 장치로의 무제한의 합법적 다운로드를 가능하게 해주고 또한 가입 서비스가 종료되지 않는 한 상기 장치 상에 저장된 그 트랙들 중 어느 것이라도 재생될 수 있게 해주는 디지털 저작권 관리 시스템을 포함하는 것인, 디지털 음악 컨텐츠가 휴대용 무선 컴퓨팅 장치에 다운로드되어 사용될 수 있게 해주는 소프트웨어 애플리케이션.
  50. 제49항의 소프트웨어 애플리케이션을 사용하여 다운로드된 음악 트랙.
KR1020087029819A 2006-05-05 2007-05-08 정액 요금제 가입에 의해 음악 컨텐츠의 디지털 저작권 관리를 제공하는 방법 KR101378111B1 (ko)

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020137031335A Division KR101497263B1 (ko) 2006-05-05 2007-05-08 정액 요금제 가입에 의해 음악 컨텐츠의 디지털 저작권 관리를 제공하는 방법

Publications (2)

Publication Number Publication Date
KR20090048545A true KR20090048545A (ko) 2009-05-14
KR101378111B1 KR101378111B1 (ko) 2014-03-27

Family

ID=37899084

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020087029819A KR101378111B1 (ko) 2006-05-05 2007-05-08 정액 요금제 가입에 의해 음악 컨텐츠의 디지털 저작권 관리를 제공하는 방법
KR1020137031335A KR101497263B1 (ko) 2006-05-05 2007-05-08 정액 요금제 가입에 의해 음악 컨텐츠의 디지털 저작권 관리를 제공하는 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020137031335A KR101497263B1 (ko) 2006-05-05 2007-05-08 정액 요금제 가입에 의해 음악 컨텐츠의 디지털 저작권 관리를 제공하는 방법

Country Status (11)

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

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012037184A2 (en) * 2010-09-15 2012-03-22 Bacardi & Company Limited Mixing device
WO2012141537A2 (ko) * 2011-04-15 2012-10-18 주식회사 네오위즈인터넷 음원 서비스를 제공하는 방법, 서버, 모바일 단말기 및 기록매체
GB2497027A (en) * 2010-08-02 2013-05-29 Be In Inc System and method for online interactive recording studio
KR20190076595A (ko) * 2017-12-22 2019-07-02 주식회사 넥슨코리아 금칙어 판정 방법 및 장치

Families Citing this family (228)

* 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
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
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
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
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

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2497027A (en) * 2010-08-02 2013-05-29 Be In Inc System and method for online interactive recording studio
WO2012037184A2 (en) * 2010-09-15 2012-03-22 Bacardi & Company Limited Mixing device
WO2012037184A3 (en) * 2010-09-15 2012-06-07 Bacardi & Company Limited Mixing device
WO2012141537A2 (ko) * 2011-04-15 2012-10-18 주식회사 네오위즈인터넷 음원 서비스를 제공하는 방법, 서버, 모바일 단말기 및 기록매체
WO2012141537A3 (ko) * 2011-04-15 2013-01-10 주식회사 네오위즈인터넷 음원 서비스를 제공하는 방법, 서버, 모바일 단말기 및 기록매체
KR20190076595A (ko) * 2017-12-22 2019-07-02 주식회사 넥슨코리아 금칙어 판정 방법 및 장치

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
BRPI0710320A2 (pt) 2011-08-23
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
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
US20200250219A1 (en) System And Method For Transferring Playlists
US9021554B2 (en) Unlimited access to media and applications over wireless infrastructure
US20110225417A1 (en) Digital rights management in a mobile environment
US20060173974A1 (en) System and method for providing mobile access to personal media
EP2486742A1 (en) Digital rights management in a mobile environment
CN101438286A (zh) 一种通过按时计价订购为音乐内容提供数字权限管理的方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170308

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180309

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee