사용자(또는 사용자들의 그룹)는 사용자가 동작하는 전자 장치를 원하는 방식과 관련된 선호도들을 갖는다. 이러한 사용자 선호도들은 특정 장치를 넘어설 수 있다. 제한이 아닌 예를 들면, 사용자에게 비디오 및/또는 오디오 출력을 제공하는 장치는 유사하거나 동일한 사용자 선호도에 의해 종국적으로 운용될 수 있다. 또한 예를 들면, 사용자는 특정 네트워크 선호도(예컨대, 특정 네트워크 및/또는 통신 프로토콜을 사용하기 위한 선호도)를 가질 수 있고, 이러한 선호도는 복수의 다른 장치들 사이에 일관될 수 있다. 더 예를 들면, 사용자는 특정 방식으로 특정 장치 또는 애플리케이션(application)을 일관되게 사용할 수 있고, 이러한 사용은 특정 정보 표현 특성들, 신호 프로세싱(processing) 특성들, 통신 특성들 등에 대응한다. 예를 들면, 사용자는 접속하기 위한 선호되는 네트워크 및/또는 네트워크 액세스 포인트(access point), 및/또는 접속 또는 다운로드(download)하기 위해 선호되는 파일 유형들(file types)을 가질 수 있다. 더 예를 들면, 사용자는 다른 장치들상에서 유사하게 사용될 수 있는 선호되는 게이밍(gaming) 설정을 사용할 수 있다.
예시적인 사용자 동작 선호도의 비제한적인 세트는 예를 들면, 오디오 설정(예컨대, 파일 유형, 소리 크기, 등화(equalization) 설정, 품질 설정, 서비스 품질(Quality of Service; QoS) 설정, 입력 설정, 출력 설정, 인터페이스 장치 설정, 서라운드(surround) 음향 유형 또는 다른 서라운드 음향 설정, 언어, 선호되는 소프트웨어 애플리케이션, 오디오 스트리밍(streaming) 설정, 선호되는 채널, 선호되는 소스(source) 등), 비디오 설정(예컨대, 밝기, 명암비, 선명도, 넓이(dimension), 종횡비, 파일 유형, 해상도, 컬러 팔레트(color palette), 자막 특성, 선호되는 소프트웨어 애플리케이션, 선호되는 채널, 선호되는 소스, 선호되는 비디오 스트리밍 설정, 웹페이지 특성 등), 네트워크 접속 설정(예컨대, 선호되는 네트워크(들), 선호되는 네트워크 설정, QoS, 보안 접속 / 프라이버시(privacy) 설정, 선호되는 프로토콜, 선호되는 통신 매체 등), 파일 설정(예컨대, 선호되는 파일 유형, 해상도, 인코딩 유형 등), 접속되는 특정 서비스에 관련된 선호도(예컨대, 매체 스트리밍 서비스, 파일 전송 서비스, 개인 대 개인 통신 서비스 등), 수 행되는 특정 동작에 관련된 선호도(예컨대, 워드 프로세싱(word processing), 그래픽 설계, 스프레드시트(spreadsheet) 활동 등), 재정적 선호도(예컨대, 사용자가 객체, 정보 또는 서비스애 대해 지불할 용의가 있는 비용에 관련된 것), 전력 절약 선호도(예컨대, 슬립 모드(sleep mode) 동작 특성, 주변 장치 종료 특성, 경고 등), 장치 동작 모드들, 패스워드(password) 정보 등을 포함할 수 있다.
이러한 사용자 동작 선호도는 본원에서 단순한 데이터(예컨대, 사용자에게 제공되는 정보)와 구별된다는 것을 주지해야 한다. 이러한 단순한 데이터는 예를 들면, 특정 매체 파일, 사용자와 관련된 특정 매체 파일 목록(예컨대, 재생 목록), 특정 워드 또는 수(number) 프로세싱 파일, 연락 목록, 달력 정보, 하나 또는 그 이상의 이메일 메시지 등에 대응할 수 있다. 본원에 기술되는 사용자 동작 선호도는 일반적으로 전자 장치에 의해 수행되는 동작들, 및/또는 전자 장치가 동작을 수행하는 방식에 관련된다.
이러한 사용자 선호도는 시간상에서 진화(evolve)할 수 있다. 제한이 아닌 예를 들면, 장치가 동작하는 방식에 관련한 사용자의 선호도는 사용자가 장치 동작의 새롭거나 다른 방식을 경험함에 따라 변할 수 있다. 또한 예를 들면, 사용자의 선호도는 사용자가 변함에 따라 변할 수 있다. 더 예를 들면, 사용자의 선호도는 기술이 변화함에 따라 변할 수 있다. 또 다른 예를 들면, 사용자의 선호도는 사용자가 특정 전자 장치 또는 특정 유형의 전자 장치를 사용하는 방식이 변화함에 따라 변할 수 있다.
본 발명의 다양한 측면들에 따라, 사용자가 하나 또는 그 이상의 전자 장치 를 동작하기 원하는 방식에 관련된 사용자(또는 사용자의 그룹)의 선호도의 프로파일(profile)은 유지될 수 있고, 시간상에서 업데이트/진화될 수 있다. 이러한 프로파일은 이후에 사용자 선호도 정보를 얻기 위해 복수의 사용자 전자 장치에 의해 접속될 수 있다. 이러한 프로파일, 또는 프로파일의 일부는 사용자 전자 장치들 사이에서 이동할 수 있다.
도 1은 본 발명의 다양한 측면에 따른, 진화하는 사용자 선호도의 관리를 구체화한 비제한적인 예시적인 시스템 실시예(100)를 도시한 도면이다.
예시적인 시스템 실시예(100)는 복수의 사용자 전자 장치를 포함한다. 예를 들면, 예시적인 시스템 실시예(100)는 제 1 사용자 전자 장치(111; 예컨대, 개인용 컴퓨터), 제 2 사용자 전자 장치(112), 제 3 사용자 전자 장치, 및 제 4 사용자 전자 장치(114; 예컨대, 셀룰러(cellular) 전화 또는 휴대용 매체 장치(portable media device))를 포함한다. 사용자 전자 장치는 임의의 다양한 전자 장치들(예컨대, 소비자 전자 장치)의 특성들을 포함할 수 있다. 제한이 아닌 예를 들면, 사용자 전자 장치는 개인용 컴퓨터(예컨대, 데스크톱 컴퓨터(desktop computer), 랩톱 컴퓨터(laptop computer), 포켓 컴퓨터(pocket computer) 등), 매체 재생 장치(media playing device), 게임 콘솔(game console), 개인용 비디오 기록기(personal video recorder; PVR), 셋톱 박스(set top box), 위성 수신기, 전화, PDA, 오락 시스템(entertainment system), 범용 네트워크 장치 등을 포함할 수 있다.
예시적인 시스템 실시예(100)는 또한 복수의 사용자 프로파일 관리 시스템을 포함할 수 있고, 상기 복수의 사용자 프로파일 관리 시스템은 또한 본원에서 사용자 프로파일 관리자, 사용자 프로파일 서버, 사용자 선호도 관리자, 및/또는 사용자 선호도 서버로서 언급될 수 있다. 예를 들면, 예시적인 시스템 실시예(100)는 제 1 사용자 프로파일 관리 시스템(121), 및 제 2 사용자 프로파일 관리 시스템(122)을 포함한다. 사용자 프로파일 관리 시스템은 예를 들면 하나 또는 그 이상의 사용자가 하나 또는 그 이상의 전자 장치를 동작하는데 있어 선호하는 방식과 관련된 사용자 선호도 정보를 포함하는 하나 또는 그 이상의 사용자 프로파일들을 관리(또는 유지)하고, 상기 사용자 선호도 정보를 다른 시스템/장치들에 제공하는 컴퓨팅 시스템(computing system)을 포함할 수 있다. 이러한 사용자 동작 선호도의 예시들의 비제한적인 세트는 전술되었다. 사용자 프로파일 관리 시스템은 예를 들면, 임의의 다양한 통신 네트워크들 및/또는 직접 통신 링크(link)들을 통해 하나 또는 그 이상의 사용자 전자 장치들에 통신적으로 결합될 수 있다.
사용자 프로파일 관리 시스템은 임의의 다양한 위치들내에 지리적으로 위치될 수 있다. 제한이 아닌 예를 들면, 사용자 프로파일 관리 시스템은 하나 또는 그 이상의 사용자 전자 장치들과 같은 동일한 지역에 위치될 수 있다. 예를 들면, 사용자 프로파일 관리 시스템은 개인용 컴퓨터에 구현될 수 있다. 더 예를 들면, 사용자 프로파일 관리 시스템은 지리적으로 원격 지역에 위치될 수 있다. 이러한 사용자 프로파일 관리 시스템은 예를 들면 지리적 지역, 사용자의 특정 그룹 등과 관련된 사용자 프로파일/선호도 정보를 관리할 수 있다. 예를 들면, 사용자 동작 선호도 정보는 중앙 저장소/서버(예컨대, 네트워킹된 서버 및/또는 데이터베이스)에 저장될 수 있다.
예시적인 컴퓨팅 환경(100)은 또한 사용자 전자 장치들(111, 112, 113, 114)과 사용자 프로파일 관리 시스템들(121, 122)을 통신적으로 결합할 수 있는 다양한 예시적인 통신 네트워크들을 포함한다. 예를 들면, 예시적인 컴퓨팅 환경(100)은 인터넷(131), WLAN(Wireless local area network; 무선 근거리 네트워크; 132), WMAN(wireless metropolitan area network; 무선 도시 지역 네트워크; 133), 및 셀룰러(cellular) 네트워크(134), 서로 통신적으로 결합될 수 있는 일부 또는 전부를 포함한다. 예시적인 통신 네트워크들(131-134)은 예를 들면, 사용자 전자 장치들(111-114)과 관련된 사용자 선호도 정보를 사용자 프로파일 관리 시스템들(121-122)에서(및/또는 로부터) 통신하도록 사용될 수 있다. 예시적인 통신 네트워크들(131-134)은 또한 예를 들면, 다양한 사용자 전자 장치들 및/또는 사용자 프로파일 관리 시스템들의 사용 동안 일반적인 정보를 통신하도록 사용될 수 있다. 도 1에 도시된 통신 네트워크들은 단지 예시를 위한 것이며, 제한하기 위한 것이 아님을 주지해야 한다. 제한이 아닌 예를 들면, 통신 네트워크는 PAN(personal area network; 개인 영역 네트워크), LAN, WAN(wide area network; 광역 네트워크), MAN(metropolitan area network; 도시 지역 네트워크), 인터넷, 셀룰러 통신 네트워크, 케이블 네트워크, 전화 네트워크, 위성 통신 네트워크 등을 포함할 수 있다.
도 1에 도시된 개체들의 다양한 예시적인 구조적 및/또는 기능적 특성들은 도 2 내지 6에 제공될 것이다.
도 2는 본 발명의 다양한 측면에 따른, 진화하는 사용자 선호도의 관리를 구 체화한 두번째 비제한적인 예시적인 시스템 실시예(200)를 도시한 도면이다. 예시적인 시스템 실시예(200)는 제한이 아닌 예를 들면, 도 1에 기재된 예시적인 시스템 실시예(100) 및 전술된 일부 또는 모든 특성들을 공유할 수 있다.
예시적인 시스템 실시예(200)는 제 1 사용자 전자 장치(201), 및 제 2 사용자 전자 장치(202)를 포함한다. 제 1 및 제 2 사용자 전자 장치들(201, 202)은 전술된 예시적인 사용자 전자 장치들(예컨대, 도 1의 사용자 전자 장치들(111-114))과 일부 또는 모든 특성들을 공유할 수 있다. 예시적인 시스템 실시예(200)는 또한 사용자 프로파일 관리 시스템(205)을 포함한다. 사용자 프로파일 관리 시스템(205)은 전술된 예시적인 사용자 프로파일 관리 시스템(예컨대, 도 1의 사용자 프로파일 관리 시스템들(121, 122))과 일부 또는 모든 특성들을 공유할 수 있다. 제 1 및 제 2 사용자 전자 장치들(201, 202)은 예를 들면 사용자 프로파일 관리 시스템(205)에 (예컨대, 동시에 또는 별개의 시간에) 통신적으로 결합될 수 있다.
제 1 사용자 전자 장치(201)는 예를 들면, 하나 또는 그 이상의 통신 인터페이스 모듈(221)을 포함할 수 있다. 이러한 통신 인터페이스 모듈(들)(221)은 임의의 매우 다양한 통신 네트워크들을 통해 제 1 사용자 전자 장치(201)와 임의의 매우 다양한 다른 개체들 사이에서 통신을 수행하도록 동작가능할 수 있다. 이러한 통신 인터페이스 모듈(들)(221)의 비제한적인 예는 도 3의 블럭(320)으로 도시된다. 제 2 사용자 전자 장치(202)는 예를 들면, 하나 또는 그 이상의 통신 인터페이스 모듈(222)을 또한 포함할 수 있다. 제 1 및/또는 제 2 사용자 전자 장치들(201, 202)은 예를 들면, 사용자 프로파일 관리 시스템(예컨대, 도 2에 도시된 사용자 프 로파일 관리 시스템(205))과 통신하기 위해, 및/또는 서로 통신하기 위해 하나 또는 그 이상의 통신 인터페이스 모듈(들)(221, 222)을 사용할 수 있다.
제 1 사용자 전자 장치(201)는 또한 예를 들면, 하나 또는 그 이상의 프로세서들(processors; 231)을 포함할 수 있다. 이러한 프로세서(들)(231)은 임의의 다양한 프로세싱 회로들의 특성을 포함할 수 있다. 제한이 아닌 예를 들면, 이러한 프로세서(들)(231)은 임의의 다양한 마이크로프로세서들(microprocessors), 마이크로제어기들(microcontrollers), 코프로세서들(co-processors), 디지털 신호 프로세서들(DSPs), 매체 프로세서들, 사용자 I/O 프로세서들, 신호 프로세싱 회로들, 애플리케이션-특정 프로세서들 등의 특성들을 포함할 수 있다. 이러한 프로세서(들)(231)의 비제한적인 예시들은 도 3의 블럭들(330, 370)으로 도시된다. 제 2 사용자 전자 장치(202)는 예를 들면, 하나 또는 그 이상의 프로세서들(232)을 또한 포함할 수 있다. 제 1 및/또는 제 2 사용자 전자 장치들(201, 202)은 예를 들면, 임의의 다양한 신호 프로세싱, 동작 관리, 및/또는 프로그램 실행 활동을 수행하기 위해 하나 또는 그 이상의 프로세서들(231, 232)을 사용할 수 있다.
제 1 사용자 전자 장치(201)는 더 예를 들면, 하나 또는 그 이상의 메모리 장치(241)를 포함할 수 있다. 메모리 장치들(241)은 임의의 다양한 메모리 유형들 및/또는 장치들의 특성을 포함할 수 있다. 제한이 아닌 예를 들면, 메모리 장치(들)(241)는 RAM, ROM, 휘발성 메모리, 비휘발성 메모리, 하드 드라이브 메모리(hard drive memory), 광(optical) 메모리, 자기(magnetic) 메모리, 분리가능(removable) 디스크 메모리, 온보드(on-board) 또는 오프보드(off-board) 메모 리, 플래시 메모리, EPROM 메모리, EEPROM 메모리, 국소 메모리, 비국소 네트워킹된 메모리 등의 특성을 포함할 수 있다. 제 2 사용자 전자 장치(202)는 예를 들면 하나 또는 그 이상의 메모리 장치(242)를 또한 포함할 수 있다. 제 1 및/또는 제 2 사용자 전자 장치들(201, 202)은 예를 들면, 임의의 다양한 유형의 정보를 저장하기 위해, 하나 또는 그 이상의 메모리 장치들(241, 242)을 사용할 수 있다. 이러한 정보는 제한이 아닌 예를 들면, 범용 데이터, 실행가능 소프트웨어 명령, 및/또는 사용자가 제 1 및/또는 제 2 사용자 전자 장치들(201, 202)을 사용하기 위해 사용하고 있는, 또는 선호하는 방식과 관련된 정보를 포함할 수 있다.
제 1 사용자 전자 장치(201)는 더 예를 들면, 하나 또는 그 이상의 사용자 인터페이스 모듈(281)을 포함할 수 있다. 이러한 사용자 인터페이스 모듈(들)(281)은 임의의 다양한 유형의 사용자 인터페이스 모듈들(하드웨어 및/또는 소프트웨어)의 특성을 포함할 수 있다. 제한이 아닌 예를 들면, 사용자 인터페이스 모듈(들)(281)은 임의의 다양한 하드웨어, 소프트웨어, 사용자 입력 장치들, 및/또는 사용자 출력 장치들 등의 특성들을 포함할 수 있다. 사용자 인터페이스 모듈(들)(281)의 비제한적인 예시들은 도 3의 블럭(380)에 도시된다. 제 2 사용자 전자 장치(202)는 예를 들면, 하나 또는 그 이상의 사용자 인터페이스 모듈(282)을 또한 포함할 수 있다. 제 1 및/또는 제 2 사용자 전자 장치들(201, 202)은 예를 들면, 임의의 다양한 방식들로 상호작용하기 위해 하나 또는 그 이상의 사용자 인터페이스 모듈들(281, 282)을 사용할 수 있다. 제한이 아닌 예를 들면, 제 1 및/또는 제 2 사용자 전자 장치들(201, 202)은 예를 들면 사용자가 제 1 및/또는 제 2 전자 장 치들(201, 202)을 동작하기 원하는 방식에 관한 정보를 얻는 것과 관련하여 사용자와 상호작용하기 위해, 하나 또는 그 이상의 사용자 인터페이스 모듈들(281, 282)을 사용할 수 있다. 더 예를 들면, 제 1 및/또는 제 2 사용자 전자 장치들(201, 202)은 예를 들면 정보를 사용자에게 제공하기 위해 (예컨대, 정보 제공 선호도로서 사용자에 의해 특정된 방식으로) 하나 또는 그 이상의 사용자 인터페이스 모듈들(281, 282)을 사용할 수 있다.
제 1 사용자 전자 장치(201)는 또한 예를 들면, 하나 또는 그 이상의 사용자 선호도 관리자 모듈(261)을 포함할 수 있다. 제 1 사용자 전자 장치(201)의 개별 블럭으로서 도시되었을지라도, 사용자 선호도 관리자 모듈(들)(261)은 다른 도시된 블럭들과 다양한 부분들을 공유할 수 있다. 제한이 아닌 예를 들면, 사용자 선호도 관리자 모듈(들)(261)은 독립적인 하드웨어 및/또는 소프트웨어 모듈로서 구현될 수 있고, 또는 사용자 선호도 관리자 모듈(들)(261) (또는 이것의 부분은) 메모리(241)에 저장된 소프트웨어 명령들을 실행하는 프로세서(231)에 의해 구현될 수 있다. 사용자 선호도 관리자 모듈(들)(261)은 예를 들면, 도 4-6과 관련하여 이후에 기재되는 다양한 기능들을 수행하도록 동작할 수 있다. 제한이 아닌 예를 들면, 사용자 선호도 관리자 모듈(들)(261)은 도 5와 관련하여 이후에 기재되는 일부 또는 모든 기능들을 수행하도록 동작할 수 있고, 또는 도 5와 관련하여 이후에 기재되는 일부 또는 모든 기능들의 수행을 지시하도록 동작할 수 있다.
제 2 사용자 전자 장치(202)는 예를 들면, 하나 또는 그 이상의 사용자 선호도 관리자 모듈(들)(262)을 또한 포함할 수 있다. 사용자 선호도 관리자 모듈 (들)(262)은 예를 들면, 도 4-6과 관련하여 이후에 기재되는 다양한 기능들을 수행하도록 동작할 수 있다. 제한이 아닌 예를 들면, 사용자 선호도 관리자 모듈(들)(262)은 도 6과 관련하여 이후에 기재되는 일부 또는 모든 기능들을 수행하도록 동작할 수 있고, 또는 도 6과 관련하여 이후에 기재되는 일부 또는 모든 기능들의 수행을 지시하도록 동작할 수 있다.
사용자 프로파일 관리 시스템(205)은 하나 또는 그 이상의 통신 인터페이스 모듈들(225)을 포함할 수 있다. 통신 인터페이스 모듈(들)(225)은 임의의 매우 다양한 통신 네트워크를 통해, 사용자 프로파일 관리 시스템(205)과 임의의 매우 다양한 다른 개체들 사이의 통신을 수행하도록 동작가능할 수 있다. 통신 인터페이스 모듈들(201)의 비제한적인 예시들은 도 3의 블럭(320)에 도시된다. 사용자 프로파일 관리 시스템(205)은 예를 들면, 하나 또는 그 이상의 사용자 전자 장치들(예컨대, 제 1 사용자 전자 장치(201) 및/또는 제 2 사용자 전자 장치(202))과 통신하기 위해 하나 또는 그 이상의 통신 인터페이스 모듈(들)(225)을 사용할 수 있다.
사용자 프로파일 관리 시스템(205)은 더 예를 들면, 하나 또는 그 이상의 프로세서들(235)을 포함할 수 있다. 프로세서(들)(235)은 임의의 다양한 프로세싱 회로들의 특성들을 포함할 수 있다. 제한이 아닌 예를 들면, 프로세서(들)(235)은 임의의 다양한 마이크로프로세서들(microprocessors), 마이크로제어기들(microcontrollers), 코프로세서들(co-processors), 디지털 신호 프로세서들(DSPs), 매체 프로세서들, 사용자 I/O 프로세서들, 신호 프로세싱 회로들, 애플리케이션-특정 프로세서들 등의 특성들을 포함할 수 있다. 프로세서(들)(235)의 비 제한적인 예시들은 도 3의 블럭들(330, 370)에 도시된다. 사용자 프로파일 관리 시스템(205)은 예를 들면 임의의 다양한 신호 프로세싱, 동작 관리, 및/또는 프로그램 실행 활동을 수행하기 위해 하나 또는 그 이상의 프로세서들(235)을 사용할 수 있다.
사용자 프로파일 관리 시스템(205)은 더 예를 들면, 하나 또는 그 이상의 메모리 장치들(241)을 포함할 수 있다. 메모리 장치들(241)은 임의의 다양한 메모리 유형들 및/또는 장치들의 특성을 포함할 수 있다. 제한이 아닌 예를 들면, 메모리 장치(들)(241)는 RAM, ROM, 휘발성 메모리, 비휘발성 메모리, 하드 드라이브 메모리(hard drive memory), 광(optical) 메모리, 자기(magnetic) 메모리, 분리가능(removable) 디스크 메모리, 온보드(on-board) 또는 오프보드(off-board) 메모리, 플래시 메모리, EPROM 메모리, EEPROM 메모리, 국소 메모리, 비국소 네트워킹된 메모리 등의 특성을 포함할 수 있다. 사용자 프로파일 관리 시스템(205)은 예를 들면, 임의의 다양한 유형의 정보를 저장하기 위해, 하나 또는 그 이상의 메모리 장치들(245)을 사용할 수 있다. 이러한 정보는 제한이 아닌 예를 들면, 범용 데이터, 실행가능 소프트웨어 명령, 및/또는 사용자가 제 1 및/또는 제 2 사용자 전자 장치들(201, 202)을 사용하기 위해 사용하고 있는, 또는 선호하는 방식과 관련된 정보를 포함할 수 있다. 사용자가 제 1 및/또는 제 2 사용자 전자 장치들(201, 202)을 사용하기 위해 사용하고 있는, 또는 선호하는 방식과 관련된 정보는 예를 들면, 하나 또는 그 이상의 특정 사용자들 및/또는 사용자 그룹들에 대응하는 하나 또는 그 이상의 사용자 프로파일들에 저장될 수 있다.
도 2에 도시되지 않을지라도, 사용자 프로파일 관리 시스템(205)은 더 예를 들면, 하나 또는 그 이상의 사용자 인터페이스 모듈들(285)을 포함할 수 있다. 사용자 인터페이스 모듈(들)(285)은 임의의 다양한 유형의 사용자 인터페이스 모듈들의 특성들을 포함할 수 있다. 제한이 아닌 예를 들면, 사용자 인터페이스 모듈(들)(285)은 임의의 다양한 하드웨어, 소프트웨어, 사용자 입력 장치, 및/또는 사용자 출력 장치 등의 특성들을 포함할 수 있다. 사용자 인터페이스 모듈(들)(285)의 비제한적인 예시들은 도 3의 블럭(380)에 도시된다. 사용자 프로파일 관리 시스템(205)은 예를 들면, 임의의 다양한 방식으로 사용자 인터페이스 모듈의 사용자와 상호작용하기 위해, 하나 또는 그 이상의 사용자 인터페이스 모듈들(285)을 사용할 수 있다.
사용자 프로파일 관리 시스템(205)은 더 예를 들면, 사용자 프로파일 서버 모듈로서 또한 언급될 수 있는 하나 또는 그 이상의 사용자 프로파일 관리자 모듈(265)을 포함할 수 있다. 사용자 프로파일 관리 시스템(205)의 개별 블럭으로 도시되었을지라도, 사용자 프로파일 관리자 모듈(들)(265)은 다양한 부분들을 다른 도시된 블럭들과 공유할 수 있다. 제한이 아닌 예를 들면, 사용자 프로파일 관리자 모듈(들)(265)은 하드웨어 및/또는 소프트 웨어 모듈로서 구현될 수 있고, 또는 사용자 프로파일 관리자 모듈(265) (또는 이의 부분)은 메모리(245)에 저장된 소프트웨어 명령들을 실행하는 프로세서(235)에 의해 구현될 수 있다. 사용자 프로파일 관리자 모듈(들)(265)은 예를 들면, 도 4-6과 관련하여 이후에 기재되는 다양한 기능들을 수행할 수 있다. 제한이 아닌 예를 들면, 사용자 프로파일 관리자 모듈 (들)(265)은 도 4와 관련하여 이후에 기재되는 일부 또는 모든 기능들의 수행을 지시하거나, 도 4와 관련하여 이후에 기재되는 일부 또는 모든 기능들을 수행할 수 있다.
도 3은 본 발명의 다양한 측면에 따른 예시적인 시스템(300)의 블럭도이다. 예시적인 시스템(300)은 제한이 아닌 예를 들면, 도 1 에 기재된 및/또는 전술된 예시적인 사용자 장치들(111-114), 및/또는 도 2에 기재된 및/또는 전술된 예시적인 사용자 장치들(201-202)과 일부 또는 모든 특성들을 공유할 수 있다. 또한, 예시적인 시스템(300)은 제한이 아닌 예를 들면, 도 1에 기재된 및/또는 전술된 예시적인 사용자 프로파일 관리 시스템(121-122), 및/또는 도 2에 기재된 및/또는 전술된 예시적인 사용자 프로파일 관리 시스템(205)과 일부 또는 모든 특성들을 공유할 수 있다.
예시적인 시스템(300)은 다양한 비제한적인 예시적인 통신 인터페이스 모듈(320)을 포함한다. 모듈(320)은 예를 들면, 임의의 다양한 통신 네트워크를 통해 임의의 다양한 다른 컴퓨팅(computing) 및/또는 통신 개체들에 시스템(300)을 통신적으로 결합하도록 동작할 수 있다. 제한이 아닌 예를 들면, 통신 인터페이스 모듈(320)은 다양한 통신 프로토콜(예컨대, 블루투스(Bluetooth), IEEE 802.11, IEEE 802.15, IEEE 802.16, IEEE 802.20, GSM/GPRS/EDGE, CDMA/CDMA2000/WCDMA, TDMA/PDC, H.232, SIP, MGCP/MEGACO 등)과 관련된 인터페이스 모듈을 포함할 수 있다. 통신 인터페이스 모듈들(320)은 또한 하나 또는 그 이상의 모뎀 인터페이스 모듈들, USB 인터페이스 모듈들, 파이어와이어(FireWire) 인터페이스 모듈들, 및/또 는 다양한 메모리 인터페이스 모듈들을 또한 포함할 수 있다. 시스템(300)은 또한 특정 통신 매체(예컨대, 유선, 무선, 제한된(tethered) 광, 비제한된(non-tethered) 광 매체 등)상에서의 통신과 관련된 임의의 다양한 프론트엔드(front-end) 통신 회로들을 포함할 수 있다.
예시적인 시스템(300)은 또한 범용 프로세싱(processing) 및/또는 디지털 신호 프로세싱 회로(330) 및 메모리(340)를 포함한다. 프로세싱 회로(330) 및/또는 메모리(340)는 일부 또는 모든 특성들을 도 1 내지 2에 관련하여 전술된 프로세싱 회로 및/또는 메모리와 공유할 수 있다.
예시적인 시스템(300)은 또한 다양한 사용자 인터페이스 모듈(380)을 포함한다. 이후에 도 4에 기재된 방법(400)과 관련하여 기재되는 바와 같이, 본 발명의 다양한 측면들은 사용자 인터페이스 측면들을 포함할 수 있다. 사용자 인터페이스 측면은 예를 들면, 임의의 예시적인 사용자 인터페이스 모듈(380) 또는 다른 유형의 사용자 인터페이스 장치, 하드웨어 및/또는 기재되지 않은 소프트웨어를 사용하여 수행될 수 있다. 예시적인 사용자 인터페이스 모듈(380)은 예를 들면, 비디오 I/O 모듈(예컨대, 디스플레이 출력 모듈, 카메라 입력 모듈 등), 오디오 I/O 모듈(예컨대, 스피커 출력 모듈, 마이크로폰(microphone) 입력 모듈 등), 접촉(또는 감각) I/O 모듈(예컨대, 터치 스크린 입력 모듈, 진동 출력 모듈, 키패드 입력 모듈, 트랙볼(trackball) 입력 모듈, 마우스 입력 모듈, 터치 패드 입력 모듈 등)을 포함할 수 있다.
도 4는 본 발명의 다양한 측면에 따라, 진화하는 사용자 선호도(예컨대, 사 용자 관리 시스템)를 관리하기 위한 컴퓨팅 시스템의 예시적인 방법(400)의 흐름도를 도시한다. 예시적인 방법(400)(및 도 5 내지 6에 도시된 예시적인 방법(500, 600))의 다양한 측면은 도 1 내지 2와 관련하여 전술된 사용자 전자 장치(111-114, 201-202)에 의해 수행될 수 있다. 부가적으로, 예시적인 방법(400)(및 도 5 내지 6에 도시된 예시적인 방법(500, 600))의 다양한 측면들은 도 1 내지 2와 관련하여 전술된 사용자 프로파일 관리 시스템(121-122, 205)에 의해 수행될 수 있다. 예시적인 방법(400)의 다음 내용이 다양한 시스템 구성요소(예컨대, 사용자 프로파일 관리 시스템, 및 하나 또는 그 이상의 사용자 전자 장치)의 관점에서 기술될지라도, 기능의 다양한 부분들의 성능은 시스템 구성요소들 사이에서 이동될 수 있다는 것을 주지해야 한다.
예시적인 방법(400)이 단계(405)에서 실행을 시작한다. 예시적인 방법(400)은 임의의 다양한 요인들 또는 조건들에 응답하여 실행을 시작할 수 있다. 제한이 아닌 예를 들면, 예시적인 방법(400)은 시작하기 위해 사용자 명령에 응답하여 실행을 시작할 수 있고, 또는 컴퓨팅 시스템(예컨대, 사용자 전자 장치 및/또는 사용자 프로파일 관리 시스템)의 동작 프로파일에 응답하여 실행을 시작할 수 있다. 더 예를 들면, 예시적인 방법(400)은 사용자 프로파일 업데이트 및/또는 동기화(synchronization)를 위한 요청(request)을 수신하는 것에 응답하여 실행을 시작할 수 있다. 예시적인 방법(400)은 또한 예를 들면, 동작의 미리 정해진 계획에 기초하여 실행을 시작할 수 있다. 본 발명의 다양한 관점들의 범위는 임의의 특정 초기 요인 또는 조건들과 관련된 특성들에 제한되지 않아야 한다.
예시적인 방법(400)은 단계(410)에서, 사용자가 동작하기 위한 컴퓨팅 시스템(예컨대, 사용자 프로파일 관리 시스템)으로부터 떨어진 하나 또는 그 이상의 전자 장치를 선호하는 방식과 관련된 정보를 포함하는 사용자 프로파일을 형성하는 단계를 포함할 수 있다. 사용자 프로파일은 임의의 다양한 방식으로 형성될 수 있다. 제한이 아닌 예를 들면, 사용자가 하나 또는 그 이상의 사용자 전자 장치를 사용하는 방식의 정보는 수집될 수 있고, 사용자가 전자 장치를 사용할 때 사용자 프로파일에 입력될 수 있다. 더 예를 들면, 사용자 또는 사용자들의 대표는 프로파일 정보를 명시적으로 입력할 수 있다.
사용자 프로파일은 예를 들면 컴퓨팅 시스템(예컨대, 사용자 프로파일 관리 시스템)에 의해 접속가능한 메모리내에 또는 컴퓨팅 시스템의 메모리내에 저장될 수 있다. 예를 들면, 비제한적인 예시적인 실시예에서, 사용자 프로파일은 사용자 프로파일 관리 시스템과 관련하여, 또는 사용자 프로파일 관리 시스템에 의해 접속하는한 메모리내에 저장될 수 있다. 비제한적인 예시로서, 단계(410)는 컴퓨팅 시스템(예컨대, 중앙 서버 또는 데이터베이스)에 다양한 유형의 메모리 온보드(onboard) 및/또는 외부에 사용자 프로파일을 저장하는 단계를 포함할 수 있다. 컴퓨팅 시스템(예컨대, 사용자 프로파일 관리 시스템)의 다양한 특성들은 전술되었다.
사용자 프로파일은 사용자(또는 사용자들의 그룹)이 동작하는 하나 또는 그 이상의 전자 장치들을 선호하는 방식과 관련된 정보를 포함할 수 있다. 예를 들면, 사용자 프로파일은 사용자가 동작하는 복수의 다른 전자 장치들을 선호하는 방식과 관련된 정보를 포함할 수 있다. 이러한 다른 전자 장치들은 예를 들면, 동일한 기본 유형의 장치(예컨대, 제 1 매체 재생장치 및 제 2 매체 재생장치), 또는 다른 기본 유형(예컨대, 매체 재생 장치, 셀룰러 전화, 및 텔레비전 셋톱 박스)일 수 있다.
사용자가 동작하는 하나 또는 그 이상의 전자 장치들을 선호하는 방식과 관련된 정보는 임의의 다양한 유형의 정보의 특성을 포함할 수 있다. 사용자 선호도의 예시들의 비제한적인 세트는 전술되었다. 제한이 아닌 예를 들면, 정보는 사용자가 상기 사용자에게 정보를 제공하는 하나 또는 그 이상의 전자 장치들을 선호하는 방식과 관련된 정보를 포함할 수 있다. 오디오 및/또는 비디오 제공 선호도의 다양한 비제한적인 예시는 전술되었다.
더 예를 들면, 정보는 사용자가 정보를 처리하기 위해 하나 또는 그 이상의 전자 장치들을 선호하는 방식과 관련된 정보를 포함할 수 있다. 프로세싱 선호도는 예를 들면, 코딩/디코딩, 해상도, 필터링(filtering), 프로세싱 속도, 오류 프로세싱, 보안 등의 정보 프로세싱과 관련된 선호도들을 포함할 수 있다. 더 예를 들면, 정보는 사용자가 전자 장치의 외부의 시스템과 통신하기 위해 하나 또는 그 이상의 통신 장치들을 선호하는 방식과 관련된 정보를 포함할 수 있다. 통신 선호도는 예를 들면, 네트워크 선호도, 원하는 QoS 설정, 프로토콜 선호도, 선호되는 네트워크 주소들, 보안 설정 등을 포함할 수 있다.
또 다른 예를 들면, 사용자 프로파일은 임의의 수의 기본값(default) 또는 리셋(reset) 값을 포함할 수 있다. 이러한 값은 예를 들면, 스트림에 의해 차후에 (예컨대, 예시적인 방법(400)의 여러 후속 단계들의 실행 동안) 수정될 수 있다. 사용자 프로파일은 또한 예를 들면, 표준 및/또는 개인적 형식으로 저장된 사용자 선호도 정보를 포함할 수 있다. 이러한 정보는 예를 들면, 저장가능하고, 편집가능하고, 및/또는 표준 및/또는 개인적 프로토콜을 사용하여 접속가능할 수 있다.
또 다른 예로서, 사용자 프로파일은 사용자 전자 장치의 전체 세트(superset)에 대응하는 정보를 포함할 수 있다. 제한이 아닌 예를 들면, 사용자 선호도 프로파일은 복수의 장치들 및/또는 장치의 유형들과 관련된 사용자 선호도 정보를 포함할 수 있고, 상기 사용자 선호도 정보의 적어도 일부는 복수의 장치들 사이에서 공유되지 않는다. 예를 들면, 사용자 선호도 프로파일은 MP3 음악 재생장치에 의해 사용되지 않는 게임 동작 선호도 정보, 및 휴대용 영화 뷰어(viewer) 등에 의해 사용되지 않는 음악 동작 선호도 정보를 포함할 수 있다.
일반적으로, 단계(410)는 사용자가 동작하는 (예컨대, 컴퓨팅 시스템으로부터 분리된) 하나 또는 그 이상의 전자 장치들을 선호하는 방식과 관련된 정보를 포함하는 사용자 프로파일을 형성하는 단계를 포함한다. 따라서, 본 발명의 다양한 측면의 범위는 명시적으로 주장되지 않는다면, 사용자 선호도 프로파일을 형성하는 단계의 임의의 특정 방식과 관련된 특성들, 또는 사용자 선호도 정보의 특정 유형들과 관련된 특성들에 의해 제한되어서는 안된다.
예시적인 방법(400)은 단계(420)에서 사용자가 전자 장치(예컨대, 단계(420)를 구현하는 컴퓨팅 시스템으로부터 분리된 사용자 전자 장치)를 사용하고 있는 방식과 관련된 정보를 획득하는 단계를 포함할 수 있다.
사용자가 컴퓨팅 시스템으로부터 분리된 전자 장치를 사용하고 있는 방식과 관련된 획득된(예컨대, 수신된) 정보는 전자 장치 동작 선호도와 관련된 임의의 다양한 특성들을 포함할 수 있다. 이러한 선호도의 여러 예시들은 전술되었다. 제한이 아닌 예를 들면, 정보는 상기 정보가 상기 사용자에게 제공되기 위해 사용자가 선호하는 방식, 및/또는 사용자가 상기 사용자에게 상기 정보를 제공하는 전자 장치를 이용하고 있는 방식과 관련된 정보를 포함할 수 있다. 더 예를 들면, 정보는 정보가 처리되기 위해 사용자가 선호하는 방식, 및/또는 사용자가 정보를 처리하는 전자 장치를 이용하고 있는 방식과 관련된 정보를 포함할 수 있다. 더 예를 들면, 정보는 사용자가 전자 장치의 외부의 시스템과 통신하는 전자 장치를 선호하는 방식, 및/또는 사용자가 전자 장치의 외부의 시스템과 통신하는 전자 장치를 사용하고 있는 방식과 관련된 정보를 포함할 수 있다.
사용자가 전자 장치를 사용하고 있는 방식과 관련된 획득된(예컨대, 수신된) 정보는 현재(예컨대, 실시간) 사용의 정보를 포함할 수 있다. 이러한 획득된(예컨대, 수신된) 정보는 또한 예를 들면, 내부상의 전자 장치의 사용과 관련된 정보(예컨대, 시간 간격, 장치 사용 예의 수 등)를 포함할 수 있다.
단계(420)는 임의의 다양한 방식들로 정보를 획득하는 단계를 포함할 수 있다. 제한이 아닌 예를 들면, 단계(420)는 사용자에 의해 전자 장치의 사용을 감시하는 단계를 포함할 수 있다. 상기 감시하는 단계는 예를 들면, 컴퓨팅 시스템, 사용자에 의해 사용되는 하나 또는 그 이상의 특정 사용자 전자 장치, 제 3 감시자 등에 의해 수행될 수 있다.
단계(420)는 예를 들면, 사용자가 사용자 전자 장치로부터 (예컨대, 장치의 사용 동안 및/또는 후에) 전자 장치를 사용하고 있는 방식과 관련된 정보를 수신하는 단계를 포함할 수 있다.
이 실시예에서, 단계(420)는 다른 장치로부터 정보를 수신하는 단계를 포함할 수 있고, 단계(420)는 예를 들면, 사용자 전자 장치의 사용자에 의해 초기화된, 특정 동작 조건에 응답하여 사용자 전자 장치에 의해 초기화된, 정기적 계획에 따라 사용자 전자 장치에 의해 초기화된, 비요청적인(unsolicited) 방식으로 정보를 수신하는 단계를 포함할 수 있다. 단계(420)는 예를 들면, 컴퓨팅 시스템(예컨대, 사용자 프로파일 관리 시스템) 또는 정보를 위한 다른 시스템에 의한 요청에 대한 응답으로, 및/또는 정보의 계획된 통신에 대한 응답으로 정보를 수신하는 단계를 포함할 수 있다. 비제한적인 예시적인 실시예에서, 컴퓨팅 시스템은 정보를 얻기 위해 사용자 전자 장치를 폴링(poll)할 수 있다.
상기 언급된 바와 같이, 단계(420)는 사용자가 사용자 전자 장치로부터 전자 장치를 사용하고 있는 방식과 관련하여 정보를 수신하는 단계를 포함할 수 있다. 도 5는 컴퓨팅 시스템으로 정보를 획득, 처리, 및/또는 통신하기 위한 사용자 전자 장치에서 수행될 수 있는 방법(500)의 비제한적인 예시를 제공한다.
도 5를 참조하면, 본 발명의 다양한 측면에 따라, 진화하는 사용자 선호도를 관리하기 위한 전자 장치의 예시적인 방법(500)의 흐름도를 도시한다. 예시적인 방법(500)의 일부 또는 전부는 제한이 아닌 예를 들면, 도 1 내지 3에 도시된, 그리고 전술된 사용자 전자 장치들(111-114, 201-202, 300)의 임의의 것에 의해, 또는 구성요소들이나 이것의 회로에 의해 수행될 수 있다.
예시적인 방법(500)은 단계(505)에서 시작한다. 예시적인 방법(500)은 임의의 다양한 이유들에 대해(예컨대, 임의의 다양한 요인들 또는 조건들에 응답하여) 실행을 시작할 수 있다. 제한이 아닌 예를 들면, 예시적인 방법(500)은 시작하기 위한 사용자 명령(예컨대, 사용자 프로파일을 업데이트하기 위한 명령, 또는 다른 개체로의 통신을 위해 선호되는 동작 정보를 얻기위한 명령)에 응답하여 실행을 시작할 수 있다. 더 예를 들면, 예시적인 방법(500)은 사용자 전자 장치로 프로그램된 동작 프로파일에 응답하여 실행을 시작할 수 있다. 또한 예를 들면, 예시적인 방법(500)은 사용자 선호도, 및/또는 (예컨대, 사용자 프로파일 관리 시스템 또는 다른 사용자 전자 장치와 같은 다른 컴퓨팅 시스템으로부터의) 장치 사용 정보에 대한 요청을 수신하는 것에 응답하여 실행을 시작할 수 있다. 예시적인 방법(500)은 또한 예를 들면, 동작의 미리 정해진 계획에 기초하여 실행을 시작할 수 있다. 예시적인 방법(500)은 예를 들면, 사용자 전자 장치에서 (예컨대, 사용자 전자 장치의 사용 동안) 동작 선호도 정보의 사용자 입력에 응답하여 실행을 시작할 수 있다. 본 발명의 다양한 측면의 범위는 임의의 특정한 초기 요인 또는 조건과 관련된 특성들에 의해 제한되지 않아야 한다.
예시적인 방법(500)은 단계(510)에서, 사용자가 사용자 전자 장치를 동작하고 있는(또는 사용하고 있는) 방식을 판단하는 단계를 포함할 수 있다. 단계(510)는 예를 들면, 사용자가 사용자 전자 장치를 동작하고 있는 방식과 관련된 임의의 다양한 사용자 선호도 또는 장치 사용 특성을 판단하는 단계를 포함할 수 있다. 이 러한 선호도들의 다수의 예시들은 전술되었다.
제한이 아닌 예를 들면, 단계(510)는 사용자가 상기 사용자에게 정보를 제공하기 위해 사용자 전자 장치를 지시하는 방식과 관련된 정보를 판단하는 단계를 포함할 수 있다. 더 예를 들면, 단계(510)는 사용자가 정보를 처리하기 위해 사용자 전자 장치를 지시하는 방식과 관련된 정보를 판단하는 단계를 포함할 수 있다. 더 예를 들면, 단계(510)는 사용자가 사용자 전자 장치의 외부의 시스템과 통신하기 위한 사용자 전자 장치를 지시하는 방식과 관련된 정보를 판단하는 단계를 포함할 수 있다.
단계(510)는 예를 들면, 사용자에 의해 사용자 전자 장치의 사용을 감시하는 단계, 및 적어도 부분적으로 감시하는 단계에 기초하여, 사용자가 사용자 전자 장치를 동작하고 있는 방식을 판단하는 단계를 포함할 수 있다. 제한이 아닌 예를 들면, 단계(510)는 사용자 전자 장치가 동작하는 방식에 영향을 미치는 사용자 설정을 감시하는 단계를 포함할 수 있다. 상기 감시하는 단계는 예를 들면, 사용자 전자 장치, 및/또는 상기 사용자 전자 장치와 다른 개체에 의해 수행될 수 있다. 단계(510)는 예를 들면, 사용자 전자 장치를 사용하는 동안 사용자에 의해 특정된 동작 설정을 분석하는 단계를 포함할 수 있다. 동작 설정은 예를 들면 사용자가 동작하는 사용자 전자 장치를 선호하는 방식의 지시(indication)를 제공할 수 있다.
상기 감시하는 단계는 사용자 전자 장치의 배경 동작으로서 수행될 수 있다는 것을 주지해야 한다. 제한이 아닌 예를 들면, 단계(510)를 포함하는 예시적인 방법(500)의 다양한 측면들은 사용자 전자 장치의 프로세서에 의해 실행된 배경 프 로세스(예를 들면, 대몬(daemon))에 의해 수행될 수 있다. 단계(510)가 사용자 전자 장치의 사용을 감시하는 단계를 포함하는 예시적인 실시예에서, 상기 감시하는 단계는 직접적인 사용자 상호작용과 함께 또는 직접적인 사용자 상호작용 없이, 잠재적으로는 상기 감시하는 단계가 일어나고 있다는 것을 사용자에게 지시하지 않고 일어날 수 있다.
단계(510)는 예를 들면, 사용자가 사용자 전자 장치를 현재 사용하고 있는 방식을 판단하는 단계를 포함할 수 있다. 더 예를 들면, 단계(510)는 사용자가 시간 간격 동안(예컨대, 정기적 시간, 특정 횟수의 사용 등) 사용자 전자 장치를 사용한 방식과 관련된 정보를 판단하는 단계를 포함할 수 있다. 더 예를 들면, 단계(510)는 사용자가 사용자 전자 장치를 사용하고 있는 방법과 사용자가 이전에 사용자 전자 장치를 사용했던 방법 사이의 차이를 판단하는 단계를 포함할 수 있다.
예시적인 방법(500)은 단계(520)에서, 전자 장치와 분리된 컴퓨팅 시스템에 통신적으로 결합하는 단계를 포함할 수 있다. 제한이 아닌 예를 들면, 컴퓨팅 시스템은 도 4(또는 이것의 일부)에 기재된 예시적인 방법(400)에 따라 동작하는 컴퓨팅 시스템(예컨대, 사용자 프로파일 관리 시스템)일 수 있다.
단계(520)는 임의의 다양한 방법으로 컴퓨팅 시스템에 통신적으로 결합하는 단계를 포함할 수 있다. 제한이 아닌 예를 들면, 단계(520)는 통신 네트워크(예컨대, 전술된 임의의 유형의 통신 네트워크들)를 통해 컴퓨팅 시스템에 통신적으로 결합하는 단계를 포함할 수 있다. 더 예를 들면, 단계(520)는 직접 유선 또는 무선 링크를 통해 컴퓨팅 시스템으로 통신적으로 결합하는 단계를 포함할 수 있다. 단 계(520)는 예를 들면, 임의의 매우 다양한 표준 및/또는 개인의 통신 프로토콜 및/또는 매체를 사용하는 컴퓨팅 시스템에 통신적으로 결합하는 단계를 포함할 수 있다.
예시적인 방법(500)은 단계(530)에서, 사용자가 컴퓨팅 시스템에 (예컨대, 단계(510)에서 판단된 것과 같은) 전자 장치를 동작하고 있는(또는 사용하고 있는) 판단된 방식과 관련된 정보를 통신하는 단계를 포함할 수 있다. 도 4와 관련하여 이하 기술되는 바와 같이, 단계(530)에서 통신되는 정보는 예를 들면, 컴퓨팅 시스템이 사용자에게 대응하는 사용자 프로파일을 수정하도록 할 수 있고, 상기 사용자 프로파일은 사용자가 동작하는 하나 또는 그 이상의 전자 장치들을 선호하는 방식과 관련된 정보를 포함할 수 있다.
도 4의 예시적인 방법(400)으로 돌아와서, 예시적인 방법(400)은 단계(430)에서, 저장된 사용자 프로파일을 수정하는지 여부 및/또는 그 방법을 판단하기 위해, 사용자가 전자 장치를 사용하고 있는 방식의 적어도 일부, 및 저장된 사용자 프로파일을 분석하는 단계를 포함할 수 있다. 예시적인 방법(400)에서, 단계(430) 또는 이것의 일부는 예를 들면, 저장된 사용자 프로파일이 수정되는 것, 및/또는 미리 정해진 방식으로 수정되는 것은 미리 정해진 실시예에서 생략될 수 있다. 비제한적인 예시로서, 사용자는 저장된 사용자 프로파일이 수정되는 것을 명령할 수 있다.
단계(430)는 사용자가 임의의 다양한 방식에서 전자 장치를 동작하고 있는(또는 사용하고 있는) 방식을 분석하는 단계를 포함할 수 있다. 제한이 아닌 예를 들면, 단계(430)는 사용자가 전자 장치를 사용하고 있는 방식과 저장된 사용자 프로파일 사이의 차이의 중요 수준을 판단하는 단계를 포함할 수 있고, 중요성의 판단된 수준에 적어도 부분적으로 기초하여 저장된 사용자 프로파일을 수정할지 여부를 판단하는 단계를 포함할 수 있다. 예를 들면, 다양한 실시예에서, 사용자가 전자 장치를 사용하고 있는 방식과, 사용자 프로파일이 사용자가 전자 장치를 사용하기 위해 선호하는 것을 나타내는 방식 사이의 우연한 차이 및/또는 작은 차이는 컴퓨팅 시스템이 저장된 사용자 프로파일을 수정하는 것을 정당화할 수 없을 수 있다. 예를 들면, 사용자는 전자 장치를 매번 정확히 동일한 방식으로 사용하지 않을 수 있다는 것을 예상할 수 있다. 비제한적인 예시적인 실시예에서, 동작 선호도의 일회의 편차(deviation)는 대응하는 사용자 프로파일 파라미터를 수정하는 단계를 정당화하기에는 너무 대수롭지 않은 것으로 간주될 수도 있다.
단계(430)는 예를 들면, 사용자가 전자 장치를 사용하고 있는 방식과 저장된 사용자 프로파일이 사용자가 동작하는 전자 장치를 선호하는 것을 나타내는 방식 사이의 차이의 크기를 판단하는 단계를 포함할 수 있다. 단계(430)는 예를 들면, 이후에 판단된 크기가 저장된 사용자 프로파일을 수정하는 것을 정당화하기에 충분히 큰지 판단하기 위해 상기 판단된 크기를 분석할 수 있다.
다른 예로서, 단계(430)는 사용자가 전자 장치를 사용하고 있는 방식을 통계적으로 분석하는 단계를 포함할 수 있다. 예를 들면, 사용자가 전자 장치를 사용하고 있는 방식은 특정 사용자 선호도에 대응할 수 있다. 한편 특정 사용자 선호도는 특정 통계적 분산에 대응할 수 있다. 단계(430)는 예를 들면, 사용자가 전자 장치 를 사용하고 있는 방식과 관련된 변화(예컨대, 표준 편차)의 수준을 통계적으로 판단할 수 있고, 상기 편차가 통계적으로 중요한지를 편차의 수준에 기초하여 판단할 수 있다. 예를 들면, 통계적으로 중요 편차는 저장된 사용자 프로파일을 수정하는 것을 정당화할 수 있다.
유사하게, 단계(430)는 사용자가 전자 장치를 사용하고 있는 방식이 사용자 프로파일에 포함된 대응하는 사용자 선호도와 관련된 선호되는 장치 동작의 중요 변화에 대응하는지를 판단하기 위해 특정 수의 이전에 판단된 방식을 분석하는 것에 의해 경향 분석을 수행하는 단계를 포함할 수 있다. 예를 들면, 단계(430)는 전자 장치 동작의 방식이 저장된 사용자 프로파일을 수정하는 것을 정당화할만큼 통계적으로 중요한지 판단하기 위해 통계적 경향 분석을 수행하는 단계를 포함할 수 있다.
또한, 단계(430)는 특정 사용자 동작 선호도(또는 장치 사용)가 선호도의 새로운 유형인지, 또는 예전 선호도의 수정된 것인지 판단하는 단계를 포함할 수 있다. 예를 들면, 단계(430)는 새로운 동작 선호도와 존재하는 동작 선호도를 대비하기 위해 다른 각각의 기준에 따라 사용자 프로파일을 수정해야 하는지를 판단하는 단계를 포함할 수 있다.
일반적으로, 단계(430)는 저장된 사용자 프로파일을 수정하는지 여부 및/또는 그 방법을 판단하기 위해 저장된 사용자 프로파일, 및 사용자가 전자 장치를 동작하고 있는(또는 사용하고 있는) 방식을 적어도 분석하는 단계를 포함할 수 있다. 따라서, 본 발명의 다양한 측면들의 범위는 명시적으로 주장되지 않는다면 임의의 특정 유형의 분석의 특성에 의해 제한되어서는 안된다.
예시적인 방법(400)은 단계(440)에서, 만일 수정이 정당화된 것으로 판단된다면(예컨대, 단계(430)), 저장된 사용자 프로파일을 수정하는 단계를 포함할 수 있다. 예를 들면, 단계(440)는 사용자가 전자 장치를 사용하고 있는 방식에 적어도 부분적으로 기초하여, 저장된 사용자 프로파일을 수정하는 단계를 포함할 수 있다. 단계(440)는 임의의 다양한 방식으로, 저장된 사용자 프로파일 정보를 수정하는 단계를 포함할 수 있다. 예를 들면, 단계(440)는 특정 사용자 및 전자 장치에 특정된, 및/또는 전자 장치의 특정 사용자 및 유형에 특정된 저장된 사용자 프로파일을 수정하는 단계를 포함할 수 있다. 더 예를 들면, 단계(440)는 사용자 전자 장치의 동작 특성에 특정된 저장된 사용자 프로파일 정보를 수정하는 단계를 포함할 수 있고, 동작 특성은 복수의 다른 사용자 전자 장치들 및/또는 복수의 다른 유형의 사용자 전자 장치들에 활용가능하다.
일반적으로 저장된 사용자 프로파일을 수정하는지의 여부 및/또는 그 방법을 판단하는 단계를 포함하는 단계들(430, 440)은 저장된 사용자 프로파일을 유지하는 단계 및/또는 관리하는 단계의 고려되는 예시일 수 있다. 전술된 바와 같이, 유지하는 단계 및/또는 관리하는 단계의 다른 예시는 사용자에 의한 전자 장치의 동작과 관련된 수신된 정보에 기초하여 저장된 사용자 프로파일의 비조건적인 수정을 포함한다. 또 다른 예시로서, 유지하는 단계 및/또는 관리하는 단계는 저장된 사용자 프로파일에 변화를 형성하기에 앞서 사용자 인증을 요청하는 단계를 포함할 수 있다.
예시적인 방법(400)은 단계(440)에서, 일반적으로 사용자가 전자 장치를 동작하고 있는(또는 사용하고 있는) 방식에 적어도 부분적으로 기초하여, 저장된 사용자 프로파일을 수정하는 단계를 포함할 수 있다. 단계(440)는 임의의 다양한 방식에서 수정을 수행하는 단계를 포함할 수 있다. 따라서, 명시적으로 주장되지 않는다면, 본 발명의 다양한 측면들의 범위는 저장된 사용자 프로파일로 형성될 수 있는 임의의 특정 유형의 수정의 특성들, 또는 저장된 사용자 프로파일에 포함된 사용자 선호도 정보의 임의의 특정 유형의 특성들에 의해 제한되어서는 안된다.
예시적인 방법(400)은 단계(450)에서 저장된 사용자 프로파일로부터, 컴퓨팅 시스템으로부터 분리되고 사용자와 관련된 사용자 전자 장치(예컨대, 제 2 사용자 전자 장치)로 정보를 통신하는 단계를 포함할 수 있다. 제 2 사용자 전자 장치는 제한이 아닌 예를 들면, 저장된 사용자 프로파일로부터의 정보가 획득된 제 1 사용자 전자 장치와 같은 동일한 기본 유형일 수 있다. 다양한 예시적인 실시예에서, 제 2 사용자 전자 장치는 예를 들면, 저장된 사용자 프로파일로부터의 정보의 적어도 일부가 획득되는 것과 같이 동일한 사용자 전자 장치일 수 있다. 즉, 특정 사용자 전자 장치로부터의 정보는 저장된 사용자 프로파일을 형성 및/또는 유지하기 위해 사용될 수 있고, 상기 저장된 사용자 프로파일은 결과적으로 특정 사용자 전자 장치로 다시 통신된다. 또 다른 예시적인 실시예에서, 제 2 사용자 전자 장치는 제 1 사용자 전자 장치와는 다른 기본 유형의 장치일 수 있다. 이러한 상황에서, 통신된 정보는 기본 유형의 장치 모두에 공통인 사용자 선호도 정보를 포함할 수 있다. 비제한적인 예시로서, 사용자의 오디오 선호도는 복수의 다른 기본 유형의 사용자 전자 장치들을 넘을 수 있다.
단계(450)는 예를 들면, 사용자 프로파일 정보 또는 이것의 특정 부분에 대한 사용자 전자 장치에 의한 요청에 응답하여 수행될 수 있다. 이러한 요청은 비요청적인 방식으로(예컨대,비동기적으로) 컴퓨팅 시스템에 도달할 수 있고, 또는 동기적으로(예컨대, 할당된 시간슬롯(timeslot)에서 또는 폴(poll) 메시지에 응답하여) 동기적으로 도달할 수 있다.
상기 기재된 바와 같이, 시스템(450)은 사용자 프로파일 정보, 또는 이의 부분을 컴퓨팅 시스템으로부터 사용자 전자 장치로 통신하는 단계를 포함할 수 있다. 도 6은 컴퓨팅 시스템으로부터 정보를 수신, 및/또는 수신된 정보에 따라 동작하기 위해 사용자 전자 장치에서 수행될 수 있는 비제한적인 예시적인 방법(600)을 제공한다.
도 6을 참조하면, 이 도면은 본 발명의 다양한 측면에 따라, 진화하는 사용자 선호도를 관리하기 위한 전자 장치의 예시적인 방법(600)의 흐름도를 도시한다. 예시적인 방법(600)의 일부 또는 전부는 제한이 아닌 예를 들면, 도 1 내지 3에 제공되고 전술된 임의의 사용자 전자 장치들(111-114, 201-202, 300), 또는 구성요소들이나 이들의 회로에 의해 수행될 수 있다.
예시적인 방법(600)은 단계(605)에서 시작한다. 예시적인 방법(600)은 임의의 다양한 이유들에 대해(예컨대, 임의의 다양한 요인들 또는 조건들에 응답하여) 실행을 시작할 수 있다. 제한이 아닌 예를 들면, 예시적인 방법(600)은 시작하기 위해, 사용자 명령(예컨대, 사용자 선호도 또는 장치 설정 절차의 초기화를 동기화 하기 위한 명령)에 응답하여 실행을 시작할 수 있다. 부가적으로, 예시적인 방법(600)은 사용자 전자 장치의 동작 프로파일에 응답하여 실행을 시작할 수 있다. 또한 예를 들면, 예시적인 방법(600)은 컴퓨팅 시스템(예컨대, 사용자 프로파일 관리 시스템)으로부터 수신된 신호에 응답하여 실행을 시작할 수 있다. 이러한 신호는 예를 들면, 컴퓨팅 시스템이 업데이트된 사용자 프로파일 정보에 접속한 것을 나타내는 메시지, 사용자 전자 장치가 사용자 선호도 정보를 업데이트하는 것을 요청하거나 명령하는 메시지 등을 포함할 수 있다. 예시적인 방법(600)은 또한 미리 정해진 동작 계획에 기초하여 실행을 시작할 수 있다. 예시적인 방법(600)은 더 예를 들면, 재설정 또는 전력 상승 순서의 결과로서 실행을 시작할 수 있다. 본 발명의 다양한 측면의 범위는 임의의 특정 초기 요인 또는 조건과 관련된 특성에 의해 제한되어서는 안된다.
예시적인 방법(600)은 단계(610)에서, 사용자 프로파일에 접속하는 컴퓨팅 시스템으로 통신 링크를 개설하는 단계를 포함할 수 있다. 이러한 사용자 프로파일은 예를 들면, 사용자가 동작하는 컴퓨팅 시스템으로부터 분리된 하나 또는 그 이상의 전자 장치들을 선호하는 방식과 관련된 사용자 선호도 정보를 포함할 수 있다. 제한이 아닌 예를 들면, 컴퓨팅 시스템은 도 4에 기재된 예시적인 방법(400) (또는 이것의 일부)에 따라 동작하는 컴퓨팅 시스템(예컨대, 사용자 프로파일 관리 시스템)일 수 있다.
단계(610)는 임의의 다양한 방식으로 컴퓨팅 시스템에 통신 링크를 개설하는 단계를 포함할 수 있다. 제한이 아닌 예를 들면, 단계(610)는 통신 네트워크(예컨 대, 전술된 임의의 유형의 통신 네트워크들)를 통해 컴퓨팅 시스템에 통신 링크를 개설하는 단계를 포함할 수 있다. 사용자 전자 장치가 통신 링크의 개설을 초기화하는 비제한적인 실시예에서, 단계(610)는 사용자 프로파일 정보에 접속하는 컴퓨팅 시스템과 관련된 (예컨대, 기본의, 미리 정해진, 사용자 정의의) 알려진 통신 네트워크 주소로 통신 링크를 개설하기 위해 시도하는 단계를 포함할 수 있다. 더 예를 들면, 단계(610)는 직접 유선으로 또는 무선 링크를 통해 컴퓨팅 시스템과 통신적으로 결합하는 단계를 포함할 수 있다. 단계(610)는 예를 들면, 임의의 매우 다양한 표준 및/또는 개인의 통신 프로토콜 및/또는 매체를 사용하여 컴퓨팅 시스템에 통신적으로 결합하는 단계를 포함할 수 있다.
예시적인 방법(600)은 단계(620)에서, 컴퓨팅 시스템으로부터 사용자 선호도 정보를 수신하는 단계를 포함할 수 있다. 사용자 선호도 정보는 예를 들면, 컴퓨팅 시스템에 의해 접속가능한 사용자 프로파일에 저장된 사용자 선호도 정보의 적어도 부분에 대응할 수 있다.
단계(620)는 예를 들면, 비요청적인 방식으로 컴퓨팅 시스템으로부터 사용자 선호도 정보를 수신하는 단계를 포함할 수 있고, 및/또는 예를 들면, 요청에 응답하여 컴퓨팅 시스템으로부터 사용자 선호도 정보를 수신하는 단계를 포함할 수 있다. 예를 들면, 단계(620)는 사용자 전자 장치로부터 사용자 선호도 정보를 요청하는 컴퓨팅 시스템으로 통신된 메시지에 응답하여 컴퓨팅 시스템으로부터 사용자 선호도 정보를 수신하는 단계를 포함할 수 있다. 비제한적인 예시적인 실시예에서, 예시적인 방법(600)을 구현하는 사용자 전자 장치는 컴퓨팅 시스템으로부터 사용자 선호도 정보의 특정 유형을 요청할 수 있다. 추가적인 비제한적인 예시적인 실시예에서, 사용자 전자 장치는 특정 사용자 또는 사용자들의 그룹과 관련된 동작 선호도 정보를 요청할 수 있다.
전술된 바와 같이, 사용자 선호도 정보는 임의의 다양한 특성들(예컨대, 전자 장치 동작 선호도와 관련된 특성들)을 포함할 수 있다. 이러한 선호도들의 다양한 예시들은 전술되었다. 제한이 아닌 예를 들면, 상기 정보는 상기 정보가 상기 사용자에게 제공되기 위해 사용자가 선호하는 방식과 관련된 정보를 포함할 수 있다. 더 예를 들면, 더 예를 들면, 상기 정보는 정보가 처리되기 위해 사용자가 선호하는 방식과 관련된 정보를 포함할 수 있다. 더 예를 들면, 상기 정보는 사용자가 전자 장치의 외부의 시스템과 통신하기 위해 전자 장치를 선호하는 방식과 관련된 정보를 포함할 수 있다.
예시적인 방법(600)은 단계(630)에서, (예컨대, 단계(620)에서 수신된 것과 같은) 수신된 사용자 선호도 정보에 따라 사용자 전자 장치를 동작하는 단계를 포함할 수 있다. 단계(630)는 예를 들면, 특정 유형의 전자 장치에 따른 임의의 다양한 방식으로 사용자 전자 장치를 동작하는 단계를 포함할 수 있다. 제한이 아닌 예를 들면, 단계(630)는 수신된 사용자 선호도 정보에 의해 특정된 방식으로 전자 장치의 사용자에게 정보를 제공하는 단계를 포함할 수 있다. 더 예를 들면, 단계(630)는 수신된 사용자 선호도 정보에 의해 특정된 방식으로 정보를 처리하는 단계를 포함할 수 있다. 더 예를 들면, 단계(630)는 수신된 사용자 선호도 정보에 의해 특정된 방식으로 다양한 통신 네트워크들로 통신 링크들을 개설, 사용, 유지, 및/또는 분해하는 단계를 포함할 수 있다.
예시적인 방법(600)은 단계(695)에서, 임의의 다양한 방법으로 (예컨대, 방법(600)을 구현하는 사용자 전자 장치상에서) 동작을 계속하는 단계를 포함할 수 있다. 제한이 아닌 예를 들면, 단계(495)는 임의의 이전 단계(예컨대, 단계(610))로 다시 예시적인 방법(600)의 실행 흐름을 복귀시키는 단계를 포함할 수 있다. 실행 흐름의 복귀는 예를 들면, 특정 동작 조건 및/또는 이벤트(event)(예컨대, 타이머(timer) 관련 이벤트, 수신된 신호 관련 이벤트, 사용자 명령 이벤트 등)에 대응할 수 있다.
예시적인 방법(600)의 일부 또는 모든 단계들은 예를 들면, 단계(들)을 수행하는 동안 직접적인 사용자 상호작용을 갖고 또는 직접적인 사용자 상호작용이 없이 수행될 수 있다. 비제한적인 실시예에서, 예시적인 방법(600)의 일부 또는 모든 단계들은 예시적인 단계(들)의 실행 이전에 개설된 동작 규칙에 응답하여 수행될 수 있지만, 단계(들)의 수행 동안 사용자와 상호작용하지 않을 수 있다. 다른 비제한적인 실시예에서, 예시적인 방법(600)의 일부 또는 모든 단계들은 단계(들)의 성능을 확인하기 위해 사용자에게 요청하는 단계를 포함할 수 있다.
도 4에 도시된 예시적인 방법(400)으로 돌아와서, 방법(400)은 단계(495)에서, 계속된 동작을 수행하는 단계를 포함할 수 있다. 단계(495)는 임의의 다양한 방식들로 동작을 계속하는 단계를 포함할 수 있다. 제한이 아닌 예를 들면, 단계(495)는 임의의 이전 단계(예컨대, 단계(420))로 다시 예시적인 방법(400)의 실행 흐름을 복귀시키는 단계를 포함할 수 있다. 실행 흐름의 복귀는 특정 동작 조건 및/또는 이벤트(예컨대, 타이머(timer) 관련 이벤트, 수신된 신호 관련 이벤트, 사용자 명령 이벤트 등)에 대응할 수 있다.
본 발명의 다양한 측면들이 비제한적인 예시적인 실시예들에 의해 이제 제공될 것이다.
제 1 비제한적인 예시적인 실시예에서, 사용자는 매체 재생 장치를 동작하고 있을 수 있다. 사용자는 예를 들면, 특정 오디오 및/또는 비디오 표현 설정, 파일 설정, 스트리밍 매체 설정 등을 사용하고 있을 수 있다. 매체 재생 장치의 사용자의 사용과 관련된 사용자 동작 선호도는 사용자 선호도 관리 시스템에서(예컨대, 사용자 프로파일에서), 또는 사용자 선호도 관리 시스템에 접속가능한 시스템에서 감시, 분석, 및 저장될 수 있다. 사용자에 의한 특정 장치의 차후의 사용, 또는 사용자에 의한 매체 표현 장치의 사용은 사용자 선호도 관리 시스템에 의해 저장되거나 접속가능한 사용자 동작 선호도 정보의 접속을 촉발할 수 있다. 저장된 사용자 선호도 정보는 이후에 사용자 선호도 관리 시스템으로부터 전송될 수 있고, 접속하는 사용자 전자 장치의 차후의 동작을 운용하기 위해 사용될 수 있다.
제 2 비제한적인 예시적인 실시예에서, 사용자는 비디오 게임(예컨대, 네트워킹된 게이밍 세션(networked gaming session))을 플레이하기 위해 게임 콘솔을 사용할 수 있다. 게이밍 세션내에 참여 및/또는 개설 동안, 사용자는 특정 선호도 설정들(예컨대, U/I 설정, 네트워크 통신 설정, 매체 표현 설정, 플레이 수준 설정 등)을 입력할 수 있고, 및/또는 사용자 동작 선호도 정보로서 저장을 위해 감시되고 분석될 수 있는 사용의 특정 패턴들을 나타낼 수 있다. 사용자 동작 선호도 및/ 또는 장치 사용과 관련된 정보는 (동일한 게이밍 장치 또는 다른 게이밍 장치의 차후 사용으로) 차후의 접속을 위해 사용자 선호도 관리 시스템에 저장될 수 있다.
제 3 비제한적인 예시적인 실시예에서, 사용자는 특정 통신 네트워크로 결합하기 위해 포켓 컴퓨터를 사용할 수 있다. 사용자는 예를 들면, 임의의 복수의 설정을 사용하여 통신하기 위해 복수의 통신 네트워크들의 임의의 하나 또는 그 이상을 선택할 수 있다. 사용자는 또한 예를 들면, 특정 통신 링크 요구사항들(예컨대, QoS 설정 정보)을 특정할 수 있다. 선호되는 설정을 포함하는 사용자에 의한 이러한 사용은 사용자 전자 장치에 의해 감시될 수 있고, 및/또는 사용자 전자 장치로 통신적으로 결합된 장치에 의해 감시될 수 있다. 이러한 감시는 예를 들면 사용자에게 대응하는 사용자 프로파일에 저장된 사용자 동작 선호도 정보의 수정을 결과할 수 있다. 예를 들면, 특정 선호도들을 사용하는 특정 통신 네트워크로 결합하기 위해 일관되게 선택하는 특정 사용자는 사용자 선호도 관리 시스템에 저장된 사용자 프로파일내에 사용자 동작 선호도 정보를 변경하는 것을 정당화할 수 있다. 사용자에 의한 다음 사용자 장치(또는 동일한 사용자 장치)의 차후의 사용은 사용자 선호도 관리 시스템으로부터 사용자 동작 선호도 정보의 접속을 촉발할 수 있고, 상기 접속된 정보는 이후에 다음 사용자 장치의 동작을 운용할 수 있다. 이러한 방식에서, 사용자 동작 선호도는 특정 사용자, 사용자 그룹, 사용자 장치, 장치 유형 등에 관해 더 학습되는 것과 같이 감시, 추적, 및 진화될 수 있다.
본 발명의 다양한 예시적인 구조적 및/또는 기능적 측면들은 도 1-6에 도시되고, 전술되었다. 본 발명의 다양한 측면들은 임의의 다양한 방식들로 구현될 수 있다. 제한이 아닌 예를 들면, 본 발명의 일부 또는 모든 기능적 측면들은 하드웨어, 소프트웨어, 및/또는 이들의 조합에 의해 구현될 수 있다. 예를 들면, 도 1-3에 도시된 다양한 블럭들은 하드웨어 및/또는 소프트웨어에 의해 구현될 수 있다. 비제한적인 예시로서, 다양한 블럭들은 또한 하나 또는 그 이상의 집적 회로로 구현될 수 있다.
부가적으로, 본 발명의 다양한 측면들은 모듈로서 도시되었고 기재되었다. 다양한 모듈 경계들은 설명의 명확성을 위해 만들어지고 제공되었다는 것을 주지해야 한다. 예를 들면, 다양한 모듈들은 다양한 하드웨어 및/또는 소프트웨어 구성요소를 공유할 수 있다. 더 예를 들면, 다양한 모듈들은 개별적으로 (예컨대, 개별적 집적 회로 또는 결합된 집적 회로로) 구현될 수 있다.
요약하자면, 본 발명의 다양한 측면들은 진화하는 사용자 선호도를 관리하기 위한 시스템 및 방법을 제공한다.
본 발명이 특정한 실시예들에 관하여 설명되었지만, 본 발명의 사상에서 벗어남이 없이, 다양한 변경이 이뤄질 수 있고 또한 균등물들이 치환될 수 있다는 점은 당해 기술 분야에 숙련된 자들에게 이해될 것이다. 추가적으로, 본 발명의 사상에서 벗어남이 없이, 특정한 상황이나 물적 요건을 본 발명의 지침에 맞게 조절할 수 있도록 다양한 개조가 이뤄질 수 있다. 따라서, 본 발명은 개시된 특정한 실시예에 한정되는 것이 아니며, 본 발명은 첨부된 청구 범위의 사상 내에 들어오는 모든 실시예들을 포함한다.