KR101365862B1 - 필터링 시스템, 컴퓨터 구현 필터링 방법 및 이를 위한 명령어가 저장된 컴퓨터 판독가능 저장 매체 - Google Patents

필터링 시스템, 컴퓨터 구현 필터링 방법 및 이를 위한 명령어가 저장된 컴퓨터 판독가능 저장 매체 Download PDF

Info

Publication number
KR101365862B1
KR101365862B1 KR1020087026113A KR20087026113A KR101365862B1 KR 101365862 B1 KR101365862 B1 KR 101365862B1 KR 1020087026113 A KR1020087026113 A KR 1020087026113A KR 20087026113 A KR20087026113 A KR 20087026113A KR 101365862 B1 KR101365862 B1 KR 101365862B1
Authority
KR
South Korea
Prior art keywords
filtering
data
values
individual
type
Prior art date
Application number
KR1020087026113A
Other languages
English (en)
Other versions
KR20090005057A (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 KR20090005057A publication Critical patent/KR20090005057A/ko
Application granted granted Critical
Publication of KR101365862B1 publication Critical patent/KR101365862B1/ko

Links

Images

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Filtering Materials (AREA)

Abstract

웹사이트를 이용하여 효율적으로 필터링을 행하기 위한 기술이 개시된다. 하나의 방법 접근법에서, 웹사이트와 연관된 웹페이지로부터 선택된 데이터 유형에 기초하는 개별 필터링 값들이 선택된 데이터 유형과 무관한 필터링 값들의 검색을 필요로 하지 않고 수신된다. 웹페이지가 전적으로 갱신되는 것을 필요로 하지 않고 개별 필터링 값들이 표시된다.
웹사이트, 웹페이지, 검색, 필터링, 데이터 유형

Description

필터링 시스템, 컴퓨터 구현 필터링 방법 및 이를 위한 명령어가 저장된 컴퓨터 판독가능 저장 매체{EFFICIENTLY FILTERING USING A WEB SITE}
사람들이 보다 많은 유형 및 보다 큰 양의 데이터를 컴퓨터 시스템에 저장할 수 있도록 컴퓨터 기술이 진보함에 따라, 사람들은 그들이 이전에 저장했던 특정 데이터를 찾는 것이 점점 필요하게 되었다. 예를 들어, 사람들은 자주 그들의 이메일 시스템에서 오래된 이메일을 찾는 것이 필요하다. 일반적으로, 사람들은 이메일의 제목 라인에 있는 송신자의 이름 또는 무언가와 같은 값들에 대한 정렬을 수행할 수 있다. 사람들이 저장하고 찾기를 원하는 데이터의 예는 특히, 문서, 이메일 및 캘린더를 포함한다.
사람들이 예를 들어 소정 유형의 프로젝트를 완수하는 것의 일부로서 많은 유형의 데이터를 체계화할 수 있게 하는 협동형의 소프트웨어도 이용 가능하게 되었다. 예를 들어, 협동 소프트웨어는 프로젝트와 관련하여 작업하는 사람들을 리스트하는 것은 물론, 문서, 이메일, 완료된 태스크들의 캘린더 및 프로젝트를 위해 완료되어야 하는 태스크들을 체계화하는 데 사용될 수 있다.
다양한 시간에, 프로젝트와 관련하여 작업하는 사람들은 물론, 이들의 관리자들은 적절한 데이터를 찾기를 원할 수 있다. 예를 들어, 원하는 문서를 찾기 위하여, 사람들은 일반적으로 협동 소프트웨어에서 프로젝트와 관련된 문서들에 대한 정렬 작업 또는 필터 작업을 수행한다.
그러나, 더 분명해지는 바와 같이, 종래의 정렬 및 필터 작업들은 느린 경향이 있어, 사람들이 이들을 사용하는 것을 단념하게 한다. 예를 들어, 일반적으로 많은 양의 데이터를 필터링하고 정렬하는 데에는 약 30초가 걸린다.
<발명의 요약>
이 요약은 아래의 상세한 설명에서 더 설명되는 값들의 효율적인 필터링에 관한 개념들을 소개하기 위해 제공된다. 이 요약은 청구 발명의 중요한 특징들 또는 필수적인 특징들을 식별하거나, 청구 발명의 범위를 결정하는 데 있어서의 보조물로서 사용하고자 하는 의도는 없다.
웹사이트를 이용하여 효율적으로 필터링을 행하기 위한 기술이 개시된다. 하나의 방법 접근법에서, 웹사이트와 연관된 웹페이지로부터 선택된 데이터 유형에 기초하여 개별 필터링 값들(distinct filtering values)이 선택된 데이터 유형과 무관한 필터링 값들의 검색을 필요로 하지 않고 수신된다. 웹페이지가 전적으로 갱신되는 것을 필요로 하지 않고 개별 필터링 값들이 표시된다.
본 명세서에 포함되고 그 일부를 구성하는 첨부 도면들은 웹사이트를 이용하여 효율적으로 필터링을 수행하기 위한 기술의 실시예들을 도시하며, 그 설명과 함께, 후술하는 원리들의 설명을 제공한다.
도 1은 본 기술의 일 실시예에 따른, 값들을 효율적으로 필터링하기 위한 시스템의 블록도이다.
도 2는 본 기술의 일 실시예에 따른, 웹사이트를 이용하여 효율적으로 필터링을 수행하기 위한 시스템이 동작하는 네트워크 시스템의 블록도이다.
도 3은 본 기술의 일 실시예에 따른, 웹사이트를 이용하여 효율적으로 필터링을 행하는 데 사용될 수 있는 웹페이지를 나타내는 도면이다.
도 4는 본 기술의 일 실시예에 따른, 개별 필터링 값들에 대한 요청의 시각적 표현을 갖는 "에 의해 수정됨(modified by)" 칼럼 헤더의 블록도이다.
도 5는 본 기술의 일 실시예에 따른, 표시된 필터링 선택들(510)의 드롭다운 메뉴를 나타내는 도면이다.
도 6은 본 기술의 일 실시예에 따른, 예를 들어 개별 필터링 값을 선택한 후에 필터링된 결과들을 표시하는 웹페이지를 나타내는 도면이다.
도 7은 본 기술의 다른 실시예에 따른 필터링 선택들을 표시하는 드롭다운 메뉴를 갖는 웹페이지를 나타내는 도면이다.
도 8은 본 기술의 일 실시예에 따른, 선택된 개별 필터링 값을 갖는 웹페이지를 나타내는 도면이다.
도 9는 본 기술의 일 실시예에 따른, 개별 필터링 값들이 로딩되는 과정에 있음을 지시하는 메시지를 웹페이지를 나타내는 도면이다.
도 10은 본 기술의 또 다른 실시예에 따른, 드롭다운 메뉴를 갖는 웹페이지를 나타내는 도면이다.
도 11은 웹사이트를 이용하여 효율적으로 필터링을 행하기 위한 본 기술의, 본 명세서에 설명되는 실시예들을 구현하는 데 사용될 수 있는 일 유형의 컴퓨터의 일례를 나타내는 도면이다.
도 12는 본 기술의 일 실시예에 따른, 웹사이트를 이용하여 효율적으로 필터링을 행하는 방법의 흐름도이다.
본 설명에서 참조되는 도면들은 특별히 언급되는 경우를 제외하고는 축척으로 도시되지 않음을 이해해야 한다.
이제, 웹사이트를 이용하여 효율적으로 필터링을 행하기 위한 본 기술의 실시예들에 대한 참조가 상세히 이루어지는데, 이 실시예들의 예는 첨부 도면들에 도시되어 있다. 웹사이트를 이용하여 효율적으로 필터링을 행하기 위한 기술은 다양한 실시예와 관련하여 설명되지만, 웹사이트를 이용하여 효율적으로 필터링하기 위한 본 기술을 이들 실시예로 제한하고자 하는 의도는 없음을 이해할 것이다. 반대로, 웹사이트를 이용하여 효율적으로 필터링을 행하기 위한 본 기술은 첨부된 청구범위에 의해 정의되는 바와 같은 다양한 실시예의 사상 및 범위 내에 포함될 수 있는 대안들, 변경들 및 균등물들을 포함하는 것으로 의도한다. 또한, 아래의 상세한 설명에서, 다양한 특정 상세는 웹사이트를 이용하여 효율적으로 필터링을 행하기 위한 본 기술의 완전한 이해를 제공하기 위해 설명된다. 그러나, 웹사이트를 이용하여 효율적으로 필터링을 행하기 위한 본 기술은 이러한 특정 상세들 없이도 실시될 수 있다. 다른 사례들에서는, 공지된 방법들, 프로시저들, 컴포넌트들 및 회로들은 본 실시예들의 양태들을 불필요하게 불명확하게 하지 않도록 하기 위해 상세히 설명되지 않았다.
아래의 설명으로부터 명백하듯이, 달리 구체적으로 언급되지 않는 한, 본 상세한 설명 전반에서 "필터링", "제공", "수신", "정렬", "결정", "표시", "저장", "취득", "분할" 등과 같은 용어들을 사용하는 설명들은 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 장치의 액션들 및 프로세스들을 참조하는 것으로 이해된다. 컴퓨팅 시스템 또는 유사한 전자 컴퓨팅 장치는 컴퓨터 시스템의 레지스터들 및 메모리들 내에 물리(전자) 양들로서 표현된 데이터를, 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 그러한 정보 저장, 전송 또는 디스플레이 장치들 내에 물리량들로서 유사하게 표현되는 다른 데이터로 조작, 변환한다. 웹사이트를 이용하여 효율적으로 필터링을 행하기 위한 본 기술은 예를 들어 광학 및 기계적 컴퓨터들과 같은 다른 컴퓨터 시스템들의 사용에도 적합하다. 또한, 웹사이트를 이용하여 효율적으로 필터링을 행하기 위한 본 기술의 실시예들에서, 하나 이상의 단계는 수동으로 수행될 수 있다는 것을 이해해야 한다.
웹사이트를 이용한 효율적인 필터링의 개요
종래의 필터링 시스템들에서는, 사용자가 데이터의 정렬 또는 필터링에 관심 있을 때, 사용자는 그의 클라이언트와 상호작용하여, 그 데이터를 갖는 웹페이지가 그의 클라이언트 상에 표시되게 할 수 있다. 클라이언트는 웹 서버로부터 데이터를 요청할 것이며, 웹 서버는 데이터를 클라이언트에게 반환할 것이다. 데이터는 칼럼들 및 로우들의 형태로 웹페이지 상에 표시될 수 있는데, 칼럼들은 각각의 로우의 필드들에 있는 데이터의 유형들을 기술한다. 로우는 항목으로도 참조될 것이다. 일 실시예에 따르면, 데이터는 로우들 및 칼럼들과 관련된 값들 모두를 포함한다.
데이터와 관련된 각각의 값은 필드에 표시될 수 있다. 예를 들어, 특정 칼럼 하의 특정 로우에 대한 값이 필드에 표시된다. 사용자가 필터링 작업의 수행을 요청할 때, 클라이언트는 웹 서버로부터 데이터 모두를 다시 요청한다. 웹 서버는 데이터 모두에 대해 필터링 작업을 수행하는데, 이는 웹페이지 상의 모든 필드에 대해 표시될 모든 값을 재계산하는 것을 포함한다. 클라이언트는 데이터 필터링의 결과들을 표시하는 것의 일부로서 전체 웹페이지를 재갱신할 것이다.
그러나, 본 기술의 일 실시예에 따르면, 웹사이트를 이용하여 필터링하는 효율적인 방법이 제공된다. 예를 들어, 전술한 바와 같이, 칼럼은 일 유형의 데이터를 표현할 수 있다. 사용자는 일 유형의 데이터에 대한 개별 필터링 값들이 표시될 것을 요청할 수 있다. 일 실시예에 따르면, 개별 필터링 값들은 전체 웹페이지의 재갱신 없이 표시된다. 일 실시예에 따르면, 예를 들어 개별 필터링 값들은 데이터의 서브세트에 대한 것이므로, 웹 서버는 종래의 웹 서버가 해야하는 바와 같이 웹페이지의 모든 필드에 대한 모든 값을 재계산할 필요가 없다. 일 실시예에 따르면, 예를 들어 개별 필터링 값들은 전체 웹페이지의 재갱신 없이 표시될 수 있으므로, 클라이언트는 종래의 클라이언트보다 효율적이다. 이들은 다양한 실시예가 필터링을 효율적으로 행하기 위해 제공하는 방법들의 단지 두 가지 예이다.
웹사이트를 이용하여 효율적으로 필터링하기 위한 시스템
도 1은 본 기술의 일 실시예에 따른, 웹사이트를 이용하여 효율적으로 필터링을 행하기 위한 시스템의 블록도를 나타낸다. 시스템(100)은 필터링 값 요청자(110) 및 필터링 값 표시자(120)를 포함한다. 필터링 값 요청자(110)는 예를 들어 일 유형의 데이터에 대한 개별 필터링 값들을 요청할 수 있다. 필터링 값 표시자(120)는, 더 분명해지는 바와 같이, 예를 들어 전체 웹페이지의 재갱신 없이 개별 필터링 값들을 표시할 수 있다.
도 2는 본 기술의 일 실시예에 따른, 웹사이트를 이용하여 효율적으로 필터링을 행하기 위한 시스템(100)이 동작하는 네트워크 시스템의 블록도이다. 예를 들어, 네트워크 시스템(200)은 클라이언트(210), 웹 서버(230) 및 저장 장치(250)를 포함한다. 일 실시예에 따르면, 클라이언트(210) 및 웹 서버(230)는 네트워크를 통해 통신할 수 있다.
클라이언트(210)는 웹페이지(213)를 이용하여 효율적으로 필터링을 수행하기 위한 시스템(100) 및 브라우저(212)를 포함한다. 브라우저(212)는 웹페이지(213) 및 비가시적인 브라우저 윈도우(214)를 포함한다. 웹페이지(213)는 웹사이트로부터 다운로드되고, 브라우저(212)에 의해 클라이언트(210) 상에 표시될 수 있다. 인터넷 익스플로러(상표), 파이어폭스(상표), 및 넷스케이프(상표)와 같은 많은 상이한 종류의 브라우저들이 사용될 수 있다. 메모리(250)는 데이터(252)를 포함한다. 일 실시예에 따르면, 데이터(252)는 개별 필터링 값들(262)을 포함한다.
전술한 바와 같이, 본 기술의 일 실시예에 따르면, 웹사이트를 이용하여 필터링을 수행하는 효율적인 방법이 제공된다. 예를 들어, 사용자가 메모리(250)에 저장된 데이터(252)로부터 일 유형의 데이터에 대한 필터링에만 관심이 있는 것으로 가정한다. 설명의 목적으로, 웹페이지(213)가 재키(Jackie), 체릴(Cheryl) 및 존(John)과 같은 사람들을 나타내는 로우들을 표시하는 것으로 가정한다. 또한, 웹페이지(213)가 재키가 워싱톤에 사는 40살의 발명자이고, 체릴이 캘리포니아에 사는 41살의 특허 대리인이며, 존이 네바다에 사는 42살의 특허 변호사임을 또한 표시하는 것으로 가정한다. 이 경우, 일 실시예에 따르면, 데이터(252)는 재키, 체릴, 존, 40, 41, 42, 캘리포니아, 워싱톤 및 네바다의 모든 값을 포함할 것이다.
일 실시예에 따르면, 웹페이지(213)의 칼럼 헤더들은 데이터(252)의 유형들을 기술한다. 칼럼 헤더들의 예는 "역할", "나이" 및 "상태"이다. 데이터(252)로부터의 값들은 칼럼들 각각 아래의 필드들에 표시될 수 있다. 이 예를 계속하면, "역할" 칼럼 아래의 필드들은 "발명자", "특허 대리인" 및 "특허 변호사"일 것이다. 이 경우, "역할" 칼럼에 대한 개별 필터링 값들(262)은 "발명자", "특허 대리인" 및 "특허 변호사"이다. 칼럼의 헤더는 "역할"이라고 하는 텍스트를 가질 수 있다. 예를 들어, 사용자가 특정 유형의 역할에 대한 필터링에 관심이 있는 경우, 사용자는 칼럼의 헤더와 상호작용하여, 그 칼럼에 대한 개별 필터링 값들(262)이 표시되게 할 수 있다.
예를 들어, 클라이언트(210)는 웹 서버(230)가 "역할"에 대한 개별 필터링 값들(262) 모두를 반환하도록 요청할 수 있다. 웹 서버(230)는 "역할"과 연관된 개별 필터링 값들(262)을 반환한다. 클라이언트(230)는 비가시적인 브라우저 윈도우(214)를 이용하여, 개별 필터링 값들, 예를 들어 "발명자", "특허 대리인" 및 "특허 변리사"를 저장할 수 있다. 일 실시예에 따르면, 개별 필터링 값들(262)은 전체 웹페이지(213)의 재갱신 없이 클라이언트(210) 상에 표시될 수 있다. 예를 들어, 비가시적인 브라우저 윈도우(214) 내에 있는 개별 필터링 값들(262)은 드롭다운 메뉴 내에 넣어지고, 클라이언트(210) 상에 표시될 수 있다.
설명의 목적을 위해, 사용자가 발명자들에 관한 데이터(252)의 서브세트를 찾는 데 관심 있는 것으로 가정한다. 이 경우, 사용자는 드롭다운 메뉴에 의해 표시된 개별 필터링 값 "발명자"를 클릭할 수 있다. 클라이언트(210)는 웹 서버(230)가 값 "발명자"에 기초하여 데이터(252)를 필터링할 것을 요청할 수 있다. 웹 서버(230)는 역할이 "발명자"인 로우들을 반환할 수 있다. 이어서, 클라이언트(210)의 브라우저(212)는 이 사례에서 재키가 유일한 발명자이므로 재키에 대한 로우를 표시할 수 있다.
일 실시예에 따르면, 개별 필터링 값들(262)은 선택된 데이터 유형과 무관한 필터링 값들의 검색을 필요로 하지 않고 수신된다. 이 예를 계속하면, 선택된 데이터 유형은 "역할"이고, 선택된 데이터 유형과 무관한 필터링 값들은 캘리포니아, 네바다 및 워싱톤, 및 40, 41 및 42와 같은 나이들과 같은 상태들을 포함한다.
웹페이지
도 3은 본 기술의 일 실시예에 따른, 웹 사이트를 이용하여 효과적으로 필터링을 행하는 데 사용될 수 있는 웹페이지를 나타낸다. 도 3에 도시된 바와 같이, 일 실시예에 따르면, 웹페이지(300)는 윈도우 쉐어 포인트 서비스(상표)와 같은 협동 소프트웨어와 연관되며, 따라서 협동 소프트웨어와 연관된 데이터(252)의 필터링을 가능하게 한다. 도 3에 도시된 실시예에 따르면, 웹페이지(300)는 프로젝트와 연관된 모든 공유 문서(310)를 나타낸다. 도 3에 도시된 실시예에서, 모든 공유 문서(310)는 데이터(252)의 예들이다.
클라이언트(210)의 브라우저(212)는 웹페이지(300)를 표시하는 데 사용될 수 있다. 일 실시예에 따르면, 웹페이지(300)는 웹페이지(213)의 일례이다. 일 실시예에 따르면, 칼럼 헤더(320) 상에 클릭하거나 마우스를 이동함으로써, 개별 필터링 값들(262)을 요청하는 데 사용될 수 있는 시각적 표현이 표시된다. 설명의 목적을 위해, 클라이언트(210)의 사용자가 협동 소프트웨어와 연관된 데이터를 수정한 사람들에 대해 필터링하기를 원하는 것으로 가정한다.
일 실시예에 따르면, 도 3-10에 도시된 웹페이지들은 웹페이지들(213)의 예들이다.
개별 필터링 값들에 대한 요청의 시각적 표현
도 4는 본 기술의 일 실시예에 따른, 개별 필터링 값들에 대한 요청의 시각적 표현(420)을 갖는 "에 의해 수정됨" 칼럼 헤더(410)의 블록도이다.
사용자는 필터링 작업을 수행하기를 원할 수 있다. 따라서, 사용자는 그가 관심을 갖고 있는 특정 유형의 데이터에 대한 개별 필터링 값들(262)을 알기를 원할 수 있다. 도 4에 도시된 바와 같이, 칼럼 헤더는 특정인에 의해 수정된 문서들에 대한 필터링을 가능하게 할 것이다. 이 경우, 일 실시예에 따르면, 도 4에 도시된 바와 같은 "에 의해 수정됨"은 사용자가 관심을 갖는 데이터의 유형을 기술한다.
따라서, 일 실시예에 따르면, 개별 필터링 값들에 대한 요청은 "개별 필터링 값들에 대한 요청의 시각적 표현(420)"으로서 사용자에게 시각적으로 표현된다. 일 실시예에 따르면, "에 의해 수정됨" 헤더(320)는 개별 필터링 값들을 요청하기 위한 시각적 표현(420)을 나타내지 않는다. 일 실시예에 따르면, 시각적 표현(420)은 칼럼 헤더(320)를 클릭하거나, 칼럼 헤더(320) 상에 마우스를 이동함으로써 웹 페이지(300) 상에 표시된다.
일 실시예에 따르면, 개별 필터링 값들(262)은 시각적 표현(420)이 클릭된 결과로서 표시된다. 예를 들어, 시각적 표현(420)이 클릭될 때, 필터링 값 요청자(110)는 개별 필터링 값들(262)을 요청할 수 있고, 웹 서버(230)는 개별 필터링 값들(262)을 반환할 수 있다. 필터링 값 표시자(120)는 예를 들어 전술한 바와 같이 개별 필터링 값들(262)을 표시할 수 있다.
다른 실시예에 따르면, 필터링 값 요청자(110)는 칼럼 헤더(320)가 클릭되기 전에 개별 필터링 값들(262)을 요청할 수 있다. 예를 들어, 개별 필터링 값들(262)은 칼럼 헤더(320) 상에 마우스를 이동한 결과로서 요청되고, 클라이언트(210) 상에 표시될 수 있다.
비가시적 브라우저 윈도우
전술한 바와 같이, 개별 필터링 값들(262)의 표시의 일부로서 비가시적 브라우저 윈도우(214)가 사용될 수 있다. 예를 들어, 사용자가 시각적 표현(420)을 클릭한 후에, 필터링 값 요청자(110)는 웹 서버(230)로부터 개별 필터링 값들(262)을 수신할 수 있다. 필터링 값 표시자(120)는 개별 필터링 값들(262)을 비가시적 브라우저 윈도우(214)에 저장할 수 있다. 일 실시예에 따르면, 비가시적 브라우저 윈도우(214)는 아이프레임(iFrame)이다. 비가시적 브라우저 윈도우(214)는 "브라우저 프레임"으로서 참조될 수도 있다.
필터링 값 표시자(120)는 비가시적 브라우저 윈도우(214)로부터 개별 필터링 값들을 취한 후, 전체 웹페이지(213)가 재표시되는 것을 요구하지 않고 개별 필터링 값들(262)을 표시할 수 있다. 예를 들어, 개별 필터링 값들(262)은 비가시적 브라우저 윈도우(214)로부터 취해져, 드롭다운 메뉴에 표시될 수 있다. 일 실시예에 따르면, 비가시적 브라우저 윈도우(214)의 사용은 특히 사용자의 경험이 대체로 중단되지 않는 것을 가능하게 한다.
드롭다운 메뉴
일 실시예에 따르면, 본 기술은 개별 필터링 값들(262)을 나타내는 드롭다운 메뉴를 표시한다. 도 5는 본 기술의 일 실시예에 따른, 표시된 필터링 선택들(510)의 드롭다운 메뉴(500)를 나타낸다. 일 실시예에 따르면, 드롭다운 메뉴(500)는 웹페이지(213)의 일부분이다. 일 실시예에 따르면, 정렬 순서들(520) 및 개별 필터링 값들(262)은 필터링 선택들(510)의 예들이다. 정렬 순서들(520)은 필터링 작업 수행의 결과들을 정렬하는 데 사용될 수 있다.
하나의 값(530)이 개별 필터링 값들(262)로부터 선택될 수 있으며, 이 선택된 값(530)을 이용하여 필터링 작업을 수행할 수 있다. 도 5에 도시된 바와 같이, 선택된 값(530)은 마크 스미스(Mark Smith)이다. 값(530)은 개별 필터링 값들(262)로부터 선택될 수 있으며, 이는 마크 스미스를 이용하여 데이터(252)를 필터링한다.
도 6은 일 실시예에 따른, 선택된 값 마크 스미스를 이용하여 필터링 작업을 수행한 결과들을 표시하는 웹페이지(600)를 나타낸다. 도 6에 도시된 결과들은 마크 스미스에 의해 문서들이 수정된 날짜들의 예들이다.
전술한 바와 같이, 종래의 필터링 시스템들은 HTML 및 자바스크립트의 한계들로 인해 필터링 작업이 수행될 때마다 웹페이지(213)를 재갱신한다. 그러나, 일 실시예에 따르면, 드롭다운 메뉴의 사용은 전체 웹페이지(213)의 재갱신의 필요성을 제거함으로써 효율적인 필터링을 가능하게 한다.
개별 필터링 값들 및 필터링 선택들
도 7은 다른 실시예에 따른, 필터링 선택들(510)을 표시하는 드롭다운 메뉴(500)를 갖는 웹페이지(700)를 나타낸다. 일 실시예에 따르면, 수행되는 필터링 작업으로부터 발생하는 값들의 수는 다소 클 수 있다. 예를 들어, 설명의 목적을 위해, 데이터(252; 도 2)가 회사의 고객들이 거주하는 도시들을 포함하는 것으로 가정한다. 또한, 백만 고객 도시들이 존재하는 것으로 가정한다. 따라서, 일 실시예에 따르면, 개별 필터링 값들(262)은 백만 도시들의 서브세트가 클라이언트(210; 도 2)에게 제공되는 것을 가능하게 한다. 예를 들어, 백만 도시들 중 25개가 클라이언트(210)에게 제공될 수 있다. 일 실시예에 따르면, 고객들의 도시들은 데이터 유형의 일례이다.
다른 예에서, 100,000 도시들의 15% 또는 20%와 같은 지정된 비율이 클라이언트(210)에게 제공될 수 있다. 예를 들어, 도 7에 도시된 바와 같이, 개별 필터링 값들 중 2개는 15% 필터링 값(710) 및 20% 필터링 값(720)이다. 15% 필터링 값(710)이 선택되는 경우, 백만 도시들의 15%가 비가시적 브라우저 윈도우(214)에 저장된 후, 드롭다운 메뉴에 표시될 수 있다. 20% 필터링 값(720)이 선택되는 경우, 백만 도시들의 20%가 비가시적 브라우저 윈도우(214)에 저장된 후, 드롭다운 메뉴에 표시될 수 있다.
일 실시예에 따르면, 개별 필터링 값들(262)은 데이터(252)의 그룹들을 나타낸다. 백만 도시들의 예를 계속하면, 개별 필터링 값들(262)은 문자들 A-D로 시작하는 도시들, 문자들 E-G로 시작하는 도시들 등을 나타낼 수 있다. 예를 들어, 클라이언트(210) 상의 드롭다운 메뉴에 표시된 개별 필터링 값들은 텍스트 "문자들 A-D로 시작하는 도시들", "문자들 E-G로 시작하는 도시들" 등을 가질 수 있다. 일 실시예에 따르면, "문자들 E-G로 시작하는 도시들"이 선택되는 경우, 데이터(252)는 문자들 E-G로 시작하는 도시들에 대해 필터링된다. 문자들 E-G로 시작하는 도시들은 클라이언트(210)에게 반환되어 표시될 수 있다.
일 실시예에 따르면, 데이터(252)의 일부는 개별 필터링 값들(262)이 나타내는 그룹들로 분할된다. 예를 들어, 도시들은 본 명세서에 설명되는 바와 같이 그룹들로 분할되는 데이터(252)의 일부일 수 있다.
일 실시예에 따르면, 그룹들은 캐스케이드 메뉴들에 표시된다. 예를 들어, 문자들 A-D로 시작하는 도시들의 그룹이 하나의 캐스케이드 메뉴에 표시되고, 문자들 E-G로 시작하는 도시들의 그룹이 다른 캐스케이드 메뉴에 표시될 수 있는 등이다.
일 실시예에 따르면, 개별 필터링 값들(262)이 표현하는 데이터(252)의 그룹들은 동적으로 결정될 수 있다. 예를 들어, 한 시점에 소수의 도시들만이 존재할 수 있고, 이어서 나중 시점에 다수의 도시들이 존재할 수 있다. 소수의 도시들이 존재할 때, 문자들 A-M으로 시작하는 도시들 및 문자들 N-Z로 시작하는 도시들과 같은 2개의 그룹만이 존재할 수 있다. 다수의 도시들이 존재할 때, 전술한 예와 같은 다수의 그룹이 존재할 수 있다.
도 8은 일 실시예에 따른, 선택된 개별 필터링 값들(810)을 갖는 웹페이지(800)를 나타낸다. 예를 들어, 도 8에 도시된 바와 같이, 사용자가 20% 필터링 값(810)을 선택했으므로, 20% 필터링 값(810)이 체크된다.
일 실시예에 따르면, 사용자는 몇 개의 문자들을 타이핑하여, 이러한 몇 개의 제1 문자로 시작하는 개별 필터링 값(262)으로 점프할 수 있다. 예를 들어, 개별 필터링 값들(262)이 클라이언트(210) 상에 표시되고, 사용자가 도시 "밀워키(Milwaukee)"를 찾는 데 관심 있는 것으로 가정한다. 사용자는 문자 "M"을 타이핑할 수 있고, "M"으로 시작하는 도시들이 표시될 것이다. 다른 예에서, 사용자는 "Mil"을 타이핑할 수 있고, "Mil"로 시작하는 도시들이 표시될 것이다.
일 실시예에 따르면, 문자들이 타이핑되는 속도는 어느 개별 필터링 값들(262)이 표시되는지에 영향을 미친다. 예를 들어, 사용자가 "Mil"을 타이핑하기를 원하지만, 문자들 각각을 느리게 타이핑하는 경우, "M"으로 시작하는 개별 필터링 값들(262)이 표시된 후, "Mi"로 시작하는 개별 필터링 문자들이 표시되고, 최종적으로 "Mil"로 시작하는 개별 필터링 값들(262)이 표시될 수 있다.
일 실시예에 따르면, 클라이언트(210)가 비교적 짧은 시간에 개별 필터링 값들을 표시할 수 없는 경우에, 도 9는 개별 필터링 값들(262)이 클라이언트(210) 상에 표시되는 과정에 있음을 지시하는 메시지(910)를 갖는 웹페이지(900)를 나타낸다. 예를 들어, 메시지(910)는 시간의 임계치가 경과한 때 표시될 수 있다. 일 실시예에 따르면, 시간의 임계치의 일례는 5초이다. 다른 실시예에 따르면, 시간의 임계치의 일례는 3/10초이다.
도 10은 또 다른 실시예에 따른, 드롭다운 메뉴(500)를 갖는 웹페이지(1000)를 나타낸다. 개별 필터링 값들(262)의 수가 너무 커서 데이터(252)의 15% 또는 20%를 효율적으로 필터링하지 못할 수 있다. 예를 들어, 도시들의 수가 백만인 경우, 백만의 15% 또는 20%는 너무 커서 클라이언트(210)에게 효율적으로 제공되지 못할 수 있다. 이 경우, 개별 필터링 값들(262)은 사용자가 예를 들어 15% 또는 20% 대신에 1% 또는 2%를 선택할 수 있게 하는 필터 선택들 표시(show filter choices; 1010)를 포함할 수 있다.
일 실시예에 따르면, 개별 필터링 값들(262)은 데이터(252)의 서브세트가 클라이언트(210) 상에 표시되는 것을 가능하게 한다. 예를 들어, 사용자는 일 유형의 데이터(252)의 20%를 표시하는 20% 개별 필터링 값(720)을 선택할 수 있다. 구체적으로, 데이터의 유형이 프로젝트와 관련하여 일하는 사람들의 이름인 것으로 가정한다. 이 경우, 20%(720) 상의 클릭은 이름들의 20%가 클라이언트(210)에게 반환되게 할 것이다.
일 실시예에 따르면, 개별 필터링 값들(262)은 일 유형의 데이터와 연관된 개별 값들만을 포함한다. 예를 들어, 데이터의 유형이 "에 의해 수정됨"이지만, 프로젝트와 연관된 사람들 중 하나가 어떠한 문서도 수정하지 않은 것으로 가정한다. 이 경우, 개별 필터링 값들은 예를 들어 그 사람의 이름을 포함하지 않을 것이다.
정렬 순서 및 비율은 필터링 선택들의 2개의 예이다. 도 7-10을 참조하면, 정렬 순서들의 시각적 표현들의 예들은 "최상부에 최소(smallest on top)", "최상부에 최대(largest on top)", "오름차순(ascending)", "내림차순(descending)" 및 문자들 "A, "Z" 및 화살표를 갖는 시각적 표현들(760, 780)이다. 문자들 "A, "Z" 및 화살표를 갖는 시각적 표현들(760, 780)은 예를 들어 필터링과 관련하여 수행될 수 있는 정렬들의 유형들의 사용하기 쉬운 표시들을 제공한다. 예를 들어, Z 위에 A를 갖는 시각적 표현(760)은 정렬의 결과들이 문자 A로 시작하고 문자 Z로 끝나는 것을 지시한다. 대안으로, A 위에 문자 Z를 갖는 시각적 표현(780)은 정렬의 결과들이 문자 Z로 시작하고 문자 A로 끝나는 것을 지시한다.
일 실시예에 따르면, 본 기술은 필터링 또는 정렬될 수 있는 값들의 유형들을 검출한다. 일 실시예에 따르면, 표시되는 개별 필터링 값들은 값들의 유형들에 대응하는 사용하기 쉬운 텍스트 설명들이다. 예를 들어, "오름차순" 및 "내림차순"이라는 용어는 값들의 유형들에 따라 상이한 것들을 의미한다. 표 1은 다양한 실시예에 따라 통상의 용어들 "오름차순" 및 "내림차순"에 대응하는 개별 필터링 값들(262)을 나타낸다.
일 실시예에 따른, 통상의 용어들 "오름차순" 및 "내림차순"에 대응하는 개별 필터링 값들.
값의 유형 오름차순 내림차순
텍스트 최상부에 A 최상부에 Z
날짜 최상부에 최고(oldest) 최상부에 최신
수치 최상부에 최소 최상부에 최대
첨부 최상부에 공백 최상부에 첨부
표 1의 제1 칼럼은 데이터(252)와 연관될 수 있는 값들의 유형을 나타낸다. 표 1의 제2 칼럼은 일 실시예에 따라 통상의 용어 "오름차순"에 대응하는 개별 필터링 값들을 나타낸다. 표 1의 제3 칼럼은 다른 실시예에 따라 통상의 용어 "내림차순"에 대응하는 개별 필터링 값들을 나타낸다. 예를 들어, 데이터(252)와 연관된 값들이 텍스트인 경우, 사용자에게 표시되는 개별 필터링 값들은 일 실시예에 따라 "최상부에 A" 및 "최상부에 Z" 등이다.
정렬 및 필터링
알 수 있듯이, 일 실시예에 따르면, 사용이 용이한 직관적인 방식으로 정렬하고 필터링하기 위한 방법들 및 시스템들이 제공된다. 예를 들어, 도 7을 참조하면, 일 실시예에 따라 웹페이지(700) 상에 분할 버튼(740)이 표시된다. 일 실시예에 따르면, 분할 버튼(740)은 정렬 및 필터링을 제공한다. 도 7에 도시된 바와 같이, 분할 버튼(740)은 텍스트 "% 완료(complete)" 및 개별 필터링 값들에 대한 요청의 시각적 표현(750)을 포함한다. 예를 들어, 사용자가 텍스트 "% 완료"를 클릭하는 경우, 정렬이 수행된다. 사용자가 시각적 표현(750)을 클릭하는 경우, 개별 필터링 값들(262)이 표시될 수 있다. 일 실시예에 따르면, 시각적 표현(750)은 개별 필터링 값들(420)에 대한 요청의 시각적 표현의 일례이다.
다양한 실시예에 따르면, 개별 필터링 값들(262)이 정렬될 수 있다. 예를 들어, 도 5에 표시된 개별 필터링 값들은 알파벳 순으로 정렬될 수 있다. 본 기술의 다양한 실시예는 개별 필터링 값들(262)을 정렬하는 데에는 물론, 데이터(252)를 정렬하고 필터링하는 데에도 사용될 수 있다. 예를 들어, 도 5에 도시된 개별 필터링 값들(262)은 정렬된 개별 필터링 값들의 일례이다. 다양한 실시예를 이용하여 데이터(252)를 필터링하고 정렬하는 일례에 대해, 개별 필터링 값 "문자들 E-G로 시작하는 도시들"이 선택되는 것으로 가정한다. 웹 서버(230)는 개별 필터링 값 "E-G로 시작하는 도시들"에 기초하여 데이터(252)를 필터링할 수 있으며, 이어서 필터링된 도시들이 정렬될 수 있다. 이러한 실시예들의 예는 정렬 전에 필터링이 수행되는 것을 설명하였지만, 정렬이 필터링 전에 수행될 수 있다.
예시적인 컴퓨터 시스템 환경
이제, 도 11을 참조하면, 웹사이트를 이용하여 효율적으로 필터링을 행하기 위한 기술의 부분들은 예를 들어 컴퓨터 시스템의 컴퓨터 사용가능 매체에 위치하는 컴퓨터 판독가능 및 컴퓨터 실행가능 명령어로 구성된다. 즉, 도 11은 웹사이트를 이용하여 효율적으로 필터링을 행하기 위한 본 기술의, 본 명세서에 설명되는 실시예들을 구현하는 데 사용될 수 있는 일 유형의 컴퓨터의 일례를 나타낸다. 도 11은 웹사이트를 이용하여 효율적으로 필터링을 행하기 위한 본 기술의 실시예들에 따라 사용되는 예시적인 컴퓨터 시스템(1100)을 도시한다. 도 11의 시스템(1100)은 단지 예시적이며, 웹사이트를 이용하여 효율적으로 필터링을 행하기 위한 본 기술은 범용 네트워크 컴퓨터 시스템들, 내장 컴퓨터 시스템들, 라우터들, 스위치들, 서버 장치들, 클라이언트 장치들, 다양한 중간 장치들/노드들, 독립식 컴퓨터 시스템들 등을 포함하는 다수의 상이한 컴퓨터 시스템 상에서 또는 내에서 동작할 수 있다는 것을 이해한다. 도 11에 도시된 바와 같이, 도 11의 컴퓨터 시스템(1100)은 예를 들어 플로피 디스크, 컴팩트 디스크 등과 같은 주변 컴퓨터 판독가능 매체(1102)를 그 자신에 결합시키기에 적합하다.
도 11의 시스템(1100)은 정보를 통신하기 위한 어드레스/데이터 버스(1104), 및 버스(1104)에 결합되어 정보 및 명령어를 처리하기 위한 프로세서(1106A)를 포함한다. 도 11에 도시된 바와 같이, 시스템(1100)은 복수의 프로세서(1106A, 1106B, 1106C)가 존재하는 멀티 프로세서 환경에도 적합하다. 역으로, 시스템(1100)은 예를 들어 프로세서(1106A)와 같은 단일 프로세서를 갖는 것에도 적합하다. 프로세서들(1106A, 1106B, 1106C)은 임의의 다양한 유형의 마이크로프로세서일 수 있다. 시스템(1100)은 버스(1104)에 결합되어 프로세서들(1106A, 1106B, 1106C)용의 정보 및 명령어를 저장하기 위한 컴퓨터 사용가능 휘발성 메모리(1108), 예를 들어 랜덤 액세스 메모리(RAM)와 같은 데이터 저장 특징들을 더 포함한다. 시스템(1100)은 버스(1104)에 결합되어 프로세서들(1106A, 1106B, 1106C) 용의 정보 및 명령어를 저장하기 위한 컴퓨터 사용가능 비휘발성 메모리(1110), 예를 들어 판독 전용 메모리(ROM)을 더 포함한다. 또한, 시스템(1100) 내에는 버스(1104)에 결합되어 정보 및 명령어를 저장하기 위한 데이터 저장 유닛(1112)(예를 들어, 자기 및 광 디스크 및 디스크 드라이브)이 존재한다. 시스템(1100)은 버스(1104)에 결합되어 정보 및 명령 선택들을 프로세서(1106A) 또는 프로세서들(1106A, 1106B, 1106C)로 통신하기 위한 영숫자 및 기능 키들을 포함하는 영숫자 입력 장치(1114)를 옵션으로 더 포함한다. 시스템(1100)은 버스(1104)에 결합되어 사용자 입력 정보 및 명령 선택들을 프로세서(1106A) 또는 프로세서들(1106A, 1106B, 1106C)로 통신하기 위한 커서 제어 장치(1116)를 옵션으로 더 포함한다. 본 실시예의 시스템(1100)은 버스(1104)에 결합되어 정보를 표시하기 위한 디스플레이 장치(1118)를 옵션으로 더 포함한다.
도 11을 계속 참조하면, 도 11의 옵션인 디스플레이 장치(1118)는 사용자가 인식할 수 있는 그래픽 이미지들 또는 영숫자 문자들을 생성하기에 적합한 액정 장치, 음극선관, 플라즈마 디스플레이 장치 또는 기타 디스플레이 장치일 수 있다. 옵션인 커서 제어 장치(1116)는 컴퓨터 사용자가 디스플레이 장치(1118)의 디스플레이 스크린 상에서의 가시 심벌(커서)의 이동을 동적으로 신호하는 것을 가능하게 한다. 소정 방향의 이동 또는 변위의 방식을 신호할 수 있는 트랙볼, 마우스, 터치 패드, 조이스틱 또는 영숫자 입력 장치(1114) 상의 특수 키들을 포함하는 커서 제어 장치(1116)의 많은 구현이 이 분야에 공지되어 있다. 대안으로, 특수 키들 및 키 시퀀스 명령을 이용하는 영숫자 입력 장치(1114)로부터의 입력을 통해 커서가 지향 및/또는 활성화될 수 있다는 것을 이해할 것이다. 시스템(1100)은 예를 들어 음성 명령과 같은 다른 수단에 의해 커서를 지향시키기에도 적합하다. 시스템(1100)은 시스템(1100)을 외부 엔티티들과 결합하기 위한 I/O 장치(1120)를 더 포함한다. 예를 들어, 일 실시예에서, I/O 장치(1120)는 시스템(1100)과 인터넷과 같은, 그러나 이에 제한되지 않는 외부 네트워크 사이의 유선 또는 무선 통신을 가능하게 하기 위한 모뎀이다.
도 11을 계속 참조하면, 시스템(1100)을 위한 다양한 다른 컴포넌트가 도시되어 있다. 구체적으로, 존재할 때, 운영 체제(1122), 애플리케이션(1124), 모듈(1126) 및 데이터는 통상적으로 컴퓨터 사용가능 휘발성 메모리(1108), 예를 들어 RAM 및 데이터 저장 유닛(1112) 중 하나 또는 소정 조합 내에 위치하는 것으로 도시된다. 일 실시예에서, 예를 들어 웹사이트를 이용하여 효율적으로 필터링을 행하기 위한 본 기술은 RAM(1108) 내의 메모리 위치들 및 데이터 저장 유닛(1112) 내의 메모리 영역들에 애플리케이션(1124) 또는 모듈(1126)로서 저장된다.
웹사이트를 이용하여 효율적으로 필터링을 행하는 예시적인 방법
도 12는 본 기술의 일 실시예에 따른, 웹사이트를 이용하여 효율적으로 필터링을 행하는 방법의 흐름도를 나타낸다. 특정 단계들이 흐름도(1200)에 개시되지만, 이 단계들은 예시적이다. 즉, 본 기술의 다양한 실시예는 다양한 다른 단계 또는 흐름도(1200)에 기재된 단계들의 변형들을 수행하기에 적합하다. 흐름도(1200)의 단계들은 표시된 것과 다른 순서로 수행될 수 있으며, 흐름도(1200)의 모든 단계가 수행되지는 않을 수도 있다는 것을 이해한다.
컴퓨터 판독가능 및 컴퓨터 실행가능 명령어는 예를 들어 도 11의 컴퓨터 사용가능 휘발성 메모리(1108), 컴퓨터 사용가능 비휘발성 메모리(1110) 및/또는 데이터 저장 유닛(1112)과 같은 데이터 저장 특징들 내에 위치한다. 컴퓨터 판독가능 및 컴퓨터 실행가능 명령어는 예를 들어 도 11의 프로세서(1106A) 및/또는 프로세서들(1106A, 1106B, 1106C)을 제어하거나 함께 동작하는 데 사용된다. 특정 단계들이 흐름도(1200)에 개시되지만, 이 단계들은 예시적이다. 즉, 실시예들은 다양한 다른 단계 또는 흐름도(1200)에 기재된 단계들의 변형들을 수행하기에 적합하다. 흐름도(1200)의 단계들은 표시된 것과 다른 순서로 수행될 수 있으며, 흐름도(1200)의 모든 단계가 수행되지는 않을 수도 있다는 것을 이해해야 한다.
단계 1210에서, 방법이 시작된다.
단계 1220에서, 웹페이지로부터 선택된 일 유형의 데이터에 기초하는 개별 필터링 값들이 수신된다. 예를 들어, 설명의 목적을 위해, 데이터(252)는 협동 소프트웨어와 연관되며, 문서들, 이메일들, 캘린더들, 및 프로젝트와 관련하여 일하는 사람들의 리스트를 포함하는 것으로 가정한다. 웹페이지(213)가 데이터(252)를 클라이언트(210) 상에 표시한다. 웹 페이지(300; 도 3)는 협동 소프트웨어와 연관된 데이터(252)를 표시하기 위한 웹 페이지(213)의 일례이다.
사용자가 클라이언트(210)와 상호작용하여, 클라이언트(210)가 웹 서버(230)가 메모리(250)로부터의 개별 필터링 값들(262)을 클라이언트(210)에게 제공하도록 요청하게 한다. 예를 들어, 사용자는 마크 스미스에 의해 수정된 모든 문서를 취득하는 데 관심이 있을 수 있다. 사용자는 클라이언트(210) 상에 표시된 칼럼 헤더(320; 도 3) 상에 마우스를 이동함으로써 클라이언트(210)가 개별 필터링 값들(262)을 요청하게 한다. 대안으로, 사용자는 칼럼 헤더(320)를 클릭하여 개별 필터링 값들에 대한 요청의 시각적 표현(420)이 표시되게 한 후에 시각적 표현(420)을 클릭하여 개별 필터링 값들(262)이 검색되게 함으로써 클라이언트(210)가 개별 필터링 값들(262)을 요청하게 한다.
필터링 값 요청자(110)는 웹서버(230)가 개별 필터링 값들(262)을 클라이언트(210)에게 전송하도록 요청할 수 있다. 설명의 목적을 위해, 개별 필터링 값들(262)은 데이터(252)와 연관된 문서들을 수정한 사람들의 이름들인 것으로 가정한다.
이 설명에서, "에 의해 수정됨"은 데이터의 유형의 일례이다. 이 설명에서, 캘린더들 또는 이메일들과 관련된 개별 필터링 값들은 선택된 데이터 유형과 무관한 개별 필터링 값들의 예들이다. 예를 들어, 웹페이지(213)의 칼럼은 이메일들의 제목 라인에 대한 것일 수 있으며, 그 칼럼을 클릭함으로써 발생하는 개별 필터링 값들은 프로젝트에 대한 이메일들의 제목 라인들 모두일 수 있다. 문서들을 수정한 사람들의 이름들을 검색하기 위하여 이메일들에 대한 제목 라인들이 검색될 필요는 없다.
단계 1230에서, 웹페이지가 전체적으로 갱신될 필요 없이 개별 필터링 값들이 표시된다. 예를 들어, 클라이언트(210)는 개별 필터링 값들(262)을 수신할 수 있다. 필터링 값 표시자(120)는 수신된 필터링 값들(262)을 비가시적 브라우저 윈도우(214)에 저장할 수 있다. 도 5에 도시된 바와 같이, 개별 필터링 값들(262)은 비가시적 브라우저 윈도우(214)로부터 취해져, 드롭다운 메뉴(250)에 넣어질 수 있다. 드롭다운 메뉴(500)를 사용함으로써, 전체 웹페이지(213)는 다시 표시될 필요가 없을 것이다. 드롭다운 메뉴(500)의 사용은 전체 웹페이지(213)를 다시 표시할 필요가 없는 방법의 일례이다.
단계 1240에서, 방법이 종료된다.
설명을 위해, 사용자가 도 5에 도시된 마크 스미스에 대한 개별 필터링 값(530)을 클릭하는 것으로 가정한다. 일 실시예에 따르면, 클라이언트(210)는 웹 서버(230)가 마크 스미스에 의해 최종 수정된 문서들과 관련된 로우들에 대한 데이터(252)를 필터링하도록 요청할 것이다. 웹서버(230)는 마크 스미스에 의해 최종 수정된 문서들과 연관된 로우들을 클라이언트(210)에게 반환할 수 있다. 클라이언트는 도 6에 도시된 바와 같은 필터링 작업의 결과들을 표시할 수 있다.
결론
본 명세서에 설명되는 실시예들의 대다수는 개별 필터링 값들(262)을 참조하였지만, 본 기술의 다양한 실시예는 필터링 선택들(510)과 함께 이용될 수 있다. 예를 들어, 도 7을 참조하면, 필터링 선택들은 정렬 순서들 "최상부에 최소" 및 "최상부에 최대"를 포함한다. 웹서버(230)는 예를 들어 데이터(252) 내의 값들의 상이한 유형들을 결정함으로써 도 7에 도시된 필터링 선택들을 결정할 수 있다. 예를 들어, 표 1을 참조하면, 데이터(252) 내의 값들의 일 유형이 수치인 경우, 필터링 선택들은 "최상부에 최소" 및 "최상부에 최대"를 포함할 수 있다.
또한, 웹 서버(230)는 잠재적 필터링 작업의 결과들이 큰지를 결정할 수 있다. 일 실시예에 따르면, 필터링 선택들은 15% 및 20%와 같은 비율들을 더 포함한다. 이 경우, 일 실시예에 따르면, 웹 서버(230)는 개별 필터링 값들(262)이 15% 및 20%를 포함할 수 있는 것으로 결정할 수 있다.
본 발명은 구조적 특징들 및/또는 방법적 동작들에 고유한 언어로 설명되었지만, 첨부된 청구범위에 정의되는 본 발명은 전술한 특정 특징들 또는 동작들로 제한될 필요가 없음을 이해해야 한다. 오히려, 전술한 특정 특징들 및 동작들은 청구범위를 구현하는 예시적인 형태들로서 개시된다.

Claims (20)

  1. 웹사이트를 이용하여 효율적으로 필터링을 행하는 컴퓨터 구현 방법으로서,
    상기 웹사이트와 연관된 웹페이지로부터 선택된 데이터의 유형에 기초하여 제1의 개별 필터링 값들(distinct filtering values)을, 상기 선택된 데이터의 유형과 무관한 제2의 개별 필터링 값들의 검색을 필요로 하지 않고, 상기 웹 사이트로부터 수신하는 단계- 상기 제1의 개별 필터링 값들은 상기 데이터로부터의 값들임 -;
    상기 제1의 개별 필터링 값들을 비가시적인 브라우저 윈도우(invisible browser window)에 저장하는 단계;
    상기 제1의 개별 필터링 값들을 정렬(sort)하는 단계; 및
    상기 웹페이지를 전체적으로 갱신할 필요 없이, 상기 제1의 개별 필터링 값들을 상기 웹 페이지의 드롭 다운 메뉴에 표시하는 단계
    를 포함하는 컴퓨터 구현 필터링 방법.
  2. 제1항에 있어서,
    상기 제1의 개별 필터링 값들을 수신하는 단계 이후에,
    상기 데이터의 적어도 일부를 그룹들로 분할하는 단계; 및
    상기 제1의 개별 필터링 값들을 사용하여 상기 그룹들을 표현하는 단계
    를 더 포함하는 컴퓨터 구현 필터링 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 제1의 개별 필터링 값들을 수신하는 단계 이전에,
    상기 데이터의 유형의 시각적 표현 상에서 마우스가 이동하고 있음을 검출하는 단계; 및
    상기 데이터의 유형의 시각적 표현에 의해 묘사되는 상기 데이터의 유형에 기초하여 상기 제1의 개별 필터링 값들을 요청하는 단계
    를 더 포함하는 컴퓨터 구현 필터링 방법.
  5. 웹페이지를 이용하여 효율적으로 필터링을 행하기 위한 시스템으로서,
    프로세서;
    웹사이트와 연관된 상기 웹페이지로부터의 데이터의 사용자 선택 유형에 기초하여 제1의 개별 필터링 값들을, 상기 데이터의 사용자 선택 유형과 무관한 제2의 개별 필터링 값들을 요청하지 않고, 상기 웹사이트에 요청하도록 상기 프로세서에 의해 실행되는 필터링 값 요청자- 상기 제1의 개별 필터링 값들은 상기 데이터로부터의 값들임 -; 및
    상기 필터링 값 요청자에 연결되고, 상기 제1의 개별 필터링 값들을 비가시적인 브라우저 윈도우에 저장하고, 상기 제1의 개별 필터링 값들을 정렬하며, 상기 웹페이지를 전체적으로 갱신할 필요가 없도록 상기 제1의 개별 필터링 값들을 상기 웹 페이지의 드롭 다운 메뉴에 표시하도록 상기 프로세서에 의해 실행되는 필터링 값 표시자
    를 포함하는 필터링 시스템.
  6. 제5항에 있어서,
    상기 시스템은 협동 소프트웨어와 관련되는 필터링 시스템.
  7. 제5항에 있어서,
    상기 데이터의 유형은 상기 웹페이지와 연관된 칼럼 헤더에 의해 표현되는 필터링 시스템.
  8. 제5항에 있어서,
    상기 제1의 개별 필터링 값들 중 하나가 선택된 결과로서 상기 데이터에 대해 필터링 작업이 수행되는 필터링 시스템.
  9. 제5항에 있어서,
    상기 제1의 개별 필터링 값들 중 하나는 상기 드롭 다운 메뉴에 표시되는 상기 유형의 데이터의 퍼센트를 나타내는 필터링 시스템.
  10. 제5항에 있어서,
    상기 제1의 개별 필터링 값들은 상기 데이터의 서브세트를 나타내는 필터링 시스템.
  11. 제5항에 있어서,
    상기 웹페이지 상에 표시되는 분할 버튼을 더 포함하고, 상기 분할 버튼은 사용자가 정렬 및 필터링으로 이루어지는 그룹으로부터 선택되는 작업을 선택할 수 있게 하는 필터링 시스템.
  12. 실행시 컴퓨터 시스템이 웹사이트를 이용하여 효율적으로 필터링을 행하는 방법을 수행하게 하는 명령어를 저장하는 컴퓨터 판독가능 저장 매체로서,
    상기 방법은,
    상기 웹사이트와 연관된 웹페이지로부터 선택된 데이터의 유형에 기초하여 제1 필터링 선택들(first filtering choices)을, 상기 선택된 데이터의 유형과 무관한 제2 필터링 선택들의 검색을 필요로 하지 않고, 상기 웹사이트로부터 수신하는 단계- 상기 제1 필터링 선택들은 상기 데이터로부터의 값들임 -;
    상기 제1 필터링 선택들을 비가시적인 브라우저 윈도우에 저장하는 단계;
    상기 제1 필터링 선택들을 정렬하는 단계; 및
    상기 웹페이지를 전체적으로 갱신할 필요 없이, 상기 제1 필터링 선택들을 상기 웹 페이지의 드롭 다운 메뉴에 표시하는 단계
    를 포함하는 컴퓨터 판독가능 저장 매체.
  13. 제12항에 있어서,
    실행시 상기 컴퓨터 시스템이 상기 제1 필터링 선택들을 수신하게 하는 명령어는 상기 제1 필터링 선택들의 서브세트인 개별 필터링 값들을 수신하게 하는 명령어를 더 포함하는 컴퓨터 판독가능 저장 매체.
  14. 제12항에 있어서,
    실행시 상기 컴퓨터 시스템이 상기 제1 필터링 선택들을 수신하게 하는 명령어는 상기 데이터를 정렬하는 순서를 수신하게 하는 명령어를 더 포함하는
    컴퓨터 판독가능 저장 매체.
  15. 제14항에 있어서,
    실행시 상기 컴퓨터 시스템이 상기 데이터를 정렬하는 순서를 수신하게 하는 명령어는 상기 선택된 데이터의 유형에 대응하는 오름차순 및 내림차순의 텍스트 설명들을 수신하게 하는 명령어를 더 포함하는
    컴퓨터 판독가능 저장 매체.
  16. 웹사이트를 이용하여 효율적으로 필터링을 행하는 컴퓨터 구현 방법으로서,
    상기 웹사이트와 연관된 웹페이지로부터 선택된 데이터의 유형에 기초하여 제1의 개별 필터링 값들을, 상기 선택된 데이터의 유형과 무관한 제2의 개별 필터링 값들의 검색을 필요로 하지 않고, 상기 웹 사이트로부터 수신하는 단계- 상기 제1의 개별 필터링 값들은 상기 데이터로부터의 값들임 -;
    상기 선택된 데이터의 유형에 대응하는 오름차순 및 내림차순의 상기 데이터 및 텍스트 설명을 정렬하는 순서를 수신하는 단계;
    상기 제1의 개별 필터링 값들을 비가시적인 브라우저 윈도우에 저장하는 단계;
    상기 제1의 개별 필터링 값들을 정렬하는 단계; 및
    상기 웹페이지를 전체적으로 갱신할 필요 없이, 상기 제1의 개별 필터링 값들을 상기 웹 페이지의 드롭 다운 메뉴에 표시하는 단계
    를 포함하는 컴퓨터 구현 필터링 방법.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020087026113A 2006-05-02 2007-05-02 필터링 시스템, 컴퓨터 구현 필터링 방법 및 이를 위한 명령어가 저장된 컴퓨터 판독가능 저장 매체 KR101365862B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/416,059 2006-05-02
US11/416,059 US8190650B2 (en) 2006-05-02 2006-05-02 Efficiently filtering using a web site
PCT/US2007/010693 WO2007130495A2 (en) 2006-05-02 2007-05-02 Efficiently filtering using a web site

Publications (2)

Publication Number Publication Date
KR20090005057A KR20090005057A (ko) 2009-01-12
KR101365862B1 true KR101365862B1 (ko) 2014-02-21

Family

ID=38662286

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087026113A KR101365862B1 (ko) 2006-05-02 2007-05-02 필터링 시스템, 컴퓨터 구현 필터링 방법 및 이를 위한 명령어가 저장된 컴퓨터 판독가능 저장 매체

Country Status (6)

Country Link
US (1) US8190650B2 (ko)
EP (1) EP2024882A4 (ko)
JP (1) JP2009535733A (ko)
KR (1) KR101365862B1 (ko)
CN (1) CN101432736B (ko)
WO (1) WO2007130495A2 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9747270B2 (en) 2011-01-07 2017-08-29 Microsoft Technology Licensing, Llc Natural input for spreadsheet actions
SG191934A1 (en) 2011-01-11 2013-08-30 Tencent Tech Shenzhen Co Ltd Method and apparatus for processing micro web log messages
US8732569B2 (en) 2011-05-04 2014-05-20 Google Inc. Predicting user navigation events
US9769285B2 (en) 2011-06-14 2017-09-19 Google Inc. Access to network content
US8788711B2 (en) 2011-06-14 2014-07-22 Google Inc. Redacting content and inserting hypertext transfer protocol (HTTP) error codes in place thereof
US8745212B2 (en) 2011-07-01 2014-06-03 Google Inc. Access to network content
US8650139B2 (en) 2011-07-01 2014-02-11 Google Inc. Predicting user navigation events
US8744988B1 (en) 2011-07-15 2014-06-03 Google Inc. Predicting user navigation events in an internet browser
US8739023B2 (en) * 2011-07-20 2014-05-27 International Business Machines Corporation Utilizing a graphical transition to sort an interface element independently of a document object model
US8600921B2 (en) 2011-09-15 2013-12-03 Google Inc. Predicting user navigation events in a browser using directed graphs
US8655819B1 (en) 2011-09-15 2014-02-18 Google Inc. Predicting user navigation events based on chronological history data
US9104664B1 (en) 2011-10-07 2015-08-11 Google Inc. Access to search results
US9584579B2 (en) 2011-12-01 2017-02-28 Google Inc. Method and system for providing page visibility information
US8793235B2 (en) 2012-01-19 2014-07-29 Google Inc. System and method for improving access to search results
US20130205277A1 (en) * 2012-02-07 2013-08-08 Telerik, AD Environment and method for cross-platform development of software applications
US9946792B2 (en) 2012-05-15 2018-04-17 Google Llc Access to network content
CN103455482A (zh) * 2012-05-28 2013-12-18 上海中国弹簧制造有限公司 在SharePoint平台上实现产品模型参数化搜索的方法
US8887239B1 (en) * 2012-08-08 2014-11-11 Google Inc. Access to network content
US9141722B2 (en) 2012-10-02 2015-09-22 Google Inc. Access to network content
US10664652B2 (en) 2013-06-15 2020-05-26 Microsoft Technology Licensing, Llc Seamless grid and canvas integration in a spreadsheet application
CN108614834B (zh) * 2016-12-13 2022-05-24 阿里巴巴集团控股有限公司 一种页面生成方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040005868A (ko) * 2001-01-10 2004-01-16 인터내셔널 비지네스 머신즈 코포레이션 웹페이지 갱신 방법, 컴퓨터 시스템 및 컴퓨터 프로그램제품
US20040163039A1 (en) 2000-11-04 2004-08-19 Gorman John G. System and method for filtering and sorting data
US7231596B2 (en) 2000-11-29 2007-06-12 Dov Koren Collaborative, fault-tolerant, scaleable, flexible, interactive real-time display and processing method and apparatus
US20070244765A1 (en) 2006-04-18 2007-10-18 Intuit, Inc. System and method for order fulfillment decisions

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5455945A (en) 1993-05-19 1995-10-03 Vanderdrift; Richard System and method for dynamically displaying entering, and updating data from a database
US6018750A (en) 1995-08-07 2000-01-25 Motorola Inc. Fast and efficient median search method and filter
US5819269A (en) 1996-06-21 1998-10-06 Robert G. Uomini Dynamic subgrouping in a news network
JP3655714B2 (ja) 1996-11-15 2005-06-02 株式会社ニューズウオッチ 情報フィルタリング装置及び記録媒体
JPH11313291A (ja) 1998-04-28 1999-11-09 Toshiba Corp 番組案内表示装置及び方法
US6266668B1 (en) 1998-08-04 2001-07-24 Dryken Technologies, Inc. System and method for dynamic data-mining and on-line communication of customized information
US6842748B1 (en) 2000-04-14 2005-01-11 Rightnow Technologies, Inc. Usage based strength between related information in an information retrieval system
US6751614B1 (en) 2000-11-09 2004-06-15 Satyam Computer Services Limited Of Mayfair Centre System and method for topic-based document analysis for information filtering
US7299202B2 (en) 2001-02-07 2007-11-20 Exalt Solutions, Inc. Intelligent multimedia e-catalog
US20030009495A1 (en) 2001-06-29 2003-01-09 Akli Adjaoute Systems and methods for filtering electronic content
US6912715B2 (en) * 2001-07-30 2005-06-28 Appeon Corporation System and method for web-based remote procedure call (RPC)
AU2002368063A1 (en) * 2002-07-01 2004-01-19 Infineon Technologies Ag Associating mac addresses with addresses in a look-up table
EP1388783B1 (en) 2002-08-02 2008-02-06 Sap Ag Method and computer system for handling incremental data in client-server communication
AU2003290752A1 (en) * 2002-11-12 2004-06-03 Fei Company Defect analyzer
US7117441B2 (en) 2002-11-27 2006-10-03 Research Investment Network, Inc. Grid-based system and method for interacting with electronic program guide grid
US7587411B2 (en) 2003-03-27 2009-09-08 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7139764B2 (en) 2003-06-25 2006-11-21 Lee Shih-Jong J Dynamic learning and knowledge representation for data mining
US20050044060A1 (en) 2003-08-18 2005-02-24 Yuh-Cherng Wu Filtering process for information retrieval systems
US7389532B2 (en) * 2003-11-26 2008-06-17 Microsoft Corporation Method for indexing a plurality of policy filters
US7233951B1 (en) * 2004-02-18 2007-06-19 Microsoft Corporation Spreadsheet grid-like control for a web-based collaboration system
US20050222892A1 (en) * 2004-03-30 2005-10-06 Erc-Ip Llc Strategies for managing recommendations
WO2005119435A2 (en) 2004-06-02 2005-12-15 Open Text Corporation Systems and methods for dynamic menus
US20060041834A1 (en) * 2004-08-19 2006-02-23 International Business Machines Corporation User-controlled web browser table sorting
US20060161443A1 (en) * 2005-01-14 2006-07-20 Lladnar Technology Co, Llc Systems and methods for collecting and managing animal-related information
US20060224568A1 (en) * 2005-04-02 2006-10-05 Debrito Daniel N Automatically displaying fields that were non-displayed when the fields are filter fields
US20070073635A1 (en) * 2005-09-28 2007-03-29 Sap Ag Table rows filter

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040163039A1 (en) 2000-11-04 2004-08-19 Gorman John G. System and method for filtering and sorting data
US7231596B2 (en) 2000-11-29 2007-06-12 Dov Koren Collaborative, fault-tolerant, scaleable, flexible, interactive real-time display and processing method and apparatus
KR20040005868A (ko) * 2001-01-10 2004-01-16 인터내셔널 비지네스 머신즈 코포레이션 웹페이지 갱신 방법, 컴퓨터 시스템 및 컴퓨터 프로그램제품
US20070244765A1 (en) 2006-04-18 2007-10-18 Intuit, Inc. System and method for order fulfillment decisions

Also Published As

Publication number Publication date
WO2007130495A3 (en) 2008-01-17
US20070260585A1 (en) 2007-11-08
CN101432736B (zh) 2012-02-29
JP2009535733A (ja) 2009-10-01
US8190650B2 (en) 2012-05-29
EP2024882A2 (en) 2009-02-18
CN101432736A (zh) 2009-05-13
EP2024882A4 (en) 2009-10-21
WO2007130495A2 (en) 2007-11-15
KR20090005057A (ko) 2009-01-12

Similar Documents

Publication Publication Date Title
KR101365862B1 (ko) 필터링 시스템, 컴퓨터 구현 필터링 방법 및 이를 위한 명령어가 저장된 컴퓨터 판독가능 저장 매체
US11341180B2 (en) Displaying search results on a one or two dimensional graph
US7899818B2 (en) Method and system for providing focused search results by excluding categories
TWI566159B (zh) 用於相關網站的決定和顯示的電腦實施方法及系統
US8126879B2 (en) Assisted management of bookmarked web pages
US9135312B2 (en) Timeslider
US9002894B2 (en) Objective and subjective ranking of comments
US7310658B2 (en) Method for tracking responses to a forum topic
US20140046976A1 (en) Systems, methods, and user interface for effectively presenting information
EP2605160A1 (en) Generating a relationship vizualization for nonhomogeneous entities
US20080163122A1 (en) File content preview tool
US20070255701A1 (en) System and method for analyzing internet content and correlating to events
US7565617B2 (en) Electronic web sticky
US20140281889A1 (en) Research data collector and organizer (rdco)
US8060484B2 (en) Graphical user interface for data management
MacKay et al. An evaluation of landmarks for re-finding information on the web
US20090044107A1 (en) Data management techniques
Zahoor et al. Capturing, understanding and interpreting user interactions with the browser as implicit interest indicators
WO2019013834A1 (en) INDEX-SENSITIVE ANTICIPATED HIT IN RESEARCH
Magnus Savvy SEC Searching for Public Company Insiders and Financial Advisors
US9348846B2 (en) User-navigable resource representations
JP5224791B2 (ja) 情報提示装置および情報提示プログラム
Prothero Ajax usability benefits and best practices
Babkin Navigation of blogs related by a tag
Milic-Frayling et al. Designing for Web Revisitation: Exploiting Structure from User Interaction and Navigation

Legal Events

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

Payment date: 20170119

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180118

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190116

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200115

Year of fee payment: 7