KR20190102308A - 데이터 콘텐츠 필터 - Google Patents

데이터 콘텐츠 필터 Download PDF

Info

Publication number
KR20190102308A
KR20190102308A KR1020197025040A KR20197025040A KR20190102308A KR 20190102308 A KR20190102308 A KR 20190102308A KR 1020197025040 A KR1020197025040 A KR 1020197025040A KR 20197025040 A KR20197025040 A KR 20197025040A KR 20190102308 A KR20190102308 A KR 20190102308A
Authority
KR
South Korea
Prior art keywords
content
filter
computing device
user
application
Prior art date
Application number
KR1020197025040A
Other languages
English (en)
Other versions
KR102102676B1 (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
Application filed by 실터 테크놀로지스 리미티드 filed Critical 실터 테크놀로지스 리미티드
Publication of KR20190102308A publication Critical patent/KR20190102308A/ko
Application granted granted Critical
Publication of KR102102676B1 publication Critical patent/KR102102676B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Image Processing (AREA)
  • Telephone Function (AREA)

Abstract

컴퓨팅 디바이스에 의하여 그리고 애플리케이션에 의한 네트워크 요청에 응답하여, 콘텐츠 식별자와 연관된 오브젝트를 수신하는 것을 포함하고 컴퓨팅 디바이스의 운영 체제에 통합되는, 컴퓨팅 디바이스에서 데이터 콘텐츠를 필터링아웃하기 위한 방법, 시스템 및 제품. 이러한 방법, 시스템 및 제품은, 컴퓨팅 디바이스에 의하여 그리고 선택된 필터 기준들의 표시에 기반하여, 오브젝트에 대한 각각의 가중된 확률을 결정하는 것, 및 컴퓨팅 디바이스에 의하여, 가중된 확률에 기반하여 애플리케이션에 대한 그래픽 요소를 결정하는 것을 더 포함한다. 이러한 방법, 시스템 및 제품은, 컴퓨팅 디바이스에 의하여 그리고 컴퓨팅 디바이스의 그래픽 사용자 인터페이스에서, 그래픽 요소를 출력하는 것을 더 포함한다.

Description

데이터 콘텐츠 필터
관련 출원들
본 출원은 2017 년 1 월 26 일에 출원되고 그 전체 내용이 본 명세서에서 본 명세서에서 원용에 의해 통합되는 가출원 번호 62/451,050에 대한 우선권을 주장한다.
컴퓨팅 디바이스의 사용자는 많은 수의 상이한 애플리케이션 중 임의의 하나를 사용하고 많은 양의 데이터 콘텐츠에 노출될 수 있다. 애플리케이션 중 임의의 것을 실행할 때에, 사용자는 웹사이트, 포토, 광고, 또는 다른 타입의 정보로부터 정보를 수신할 수 있다. 이러한 정보 중 일부는 컴퓨팅 디바이스의 사용자 또는 이러한 디바이스를 사용하는 아이의 부모에게는 달갑지 않다. 컴퓨팅 디바이스 상의 일부 애플리케이션은, 사용자 또는 관리자가 애플리케이션으로의 액세스를 제한하거나 해당 애플리케이션에 대하여 디바이스 사용자에게 보여지는 특정 콘텐츠를 제한할 수 있게 할 수 있다. 일부 애플리케이션은 특정 사용자에 대해서 웹사이트를 필터링아웃할 수 있지만, 이러한 바람직하지 않은 정보는 다른 애플리케이션 또는 파일 타입을 통해서 사용자에게 액세스가능할 수도 있다. 컴퓨팅 디바이스 상의 콘텐츠를 제어하려면 콘텐츠 제어를 제공하는 애플리케이션에 들어가서 일부 타입의 콘텐츠를 제한하거나, 다른 콘텐츠 제어만을 위한 다른 앱에 들어가서 특정 웹사이트와 같은 특정 타입을 제한하는 것이 필요한데, 그러면 많은 달갑지 않은 콘텐츠가 사용자에게 액세스가능한 상태로 남게 된다. 일부 인터넷 제공자는 네트워크 계정에 대한 네트워크 액세스 요청에 기반하여 콘텐츠를 필터링한다. 많은 애플리케이션들은 해당 애플리케이션을 사용할 때에 사용자에게 표시되는 콘텐츠를 당신이 제한하도록 허용하지 않는다.
본 명세서에서 "바람직한" 또는 "바람직하게는"이라는 표현은 오직 예시적으로 제공된다는 것이 이해될 것이다.
일 양태에서, 컴퓨팅 디바이스의 사용자에게 이용가능한 콘텐츠 정보를 필터링하기 위한 시스템, 방법, 및 컴퓨터 프로그램 제품이 기술된다.
예를 들어, 컴퓨팅 디바이스 상의 데이터 콘텐츠를 필터링아웃하는 방법은 컴퓨팅 디바이스의 운영 체제와 통합될 수 있다. 이러한 방법은, 컴퓨팅 디바이스에 의하여, 필터 콘텐츠의 선택의 표시를 수신하는 것, 및 컴퓨팅 디바이스에 의하여 콘텐츠 식별자와 연관된 오브젝트를 수신하는 것을 포함할 수 있다. 이러한 방법은, 컴퓨팅 디바이스에 의하여 그리고 콘텐츠 식별자에 기반하여, 수신된 오브젝트에 대한 각각의 가중된 확률을 결정하는 것, 컴퓨팅 디바이스에 의하여 가중된 확률 및 선택에 기반하여 그래픽 요소를 결정하는 것, 및 그래픽 요소를 출력하는 것을 더 포함할 수 있다.
또 다른 예에서, 컴퓨팅 디바이스의 운영 체제에 의하여 콘텐츠를 필터링하는 시스템은, 복수 개의 필터 콘텐츠 식별자를 포함하는 제 1 데이터베이스, 필터 콘텐츠 식별자의 사용자 선택 그룹을 포함하는 제 2 데이터베이스, 및 로컬 컴퓨팅 디바이스에서, 콘텐츠 식별자와 연관된 오브젝트를 원격 서버로부터 수신하도록 구성되는 프로세서를 포함한다. 이러한 시스템은, 오브젝트와 연관된 수신된 콘텐츠 식별자를 제 1 데이터베이스에 저장된 데이터와 비교하고, 필터 식별자의 사용자-선택 그룹과 연관된 수신된 콘텐츠 식별자들을 비교하며, 필터 콘텐츠 식별자의 사용자-선택 그룹과 연관된 오브젝트들의 비교에 기반하여 그래픽 요소를 생성하도록, 프로세서에 커플링된 컴퓨팅 디바이스의 운영 체제 내에 구현된 비-일시적 컴퓨터 판독가능 매체를 더 포함할 수 있다.
다른 예에서, 로컬 컴퓨팅 디바이스에 의하여 인터넷 컴퓨터 네트워크로부터 수신된 콘텐츠를 필터링하기 위한 콘텐츠 필터링 시스템에서, 상기 필터링 시스템은 적어도 하나의 필터링 스킴을 구현하는 로컬 컴퓨팅 디바이스의 운영 체제를 포함할 수 있다. 논리적 필터링 요소의 복수 개의 세트; 및 상기 로컬 컴퓨팅 디바이스 및 상기 인터넷 컴퓨터 네트워크에 커플링된 원격 ISP 서버도 포함되는데, 로컬 컴퓨터의 상기 운영 체제는 상기 필터링 요소 중 각각의 하나를 적어도 하나의 필터링 스킴과 연관시키고, 상기 로컬 컴퓨팅 디바이스는 논리적 필터링 요소와 연관된 오브젝트를 인터넷 컴퓨터 네트워크의 원격 서버로부터 수신하며, 상기 연관된 필터링 스킴을 실행하는 것은 로컬 컴퓨팅 디바이스의 운영 체제가 오브젝트를 수신할 때 논리적 필터링 요소의 상기 연관된 세트를 활용한다.
대안적인 바람직한 실시예에서, 비-일시적 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램 제품은 커플링된 컴퓨터가 원격 서버로부터의 복수 개의 콘텐츠를 필터링하게 하는 프로그램 명령을 더 포함한다.
"하나(a)" 및 "하나의(an)"의 관사는 본 명세서에서 어떤 물건의 문법적인 대상의 하나 또는 두 개 이상(즉, 적어도 하나)을 가리키기 위하여 사용된다. 일 예로서, "요소(an element)"는 하나의 요소 또는 두 개 이상의 요소를 의미한다. 본 명세서에서 사용될 때, 단수형을 사용하는 것은 구체적으로 그렇지 않다고 진술되지 않으면 복수형을 포함한다(그리고 그 반대의 경우도 마찬가지이다). 본 명세서 전체에서, 문맥상 그렇지 않다고 요구하지 않는 한, "포함", "포함하는" 및 "포함함이라는 단어는 진술된 단계 또는 요소 또는 단계 또는 요소의 그룹이 포함된다는 것을 암시하지만 임의의 다른 단계 또는 요소 또는 단계 또는 요소의 그룹을 배제하지 않는다. 따라서, "포함한다" 등의 표현은 나열된 요소가 요구되거나 필수적이지만, 다른 요소는 선택적이고 존재할 수도 존재하지 않을 수도 있다는 것을 나타낸다.
하나 이상의 예들의 세부사항들은 첨부 도면들 및 다음의 설명에서 언급된다. 다른 특징들 및/또는 이점들은 상세한 설명 및 도면들로부터, 그리고 청구항들로부터 명확하게 될 것이다.
도 1은 본 발명의 하나 이상의 양태에 따른 필터링 콘텐츠 기법 중 하나 이상을 실행하도록 구성되는 컴퓨팅 디바이스의 일 예의 개념도이다.
도 2는 본 발명의 하나 이상의 양태들에 따른, 콘텐츠를 필터링하기 위한 컴퓨팅 디바이스의 일 예를 예시하는 블록도이다.
도 3a 및 도 3b는 본 발명의 하나 이상의 양태에 따른, 필터링된 콘텐츠를 포함하는 예시적인 그래픽 사용자 인터페이스를 도시하는 개념도들이다.
도 4는 본 발명의 하나 이상의 양태에 따른, 필터링 콘텐츠의 선택 및 디스플레이를 관리하기 위한 예시적인 동작을 예시하는 흐름도이다.
도 5는 본 발명의 하나 이상의 양태에 따른, 필터링 콘텐츠의 선택 및 디스플레이를 관리하기 위한 다른 예시적인 동작을 예시하는 흐름도이다.
도 6a 및 도 6b는 본 발명의 하나 이상의 양태에 따른, 콘텐츠를 필터링하기 위한 선택된 필터 기준들을 포함하는 예시적인 그래픽 사용자 인터페이스를 도시하는 개념도들이다.
도 7은 본 발명의 하나 이상의 양태에 따른, 콘텐츠 필터를 적용하는 애플리케이션을 선택하기 위한 예시적인 그래픽 사용자 인터페이스를 도시하는 개념도이다.
일반적으로, 본 발명은, 컴퓨팅 디바이스가 컴퓨팅 디바이스의 그래픽 사용자 인터페이스 상에 디스플레이된 모든 콘텐츠를 필터링할 수 있게 하여 컴퓨팅 디바이스의 사용자가 어떤 콘텐츠가 디바이스에서 시청될지 제어하게 할 수 있는 기법에 관한 것이다. 콘텐츠는 포토, 픽쳐, 비디오, 텍스트, 사운드, 그래픽, 가상 콘텐츠, 또는 컴퓨팅 디바이스를 통해 사용자에게 통신되는 임의의 다른 데이터를 포함할 수 있다. 사용자는 그들의 스마트 컴퓨팅 디바이스에서 애플리케이션에 액세스하는 동안 너무 많은 콘텐츠에 노출된다. 사용자가 이용할 수 있는 콘텐츠가 많이 있기 때문에, 사용자는 애플리케이션들 각각에 대하여 특정한 콘텐츠를 필터링하는 지루한 작업을 하게 된다. 콘텐츠의 양이 많고, 콘텐츠를 기술하는 방식이 많으며, 콘텐츠를 수신하는 애플리케이션이 많기 때문에, 사용자가 그들의 컴퓨팅 디바이스에서 모든 애플리케이션에 대하여 특정한 콘텐츠를 필터링하는 것은 어려워지고 시간이 많이 걸리게 된다. 추가하여, 사용자가 가능한 경우 필터를 적용하더라도, 원치 않는 콘텐츠는 페이스북, 트위터, 다양한 채팅방, 인터넷, 또는 다른 콘텐츠 소스와 같은 외견상으로 안전한 게이트웨이를 통해 네트워크를 거쳐 여전히 보여지게 될 수 있다. 본 발명의 필터는 말단-사용자가 노출되는 것이 바람직하지 않고 디바이스에 다운로드되는 것이 바람직하지 않은 매체에 노출되는 것을 방지하는 애플리케이션이다. 본 발명은, 애플리케이션에 대한 부모의 사용 및 디바이스 및 그러한 최종 사용자가 특정 콘텐츠에 노출되지 않도록 디바이스의 다른 사용자를 위해 필터 제어를 개인이 설정하는 작업 또는 교육적 환경을 망라할 수 있다.
필터는, 텍스트, 이미지, 비디오, 사운드, 가상 현실, 사운드, 그래픽, 및 다른 콘텐츠 형태와 같은 인입하는 네트워크 콘텐츠 요청을 모니터링함으로써 특정 콘텐츠를 제한할 수 있다. 일부 예들에서, 필터는 특정한 키워드 또는 패턴을 검출하여, 해당 콘텐츠에 표시를 하고, 이러한 콘텐츠가 디스플레이되는 것을 억제할 수 있다. 다른 예들에서, 필터는 필터링될 데이터 타입 또는 메타데이터를 검출할 수 있다. 필터는 모바일 플랫폼 코어 기능성에 통합된 모바일 디바이스에서, 실행중인 애플리케이션으로서 실행될 수 있고, 또는 그렇지 않으면 필터는 코어 네트워크 기능성으로의 액세스를 가질 수 있다. 일부 예들에서, 애플리케이션은 애플리케이션 특정 통신을 인터셉트하기 위한 권한 및 운영 체제로의 액세스를 가질 수 있다. 따라서, 필터는 하나 이상의 애플리케이션 특정 통신을 인터셉트할 수 있고, 컴퓨팅 디바이스 상의 임의의 애플리케이션과의 통신을 인터셉트할 수 있다. 그러므로, 본 발명의 필터는 코어 네트워크 기능성의 부분일 수 있고, 또는 필터는 코어 네트워크 기능성으로의 액세스를 가질 수 있다. 애플리케이션은 필터 애플리케이션을 실행하기 위하여 승인을 허가하거나 필터링하도록 동의하는 것을 할 수 있다. 허락이 없으면, 애플리케이션은 실행될 수 없거나 컴퓨팅 디바이스에 설치될 수 없을 수 있다.
사용자는 콘텐츠 필터를 구성할 수 있다. 예를 들어, 사용자는 필터를 장전하거나 필터를 실행하는 것을 중단하기 위하여 필터를 "턴온" 또는 "턴오프"하도록 선택할 수 있다. 필터 설정은 패스워드 보호와 같은 제어된 액세스 또는 터치 식별과 같은 생체측정에 의해서 액세스가능할 수 있다. 턴온되면, 필터 애플리케이션은 미리 결정된 주제, 또는 필터 기준들의 선택을 디스플레이할 수 있다. 주제의 목록은 단일 키워드 또는 표준 어구들의 목록일 수 있다. 일부 예들에서, 사용자는 텍스트 키워드, 어구, 등의 개인화된 목록을 구성할 수 있다. 이러한 선택 및 사용자 입력에 의해 추가된 임의의 개인 데이터는 필터링할 콘텐츠를 결정하는 것의 일부일 수 있다. 그러면, 필터는 각각의 필터를 텍스트, 이미지, 오디오, 비디오, 등의 조합에 적용할 수 있고, 현재 및 미래 미디어 포맷, 예를 들어 가상 현실을 포함할 수 있다. 컴퓨팅 디바이스는 흔히 사용자가 개별적으로 또는 동시에 실행할 수 있는 다수의 애플리케이션을 가진다. 일부 예들에서, 사용자는 필터를 적용할 애플리케이션을 애플리케이션의 목록으로부터 선택할 수 있다. 사용자는, 각각의 애플리케이션을 개별적으로 선택하면서 필터를 적용할 애플리케이션을 선택함으로써 필터를 개인화할 수 있다. 사용자는 필터를 일부 실례들의 경우 특정한 애플리케이션에는 적용하지 않기를 원할 수 있다. 예를 들어, 부모는 필터를 적용하기 위해서 뱅킹 애플리케이션을 선택하지 않을 수 있는데, 그 이유는 뱅킹 애플리케이션은 언제나 로그인을 필요로 하고 필터링될 필요가 있는 콘텐츠를 거의 수신하지 않기 때문이다. 일부 예들에서, 사용자는 필터가 컴퓨팅 디바이스 상의 모든 애플리케이션에 적용된다는 것을 표시하는 "전부"를 선택할 수 있다. 사용자가 필터를 구성한 이후에 설치된 애플리케이션은 필터를 적용하기 위한 애플리케이션의 목록에 포함되고, 및 "전부"가 선택된 예들에서는, 필터가 자동적으로 새로운 애플리케이션에 적용될 수 있다. 선택된 애플리케이션은 필터가 적절하게 동작하게 하도록 변경될 설정을 가질 수 있다. 이러한 실례들에서, 애플리케이션은 데이터가 인터셉트되고 필터링될 수 있도록 필터 애플리케이션으로의 액세스를 허용할 수 있다.
키워드는 컴퓨팅 디바이스가 필터 콘텐츠를 결정하기 위하여 사용하는 데이터의 하나의 예일 수 있다. 키워드 목록은 임의적일 수 있고, 또한, 예를 들어 폭력, 또는 전쟁과 같은 일반화된 주제를 필터링아웃하기 위한, 템플릿으로부터의 필터의 기존 부분의 미리 결정된 목록을 포함할 수 있다. 본 발명의 기법에 따르면, 컴퓨팅 디바이스는 사용자가 컴퓨팅 디바이스 상의 임의의 또는 모든 애플리케이션으로부터 선택하는 콘텐츠를 자동적으로 필터링할 수 있다. 그러면, 컴퓨팅 디바이스는 선택된 콘텐츠를 필터링하여, 해당 콘텐츠가 그래픽 사용자 인터페이스 디스플레이의 일부가 되지 않도록 할 수 있다. 일 예에서, 사용자는 사용자가 필터링할 가능성이 있을 토픽과 연관된 워드의 그룹을 선택할 수 있다. 워드의 그룹은 토픽, 주제 또는 테마와 연관된다. 예를 들어, 부모는 그들의 어린 자녀가 부모의 지도를 요구하는 토픽 또는 "성인" 콘텐츠를 아이패드를 사용할 때 보지 않기를 원할 수 있고, 컴퓨팅 디바이스는 사용자에게 일 예로서, "전쟁, 폭력, 섹스, 마약"을 포함할 수 있거나 다른 워드를 포함할 수 있는 목록이 있는 설정 또는 제어 스크린 중 하나를 제공할 수 있다. 사용자는 이러한 복수 개의 주제를 포함하는 주제의 이러한 목록으로부터 선택할 수 있고 용어 중 하나 이상을 선택할 수 있다. 다른 예들에서, 필터는, 각각의 개별 그룹에 대하여 하나의 토픽 또는 테마와 연관된 여러 개의 워드를 포함할 수 있는 그룹의 선택을 가질 수 있다. 워드 그룹은 어떤 특정 그룹을 필터링할 수 있는지 및 특정 토픽을 필터링하는 범위를 사용자가 이해하게 할 수 있다. 예를 들어, 하나의 그룹은 "전쟁, 총기, 폭력, 총격, 전투, 유혈 사태, 격투, 전투, 공습, 부상자, 폭격"의 워드 및 가능하게는 "전쟁 및 충돌"과 연관된 다른 워드를 포함할 수 있다. 일부 예들에서, 사용자는 컴퓨팅 디바이스의 현존하는 감응 디스플레이에서 또는 컴퓨팅 디바이스의 음성 진술에 의하여, 필터링하고자 하는 토픽과 연관된 워드를 입력할 수 있는데, 예컨대 앞서 제공된 예에서는, 사용자는 "테러리즘"을 타이핑하여 "전쟁 및 충돌"의 토픽을 확장시킬 수 있다. 사용자가 콘텐츠 필터링에서 사용될 키워드 중 적어도 일부를 결정할 수 있는 예에서, 사용자가 이러한 워드를 입력하게 하는 사용자 인터페이스, 예를 들어 컴퓨팅 디바이스의 그래픽 사용자 인터페이스에 디스플레이된 키보드가 존재할 수 있고, 또는 컴퓨팅 디바이스는 마이크로폰 및 사운드 스피커와 같은 지원하는 하드웨어와 함께 청취 기능을 가질 수도 있다. 일부 예들에서, 사용자에 의해 입력된 워드는 로컬 컴퓨팅 디바이스(예를 들어, 필터 애플리케이션 내에) 또는 원격 서버 중 하나에 저장될 수 있고, 카테고리의 그룹은 사용자의 선호사항 및 업데이트 필터에 대하여 머신 학습 기법으로서 업데이트될 수 있다.
컴퓨팅 디바이스는 사용자의 입력을 사용자가 입력한 워드와 연관된 워드로 확장시킬 수 있다. 본 발명의 다른 양태에서, 필터는 워드들의 그룹과의 연관성, 해당 그룹과 연관된 토픽, 또는 사용자에 의해 선택된 그룹의 워드들 각각과의 연관성을 자동적으로 결정할 수 있고, 또한 그러한 연관성도 필터링할 수 있다. 워드 연관 기법은 필터를 확장하여 선택된 그룹 내에 아직 존재하지 않지만, 주제와 관련된 워드를 결정하고, 원치 않는 콘텐츠가 디스플레이되도록 할 것이다. 워드 그룹을 워드 연관성 및 워드 결정으로 확장시키면 콘텐츠 필터링의 범위가 넓어질 수 있고, 필터링된 콘텐츠가 디스플레이되는 것을 막는 것을 도울 수 있다. 일부 예들에서, 컴퓨팅 디바이스는 사용자에 의해 제공되는 입력 워드를 변경함으로써 동적 필터링을 사용하고, 사용자 입력이 없이 특정한 카테고리에 대한 상이한 워드를 자동적으로 결정할 수 있다. 예를 들어, 필터는 대안적 워드 및 추가적 키워드로서 사용될 수 있는, 특정한 카테고리와 연관된 워드를 저장했을 수 있다. 다른 예들에서, 컴퓨팅 디바이스는 파싱 기법을 사용하여 동적으로 범주화된 콘텐츠 필터링을 위한 다른 키워드를 결정할 수 있다. 또한 검색 네트워크, 애플리케이션, 데이터 스프레드시트, 및 사용자에 의해 입력된 특정한 키워드에 추가하여 또는 이것을 대체하면서 사용되는 키워드에 대한 다른 데이터 소스와 같은 다른 기법이 사용될 수도 있다. 또 다른 예에서, 동적 범주화된 콘텐츠 필터링은 원격 서버에서 이루어질 수 있고 필터는 컴퓨팅 디바이스의 필터 내에 포함시킬 대안적인 키워드 및 추가적 키워드를 수신할 수 있다. 예를 들어, 클라우드 서비스 제공자는 실시간으로 또는 소프트웨어 업데이트로서 동적 데이터를 컴퓨팅 디바이스에 제공할 수 있다. 원격 서버는 어떤 카테고리에 대한 키워드로서 더 적합한 다른 워드를 찾고 결정하기 위한 기법을 사용할 수 있고, 사용자의 컴퓨팅 디바이스에 사용자가 알거나 사용자에게 통지하지 않고 컴퓨팅 디바이스의 필터 키워드를 변경하게 하는 명령을 전송할 수 있고, 따라서, 필터 변경을 자동화한다.
사용자가 필터의 구성을 완료하면, 디바이스는 컴퓨팅 디바이스에서 실행되는 임의의 애플리케이션을 인터럽트하지 않고 백그라운드에서 조용히 실행할 수 있고, 컴퓨팅 디바이스에서 연속적으로 실행하며, 일부 예들에서는, 필터는 운영 체제와 통합되어 연속적으로 실행될 수 있다. 콘텐츠 필터 애플리케이션은 모든 네트워크 통신을 인터셉트할 수 있다. 일 예에서, 필터는 가능한 경우, 그래픽 콘텐츠의 출력이 요청되면 애플리케이션 특이적 요청 응답을 식별할 수 있고, 컴퓨팅 디바이스는 호환가능한 콘텐츠를 결정하고 및 플래깅된 콘텐츠를 해당 애플리케이션에 대해 호환가능한, 플래깅된 콘텐츠가 아니라 표준 메시지를 포함하는 정보가 있는 콘텐츠로 대체할 수 있다. 요청 응답은 데이터를 컴퓨팅 디바이스에 저장하는 것 또는 컴퓨팅 디바이스 상에서 실행되는 애플리케이션의 기능을 변경하는 것 또는 컴퓨팅 디바이스를 설정하는 것을 더 포함할 수 있다. 필터는 모든 타입의 요청 응답을 식별하고, 특정 애플리케이션과 연관된 데이터 및 계정에 액세스하기 위한 허가가 승인되도록 요청할 수 있다.
또는, 다른 예들에서, 응답은 억제되고, 따라서 사용자는 콘텐츠를 보지 않게 되거나, 또는 필터링된 콘텐츠가 디스플레이되었을 그래픽 구역에 빈 콘텐츠를 보게 된다. 예를 들어, 폭력의 그래픽 픽쳐는 필터링되고, 필터링되지 않은 픽쳐가 나타나는 구역은 이제 비어 있거나 음영처리 된다. 일부 예들에서, 필터링되는 것은 전체 픽쳐 또는 포토일 수 있고, 다른 예들에서는, 컴퓨팅 디바이스가 오브젝트 인식 기법을 사용하여 컴퓨팅 디바이스가 필터링된 콘텐츠라고 결정하는 포토 내의 오브젝트를 식별할 수 있으며, 이러한 예에서, 컴퓨팅 디바이스는 해당 오브젝트 또는 오브젝트의 부분만을 필터링할 수 있고 픽쳐 또는 포토의 나머지는 변경하지 않는다. 부분적인 오브젝트 필터링을 사용하면, 컴퓨팅 디바이스는 원치 않는 콘텐츠를 여전히 필터링하면서 사용자가 변경되지 않은 이미지의 부분을 볼 수 있게 한다.
본 발명의 다른 양태들에서, 사용자는 사용자가 보기를 원할 수 있는 필터링된 콘텐츠의 레벨을 결정하는, 필터링의 상이한 모드를 선택할 수 있다. 예를 들어, 제 1 모드는 사용자가 필터링된 콘텐츠를 시청할 수 있는 표준 모드일 수 있다. 예를 들어, 필터링된 콘텐츠는, 사용자가 그래픽 버튼을 탭하여, 현재의 디스플레이를 확장시켜서 해당 콘텐츠를 포함하게 하거나, 콘텐츠를 새로운 윈도우 또는 그래픽에서 표시하면서 그래픽 사용자 인터페이스의 디스플레이에 필터링된 콘텐츠를 표시하게 하는 그래픽 디스플레이로 대체된다. 또한, 사용자는, 콘텐츠가 필터링된 콘텐츠의 부분으로 남을지 여부 또는 콘텐츠가 필터링되지 않고, 필터링된 콘텐츠를 포함하지 않는 그래픽 사용자 인터페이스 디스플레이의 부분이 되어야 하는지를 입력하거나 표시할 수 있다. 필터링된 콘텐츠와 연관된 사용자의 입력은 필터링된 콘텐츠의 그룹을 업데이트하여, 컴퓨팅 디바이스가 어떤 콘텐츠 또는 해당 콘텐츠와의 연관성을 컴퓨팅 디바이스가 필터링하여야 하는지, 또는 해당 필터 콘텐츠와 연관시키면 안 되는지를 학습하게 할 수 있다. 제 2 모드는 필터링된 콘텐츠가 사용자(즉, 자식 또는 피용자)에 의해 시청될 수 없는 부모의 제어(parental control)이거나 회사 작업 설정일 수 있다. 부모는 그들의 계정(예를 들어, 필터 애플리케이션 계정 또는 디바이스 설정에 액세스하기 위한 관리자 계정)에 액세스하여, 예를 들어 필터링된 콘텐츠를 시청하거나 필터 콘텐츠의 선호사항을 변경할 수 있다. 제 2 모드는 자식과 같은 사용자가 필터링된 콘텐츠에 노출되는 것을 제한하는 것을 보조한다.
외부 엔티티, 또는 호스팅된 서버 등과의 상호작용이 있을 수 있다. 이러한 기능성은 실행중인 애플리케이션 로컬 컴퓨팅 디바이스 내에 있을 수 있다. 콘텐츠 필터가 컴퓨팅 디바이스에 이미 설치되어 있지 않으면, 사용자는 애플리케이션을 다운로드 및 설치할 수 있고, 이미 설치된 애플리케이션에 대한 업그레이드를 얻고, 업데이트된 구성 등을 수신할 수 있다. 일부 예들에서, 실행중인 기능성은 주로 로컬 컴퓨팅 디바이스에 설치되어, 컴퓨팅 디바이스가 처리 속도를 유지하게 할 수 있다. 다른 예들에서, 필터는 외부 서버에 실행되도록 위치될 수 있고, 애플리케이션의 기능이 원격으로 수행되거나, 필터는 원격 서버에 액세스하여 필터 그룹 선택, 워드 연관성 및 사용자 입력 워드에 대한 대체예, 사용자 입력, 업데이트 등과 같은 데이터를 획득할 수 있다. 원격 서버는 컴퓨팅 디바이스에서 국지적으로 실행중인 필터에 대한 백업으로서 기능하여, 동작하는 것을 보조하거나 기능성을 이관받을 수도 있다.
필터는, 비한정적인 예로서 모바일 스마트 폰, 태블릿, 텔레비전, 시계, 스마트 유리, 또는 개인용 랩탑 또는 데스크탑인 컴퓨팅 디바이스에 백그라운드 프로세스로서 실행된다. 애플리케이션은 앱 스토어(App Store), 또는 웹사이트와 같은 디바이스 플랫폼으로부터 다운로드가능한 별개의 애플리케이션으로서 설치되거나, 그렇지 않으면 운영 체제에 임베딩될 수 있다. 애플리케이션이 운영 체제의 일부, 또는 코어 기능성의 일부가 되면, 애플리케이션은 연속적으로 실행될 수 있게 될 수 있다. 양자 모두의 경우, 필터 애플리케이션은 업데이트 및 유지보수(maintenance)를 별개의 다운로드가능한 파일에서 수신할 수 있다.
필터 애플리케이션이 백그라운드에서 또는 운영 체제의 일부로서 실행될 수 있기 때문에, 필터는 컴퓨팅 디바이스에 의해 발행되고 일 예에서 HTTP 및 HTTPS와 같은 표준 프로토콜을 통해 인입되는 네트워크 트래픽을 인터셉트할 수 있다. 컴퓨팅 디바이스는 각각의 인터셉트된 응답의 데이터를 컴퓨팅 디바이스 내에 있거나 외부 서버에 위치된 매칭 플랫폼으로 전송하는데, 여기에서 매칭 플랫폼은 수신된 네트워크 데이터를 파싱 하고 필터의 구성된 기준들에 대해서 패턴 매칭한다. 매칭 플랫폼은, 인터넷에서 필터 애플리케이션에 의해 액세스가능한 외부 리소스로서의 역할을 하는, 필터 애플리케이션에 통합되거나 필터와 분리된 프로그램과 같은 컴퓨팅 리소스이다. 전술된 HTTP 예에 추가하여, 매칭 기법은 텍스트, 이미지, 오디오, 비디오, 및 포함되지만 아직 생성되지 않은 미디어 포맷에도 적용될 수 있다. 필터는 구성된 설정을 텍스트 기반 매칭을 시작하기 위한 초기 기반으로서 사용한다.
텍스트 기반 매칭은 표준 텍스트 파싱 규칙을 포함할 수 있다. 이미지, 비디오, 및 오디오 매칭을 하려면, 머신 학습 알고리즘, 오브젝트 인식, 또는 매칭 프로세스에서의 인간 상호작용과 같은 더 복잡한 기법이 필수적일 것이다. 매칭 기술은 일부 예들에서 비한정적으로 기본적인 텍스트 파싱, 머신 학습, 및 인간 상호작용을 포함할 수 있다. 또한, 매칭 기법은 외부 네트워킹된 리소스, 및 국지적으로 실행되는 매칭에 의하여 수행될 수 있다. 콘텐츠를 매칭하는 것에 추가하여, 필터 애플리케이션은 메타데이터, 소스 데이터, 위치 데이터, 또는 오브젝트와 연관되고 해당 콘텐츠 또는 오브젝트와 함께 수신되는 다른 보조 데이터를 더 수신할 수 있다. 필터는 본 명세서에서 설명된 기법들을 사용하여, 보조 데이터, 예를 들어 메타데이터, 파일 크기 등에 기반하여 해당 오브젝트의 콘텐츠를 필터링하는 것을 결정할 수 있다.
일부 예들에서, 적용가능한 이산 블록은 유사한 기대된 포맷을 가지지만 매칭된 키워드를 포함했던 콘텐츠를 가지지 않도록 재구성될 수 있다. 재구성된 데이터는, 콘텍스트 의존적인 텍스트, 비디오 등을 포함했던 범주화된 콘텐츠를 포함한다. 일반적으로, 필터는 전체 항목, 광고, 또는 포스트를 제한할 수 있고 그 안의 특정한 키워드만을 제한하는 것은 아니다. 어떤 것도 특정한 미디어 플랫폼에 의해 결정된, 이산 및 전체적으로 포함된 범주화된 유닛을 나타낸다. 사용자가 원한다면 실제 필터링된 콘텐츠를 그 원본으로 시청하는 옵션이 있을 수 있다. 이것은, 사용자가 원래의 콘텐츠를 시청하게 하는 사용자 선택가능한 버튼에 의해 달성될 수 있다. 그러면 자기-부과된 콘텐츠 제한을 넘어, 예를 들어 작업 공간 내의 조직 내에서 시청가능한 콘텐츠를 제한하거나, 부모가 어린이에 의해 액세스가능한 콘텐츠를 제한하게 하는 여러 사용 시나리오가 존재할 수 있다. 이러한 경우, 원래의 콘텐츠를 보기 위한 옵션은 억제될 수 있다. 설치된 애플리케이션은 필터 애플리케이션에 의해 인터셉트된 그들의 콘텐츠를 허용하도록 동의해야 한다. 순응하지 않거나 동의하지 않으면 애플리케이션이 설치되거나 실행될 수 없다.
또한, 필터 애플리케이션은 현재의 보안 고려사항을 고려한다. 현재의 모바일 인터넷 기술은, 애플리케이션 자체의 네트워크 요청 및 응답 밖의 모든 네트워크 트래픽을 인터셉트할 수 있는 독립형 앱을 개발하는 것을 어렵게 할 수 있다. 메인 모바일 제공자(예를 들어, 애플, 구글 안드로이드, 및 윈도우 모바일)의 운영 체제는 디폴트 실행 환경에 보안 제한을 걸어서, 보안 이유 때문에 이러한 독립형 인터셉터 애플리케이션을 실행하는 것을 방지한다. 이것이 가능하다면, "중간자(Man in the Middle)" 보안 공격에 보안 구멍이 생기게 할 것인데, 이러한 경우 앱은 사용자 이외의 엔티티(해커, 범죄자 등)에 의해 사용될 수 있는 네트워크 트래픽을 사용자가 의도하지도 원하지도 않는 방식으로 인터셉트하는(정보를 훔치는 것과 디바이스를 바람직하지 않은 방식으로 변경하는 것을 포함함) 디바이스에 설치될 수 있다. 이것을 회피하는 방식들이 존재하는데, 이것은 실행 환경을 제한이 적은 것으로 변경시키는, 디폴트 실행 환경을 우회하는 것, 예컨대 디바이스를 "탈옥(Jailbreaking)" 또는 "루팅(Rooting)"하는 것을 수반한다. 그러나, 이것은 거의 모든 사용자에게는 직관적이지 않고, 복잡한 프로세스이며, 제조사에 의해 추천되지도 지원되지도 않고, 통상적으로 디바이스에 대한 보증을 무효화시킨다.
컴퓨팅 디바이스 플랫폼은 이러한 기능성이 설치되도록 디바이스 운영 체제에 안전하게 통합될 수 있다. 앞서 요약된 제한들은 필터 애플리케이션에 대한 예외를 포함해야 하고, 해당 디바이스의 제조사 또는 모바일 플랫폼 벤더가 이것을 지원하는 것을 수반할 수 있다. 일부 실례들에서, 애플리케이션은 필터 애플리케이션으로의 접근을 승인하여, 필터 애플리케이션이 필터링하기 위하여 콘텐츠를 수신할 수 있고 의도된 수신자 애플리케이션이 디스플레이하기 위한 필터링된 콘텐츠를 수신할 수 있게 할 수 있다.
본 명세서에는 필터링될 콘텐츠를 컴퓨팅 디바이스의 그래픽 사용자 인터페이스에서 필터링하기 위한 시스템, 방법, 및 컴퓨터 프로그램이 설명된다. 필터는 각각의 새로운 디바이스에 미리 로드될 수 있고, 콘텐츠를 그래픽 사용자 인터페이스에서 디스플레이하는 모든 프로그램에 적용될 수 있다. 일부 예들에서, 필터는 컴퓨팅 디바이스의 운영 체제의 일부일 수 있다. 필터를 운영 체제의 일부로서 통합시키면, 광고-차단 소프트웨어 등을 우회하는 가장 곤란한 콘텐츠 소스로부터의 콘텐츠가 성공적으로 필터링된다. 빌트인 보호기는 사용자가 어떻게 모바일 디바이스를 경험하는지를 개선하고, 소비자를 원치 않는 콘텐츠에 노출되는게 아니라 그로부터 멀어지게 한다. 다른 예들에서, 필터는 컴퓨팅 디바이스에 추후에 설치될 수 있다.
본 발명 전체에서, 여러 예시적인 실시예가 방법 또는 시스템 중 하나에 기반하여 설명된다. 그러나, 당업자는 본 발명을 방법, 시스템, 및 컴퓨터 프로그램 제품 중 적어도 하나로 구현할 수 있을 것이다.
본 발명의 기법들은 하나 이상의 장점을 제공할 수 있다. 예를 들어, 그래픽 사용자 인터페이스에 디스플레이된 모든 애플리케이션 및 콘텐츠에 대해서 특정 콘텐츠를 자동적으로 식별하고 필터링함으로써, 본 발명의 기법들은 각각의 애플리케이션에 대한 콘텐츠 필터를 생성하기 위해 요구되는 시간량을 감소시킬 수 있고, 콘텐츠가 그래픽 사용자 인터페이스의 디스플레이까지 도달하는 것을 방지함으로써 필터링을 개선할 수 있다. 본 발명의 기법들은, 예를 들어 필터링 콘텍스트 및 이전의 필터 사용자 선택을 분석함으로써, 시간이 지남에 따라서 사용자 선호사항을 "학습"하여 콘텐츠 필터링을 개선할 수 있다. 하나의 특정 타입의 데이터 또는 컴퓨팅 디바이스에서 실행되는 하나의 특정한 애플리케이션으로 제한하지 않고 모든 콘텐츠를 필터링함으로써, 그리고 필터링되어야 하는 콘텐츠를 지능적으로 선택하고 사용자가 상이한 모드에서 필터링 업데이트를 더욱 입력할 수 있게 함으로써, 본 발명의 기법들은 더 양호한 사용자 경험을 제공할 수 있고 사용자가 그래픽 사용자 인터페이스 디스플레이에서 콘텐츠를 필터링하기 위해 요구되는 노력을 줄이고 원하는 내용이 필터링되는 위험을 감소시킬 수 있다.
도 1은 본 발명의 하나 이상의 양태에 따른 필터링 콘텐츠 기법 중 하나 이상을 실행하도록 구성되는 컴퓨팅 디바이스의 일 예의 개념도이다. 도 1에 도시된 바와 같이, 컴퓨팅 디바이스(10)는 사용자(2)와 연관될 수 있고, 애플리케이션(11A-N)(총괄하여, "애플리케이션(11)"), 필터 모듈(16), 및 사용자 인터페이스(UI) 디바이스(4)를 포함한다. 본 발명에서, 상이한 참조 번호에 대해서 "A-N"을 사용하는 것은 도시된 컴포넌트에 대해서 반드시 동일한 개수의 아이템이 있어야 한다는 것을 암시하는 것으로 이해되어서는 안 된다. 그 대신에, 문자 "A-N"은 오직 예시의 목적을 위하여 사용된다.
컴퓨팅 디바이스(10)의 예에는 비한정적으로, 모바일 폰(스마트 폰 포함)과 같은 휴대용 또는 모바일 디바이스, 랩탑 컴퓨터, 데스크탑 컴퓨터, 태블릿 컴퓨터, 스마트 텔레비전 플랫폼, 시계, 스마트 글라스, 개인 휴대정보 단말기(PDA), 서버, 메인프레임 등이 있을 수 있다. 도 1의 예에 도시된 바와 같이, 컴퓨팅 디바이스(10)는 태블릿 컴퓨터 또는 스마트 폰일 수 있다. 일부 예들에서, 컴퓨팅 디바이스(10)는 UI 디바이스(4), 사용자 인터페이스(UI) 모듈(3), 필터 모듈(16), 및 애플리케이션(11)을 포함할 수 있다. 본 발명의 기법을 구현하는 컴퓨팅 디바이스(10)의 다른 예는 도 1에는 도시되지 않는 추가적인 컴포넌트를 포함할 수 있다.
컴퓨팅 디바이스(10)의 UI 디바이스(4)는 컴퓨팅 디바이스(10)에 대한 입력 디바이스로서 그리고 출력 디바이스로서 기능할 수 있다. 예를 들어, UI 디바이스(4)는 저항성 터치스크린, 표면 음향파 터치스크린, 용량성 터치스크린, 투사식(projective) 커패시턴스 터치스크린, 압력 감응 스크린, 음향 펄스 인식 터치스크린, 또는 다른 존재-감응식(presence-sensitive) 스크린 기술을 사용하는 입력 디바이스로서 기능할 수 있다. UI 디바이스(4)는 액정 디스플레이(LCD), 도트 매트릭스 디스플레이, 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, e-잉크, 또는 가시 정보를 컴퓨팅 디바이스(10)의 사용자에게 출력할 수 있는 유사한 흑백 또는 컬러 디스플레이 중 임의의 하나 이상을 사용하는 출력 디바이스로서 기능할 수 있다.
컴퓨팅 디바이스(10)의 UI 디바이스(4)는 컴퓨팅 디바이스(10)의 사용자로부터 촉각적 사용자 입력을 수신할 수 있는 존재-감응식 스크린을 포함할 수 있다. UI 디바이스(4)는 컴퓨팅 디바이스(10)의 사용자(예를 들어, 손가락 또는 스타일러스 펜으로 UI 디바이스(4)의 하나 이상의 위치를 터치하거나 가리키는 사용자)로부터 하나 이상의 탭 및/또는 제스쳐를 검출함으로써 촉각적 사용자 입력을 수신할 수 있다. UI 디바이스(4)의 존재-감응식 스크린은 사용자에게 출력을 제공할 수 있다. UI 디바이스(4)는 사용자 인터페이스(예를 들어, 그래픽 사용자 인터페이스(GUI)(15))로서 출력을 제공할 수 있고, 이것은 컴퓨팅 디바이스(10)에 의해 제공되는 기능성에 관련될 수 있다. 예를 들어, UI 디바이스(4)는 전자 메시지 애플리케이션, 맵 애플리케이션 등과 같은, 컴퓨팅 디바이스(10)에서 실행되는 다양한 기능 및 애플리케이션을 제공할 수 있다.
컴퓨팅 디바이스(10)는 사용자 인터페이스("UI") 모듈(3) 및 필터 모듈(16)을 포함할 수 있다. 모듈(3 및 16)은 본 명세서에서 설명되는 동작을, 컴퓨팅 디바이스(10)에 상주하고 컴퓨팅 디바이스에서 실행되는 소프트웨어, 하드웨어, 또는 하드웨어 및 소프트웨어 양자 모두의 혼합을 사용하여 수행할 수 있다. 컴퓨팅 디바이스(10)는 모듈(3 및 16)을 다수의 프로세서로 실행할 수 있다. 컴퓨팅 디바이스(10)는 모듈(3 및 16)을 언더라잉 하드웨어에서 실행되는 가상 머신으로서 실행할 수 있다.
UI 모듈(3)은 사용자 입력 또는 네트워크 데이터와 같은 데이터를 필터 모듈(16)과 같이 컴퓨팅 디바이스(10)와 연관된 컴포넌트로부터 수신하고, 이러한 입력을 필터 모듈(16)과 같이 컴퓨팅 디바이스(10)와 연관된 다른 컴포넌트에 전송하도록 하는 하나 이상의 기능을 수행할 수 있다. 데이터를 사용하면, UI 모듈(3)은 UI 디바이스(4)와 같이 컴퓨팅 디바이스(10)와 연관된 다른 컴포넌트가 이러한 데이터에 기반하여 출력을 제공하게 할 수 있다. 예를 들어, UI 모듈(3)은, UI 디바이스(4)가 필터링된 콘텐츠를 그래픽 사용자 인터페이스 디스플레이에서 GUI(15)에 디스플레이하게 하는 데이터를 필터 모듈(16)로부터 수신할 수 있다. UI 모듈(3)은 다양한 방식으로 구현될 수 있다. 예를 들어, UI 모듈(6)은 다운로드가능하거나 미리 설치된 애플리케이션 또는 "앱"일 수 있다. 다른 예에서, UI 모듈(6)은 컴퓨팅 디바이스(10)의 하드웨어 유닛의 일부로서 구현될 수 있다. 다른 예에서, UI 모듈(6)은 컴퓨팅 디바이스(10)의 운영 체제(예를 들어, 운영 체제(8))의 일부로서 구현될 수 있다.
필터 모듈(16)은 컴퓨팅 디바이스(10)에서 임의의 다양한 동작을 수행하기 위한 기능성을 포함할 수 있다. 애플리케이션(11)은 텍스트 애플리케이션, 포토 뷰어, 소셜 네트워킹 서비스, 비디오 애플리케이션, 이메일 애플리케이션, 워드 프로세서, 스프레드시트, 웹 브라우저, 멀티미디어 플레이어, 서버 애플리케이션, 이미지 캡쳐 애플리케이션, 오디오 애플리케이션 등을 포함할 수 있다. 도 1의 예에 대해서 설명된 바와 같이, 필터 모듈(16)은 사용자(2)가 오브젝트를 공유할 수 있게 하는 필터 애플리케이션의 기능성을 포함할 수 있다. 필터 모듈(16)은 컴퓨팅 디바이스(10)에서 다양한 방식으로 구현될 수 있다. 예를 들어, 필터 모듈(16)은 다운로드가능하거나 미리 설치된 애플리케이션 또는 "앱"일 수 있다. 다른 예에서, 필터 모듈(16)은 컴퓨팅 디바이스(10)의 하드웨어 유닛의 일부로서 구현될 수 있다. 다른 예에서, 필터 모듈(16)은 컴퓨팅 디바이스(10)의 운영 체제(예를 들어, 운영 체제(8))의 일부로서 구현될 수 있다.
본 명세서에서 사용될 때 "오브젝트"라는 용어는, 비한정적으로 데이터 파일, 포토, 비디오 레코드, 오디오 레코드, 문서, 그래픽, 텍스트, 웹사이트, 및 이들의 조합을 포함하는 그 평이하고 일반적인 의미를 망라하는 광의의 용어이다. 파일은 컴퓨팅 디바이스가 캡쳐, 수신 또는 저장할 수 있는 임의의 데이터로 적응될 수 있다. 본 발명이 본 발명의 다양한 기법들을 예시하기 위하여 미디어 오브젝트로서 이미지의 비한정적인 예를 사용하지만, 본 발명의 기법들은 다른 타입의 오브젝트 에도 적용될 수 있고 이미지로 한정되지 않는다.
도 1에 도시된 바와 같이, GUI(15)는 사용자(2)가 컴퓨팅 디바이스(10)와 상호작용하게 하는 사용자 인터페이스를 포함할 수 있다. GUI(15)는 텍스트, 이미지, 비디오, 오디오, 또는 임의의 다른 시각적으로 디스플레이될 수 있는 그래픽 오브젝트 또는 오디오 오브젝트와 같은 그래픽 콘텐츠를 포함할 수 있다. 사용자(2)는 GUI(15)와 상호작용하여 필터링될 콘텐츠를 선택하며, 그리고 일부 예들에서는 필터링가능한 콘텐츠의 상이한 카테고리를 컴퓨팅 디바이스(10)에서 보여줄 수 있다. 일부 예들에서, 컴퓨팅 디바이스 상의 데이터 콘텐츠를 필터링아웃하는 방법은 컴퓨팅 디바이스의 운영 체제에 직접적으로 통합될 수 있다. 다른 예들에서, 콘텐츠 필터 애플리케이션은 운영 체제 근처에서 실행되지만, 사용자가 추후에 다운로드할 수 있는 별개의 애플리케이션이다. 설치된 애플리케이션(11)은 그들의 콘텐츠가 필터에 의해 인터셉트되도록 허용하도록 동의하여야 하고, 또는 불-순응/부-동의하면 애플리케이션이 컴퓨팅 디바이스(10)에 설치되거나 실행되는 것이 방지될 것이고, 일부 예들에서는, 애플리케이션(또는 연관된 네트워크)은 애플리케이션 데이터에 액세스하기 위한 허락을 허용해야 한다.
일 예에서, 사용자(2)는 GUI(15) 내에 디스플레이된 콘트롤(예를 들어, 콘텐츠 필터링 스위치(22))에서의 사용자 입력에 의하여 컴퓨팅 디바이스(10)의 필터 애플리케이션을 이네이블할 수 있다. 콘텐츠 필터 스위치(22)에서 이네이블되면, 필터 애플리케이션은 컴퓨팅 디바이스(10)에서 실행되는 모든 애플리케이션(11) 또는 애플리케이션(11) 중 선택된 애플리케이션의 콘텐츠를 필터링하기 시작하고, 컴퓨팅 디바이스(10)의 GUI(15)에 디스플레이된 그래픽 콘텐츠를 필터링한다. 또한, 사용자는 GUI(15)에서 패스워드를 이네이블함으로써 콘텐츠 필터를 패스워드로 보호할 수 있다. 도 1의 예에서, 사용자(2)는 GUI(15) 내에 디스플레이된 콘트롤(예를 들어, 패스워드 보호 스위치(24))에서의 사용자 입력에 의하여, 컴퓨팅 디바이스(10)에서의 필터를 패스워드 보호하는 것을 이네이블할 수 있다. 패스워드 보호는 필터 제어 설정으로의 액세스를 제한하고, 및 일부 예들에서는 필터링된 콘텐츠를 보는 것으로의 액세스를 제한할 수 있다.
다른 예에서, 컴퓨팅 디바이스(10)는 콘텐츠 식별자와 연관된 이미지 및 텍스트와 같은 오브젝트를, 애플리케이션(11) 중 하나와 같이 컴퓨팅 디바이스에서 실행되는 애플리케이션에 의한 요청에 응답하여 수신할 수 있다. 이러한 요청은 각각의 애플리케이션의 네트워크로의 액세스를 위한 것일 수 있고, 또는 이러한 요청은 데이터에 대한 것일 수 있다. 컴퓨팅 디바이스(10)에서 실행되면, 필터 모듈(16)은 애플리케이션(11) 중 하나 이상이 네트워크로부터 정보를 수신한다고 결정할 수 있다. 네트워크는 애플리케이션(11) 중 하나 이상의 관련된 애플리케이션과 통신하는 서비스 또는 제공자일 수 있고, 컴퓨팅 디바이스(10)에서 실행되는 관련된 애플리케이션은 오브젝트를 포함하는 정보를 수신할 수 있다. 예를 들어, 소셜 미디어 서비스는 데이터를 원격 네트워크 서버로부터 컴퓨팅 디바이스(10)에서 실행되는 관련된 소셜 미디어 애플리케이션으로 전송할 수 있다. 일부 예들에서, 컴퓨팅 디바이스(10)는 애플리케이션(11) 중 대응하는 소셜 미디어 애플리케이션에 의해 전송된 요청에 응답하여 데이터를 수신한다. 다른 예에서, 이러한 정보는 네트워크 또는 애플리케이션 설정에 기반하여 자동으로 전송된다. 수신된 정보는 사용자(2)의 소셜 미디어 계정에서 소셜 미디어 뉴스 피드를 업데이트하기 위한 이미지 및 해당 이미지를 설명하는 일부 텍스트를 포함할 수 있다. 필터 모듈(16)은 애플리케이션(11) 중 소셜 미디어 애플리케이션이 이러한 데이터를 수신하기 전에 소셜 미디어 이미지(들) 및 텍스트를 인터셉트할 수 있다. 데이터를 소셜 미디어 애플리케이션 이전에 수신하면, 필터 모듈(16)이 수신된 데이터가 필터링을 위한 콘텐츠를 포함하는지를 결정할 수 있게 된다.
컴퓨팅 디바이스(10)에 의해 수신된 이미지(들) 및 텍스트는 오브젝트의 그래픽 디스플레이에 대한 데이터 또는 오브젝트와 연관된 데이터를 가질 수 있고, 이들 모두는 콘텐츠 식별자일 수 있다. 예를 들어, 이미지 또는 텍스트 파일 자체는 오브젝트일 수 있고, 일부 예들에서는 오브젝트가, 메타데이터 및 다른 콘텐츠 및 문맥 데이터와 같은 연관된 데이터(예를 들어, 이미지를 저장하기 위해 필요한 바이트 수, 이미지가 촬영된 시간 및 날짜, 파일명, 오브젝트 소스, 이미지가 촬영된 지리적 위치, 컴퓨팅 디바이스(10)의 현재의 위치, 이미지와 연관된 텍스트 또는 그래픽 태그, 이미지와 연관된 오브젝트 인식 데이터, 디스플레이 데이터 등)를 포함할 수 있다. 필터 모듈(16)은 데이터(예를 들어, 오브젝트 데이터 및 연관된 데이터)를 사용하여 사용자가 GUI(15)에서의 디스플레이에 대한 그래픽 요소 중에서 필터링할 가능성이 있는 콘텐츠를 식별할 수 있다. 오브젝트와 직접적으로 또는 간접적으로 연관된 모든 데이터는, 해당 오브젝트가 필터링되어야 하는지를 필터 애플리케이션이 결정하도록 돕는 콘텐츠 식별자이다.
일 예에서, 필터 모듈(16)은 수신된 오브젝트에 대한, 선택된 필터 기준들의 표시에 기반하는 각각의 가중된 확률을 결정할 수 있다. 일 예에서, 가중된 확률은 사용자(2)가 수신된 오브젝트를 그래픽 요소 디스플레이로부터 필터링할, 그리고 이러한 비한정적인 예에서는, 소셜 미디어 애플리케이션의 뉴스피드로부터 이미지를 필터링할 가능성인 우도에 대응할 수 있다. 일 예에서, 사용자(2)는 GUI(15)의 디스플레이로부터 특정한 콘텐츠를 필터링하도록 필터 모듈(16)의 설정을 구성하거나 그 설정을 업데이트한다. 예를 들어, 사용자(2)는 사용자(2)가 필터링하기를 원하는 콘텐츠와 연관된 워드를 선택할 수 있다. 이러한 워드들은 GUI(15)에서 목록에 나타날 수 있다(예를 들어 "전쟁"(230)으로 마크된 박스가 필터에 "전쟁"과 관련된 임의의 콘텐츠를 포함한다는 것을 표시하는 체크를 가지는 도 6을 참조함). 일 예에서, 애플리케이션(11)은 소셜 미디어 애플리케이션일 수 있고, GUI(15)(예를 들어, 도 3) 상에서 사용자(2)에게 보일 수 있는 뉴스 피드를 업데이트하기 위한 요청을 네트워크에 전송한다. 데이터 요청에 응답하여, 컴퓨팅 디바이스(10)는 콘텐츠 식별자를 포함하는 데이터를 수신할 수 있다. 일 예에서, 컴퓨팅 디바이스(10)의 필터 모듈(16)은, 인입하는 네트워크 트래픽을 인터셉트하기 위하여 애플리케이션(11)에 의해 사용되는, HTTP, HTTPS 등과 같은 표준 프로토콜을 사용하여 수신자 소셜 미디어 애플리케이션에 의해 수신되기 전에, 데이터를 인터셉트(즉, 먼저 수신하고 분석)할 수 있다. 그러나, 수신된 콘텐츠 식별자는 데이터 요청에만 응답하는 것은 아닐 수 있다. 필터 모듈(16)은, 컴퓨팅 디바이스(10)에 의해 수신된 콘텐츠가 사용자(2)가 GUI(15)의 디스플레이로부터 필터링하기를 원할 수 있는 콘텐츠를 포함한다고 결정할 수 있다. 예를 들어, 컴퓨팅 디바이스(10)는, 이미지 및 전쟁 존 구역 내의 폭력적인 활동에 대한 동반된 텍스트를 포함한 항목을 포함하는 소셜 미디어 애플리케이션을 위해 의도된 데이터를 수신할 수 있다. 필터 모듈(16)은 표시된 사용자(2)에 의해 표시되는 바와 같은 "전쟁"에 관련된 콘텐츠를 필터링하도록 설정된다(예를 들어 "전쟁"(230)으로 표시된 박스가, 필터에 "전쟁" 과 관련된 임의의 콘텐츠를 포함하는 것을 나타내는 체크를 가지는 도 6을 참조함). 이러한 예는 이미지를 수신된 오브젝트로서 사용하지만, 필터 모듈(16)은 예컨대 비디오, 오디오 등과 같은 추가적 오브젝트 타입을 적용할 수도 있다.
필터 모듈(16)은, 컴퓨팅 디바이스(10)에 의해 수신된 전쟁에 대한 이미지 및 항목이 선택된 필터 설정과 매칭되거나 필터 설정에서 선택된 아이템에 관련될 가능성이 있다고 결정할 수 있다. 필터 모듈(16)은, 수신된 콘텐츠가 사용자(2)가 필터링할 가능성이 있는 콘텐츠일 수 있는지를 결정하기 위하여 상이한 기법을 사용할 수 있다. 하나의 예시적인 기법에서, 필터 모듈(16)은 각각의 인터셉트된 데이터를 파싱하고, 예를 들어 이러한 예에서 "전쟁"인 구성된 기준들에 대해서 패턴 매칭한다. 이러한 예에서, 필터 모듈(16)이 가능한 매칭이 존재한다고 결정하면, 적용가능한 이산 블록은 유사한 포맷을 가지지만 매칭된 키워드를 포함했던 콘텐츠는 없도록 재구성된다. 텍스트 기반 매칭은 표준 텍스트 파싱 및 매칭을 포함할 수 있지만, 이미지 및 비디오 매칭을 하려면, 머신 학습 알고리즘 또는 매칭 및 결정 프로세스에서의 인간 상호작용과 같은 더 복잡한 기법이 필요하다. 일 예시적인 기법에서, 이미지, 포토, 비디오 등에서 오브젝트를 식별하기 위하여 오브젝트 식별이 사용될 수 있다. 일부 경우에, 필터 모듈(16)은 키 오브젝트, 또는 오브젝트 내의 오브젝트들을 식별하고, 필터 기준들과의 매칭을 결정할 수 있다. 오디오의 예에서, 사람이 "전쟁"이라는 워드를 말하거나 총기 발사음 또는 폭발음과 같은 필터 기준들과 매칭하는 것으로 사운드 패턴이 식별될 수 있다. 다른 예시적인 기법에서, 파일 타입, 이미지 또는 뉴스 피드의 소스 정보, 유래하는 웹 어드레스, URL, 메타데이터, 수신되거나 이미지가 생성된 날짜, 타이틀, 지리적 정보와 같은 오브젝트 콘텍스트, 네트워크로부터의 데이터와 같은 연관된 데이터(예를 들어, 이미지에 대한 다른 사용자로부터의 코멘트, 이미지에 대해서 포스팅하는 다른 소셜 미디어 등)와 같은 콘텐츠 식별자가 식별되고 사용될 수 있다. 다른 예시적인 기법에서, 필터 모듈(16)은 동적 범주화된 콘텐츠 필터링, 또는 체험(heuristic) 및 패턴 매칭 알고리즘의 조합을 수행하여, 사용자(2)로부터의 입력이 없이, 더 광범위하고 개선된 콘텐츠 필터링을 위해서 필터 기준들을 확장하기 위한 다른 워드 또는 변형을 자동적으로 결정할 수 있다. 다른 예들에서, 범주화된 콘텐츠는 워드의 마스터 목록 또는 다른 용어를 포함할 수 있는 연관된 용어의 서브-목록을 사용할 수 있다. 마스터 목록 또는 용어는 토픽과 연관된 미리 결정된 목록 또는 용어 또는 사용자 입력에 기반한 목록일 수 있다. 이와 유사하게, 서브-목록은 미리 결정된 용어 또는 사용자 입력 용어를 포함할 수 있다. 서브-목록은 패턴 또는 카테고리에 의하여 마스터 목록의 용어 중 적어도 하나와 각각 연관될 수 있다. 마스터 목록, 또는 목록, 및 서브-목록은 컴퓨팅 디바이스(10)에 국지적으로 또는 컴퓨팅 디바이스(10)와 연관되고 컴퓨팅 디바이스에 의해 액세스가능한 원격 서버에 저장될 수 있다.
필터 모듈(16)은 사용자(2)가 해당 콘텐츠를 필터링할 우도를 결정하는 데에 다른 인자를 고려할 수 있다. 예를 들어, 필터링할 빈번하게 식별되는 콘텐츠와 같은 사용자 입력은 최근에 식별될 수 있거나, 컴퓨팅 디바이스(10)의 콘텍스트(예를 들어, 위치, 하루 중 시간, 현재 실행하는 애플리케이션 등)에 관련될 수 있다. 예를 들어, 피용자는 직장에서 고양이 비디오를 보기를 원치 않을 수도 있고, 소셜 미디어와 제한된 방식으로 그리고 오직 몇 명의 특정 사람과만 상호작용할 수 있을 수 있다. 또한, 필터 모듈(16)은 포함되거나 포함되지 않을 콘텐츠 또는 오브젝트를 선택하는 것을 결정하기 위하여 사용자 입력을 사용할 수 있다.
필터 모듈(16)은 컴퓨팅 디바이스(10)에서 이용가능한 필터 중 하나 이상으로부터의 오브젝트를 제안된 필터로서 인터셉트할 수 있다. 필터링은, 뉴스피드 내의 전쟁 포토와 같이, 사용자가 각각의 애플리케이션으로부터 필터링할 가능성이 있다고 필터 모듈(16)이 결정하는 필터 설정 기준들을 포함할 수 있다. 일부 예들에서, 애플리케이션(11) 중 하나 이상은, 필터 모듈(16)이 수신된 오브젝트의 콘텐츠 중 임의의 일부 또는 전부를 필터링하려고 결정하는 데에 사용할 수 있는 콘텐츠 식별자 및 사용자 선호사항을 제공한다. 컴퓨팅 디바이스(10)에 통신하도록 커플링된(예를 들어, 컴퓨터 네트워크를 사용하여) 다른 컴퓨팅 디바이스에 의해 제공되는 다른 애플리케이션, 웹사이트, 서비스 등은, 애플리케이션(11)에 의해서 제공되지 않지만 콘텐츠 필터링으로서 사용자(2)에게 표시되기 위한, 필터 모듈(16)에 의한 필터링을 위한 데이터를 제공할 수 있는 추가적인 필터 기준들 확장 및 필터 기능성을 제공할 수 있다.
이들 전부는 필터 모듈(16)의 필터 설정에서 사용자(2)에 의해 선택되는 바와 같은 "전쟁"과의 확률 연관성을 사용할 수 있다. 필터 모듈(16)은, 컴퓨팅 디바이스(10)에 의해 수신되는 각각의 오브젝트에 대해 계산된 가중된 확률에 기반하여 필터링할 콘텐츠를 선택할 수 있다. 일 예에서, 가중된 확률은, 사용자(2)가 콘텐츠를 필터링하기 위한 각각의 오브젝트를, 해당 오브젝트를 GUI(15)에서의 그래픽 요소의 디스플레이로부터 제외하면서, 선택할 우도에 대응할 수 있다. 가중된 확률을 설명된 바와 같이 계산할 때, 본 발명은 당업계에 공지된 알고리즘 및 계산을 사용할 수 있다.
다른 예에서, 컴퓨팅 디바이스는 가중된 확률 및 선택에 기초하여 그래픽 요소를 결정할 수 있다. 필터 모듈(16)은 사용자가 각각의 애플리케이션의 그래픽 요소로부터의 오브젝트를 필터링할 가능성이 있는 확률을 나타내는 가중된 확률을 필터 기준들에 기초하여 결정할 수 있다. 컴퓨팅 디바이스는 오브젝트에 대한 가중된 확률을 오브젝트의 공유되는 정보, 각각의 콘텐츠 식별자의 특징, 연관된 애플리케이션 특징, 및 컴퓨팅 디바이스의 필터 설정의 콘텍스트에 기반하여 결정할 수 있다. 가중된 확률을 생성할 때, 필터 모듈(16)은 종래의 사용자 필터 기준들 선택과 같은 특정 인자에 하루 중 시간과 같은 다른 인자보다 높은 가중치를 부여하도록 구성될 수 있다.
필터 모듈(16)은 가중된 확률 연산에 포함된 정보의 각각의 조각에 가중 인자를 적용하고, 이용가능한 필터 각각에 대한 가중된 확률을 생성한다. 예를 들어, 공유되는 오브젝트에 대한 정보는, 오브젝트의 타입, 오브젝트의 크기, 오브젝트와 연관된 콘텐츠, 유사한 오브젝트를 필터링할 때에 사용자(2)에 의해 선택된 이전의 필터 등을 포함할 수 있다. 각각의 애플리케이션의 특징은, 여러 특징 중에서, 각각의 애플리케이션에 의해 제공되는 프라이버시 제어, 필터 애플리케이션이 필터링하도록 구성되는 오브젝트의 타입, 애플리케이션에서 일반적으로 볼 수 있는 콘텐츠, 애플리케이션에 의해 부과된 파일 크기 제한을 포함할 수 있다.
필터들 각각에 대해 가중된 확률을 결정하는 것에 응답하여, 필터 모듈(16)은 임계 값보다 큰 각각의 가중된 확률 값을 가지는 콘텐츠를 선택하지 않을 수 있고, 이러한 오브젝트를 GUI(15) 내에 디스플레이된 각각의 애플리케이션의 그래픽 요소로부터 제외한다. 일 예에서, 임계 값은 필터 모듈(16)이 각각의 콘텐츠 식별자에 대한 가중된 확률 값을 결정하기 전에 결정되는 구성가능한 임계일 수 있다. 다른 예에서, 임계 값은 계산된 가중된 확률 값에 기반하여 동적으로 결정됨으로써, 임계 값을 만족시키거나 초과하는 가장 높은 가중된 확률 값을 가지는 세 개, 다섯 개, 또는 일부 다른 구성가능한 개수의 필터만이 선택되게 할 수 있다.
일 예에서, 필터링된 콘텐츠를 결정하는 것은 미리 결정된 값에 기반할 수 있는 임계에 기반한다. 선호사항 결정 모듈(12)은 값을 설정할 수 있다. 이러한 값은 가중된 확률에 기반한 특정한 수치 값일 수 있다. 임계는 가중된 확률의 퍼센티지에 기반할 수 있다. 또는, 임계는 예를 들어 특정한 개수의 "가장 높은" 가중된 확률 값일 수 있어서, 가장 높은 세 개의 가중된 확률 값이 선택된다. 다른 예에서, 오브젝트를 선택하는 것은 콘텐츠 식별자 오브젝트와 각각의 애플리케이션과 연관된 하나 이상의 특징 사이의 유사 정도를 비교함으로써, 가중된 확률에 기반할 수 있다. 가중된 확률이 임계보다 훨씬 높으면, 컴퓨팅 디바이스(10)는 오브젝트를 그래픽 사용자 인터페이스에서의 출력에 포함시키지 않고서 필터링을 위해 각각의 오브젝트를 선택한다. 가중된 확률이 미리 결정된 값보다 크지 않으면, 컴퓨팅 디바이스(10)는 그래픽 사용자 인터페이스에서 출력되도록 각각의 오브젝트를 선택할 수 있다.
일 예에서, 그래픽 요소는 컴퓨팅 디바이스(10)에 의해서 컴퓨팅 디바이스(10)의 GUI(15)에 출력된다. 필터 모듈(16)은 선택된 콘텐츠 정보의 필터 결정을 UI 모듈(3)에 제공하고, UI 모듈(3)은 업데이트된 사용자 인터페이스(예를 들어, GUI(15))를 UI 디바이스(4)에서 디스플레이되도록 출력한다.
필터링된 그래픽 출력의 선택을 수신하는 것에 응답하여, 필터링된 오브젝트를 수신하도록 의도되는, 공유 서비스와 같은 대응하는 애플리케이션은 인터셉트하기 전에, 오브젝트(예를 들어, 도 3의 이미지(110))를 공유한다. 필터 모듈(16)은 선택의 표시를 수신하고, 추후의 취출과 콘텐츠가 필터링될 다음 번에 대한 가중된 확률을 결정하는 데에 포함되도록, 선택에 대한 정보를 저장하며, 확률 점수가 필터 모듈(16)에 의해 생성된다. 필터 애플리케이션이 운영 체제의 일부이거나 이에 근접하게 실행될 수 있기 때문에, 특정한 애플리케이션은 업데이트된 필터링된 디스플레이를 생성할 때에 크게 느려지나 인터럽트되지 않을 수 있다.
사용자가 표시한 설정에 따라서, 그래픽 요소를 시청하기 위해 가능한 여러 모드가 존재할 수 있다. 예를 들어, 필터 모듈(16)은, GUI(15)가 필터링된 콘텐츠를 포함하지 않는 콘텐츠를 디스플레이하는 제 1 모드, 또는 표준 모드를 가질 수 있다. 필터링된 콘텐츠 대신에, GUI(15)는, 콘텐츠가 필터링되지 않았다면 오브젝트가 디스플레이되었을 수 있고, 그 대신에 해당 오브젝트(또는 오브젝트의 일부)가 필터링되었다는 것을 디스플레이하는 구역(예를 들어, 도 3)을 포함할 수 있다. 사용자(2)가, 필터링된 콘텐츠를 "보이게 하거나(show)" 디스플레이하라고 입력할 수 있는 그래픽 버튼 또는 디스플레이가 존재할 수 있다. 필터 모듈(16)은, 콘텐츠를 볼 수 없는 제 2 모드인 부모/회사 제어를 더 가질 수 있다. 제 2 모드에서는, 필터링된 콘텐츠가 보여질 수 있도록 사용자 계정에 액세스하기 위해서 패스코드 또는 액세스 코드가 입력될 수 있다(예를 들어, 제 2 모드의 예에 대해서 도 3 참조).
컴퓨팅 디바이스(10)는 필터링된 오브젝트를 저장할 수 있다. 오브젝트는 필터 애플리케이션 내에 또는 필터링된 그래픽 요소와 연관된 애플리케이션 내와 같이 국지적으로, 또는 필터 애플리케이션 네트워크 내에 또는 애플리케이션(11) 중 각각의 애플리케이션의 네트워크 내에와 같이 원격 서버에 저장될 수 있다. 저장된 오브젝트는 애플리케이션의 콘텐츠를 필터링하기 위한 가중 확률을 추후 결정하기 위하여 사용될 수 있다. 다른 예들에서, 필터링된 오브젝트는 임의의 디바이스 또는 네트워크에 저장되지 않는다.
컴퓨팅 디바이스(10)는 컴퓨팅 디바이스(10) 내에 저장된 필터 모듈을 사용하여 콘텐츠를 필터링할 수 있고, 또는 콘텐츠는 컴퓨팅 디바이스(10)와 통신하는 원격 서버 상의 원격으로 저장된 모듈을 사용하여 필터링될 수도 있다. 원격 디바이스는 콘텐츠를 필터링하고 결과적으로 얻어지는 디스플레이를 사용자가 볼 수 있도록 컴퓨팅 디바이스(10)로 전송할 수 있다. 다른 예에서, 컴퓨팅 디바이스(10)는 상이한 타입의 콘텐츠를 분석할 때 필터링 기법 중 적어도 하나의 타입에서 실행되는 상이한 필터 모듈을 가질 수 있고, 또는 각각의 모듈은 특정 타입의 데이터를 분석하여 특정 데이터 타입의 콘텐츠가 필터링될 수 있는 자료를 포함할 가능성이 있는지를 결정할 수 있다. 각각의 모듈은, 필터 모듈들 각각의 수신된 결정을 사용하여 디스플레이를 결정하기 위하여, 필터링된 콘텐츠를 중앙 필터 모듈 또는 디스플레이 모듈로 전송할 수 있다.
도 2는 본 발명의 하나 이상의 양태들에 따른, 콘텐츠를 필터링하기 위한 컴퓨팅 디바이스의 일 예를 예시하는 블록도이다. 컴퓨팅 디바이스(10)는 저장 디바이스(30)를 포함할 수 있고, 이것은 레인 결정 시스템의 기능성을 구현하기 위하여 소프트웨어 프로그램 및 데이터와 같은 것을 저장할 수 있는 휘발성 또는 비휘발성 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 일부 예들에서, 저장 디바이스(30)는, 자기적 하드 디스크, 광학적 디스크, 플로피 디스크, 플래시 메모리, 또는 전기적으로 프로그래밍가능한 메모리(EPROM) 또는 전기적으로 소거가능하고 프로그래밍가능한(EEPROM) 메모리의 형태와 같은 비-휘발성 저장 소자를 포함할 수 있다. 예를 들어, 저장 디바이스(30)는 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 플래시 메모리 또는 임의의 다른 형태의 장기 또는 단기 메모리를 포함할 수 있지만 이들로 한정되는 것은 아니다. 일부 실시예들에서, 메모리는 하드 디스크 드라이브, 플로피 디스크 드라이브, 테이프 드라이브, 시큐어 디지털(secure digital; SD) 카드, 디지털 다기능 디스크 랜덤 액세스 메모리(DVD-RAM), 또는 임의의 다른 적절한 형태의 컴퓨터 판독가능 저장 매체를 더 포함할 수 있다. 프로세서(들)(6)는, 통신 유닛(34), 입력 디바이스(5), 출력 모듈(7), 존재-감응식 스크린(15)을 포함하는 사용자 인터페이스(UI) 디바이스(4), 저장 디바이스(30) 및 통신 채널(들)(32)에 동작가능하게 연결된다. 또한, 프로세서(들)(6)는, 컴퓨팅 디바이스(10) 내에 있거나 적절한 인터페이스를 통해 외부에서 연결된 다른 모듈/디바이스(미도시)에 연결될 수 있다. 프로세서(들)(6)는 마이크로프로세서 유닛, 그래픽 프로세서 유닛, 디지털 신호 프로세서 또는 데이터에 컴퓨터 프로그램 명령을 실행하여 기대된 출력을 생성하는 능력을 가지는 임의의 다른 적절한 프로세서를 포함할 수 있지만 이들로 한정되는 것은 아니다. 프로세서 모듈(9)과 같은 프로세서 모듈은 프로세서(들)(6)를 실행할 수 있고, 레지스터, 버퍼, 제어 로직, 데이터 라인, 산술적 로직 유닛(arithmetic logic unit; ALU), 부동-소수점 유닛(floating-point unit; FPU), 및 컴퓨터 프로그램 내의 명령에 의해 규정되는 산술적, 논리적, 제어, 입력, 및 출력 동작을 포함하는 동작을 수행하기 위한 다른 적절한 컴포넌트의 목록 중의 복수 개의 컴포넌트를 포함할 수 있다.
컴퓨팅 디바이스(10)는, 무선으로 인터넷에 통신하기 위한 안테나를 포함하는 하드웨어 및/또는 소프트웨어 모듈, 포토 및 비디오를 캡쳐하기 위한 카메라 디바이스, 오디오를 캡쳐하기 위한 마이크로폰, 전화 통화를 걸거나 받기 위해 요구된 기능성을 제공하는 통화 관리 모듈, SMS를 전송 및 수신하기 위한 단문 메시지 서비스(SMS) 모듈, 멀티미디어 콘텐츠(예를 들어: 음악 및 영화)를 재생하기 위한 미디어 플레이어 모듈, 및 인터넷 웹 브라우저(예를 들어: 파이어폭스 및 구글 크롬)를 더 포함할 수 있다. 컴퓨팅 디바이스(10)는 계산기, 게임, 캘린더, 텍스트 편집기, 및 다른 적절한 애플리케이션 프로그램과 같은, 설치된 추가 애플리케이션을 더 가질 수 있다.
바람직한 실시예들에서, 저장 디바이스(30)는, 출력 디바이스(7)에 출력을 생성하거나 데이터를 주변 디바이스 인터페이스 또는 다른 적절한 인터페이스에 전송하기 위한 머신 명령 또는 컴퓨터 명령을 실행할 수 있는 필터 모듈(16)을 포함할 수 있고, 하나 이상의 프로세서(들)(6)를 사용할 수 있으며, 이러한 프로세서는 단일 프로세서, 멀티 프로세서, 단일-코어, 및 멀티코어 프로세서를 포함하는 목록 중의 하나 이상일 수 있다. 프로세서(들)(6)는 머신 명령 또는 컴퓨터 명령을 실행하여 출력 디바이스(7)에 출력을 생성하거나 데이터를 주변 디바이스 인터페이스 또는 다른 적절한 인터페이스에 전송할 수 있다. 사용자 디바이스의 다른 형태에는, 복수 개의 하드웨어 프로세서, 여러 타입의 메모리, 및 데이터 버스들(미도시)이 존재할 수 있다. 필터 모듈(16)은 필터 설정(12), 콘텐츠 모듈(14), 매칭 모듈(18), 및 그래픽 모듈(20)을 포함할 수 있다. 그래픽 모듈(20)은 애플리케이션의 필터링된 콘텐츠를 존재-감응식 스크린(15)에 디스플레이하기 위하여, 필터링된 출력 그래픽 디스플레이 데이터를 UI 모듈(3)에 전송할 수 있다. 일부 예들에서, 존재-감응식 스크린(15)은 출력 디바이스(7)이다.
다른 실시예에서, 필터 모듈(12)은, 터치 스크린, 오디오 디바이스, 시각적 디바이스, 키보드, 및 다른 햅틱 기반 디바이스와 같은 하나 이상의 입력 디바이스(들)(5)를 통해 사용자 입력을 수신할 수 있다. 필터 모듈(16)은, 사용자 디바이스 내의 메모리(예를 들어, 사용자 설정(38), 필터(54), 또는 오브젝트(52)) 내에 저장되거나, 외부에 저장되거나, 무선 파 또는 전자기 파를 통해 송신되는 프로그램 명령을 포함하는 명령을 실행할 수 있다. 필터 모듈(16)은, 컴퓨팅 디바이스(10)의 데이터 저장소인 데이터(50)로부터 디바이스 데이터를 취출할 수 있다.
필터 설정(12)은, 필터 애플리케이션을 이네이블하고 필터 애플리케이션을 위한 패스워드 보호를 이네이블하게 하는 사용자 입력을 사용자 인터페이스 디바이스(4)에서 수신할 수 있다. 필터 모듈(16)에 액세스하기 위한 패스워드 및 필터 기준들의 사용자 선택(예를 들어, 워드, 토픽, 및 필터 콘텐츠를 결정하기 위하여 사용되는 다른 기반)이 사용자 설정(38)에 저장될 수 있다. 필터 설정(12)은, 애플리케이션(11) 중 사용자-선택 애플리케이션에게, 필터 모듈(16)이 필터 애플리케이션을 실행할 때 콘텐츠 필터를 적용한다는 것을 역시 표시할 수 있다. 필터 설정(12)은 사용자 인터페이스 디바이스(4)에서, 사용자 설정(38) 또는 필터 저장소(54) 중 하나에 저장된 필터 토픽을 나타내는 워드의 목록을 역시 디스플레이할 수 있다. 임의의 추가적인 필터 용어 또는 데이터가 사용자 인터페이스 디바이스(4)에서 입력되고 필터 설정(12)에 의해 수신된다. 필터 설정(12)은 알고리즘을 포함하는 동적 범주화된 콘텐츠 필터링을 실행하여, 사용자에 의해 입력되는 워드를 확장시키거나 필터 모듈(16) 또는 필터 저장 디바이스(30)에 저장된 필터 기준들을 확장하거나 업데이트할 수 있다. 동적 범주화된 콘텐츠 필터링은 자동이고 추가적인 사용자 입력을 요구하지 않는다. 이것은 컴퓨팅 디바이스(10)에서 또는 필터 모듈(16)을 업데이트하는 원격 서버에 의해 수행될 수 있다. 동적 필터링의 결과는 저장 디바이스(30) 내에, 예를 들어 필터(54) 또는 필터 설정 모듈(12)에 저장된다. 워드 확장 및 연관성은 필터의 범위를 넓혀서, 필터 기준들을 자동적으로 확장시킴으로써 정확도를 개선한다. 필터 설정(12)은 네트워크와 통신하여 콘텐츠를 매칭 및 결정하기 위한 기준들과 같은 추가적 데이터를 결정할 수 있다. 필터 모듈(16)은 필터 설정을 콘텐츠 모듈(14)에 전송할 수 있다.
일부 예들에서, 필터 설정(12)은 애플리케이션(11)과 연관되어 저장된 데이터에 기반하여 필터 기준들을 결정할 수 있다. 예를 들어, 필터 모듈(16)은 애플리케이션(11)에서, 콘텐츠를 필터링하기 위한 필터 기준들에 기여할 수 있는 각각의 애플리케이션에 대한 필터 선호사항, 필터 설정, 또는 애플리케이션 용도(usage)를 찾을 수 있다.
사용자가 컴퓨팅 디바이스(10)에서 필터 모듈(16)을 이네이블하면, 콘텐츠 모듈(14)은 애플리케이션(11) 중 적어도 하나가 데이터 요청을 통신 유닛(34)을 통해 무선 네트워크 또는 다른 적절한 통신 네트워크로 전송했다는 것을 검출할 수 있다. 이러한 요청(들)에 응답하여, 통신 유닛(34)은 애플리케이션(11)의 각각의 애플리케이션을 업데이트하기 위한 데이터를 수신할 수 있다. 통신 유닛(34)은 통신 채널(들)(32)을 통해 통신 유닛(34)으로부터 데이터를 전송 및 수신할 수 있고, 데이터를 애플리케이션(11) 중 통신된 데이터와 연관된 각각의 애플리케이션에 전송하고 수신한다. 또한, 애플리케이션(11)은 통신 유닛(34)에 연결되어 네트워크 또는 각각의 애플리케이션 내에 연관된 원격 서버로의 적절한 무선 연결을 설립할 수도 있다. 무선 네트워크 또는 다른 적절한 통신 네트워크(예를 들어, Wi-Fi, 블루투스 또는 Wi-Fi 다이렉트와 같은 피어-투-피어 연결, 또는 다른 적절한 형태의 연결)와의 통신은 통신 유닛(34)을 통해 이루어진다. 더 나아가, 프로세서(6)는 필터 모듈(16)을 통해 적절한 저장 디바이스(30)에 연결되어 데이터를 저장하고 취출한다. 컴퓨팅 디바이스(10)는 적합한 경우 유선 또는 무선 연결을 통해 외부 디바이스에 연결될 수 있다. 통신 유닛(34)은 신호 처리(비한정적인 예: 아날로그 및 디지털 신호 처리)를 포함하는 요구된 인터페이스를 제공하여 서버 시스템과 통신할 수 있다. 컴퓨팅 디바이스(10)는 cdma2000, WCDMA, WiMAX, Wi-Fi, 25 Wi-Fi 다이렉트, 블루투스, GPRS, 3G, 4G, LTE, 위성 기반 통신, 및 당업자에게 알려질 다른 적절한 통신 기술을 포함하는 하나 이상의 통신 기술을 통해서 통신할 수 있다. 필터 모듈(16)은, 인터넷 프로토콜(IP), 하이퍼텍스트 전송 프로토콜(HTTP), 하이퍼텍스트 전송 프로토콜 안전한(HTTPS), 및 임의의 다른 적절한 프로토콜을 포함하는 하나 이상의 프로토콜을 사용하는 애플리케이션(11)의 통신 및 데이터 교환을 검출할 수 있다. 컴퓨팅 디바이스(10)는, 범용 시리얼 버스(USB) 또는 다른 유선 연결과 같은 유선 배선을 사용해서도 다른 컴퓨팅 디바이스에 연결될 수 있다. 컴퓨팅 디바이스(10)는 공지된 기법을 사용하여 디바이스의 현재의 위치를 식별하기 위한 메커니즘을 포함할 수 있다.
애플리케이션(11A-N)은, 소셜 미디어, 뉴스 소스, 뱅킹, 여행, 게이밍, 날씨, 이미지 수집 등과 같은, 컴퓨팅 디바이스(10)에 다운로드된 임의의 타입의 애플리케이션일 수 있고, 사용자가 사용자 인터페이스(UI) 디바이스(4)를 통해 각각의 애플리케이션의 콘텐츠에 액세스하게 할 수 있다. 애플리케이션(11) 중 각각의 개별 애플리케이션(예컨대 애플리케이션(11C))은 필터 모듈(16)로의 액세스를 허용하거나 허가할 수 있어서, 각각의 애플리케이션의 콘텐츠 및 네트워크에 액세스할 수 있게 한다. 필터 모듈(16)이 애플리케이션(11) 중 적어도 하나로의 액세스를 가지면, 콘텐츠 모듈(14)은 해당 특정 애플리케이션을 위해 의도된 인입하는 데이터를 인터셉트할 수 있고, 수신된 오브젝트의 콘텐츠를 결정한다. 수신된 오브젝트는 애플리케이션(11) 중 특정한 애플리케이션을 위해서 의도될 수 있다. 오브젝트는 파일(예를 들어, 이미지, 오디오, 비디오, 텍스트, 그래픽, 포토, 문서, 임의의 표준, 2D, 3D 또는 가상 현실 포맷)일 수 있다. 콘텐츠 모듈(14)은 파일 타입 및 이러한 오브젝트와 연관되는 임의의 동반되는 데이터를 사용하여 오브젝트의 콘텐츠를 결정할 수 있고, 통신 유닛(34)은 애플리케이션(11) 중 각각의 애플리케이션을 업데이트하기 위한 데이터를 수신할 수 있다. 통신 유닛(34)은 통신 채널(들)(32)을 통해 통신 유닛(34)으로부터 데이터를 전송 및 수신할 수 있고, 데이터를 애플리케이션(11) 중 통신된 데이터와 연관된 각각의 애플리케이션에 전송하고 수신한다. 콘텐츠 모듈(14)은 컴퓨팅 디바이스(10)에 의해 수신되는 오브젝트에 의해 제공되지 않는 추가적 콘텐츠 식별을 제공할 수 있는 다른 인자를 결정하거나 식별할 수 있다. 예를 들어, 필터 모듈(16)은 애플리케이션(11)에서 유사한 오브젝트와 연관되어 저장된 데이터를 찾을 수 있다.
콘텐츠 모듈(14)은 콘텐츠 식별자를 결정할 수 있다. 콘텐츠 식별자는 오브젝트(예를 들어, 파일 타입, 소스, 파일 내의 오브젝트 등)를 구성하는 데이터일 수 있고, 또는 오브젝트 소스, 메타데이터, 연관된 웹사이트 또는 서비스, 오브젝트를 수신하는 시각의 컴퓨팅 디바이스(10)의 문맥의 식별자, 애플리케이션 선호사항 및 설정, 지리적 데이터, 애플리케이션 용도 등과 같은 연관된 데이터일 수도 있다. 콘텐츠 식별자가 식별되면, 콘텐츠 모듈(14)은 매칭 모듈(18)과 통신하여 콘텐츠 식별자를 필터 설정과 비교할 수 있다.
필터 모듈(16)은 매칭 모듈(18)을 더 포함할 수 있다. 매칭 모듈(18)은 저장된 명령에 기반하여 계산을 수행할 수 있는데, 이러한 명령은 컴퓨팅 디바이스(10) 내부에 또는 외부 원격 서버에 저장될 수 있다. 매칭 모듈(18)은 기본적인 문자열 매칭 기법을 수행하여, 오브젝트와 연관된 콘텐츠 필터 식별자가 필터 기준들과 매칭하는지를 결정할 수 있다. 문자열 매칭 기법은 워드, 워드의 일부, 또는 패턴을 필터(54) 내에 저장된 것들과 매칭하는 것을 포함할 수 있다. 매칭 모듈(18)은, 예를 들어 오브젝트 인식 기법과 같은 매칭 기법을 오브젝트의 상이한 부분에 수행함으로써, 오브젝트 내의 서브-오브젝트, 또는 전체로서의 오브젝트를 식별하여 콘텐츠 식별자를 결정할 수 있다. 다른 예들에서, 매칭 모듈(18)은 콘텐츠가 필터링되어야 하는지를 결정하기 위하여 오브젝트 인식 기법과 같은 매칭 기법을 오브젝트의 상이한 부분에 수행할 수 있다. 예를 들어, 매칭 모듈(18)은 필터 모듈(16)에 의해 인터셉트되는 오브젝트에 대한 가중된 확률을 결정하기 위하여 연산을 수행할 수 있다. 매칭 모듈(18)은 콘텐츠 모듈(14)에 의해 인터셉트되는 각각의 오브젝트, 또는 오브젝트 내의 서브-오브젝트 또는 콘텐츠에 대한 가중된 확률을 결정한다. 가중된 확률은 사용자가 필터링하기 위하여 오브젝트와 연관된 개별 콘텐츠를 선택할 가능성이 있는 확률을 나타낸다. 컴퓨팅 디바이스는 각각의 오브젝트에 대한 가중된 확률을 필터링되는 오브젝트에 대한 정보, 각각의 애플리케이션의 특징, 및 컴퓨팅 디바이스의 콘텍스트에 기반하여 결정할 수 있다. 가중된 확률을 생성할 때, 필터 모듈(16)은 특정한 오브젝트를 필터해제 하기 위한(즉, 존재-감응식 스크린(GUI)(15)에 있는 그래픽 요소 내의 그래픽 디스플레이 내에 포함되도록 함), 종래의 사용자 필터 설정과 같은 특정 인자에, 예를 들어 수신된 오브젝트의 날짜와 연관된 메타데이터보다 더 큰 가중치를 부여하도록 구성될 수 있다. 일부 예들에서, 매칭 모듈(18)은 또한 애플리케이션(11)로부터의 데이터에 액세스하여 애플리케이션(11) 중 특정한 애플리케이션 내의 임의의 사용자 선호사항 세트를 결정할 수 있다. 매칭 모듈(18)은 사용자 입력 및 콘텐츠 식별자에 기반하여 사용자 선호사항에 액세스할 수 있다.
매칭 모듈(18)은 사용자 입력, 또는 이것을 필터에 포함시키라는 사용자 표시에 기반하여 가중된 확률을 업데이트할 수 있다. 예를 들어, 사용자는 그래픽 디스플레이 상의 "표시하기" 그래픽 버튼을 누름으로써, 오브젝트를 그래픽 디스플레이에 포함시키라고 표시한다. 또한, 확률은 네트워크로부터 수신된 데이터로 자동적으로 업데이트될 수 있고, 예컨대 동적 범주화된 콘텐츠 필터링이 가능하다. 컴퓨팅 디바이스(10)는 업데이트된 확률 데이터를 저장 디바이스(30) 내에, 예컨대 오브젝트(52) 저장소 내에 저장한다.
그래픽 모듈(20)은, 존재한다면 어떤 콘텐츠가 필터링되어야 하는지에 관련된 데이터를 매칭 모듈(18)로부터 수신한다. GUI(15)는 사용자(2)가 컴퓨팅 디바이스(10)와 상호작용하게 하는 사용자 인터페이스를 포함할 수 있다. GUI(15)는 텍스트, 이미지, 비디오 또는 임의의 다른 시각적으로 디스플레이가능한 그래픽 오브젝트와 같은 그래픽 콘텐츠를 포함할 수 있다. 사용자(2)는 GUI(15)와 상호작용하여 오브젝트를 다른 사용자와 공유할 수 있다. 그래픽 모듈(20)은 필터링된 그래픽 콘텐츠에 대한 레이아웃 포맷에 관련된 데이터를 필터 설정(12)으로부터 수신할 수 있다. 예를 들어, 필터 설정이 제 1 모드에서 동작하도록 설정되면, 그래픽 모듈(20)은 필터링된 콘텐츠를 콘텐츠가 있었던 곳을 블랭크 처리하면서 디스플레이할 수 있다. 그러면, 그래픽 디스플레이에 대한 그래픽 모듈(20)의 결정이, 애플리케이션(11)의 각각의 애플리케이션의 필터링된 콘텐츠를 디스플레이하기 위하여 애플리케이션(11)에 전송된다.
일부 예들에서, 그래픽 모듈(20)은 사용자 제스쳐를 사용하여 콘텐츠의 디스플레이를 결정할 수 있다. 이러한 예에서, UI 디바이스(4)는, 필터링된 콘텐츠 또는 필터링된 콘텐츠를 표시하라는 표시를 디스플레이하는 UI 디바이스(4)의 위치에서 터치 제스쳐(예를 들어, 사용자에 의한 탭, 스와이프 등)를 검출할 수 있다. UI 디바이스(4)는 터치 제스쳐를 검출하고, 이에 응답하여UI 모듈(3)(예를 들어 데이터(50) 내)은 터치 제스쳐가 필터링된 콘텐츠를 디스플레이하라고 표시하는 그래픽 버튼 중 하나와 연관되는 위치에서 이루어지는지를 결정할 수 있다. 터치 제스쳐가 특정한 위치 또는 식별된 디스플레이 중 하나의 미리 결정된 거리 내에 있으면, UI 모듈(3)은 UI 디바이스(4)가 그래픽 디스플레이의 디스플레이를 변경하게 하고, 일부 실례들에서는 특정한 애플리케이션 내의 디스플레이된 오브젝트와 연관된 가중된 확률을 업데이트하게 할 수 있다.
사용자 입력 데이터는 사용자에게 제공될 수 있거나(예를 들어, 그래픽 요소는 스크린에 디스플레이되거나, 오디오, 및 멀티미디어일 수 있음) 인터페이스 모듈(예를 들어, 네트워크 인터페이스, 사용자 인터페이스, 센서 모듈 또는 다른 적절한 제어 모듈)에 전송될 수 있는 그래픽 요소를 생성하기 위해서 사용될 수 있다. 일 실시예에서, 프로세서 모듈은 복수 개의 디지털 및 아날로그 프로세서를 포함할 수 있는 단일 칩 또는 다수의 칩으로서 구현될 수 있다. 사용자 입력은 필터링되거나 필터링되지 않을 오브젝트, 수신된 콘텐츠 식별자(예를 들어, 파일 타입, 소스, 파일 내의 오브젝트, 소스, 메타데이터, 오브젝트를 수신하는 시각에서의 컴퓨팅 디바이스(10)의 문맥의 식별자, 애플리케이션 선호사항 및 설정, 지리적 데이터, 애플리케이션 사용 등)를 선택한다.
도 3a는 필터링된 콘텐츠를 포함하는 예시적인 그래픽 사용자 인터페이스를 나타내는 개념도이다. 도 3a의 예에서, 컴퓨팅 디바이스는, 복수 개의 애플리케이션 중의 일 예로서 하나의 실행된 소셜 미디어 애플리케이션으로부터의 그래픽 요소를 보여준다. 도 3a의 소셜 미디어 애플리케이션은, 네트워크로부터 전송되고 컴퓨팅 디바이스 상에서의 소셜 미디어 애플리케이션에 의해 수신되는 뉴스 피드 업데이트와 같은 전송된 오브젝트와 같은, 소셜 미디어 애플리케이션과 연관된 네트워크 및 데이터에 액세스하기 위한 허가를 d필터 애플리케이션에 승인한다. 필터 애플리케이션은 소셜 미디어 애플리케이션의 새로운 피드에 대한 업데이트로 의도되는 오브젝트를 인터셉트한다. 인터셉트된 오브젝트가 필터 기준들과의 매칭을 포함한다고 필터 애플리케이션이 결정하면, 애플리케이션은 오브젝트가 필터 기준들과 "매칭"이라는 것을 태깅하거나 이에 대한 표시를 전송할 수 있다. 그러면, 소셜 미디어 애플리케이션은 매칭된 오브젝트를 결정된 그래픽 요소로부터 제거할 수 있다. 다른 예들에서, 필터 애플리케이션은 매칭된 오브젝트가 없는 그래픽 요소 구성을 결정하고 이러한 구성을 소셜 미디어 애플리케이션에 전송할 수 있다. 각 예에서, 구성은 미디어 애플리케이션에 대한 결정된 소셜 그래픽 요소로부터의 매칭된 오브젝트를 포함하지 않을 수 있다.
그래픽 요소는 그래픽 요소의 구성 또는 레이아웃을 결정하는 상이한 설정을 가질 수 있다. 예를 들어, 표준 포맷에서, 소셜 미디어 애플리케이션은 "매칭된" 오브젝트로 표시된 오브젝트를, 사용자에게 오브젝트가 필터링되었고 그래픽 디스플레이에 포함되지 않았음을 알려주는 "콘텐츠가 필터링 되었음"과 같은 사용자(110)에 대한 통지로 대체할 수 있다(즉, 포함시키지 않음으로써 해당 오브젝트를 필터링함). 도 3a의 예에서, 그래픽 버튼 "표시하기"(120)가 형성된다. 사용자는 그래픽 버튼 "표시하기"(120)를 탭하여 디스플레이 상의 통지가 있던 곳, 다르게 말하면 필터가 이네이블되지 않았거나 존재하지 않았으면 오브젝트가 나타났을 곳에 나타나게 함으로써 필터링된 콘텐츠를 디스플레이할 수 있다. 다른 예에서, 컴퓨팅 디바이스는 필터링된 오브젝트를 소셜 미디어 애플리케이션의 다른 오브젝트로 대체할 수 있다. 이러한 예에서, 디스플레이는 어떤 것이 필터링되었다는 사용자에 대한 통지를 포함하지 않는다. 그 대신에, 소셜 미디어 애플리케이션(또는 다른 예시적인 필터 애플리케이션)은 오브젝트가 디스플레이되도록 순서 정렬할 수 있고, 필터링된 오브젝트는 주문 목록에 나타나지 않게 될 것이다(또는 필터 오브젝트는 오브젝트를 디스플레이하기에는 순위가 너무 낮을 것임). 예를 들어, 도 3a의 소셜 미디어 애플리케이션은 오브젝트를 오브젝트에 대한 마지막 업데이트의 날짜로 순위 정렬하여, 다른 사용자가 오브젝트 또는 오브젝트의 콘텐츠에 "좋아요"를 하거나 코멘트를 남기면 오브젝트를 업데이트하는 것을 포함하여, 오브젝트가 시간 순서로 포스팅되게 할 수 있다. 소셜 미디어 애플리케이션은 그래픽 요소 내의 소셜 미디어 오브젝트의 시간 순서로부터 필터링된 오브젝트를 제거할 것이다.
다른 예에서, 콘텐츠 필터 애플리케이션은 상이한 모드들을 가질 수 있다. 제 1 모드는 그래픽 사용자 인터페이스에서 필터링된 콘텐츠(110)의 표시를 그래픽 버튼 "표시하기"(120)와 같이 디스플레이하는 것을 포함할 수 있다. 콘텐츠가 디스플레이된다. 이러한 예에서, 존재-감응식 디스플레이는, 그래픽 버튼 "표시하기"(120)를 디스플레이하는 존재-감응식 디스플레이의 위치에서 터치 제스쳐(예를 들어, 사용자에 의한 탭, 스와이프 등)를 검출할 수 있다. 존재-감응식 디스플레이는 검출 사용자가 버튼을 탭하는 것, 또는 터치 제스쳐를 검출할 수 있다. 터치 제스쳐가 특정 위치 또는 식별된 디스플레이 중 하나의 미리 결정된 거리 내에 있다고 컴퓨팅 디바이스가 결정하면, 필터 애플리케이션은 그래픽 요소가 필터링된 콘텐츠를 포함하도록 변하게 할 수 있다. 사용자가 제스쳐로 필터링된 콘텐츠를 보도록 나타내면, 컴퓨팅 디바이스는 특정한 애플리케이션 내에서 디스플레이된 오브젝트와 연관된 가중된 확률을 업데이트하여, 가중된 확률이 콘텐츠를 필터링하는 대신에 해당 콘텐츠를 보는 사용자 우도를 반영하게 할 수 있다.
제 2 모드에서, 필터 애플리케이션은 부모 설정 또는 고용주 설정을 가질 수 있고, 이러한 경우 그래픽 버튼(120)은 디스플레이되지 않거나 비활성화될 수 있고, 필터링된 콘텐츠는 보여질 수 없다. 제 2 모드의 예에서, 필터링된 콘텐츠는 사용자가 계정 액세스 정보(예를 들어, 패스워드, 생체측정, 핀 등)를 입력한 후에만 보여질 수 있다. 제 2 모드의 예에서, 필터링된 콘텐츠는 아예 보이지 않을 수 있고, 다른 오브젝트가 필터링된 콘텐츠를 대체할 수 있다. 이러한 예에서, 필터링된 콘텐츠는 사용자 또는 계정 관리자가 계정 액세스 정보를 입력한 후에만 보일 수 있다.
오브젝트가 필터링된되면, 필터 애플리케이션은 그래픽 요소 내에서 필터 기준들에 "매칭"하는 오브젝트의 부분만을 디스플레이할 수 있고, 또는 전체 오브젝트를 디스플레이할 수 있다. 예를 들어, 소셜 미디어 애플리케이션에서 뉴스 피드 아이템은 상이한 항목에 대한 다수의 헤드라인을 가질 수 있다. 필터 애플리케이션은 "전쟁"에 대한 헤드라인을 필터링하고, 연예인 및 스포츠에 대한 다른 헤드라인을 포함시킬 수도 있다(전쟁 및 해당 헤드라인 사이에 관련성이 없는 경우). 그래픽 요소는, 전쟁에 대한 헤드라인을 제외한 헤드라인을 소셜 미디어 애플리케이션의 뉴스피드 내에 디스플레이한다. 그러나, 필터 애플리케이션이 필터 구성 및 설정에 기반하여 전체 오브젝트를 필터링하면, 헤드라인 중 어느 것도 그래픽 요소에서 나타나지 않게 될 것이다. 이러한 공간은 콘텐츠가 필터링되었다는 표시를 포함할 것이고, 또는 이러한 공간은 필터링된 헤드라인 피드를 대체하는 상이한 뉴스 피드 콘텐츠를 포함할 것이다.
도 3b는 필터링된 콘텐츠를 포함하는 예시적인 그래픽 사용자 인터페이스를 나타내는 개념도이다. 도 3b의 예에서, 컴퓨팅 디바이스는, 복수 개의 애플리케이션 중의 일 예로서 하나의 실행된 소셜 미디어 애플리케이션으로부터의 그래픽 요소를 보여준다. 도 3b의 그래픽 요소는 도 3a와 상이한데, 그 이유는 필터링된 콘텐츠의 표시를 포함하지도 않고 사용자가 필터링된 콘텐츠(140)를 보도록(예를 들어, "표시하기" 버튼을 누름으로써) 허용하지도 않기 때문이다. 그 대신에, 필터링된 콘텐츠는 그래픽 요소에서부터 제거되어, 그렇지 않으면 필터링된 콘텐츠가 나타날 위치가 빈 공간처럼 보이게 된다. 이러한 예는, 사용자가 애플리케이션에 의해 필터링된 콘텐츠를 시청할 수 없는, 필터 애플리케이션의 부모 또는 비즈니스 모드를 예시할 수 있다.
도 3b의 일부 예에서, 그래픽 요소 디스플레이는 필터링된 콘텐츠의 빈 구역을 다른 소셜 미디어 통지로 대체할 수 있다. 예를 들어, 도 3b에 디스플레이되지 않은, 제인 스미스로부터의 통지(130)는 존 두 또는 소셜 미디어 애플리케이션의 다른 콘택으로부터의 제 2 통지로 대체될 수 있다. 그래픽 요소는, 어떤 콘텐츠가 그래픽 사용자 인터페이스에 디스플레이된 그래픽 디스플레이 요소 내에 포함되는지 또는 사용자가 필터링된 콘텐츠를 볼 수 있는지를 결정하는 상이한 설정을 가질 수 있다.
도 4는 본 발명의 하나 이상의 양태에 따른, 필터링 콘텐츠의 선택 및 디스플레이를 관리하기 위한 예시적인 동작을 예시하는 흐름도이다. 오직 예시를 위하여, 예시적인 동작이 도 1 및 도 2에 도시된 청구된 디바이스(10)의 콘텍스트에서 이하 설명된다.
일 예에서, 컴퓨팅 디바이스(10)는 필터 기준들의 선택을 수신할 수 있다(170). 선택은 사용자에 의한 미리 결정된 필터 기준들의 선택이거나 사용자에 의한 입력 필터 기준들일 수 있다. 필터 기준들은 자동화된 동적 범주화된 콘텐츠 필터링일 수도 있고, 또는 사용자 입력을 요구하지 않는 다른 자동화된 기법일 수도 있다. 도 2의 필터 모듈(16)은 이미지, 텍스트, 비디오, 그래픽, 사운드 등과 같은 오브젝트를 인터셉트할 수 있다(172). 오브젝트가 인터셉트된 후, 오브젝트와 연관된 콘텐츠 식별자를 식별한다(174). 매칭 모듈(18)은 선택된 필터 기준들을 오브젝트와 연관된 콘텐츠 식별자와 비교할 수 있다(178). 필터 기준들과 오브젝트와 연관된 콘텐츠 식별자 사이에 매칭이 존재하지 않으면, 매칭 모듈(18)은 각각의 콘텐츠 식별자가 해당 오브젝트와 연관될 확률이 존재하는지 여부를 결정할 수 있다. 매칭 모듈(18)은, 사용자(2)가 각각의 오브젝트를 콘텐츠 필터 내에 포함시킬 우도를 나타내는 대응하는 매칭 점수, 또는 확률을 생성할 수 있다(178). 일부 예에서, 확률은 0과 1 사이의 범위 내의 값일 수 있다. 일부 예들에서, 확률은 0.5의 값으로 초기화될 수 있다. 일 예에서, 매칭 모듈(18)은 각각의 필터 기준들과 오브젝트 사이의 매칭 확률을 생성할 수 있다. 다른 예에서, 매칭 모듈(18)은 이러한 확률을 이전에 필터링된 콘텐츠에 대해 결정된 확률과 동일한 각각의 애플리케이션의 비교에 기반하여 그리고 필터 설정을 포함하는 각각의 애플리케이션 설정에 기반하여 결정할 수 있다.
매칭 모듈(18)은 결정된 확률 값을 임계 값과 비교한다. 일부 예들에서, 매칭 확률이 미리 결정된 값 이상이면, 매칭 모듈(18)은 해당 오브젝트가 필터 콘텐츠를 포함할 가능성이 있다고 결정할 수 있다(180). 다른 예들에서, 그래픽 모듈(20)은 이러한 값을 매칭 확률과 비교할 수 있다(180). 매칭 확률이 미리 결정된 값 미만이면, 사용자가 해당 오브젝트 또는 그 콘텐츠를 필터 내에 포함시키기를 원할 우도는 낮고(180의 "아니오 " 브랜치) 오브젝트는 필터 콘텐츠를 포함하지 않을 가능성이 있을 것이다. 이러한 예에서, 그래픽 모듈(20)은 해당 오브젝트를 그래픽 요소의 일부로서, 예를 들어 애플리케이션 필터가 없이 그래픽 요소와 유사하게 포함할 수 있다(182). 상이한 예에서, 매칭 확률이 미리 결정된 값 이상이면, 오브젝트 또는 그 콘텐츠는 사용자가 필터링할 가능성이 있는 콘텐츠를 포함할 가능성이 있을 수 있다(180의 "예" 브랜치). 이러한 예에서, 그래픽 모듈(20)은 해당 오브젝트를 그래픽 요소 내에 포함하지 않을 수 있다(180의 "예" 브랜치). 그래픽 모듈(20)은 필터 설정에 대한 데이터, 예컨대 필터 설정(12) 내의 세트, 및 다른 사용자 선호사항을 수신할 수 있다(184). 그래픽 모듈(20)은 이러한 데이터를 사용하여 그래픽 요소의 레이아웃을 결정할 수 있다(186). 예를 들어, 사용자가 필터 설정을 제 1 모드로 설정하여, 사용자가 필터 콘텐츠를 보도록 허용하면, 그래픽 모듈(20)은 필터링된 오브젝트를 콘텐츠가 제거되었음을 나타내는 통지 및 콘텐츠를 표시하기 위한 그래픽 버튼으로 대체할 수 있다. 그래픽 모듈(20)에 의한 그래픽 레이아웃 결정에 기반하여, 컴퓨팅 디바이스(10)는 애플리케이션(11) 중 각각의 애플리케이션에 대한 그래픽 요소를 디스플레이한다(188). 다른 예들에서, 필터 모듈(16)은 오브젝트의 일부, 예를 들어 이미지 내의 오브젝트(다르게 말하면, 오브젝트 내의 서브-오브젝트)만을 필터링할 수 있다(그러한 서브-오브젝트가 필터 콘텐츠와 매칭할 수 있지만 포토는 매칭하지 않는 경우). 이러한 예에서, 오브젝트의 필터링되지 않은 부분, 또는 포토가 그래픽 요소의 일부가 될 수 있다(186). 그래픽 모듈(20)은 레이아웃, 오브젝트 등과 같은 그래픽 요소 데이터를, 필터 설정에 따라서, 컴퓨팅 디바이스(10) 상의 애플리케이션(11) 중 각각의 애플리케이션의 그래픽 요소 내에 디스플레이되도록 UI 디바이스(4)에 전송한다(188).
임계 값을 설정함으로써, 매칭 모듈(18)은 필터 콘텐츠 식별자를 선택하여 콘텐츠 필터 선호사항의 정확도를 개선할 수 있다. 일부 예들에서, 매칭 모듈(18)은 오브젝트와 연관된 콘텐츠 식별자를 확률 값에 기반하여 순서 정렬할 수 있다. 매칭 모듈(18)은 오브젝트의 필터링을 콘텐츠 식별자의 순서에 기반하여 결정할 수 있다.
도 5는 본 발명의 하나 이상의 양태에 따른, 필터 콘텐츠의 선택 및 디스플레이를 관리하기 위한 다른 예시적인 동작을 예시하는 흐름도이다. 오직 예시를 위하여, 예시적인 동작이 도 1 및 도 2에 도시된 청구된 디바이스(10)의 콘텍스트에서 이하 설명된다. 도 5는 일반적 레벨에서의, 컴퓨팅 디바이스(10)를 위한 머신 학습 및 가중된 확률을 업데이트하기 위한 프로세스의 일 예이다.
일 예에서, 컴퓨팅 디바이스(10)는, 사용자가 필터 기준으로서 사용하기 위한 필터 용어를 선택하면, 필터 기준들의 선택을 수신할 수 있다. 또한, 사용자는, 필터 애플리케이션 및 애플리케이션의 선택을 적용하기 위한 적어도 하나의 애플리케이션을 컴퓨팅 디바이스(10)의 복수 개의 애플리케이션으로부터 선택할 수 있다(190). 필터 애플리케이션은 컴퓨팅 디바이스(10) 상에서 실행되는 애플리케이션 중 하나와 연관되고 각각의 애플리케이션에 대해 의도되는 네트워크로부터 수신된 응답을 인터셉트할 수 있다. 이러한 응답은 이미지, 포토, 문서, 텍스트, 오디오 등과 같은 오브젝트, 및 연관된 메타데이터 또는 수신된 오브젝트의 콘텐츠를 식별하는 것을 도울 수 있는 임의의 데이터를 포함할 수 있다(192). 이러한 콘텐츠 식별자에 기반하여, 필터 모듈(16)은 필터 기준들의 선택과 비교된, 각각의 콘텐츠 식별자에 대한 각각의 가중된 확률을 결정할 수 있다(194). 오브젝트(들)가 없는 그래픽 요소를 결정된 가중된 확률에 기반하여 결정한다(196). 필터 설정에 따라서, 오브젝트와 연관된 각각의 애플리케이션에 대하여 오브젝트(들)가 없는 출력 그래픽 요소를 출력한다(198). 예컨대 필터 모듈(16)이 특정한 모드에서 실행되고 있으면, 그래픽 요소는 출력을 결정하기 위하여 사용자 설정을 사용한다. 예를 들어, 제 1 모드에서는, 필터링된 콘텐츠는, 필터링된 콘텐츠를 표시하며 필터링된 콘텐츠를 봉이게 하기 위한 그래픽 버튼을 포함하는, 각각의 애플리케이션의 그래픽 요소 내의 통지로 대체될 수 있다. 컴퓨팅 디바이스(10)는 제스쳐와 같은 표시를 그래픽 사용자 인터페이스(200)에서 검출할 수 있다. 일 예에서, 사용자는 그래픽 버튼에 탭하여, 컴퓨팅 디바이스(10)가 그래픽 요소를 변하게 하는 동작을 실행하게 함으로써, 그래픽 요소가 필터링된 콘텐츠를 필터링되지 않았던 것처럼 디스플레이하게 할 수 있다(202). 리뷰한 후에, 사용자는 필터링된 콘텐츠를 애플리케이션의 그래픽 요소 내에 남겨둘 수 있다. 필터 모듈(16)은 이것을 각각의 애플리케이션의 그래픽 요소에 복원된 특정한 콘텐츠를 "필터해제(unfilter)"하는 것으로 해석할 수 있고(202), 이에 응답하여 필터링된 콘텐츠와 연관된 가중된 확률을 감소시킬 수 있다(204). 다른 예들에서, 필터링된 콘텐츠를 본 후에, 사용자는 추가적인 용어 또는 필터 기준들을 입력함으로써 필터 기준들을 업데이트할 수 있다(200). 필터 모듈(16)은 필터 기준들을 업데이트 및 저장할 수 있고(202), 다른 워드 및 입력된 필터링된 기준들과의 연관성을 포함하게끔 입력된 용어를 확장하도록 동적 필터링을 수행할 수 있다(202). 일 예에서, 필터 모듈(16)은 입력된 필터 기준들이 다른 필터 기준 용어와 유사하다고 결정할 수 있고, 입력된 필터 기준들을 콘텐츠가 필터링되어야 한다고 확정하는 것으로 해석한다(202). 필터 모듈(16)은 필터링된 콘텐츠의 가중된 확률을 그들의 각각의 값을 증가시킴으로써 업데이트한다(204). 컴퓨팅 디바이스(10)는 증가되거나 감소된 생성된 가중된 확률을 장래의 사용을 위하여 필터링 콘텐츠 내에 저장할 수 있다.
도 6a는 본 발명의 하나 이상의 양태에 따른, 필터링된 콘텐츠의 선택된 그룹을 포함하는 예시적인 그래픽 사용자 인터페이스를 도시하는 개념도이다. 도 6a의 예에서, 디스플레이는 제목 "그룹 추가"(208) 하에 필터링을 위한 기준들과 연관된 토픽 또는 그룹을 식별하는 워드의 목록을 표시할 수 있다. 예를 들어, "시리아"(210), "북한"(220), 및 "전쟁"(230)이 필터링하기 위한 토픽으로서 나열된다. 도 6a에 나열된 워드는 미리 결정되고 필터 애플리케이션 내에 저장될 수 있고, 또는 이들은 그래픽 사용자 인터페이스에서의 입력을 통해 사용자에 의해 생성된다. 다른 예들에서, 사용자는 필터 기준들로서 사용되기 위한 이러한 용어를 입력할 수 있고, 또는 "그룹 추가"(208) 밑에 추가될 추가적인 토픽 또는 그룹을 입력할 수 있다. 사용자는, 애플리케이션이 필터링을 위한 기준들로서 사용하는 추가적인 그룹을, 예를 들어 "추가" 버튼(240)에 탭하여 그래픽 키보드 또는 다른 사용자 입력 콘트롤이 디스플레이에 나타나게 함으로써 추가할 수 있다. 그래픽 키보드 또는 다른 입력 툴이 나타나서(도 6a에는 미도시), 사용자가 텍스트, 이모지(emojis), 오디오 입력(예컨대, 구술 또는 음성 명령), 또는 필터 기준들로서 사용할 다른 입력을 입력하게 할 수 있다. 그러면, 필터 애플리케이션은 이러한 용어를 필터링할 콘텐츠를 결정하는 데에 사용하기 위하여 자신의 메모리, 또는 원격 서버에 저장할 것이다. 다른 예들에서, 입력된 용어는, 콘텐츠 필터 애플리케이션이 해당 용어와 연관된 다른 워드를 동적 범주화된 콘텐츠 필터링 및 검색 기법을 사용하여 자동적으로 결정하면 확장될 수 있다. 다른 예들에서, 필터 애플리케이션은 필터링 능력 및 정확도를 개선하기 위해서, 저장된 워드와 연관된 다른 워드를 결정하기 위하여 당업계에 공지된 다른 기법을 사용할 수 있다.
사용자 입력 텍스트는 단일 용어로서, 또는 컴퓨팅 디바이스가 입력된 용어와 함께 포함시키도록 결정하는 용어들의 그룹과 함께 저장될 수 있다. 다른 예들에서, 콘텐츠 필터는 단일 워드 및 콘텐츠 필터링에서 사용하기 위한 다른 워드 또는 식별자 사이의 관련성을 저장하거나 저장하도록 요청할 수 있다. 단일 워드의 목록, 또는 필터 기준들 대신에, 필터 애플리케이션은 단일 주제와 모두 연관된 여러 워드를 디스플레이할 수 있다. 예를 들어, 도 6a에서, 시리아(210)는 "알레포, 시리아 위기, 폭격, ISIS, 테러리즘"(도 6a에는 미도시)을 포함하도록 확장될 수 있고, 북한(220)은 "핵 무기" 또는 목록에서 식별된 특정한 토픽과 연관되거나 나열된 각각의 워드와 연관된 현재의 또는 과거의 이벤트, 별칭 등과 연관된 다른 워드를 더 포함할 수 있다.
일 예에서, 동작은 오브젝트와 연관된 그래픽 요소가 애플리케이션의 목록으로부터, 콘텐츠 필터를 적용할 특정한 애플리케이션을 선택하는 것을 포함할 수 있다. 다른 예에서, 애플리케이션의 목록은 스크롤될 수 있다. 또 다른 예에서, 동작은 사용자 입력의 수신된 표시에 응답하여, 애플리케이션의 서브세트와 상이한 추가적 표시를 포함할 수 있다. 일부 예들에서, 사용자는 필터에 추가될 용어를 입력하려고 시작할 수 있다. 필터 애플리케이션은 필터링을 위해 사용할 제안된 용어를 디스플레이할 수도 있다. 사용자는 존재-감응식 디스플레이에서 동작을 취함으로써 용어를 그룹에 추가하도록 표시하고, 용어, 또는 용어들을 필터 애플리케이션(또는 원격 서버)에 저장할 수 있다.
도 6b는 사용자가 그룹 또는 토픽, 예를 들어 "북한"(248)에 추가할 수 있는 워드, 및 관련된 콘텐츠를 필터링하기 위한 기준들을 식별할 수 있는 특정 용어를 포함하는 예시적인 그래픽 사용자 인터페이스의 개념도이다. 도 6b의 예에서, 본 발명의 하나 이상의 양태에 따른, 필터링된 콘텐츠의 선택된 그룹인 필터 기준들 "DPRK"(250), "김정은"의 표시가 존재할 수 있다. 도 6a의 예에서, 디스플레이는 제목 "그룹 추가"(208) 하에 필터링을 위한 기준들과 연관된 토픽 또는 그룹을 식별하는 워드의 목록을 표시할 수 있다. 이러한 워드는 미리 결정되고 사용자에게 제안될 수 있고, 또는 사용자는 워드를 수동으로 입력하고(음성 명령에 의해, GUI에서의 그래픽 키보드에서 타이핑함으로써 등) 또는 필터 애플리케이션에 저장할 수 있다. 컴퓨팅 디바이스는 콘텐츠 필터를 넓히고 토픽 또는 그룹 또는 용어와 연관된 콘텐츠를 필터링하는 정확도를 개선하기 위하여 이러한 추가적인 용어를 사용할 수 있다.
도 7은 본 발명의 하나 이상의 양태에 따른, 콘텐츠 필터를 적용하는 애플리케이션을 선택하기 위한 예시적인 그래픽 사용자 인터페이스를 도시하는 개념도이다. 도 7의 예에서, 컴퓨팅 디바이스(10)는 콘텐츠 필터를 활용할 수 있는, 컴퓨팅 디바이스에서 이용가능한 애플리케이션을 디스플레이할 수 있다. 애플리케이션의 목록은 사용자가 애플리케이션의 디스플레이된 목록 중에서 어떤 애플리케이션을 개별적으로 선택하는지 표시함으로써, 사용자가 목록으로부터 하나 이상을 선택할 수 있게 할 수 있다. 도 7의 예에서, 디스플레이는 애플리케이션과 연관된 식별자(예를 들어, 그래픽, 상표, 텍스트 등)를 여덟 개의 애플리케이션의 목록에 표시한다. 사용자 입력에 기반하거나 애플리케이션 식별자 옆에 체크를 포함함으로써 특정한 애플리케이션의 선택이 표시된다. 예를 들어, 체크 마크가 여덟 개의 식별된 애플리케이션의 목록에서 애플리케이션 식별자 "Instagram"(320), "Linkedin"(340), "Youtube"(370), 및 "Yahoo" 옆에 나타난다. 식별된 애플리케이션 "Facebook"(310), "트위터"(350), 및 "Whatsapp"(360)은 콘텐츠 필터를 적용하기 위한 애플리케이션의 선택을 표시하는 체크 마크를 가지지 않는다. 사용자가 표시한 선택, 또는 체크 마크 때문에, 애플리케이션은 체크된 수신된 콘텐츠 또는 표시된 애플리케이션만 필터링할 것이다. 체크되지 않거나 선택되지 않은 애플리케이션은 디스플레이된 콘텐츠로부터 필터링된 콘텐츠를 가지지 않을 것이다.
사용자는 "전부 선택" 박스(300)를 체크함으로써 모든 애플리케이션의 선택을 표시하여, 필터를 나열된 모든 애플리케이션에 적용할 수 있다. "전부 선택"을 선택할 것을 표시함으로써, 애플리케이션은 컴퓨팅 디바이스 상에 있으며 필터링을 위해 이용가능한 모든 애플리케이션에 적용될 것이다. 또한, 사용자는 "장래의 모든 앱을 자동으로 포함" 박스(390)를 선택하여, 설치, 업데이트, 다운로드 등이 되는 모든 장래의 애플리케이션이 애플리케이션의 콘텐츠에 필터를 자동으로 적용할 것을 표시할 수 있다.
일부 예들에서, 컴퓨팅 디바이스는 존재 감응 디스플레이에서 입력을 검출할 수 있다. 도 2의 예에서, 그래픽 모듈(20)은 필터를 적용하려는 애플리케이션의 선택을 결정하기 위하여 사용자 제스쳐를 사용할 수 있다. 이러한 예에서, UI 디바이스(4)는, 필터링된 콘텐츠 또는 필터링된 콘텐츠를 표시하라는 표시를 디스플레이하는 UI 디바이스(4)의 위치에서 터치 제스쳐(예를 들어, 사용자에 의한 탭, 스와이프 등)를 검출할 수 있다. UI 디바이스(4)는 터치 제스쳐를 검출하고, 이에 응답하여UI 모듈(예를 들어 데이터(50) 내)은 터치 제스쳐가 필터링된 콘텐츠를 디스플레이하라고 표시하는 그래픽 버튼 중 하나와 연관되는 위치에서 이루어지는지를 결정할 수 있다. 터치 제스쳐가 특정한 위치 또는 식별된 디스플레이 중 하나의 미리 결정된 거리 내에 있으면, UI 모듈은 UI 디바이스(4)가 그래픽 디스플레이의 디스플레이를 변경하게 하여, 예컨대 애플리케이션의 선택을 표시하기 위한 체크 마크를 추가할 수 있다. 일 예에서, 동작은 오브젝트와 연관된 그래픽 요소가 애플리케이션의 목록으로부터, 콘텐츠 필터를 적용할 특정한 애플리케이션을 선택하는 것을 포함할 수 있다. 다른 예에서, 애플리케이션의 목록은 스크롤될 수 있다. 또 다른 예에서, 동작은 사용자 입력의 수신된 표시에 응답하여, 애플리케이션의 서브세트와 상이한 추가적 표시를 디스플레이하는 것을 포함할 수 있다.
비록 본 발명이 본 명세서에서 예시적인 실시예로 설명되었지만, 당업자는 다양한 변형, 변경 및 변동이 본 발명의 본질적인 범위에서 벗어나지 않으면서 본 발명의 방법의 요소, 동작 및 세부사항에 이루어질 수 있다는 것을 이해할 것이다. 본 명세서에서 설명되는 시스템은, 본 발명으로부터 벗어나지 않으면서 제거된 일부 컴포넌트 방법 또는 시스템에 추가된 다른 컴포넌트로 구현될 수 있다. 도면에 예시된 상이한 단계들은 예시적인 도면에 도시된 특정 순서를 요구하지 않을 수 있다. 또한, 일부 단계는 제거될 수 있고 또는 일부 단계가 추가될 수 있으며, 단계 중 일부의 순서는 설명된 단계들의 흐름에 대해 변경될 수 있다. 더욱이, 하나의 도면에 도시된 하나 이상의 단계는 본 발명에서 벗어나지 않으면서 본 발명의 구현형태에 있는 다른 도면 내에 적절하게 포함될 수 있다. 본 명세서에서 설명된 발명은, 본 발명의 원리를 설명하기 위하여 주어진 예시적인 실시예 또는 예로 한정되도록 의도되지 않는다. 당업자는 본 발명의 범위에서 벗어나지 않으면서 본 발명을 다른 적절한 예에서도 사용하고 구현할 수 있다. 본 발명은 첨부된 청구항들의 범위 내의 모든 실시예를 포함할 것이다.
일 예에서, 동작은, 컴퓨팅 디바이스의 운영 체제에 통합된, 컴퓨팅 디바이스 상의 데이터 콘텐츠의 필터링아웃 방법을 포함할 수 있다. 이러한 방법은 컴퓨팅 디바이스에 의하여 그리고 애플리케이션에 의한 네트워크 요청에 응답하여, 콘텐츠 식별자와 연관된 오브젝트를 수신하는 것, 및 컴퓨팅 디바이스에 의하여 그리고 선택된 필터 기준들의 표시에 기반하여, 오브젝트에 대한 각각의 가중된 확률을 결정하는 것을 포함할 수 있다. 이러한 동작은, 컴퓨팅 디바이스에 의하여, 가중된 확률에 기반하여 애플리케이션에 대한 그래픽 요소를 결정하는 것, 및 컴퓨팅 디바이스에 의하여 그리고 컴퓨팅 디바이스의 그래픽 사용자 인터페이스에서, 그래픽 요소를 출력하는 것을 포함할 수 있다.
다른 예에서, 동작은 복수 개의 애플리케이션 중 적어도 하나의 애플리케이션의 선택을 수신하는 것, 및 컴퓨팅 디바이스 내에, 적어도 하나의 애플리케이션의 선택 및 필터 콘텐츠의 선택을 저장하는 것을 더 포함한다. 다른 예에서, 동작은, 컴퓨팅 디바이스에 의하여 그리고 그래픽 요소 출력 및 각각의 가중된 확률과 연관된 사용자 입력에 기반하여, 업데이트된 복수 개의 가중된 확률을 생성하는 것을 더 포함한다. 그래픽 요소를 결정하는 것은, 가중된 확률에 대한 미리 결정된 임계에 적어도 부분적으로 기반할 수 있다. 이러한 동작은, 컴퓨팅 디바이스에 의하여 사용자 입력 및 동적 필터링 중 적어도 하나에 기반하여 업데이트된 선택된 필터 기준들을 생성하는 것을 더 포함할 수 있다. 다른 예에서, 동작은 복수 개의 서브-오브젝트를 포함하는 오브젝트를 수신하는 것을 더 포함하고, 각각의 서브-오브젝트는 콘텐츠 식별자와 연관되며, 그래픽 요소는 오브젝트의 각각의 서브-오브젝트에 대한 가중된 확률 및 콘텐츠 식별자에 기반한다.
일부 동작에서, 컴퓨팅 디바이스는 네트워크에 액세스하기 위한 허락 및 각각의 애플리케이션과 연관된 계정 정보를 수신한다. 또 다른 예에서, 비-일시적 컴퓨터 판독가능 매체는 컴퓨팅 디바이스의 운영 체제의 일부이다. 일부 동작은 컴퓨팅 디바이스 상의 데이터 콘텐츠를 필터링아웃하는 것이, 컴퓨팅 디바이스의 사용자 인터페이스에서의 사용자 입력에 기반하여 이네이블되거나 디스에이블되는 것을 포함할 수 있다. 다른 예에서, 동작은 필터 기준들의 선택의 표시를 수신하는 것이, 상기 컴퓨팅 디바이스의 계정으로의 액세스를 요구하는 것을 포함한다. 이러한 동작은, 그래픽 요소의 출력을 필터링하기 위한 오브젝트의 선택에 대응하는 사용자 입력의 업데이트 표시에 기반하여 콘텐츠 필터를 업데이트하는 것을 더 포함한다. 일부 예들에서, 오브젝트는 비디오, 메시지, 텍스트, 문서, 이미지, 오디오, URL, 및 다른 웹 데이터 중 적어도 하나를 포함한다.
일부 예들에서, 그래픽 요소의 출력은, 그래픽 요소가 필터링된 콘텐츠를 시청하는 액세스를 포함하는 제 1 모드, 또는 그래픽 요소가 출력된 그래픽 요소 내에 필터링된 콘텐츠를 시청하는 표시를 포함하지 않는 제 2 모드에 기반하여 결정되는 것을 포함할 수 있다. 다른 예에서, 필터 기준들의 선택의 표시는, 사용자 입력에 의해 결정되는 주제와 연관된 필터 기준들의 그룹에 대한 것이다. 일부 예들에서, 필터 기준들의 선택의 표시는 데이터 타입과 연관된 필터 기준들의 그룹에 대한 것이다. 일부 예들의 동작은 또한, 필터링된 콘텐츠의 사용자에게 통보하는 표시를 컴퓨팅 디바이스에 의하여 그래픽 사용자 인터페이스에 전송하는 것을 더 포함할 수 있다. 일부 실례들에서, 콘텐츠 식별자는 메타데이터, 캐싱된 데이터, 및 오브젝트와 연관된 다른 데이터를 포함할 수 있다.
다른 예에서, 컴퓨팅 디바이스의 운영 체제에 의하여 콘텐츠를 필터링하기 위한 시스템은, 필터 기준들을 포함하는 제 1 데이터베이스, 각각의 네트워크와 연관된 복수 개의 애플리케이션을 포함하는 제 2 데이터베이스, 복수 개의 애플리케이션 중 하나와 연관된 각각의 네트워크로부터의 콘텐츠 식별자와 연관된 오브젝트를 수신하도록 구성되는 프로세서를 포함할 수 있다. 일부 예들에서, 컴퓨팅 디바이스는, 오브젝트와 연관된 수신된 콘텐츠 식별자를 제 1 데이터베이스 내에 저장된 데이터와 비교하고, 콘텐츠 식별자 및 제 1 데이터베이스의 데이터의 비교에 기반하여 제 2 데이터베이스에 저장된 애플리케이션 중 하나에 대한 그래픽 요소를 결정하며, 복수 개의 애플리케이션 중 하나에 대한 그래픽 요소를 오브젝트-연관 콘텐츠 식별자 및 선택된 필터 기준들의 비교에 기반하여 생성하도록, 상기 프로세서에 커플링된 컴퓨팅 디바이스의 운영 체제에 구현된 비-일시적 컴퓨터 판독가능 매체를 더 가질 수 있다. 일부 예들에서, 상기 비-일시적 컴퓨터 판독가능 매체에 구현된 컴퓨터 프로그램의 동작은, 상기 프로세서에 의해 실행되면, 상기 프로세서가 필터 기준들과 연관된 상기 오브젝트를 제외하는 그래픽 요소를 상기 컴퓨팅 디바이스의 사용자 인터페이스에서 생성하게 하는 컴퓨터 명령을 포함할 수 있다.
또 다른 예에서, 애플리케이션의 콘텐츠를 필터링하기 위한, 컴퓨팅 디바이스의 운영 체제에 구현된 컴퓨터 프로그램 제품은, 커플링된 프로세서가, 필터 기준들의 선택의 표시를 수신하는 것, 액세스 요청을 애플리케이션과 연관된 네트워크에 전송하는 것, 애플리케이션 중 적어도 하나와 연관된 네트워크로의 액세스 요청에 응답하여, 콘텐츠 식별자와 연관된 오브젝트를 수신하는 것, 수신된 오브젝트에 대한 각각의 가중된 확률을 결정하는 것, 및 가중된 확률 및 선택에 기초하여 그래픽 요소를 결정하는 것을 포함하는 동작을 수행하게 한다.
다양한 실시예들이 설명되었다. 이러한 실시예들과 다른 실시예들은 후속하는 청구범위들의 범위 내에 속한다.

Claims (19)

  1. 컴퓨팅 디바이스의 그래픽 사용자 인터페이스 상에 디스플레이된 콘텐츠를 필터링하기 위한, 저장된 컴퓨터 프로그램 명령 및 데이터를 가지는 비-일시적 컴퓨터-판독가능 저장 매체 상의 데이터 콘텐츠를 필터링아웃하는 방법으로서,
    상기 컴퓨터 프로그램 명령 및 데이터는, 적어도 하나의 프로세서에 의해 실행되면 상기 컴퓨팅 디바이스의 동작을 수행하도록 상기 적어도 하나의 프로세서를 구성하고, 상기 동작은,
    컴퓨팅 디바이스에 의하여 그리고 복수 개의 애플리케이션 중 적어도 하나의 애플리케이션에 의한 네트워크 요청에 응답하여, 상기 복수 개의 애플리케이션 중 하나에 대한 디스플레이 콘텐츠 식별자와 연관된 오브젝트를 수신하는 것;
    상기 컴퓨팅 디바이스에 의하여 그리고 사용자 선택 필터 기준들의 표시 및 동적 필터링 워드에 기반하여, 상기 오브젝트에 대한 각각의 가중된 확률을 결정하는 것;
    원격 서버로부터 추가적인 동적 필터링 워드를 수신하여, 상기 가중된 확률 및 필터 워드의 추가적인 동적 세트에 기반하여, 적어도 하나의 프로세서가 업데이트된 가중된 확률을 결정하게 하는 것;
    상기 컴퓨팅 디바이스에 의하여, 상기 가중된 확률에 기반하여 그리고 연관된 사용자 계정의 사용자 선호사항에 기반하여, 상기 복수 개의 애플리케이션 중 적어도 하나의 애플리케이션에 대한 그래픽 요소를 결정하는 것;
    상기 컴퓨팅 디바이스에 의하여 그리고 상기 컴퓨팅 디바이스의 그래픽 사용자 인터페이스에서, 콘텐츠를 필터링하기 위한 컴퓨터 프로그램을 실행하기 위한, 연관된 사용자 계정 내의 상기 복수 개의 애플리케이션 중 사용자에 의해 선택된 각각의 개별 애플리케이션에 대한 그래픽 요소를 출력하는 것; 및
    상기 컴퓨팅 디바이스에서, 추가적인 동적 필터 워드 및 상기 오브젝트에 대한, 생성되어 업데이트된 가중된 확률을 저장하는 것을 포함하는, 데이터 콘텐츠 필터링아웃 방법.
  2. 제 1 항에 있어서,
    상기 동작은,
    콘텐츠를 필터링하기 위한, 상기 복수 개의 애플리케이션 중 적어도 하나의 애플리케이션의 선택을 수신하는 것; 및
    사용자 계정 정보와 연관된 컴퓨팅 디바이스 내에, 적어도 하나의 애플리케이션의 선택 및 필터 콘텐츠의 선택을 저장하는 것을 더 포함하는, 데이터 콘텐츠 필터링아웃 방법.
  3. 제 1 항에 있어서,
    상기 동작은,
    상기 컴퓨팅 디바이스에 의하여 그리고 그래픽 요소 출력 및 각각의 가중된 확률과 연관된 사용자 입력에 기반하여, 업데이트된 복수 개의 가중된 확률을 생성하는 것을 더 포함하는, 데이터 콘텐츠 필터링아웃 방법.
  4. 제 1 항에 있어서,
    상기 그래픽 요소를 결정하는 것은, 상기 가중된 확률에 대한 미리 결정된 임계에 적어도 부분적으로 기반하는, 데이터 콘텐츠 필터링아웃 방법.
  5. 제 1 항에 있어서,
    상기 동작은,
    복수 개의 서브-오브젝트를 포함하는 오브젝트를 수신하는 것을 더 포함하고,
    상기 복수 개의 서브-오브젝트의 각각의 서브-오브젝트는 콘텐츠 식별자와 연관되며, 상기 그래픽 요소는 상기 오브젝트의 각각의 서브-오브젝트에 대한 가중된 확률 및 상기 콘텐츠 식별자에 기반하는, 데이터 콘텐츠 필터링아웃 방법.
  6. 제 1 항에 있어서,
    상기 컴퓨팅 디바이스 상의 콘텐츠를 필터링하기 위한 컴퓨터 프로그램은, 상기 콘텐츠를 필터링하기 위한 컴퓨터 프로그램을 실행하는 각각의 애플리케이션에 대하여 네트워크에 액세스하기 위한 허락 및 사용자와 연관된 계정 정보를 수신하는, 데이터 콘텐츠 필터링아웃 방법.
  7. 제 1 항에 있어서,
    상기 컴퓨터 프로그램은, 상기 비-일시적 컴퓨터 판독가능 저장 매체에 적어도 부분적으로 통합되는, 상기 컴퓨팅 디바이스의 운영 체제에 통합되는, 데이터 콘텐츠 필터링아웃 방법.
  8. 제 1 항에 있어서,
    상기 컴퓨팅 디바이스 상의 데이터 콘텐츠를 필터링아웃하는 것은, 상기 컴퓨팅 디바이스의 사용자 인터페이스에서의 사용자 입력에 기반하여 이네이블되거나 디스에이블되는, 데이터 콘텐츠 필터링아웃 방법.
  9. 제 1 항에 있어서,
    상기 필터 기준들의 선택의 표시를 수신하는 것은, 상기 컴퓨팅 디바이스의 계정으로의 액세스를 요구하는, 데이터 콘텐츠 필터링아웃 방법.
  10. 제 1 항에 있어서,
    상기 동작은,
    상기 그래픽 요소의 출력을 필터링하기 위하여, 오브젝트의 선택에 대응하는 사용자 입력의 업데이트 표시에 기반하여 상기 콘텐츠 필터를 업데이트하는 것을 더 포함하는, 데이터 콘텐츠 필터링아웃 방법.
  11. 제 1 항에 있어서,
    상기 오브젝트는 비디오, 메시지, 텍스트, 문서, 이미지, 오디오, URL, 및 다른 웹 데이터 중 적어도 하나를 포함하는, 데이터 콘텐츠 필터링아웃 방법.
  12. 제 1 항에 있어서,
    상기 그래픽 요소의 출력은, 그래픽 요소가 상기 필터링된 콘텐츠를 시청하도록 액세스를 허용하는 필터링된 콘텐츠의 표시를 포함하는 제 1 모드, 또는 출력된 그래픽 요소 내에 필터링된 콘텐츠의 표시를 포함하지 않는 제 2 모드에 기반하여 결정되는, 데이터 콘텐츠 필터링아웃 방법.
  13. 제 1 항에 있어서,
    필터 기준들의 선택의 표시는, 사용자 입력에 의해 결정되는 주제와 연관된 필터 기준들의 그룹에 대한 것인, 데이터 콘텐츠 필터링아웃 방법.
  14. 제 1 항에 있어서,
    필터 기준들의 선택의 표시는 데이터 타입과 연관된 필터 기준들의 그룹에 대한 것인, 데이터 콘텐츠 필터링아웃 방법.
  15. 제 1 항에 있어서,
    데이터 콘텐츠를 필터링아웃하는 것은, 상기 필터링된 콘텐츠의 사용자에게 통보하는 표시를 상기 컴퓨팅 디바이스에 의하여 그래픽 사용자 인터페이스에 전송하는 것을 더 포함하는, 데이터 콘텐츠 필터링아웃 방법.
  16. 제 1 항에 있어서,
    상기 콘텐츠 식별자는 메타데이터, 그래픽 콘텐츠 데이터, 캐싱된 데이터, 및 상기 오브젝트와 연관된 다른 데이터를 포함하는, 데이터 콘텐츠 필터링아웃 방법.
  17. 컴퓨팅 디바이스에 의하여 콘텐츠를 필터링하는 시스템으로서,
    필터 기준들을 포함하는 제 1 데이터베이스;
    각각의 네트워크와 연관된 복수 개의 애플리케이션을 포함하는 제 2 데이터베이스;
    복수 개의 애플리케이션 중 적어도 하나의 애플리케이션에 의한 네트워크 요청에 응답하여, 상기 복수 개의 애플리케이션 중 하나와 연관된 각각의 네트워크로부터 디스플레이 콘텐츠 식별자와 연관된 오브젝트를 수신하도록 구성되는 프로세서; 및
    컴퓨팅 디바이스의 그래픽 사용자 인터페이스 상에 디스플레이되고 상기 프로세서에 커플링된 상기 컴퓨팅 디바이스에서 인코딩되는 콘텐츠를 필터링하기 위하여 상기 프로세서가 동작을 수행하게 하는 저장된 컴퓨터 프로그램 명령 및 데이터를 가지는 비-일시적 컴퓨터 판독가능 저장 매체를 포함하고,
    상기 동작은,
    가중된 확률에 기반하여, 상기 오브젝트와 연관된, 수신된 콘텐츠 식별자를 상기 제 1 데이터베이스 내에 저장된 데이터와 비교하는 것;
    원격 서버로부터, 추가적인 동적 필터링 워드를 수신하여, 적어도 하나의 프로세서가, 상기 가중된 확률 및 필터 워드의 업데이트된 동적 세트에 기반하여 업데이트된 가중된 확률을 결정하게 하는 것;
    상기 제 2 데이터베이스 내에 저장된 상기 복수 개의 애플리케이션으로부터의 애플리케이션 중 적어도 하나에 대하여, 상기 복수 개의 애플리케이션 중 하나의 애플리케이션에 대한 그래픽 요소를 상기 콘텐츠 식별자와 상기 제 1 데이터베이스의 데이터의 비교에 기반하여 결정하는 것;
    상기 컴퓨팅 디바이스에서 그리고 상기 비교에 기반하여, 상기 복수 개의 애플리케이션 중 콘텐츠를 필터링하기 위한 상기 컴퓨터 프로그램을 실행하는 각각의 애플리케이션에 대한 그래픽 요소를 생성하는 것; 및
    사용자 계정 정보와 연관된 상기 제 1 데이터베이스 내에, 업데이트된 가중된 확률 및 사용자 입력을 저장하는 것을 포함하는, 콘텐츠 필터링 시스템.
  18. 제 17 항에 있어서,
    상기 비-일시적 컴퓨터 판독가능 저장 매체 상에 인코딩된 상기 컴퓨터 프로그램은,
    상기 프로세서에 의해 실행되면, 상기 프로세서가 필터 기준들과 연관된 상기 오브젝트를 제외하는 그래픽 요소를 상기 컴퓨팅 디바이스의 사용자 인터페이스에서 생성하게 하는 컴퓨터 프로그램 명령을 포함하는, 콘텐츠 필터링 시스템.
  19. 컴퓨팅 디바이스의 그래픽 사용자 인터페이스 상에 디스플레이된 콘텐츠를 필터링하기 위한, 저장된 컴퓨터 프로그램 명령 및 데이터를 가지는 비-일시적 컴퓨터-판독가능 저장 매체를 포함하는 컴퓨터 프로그램 제품으로서,
    상기 컴퓨터 프로그램 명령 및 데이터는, 적어도 하나의 프로세서에 의해 실행되면, 상기 적어도 하나의 프로세서가 동작을 수행하게 하는 명령을 포함하고,
    상기 동작은,
    필터 기준들의 선택의 표시를 수신하는 것;
    복수 개의 애플리케이션 중 적어도 하나의 애플리케이션과 연관된 네트워크에 액세스 요청을 전송하는 것;
    상기 복수 개의 애플리케이션 중 적어도 하나의 애플리케이션과 연관된 네트워크로의 상기 액세스 요청에 응답하여, 콘텐츠 식별자와 연관된 오브젝트를 수신하는 것;
    수신된 오브젝트에 대한 각각의 가중된 확률을 결정하는 것;
    원격 서버로부터, 추가적인 동적 필터링 워드를 수신하여, 적어도 하나의 프로세서가, 상기 가중된 확률 및 필터 워드의 업데이트된 동적 세트에 기반하여 업데이트된 가중된 확률을 결정하게 하는 것;
    상기 가중된 확률 및 상기 선택에 기반하여 그래픽 요소를 결정하는 것;
    상기 컴퓨팅 디바이스에서 그리고 비교에 기반하여, 콘텐츠를 필터링하기 위한 상기 컴퓨터 프로그램을 실행하기 위해 상기 복수 개의 애플리케이션 중 연관된 사용자 계정 내의 사용자에 의해 선택된 각각의 개별 애플리케이션에 대한 상기 그래픽 요소를 출력하는 것; 및
    상기 컴퓨팅 디바이스에서, 추가적인 동적 필터 워드 및 상기 오브젝트에 대한, 생성되어 업데이트된 가중된 확률을 저장하는 것을 포함하는, 컴퓨터 프로그램 제품.
KR1020197025040A 2017-01-26 2018-01-26 데이터 콘텐츠 필터 KR102102676B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762451050P 2017-01-26 2017-01-26
US62/451,050 2017-01-26
PCT/EP2018/051943 WO2018138252A1 (en) 2017-01-26 2018-01-26 Data content filter

Publications (2)

Publication Number Publication Date
KR20190102308A true KR20190102308A (ko) 2019-09-03
KR102102676B1 KR102102676B1 (ko) 2020-04-22

Family

ID=61168067

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197025040A KR102102676B1 (ko) 2017-01-26 2018-01-26 데이터 콘텐츠 필터

Country Status (7)

Country Link
US (2) US10031977B1 (ko)
EP (2) EP3574414A1 (ko)
JP (1) JP6966099B2 (ko)
KR (1) KR102102676B1 (ko)
CN (1) CN110785756B (ko)
AU (1) AU2018212531B2 (ko)
WO (1) WO2018138252A1 (ko)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190026293A1 (en) * 2017-07-21 2019-01-24 Sharvil Shah Location- and Interest-Based Social Media Platform
US10747525B2 (en) * 2018-03-09 2020-08-18 International Business Machines Corporation Distribution of a software upgrade via a network
US10732828B2 (en) 2018-06-28 2020-08-04 Sap Se Gestures used in a user interface for navigating analytic data
US10896496B2 (en) * 2018-08-01 2021-01-19 International Business Machines Corporation Determination of high risk images using peer-based review and machine learning
KR102661806B1 (ko) * 2018-11-27 2024-04-30 삼성전자주식회사 디스플레이 장치의 제어 방법 및 그에 따른 디스플레이 장치
US11126678B2 (en) 2019-03-05 2021-09-21 Corinne Chantal David Method and system to filter out harassment from incoming social media data
US11170064B2 (en) 2019-03-05 2021-11-09 Corinne David Method and system to filter out unwanted content from incoming social media data
US11567986B1 (en) 2019-03-19 2023-01-31 Meta Platforms, Inc. Multi-level navigation for media content
US11150782B1 (en) 2019-03-19 2021-10-19 Facebook, Inc. Channel navigation overviews
USD943625S1 (en) 2019-03-20 2022-02-15 Facebook, Inc. Display screen with an animated graphical user interface
USD938482S1 (en) 2019-03-20 2021-12-14 Facebook, Inc. Display screen with an animated graphical user interface
US10868788B1 (en) 2019-03-20 2020-12-15 Facebook, Inc. Systems and methods for generating digital channel content
US11308176B1 (en) 2019-03-20 2022-04-19 Meta Platforms, Inc. Systems and methods for digital channel transitions
USD943616S1 (en) 2019-03-22 2022-02-15 Facebook, Inc. Display screen with an animated graphical user interface
USD949907S1 (en) 2019-03-22 2022-04-26 Meta Platforms, Inc. Display screen with an animated graphical user interface
USD937889S1 (en) 2019-03-22 2021-12-07 Facebook, Inc. Display screen with an animated graphical user interface
USD933696S1 (en) 2019-03-22 2021-10-19 Facebook, Inc. Display screen with an animated graphical user interface
USD934287S1 (en) 2019-03-26 2021-10-26 Facebook, Inc. Display device with graphical user interface
USD944828S1 (en) 2019-03-26 2022-03-01 Facebook, Inc. Display device with graphical user interface
USD944827S1 (en) 2019-03-26 2022-03-01 Facebook, Inc. Display device with graphical user interface
USD944848S1 (en) 2019-03-26 2022-03-01 Facebook, Inc. Display device with graphical user interface
US11636117B2 (en) * 2019-06-26 2023-04-25 Dallas Limetree, LLC Content selection using psychological factor vectors
WO2021029503A1 (en) * 2019-08-14 2021-02-18 Samsung Electronics Co., Ltd. Electronic device and method for context based data items assimilation
US11132337B2 (en) * 2019-10-15 2021-09-28 Saleforce.com, inc. Dynamically updating distributed content objects
US11816146B1 (en) 2019-11-26 2023-11-14 ShotSpotz LLC Systems and methods for processing media to provide notifications
US11436290B1 (en) * 2019-11-26 2022-09-06 ShotSpotz LLC Systems and methods for processing media with geographical segmentation
US11868395B1 (en) 2019-11-26 2024-01-09 ShotSpotz LLC Systems and methods for linking geographic segmented areas to tokens using artwork
US11310210B2 (en) * 2020-01-17 2022-04-19 International Business Machines Corporation Applying unified governance and integration platform to social media data
CN115004235A (zh) * 2020-01-27 2022-09-02 奇跃公司 基于锚的交叉现实应用的增强状态控制
DE102020000592A1 (de) 2020-01-30 2021-08-05 Dietmar Gude Vorrichtung und Verfahren zum rechnergestützten Schutz vor unerwünschten sensorischen Reizen
WO2022055546A1 (en) * 2020-02-10 2022-03-17 Corinne David Method and system to filter out unwanted content from incoming social media data
WO2021183140A1 (en) * 2020-03-13 2021-09-16 Google Llc System for filtering displayed content at the os level
USD938450S1 (en) 2020-08-31 2021-12-14 Facebook, Inc. Display screen with a graphical user interface
US11188215B1 (en) 2020-08-31 2021-11-30 Facebook, Inc. Systems and methods for prioritizing digital user content within a graphical user interface
USD938448S1 (en) 2020-08-31 2021-12-14 Facebook, Inc. Display screen with a graphical user interface
USD938447S1 (en) 2020-08-31 2021-12-14 Facebook, Inc. Display screen with a graphical user interface
US11347388B1 (en) 2020-08-31 2022-05-31 Meta Platforms, Inc. Systems and methods for digital content navigation based on directional input
USD938451S1 (en) 2020-08-31 2021-12-14 Facebook, Inc. Display screen with a graphical user interface
USD938449S1 (en) 2020-08-31 2021-12-14 Facebook, Inc. Display screen with a graphical user interface
US10949774B1 (en) * 2020-10-08 2021-03-16 Safe Kids LLC Methods and systems for supervising displayed content
WO2022154137A1 (ko) * 2021-01-13 2022-07-21 삼성전자(주) 전자장치 및 그 제어방법
US11356734B1 (en) 2021-05-11 2022-06-07 Safe Kids LLC Methods and systems for counseling a user with respect to supervised content
WO2023009455A1 (en) * 2021-07-26 2023-02-02 Automated Controversy Detection, Inc. Methods and systems for redaction and display of topic-filtered data
US11507266B1 (en) * 2021-08-31 2022-11-22 Motorola Mobility Llc Media capture based on media specifications
US11309086B1 (en) * 2021-09-09 2022-04-19 Safe Kids LLC Methods and systems for interactively counseling a user with respect to supervised content
KR102395846B1 (ko) * 2021-11-19 2022-05-10 ㈜노웨어소프트 디지털 콘텐츠의 필터링 시스템 및 필터링 제어방법
US20230377016A1 (en) * 2022-05-18 2023-11-23 Coupang Corp. Methods and systems for optimizing filters in product searching
US11974012B1 (en) 2023-11-03 2024-04-30 AVTech Select LLC Modifying audio and video content based on user input

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130129914A (ko) * 2010-08-12 2013-11-29 구글 인코포레이티드 터치스크린 상에서의 손가락 인식

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020142844A1 (en) * 2001-02-06 2002-10-03 Kerr Michael A. Biometric broadband gaming system and method
US20050021397A1 (en) 2003-07-22 2005-01-27 Cui Yingwei Claire Content-targeted advertising using collected user behavior data
US8352499B2 (en) 2003-06-02 2013-01-08 Google Inc. Serving advertisements using user request information and user information
US9448705B2 (en) * 2007-11-05 2016-09-20 Trimble Navigation Limited Configuring graphical displays
US8909297B2 (en) * 2008-03-04 2014-12-09 Mike Matas Access management
US8719251B1 (en) * 2008-11-14 2014-05-06 Kayak Software Corporation Sharing and collaboration of search results in a travel search engine
US8881268B2 (en) * 2010-10-07 2014-11-04 Loopmark Limited Secure area for apps
US8762312B1 (en) 2009-09-15 2014-06-24 Symantec Corporation Using sentiment-based analysis in the filtering of web content
US20110258656A1 (en) * 2010-04-19 2011-10-20 Disney Enterprises, Inc. System and method for television application channel sync (TACS)
WO2012148293A1 (en) * 2011-04-28 2012-11-01 Google Inc. Using feedback reports to determine performance of an application in a geographic location
US9076008B1 (en) * 2011-06-27 2015-07-07 Amazon Technologies, Inc. Content protection on an electronic device
US9582786B2 (en) * 2011-07-29 2017-02-28 Facebook, Inc. News feed ranking model based on social information of viewer
US8756500B2 (en) * 2011-09-20 2014-06-17 Microsoft Corporation Dynamic content feed filtering
US9137389B2 (en) * 2011-11-08 2015-09-15 Kajeet, Inc. Master limits and filters for electronic devices
CN102436512B (zh) * 2012-01-17 2013-05-08 电子科技大学 一种基于偏好度的网页文本内容管控方法
US10025853B2 (en) * 2013-09-30 2018-07-17 Verizon Patent And Licensing Inc. Method and apparatus for filtering data based on content selected for future access
US9705738B2 (en) * 2014-07-03 2017-07-11 GroundControl Solutions, Inc. System for cloud-managed mobile device administration
US9386033B1 (en) * 2014-09-10 2016-07-05 Amazon Technologies, Inc. Security recommendation engine

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130129914A (ko) * 2010-08-12 2013-11-29 구글 인코포레이티드 터치스크린 상에서의 손가락 인식

Also Published As

Publication number Publication date
KR102102676B1 (ko) 2020-04-22
JP6966099B2 (ja) 2021-11-10
AU2018212531A8 (en) 2019-10-10
WO2018138252A1 (en) 2018-08-02
EP4239500A3 (en) 2023-11-08
CN110785756A (zh) 2020-02-11
EP4239500A2 (en) 2023-09-06
US20180349502A1 (en) 2018-12-06
AU2018212531B2 (en) 2021-02-25
US20180210960A1 (en) 2018-07-26
JP2020507162A (ja) 2020-03-05
EP3574414A1 (en) 2019-12-04
US10031977B1 (en) 2018-07-24
AU2018212531A1 (en) 2019-09-26
CN110785756B (zh) 2023-10-27

Similar Documents

Publication Publication Date Title
KR102102676B1 (ko) 데이터 콘텐츠 필터
US11644953B2 (en) Techniques for context sensitive illustrated graphical user interface elements
US10712916B2 (en) Methods and systems for displaying text using RSVP
US10237280B2 (en) Management and control of mobile computing device using local and remote software agents
US20190014205A1 (en) User Interface for Surfacing Contextual Actions in a Mobile Computing Device
US10423691B1 (en) Rule and filter-based deeplinking between applications
US9075828B2 (en) Electronic device and method of controlling the same
EP3019986B1 (en) Systems and methods for providing user-specific content on an electronic device
US11610021B2 (en) System and method for masking user identity in digital interactions
US9342386B1 (en) Messaging channel for web pages, extensions, and applications to communicate
US10721198B1 (en) Reducing avoidable transmission of an attachment to a message by comparing the fingerprint of a received attachment to that of a previously received attachment and indicating to the transmitting user when a match occurs that the attachment does not need to be transmitted
EP2742402B1 (en) Method and user interface controlling communications and content from sources
EP3939216B1 (en) Reducing avoidable transmissions of electronic message content
US20200328996A1 (en) Reducing avoidable transmissions of electronic message content
WO2020214344A1 (en) Reducing avoidable transmissions of electronic message content

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant