KR101737246B1 - Index configuration for searchable data in network - Google Patents

Index configuration for searchable data in network Download PDF

Info

Publication number
KR101737246B1
KR101737246B1 KR1020157012030A KR20157012030A KR101737246B1 KR 101737246 B1 KR101737246 B1 KR 101737246B1 KR 1020157012030 A KR1020157012030 A KR 1020157012030A KR 20157012030 A KR20157012030 A KR 20157012030A KR 101737246 B1 KR101737246 B1 KR 101737246B1
Authority
KR
South Korea
Prior art keywords
data
storage quota
size
partition
partitions
Prior art date
Application number
KR1020157012030A
Other languages
Korean (ko)
Other versions
KR20150066575A (en
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
Priority claimed from US13/650,961 external-priority patent/US9047326B2/en
Priority claimed from US13/650,931 external-priority patent/US9507750B2/en
Application filed by 에이나인.컴, 인크. filed Critical 에이나인.컴, 인크.
Publication of KR20150066575A publication Critical patent/KR20150066575A/en
Application granted granted Critical
Publication of KR101737246B1 publication Critical patent/KR101737246B1/en

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/22Indexing; Data structures therefor; Storage structures
    • G06F17/30312
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/1827Management specifically adapted to NAS
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • G06F17/302
    • G06F17/30321

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

컴퓨팅 디바이스를 사용하는 엔티티는 검색가능 데이터를 인덱싱되어 저장되도록 네트워크 서비스로 업로드할 수 있다. 데이터는 복수의 데이터 필드들을 포함할 수 있고, 각각의 데이터 필드는 하나 이상의 연관된 값들을 가진다. 네트워크 서비스는, 데이터 필드들에 대한 데이터 필드 유형들 및 데이터 필드들에 대해 인에이블될 검색 옵션들을 결정하기 위해, 데이터 필드들 및 그들 각자의 연관된 값들을 분석할 수 있다. 데이터 필드 유형들 및 검색 옵션들에 적어도 부분적으로 기초하여, 네트워크 서비스는 검색 인덱스 구성/스키마를 생성할 수 있다. 생성된 검색 인덱스 구성/스키마에 적어도 부분적으로 기초하여, 네트워크 서비스는 데이터에 대한 검색 인덱스를 생성할 수 있다. 일부 실시예들에서, 네트워크 서비스는 또한 데이터를 검색 인덱스와 호환되는 포맷으로 변환시킬 수 있다.An entity using the computing device may upload searchable data to the network service to be indexed and stored. The data may comprise a plurality of data fields, each data field having one or more associated values. The network service may analyze the data fields and their respective associated values to determine data field types for the data fields and search options to be enabled for the data fields. Based at least in part on data field types and search options, the network service may generate a search index configuration / schema. Based at least in part on the generated search index configuration / schema, the network service can generate a search index for the data. In some embodiments, the network service may also convert the data into a format compatible with the search index.

Description

네트워크에서의 검색가능 데이터에 대한 인덱스 구성{INDEX CONFIGURATION FOR SEARCHABLE DATA IN NETWORK}INDEX CONFIGURATION FOR SEARCHABLE DATA IN NETWORK [0002]

인터넷과 같은 네트워크를 거쳐 통신하기 위해 컴퓨팅 디바이스들이 종종 사용된다. 서비스 제공자에 의해 제공되는 네트워크 기반 서비스들이 점점 더 보편화되고 있다. 컴퓨팅 디바이스들에 의해 사용/검색될 검색가능 데이터를 저장하는 것 또는 컴퓨팅 디바이스들에 부가의 처리 능력을 제공하는 것과 같은 서비스들을 제공할 수 있는 네트워크 기반 서비스에 연결하기 위해 컴퓨팅 디바이스들이 빈번히 사용된다. 검색가능 데이터의 네트워크 기반 저장과 관련하여, 컴퓨팅 디바이스들의 사용자들은, 그들의 데이터가 네트워크 기반 서비스에 의해 인덱싱되어 저장될 수 있도록, 통상적으로 그들의 데이터에 대한 구성 및/또는 포맷을 선택할 필요가 있다. 종래의 접근 방법들은 통상적으로 사용자들에게 그들의 데이터에 대한 적절한 구성을 결정할 것을 요구한다. 종래의 접근 방법들은 또한 사용자의 데이터가 따라야만 하는 포맷을 요구할 수 있고, 그에 의해 사용자들에게 그들의 데이터를 그 포맷으로 변환시킬 것을 요구한다. 이것은 저장 및 검색을 위해 네트워크 기반 서비스를 사용하고자 하는 사용자들에게 불편하거나, 번거롭거나 어려울 수 있고, 그에 의해 전반적인 사용자 경험을 떨어뜨린다.Computing devices are often used to communicate across a network, such as the Internet. Network-based services provided by service providers are becoming increasingly popular. Computing devices are frequently used to connect to network-based services that can provide services such as storing searchable data to be used / retrieved by computing devices or providing additional processing capabilities to computing devices. With regard to network-based storage of discoverable data, users of computing devices typically need to select the configuration and / or format for their data so that their data can be indexed and stored by network-based services. Conventional approaches typically require users to determine an appropriate configuration for their data. Conventional approaches may also require a format that the user's data must follow, thereby requiring users to convert their data into that format. This can be inconvenient, cumbersome, or difficult for users who want to use network based services for storage and retrieval, thereby degrading the overall user experience.

본 개시 내용에 따른 다양한 실시예들이 도면을 참조하여 기술될 것이다.
도 1은 다양한 실시예들의 양태들이 이용될 수 있는 예시적인 환경을 나타낸 도면.
도 2는 네트워크화된 환경에서의 검색가능 데이터에 대한 인덱스 구성의 예시적인 시스템 실시예를 나타낸 도면.
도 3은 네트워크화된 환경에서의 검색가능 데이터에 대한 인덱스 구성이 이용될 수 있는 예시적인 웹 브라우징 환경을 나타낸 도면.
도 4는 다양한 실시예들에 따라 생성될 수 있는 예시적인 검색 인덱스를 나타낸 도면.
도 5는 네트워크화된 환경에서의 검색가능 데이터에 대한 인덱스 구성의 예시적인 방법 실시예를 나타낸 도면.
도 6은 다양한 실시예들의 양태들을 구현하는 데 사용될 수 있는 예시적인 디바이스를 나타낸 도면.
도 7은 도 6에 예시된 것과 같은 클라이언트 디바이스의 예시적인 구성요소들을 나타낸 도면.
도 8은 다양한 실시예들이 구현될 수 있는 환경을 나타낸 도면.
Various embodiments according to the present disclosure will be described with reference to the drawings.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 illustrates an exemplary environment in which aspects of various embodiments may be utilized.
Figure 2 illustrates an exemplary system embodiment of an index configuration for searchable data in a networked environment;
Figure 3 illustrates an exemplary web browsing environment in which an index configuration for searchable data in a networked environment can be used.
4 illustrates an exemplary search index that may be generated in accordance with various embodiments;
5 illustrates an exemplary method embodiment of an index configuration for searchable data in a networked environment;
Figure 6 illustrates an exemplary device that may be used to implement aspects of various embodiments.
Figure 7 illustrates exemplary components of a client device as illustrated in Figure 6;
Figure 8 illustrates an environment in which various embodiments may be implemented;

적어도 하나의 네트워크를 거쳐 수신된 데이터에 대한 검색 인덱스를 생성하는 데 사용될 수 있는 인덱스 구성을 생성하는 시스템들 및 방법들이 기술된다. 적어도 일부 실시예들은 컴퓨팅 디바이스가 데이터를 네트워크(예컨대, 인터넷)를 거쳐 네트워크 서비스(즉, 네트워크 서비스 제공자)에 의해 제공된 저장소 할당량(storage allocation)에 업로드할 수 있게 한다. 네트워크 서비스는 복수의 데이터 필드들에서의 각각의 데이터 필드에 대한 데이터 필드의 유형(즉, 데이터 필드 유형)을 결정하기 위해 업로드된 데이터를 분석할 수 있다. 네트워크 서비스는 업로드된 데이터에 포함된 복수의 데이터 필드들에서의 각각의 데이터 필드에 대한 하나 이상의 검색 옵션들을 인에이블시킬지 여부를 결정하기 위해 업로드된 데이터를 분석할 수 있다.Systems and methods for generating an index configuration that can be used to generate a search index for data received over at least one network are described. At least some embodiments allow a computing device to upload data to a storage allocation provided by a network service (i.e., a network service provider) over a network (e.g., the Internet). The network service may analyze the uploaded data to determine the type of data field (i. E., The data field type) for each data field in the plurality of data fields. The network service may analyze the uploaded data to determine whether to enable one or more search options for each data field in the plurality of data fields included in the uploaded data.

적어도 일부 실시예들은 컴퓨팅 디바이스가 데이터를 네트워크(예컨대, 인터넷)를 거쳐 네트워크 서비스(즉, 네트워크 서비스 제공자, 네트워크 기반 서비스, 기타)에 의해 제공된 저장소 할당량에 업로드할 수 있게 한다. 하나 이상의 사용자들/엔티티들은 (예컨대, 하나 이상의 컴퓨팅 디바이스들을 사용하여) 네트워크 서비스에 의해 제공될 수 있는 검색 인덱스를 이용하여 네트워크를 거쳐 업로드된 데이터를 검색할 수 있다.At least some embodiments allow a computing device to upload data to a storage quota provided by network services (i.e., network service providers, network-based services, etc.) over a network (e.g., the Internet). One or more users / entities may retrieve the uploaded data across the network using a search index that may be provided by the network service (e.g., using one or more computing devices).

일부 실시예들에서, 업로드된 데이터는 복수의 데이터 필드들을 포함할 수 있다. 네트워크 서비스는 복수의 데이터 필드들에서의 각각의 데이터 필드에 대한 데이터 필드의 유형(즉, 데이터 필드 유형)을 결정하기 위해 업로드된 데이터를 분석할 수 있다. 예를 들어, 각각의 데이터 필드는 정수 유형, 텍스트 유형, 또는 리터럴 유형(literal type)을 비롯한 유형일 수 있다.In some embodiments, the uploaded data may include a plurality of data fields. The network service may analyze the uploaded data to determine the type of data field (i. E., The data field type) for each data field in the plurality of data fields. For example, each data field may be of an integer type, a text type, or a type, including a literal type.

더욱이, 네트워크 서비스는 업로드된 데이터에 포함된 복수의 데이터 필드들에서의 각각의 데이터 필드에 대한 하나 이상의 검색 옵션들을 인에이블시킬지 여부를 결정하기 위해 업로드된 데이터를 분석할 수 있다. 예를 들어, 네트워크 서비스는, 각자의 데이터 필드 각각에 대해, 각자의 데이터 필드를 생성될 검색 인덱스에 포함시키게 될 옵션을 인에이블시킬지 여부를 결정할 수 있다. 네트워크 서비스는 또한, 각자의 데이터 필드 각각에 대해, 각자의 데이터 필드에 대한 패싯 카운트(facet count)를 계산하게 될 옵션을 인에이블시킬지를 결정할 수 있다. 게다가, 네트워크 서비스는, 각자의 데이터 필드 각각에 대해, 검색 질의에 응답하여 각자의 데이터 필드와 연관된 값을 반환/제공하게 될 옵션을 인에이블시킬지를 결정할 수 있다.Moreover, the network service may analyze the uploaded data to determine whether to enable one or more search options for each data field in the plurality of data fields included in the uploaded data. For example, the network service may determine, for each of its data fields, whether to enable the option to include its data field in the search index to be generated. The network service may also determine, for each of its data fields, whether to enable the option to calculate a facet count for each data field. In addition, the network service may determine, for each of its data fields, whether to enable the option to return / provide a value associated with the respective data field in response to the search query.

일부 실시예들에서, 네트워크 서비스는, 결정된 데이터 필드 유형(들) 및 인에이블될 검색 옵션(들)에 적어도 부분적으로 기초하여, 데이터에 대한 인덱스 구성[즉, 검색 인덱스 구성, 스키마(schema), 인덱스 설정(index setting), 기타]을 생성할 수 있다. 네트워크 서비스는, 인덱스 구성에 적어도 부분적으로 기초하여, 데이터에 대한 검색 인덱스를 생성할 수 있다.In some embodiments, the network service is configured to determine the index configuration (i. E., Search index configuration, schema, < RTI ID = 0.0 > Index setting, etc.] can be generated. The network service may generate a search index for the data based at least in part on the index configuration.

다양한 실시예들에 따라 제공될 수 있는 바와 같이, 다양한 다른 기능들 및 장점들이 이하에서 기술되고 제안되어 있다.As can be provided in accordance with various embodiments, various other functions and advantages are described and suggested below.

도 1은 다양한 실시예들의 양태들이 이용될 수 있는 예시적인 환경(100)을 나타낸 것이다. 예시적인 환경(100)은 적어도 하나의 컴퓨팅 디바이스(102), 네트워크(104)[예컨대, 인터넷, 인트라넷, 로컬 네트워크, LAN(local area network), 기타], 및 네트워크 서비스(106)(즉, 네트워크 서비스 제공자, 네트워크 기반 서비스, 기타)를 포함할 수 있다. 적어도 하나의 컴퓨팅 디바이스(102)는 네트워크(104)를 거쳐 네트워크 서비스(106)에 통신 연결(communicatively connected)될 수 있다. 일부 실시예들에서, 컴퓨팅 디바이스(102)는 인터넷과 같은 네트워크(104) 없이 네트워크 서비스(106)를 전달할 수 있다. 도 1에 도시된 바와 같이, 적어도 하나의 컴퓨팅 디바이스(102)의 사용자(108) 또는 기타 엔티티(예컨대, 개인, 회사, 조직, 그룹, 기타)(108)가 또한 있을 수 있다. 사용자 또는 엔티티(108)는 적어도 하나의 컴퓨팅 디바이스(102)로부터 네트워크(104)를 거쳐 네트워크 서비스(106)로(그리고 그 반대로) 데이터(110)를 전달할 수 있다.FIG. 1 illustrates an exemplary environment 100 in which aspects of various embodiments may be utilized. Exemplary environment 100 includes at least one computing device 102, a network 104 (e.g., the Internet, an intranet, a local network, a LAN, etc.), and network services 106 Service provider, network-based service, etc.). At least one computing device 102 may be communicatively connected to the network service 106 via the network 104. In some embodiments, the computing device 102 may communicate the network service 106 without the network 104, such as the Internet. There may also be a user 108 or other entity (e.g., an individual, company, organization, group, etc.) 108 of at least one computing device 102, as shown in FIG. A user or entity 108 may communicate data 110 from at least one computing device 102 over a network 104 to a network service 106 and vice versa.

일부 실시예들에서, 네트워크 서비스(106)는 네트워크(104)에 연결된 하나 이상의 호스트들 또는 서버들을 포함하고 그리고/또는 이용할 수 있다. 예를 들어, 네트워크 서비스(106)는 디바이스(102)의 사용자 또는 다른 엔티티(들)(예컨대, 회사, 조직, 그룹, 개인, 기타)(108)와 같은 고객들에게 저장 공간을 임대할 수 있다. 그에 따라, 컴퓨팅 디바이스(102)의 사용자/엔티티(108)는 디바이스(102)로부터의 데이터를 네트워크(104)를 사용하여 네트워크 서비스(106)에 저장할 수 있다. 환언하면, 사용자/엔티티(108) 및/또는 디바이스(102)는 네트워크 서비스(106)를 통해 네트워크 기반 컴퓨팅 저장소를 이용할 수 있다.In some embodiments, the network service 106 may include and / or utilize one or more hosts or servers coupled to the network 104. For example, the network service 106 may rent storage space to customers, such as a user of the device 102 or other entity (s) (e.g., company, organization, group, Accordingly, the user / entity 108 of the computing device 102 may store data from the device 102 in the network service 106 using the network 104. In other words, user / entity 108 and / or device 102 may utilize network-based computing storage via network service 106.

하나의 예에서, 컴퓨팅 디바이스(102)는, 도 1에 도시된 바와 같이, 네트워크 서비스(106)에 저장될 데이터(110)를 네트워크(104)를 거쳐 전송할 수 있다. 데이터(110)는 예를 들어, 검색, 데이터베이스 저장, 애플리케이션을 실행하는 것, 가상 기계를 실행하는 것, 운영 체제를 실행하는 것 등을 위해서 네트워크 기반 컴퓨팅에서 이용되는 임의의 데이터일 수 있다. 컴퓨팅 디바이스(102)는 서비스(106)에 의해 제공된 저장소 할당량에 저장될 데이터(110)를 전송할 수 있다. 예를 들어, 사용자/엔티티(108)는 서비스(106) 상의 저장 공간을 구입 또는 임대할 수 있고, 저장소 할당량이 사용자/엔티티(108)에 할당 및 배정될 수 있다. 일부 실시예들에서, 사용자/엔티티(108)는 서비스(106) 상에 특정의 계정 및/또는 저장소 할당량을 가질 수 있고; 엔티티(108)에 할당 및 배정된 저장 공간(예컨대, 저장소 할당량)은 엔티티(108)의 계정과 연관되어 있을 수 있다.In one example, the computing device 102 may transmit data 110 to be stored in the network service 106 over the network 104, as shown in FIG. Data 110 may be, for example, any data used in network-based computing for retrieval, database storage, running applications, running virtual machines, running an operating system, and the like. The computing device 102 may send data 110 to be stored in the storage quota provided by the service 106. For example, the user / entity 108 may purchase or rent storage space on the service 106, and the storage quota may be allocated and assigned to the user / entity 108. In some embodiments, the user / entity 108 may have a particular account and / or storage quota on the service 106; The storage space (e.g., storage quota) allocated and allocated to the entity 108 may be associated with an account of the entity 108.

엔티티(108)는 또한 네트워크 서비스(106)가 데이터(110)에 대한 검색 인덱스를 제공하기를 원할 수 있다. 종래의 접근 방법들은 통상적으로 엔티티(108)가 먼저 인덱싱될 데이터(110)에 대한 구성(즉, 인덱스 구성, 스키마, 인덱스 설정, 기타)을 제공할 것을 요구하거나, 종래의 접근 방법들은 엔티티의 데이터(110)가 따라야만 하는 구성/포맷[예컨대, SDF(Search Data Format)]을 요구할 수 있고, 따라서 엔티티(110)에게 그의 데이터(110)를 요구된 구성으로 변환시킬 것을 요구한다. 그렇지만, 이것이 엔티티(108)에게 불편하거나, 번거롭거나 어려울 수 있다.The entity 108 may also want the network service 106 to provide a search index for the data 110. Conventional approaches typically require the entity 108 to provide a configuration (i.e., index configuration, schema, index settings, etc.) for the data 110 to be indexed first, or conventional approaches may require data (E.g., SDF (Search Data Format)) that the server 110 must follow, thus requiring the entity 110 to convert its data 110 into the required configuration. However, this may be inconvenient, cumbersome, or difficult for the entity 108.

일부 실시예들에서, 엔티티(108)는 데이터(110)를 네트워크 서비스(106)로 전송할 수 있고, 네트워크 서비스(106)는 데이터(110)를 자동으로[즉, 엔티티(108)로부터의 지시 또는 요청 없이] 분석하고 데이터(110)에 대한 인덱스 구성(예컨대, 검색 인덱스 구성, 검색 인덱스 스키마, 기타)을 생성할 수 있다. 예를 들어, 일부 실시예들에서, 네트워크 서비스(106)는, 데이터(110)에 포함된 하나 이상의 데이터 필드들에 대한 데이터 필드 유형(112)을 결정하는 것 및 데이터(110)에 포함된 하나 이상의 데이터 필드들에 대해 인에이블될 검색 옵션(114)을 결정하는 것에 의해, 데이터(110)를 분석할 수 있다.In some embodiments, the entity 108 may transmit data 110 to the network service 106 and the network service 106 may automatically transmit the data 110 (i. E., An indication from the entity 108 Request) and generate an index configuration (e.g., a search index configuration, a search index schema, etc.) for the data 110. For example, in some embodiments, the network service 106 may be configured to determine a data field type 112 for one or more data fields included in the data 110, By determining the search option 114 to be enabled for the above data fields, the data 110 can be analyzed.

데이터 필드 유형(112)을 결정하는 것과 관련하여, 데이터(110)(예컨대, 문서, 파일, 기타)가 연관될 수 있는 복수의 데이터 필드 유형들(예를 들어, 정수 데이터 필드 유형, 리터럴 데이터 필드 유형, 또는 텍스트 데이터 필드 유형, 기타 등등)이 있을 수 있다. 일부 실시예들에서, 데이터(110)는 복수의 데이터 필드들을 포함할 수 있고, 각각의 데이터 필드는 값을 포함한다(예컨대, 데이터 필드 "이름"은 "ABCD-브랜드 셔츠"의 값을 가질 수 있고; 데이터 필드 "가격"은 "$20"의 값을 가질 수 있으며; 기타가 있다). 네트워크 서비스(106)는 복수의 데이터 필드들에서의 각각의 데이터 필드에 대한 데이터 필드 유형을 결정하기 위해 데이터(110)에 포함된 복수의 데이터 필드들을 분석할 수 있다.With regard to determining the data field type 112, a plurality of data field types (e.g., an integer data field type, a literal data field, etc.) to which the data 110 Type, or text data field type, etc.). In some embodiments, data 110 may include a plurality of data fields, and each data field includes a value (e.g., the data field "name" may have a value of "ABCD-brand shirt" ; The data field "price" can have a value of "$ 20 "; The network service 106 may analyze a plurality of data fields included in the data 110 to determine a data field type for each data field in the plurality of data fields.

예를 들어, 각각의 데이터 필드에 대해, 네트워크 서비스(106)는 각자의 데이터 필드 각각의 값이 지정된 정수 양 임계치(integer amount threshold) 초과의 양의 정수들을 포함하는지를 결정할 수 있고(예컨대, 데이터 필드 "가격"의 값이 모두 정수임); 그러한 경우, 그 각자의 데이터 필드가 정수 데이터 필드 유형인 것으로 결정될 수 있다. 네트워크 서비스(106)는 또한, 예를 들어, 데이터 필드와 연관된 값이 지정된 하부 리터럴 양 임계치(lower literal amount threshold) 초과이지만 지정된 상부 리터럴 양 임계치(upper literal amount threshold) 미만인 양의 알파벳 문자들을 가지는 것, 데이터 필드와 연관된 개별 값들의 개수가 지정된 리터럴 개별 양 임계치(literal distinct amount threshold) 미만인 것, 개별 값들의 퍼센트가 지정된 리터럴 개별 퍼센트 임계치 미만인 것, 또는 값들의 길이가 지정된 리터럴 길이 임계치 미만인 것 중 적어도 하나를 결정하는 것에 의해 데이터 필드가 리터럴 데이터 필드 유형인지를 결정할 수 있다. 일부 실시예들에서, 네트워크 서비스(106)는, 예를 들어, 데이터 필드를 텍스트 유형인 것으로 식별하기 위해, 데이터 필드 값의 길이 및 데이터 필드 값에서의 개별 값들의 빈도수 및/또는 퍼센트를 고려할 수 있고; 데이터 필드 값에 많은 개별 값들이 있고 데이터 필드 값이 아주 긴 경우(예컨대, 임계치 초과의 개수의 영숫자 문자들을 가짐), 데이터 필드는 텍스트 유형일 가능성이 있다. 일부 실시예들에서, 데이터 필드가 정수 유형 또는 리터럴 유형이 아닌 경우, 그 데이터 필드는 텍스트 유형일 수 있다.For example, for each data field, the network service 106 may determine whether the value of each of the respective data fields includes positive integers in excess of a specified integer amount threshold (e.g., The values of "price" are all integers); In such a case, it can be determined that the respective data field is an integer data field type. The network service 106 may also include, for example, having a value associated with a data field having a positive alphanumeric character that is greater than a specified lower literal amount threshold but less than a specified upper literal amount threshold , The number of distinct values associated with the data field is less than the specified literal distinct amount threshold, the percent of individual values is less than the specified literal individual percent threshold, or at least the length of the values is less than the specified literal length threshold By determining one, one can determine if the data field is a literal data field type. In some embodiments, the network service 106 may consider the frequency and / or percentage of individual values in the data field value and the length of the data field value, for example, to identify the data field as being of a text type Have; If there are many individual values in the data field value and the value of the data field is very long (e.g., has a number of alphanumeric characters exceeding the threshold), then the data field is likely to be a text type. In some embodiments, if the data field is not an integer type or a literal type, the data field may be a text type.

검색 옵션(114)을 결정하는 것과 관련하여, 네트워크 서비스(106)는 데이터(110)(의 데이터 필드들)에 대해 인에이블될 하나 이상의 검색 옵션들(114)을 결정할 수 있다. 예를 들어, 데이터(110)에 포함된 데이터 필드에 대한 데이터 필드 유형을 결정했으면, 네트워크 서비스(106)는 데이터 필드를 생성될 검색 인덱스에 포함시키는 옵션을 인에이블시킬지 여부, 데이터 필드에 대한 패싯 카운트를 계산하는 옵션을 인에이블시킬지 여부, 및/또는 데이터 유형에 대한 검색 값을 반환/제공하는 옵션을 인에이블시킬지 여부를 결정할 수 있다.With regard to determining the search option 114, the network service 106 may determine one or more search options 114 to be enabled for (the data fields of) the data 110. For example, if the data field type for the data field included in the data 110 has been determined, the network service 106 determines whether to enable the option to include the data field in the search index to be generated, Whether to enable the option to calculate the count, and / or to enable / disable the option to return / provide the search value for the data type.

예를 들어, 데이터 필드에 대한 데이터 필드 유형이 텍스트인 것으로 결정되는 경우(예컨대, 데이터 필드가 "제품 설명"이고 값이 긴 단락임), 네트워크 서비스(106)는 데이터 필드(및 값)를 검색 인덱스에 포함시키지 않는 옵션을 선택할 수 있다. 다른 예에서, 정수 데이터 필드 유형을 갖는 데이터 필드에 대해(예컨대, 데이터 필드가 "생산 연도"이고 값이 연도임), 네트워크 서비스(106)는 데이터 필드를 생성될 검색 인덱스에 포함시키는 옵션을 인에이블시키기로 선택할 수 있고, 서비스(106)는 데이터 필드에 대한 패싯 카운트를 계산하는 옵션을 인에이블시킬 수 있다. 패싯 카운트는 몇개의 검색 결과들이 데이터 필드에 대한 특정한 카테고리에 속하는지의 카운트일 수 있다. 예를 들어, 데이터 필드가 "생산 연도"인 경우, 네트워크 서비스(106)는 몇개의 검색 결과들이 특정한 카테고리와 연관되어 있는지를 나타내는 패싯 카운트를 제공하는 것이 타당한 것으로 결정할 수 있고; 예컨대, "1984 (23), 2002 (12), 2010 (18)"은, "생산 연도" 데이터 필드와 관련하여, 23개의 검색 결과들이 "1984"와 연관되어 있고, 12개의 검색 결과들이 "2002"와 연관되어 있으며, 18개의 검색 결과들이 "2010"과 연관되어 있는 패싯 카운트들의 한 예를 나타낸다.For example, if it is determined that the data field type for the data field is text (e.g., the data field is a "product description" and the value is a long paragraph), the network service 106 retrieves the data field You can select options that are not included in the index. In another example, for a data field having an integer data field type (e.g., the data field is a "production year" and the value is year), the network service 106 provides an option to include the data field in the search index to be created And the service 106 may enable the option to calculate the facet count for the data field. The facet count may be a count of how many search results belong to a particular category for the data field. For example, if the data field is a "production year ", the network service 106 may determine that it is appropriate to provide a facet count that indicates how many search results are associated with a particular category; For example, in relation to the "production year" data field, 23 search results are associated with "1984 ", 12 search results are associated with" 2002 Quot ;, and 18 search results are an example of facet counts associated with "2010 ".

일부 실시예들에서, 네트워크 서비스(106)는 또한 데이터 필드에 대한 값의 반환을 인에이블시키기로 결정할 수 있다. 예를 들어, 검색 요청에 응답하여, 검색가능 데이터 필드들(및 값들) 전부가 반환(예컨대, 검색되어 제시)될 필요는 없다. 네트워크 서비스(106)는 데이터 필드에 대한 값을 반환할지 여부를 결정할 수 있다.In some embodiments, the network service 106 may also decide to enable the return of values for the data field. For example, in response to a search request, all of the searchable data fields (and values) need not be returned (e.g., retrieved and presented). The network service 106 may determine whether to return a value for the data field.

이제부터 데이터(110)에 대한 구성의 생성을 살펴보면, 네트워크 서비스는 데이터(110)에 대한 구성(예컨대, 검색 인덱스 구성, 스키마, 기타)을 자동으로[즉, 엔티티(108)로부터의 지시 없이] 생성할 수 있다. 일부 실시예들에서, 구성이, 적어도 부분적으로, 데이터(110)를 어떻게 인덱싱할지를 결정하는 데 도움을 줄 수 있고; 인덱스 구성이, 적어도 부분적으로, 데이터(110)가 어떻게 인덱싱될 것인지를 좌우할 수 있다. 구성 또는 스키마는 데이터(110)에 포함된 각각의 데이터 필드에 대한 데이터 필드 유형을 지정하고, 각각의 데이터 필드가 검색가능한지를 나타내며, 각각의 데이터 필드가 순위부여가능(rankable)[예컨대, 분류가능(sortable)]한지, 및 인덱스를 구축하는 데 유용한 기타 유사한 정보를 나타낼 수 있다. 인덱싱될 데이터(110)에 대한 구성을 생성한 후에, 네트워크 서비스(106)는, 생성된 구성에 적어도 부분적으로 기초하여, 데이터(110)에 대한 검색 인덱스를 생성할 수 있다.Now, looking at the creation of a configuration for data 110, the network service can automatically (e.g., without instructions from entity 108) configure the data 110 (e.g., search index configuration, schema, Can be generated. In some embodiments, the configuration can help, at least in part, determine how to index the data 110; The index configuration may, at least in part, determine how the data 110 will be indexed. The configuration or schema specifies a data field type for each data field included in the data 110, indicates whether each data field is searchable, and indicates whether each data field is rankable (e.g., (sortable)], and other similar information useful for building an index. After creating a configuration for the data 110 to be indexed, the network service 106 may generate a search index for the data 110 based, at least in part, on the generated configuration.

도 2는 네트워크화된 환경에서의 검색가능 데이터에 대한 인덱스 구성이 이용될 수 있는 예시적인 웹 브라우징 환경(200)을 나타낸 것이다. 예시적인 웹 브라우징 환경(200)은 웹 브라우저와 같은 애플리케이션에 의해 렌더링되고 있는 예시적인 웹 페이지(202)를 포함할 수 있다. 이 예에서, 웹 페이지(202)는 도메인 ABCD.com과 연관되어 있는 네트워크 서비스에 의해 제공될 수 있다.2 illustrates an exemplary web browsing environment 200 in which an index configuration for searchable data in a networked environment can be used. The exemplary web browsing environment 200 may include an exemplary web page 202 being rendered by an application, such as a web browser. In this example, the web page 202 may be provided by a network service associated with domain ABCD.com.

사용자/엔티티(예컨대, 네트워크 서비스의 고객)는 소매업자일 수 있고, 예를 들어, 셔츠의 판매와 관련되어 있는 데이터를 업로드할 수 있다. 데이터가 네트워크 서비스에 의해 인덱싱되어 저장되고 사용자/엔티티의 잠재적인 고객들과 같은 다른 사람들에 의해 검색가능하게 될 수 있다. 네트워크 서비스는 데이터에 포함된 데이터 필드들 각각에 대한 데이터 필드의 유형(즉, 데이터 필드 유형)을 결정하기 위해 데이터를 분석할 수 있다. 예를 들어, 셔츠의 판매와 관련된 데이터는 "색상"(206), "크기"(208), "가격"(210), "설명", 및 기타 필드들과 같은 데이터 필드들을 포함할 수 있다. 네트워크 서비스는 각자의 데이터 필드 각각에 대한 유형을 결정하기 위해 각각의 데이터 필드에 대한 값을 분석할 수 있다. 네트워크 서비스는 또한 각각의 데이터 필드에 대해 인에이블시킬 하나 이상의 옵션들(예컨대, 검색 옵션들)을 결정할 수 있다. 네트워크 서비스는 이어서 인덱싱될 데이터에 대한 구성/스키마를 생성할 수 있다. 그러면, 네트워크 서비스는, 구성/스키마에 기초하여, 데이터에 대한 인덱스를 생성할 수 있다.The user / entity (e.g., a customer of the network service) may be a retailer and may upload data associated with, for example, sales of the shirt. Data may be indexed and stored by the network service and made discoverable by others, such as potential customers of the user / entity. The network service may analyze the data to determine the type of data field (i. E., The data field type) for each of the data fields included in the data. For example, data relating to the sale of a shirt may include data fields such as "color" 206, "size" 208, "price" 210, " The network service may analyze the values for each data field to determine the type for each of the data fields. The network service may also determine one or more options (e.g., search options) to enable for each data field. The network service can then create a configuration / schema for the data to be indexed. The network service may then create an index for the data based on the configuration / schema.

예를 들어, 네트워크 서비스는 데이터 필드 "색상"을 식별하고, 그의 값(예컨대, "적색", "청색", "백색", "녹색", 기타)이 알파벳/리터럴인 것으로 결정할 수 있으며, "색상" 데이터 필드의 유형을 리터럴 유형인 것으로 식별할 수 있다. [이 예에서, "색상" 데이터 필드와 연관된 데이터 및 값들(예컨대, "적색", "청색", "백색", "녹색", 기타)은 엔티티에 의해 업로드될 수 있다.] 다른 예에서, 네트워크 서비스는 업로드된 데이터의 적어도 일부분에서 "크기" 데이터 필드를 식별하고 "크기" 데이터 필드에 포함된 값들이 숫자 값인 것으로 결정할 수 있다. 이 경우에, 네트워크 서비스는 "크기" 데이터 필드가 정수 유형인 것으로 결정할 수 있다. 추가의 예에서, 네트워크 서비스는 업로드된 데이터의 적어도 일부분에서 "설명" 데이터 필드들에 대한 값들을 식별하고 값들이 숫자 및 알파벳 문자 둘 다를 포함하는 것으로 그리고/또는 값들이 문자들의 개수의 면에서 긴 것으로 그리고/또는 값들이 개별 용어들/문구들/심볼들을 가지는 것으로 결정할 수 있다. 이 경우에, 네트워크 서비스는 "설명" 데이터 필드가 텍스트 유형인 것으로 결정할 수 있다.For example, the network service may identify the data field "color " and may determine that its value (e.g.," red "," blue "," white "," green " Quot; color "data field as a literal type. In this example, data and values associated with a "color" data field (e.g., "red", "blue", "white", "green", etc.) may be uploaded by an entity. The network service may identify a "size" data field in at least a portion of the uploaded data and determine that the values contained in the "size" data field are numeric values. In this case, the network service may determine that the "size" data field is of integer type. In a further example, the network service identifies values for "description" data fields in at least a portion of the uploaded data and the values include both numeric and alphabetic characters and / And / or that the values have individual terms / phrases / symbols. In this case, the network service may determine that the "description" data field is a text type.

검색 옵션들과 관련하여, 네트워크 서비스는, 데이터 필드들 각각에 대해, 각자의 데이터 필드를 생성될 검색 인덱스에 포함시키는 옵션을 인에이블시킬지 여부를 결정할 수 있다. 예를 들어, 일부 실시예들에서, "설명" 데이터 필드들(및 대응하는 값들)이 검색 인덱스로부터 생략될 수 있다. 그러한 경우, 검색 인덱스와 관련하여 질의가 실행될 때, 질의는 "설명" 데이터 필드를 검색하지 않을 것이다. 그렇지만, 일부 실시예들은 "설명" 데이터 필드들 및 값들을 검색 인덱스에 포함시킬 수 있고 그리고 정말로 포함시킨다.With respect to the search options, the network service may determine, for each of the data fields, whether to enable the option of including their data field in the search index to be generated. For example, in some embodiments, "description" data fields (and corresponding values) may be omitted from the search index. In such a case, when the query is executed with respect to the search index, the query will not search for the "Description" data field. However, some embodiments may and may indeed include "description" data fields and values in the search index.

더욱이, 네트워크 서비스는 각각의 데이터 필드에 대한 패싯 카운트를 계산하는 옵션을 인에이블시킬지 여부를 결정할 수 있다. 앞서 언급한 바와 같이, 패싯 카운트는 검색 질의와 일치하는 결과들 중 몇개가 특정의 데이터 필드에 대한 특정의 값(또는 값들의 범위)을 가지는지를 나타낸다. 예를 들어, 도 2에 도시된 바와 같이, "적색"의 값을 갖는 "색상" 데이터 필드는 23의 패싯 카운트(즉, "적색" 셔츠에 대한 23개의 검색 결과들)를 갖는 반면, "색상" 데이터 필드의 "청색" 값은 28의 패싯 카운트(즉, "청색" 셔츠에 대한 28개의 검색 결과들)를 가지며, 기타이다. 일부 실시예들에서, 값들이 겹칠 수 있다(즉, 정확한 일치일 필요는 없다). 예를 들어, 청색 및 적색 줄무늬를 갖는 셔츠는 "청색" 값 및 "적색" 값 둘 다, 및/또는 다른 값들과 연관될 수 있다. 일부 실시예들에서, 네트워크 서비스는 데이터 필드들 중 일부(꼭 데이터 필드들 전부일 필요는 없음)에 대해 패싯 카운트들이 계산되어야만 하는 것으로 결정할 수 있다. 예를 들어, 네트워크 서비스는 "설명"에 대해서가 아니라 "색상", "크기", 및 "가격"에 대한 패싯 카운트들이 있어야만 하는 것으로 결정할 수 있다.Moreover, the network service may determine whether to enable the option to calculate the facet count for each data field. As noted above, facet counts indicate which of the results that match the search query have a particular value (or range of values) for a particular data field. For example, as shown in FIG. 2, a "color" data field having a value of "red" has 23 facet counts (ie, 23 search results for a "red" shirt) The "blue" value of the data field has a facet count of 28 (i.e., 28 search results for a "blue" shirt) and the like. In some embodiments, the values may overlap (i. E., Need not be an exact match). For example, a shirt with blue and red stripes may be associated with both a "blue" value and a "red" value, and / or other values. In some embodiments, the network service may determine that facet counts should be calculated for some of the data fields (not necessarily all of the data fields). For example, a network service may decide that there must be facet counts for "color", "size", and "price", not for "description"

게다가, 네트워크 서비스는 데이터 필드에 대한 값의 반환을 인에이블시킬지 여부를 결정할 수 있다. 예를 들어, 데이터에 포함된 데이터 필드 "내부 제품 식별 번호" - 데이터 필드의 값은 엔티티 내부의 제품 식별 번호이고 엔티티의 고객에게 보여지도록 의도되어 있지 않음 - 가 있을 수 있고; 그에 따라, 네트워크 서비스는 이러한 데이터 필드에 대한 값의 반환을 인에이블시키지 않기로 결정할 수 있다.In addition, the network service may determine whether to enable the return of values for the data field. For example, the data field "internal product identification number" contained in the data - the value of the data field may be the product identification number within the entity and is not intended to be seen by the entity's customer; Accordingly, the network service may decide not to enable the return of values for this data field.

통상의 기술자라면 잘 알 것인 다른 항목들에 관련된 데이터 뿐만 아니라 부가의 옵션들이 있을 수 있는 것이 생각되고 있다. 예를 들어, 네트워크 서비스는 데이터 필드를 순위부여가능(예컨대, 분류가능)하게 만드는 옵션을 인에이블시킬지 여부를 결정할 수 있다. 도 2를 참조하면, 일부 실시예들에서, "가격" 데이터 필드는 그의 값에 의해(예컨대, 최저 가격으로부터 최고 가격으로, 최고 가격으로부터 최저 가격으로, 기타로) 순위 부여/분류될 수 있고, "색상" 데이터 필드는 알파벳순으로 분류될 수 있으며(도 2에 예시되지 않음), 기타이다. 다른 예(예시되지 않음)에서, 음악, 비디오, 책, 사진 등과 같은 미디어 파일에 관련된 데이터가 있을 수 있다. 미디어 파일에 대한 예시적인 데이터 필드는 "제목", "예술가/저자", "제작 연도", "가격", "등급", 기타(이들로 제한되지 않음)를 포함할 수 있다.It is contemplated that there may be additional options as well as data relating to other items that the ordinarily skilled artisan would be familiar with. For example, the network service may determine whether to enable the option to make data fields rankable (e.g., classifiable). Referring to Figure 2, in some embodiments, the "Price" data field may be ranked / sorted by its value (e.g., from lowest price to highest price, from highest price to lowest price, The "color" data fields can be sorted alphabetically (not illustrated in FIG. 2) and others. In another example (not illustrated), there may be data related to media files such as music, video, books, photos, and the like. Exemplary data fields for a media file may include "title", "artist / author", "production year", "price", "rating", and the like, including but not limited to.

데이터에 포함된 데이터 필드들의 유형들 및 데이터에 포함된 데이터 필드들에 대한 하나 이상의 검색 옵션들을 결정하면, 네트워크 서비스는 데이터에 대한 구성(즉, 검색 인덱스 구성, 스키마, 기타)을 생성할 수 있고, 구성의 생성은 결정된 데이터 필드 유형들 및 검색 옵션들에 적어도 부분적으로 기초하고 있다.Upon determining one or more search options for the types of data fields included in the data and the data fields contained in the data, the network service may generate a configuration for the data (i.e., search index configuration, schema, etc.) , The creation of the configuration is based at least in part on the determined data field types and search options.

구성을 생성한 후에, 네트워크 서비스는, 생성된 구성에 적어도 부분적으로 기초하여, 데이터에 대한 검색 인덱스를 생성할 수 있다. 그에 따라, 엔티티에 의해 제공된 데이터가 네트워크 서비스에 저장될 수 있고, 데이터에 대한 검색 인덱스가 네트워크 서비스에 의해 생성될 수 있다.After creating the configuration, the network service may generate a search index for the data based at least in part on the generated configuration. Accordingly, the data provided by the entity may be stored in the network service, and a search index for the data may be generated by the network service.

도 3은 네트워크화된 환경에서의 검색가능 데이터에 대한 인덱스 구성의 예시적인 시스템 실시예(300)를 나타낸 것이다. 예시적인 시스템 실시예(300)는 시스템 제어기(302), 적어도 하나의 통신 송수신기(304), 데이터 필드 유형 분석기(306), 검색 옵션 분석기(308), 인덱스 구성 생성기(310), 인덱스 생성기(312), 및 적어도 하나의 저장소 할당량(314)을 포함할 수 있다.3 illustrates an exemplary system embodiment 300 of an index configuration for searchable data in a networked environment. Exemplary system embodiment 300 includes a system controller 302, at least one communication transceiver 304, a data field type analyzer 306, a search options analyzer 308, an index configuration generator 310, an index generator 312 ), And at least one storage quota 314.

시스템 제어기(302)는 시스템이 네트워크화된 환경에서의 검색가능 데이터에 대한 인덱스 구성을 위한 다양한 동작들을 수행하는 것을 용이하게 할 수 있다. 시스템 제어기(302)는 시스템 내부에서의 데이터 통신을 용이하게 하기 위해서 뿐만 아니라, 시스템(300)의 외부에 있는 하나 이상의 소스들로의 데이터 전송 및/또는 그로부터의 데이터 수신을 용이하게 하기 위해 적어도 하나의 통신 송수신기(304)와 통신할 수 있다.The system controller 302 may facilitate the system to perform various operations for index configuration on searchable data in a networked environment. The system controller 302 is coupled to at least one of the plurality of systems 300 for facilitating data communication within the system, as well as for facilitating data transfer to and / Lt; RTI ID = 0.0 > 304 < / RTI >

통신 송수신기(304)를 통해 시스템(300)에 의해 (예컨대, 엔티티로부터) 수신된 데이터가, 데이터에 포함된 데이터 필드들 각각과 연관된 유형을 결정하기 위해, 데이터 필드 유형 분석기(306)에 의해 분석될 수 있다. 데이터가 또한, 데이터에 포함된 데이터 필드들 각각과 관련하여 하나 이상의 검색 옵션들을 인에이블시킬지 여부를 결정하기 위해, 검색 옵션 분석기(308)에 의해 분석될 수 있다. 결정된 데이터 필드 유형들 및 하나 이상의 결정된 검색 옵션들에 적어도 부분적으로 기초하여, 인덱스 구성 생성기(310)는 검색 인덱스 구성/스키마를 생성할 수 있다. 이어서, 생성된 검색 인덱스 구성/스키마에 적어도 부분적으로 기초하여, 인덱스 생성기(312)는 데이터에 대한 검색 인덱스를 생성할 수 있다. 데이터 및 데이터에 대해 생성된 검색 인덱스는 하나 이상의 저장소 할당량들(314)에 저장될 수 있다.Data received by system 300 (e.g., from an entity) via communication transceiver 304 is analyzed by data field type analyzer 306 to determine the type associated with each of the data fields included in the data. . The data may also be analyzed by the search options analyzer 308 to determine whether to enable one or more search options in association with each of the data fields included in the data. Based at least in part on the determined data field types and the one or more determined search options, the index configuration generator 310 may generate a search index configuration / schema. Then, based at least in part on the generated search index configuration / schema, the index generator 312 may generate a search index for the data. The search index generated for the data and data may be stored in one or more storage quotas 314.

예시적인 시스템(300)의 다양한 구성요소들 및/또는 부분들이 하드웨어, 소프트웨어, 또는 이 둘의 조합으로서 구현될 수 있는 것이 생각되고 있다. 예를 들어, 시스템(300)의 다양한 부분들이 회로, 프로세서, 애플리케이션, 프로그래밍 코드의 일부분, 알고리즘, 또는 이들의 임의의 조합, 기타를 통해 구현될 수 있다. 도 3이 한 예이고 단지 예시를 위해 사용되기 위한 것임이 또한 생각되고 있다. 예를 들어, 다양한 구성요소들이 도 3에 따라 구성될 필요는 없다. 일부 실시예들에서, 다양한 구성요소들이 서로 밀접하게 결합될 필요는 없고, 그 대신에, 보다 분산된 시스템에 걸쳐 확산되어 있을 수 있다. 예를 들어, 인덱스 생성기와 같은 구성요소가 별개의/상이한 네트워크 및/또는 시스템 상에 존재할 수 있지만, 여전히 다른 구성요소들과의 통신 연결(들)을 유지하고 있다.It is contemplated that various components and / or portions of the exemplary system 300 may be implemented as hardware, software, or a combination of both. For example, various portions of system 300 may be implemented with circuitry, processor, application, portions of programming code, algorithms, or any combination thereof, or the like. It is also contemplated that Figure 3 is an example and is intended for illustration purposes only. For example, the various components need not be configured according to FIG. In some embodiments, the various components need not be tightly coupled to each other, but instead may be spread over more distributed systems. For example, components such as index generators may reside on separate / different networks and / or systems, but still maintain communication link (s) with other components.

도 4는 본 개시 내용의 다양한 실시예들에 따라 생성될 수 있는 예시적인 검색 인덱스(400)를 나타낸 것이다. 도 4를 참조하면, 검색 인덱스에 루트 노드(402)가 있을 수 있다. 도 4의 예에서, T-셔츠 소매업자와 같은 엔티티에 의해 데이터가 업로드될 수 있다. 데이터는 엔티티가 판매하고 있는 T-셔츠[루트 노드(402)]에 관한 정보에 대응할 수 있다. T-셔츠에 관련된 데이터에 대한 데이터 필드들을 나타내는 부모 노드들(예컨대, 404, 406, 408)이 있을 수 있다. 예를 들어, T-셔츠는 색상 데이터 필드(404), 크기 데이터 필드(406), 및 가격 데이터 필드(408)를 가질 수 있다.FIG. 4 illustrates an exemplary search index 400 that may be generated in accordance with various embodiments of the present disclosure. Referring to FIG. 4, there may be a root node 402 in the search index. In the example of FIG. 4, data may be uploaded by an entity such as a T-shirt retailer. The data may correspond to information about the T-shirt (root node 402) the entity is selling. There may be parent nodes (e.g., 404, 406, 408) that represent data fields for data associated with the T-shirt. For example, a T-shirt may have a color data field 404, a size data field 406, and a price data field 408.

도 4의 예를 계속하여, 데이터 필드들은 각자의 데이터 필드 각각 내의 값들을 나타내는 자식 노드들(예컨대, 410, 412, 414, 416, 418)을 가질 수 있다. 예를 들어, 적어도 2개의 색상[적색(410) 및 청색(412)], 하나의 크기[중간(414)], 및 2개의 가격 범위[(<$10(416) 및 $10-$20(418)]가 있을 수 있다. 또한 데이터 필드들 및 값들 중 하나 이상에 대응할 수 있는 한 세트의 검색 결과들/항목들[예컨대, T-셔츠들(420, 422, 424, 426, 428, 430)]이 있을 수 있다.Continuing with the example of FIG. 4, the data fields may have child nodes (e.g., 410, 412, 414, 416, 418) that represent values within each of their respective data fields. For example, at least two colors (Red 410 and Blue 412), one size (Medium 414), and two price ranges [(<$ 10 416 and $ 10- $ 20 418) There may also be a set of search results / items (e.g., T-shirts 420, 422, 424, 426, 428, 430) that can correspond to one or more of the data fields and values .

이 예에서, 3개의 데이터 필드[색상(404), 크기(406), 및 가격(408)] 모두가 검색 인덱스에 포함되어야 하고, 패싯 카운트들을 가질 수 있으며, 관련 검색 질의들에 응답하여 값들을 제공/반환할 수 있다. 예를 들어, 도 4에 도시된 바와 같이, 색상:적색(410)은 3의 패싯 카운트를 가질 수 있고, 색상:청색(412)은 2의 패싯 카운트를 가질 수 있다. 크기:중간(414)은 2의 패싯 카운트를 가질 수 있다. 가격:<$10(416)은 1의 패싯 카운트를 가질 수 있고, 가격:$10-$20(418)은 2의 패싯 카운트를 가질 수 있다. 더욱이, 예를 들어, 색상:적색(410)의 검색 질의는 T-셔츠들(422, 424, 및 428)을 반환할 것이고; 예를 들어, 적색(410) 및 청색(412)에 대한 검색은 T-셔츠(422)를 반환할 것이며; 기타이다. 예시적인 검색 인덱스(400)가 트리 구조인 것으로서 도시되어 있지만, 검색 인덱스가 많은 다른 방법들로 및/또는 다른 구조들로 생성될 수 있는 것이 생각되고 있다.In this example, all three data fields (color 404, size 406, and price 408) should be included in the search index, may have facet counts, Provided / returned. For example, color: red 410 may have a facet count of three, and color: blue 412 may have a facet count of two, as shown in FIG. Size: Middle 414 may have a facet count of two. Price: <$ 10 (416) can have a facet count of 1, and prices: $ 10- $ 20 (418) can have a facet count of 2. Moreover, for example, a search query of color: red 410 would return T-shirts 422, 424, and 428; For example, a search for red 410 and blue 412 would return T-shirt 422; Others. Although the exemplary search index 400 is shown as being a tree structure, it is contemplated that the search index may be generated in many other ways and / or with other structures.

도 5는 네트워크화된 환경에서의 검색가능 데이터에 대한 인덱스 구성의 예시적인 방법 실시예(500)를 나타낸 것이다. 다시 말하지만, 달리 언급하지 않는 한, 다양한 실시예들의 범주 내에서, 유사한 또는 대안의 순서로 또는 병렬로 수행되는 부가의, 보다 적은, 또는 대안의 단계들이 있을 수 있다는 것을 잘 알 것이다. 단계(502)에서, 예시적인 방법 실시예(500)는 인덱싱될 데이터를 수신할 수 있다. 예를 들어, 방법(500)은 인덱싱될 (엔티티에 의해 업로드된) 데이터를 수신할 수 있고, 데이터는 복수의 데이터 필드들(또는 적어도 하나의 데이터 필드)을 포함할 수 있다. 일부 실시예들에서, 예시적인 방법은 또한 데이터와 연관된 데이터 필드에 대한 이름을 결정할 수 있다. 단계(504)에서, 예시적인 방법(500)은 데이터와 연관된 데이터 필드의 유형을 결정할 수 있다. 예를 들어, 방법은 복수의 데이터 필드들에서의 각각의 데이터 필드와 연관된 (복수의 필드 유형들 중의) 필드 유형을 결정할 수 있다. 복수의 필드 유형들은 정수 유형, 리터럴 유형, 또는 텍스트 유형 중 적어도 하나(이들로 제한되지 않음)를 포함할 수 있다. 데이터 필드의 유형은 복수의 데이터 필드 유형들로부터 결정될 수 있다. 일부 실시예들에서, 복수의 데이터 필드들 및 그들의 유형들 및/또는 이름들이 태그들, 신호들, 또는 다른 표시들에 기초하여 식별될 수 있다. 방법(500)은, 단계(506)에서, 데이터와 연관된 데이터 필드와 관련하여 인에이블될 하나 이상의 검색 옵션들을 결정할 수 있다. 예를 들어, 하나 이상의 검색 옵션들은 각자의 데이터 필드를 생성될 검색 인덱스에 포함시키는 옵션, 각자의 데이터 필드에 대한 패싯 카운트를 계산하는 옵션, 또는 각자의 데이터 필드와 연관된 하나 이상의 값들을 제공하는 옵션 중 적어도 하나를 포함할 수 있다. 단계(508)는, 데이터 필드의 유형 및 하나 이상의 검색 옵션들에 적어도 부분적으로 기초하여, 데이터에 대한 인덱스 구성을 생성하는 것을 포함할 수 있다. 이어서, 단계(510)에서, 방법(500)은, 데이터에 대한 인덱스 구성에 적어도 부분적으로 기초하여, 데이터에 대한 검색 인덱스를 생성할 수 있다. 일부 실시예들에서, 데이터가 구조화된 데이터(structured data)인지, 자유 형식 텍스트 데이터(free text data)인지, 또는 이 둘의 조합인지에 기초하여, 검색 인덱스가 생성될 수 있다. 일부 실시예들에서, 예시적인 방법은 또한 데이터, 인덱스 구성, 또는 하나 이상의 검색 질의들에 의해 검색가능하게 될 인덱스 중 적어도 하나를 제공할 수 있다.5 shows an exemplary method embodiment 500 of indexing for searchable data in a networked environment. Again, it will be appreciated that, unless otherwise stated, there may be additional, fewer, or alternative steps performed in a similar or alternative order or in parallel, within the scope of the various embodiments. At step 502, the exemplary method embodiment 500 may receive data to be indexed. For example, the method 500 may receive data to be indexed (uploaded by an entity), and the data may include a plurality of data fields (or at least one data field). In some embodiments, the exemplary method may also determine a name for a data field associated with the data. In step 504, the exemplary method 500 may determine the type of data field associated with the data. For example, the method may determine a field type (of a plurality of field types) associated with each data field in the plurality of data fields. The plurality of field types may include (but are not limited to) at least one of integer type, literal type, or text type. The type of data field may be determined from a plurality of data field types. In some embodiments, a plurality of data fields and their types and / or names may be identified based on tags, signals, or other indications. The method 500 may, in step 506, determine one or more search options to be enabled in association with the data field associated with the data. For example, one or more search options may include an option to include each data field in a search index to be generated, an option to calculate a facet count for each data field, or an option to provide one or more values associated with each data field Or the like. Step 508 may include generating an index configuration for the data based at least in part on the type of data field and one or more search options. Then, at step 510, the method 500 may generate a search index for the data based at least in part on the index configuration for the data. In some embodiments, a search index may be generated based on whether the data is structured data, free text data, or a combination of both. In some embodiments, the exemplary method may also provide at least one of data, an index configuration, or an index to be searchable by one or more search queries.

인덱스 구성에 포함된 다양한 다른 정보가 있을 수 있다. 예를 들어, 구성은 데이터 필드가 패시팅가능(facetable)한지 여부(즉, 데이터 필드에 대해 패싯 카운트가 계산되어야만 하는지 여부), 데이터 필드가 순위부여가능한지 여부(즉, 데이터 필드를 가지는 검색 결과들의 값들이 분류되어야만 하는지 여부), 기타에 관한 정보를 보유할 수 있다.There can be various other information included in the index configuration. For example, the configuration may include whether the data field is facetable (i. E. Whether the facet count should be calculated for the data field), whether the data field is rankable (i. E. Whether the values should be sorted, etc.), and other information.

일부 실시예들에서, 네트워크 서비스는 제1 포맷으로 수신/업로드된 데이터를 검색 인덱스와 호환되는 제2 포맷으로 변환시킬 수 있고, 제2 포맷으로 변환된 데이터를 하나 이상의 저장소 할당량들에 저장할 수 있다. 예를 들어, 네트워크 서비스는 .PDF, .DOC, .DOCX, .CSV, JSON, .XML 등과 같은 몇가지 다양한 포맷들 중 임의의 하나 이상을 가질 수 있는 데이터를 엔티티로부터 수신할 수 있다. 네트워크 서비스는 데이터를 SDF(Search Data Format)와 같은 네트워크 서비스와 호환되는(예컨대, 네트워크 서비스에 의해 인식가능한, 네트워크 서비스에서 이용가능한(workable), 기타의) 포맷으로 자동으로 변환시킬 수 있다.In some embodiments, the network service may convert the data received / uploaded in the first format into a second format compatible with the search index and store the converted data in the second format in one or more storage quotas . For example, a network service may receive data from an entity that may have any one or more of several different formats, such as .PDF, .DOC, .DOCX, .CSV, JSON, .XML, The network service may automatically convert the data into a format compatible with the network service (e.g., recognizable by the network service, workable in the network service, etc.) such as SDF (Search Data Format).

일부 실시예들에서, 네트워크 서비스는, 제1 포맷과 제2 포맷을 비교하고 제1 포맷과 연관된 적어도 하나의 데이터 필드를 제2 포맷과 연관된 적어도 하나의 데이터 필드에 대응하도록 수정하는 것에 기초하여, 데이터를 변환시킬 수 있다. 예를 들어, 네트워크 서비스는 엔티티로부터 수신된 데이터의 포맷(들)을 비교하고, 포맷이 네트워크 서비스와 호환되도록, 포맷을 수정/업데이트할 수 있다. 이것은 포맷에서의 하나 이상의 데이터 필드들이 추가, 제거, 또는 변경되어야만 하는지를 식별하는 것을 포함할 수 있다.In some embodiments, the network service is configured to compare the first format and the second format and modify at least one data field associated with the first format to correspond to at least one data field associated with the second format, Data can be converted. For example, the network service may compare the format (s) of data received from the entity and modify / update the format so that the format is compatible with the network service. This may include identifying if one or more data fields in the format should be added, removed, or modified.

일부 실시예들에서, 네트워크 서비스는, 데이터 필드와 연관된 값이 지정된 정수 양 임계치 초과의 양의 정수 문자들을 가지는 것으로 결정하는 것에 기초하여, 데이터 필드의 유형이 정수 유형인 것으로 결정할 수 있다. 또한 네트워크 서비스는 데이터 필드와 연관된 값이 지정된 하부 리터럴 양 임계치 초과이지만 지정된 리터럴 양 임계치 미만인 양의 알파벳 문자들을 가지는 것, 데이터 필드와 연관된 개별 값들의 개수가 지정된 리터럴 개별 양 임계치 미만인 것, 개별 값들의 퍼센트가 지정된 리터럴 개별 퍼센트 임계치 미만인 것, 또는 값들의 길이가 지정된 리터럴 길이 임계치 미만인 것 중 적어도 하나를 결정하는 것에 의해 데이터 필드의 유형을 리터럴 유형인 것으로 결정할 수 있다. 게다가, 네트워크 서비스는, 데이터 필드와 연관된 값이 지정된 텍스트 양 임계치 초과의 양의 정수 및 알파벳 문자들, 지정된 텍스트 개별 양 임계치 초과의 개수의 개별 문자들, 지정된 텍스트 개별 퍼센트 임계치 초과의 퍼센트의 개별 문자들, 또는 지정된 텍스트 길이 임계치 초과의 길이의 문자들 중 적어도 하나를 가지는 것으로 결정하는 것에 기초하여, 데이터 필드의 유형이 텍스트 유형인 것으로 결정할 수 있다.In some embodiments, the network service may determine that the type of the data field is an integer type, based on determining that the value associated with the data field has a positive integer greater than the specified positive integer threshold. The network service may also be configured such that a value associated with a data field has positive alphanumeric characters that are greater than a specified lower literals amount threshold but less than a specified literal amount threshold, that the number of distinct values associated with the data field is less than the specified literal individual amount threshold, The type of the data field can be determined to be a literal type by determining at least one of the percentages being less than the specified literal individual percent threshold, or the length of the values being less than the specified literal length threshold. In addition, the network service may be configured so that the value associated with the data field is a positive integer and alphanumeric characters greater than the specified text amount threshold, a number of individual characters exceeding the specified text individual amount threshold, Based on determining that the type of the data field is a text type based on determining that the data field has at least one of the characters of length greater than the specified text length threshold.

일부 실시예들에서, 네트워크 서비스는 데이터 필드를 생성될 검색 인덱스에 포함시키는 옵션을 인에이블시키기로 결정할 수 있고, 이 결정은 데이터 필드가 검색 인덱스에 포함되어야 한다는 것을 나타내는, 데이터 필드에 포함된, 신호를 수신하는 것에 적어도 부분적으로 기초한다. 네트워크 서비스는 또한 데이터 필드에 대한 패싯 카운트를 계산하는 옵션을 인에이블시키로 결정할 수 있고, 이 결정은 데이터 필드와 연관된 적어도 하나의 값의 분량(quantity)이 지정된 패싯 카운트 하부 임계치 초과이고 지정된 패싯 카운트 상부 임계치 미만인 것으로 결정하는 것에 적어도 부분적으로 기초한다. 네트워크 서비스는 관련 검색 질의에 응답하여 데이터 필드와 연관된 값을 제공하는 옵션을 인에이블시키기로 추가로 결정할 수 있고, 이 결정은 데이터 필드와 연관된 값이 제공되어야 한다는 것을 나타내는, 데이터 필드에 포함된, 신호를 수신하는 것에 적어도 부분적으로 기초한다.In some embodiments, the network service may decide to enable an option to include a data field in the search index to be generated, the determination being made based on a signal contained in the data field indicating that the data field should be included in the search index At least partially. The network service may also determine to enable an option to calculate a facet count for a data field, the determination being such that the quantity of at least one value associated with the data field exceeds a specified facet count lower threshold, Is less than the upper threshold. The network service may further determine to enable an option to provide a value associated with the data field in response to the associated search query, the determination being based on a signal At least partially.

일부 실시예들에서, 하나 이상의 검색 질의들(예컨대, 검색 질의에서의 용어들)이 네트워크 서비스에 의해 이용될 수 있다. 예를 들어, 네트워크 서비스는 검색자가 특정의 데이터 필드에 관해 패시팅하고 있다는 것을 검색 질의들로부터 추론할 수 있다. 그 결과, 네트워크 서비스는 데이터 필드가, 예를 들어, 리터럴 유형이어야만 하는 것으로 결정할 수 있다.In some embodiments, one or more search queries (e.g., terms in a search query) may be used by the network service. For example, a network service may infer from search queries that a searcher is overlooking a particular data field. As a result, the network service can determine that the data field must be, for example, a literal type.

일부 실시예들에서, 검색자가 질의 용어들을 입력하고 검색을 요청할 때, 하나 이상의 검색 결과들이, 관련성 등에 의해, 특정의 순위 표현(예컨대, 결과들의 순서)으로 제시될 수 있다. 본 개시 내용은 질의에 독립적인 인자들(예컨대, 데이터 내에 포함된 인기도 데이터 필드 등이 있을 수 있음)과 같은 다른 인자들을 고려하는 보다 복잡한 순위 표현들의 생성을 가능하게 할 수 있다. 본 개시 내용은 또한, 데이터를 살펴보고 데이터 필드가 인기도의 면에서 의미있는 것으로 결정하는 것에 의해, 사용될 수 있는 순위 표현들을 제안하기 위한 분석을 가능하게 할 수 있다. 예를 들어, 텍스트 본문 데이터 필드 유형이 있을 수 있고, 그의 길이(예컨대, 또는 그의 길이의 역수)가 고려될 수 있으며 순위 표현들에 대한 유용한 정보를 제공할 수 있다.In some embodiments, when a searcher enters query terms and requests a search, one or more search results may be presented in a particular ranking expression (e.g., order of results), by relevance or the like. The present disclosure may enable the generation of more complex ranking expressions that take into account other factors such as query independent factors (e.g., there may be popularity data fields included in the data, etc.). The present disclosure may also enable analysis to suggest ranking expressions that can be used by looking at the data and determining that the data field is meaningful in terms of popularity. For example, there may be a text body data field type and its length (e.g., the inverse of its length) may be considered and may provide useful information about the rankings.

일부 실시예들에서, 데이터 필드 유형들은 또한 지리적 위치(geolocation) 유형, 시간 유형, 날짜 유형, 또는 부동 소수점 수(floating point number) 유형을 포함할 수 있다.In some embodiments, the data field types may also include a geolocation type, a time type, a date type, or a floating point number type.

본 개시 내용에 따른 다양한 실시예들은 또한 샘플 데이터를 이용할 수 있다. 예를 들어, 사용자/엔티티는 먼저 샘플 데이터를 네트워크 서비스에 제공할 수 있다. 네트워크 서비스는 데이터 필드들의 유형들 및 검색 옵션들을 결정하기 위해 샘플 데이터를 분석할 수 있다. 샘플 데이터에 대한 데이터 필드 유형들 및 검색 옵션들에 기초하여, 네트워크 서비스는 인덱스 구성을 생성하고, 이어서 생성된 인덱스 구성에 기초하여 검색 인덱스를 생성할 수 있다.Various embodiments in accordance with the present disclosure may also utilize sample data. For example, the user / entity may first provide sample data to the network service. The network service may analyze the sample data to determine the types of data fields and search options. Based on the data field types and search options for the sample data, the network service may create an index configuration and then generate a search index based on the generated index configuration.

도 6은 다양한 실시예들에 따라 사용될 수 있는 예시적인 전자 사용자 디바이스(600)를 나타낸 것이다. 휴대용 컴퓨팅 디바이스(예컨대, 전자 책 리더 또는 태블릿 컴퓨터)가 도시되어 있지만, 입력을 수신하고, 결정하며, 그리고/또는 처리할 수 있는 임의의 전자 디바이스가 본 명세서에 논의된 다양한 실시예들에 따라 사용될 수 있고, 여기서 디바이스들이, 예를 들어, 데스크톱 컴퓨터, 노트북 컴퓨터, PDA(personal data assistant), 스마트폰, 비디오 게임 콘솔, 텔레비전 셋톱 박스, 및 휴대용 미디어 플레이어를 포함할 수 있다는 것을 잘 알 것이다. 일부 실시예들에서, 컴퓨팅 디바이스(600)는 연산 증폭기를 사용하여 신호 처리를 수행할 수 있는 디바이스와 같은 아날로그 디바이스일 수 있다. 이 예에서, 컴퓨팅 디바이스(600)는 정상 동작 하에서 디스플레이 화면과 마주하고 있는(예컨대, 컴퓨팅 디바이스의 디스플레이 화면과 동일한 측면에 있는) 사용자에게 정보를 디스플레이하게 될 디스플레이 화면(602)을 전면에 가진다. 컴퓨팅 디바이스는, 이 예에서, 적어도 하나의 카메라(604) 또는 적어도 하나의 카메라의 적어도 시야에 걸쳐 정지 또는 비디오 영상 정보를 포착하기 위한 기타 촬영 요소를 포함한다. 일부 실시예들에서, 컴퓨팅 디바이스는 하나의 촬영 요소만을 포함할 수 있고, 다른 실시예들에서, 컴퓨팅 디바이스는 몇개의 촬영 요소를 포함할 수 있다. 각각의 영상 포착 요소는 그 중에서도 특히, 예를 들어, 카메라, CCD(charge-coupled device), 움직임 검출 센서, 또는 적외선 센서일 수 있다. 컴퓨팅 디바이스 상에 다수의 영상 포착 요소들이 있는 경우, 영상 포착 요소들이 상이한 유형일 수 있다. 일부 실시예들에서, 적어도 하나의 촬영 요소는 카메라가 180도 이상과 같은 넓은 범위의 각도들에 걸쳐 영상들을 포착할 수 있게 하는 적어도 하나의 광각 광학 요소(wide-angle optical element)[어안 렌즈(fish eye lens) 등]를 포함할 수 있다. 게다가, 각각의 영상 포착 요소는 후속 프레임들을 재빨리 연속하여 포착하도록 구성된 디지털 스틸 카메라, 또는 스트리밍 비디오를 포착할 수 있는 비디오 카메라를 포함할 수 있다.6 illustrates an exemplary electronic user device 600 that may be used in accordance with various embodiments. Although a portable computing device (e.g., an e-book reader or tablet computer) is shown, any electronic device capable of receiving, determining, and / or processing input may be used in accordance with various embodiments discussed herein It will be appreciated that the devices herein may include, for example, desktop computers, notebook computers, personal data assistants (PDAs), smart phones, video game consoles, television set top boxes, and portable media players. In some embodiments, the computing device 600 may be an analog device, such as a device that can perform signal processing using an operational amplifier. In this example, the computing device 600 has a display screen 602 on the front that will display information to a user facing the display screen under normal operation (e.g., on the same side of the display screen of the computing device). The computing device, in this example, includes at least one camera 604 or other imaging element for capturing video or image information over at least one view of at least one camera. In some embodiments, the computing device may include only one imaging element, and in other embodiments, the computing device may include several imaging elements. Each image capture element may be, among others, a camera, a charge-coupled device (CCD), a motion detection sensor, or an infrared sensor, among others. Where there are multiple image capture elements on the computing device, the image capture elements may be of different types. In some embodiments, the at least one imaging element may include at least one wide-angle optical element (a fisheye lens (e.g., a fisheye lens, a fisheye lens, fish eye lens, etc.). In addition, each image capture element may comprise a digital still camera configured to capture successive frames in quick succession, or a video camera capable of capturing streaming video.

예시적인 컴퓨팅 디바이스(600)는 또한 디바이스의 사용자에 의해 말해지는 단어들 또는 명령들과 같은 오디오 데이터를 포착할 수 있는 적어도 하나의 마이크(microphone)(606) 또는 기타 오디오 포착 디바이스를 포함한다. 이 예에서, 마이크(606)는, 마이크가 통상적으로 디바이스의 사용자에 의해 말해지는 단어들을 더 잘 포착할 수 있도록, 디바이스의 디스플레이 화면(602)과 동일한 측면 상에 위치되어 있다. 적어도 일부 실시예에서, 마이크는 마이크의 실질적으로 바로 전방으로부터의 사운드 정보를 포착하고 다른 방향들로부터는 제한된 양의 사운드만을 픽업하는 지향성 마이크일 수 있다. 마이크가, 상이한 실시예들에서, 디바이스의 임의의 영역, 면(face), 또는 가장자리의 임의의 적절한 표면 상에 위치될 수 있다는 것과, 다수의 마이크들이 오디오 녹음 및 필터링 등의 목적을 위해 사용될 수 있다는 것을 잘 알 것이다.The exemplary computing device 600 also includes at least one microphone 606 or other audio capture device capable of capturing audio data such as words or instructions spoken by a user of the device. In this example, the microphone 606 is located on the same side as the display screen 602 of the device, so that the microphone can better capture the words normally spoken by the user of the device. In at least some embodiments, the microphone may be a directional microphone that captures sound information from substantially immediately in front of the microphone and picks up only a limited amount of sound from the other directions. It will be appreciated that the microphone may be located on any suitable surface of any area, face, or edge of the device, in different embodiments, and that multiple microphones may be used for purposes such as audio recording and filtering, You know.

예시적인 컴퓨팅 디바이스(600)는 위치 및/또는 움직임 결정 요소와 같은 적어도 하나의 배향 센서(608)를 포함한다. 이러한 센서는, 예를 들어, 컴퓨팅 디바이스의 작은 움직임 뿐만 아니라, 디바이스의 배향 및/또는 배향의 변화도 검출하도록 동작할 수 있는 가속도계 또는 자이로스코프를 포함할 수 있다. 배향 센서는 또한 디바이스가 (예컨대, 주축 또는 다른 이러한 측면과 관련하여) 향하고 있는 것으로 결정되는 방향(예컨대, 북쪽 또는 남쪽)을 지시할 수 있는 전자 또는 디지털 나침반을 포함할 수 있다. 배향 센서는 또한 컴퓨팅 디바이스의 비교적 큰 움직임에 관한 정보 뿐만 아니라, 디바이스의 위치의 상대 좌표들을 결정하도록 동작할 수 있는 GPS(global positioning system) 또는 유사한 위치 결정 요소를 포함하거나 구비할 수 있다. 다양한 실시예들은 하나 이상의 이러한 요소들을 임의의 적절한 조합으로 포함할 수 있다. 잘 알 것인 바와 같이, 상대적 위치, 배향, 및/또는 움직임을 결정하는 데 사용되는 알고리즘들 또는 메커니즘들은 디바이스에 이용가능한 요소들의 선택에 적어도 부분적으로 의존할 수 있다.The exemplary computing device 600 includes at least one orientation sensor 608, such as a position and / or motion determining element. Such sensors may include, for example, an accelerometer or gyroscope that is operable to detect not only small movements of the computing device but also changes in the orientation and / or orientation of the device. The orientation sensor may also include an electronic or digital compass capable of indicating a direction (e.g., north or south) that the device is determined to be facing (e.g., in relation to a main axis or other such side). The orientation sensor may also include or have a global positioning system (GPS) or similar positioning element operable to determine relative coordinates of the position of the device, as well as information about the relatively large movement of the computing device. Various embodiments may include one or more of these elements in any suitable combination. As will be appreciated, the algorithms or mechanisms used to determine relative position, orientation, and / or motion may depend at least in part on the selection of the elements available to the device.

도 7은 도 6과 관련하여 기술된 디바이스(600)와 같은 예시적인 컴퓨팅 디바이스(700)의 한 세트의 일반 구성요소들의 논리적 배열을 나타낸 것이다. 이 예에서, 디바이스는 메모리 디바이스 또는 요소(704)에 저장될 수 있는 명령어들을 실행하는 프로세서(702)를 포함한다. 통상의 기술자에게는 명백할 것인 바와 같이, 디바이스는 프로세서(702)에 의해 실행되는 프로그램 명령어들을 위한 제1 데이터 저장소, 영상 또는 데이터를 위한 별개의 저장소, 다른 디바이스들과 정보를 공유하기 위한 이동식 메모리(removable memory), 기타와 같은 많은 유형의 메모리, 데이터 저장소, 또는 비일시적 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 디바이스는 통상적으로 터치 스크린 또는 LCD(liquid crystal display)와 같은 어떤 유형의 디스플레이 요소(706)를 포함할 것이지만, 휴대용 미디어 플레이어와 같은 디바이스들은 오디오 스피커를 통하는 것과 같은 다른 수단을 통해 정보를 전달할 수 있다. 논의된 바와 같이, 많은 실시예들에서, 디바이스는 투사된 영상들 또는 디바이스의 근방에 있는 다른 물체들을 촬영할 수 있는 카메라 또는 적외선 센서와 같은 적어도 하나의 영상 포착 요소(708)를 포함할 것이다. 컴퓨팅 디바이스를 갖는 카메라 요소를 사용하여 영상들 또는 비디오를 포착하는 방법들이 기술 분야에 공지되어 있고, 본 명세서에서 상세히 논의되지 않을 것이다. 영상 포착이 단일의 영상, 다수의 영상들, 주기적인 촬영, 연속적인 영상 포착, 영상 스트리밍, 기타를 사용하여 수행될 수 있다는 것을 잘 알 것이다. 게다가, 디바이스는 사용자, 애플리케이션, 또는 다른 디바이스로부터 명령을 수신할 때와 같이 영상 포착을 시작 및/또는 중지하는 능력을 포함할 수 있다. 예시적인 디바이스는, 이와 유사하게, 적어도 하나의 주 방향으로부터의 오디오 정보를 포착하도록 동작할 수 있는 적어도 하나의 오디오 포착 구성요소(712)(모노 또는 스테레오 마이크 또는 마이크 어레이 등)를 포함한다. 마이크는 이러한 디바이스들에 대해 알려진 것과 같은 단방향(uni-directional) 또는 전방향(omnidirectional) 마이크일 수 있다.FIG. 7 illustrates a logical arrangement of the generic components of a set of exemplary computing devices 700, such as device 600 described in connection with FIG. In this example, the device includes a processor 702 that executes instructions that may be stored in a memory device or element 704. [ As will be apparent to those of ordinary skill in the art, a device may include a first data store for program instructions executed by the processor 702, a separate store for images or data, a removable memory for sharing information with other devices, removable memory, other types of memory, data storage, or non-volatile computer readable storage media. The device will typically include any type of display element 706, such as a touch screen or a liquid crystal display (LCD), but devices such as a portable media player may communicate information via other means, such as through an audio speaker . As discussed, in many embodiments, the device will include at least one image capture element 708, such as a camera or infrared sensor, capable of capturing projected images or other objects in the vicinity of the device. Methods of capturing images or video using a camera element with a computing device are known in the art and will not be discussed in detail herein. It will be appreciated that image acquisition may be performed using a single image, multiple images, periodic imaging, continuous image acquisition, image streaming, and the like. In addition, the device may include the ability to initiate and / or stop image acquisition, such as when receiving a command from a user, application, or other device. The exemplary device similarly includes at least one audio capture component 712 (such as a mono or stereo microphone or microphone array) operable to capture audio information from at least one primary direction. The microphone may be a uni-directional or omnidirectional microphone as is known for these devices.

일부 실시예들에서, 도 7의 컴퓨팅 디바이스(700)는 Wi-Fi, 블루투스, RF, 유선, 또는 무선 통신 시스템과 같은 하나 이상의 통신 요소들(도시 생략)을 포함할 수 있다. 많은 실시예들에서, 디바이스는 인터넷과 같은 네트워크와 통신할 수 있고, 다른 이러한 디바이스들과 통신할 수 있을 것이다. 일부 실시예들에서, 디바이스는 사용자로부터 종래의 입력을 수신할 수 있는 적어도 하나의 부가의 입력 디바이스를 포함할 수 있다. 이 종래의 입력은, 예를 들어, 사용자가 디바이스에 명령을 입력할 수 있는 푸시 버튼, 터치 패드, 터치 스크린, 휠, 조이스틱, 키보드, 마우스, 키패드, 또는 임의의 다른 이러한 디바이스 또는 요소를 포함할 수 있다. 그러나, 일부 실시예들에서, 이러한 디바이스는 어떤 버튼들도 포함하지 않을 수 있고, 사용자가 디바이스와 접촉할 필요 없이 디바이스를 제어할 수 있도록, 시각적 및 오디오 명령들의 조합을 통해서만 제어될 수 있다.In some embodiments, the computing device 700 of FIG. 7 may include one or more communication elements (not shown), such as a Wi-Fi, Bluetooth, RF, wired, or wireless communication system. In many embodiments, a device may communicate with a network, such as the Internet, and communicate with other such devices. In some embodiments, the device may include at least one additional input device capable of receiving conventional input from a user. This conventional input includes, for example, a push button, a touch pad, a touch screen, a wheel, a joystick, a keyboard, a mouse, a keypad, or any other such device or element through which a user can input commands to the device . However, in some embodiments, such a device may not include any buttons and may be controlled only through a combination of visual and audio commands so that the user can control the device without having to contact the device.

디바이스(700)는 또한 적어도 하나의 배향 또는 움직임 센서(710)를 포함할 수 있다. 논의된 바와 같이, 이러한 센서는 배향 및/또는 배향의 변화를 검출하도록 동작할 수 있는 가속도계 또는 자이로스코프, 디바이스가 향하고 있는 것으로 결정되는 방향을 지시할 수 있는 전자 또는 디지털 나침반을 포함할 수 있다. 메커니즘(들)은 또한(또는 다른 대안으로서) 컴퓨팅 디바이스의 비교적 큰 움직임에 관한 정보 뿐만 아니라, 디바이스의 위치의 상대 좌표들을 결정하도록 동작할 수 있는 GPS(global positioning system) 또는 유사한 위치 결정 요소를 포함하거나 구비할 수 있다. 디바이스는 삼각측량을 통한 위치 결정 또는 다른 이러한 접근 방법을 가능하게 할 수 있는 것과 같은 다른 요소들도 포함할 수 있다. 이 메커니즘들은, 디바이스가 본 명세서에 기술되거나 제안된 다수의 동작들 중 임의의 것을 수행할 수 있도록, 프로세서(702)와 통신할 수 있다.The device 700 may also include at least one orientation or motion sensor 710. As discussed, such a sensor may include an accelerometer or gyroscope capable of detecting changes in orientation and / or orientation, an electronic or digital compass capable of indicating the direction in which the device is determined to be facing. The mechanism (s) also include a global positioning system (GPS) or similar positioning element that can operate to determine relative coordinates of the location of the device as well as information about the relatively large movement of the computing device (or as an alternative) Or the like. The device may also include other elements such as enabling positioning through triangulation or other such approaches. These mechanisms may communicate with the processor 702 such that the device may perform any of a number of operations as described or suggested herein.

한 예로서, 도 6과 관련하여 기술된 것과 같은 컴퓨팅 디바이스는 시간의 경과에 따라 사용자에 대한 다양한 정보를 포착 및/또는 추적할 수 있다. 이 정보는 위치, 동작들(예컨대, 메시지를 송신하는 것 또는 문서를 작성하는 것), 사용자 거동(예컨대, 사용자가 작업을 얼마나 자주 수행하는지, 사용자가 작업에 소비하는 시간량, 사용자가 인터페이스를 통해 탐색하는 방법들, 기타), 사용자 선호도(user preferences)(예컨대, 사용자가 정보를 어떻게 수신하고자 하는지), 공개 애플리케이션(open applications), 제출된 요청, 수신된 통화, 기타과 같은 임의의 적절한 정보를 포함할 수 있다. 앞서 논의한 바와 같이, 정보는, 사용자가 임의의 적절한 차원 또는 차원들의 그룹을 사용하여 정보에 액세스할 수 있도록, 정보가 링크되거나 달리 연관되는 방식으로 저장될 수 있다.As an example, a computing device such as that described in connection with FIG. 6 may capture and / or track various information about a user over time. This information may include location, actions (e.g., sending a message or creating a document), user behavior (e.g., how often a user performs a task, how much time a user spends on a task, (E.g., how the user wants to receive the information), open applications, submitted requests, received calls, etc. In addition, . As discussed above, the information may be stored in a manner such that the information is linked or otherwise related, such that the user may access the information using any appropriate dimension or group of dimensions.

논의된 바와 같이, 기술된 실시예들에 따라 다양한 환경들에서 상이한 접근 방법들이 구현될 수 있다. 예를 들어, 도 8은 다양한 실시예들에 따른 양태들을 구현하기 위한 환경(800)의 한 예를 나타낸 것이다. 잘 알 것인 바와 같이, 설명을 위해 웹 기반 환경이 사용되고 있지만, 다양한 실시예들을 구현하기 위해, 적절한 경우, 상이한 환경들이 사용될 수 있다. 본 시스템은 적절한 네트워크(804)를 거쳐 요청들, 메시지들 또는 정보를 송신 및 수신하고 정보를 다시 디바이스의 사용자에게 전달하도록 동작할 수 있는 임의의 적절한 디바이스를 포함할 수 있는 전자 클라이언트 디바이스(802)를 포함한다. 이러한 클라이언트 디바이스들의 예는 개인용 컴퓨터, 셀폰, 핸드헬드 메시징 디바이스, 랩톱 컴퓨터, 셋톱 박스, PDA(personal data assistant), 전자 책 리더, 기타를 포함한다. 네트워크는 인트라넷, 인터넷, 셀룰러 네트워크, LAN(local area network) 또는 임의의 다른 이러한 네트워크 또는 이들의 조합을 비롯한 임의의 적절한 네트워크를 포함할 수 있다. 이러한 시스템을 위해 사용되는 구성요소들은 선택된 네트워크 및/또는 환경의 유형에 적어도 부분적으로 의존할 수 있다. 이러한 네트워크를 통해 통신하기 위한 프로토콜들 및 구성요소들은 공지되어 있고, 본 명세서에서 상세히 논의되지 않을 것이다. 네트워크를 거치는 통신은 유선 또는 무선 연결 및 이들의 조합을 통해 가능하게 될 수 있다. 이 예에서, 환경이 요청들을 수신하고 그에 응답하여 콘텐츠를 서비스하기 위한 웹 서버(806)를 포함할 때, 네트워크가 인터넷을 포함하지만, 통상의 기술자에게 명백할 것인 바와 같이, 다른 네트워크들에 대해서는, 유사한 목적에 도움이 되는 대안의 디바이스가 사용될 수 있을 것이다.As discussed, different approaches may be implemented in various environments in accordance with the described embodiments. For example, FIG. 8 illustrates an example of an environment 800 for implementing aspects in accordance with various embodiments. As will be appreciated, although a web-based environment is used for illustration, different environments can be used, if appropriate, to implement various embodiments. The system includes an electronic client device 802 that may include any suitable device capable of operable to transmit and receive requests, messages or information via an appropriate network 804 and to convey information back to the user of the device, . Examples of such client devices include personal computers, cell phones, handheld messaging devices, laptop computers, set-top boxes, personal data assistants (PDAs), e-book readers, and the like. The network may include any suitable network, including an intranet, the Internet, a cellular network, a local area network (LAN), or any other such network or combination thereof. The components used for such a system may depend, at least in part, on the type of network and / or environment selected. The protocols and components for communicating over such a network are well known and will not be discussed in detail herein. Communications over the network may be enabled via wired or wireless connections and combinations thereof. In this example, when the environment includes a web server 806 for receiving the requests and servicing the content in response thereto, the network may include the Internet, but may be provided to other networks, as will be apparent to those of ordinary skill in the art. Alternative devices that serve a similar purpose may be used.

예시적인 환경은 적어도 하나의 애플리케이션 서버(808) 및 데이터 스토어(810)를 포함한다. 적절한 데이터 스토어로부터 데이터를 획득하는 것과 같은 작업들을 수행하기 위해 상호작용할 수 있는, 체이닝(chain)되거나 다른 방식으로 구성될 수 있는, 몇개의 애플리케이션 서버들, 계층들 또는 다른 요소들, 프로세스들 또는 구성요소들이 있을 수 있다는 것을 잘 알 것이다. 본 명세서에서 사용되는 바와 같이, "데이터 스토어"라는 용어는 데이터를 저장하고 데이터에 액세스하며 데이터를 검색할 수 있는 임의의 디바이스 또는 디바이스들의 조합을 말하며, 임의의 표준, 분산 또는 클러스터 환경에 있는 임의의 조합 및 수의 데이터 서버들, 데이터베이스들, 데이터 저장 디바이스들 및 데이터 저장 매체를 포함할 수 있다. 애플리케이션 서버는 클라이언트 디바이스에 대한 하나 이상의 애플리케이션들의 양태들을 실행하기 위해 필요에 따라 데이터 스토어와 통합하고 애플리케이션에 대한 대부분의 데이터 액세스 및 비즈니스 로직을 처리하기 위한 임의의 적절한 하드웨어 및 소프트웨어를 포함할 수 있다. 애플리케이션 서버는 데이터 스토어와 협력하여 액세스 제어 서비스를 제공하고, 이 예에서, 웹 서버에 의해 HTML, XML 또는 다른 적절한 구조화된 언어의 형태로 사용자에게 서비스될 수 있는, 사용자에게 전송될 텍스트, 그래픽, 오디오 및/또는 비디오와 같은 콘텐츠를 생성할 수 있다. 클라이언트 디바이스(802)와 애플리케이션 서버(808) 사이에서의 콘텐츠의 전달 뿐만 아니라, 모든 요청들 및 응답들의 처리도 웹 서버(806)에 의해 처리될 수 있다. 본 명세서에 논의된 구조화된 코드가, 본 명세서의 다른 곳에서 논의된 바와 같이, 임의의 적절한 디바이스 또는 호스트 기계에서 실행될 수 있기 때문에, 웹 서버 및 애플리케이션 서버가 요구되지 않고 단지 예시적인 구성요소라는 것을 잘 알 것이다.The exemplary environment includes at least one application server 808 and data store 810. Layers, or other elements, processes, or configurations that can be chained or otherwise configured to interact to perform tasks such as obtaining data from an appropriate data store. You will know that there can be elements. As used herein, the term "data store" refers to any device or combination of devices capable of storing data, accessing data, and retrieving data, including any arbitrary And a number of data servers, databases, data storage devices, and data storage media. The application server may include any suitable hardware and software for integrating with the data store as needed to execute aspects of one or more applications for the client device and for handling most of the data access and business logic for the application. The application server provides an access control service in cooperation with the data store, and in this example, a text, graphic, or other data to be transmitted to the user, which may be served by the web server to the user in the form of HTML, XML or other appropriate structured language, Audio, and / or video. The processing of all requests and responses, as well as delivery of content between the client device 802 and the application server 808, can also be handled by the web server 806. [ As the structured code discussed herein may be executed on any suitable device or host machine, as discussed elsewhere herein, a web server and application server are not required and are merely exemplary components You will know.

데이터 스토어(810)는 특정의 양태에 관련된 데이터를 저장하기 위한 몇개의 개별적인 데이터 테이블들, 데이터베이스들 또는 다른 데이터 저장 메커니즘들 및 매체를 포함할 수 있다. 예를 들어, 예시된 데이터 스토어는 생산 측면에 대한 콘텐츠를 서비스하기 위해 사용될 수 있는, 생산 데이터(812) 및 사용자 정보(816)를 저장하기 위한 메커니즘들을 포함한다. 데이터 스토어는 또한 로그 또는 세션 데이터(814)를 저장하기 위한 메커니즘을 포함하는 것으로 도시되어 있다. 적절한 경우 앞서 열거된 메커니즘들 중 임의의 것에 또는 데이터 스토어(810)에서의 부가의 메커니즘들에 저장될 수 있는, 페이지 영상 정보 및 액세스 권한 정보와 같은 데이터 스토어에 저장될 필요가 있을 수 있는 많은 다른 양태들이 있을 수 있다는 것을 잘 알 것이다. 데이터 스토어(810)는, 그와 연관된 로직을 통해, 애플리케이션 서버(808)로부터 명령어들을 수신하고 그에 응답하여 데이터를 획득, 업데이트 또는 다른 방식으로 처리하도록 동작할 수 있다. 하나의 예에서, 사용자는 특정한 유형의 요소에 대한 검색 요청을 제출할 수 있다. 이 경우에, 데이터 스토어는 사용자의 신원을 확인하기 위해 사용자 정보에 액세스할 수 있고, 그 유형의 요소들에 관한 정보를 획득하기 위해 카탈로그 상세 정보에 액세스할 수 있다. 정보는 이어서, 사용자가 사용자 디바이스(802) 상의 브라우저를 통해 볼 수 있는 웹 페이지 상의 결과 목록 등으로, 사용자에게 반환될 수 있다. 특정의 관심 요소에 대한 정보는 브라우저의 전용 페이지 또는 윈도우에서 볼 수 있다.Data store 810 may include any number of individual data tables, databases or other data storage mechanisms and media for storing data related to a particular aspect. For example, the illustrated data store includes production data 812 and mechanisms for storing user information 816, which can be used to service content for production aspects. The data store is also shown to include a mechanism for storing log or session data 814. [ Which may need to be stored in a data store, such as page image information and access privilege information, which may be stored in any of the mechanisms listed above, or in additional mechanisms in the data store 810, as appropriate. You will know that there can be modes. The data store 810 may be operable to receive instructions from the application server 808 via its associated logic and to acquire, update or otherwise process the data in response thereto. In one example, a user may submit a search request for a particular type of element. In this case, the data store can access the user information to verify the user's identity and access the catalog detail information to obtain information about the elements of that type. The information can then be returned to the user, such as a list of results on a web page that the user can view through the browser on the user device 802. [ Information about a specific element of interest can be found on a dedicated page or window in the browser.

각각의 서버는 통상적으로 그 서버의 일반 관리 및 동작을 위한 실행가능 프로그램 명령어들을 제공하는 운영 체제를 포함할 것이고, 통상적으로 서버의 프로세서에 의해 실행될 때, 서버가 그의 의도된 기능들을 수행할 수 있게 하는 명령어들을 저장하는 컴퓨터 판독가능 매체를 포함할 것이다. 서버들의 운영 체제 및 일반 기능에 대한 적당한 구현예들은 공지되거나 상업적으로 이용가능하고, 통상의 기술자에 의해, 특히 본 명세서에서의 개시 내용을 고려하여 용이하게 구현된다.Each server will typically include an operating system that provides executable program instructions for general management and operation of the server, and typically, when executed by a processor of the server, allows the server to perform its intended functions Lt; RTI ID = 0.0 &gt; computer-readable &lt; / RTI &gt; Appropriate implementations of the operating system and general functionality of the servers are known or commercially available and are readily implemented by the ordinary artisan, particularly in light of the teachings herein.

하나의 실시예에서, 환경은 하나 이상의 컴퓨터 네트워크들 또는 직접 연결들을 사용하여 통신 링크들을 통해 상호연결되는 몇개의 컴퓨터 시스템들 및 구성요소들을 이용하는 분산 컴퓨팅 환경이다. 그렇지만, 통상의 기술자라면, 이러한 시스템이 도 8에 예시된 것보다 더 적거나 더 많은 수의 구성요소들을 가지는 시스템에서 똑같이 잘 동작할 수 있다는 것을 잘 알 것이다. 이와 같이, 도 8에서의 시스템(800)의 도시는 본 개시 내용의 범주를 제한하는 것이 아니라 사실상 예시적인 것으로 보아야만 한다.In one embodiment, an environment is a distributed computing environment that utilizes several computer systems and components interconnected via communication links using one or more computer networks or direct connections. However, those of ordinary skill in the art will appreciate that such a system may operate equally well in a system having fewer or more components than those illustrated in FIG. As such, the illustration of system 800 in FIG. 8 should not be construed as limiting the scope of the present disclosure, but rather should be viewed as illustrative in nature.

앞서 논의한 바와 같이, 다양한 실시예들이, 어떤 경우에, 다수의 애플리케이션들 중 임의의 것을 동작시키기 위해 사용될 수 있는 하나 이상의 사용자 컴퓨터들, 컴퓨팅 디바이스들, 또는 처리 디바이스들을 포함할 수 있는 아주 다양한 동작 환경들에서 구현될 수 있다. 사용자 또는 클라이언트 디바이스들은 모바일 소프트웨어를 실행시키고 다수의 네트워킹 및 메시징 프로토콜들을 지원할 수 있는 셀룰러, 무선, 및 핸드헬드 디바이스들 뿐만 아니라, 표준 운영 체제를 실행시키는 데스크톱 또는 랩톱 컴퓨터와 같은 다수의 범용 개인용 컴퓨터들 중 임의의 것을 포함할 수 있다. 이러한 시스템은 또한 각종의 상업적으로 이용가능한 운영 체제들과 개발 및 데이터베이스 관리와 같은 목적들을 위한 기타 공지된 애플리케이션들 중 임의의 것을 실행시키는 다수의 워크스테이션들을 포함할 수 있다. 이 디바이스들은 또한 네트워크를 통해 통신할 수 있는 더미 단말(dummy terminal), 씬 클라이언트(thin-client), 게임 시스템, 및 기타 디바이스들과 같은 기타 전자 디바이스들을 포함할 수 있다.As discussed above, the various embodiments may include, in some cases, a wide variety of operating environments, which may include one or more user computers, computing devices, or processing devices that may be used to operate any of a number of applications Lt; / RTI &gt; The user or client devices may be cellular, wireless, and handheld devices capable of executing mobile software and supporting a number of networking and messaging protocols, as well as a number of general purpose personal computers, such as desktop or laptop computers, And the like. Such a system may also include a number of workstations running any of a variety of commercially available operating systems and other known applications for purposes such as development and database management. These devices may also include other electronic devices, such as a dummy terminal, a thin-client, a gaming system, and other devices capable of communicating over a network.

다양한 양태들은 또한 서비스-지향 아키텍처의 일부일 수 있는 것과 같은 적어도 하나의 서비스 또는 웹 서비스의 일부로서 구현될 수 있다. 웹 서비스와 같은 서비스들은, XML(extensible markup language) 포맷으로 되어 있고 SOAP("Simple Object Access Protocol"로부터 도출됨)와 같은 적절한 프로토콜을 사용하여 교환되는 메시지들을 사용하는 것과 같이, 임의의 적절한 유형의 메시징을 사용하여 통신할 수 있다. 이러한 서비스들에 의해 제공되거나 실행되는 프로세스들은 WSDL(Web Services Description Language)과 같은 임의의 적절한 언어로 작성될 수 있다. WSDL과 같은 언어를 사용하는 것은 다양한 SOAP 프레임워크들에서 클라이언트측 코드의 자동 발생과 같은 기능을 가능하게 한다.Various aspects may also be implemented as part of at least one service or web service, such as may be part of a service-oriented architecture. Services such as Web services can be any suitable type of service, such as using messages exchanged in an extensible markup language (XML) format and using an appropriate protocol such as SOAP (derived from "Simple Object Access Protocol & You can communicate using messaging. Processes provided or executed by these services may be written in any suitable language, such as Web Services Description Language (WSDL). Using languages such as WSDL enables features such as automatic generation of client-side code in various SOAP frameworks.

대부분의 실시예들은 TCP/IP, OSI, FTP, UPnP, NFS, CIFS, 및 AppleTalk와 같은 각종의 상업적으로 이용가능한 프로토콜들 중 임의의 것을 사용하여 통신을 지원하기 위해 통상의 기술자에게 익숙한 적어도 하나의 네트워크를 이용한다. 네트워크는, 예를 들어, LAN(local area network), WAN(wide-area network), VPN(virtual private network), 인터넷, 인트라넷, 엑스트라넷, PSTN(public switched telephone network), 적외선 네트워크, 무선 네트워크, 및 이들의 임의의 조합일 수 있다.Most embodiments are based on at least one of the familiar techniques familiar to those of ordinary skill in the art to support communications using any of a variety of commercially available protocols such as TCP / IP, OSI, FTP, UPnP, NFS, CIFS, Network. The network may be, for example, a local area network (LAN), a wide area network (WAN), a virtual private network (VPN), the Internet, an intranet, an extranet, a public switched telephone network (PSTN) And any combination thereof.

웹 서버를 이용하는 실시예들에서, HTTP 서버, FTP 서버, CGI 서버, 데이터 서버, 자바 서버, 및 비지니스 애플리케이션 서버를 비롯한 웹 서버는 각종의 서버 또는 중간 계층(mid-tier) 애플리케이션들 중 임의의 것을 실행할 수 있다. 서버(들)는, Java?, C, C# 또는 C++와 같은 임의의 프로그래밍 언어 또는 Perl, Python, 또는 TCL과 같은 임의의 스크립팅 언어는 물론, 이들의 조합들로 작성된 하나 이상의 스크립트들 또는 프로그램들로서 구현될 수 있는 하나 이상의 웹 애플리케이션들을 실행하는 것 등에 의해, 사용자 디바이스들로부터의 요청들에 응답하여 프로그램들 또는 스크립트들을 실행할 수 있을 것이다. 서버(들)는 또한 Oracle?, Microsoft?, Sybase?, 및 IBM?으로부터 상업적으로 이용가능한 것들(이들로 제한되지 않음)을 비롯한 데이터베이스 서버들을 포함할 수 있다.In embodiments using a web server, a web server, including an HTTP server, an FTP server, a CGI server, a data server, a Java server, and a business application server may be any of a variety of servers or mid- Can be executed. The server (s) may be implemented as one or more scripts or programs written in any programming language, such as Java ?, C, C #, or C ++, or in any scripting language such as Perl, Python, or TCL, Such as by executing one or more web applications that may be executed by the user devices. The server (s) may also include database servers, including, but not limited to, commercially available from Oracle, Microsoft, Sybase, and IBM.

환경은 앞서 논의된 바와 같은 각종의 데이터 스토어들과 기타 메모리 및 저장 매체를 포함할 수 있다. 이들은 컴퓨터들 중 하나 이상에 로컬이거나(및/또는 그에 존재하거나) 네트워크를 거쳐 컴퓨터들 중 일부 또는 전부로부터 원격지에 있는 저장 매체 상과 같은 각종의 장소들에 존재할 수 있다. 특정의 세트의 실시예들에서, 정보는 통상의 기술자에게 익숙한 SAN(storage-area network)에 존재할 수 있다. 이와 유사하게, 컴퓨터들, 서버들, 또는 기타 네트워크 디바이스들에 속하는 기능들을 수행하기 위한 임의의 필요한 파일들은, 적절한 경우, 로컬적으로 및/또는 원격적으로 저장될 수 있다. 시스템이 컴퓨터화된 디바이스들을 포함하는 경우, 각각의 이러한 디바이스는 버스를 통해 전기적으로 결합될 수 있는 하드웨어 요소들을 포함할 수 있고, 그 요소들은, 예를 들어, 적어도 하나의 CPU(central processing unit), 적어도 하나의 입력 디바이스(예컨대, 마우스, 키보드, 컨트롤러, 터치 스크린, 또는 키패드), 및 적어도 하나의 출력 디바이스(예컨대, 디스플레이 디바이스, 프린터, 또는 스피커)를 포함한다. 이러한 시스템은 또한 디스크 드라이브, 광 저장 디바이스, 및 RAM(random access memory) 또는 ROM(read-only memory)과 같은 고상 저장 디바이스는 물론, 이동식 매체 디바이스, 메모리 카드, 플래시 카드, 기타와 같은 하나 이상의 저장 디바이스들을 포함할 수 있다.The environment may include various data stores and other memory and storage media as discussed above. These may be in various locations, such as on a storage medium that is local to one or more of the computers (and / or resides thereon) and remotely from some or all of the computers via the network. In certain sets of embodiments, the information may reside in a storage-area network (SAN) familiar to a typical technician. Similarly, any necessary files for performing functions pertaining to computers, servers, or other network devices may be stored locally and / or remotely, where appropriate. When the system includes computerized devices, each such device may include hardware components that can be electrically coupled through a bus, such components being, for example, at least one central processing unit (CPU) , At least one input device (e.g., a mouse, keyboard, controller, touch screen, or keypad), and at least one output device (e.g., a display device, printer, or speaker). Such systems may also include solid state storage devices such as disk drives, optical storage devices, and random access memory (RAM) or read-only memory (ROM), as well as one or more storage devices such as removable media devices, memory cards, flash cards, Devices.

이러한 디바이스들은 또한 컴퓨터 판독가능 저장 매체 판독기, 통신 디바이스[예컨대, 모뎀, 네트워크 카드(무선 또는 유선), 적외선 통신 디바이스, 기타], 및 앞서 기술한 바와 같은 작업 메모리(working memory)를 포함할 수 있다. 컴퓨터 판독가능 저장 매체 판독기는 컴퓨터 판독가능 정보를 일시적으로 및/또는 보다 영구적으로 포함, 저장, 전송 및 검색하기 위한 저장 매체 뿐만 아니라, 원격, 로컬, 고정식, 및/또는 이동식 저장 디바이스를 나타내는 컴퓨터 판독가능 저장 매체와 연결되거나 그를 수납(receive)하도록 구성될 수 있다. 시스템 및 다양한 디바이스들은 또한 통상적으로 운영 체제 및 애플리케이션 프로그램들(예를 들어, 클라이언트 애플리케이션 또는 웹 브라우저)을 비롯한, 적어도 하나의 작업 메모리 디바이스 내에 위치된 다수의 소프트웨어 애플리케이션들, 모듈들, 서비스들, 또는 기타 요소들을 포함할 것이다. 대안의 실시예들이 앞서 기술된 것으로부터의 다수의 변형들을 가질 수 있다는 것을 잘 알 것이다. 예를 들어, 커스터마이즈된 하드웨어(customized hardware)가 또한 사용될 수 있고 그리고/또는 특정의 요소들이 하드웨어, 소프트웨어[애플릿과 같은 이식가능 소프트웨어(portable software)를 포함함], 또는 둘 다로 구현될 수 있다. 게다가, 네트워크 입출력 디바이스와 같은 기타 컴퓨팅 디바이스들에의 연결이 이용될 수 있다.Such devices may also include a computer readable storage medium reader, a communication device (e.g., a modem, a network card (wireless or wired), an infrared communication device, etc.) and a working memory as described above . The computer readable storage medium readable medium may be a computer readable storage medium for temporarily, permanently and / or more permanently including, storing, transmitting and retrieving computer readable information, as well as remote, local, fixed and / Lt; RTI ID = 0.0 &gt; and / or &lt; / RTI &gt; receive storage media. The system and various devices also typically include a plurality of software applications, modules, services, or applications located in at least one working memory device, including an operating system and application programs (e.g., a client application or a web browser) And other factors. It will be appreciated that alternative embodiments may have many variations from the ones described above. For example, customized hardware may also be used and / or certain elements may be implemented in hardware, software (including portable software such as applets), or both. In addition, a connection to other computing devices such as network input / output devices may be utilized.

코드 또는 코드의 일부분을 포함하기 위한 저장 매체 및 컴퓨터 판독가능 매체는, 원하는 정보를 저장하는 데 사용될 수 있고 시스템 디바이스에 의해 액세스될 수 있는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장 또는 기타 자기 저장 디바이스, 또는 임의의 다른 매체를 포함하는, 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체(이들로 제한되지 않음)와 같은 저장 매체를 포함하는 기술 분야에 공지되거나 사용되는 임의의 적절한 매체를 포함할 수 있다. 본 명세서에 제공된 개시 내용 및 교시에 기초하여, 통상의 기술자라면 다양한 실시예들을 구현하는 다른 방식들 및/또는 방법들을 잘 알 것이다.A storage medium and a computer-readable medium for containing a code or a portion of a code may be RAM, ROM, EEPROM, flash memory or other memory technology that may be used to store the desired information and may be accessed by the system device, Readable instructions, data structures, program modules or other data, including read only memory (ROM), digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, Any suitable medium known or used in the art including, but not limited to, volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as, . &Lt; / RTI &gt; Based on the teachings and teachings provided herein, one of ordinary skill in the art will appreciate other ways and / or methods of implementing various embodiments.

그에 따라, 본 명세서 및 도면은 제한적인 의미가 아니라 예시적인 것으로 간주되어야 한다. 그렇지만, 청구범위에 기재된 본 발명의 보다 광의의 사상 및 범주를 벗어나지 않고 본 발명에 대해 다양한 수정들 및 변경들이 행해질 수 있다는 것이 명백할 것이다.Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the claims.

본 개시 내용의 다양한 실시예들이 이하의 항목들을 바탕으로 기술될 수 있다.Various embodiments of the present disclosure may be described on the basis of the following items.

A1. 네트워크화된 환경에서의 검색가능 데이터에 대한 인덱스 구성을 위한 컴퓨터 구현 방법으로서,A1. A computer-implemented method for configuring indexes on searchable data in a networked environment,

복수의 데이터 필드들을 포함하는 인덱싱될 데이터를 수신하는 단계;Receiving data to be indexed comprising a plurality of data fields;

복수의 데이터 필드들에서의 각각의 데이터 필드와 연관된 이름을 결정하는 단계;Determining a name associated with each data field in the plurality of data fields;

복수의 데이터 필드들에서의 각각의 데이터 필드와 연관된 복수의 필드 유형들의 필드 유형을 결정하는 단계 - 복수의 필드 유형들은 정수 유형, 리터럴 유형, 또는 텍스트 유형 중 적어도 하나를 포함함 -;Determining a field type of a plurality of field types associated with each data field in a plurality of data fields, the plurality of field types including at least one of an integer type, a literal type, or a text type;

데이터 필드들 각각에 대한 하나 이상의 검색 옵션들을 인에이블시킬지를 결정하는 단계 - 하나 이상의 검색 옵션들은 각자의 데이터 필드를 생성될 검색 인덱스에 포함시키는 옵션, 각자의 데이터 필드에 대한 패싯 카운트를 계산하는 옵션, 또는 각자의 데이터 필드와 연관된 하나 이상의 값들을 제공하는 옵션 중 적어도 하나를 포함함 -; Determining whether to enable one or more search options for each of the data fields, wherein the one or more search options include an option to include each data field in a search index to be generated, an option to calculate a facet count for each data field Or an option to provide one or more values associated with the respective data field;

데이터에 포함된 각각의 데이터 필드의 필드 유형 및 하나 이상의 검색 옵션들을 인에이블시킬지의 결정에 적어도 부분적으로 기초하여, 데이터에 대한 검색 인덱스 구성을 생성하는 단계; 및Creating a search index configuration for the data based at least in part upon determining a field type of each data field included in the data and enabling one or more search options; And

데이터에 대한 검색 인덱스 구성에 적어도 부분적으로 기초하여, 데이터에 대한 검색 인덱스를 생성하는 단계를 포함하는, 컴퓨터 구현 방법.Generating a search index for the data based at least in part on the search index configuration for the data.

A2. 항목 A1에 있어서, 데이터는 제1 포맷으로 되어 있고,A2. In Item A1, the data is in a first format,

데이터를 제1 포맷으로부터 검색 인덱스와 호환되는 제2 포맷으로 변환시키는 단계; 및Converting the data from the first format to a second format compatible with the search index; And

제2 포맷으로 변환된 데이터를 하나 이상의 저장소 할당량(storage allocation)들에 저장하는 단계를 추가로 포함하는, 컴퓨터 구현 방법.Further comprising storing the converted data in a second format in one or more storage allocations.

A3. 항목 A2에 있어서, 데이터를 제1 포맷으로부터 제2 포맷으로 변환시키는 단계는A3. In item A2, the step of converting the data from the first format to the second format

제1 포맷과 제2 포맷을 비교하는 단계; 및Comparing the first format to the second format; And

제1 포맷과 연관된 적어도 하나의 데이터 필드를 제2 포맷과 연관된 적어도 하나의 데이터 필드에 대응하도록 수정하는 단계를 포함하는, 컴퓨터 구현 방법.Modifying at least one data field associated with the first format to correspond to at least one data field associated with the second format.

A4. 항목 A2에 있어서, 제2 포맷이 SDF(Search Data Format)인, 컴퓨터 구현 방법.A4. Item A2, wherein the second format is SDF (Search Data Format).

A5. 컴퓨터 구현 방법으로서,A5. As a computer implemented method,

인덱싱될 데이터를 수신하는 단계;Receiving data to be indexed;

데이터와 연관된 데이터 필드의 유형을 결정하는 단계 - 데이터 필드의 유형은 복수의 데이터 필드 유형들로부터 결정됨 -;Determining the type of data field associated with the data, the type of data field being determined from a plurality of data field types;

데이터와 연관된 데이터 필드와 관련하여 인에이블될 하나 이상의 검색 옵션들을 결정하는 단계;Determining one or more search options to be enabled in association with a data field associated with the data;

데이터 필드의 유형 및 하나 이상의 검색 옵션들에 적어도 부분적으로 기초하여, 데이터에 대한 인덱스 구성을 생성하는 단계; 및Creating an index configuration for the data based at least in part on the type of data field and one or more search options; And

데이터에 대한 인덱스 구성에 적어도 부분적으로 기초하여, 데이터에 대한 검색 인덱스를 생성하는 단계를 포함하는, 컴퓨터 구현 방법.And creating a search index for the data based at least in part on the index configuration for the data.

A6. 항목 A5에 있어서, 데이터는 제1 포맷으로 되어 있고,A6. In item A5, the data is in the first format,

데이터를 제1 포맷으로부터 검색 인덱스와 호환되는 제2 포맷으로 변환시키는 단계; 및Converting the data from the first format to a second format compatible with the search index; And

제2 포맷으로 변환된 데이터를 하나 이상의 저장소 할당량들에 저장하는 단계를 추가로 포함하는, 컴퓨터 구현 방법.And storing the converted data in the second format in one or more storage quotas.

A7. 항목 A6에 있어서, 데이터를 제1 포맷으로부터 제2 포맷으로 변환시키는 단계는A7. In item A6, the step of converting the data from the first format to the second format

제1 포맷과 제2 포맷을 비교하는 단계; 및Comparing the first format to the second format; And

제1 포맷과 연관된 적어도 하나의 데이터 태그를 제2 포맷과 연관된 적어도 하나의 데이터 태그에 대응하도록 수정하는 단계를 포함하는, 컴퓨터 구현 방법.And modifying at least one data tag associated with the first format to correspond to at least one data tag associated with the second format.

A8. 항목 A5에 있어서, 복수의 데이터 필드 유형들은 정수 유형, 텍스트 유형, 리터럴 유형, 지리적 위치(geolocation) 유형, 시간 유형, 날짜 유형, 또는 부동 소수점 수(floating point number) 유형 중 적어도 하나를 포함하는, 컴퓨터 구현 방법.A8. In item A5, the plurality of data field types comprises at least one of an integer type, a text type, a literal type, a geolocation type, a time type, a date type, or a floating point number type. Computer implemented method.

A9. 항목 A8에 있어서, 데이터 필드의 유형을 결정하는 단계는A9. In item A8, the step of determining the type of the data field

데이터 필드와 연관된 값이 지정된 정수 양 임계치(integer amount threshold) 초과의 양의 정수 문자들을 가지는 것으로 결정하는 단계; 및Determining that the value associated with the data field has positive integer characters greater than a specified integer amount threshold; And

데이터 필드의 유형을 정수 유형인 것으로 결정하는 단계를 포함하는, 컴퓨터 구현 방법.And determining that the type of the data field is an integer type.

A10. 항목 A8에 있어서, 데이터 필드의 유형을 결정하는 단계는A10. In item A8, the step of determining the type of the data field

데이터 필드와 연관된 값이 지정된 텍스트 양 임계치(text amount threshold) 초과의 양의 영숫자 문자들을 가지는 것, 데이터 필드와 연관된 개별 값들의 개수가 지정된 텍스트 개별 양 임계치(text distinct amount threshold) 초과인 것, 개별 값들의 퍼센트가 지정된 텍스트 개별 퍼센트 임계치(text distinct percentage threshold) 초과인 것, 또는 값들의 길이가 지정된 텍스트 길이 임계치 초과인 것 중 적어도 하나를 결정하는 단계; 및The value associated with the data field has a positive amount of alphanumeric characters in excess of the text amount threshold; the number of distinct values associated with the data field is greater than the specified text distinct amount threshold; The percentage of values is greater than a specified text distinct percentage threshold, or the length of values is greater than a specified text length threshold; And

데이터 필드의 유형을 텍스트 유형인 것으로 결정하는 단계를 포함하는, 컴퓨터 구현 방법.And determining that the type of the data field is a text type.

A11. 항목 A8에 있어서, 데이터 필드의 유형을 결정하는 단계는A11. In item A8, the step of determining the type of the data field

데이터 필드와 연관된 값이 지정된 하부 리터럴 양 임계치(lower literal amount threshold) 초과이지만 지정된 상부 리터럴 양 임계치(upper literal amount threshold) 미만인 양의 알파벳 문자들을 가지는 것, 데이터 필드와 연관된 개별 값들의 개수가 지정된 리터럴 개별 양 임계치(literal distinct amount threshold) 미만인 것, 개별 값들의 퍼센트가 지정된 리터럴 개별 퍼센트 임계치 미만인 것, 또는 값들의 길이가 지정된 리터럴 길이 임계치 미만인 것 중 적어도 하나를 결정하는 단계; 및The value associated with the data field has positive alphanumeric characters that are greater than the specified lower literal amount threshold but less than the specified upper literal amount threshold, the number of distinct values associated with the data field is greater than or equal to the specified literal Determining a percentage of individual values to be less than a specified literal individual percent threshold or a length of values less than a specified literal length threshold; And

데이터 필드의 유형을 리터럴 유형인 것으로 결정하는 단계를 포함하는, 컴퓨터 구현 방법.And determining that the type of the data field is a literal type.

A12. 항목 A5에 있어서, 하나 이상의 검색 옵션들은 데이터 필드를 생성될 검색 인덱스에 포함시키는 옵션, 데이터 필드에 대한 패싯 카운트(facet count)를 계산하는 옵션, 또는 관련 검색 질의에 응답하여 데이터 필드와 연관된 값을 제공하는 옵션 중 적어도 하나를 포함하는, 컴퓨터 구현 방법.A12. In item A5, one or more search options may include an option to include a data field in the search index to be generated, an option to calculate a facet count for the data field, or a value associated with the data field in response to the associated search query And providing at least one of the options.

A13. 항목 A12에 있어서, 인에이블될 하나 이상의 검색 옵션들을 결정하는 단계는 데이터 필드를 생성될 검색 인덱스에 포함시키는 옵션을 인에이블시키기로 결정하는 단계를 포함하고, 이 결정은 데이터 필드가 검색 인덱스에 포함되어야 한다는 것을 나타내는, 데이터 필드에 포함된, 신호를 수신하는 것 또는 데이터 필드의 유형을 리터럴 유형인 것으로 결정하는 것 중 적어도 하나에 적어도 부분적으로 기초하는, 컴퓨터 구현 방법.A13. In item A12, the step of determining one or more search options to be enabled includes determining to enable an option to include a data field in the search index to be generated, the decision being that the data field is included in the search index Receiving a signal contained in a data field indicating that the type of the data field is a literal type, or determining that the type of the data field is a literal type.

A14. 항목 A12에 있어서, 인에이블될 하나 이상의 검색 옵션들을 결정하는 단계는 데이터 필드에 대한 패싯 카운트를 계산하는 옵션을 인에이블시키로 결정하는 단계를 포함하고, 이 결정은 데이터 필드와 연관된 복수의 값들의 분포에 대한 분량(quantity)이 지정된 패싯 카운트 상부 임계치 미만인 것으로 결정하는 것에 적어도 부분적으로 기초하는, 컴퓨터 구현 방법.A14. In item A12, the step of determining one or more search options to be enabled includes determining to enable an option to calculate a facet count for a data field, the determination comprising determining a plurality of values And determining that the quantity for the distribution is less than a specified facet count upper threshold.

A15. 항목 A12에 있어서, 인에이블될 하나 이상의 검색 옵션들을 결정하는 단계는 관련 검색 질의에 응답하여 데이터 필드와 연관된 값을 제공하는 옵션을 인에이블시키기로 결정하는 단계를 포함하고, 이 결정은 데이터 필드와 연관된 값이 제공되어야 한다는 것을 나타내는, 데이터 필드에 포함된, 신호를 수신하는 것 또는 데이터 필드와 연관된 값의 길이가 지정된 반환 값 길이 임계치 미만인 것으로 결정하는 것 중 적어도 하나에 적어도 부분적으로 기초하는, 컴퓨터 구현 방법.A15. In item A12, the step of determining one or more search options to be enabled comprises determining to enable an option to provide a value associated with a data field in response to an associated search query, Determining that a value contained in the data field, which indicates that a value should be provided, is received, or that the length of a value associated with the data field is less than a specified return value length threshold, Way.

A16. 항목 A5에 있어서, 데이터, 인덱스 구성, 또는 하나 이상의 검색 질의들에 의해 검색가능하게 될 인덱스 중 적어도 하나를 제공하는 단계를 추가로 포함하는, 컴퓨터 구현 방법.A16. The computer-implemented method of item A5, further comprising providing at least one of data, an index configuration, or an index to be searchable by one or more search queries.

A17. 항목 A5에 있어서, 하나 이상의 사용자-개시 입력들에 적어도 부분적으로 기초하여, 인덱스 구성을 수정하는 단계를 추가로 포함하는, 컴퓨터 구현 방법.A17. The computer-implemented method of item A5, further comprising modifying the index configuration based at least in part on one or more user-initiated inputs.

A18. 시스템으로서,A18. As a system,

적어도 하나의 통신 송수신기;At least one communication transceiver;

하나 이상의 저장소 할당량들;One or more storage quotas;

적어도 하나의 프로세서; 및At least one processor; And

명령어들을 포함하는 메모리 디바이스를 포함하고, 이 명령어들은, 적어도 하나의 프로세서에 의해 실행될 때, 시스템으로 하여금A memory device including instructions that, when executed by the at least one processor, cause the system to:

적어도 하나의 통신 송수신기를 통해, 인덱싱될 데이터를 수신하게 하고;Receive data to be indexed via at least one communication transceiver;

데이터와 연관된 데이터 필드의 유형을 결정하게 하며 - 데이터 필드의 유형은 복수의 데이터 필드 유형들로부터 결정됨 -;Determine the type of data field associated with the data, the type of the data field being determined from a plurality of data field types;

데이터와 연관된 데이터 필드와 관련하여 인에이블될 하나 이상의 검색 옵션들을 결정하게 하고;Determine one or more search options to be enabled in association with a data field associated with the data;

데이터 필드의 유형 및 하나 이상의 검색 옵션들에 적어도 부분적으로 기초하여, 데이터에 대한 인덱스 구성을 생성하게 하며;Generate an index configuration for the data based at least in part on the type of data field and one or more search options;

데이터에 대한 인덱스 구성에 적어도 부분적으로 기초하여, 데이터에 대한 검색 인덱스를 생성하게 하는, 시스템.And to generate a search index for the data based at least in part on the index configuration for the data.

A19. 항목 A18에 있어서, 데이터는 제1 포맷으로 되어 있고, 명령어들은 시스템으로 하여금 추가적으로A19. In item A18, the data is in a first format, and the instructions cause the system to additionally

데이터를 제1 포맷으로부터 검색 인덱스와 호환되는 제2 포맷으로 변환시키게 하고;To convert the data from the first format to a second format compatible with the search index;

제2 포맷으로 변환된 데이터를 하나 이상의 저장소 할당량들에 저장하게 하는, 시스템.And store the converted data in the second format in one or more storage quotas.

A20. 항목 A19에 있어서, 명령어들은 시스템으로 하여금 제1 포맷과 제2 포맷을 비교하고 제1 포맷과 연관된 적어도 하나의 데이터 필드를 제2 포맷과 연관된 적어도 하나의 데이터 필드에 대응하도록 수정하는 것에 기초하여, 데이터를 제1 포맷으로부터 제2 포맷으로 변환시키게 하는, 시스템.A20. In item A19, the instructions cause the system to compare the first format and the second format and modify at least one data field associated with the first format to correspond to at least one data field associated with the second format, And to convert the data from the first format to the second format.

A21. 요소들을 식별하는 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은, 컴퓨팅 시스템의 프로세서에 의해 실행될 때, 컴퓨팅 시스템으로 하여금A21. Wherein the instructions, when executed by a processor of the computing system, cause the computing system to: &lt; RTI ID = 0.0 &gt;

인덱싱될 데이터를 수신하게 하고;Receive data to be indexed;

데이터와 연관된 데이터 필드의 유형을 결정하게 하며 - 데이터 필드의 유형은 복수의 데이터 필드 유형들로부터 결정됨 -;Determine the type of data field associated with the data, the type of the data field being determined from a plurality of data field types;

데이터와 연관된 데이터 필드와 관련하여 인에이블될 하나 이상의 검색 옵션들을 결정하게 하고;Determine one or more search options to be enabled in association with a data field associated with the data;

데이터 필드의 유형 및 하나 이상의 검색 옵션들에 적어도 부분적으로 기초하여, 데이터에 대한 인덱스 구성을 생성하게 하며;Generate an index configuration for the data based at least in part on the type of data field and one or more search options;

데이터에 대한 인덱스 구성에 적어도 부분적으로 기초하여, 데이터에 대한 검색 인덱스를 생성하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.Based on at least in part on the index configuration for the data, a search index for the data.

A22. 항목 A21에 있어서, 복수의 데이터 필드 유형들은 정수 유형, 텍스트 유형, 리터럴 유형, 지리적 위치 유형, 시간 유형, 날짜 유형, 또는 부동 소수점 수 유형 중 적어도 하나를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.A22. In item A21, the plurality of data field types comprises at least one of an integer type, a text type, a literal type, a geographic location type, a time type, a date type, or a floating point number type.

A23. 항목 A22에 있어서, 명령어들은 컴퓨팅 시스템으로 하여금 데이터 필드와 연관된 값이 지정된 하부 리터럴 양 임계치 초과이지만 지정된 상부 리터럴 양 임계치 미만인 양의 알파벳 문자들을 가지는 것, 데이터 필드와 연관된 개별 값들의 개수가 지정된 리터럴 개별 양 임계치 미만인 것, 개별 값들의 퍼센트가 지정된 리터럴 개별 퍼센트 임계치 미만인 것, 또는 값들의 길이가 지정된 리터럴 길이 임계치 미만인 것 중 적어도 하나를 결정하는 것에 기초하여 데이터 필드의 유형을 리터럴 유형인 것으로 결정하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.A23. In item A22, the instructions cause the computing system to cause the computing system to have a value associated with the data field greater than a specified lower literal threshold value, but having a positive alphabet character less than the specified upper literal threshold value, Determining the type of the data field to be a literal type based on determining at least one of: less than a threshold, a percentage of individual values less than a specified literal individual percent threshold, or a length of values less than a specified literal length threshold , Non-transitory computer readable storage medium.

A24. 항목 A21에 있어서, 하나 이상의 검색 옵션들은 데이터 필드를 생성될 검색 인덱스에 포함시키는 옵션, 데이터 필드에 대한 패싯 카운트를 계산하는 옵션, 또는 관련 검색 질의에 응답하여 데이터 필드와 연관된 값을 제공하는 옵션 중 적어도 하나를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.A24. In item A21, one or more search options may include an option to include a data field in the search index to be generated, an option to calculate a facet count for the data field, or an option to provide a value associated with the data field in response to the relevant search query &Lt; / RTI &gt; wherein the computer program product comprises at least one computer program product.

A25. 항목 A24에 있어서, 인에이블될 하나 이상의 검색 옵션들을 결정하는 것은 데이터 필드에 대한 패싯 카운트를 계산하는 옵션을 인에이블시키기로 결정하는 것을 포함하고, 이 결정은 데이터 필드와 연관된 적어도 하나의 값의 분량이 지정된 패싯 카운트 하부 임계치 초과이고 지정된 패싯 카운트 상부 임계치 미만인 것으로 결정하는 것에 적어도 부분적으로 기초하는, 비일시적 컴퓨터 판독가능 저장 매체.A25. In item A24, determining one or more search options to be enabled includes determining to enable an option to calculate a facet count for a data field, the determination being such that the amount of at least one value associated with the data field is Determining that the specified facet count is below a specified facet count lower threshold and below a specified facet count upper threshold.

B1. 동적 검색 파티셔닝(dynamic search partitioning)을 위한 컴퓨터 구현 방법으로서,B1. A computer implemented method for dynamic search partitioning,

저장되고 있는 데이터의 양 또는 데이터가 네트워크 서비스에 의해 제공된 제1 파티션에서 조작되고 있는 레이트(rate) 중 적어도 하나를 모니터링하는 단계 - 제1 파티션은 네트워크 서비스에 의해 제공된 저장소 할당량에 포함되어 있음 -;Monitoring at least one of the amount of data being stored or the rate at which data is being manipulated in a first partition provided by the network service, the first partition being included in a storage quota provided by the network service;

양 및 레이트 중 적어도 하나가, 각각, 지정된 양 임계치 또는 지정된 레이트 임계치를 초과하는 것을 검출하는 단계;Detecting that at least one of an amount and a rate exceeds a specified amount threshold or a specified rate threshold, respectively;

검출하는 단계에 응답하여, 제1 파티션의 크기를 증가시키는 것 또는 적어도 제2 파티션을 저장소 할당량에 추가하는 것 중 적어도 하나를 수행하는 단계 - 증가시키는 것 또는 추가하는 것 중 적어도 하나는 저장되고 있는 데이터의 양 또는 데이터가 조작되고 있는 레이트에 적어도 부분적으로 기초함 -;In response to the detecting, at least one of performing, incrementing, or adding performing at least one of increasing the size of the first partition or adding at least the second partition to the storage quota is stored At least partially based on the amount of data or the rate at which the data is being manipulated;

증가시키는 것 또는 추가하는 것 중 적어도 하나 동안, 저장소 할당량과 연관된 네트워크 트래픽을 네트워크 서비스에 의해 제공된 캐시로 보내는 단계; 및Increasing or adding the network traffic associated with the storage quota to a cache provided by the network service; And

증가시키는 것 또는 추가하는 것 중 적어도 하나를 수행하는 것이 완료될 때, 네트워크 트래픽을 저장소 할당량으로 보내는 단계를 포함하는, 컴퓨터 구현 방법.Increasing or adding a network traffic to a storage quota when it is completed to perform at least one of the following:

B2. 항목 B1에 있어서, 저장소 할당량에 대한 검색 인덱스를 모니터링하는 단계;B2. Item B1, comprising: monitoring a search index for a storage quota;

검색 인덱스의 크기가 지정된 인덱스 크기 임계치를 초과하는 것을 검출하는 단계; 및Detecting that the size of the search index exceeds a specified index size threshold; And

저장소 할당량과 관련하여 증가시키는 것 또는 추가하는 것 중 적어도 하나를 반영하기 위해 저장소 할당량에 대한 검색 인덱스를 업데이트하는 단계를 포함하는, 컴퓨터 구현 방법.Updating the search index for the storage quota to reflect at least one of increasing or adding with respect to the storage quota.

B3. 항목 B1에 있어서, 제1 파티션의 크기가 최대 파티션 크기 임계치 미만인 경우, 제1 파티션의 크기를 증가시키는 것이 수행되고, 제1 파티션의 크기가 최대 파티션 크기 임계치에 있는 경우, 적어도 제2 파티션을 추가하는 것이 수행되는, 컴퓨터 구현 방법.B3. In item B1, if the size of the first partition is less than the maximum partition size threshold, increasing the size of the first partition is performed, and if the size of the first partition is at the maximum partition size threshold, Is performed.

B4. 컴퓨터 구현 방법으로서,B4. As a computer implemented method,

네트워크화된 환경에서 저장소 할당량에서의 데이터 사용량을 모니터링하는 단계 - 저장소 할당량은 적어도 하나의 파티션을 포함하는 다수의 파티션들을 가짐 -;Monitoring data usage in a storage quota in a networked environment, the storage quota having a plurality of partitions including at least one partition;

저장소 할당량에 포함된 적어도 하나의 파티션에서의 데이터 사용량이 지정된 임계치를 초과하는지를 결정하는 단계;Determining if data usage at at least one partition included in the storage quota exceeds a specified threshold;

적어도 하나의 파티션의 크기 또는 저장소 할당량에 포함된 파티션들의 개수 중 적어도 하나를 수정하는 단계;Modifying at least one of a size of at least one partition or a number of partitions included in a storage quota;

저장소 할당량과 연관된 네트워크 트래픽을 크기 또는 개수 중 적어도 하나를 수정하는 것과 연관된 저장소 할당량의 일부분으로부터 다른 곳으로 보내는 단계; 및Sending network traffic associated with the storage quota from a portion of a storage quota associated with modifying at least one of a size or a number to another; And

수정이 완료될 때 네트워크 트래픽을 수정하는 것과 연관된 저장소 할당량의 일부분으로 보내는 단계를 포함하는, 컴퓨터 구현 방법.Sending as part of a storage quota associated with modifying network traffic when the modification is complete.

B5. 항목 B4에 있어서, 저장소 할당량에 대한 검색 인덱스의 크기가 지정된 인덱스 크기 임계치를 초과하는 것을 검출하는 단계; 및B5. Item B4, comprising: detecting that the size of a search index for a storage quota exceeds a specified index size threshold; And

적어도 하나의 파티션의 크기 또는 저장소 할당량에 포함된 파티션들의 개수 중 적어도 하나를 수정한 것에 기초하여, 저장소 할당량에 대한 검색 인덱스를 업데이트하는 단계를 추가로 포함하는, 컴퓨터 구현 방법.Further comprising updating the search index for the storage quota based on modifying at least one of the size of the at least one partition or the number of partitions included in the storage quota.

B6. 항목 B5에 있어서, 검색 인덱스를 업데이트하는 단계는 적어도 하나의 파티션의 크기 또는 저장소 할당량에 포함된 파티션들의 개수 중 적어도 하나를 수정한 것을 반영하기 위해 저장소 할당량에 대한 검색 인덱스를 재구축하는 단계를 포함하는, 컴퓨터 구현 방법.B6. In item B5, updating the search index comprises rebuilding the search index for the storage quota to reflect modification of at least one of the size of the at least one partition or the number of partitions included in the storage quota Computer-implemented method.

B7. 항목 B4에 있어서, 데이터 사용량은 저장소 할당량에 저장되고 있는 데이터의 양 또는 데이터가 저장소 할당량에서 조작되고 있는 레이트 중 적어도 하나를 포함하는, 컴퓨터 구현 방법.B7. In item B4, the data usage comprises at least one of the amount of data being stored in the storage quota or the rate at which the data is being manipulated in the storage quota.

B8. 항목 B7에 있어서, 지정된 임계치는 지정된 양 임계치 또는 지정된 레이트 임계치 중 적어도 하나를 포함하고, 저장되고 있는 데이터의 양이 지정된 양 임계치를 초과하는 것 또는 데이터가 조작되고 있는 레이트가 지정된 레이트 임계치를 초과하는 것 중 적어도 하나가 발생할 때, 데이터 사용량이 지정된 임계치를 초과하는, 컴퓨터 구현 방법.B8. In item B7, the specified threshold includes at least one of a specified positive threshold or a specified rate threshold, and the amount of data being stored exceeds a specified positive threshold or the rate at which data is being manipulated exceeds a specified rate threshold Wherein when at least one of the at least one of the at least one of the at least one of the at least two of the at least one of the at least two of the at least one of the at least one of the plurality of devices occurs.

B9. 항목 B8에 있어서, 지정된 임계치는 과거 데이터 사용량에 관한 정보에 적어도 부분적으로 기초하여 계산되는, 컴퓨터 구현 방법.B9. In item B8, the specified threshold is computed based at least in part on information about historical data usage.

B10. 항목 B4에 있어서, 저장소 할당량으로 보내지는 네트워크 트래픽의 양이 지정된 트래픽 임계치 초과인 것으로 결정하는 단계; 및B10. Item B4, comprising: determining that the amount of network traffic sent to the storage quota is greater than a specified traffic threshold; And

네트워크 트래픽의 양에 기초하여 저장소 할당량을 수정하는 단계를 추가로 포함하는, 컴퓨터 구현 방법.Further comprising modifying the storage quota based on the amount of network traffic.

B11. 항목 B10에 있어서, 네트워크 트래픽은 저장소 할당량에 저장된 데이터를 검색하기 위한 검색 질의 트래픽을 포함하는, 컴퓨터 구현 방법.B11. The computer-implemented method of item B10, wherein the network traffic includes search query traffic for retrieving data stored in a storage quota.

B12. 항목 B10에 있어서, 네트워크 트래픽의 양에 기초하여 저장소 할당량을 수정하는 단계는 적어도 하나의 파티션의 크기를 수정하는 단계, 파티션들의 개수를 수정하는 단계, 또는 파티션들의 개수에 포함된 적어도 하나의 파티션을 상이한 규격들을 가지는 적어도 하나의 파티션으로 대체하는 단계 중 적어도 하나를 포함하는, 컴퓨터 구현 방법.B12. In item B10, modifying the storage quota based on the amount of network traffic may include modifying the size of at least one partition, modifying the number of partitions, or at least one partition included in the number of partitions Replacing at least one partition having different specifications with at least one partition having different specifications.

B13. 항목 B12에 있어서, 상이한 규격들은 상이한 CPU 능력, 상이한 RAM 용량, 상이한 하드 디스크 공간 용량, 또는 상이한 대역폭 용량 중 적어도 하나를 포함하는, 컴퓨터 구현 방법.B13. In item B12, the different specifications comprise at least one of different CPU capabilities, different RAM capacities, different hard disk space capacities, or different bandwidth capacities.

B14. 항목 B4에 있어서, 적어도 하나의 파티션의 크기 또는 파티션들의 개수 중 적어도 하나를 수정하는 단계는 적어도 하나의 파티션의 크기 또는 파티션들의 개수 중 적어도 하나를 증가시키는 단계를 포함하고, 적어도 하나의 파티션의 크기가 최대 파티션 크기 임계치 미만인 경우, 적어도 하나의 파티션의 크기를 증가시키는 것이 수행되고, 적어도 하나의 파티션의 크기가 최대 파티션 크기 임계치에 있는 경우, 파티션들의 개수를 증가시키는 것이 수행되는, 컴퓨터 구현 방법.B14. In item B4, modifying at least one of the size of at least one partition or the number of partitions includes increasing at least one of the size of at least one partition or the number of partitions, Is performed to increase the size of at least one partition, and if the size of the at least one partition is at a maximum partition size threshold, increasing the number of partitions is performed.

B15. 항목 B4에 있어서, 적어도 하나의 파티션의 크기 또는 파티션들의 개수 중 적어도 하나를 수정하는 단계는 적어도 하나의 파티션의 크기 또는 파티션들의 개수 중 적어도 하나를 감소시키는 단계를 포함하고, 파티션들의 개수가 2개 이상의 파티션인 경우, 파티션들의 개수를 감소시키는 것이 수행되며, 파티션들의 개수가 1개의 파티션인 경우, 적어도 하나의 파티션의 크기를 감소시키는 것이 수행되는, 컴퓨터 구현 방법.B15. In item B4, modifying at least one of the size of at least one partition or the number of partitions includes reducing at least one of the size of at least one partition or the number of partitions, wherein the number of partitions is two Wherein reducing the number of partitions is performed, and if the number of partitions is one partition, reducing the size of at least one partition is performed.

B16. 항목 B4에 있어서, 저장소 할당량의 CPU 사용량을 결정하는 단계를 추가로 포함하고, 크기 또는 개수 중 적어도 하나를 수정하는 단계는 저장소 할당량에서의 데이터 사용량 또는 저장소 할당량의 결정된 CPU 사용량 중 적어도 하나에 기초하는, 컴퓨터 구현 방법.B16. In item B4, the method further comprises determining a CPU usage of the storage quota, and the step of modifying at least one of the size or the number is based on at least one of a data usage in the storage quota or a determined CPU usage in the storage quota , A computer implemented method.

B17. 항목 B4에 있어서, 데이터 사용량과 연관된 구성 또는 사용자-개시 입력 중 적어도 하나에 기초하여, 저장소 할당량의 구성을 수정하는 단계를 추가로 포함하는, 컴퓨터 구현 방법.B17. The computer-implemented method of item B4, further comprising modifying the configuration of the storage quota based on at least one of a configuration associated with data usage or a user-initiated input.

B18. 항목 B4에 있어서, 저장소 할당량에 이용가능한 자원들에 기초하여, 크기 또는 개수 중 적어도 하나를 수정하는 것을 언제 수행할지를 결정하는 단계를 추가로 포함하는, 컴퓨터 구현 방법.B18. The computer-implemented method of item B4, further comprising determining when to perform modification of at least one of a size or a number based on resources available to the storage quota.

B19. 시스템으로서,B19. As a system,

적어도 하나의 파티션을 포함하는 다수의 파티션들을 가지는 저장소 할당량;A storage quota having a plurality of partitions including at least one partition;

적어도 하나의 프로세서; 및At least one processor; And

명령어들을 포함하는 메모리 디바이스를 포함하고, 이 명령어들은, 적어도 하나의 프로세서에 의해 실행될 때, 시스템으로 하여금A memory device including instructions that, when executed by the at least one processor, cause the system to:

저장소 할당량에서의 데이터 사용량을 모니터링하게 하고;Monitor data usage in storage quotas;

저장소 할당량에 포함된 적어도 하나의 파티션에서의 데이터 사용량이 지정된 임계치를 초과하는지를 결정하게 하며;Determine if the data usage at the at least one partition included in the storage quota exceeds a specified threshold;

적어도 하나의 파티션의 크기 또는 저장소 할당량에 포함된 파티션들의 개수 중 적어도 하나를 수정하게 하고;Modify at least one of a size of at least one partition or a number of partitions included in a storage quota;

저장소 할당량과 연관된 네트워크 트래픽을 크기 또는 개수 중 적어도 하나를 수정하는 것과 연관된 저장소 할당량의 일부분으로부터 다른 곳으로 보내게 하며;Sending network traffic associated with storage quota from a portion of a storage quota associated with modifying at least one of a size or a number to another;

수정이 완료될 때 네트워크 트래픽을 수정하는 것과 연관된 저장소 할당량의 일부분으로 보내게 하는, 시스템.A system that, when the modification is complete, sends it as part of the storage quota associated with modifying network traffic.

B20. 항목 B19에 있어서, 크기 또는 개수 중 적어도 하나를 수정하는 동안 네트워크 트래픽이 저장소 할당량의 일부분으로부터 다른 곳으로 보내지는 것 및 크기 또는 개수 중 적어도 하나를 수정하는 것이 완료될 때 네트워크 트래픽이 저장소 할당량의 일부분으로 보내지는 것을 용이하게 하도록 구성된 적어도 하나의 부하 분산기(load balancer)를 추가로 포함하는, 시스템.B20. In item B19, when network traffic is being sent from a portion of the storage quota elsewhere while modifying at least one of the size or the number, and when modifying at least one of the size or the number is completed, Further comprising: at least one load balancer configured to facilitate sending the load balancer to the load balancer.

B21. 항목 B20에 있어서, 적어도 하나의 부하 분산기는 저장소 할당량에 포함된 개수의 파티션들에 걸쳐서 네트워크 트래픽을 보내도록 구성되어 있는, 시스템.B21. In item B20, the at least one load balancer is configured to send network traffic over a number of partitions included in the storage quota.

B22. 항목 B19에 있어서, 저장소 할당량에서의 데이터 사용량을 모니터링하는 것 및 저장소 할당량에 포함된 적어도 하나의 파티션에서의 데이터 사용량이 지정된 임계치를 초과하는지를 결정하는 것을 용이하게 하도록 구성된 적어도 하나의 모니터 모듈을 추가로 포함하는, 시스템.B22. Item B19, further comprising at least one monitor module configured to facilitate monitoring data usage in the storage quota and determining whether data usage in the at least one partition included in the storage quota exceeds a specified threshold Including the system.

B23. 요소들을 식별하는 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은, 컴퓨팅 시스템의 프로세서에 의해 실행될 때, 컴퓨팅 시스템으로 하여금B23. Wherein the instructions, when executed by a processor of the computing system, cause the computing system to: &lt; RTI ID = 0.0 &gt;

네트워크화된 환경에서 저장소 할당량에서의 데이터 사용량을 모니터링하게 하고 - 저장소 할당량은 적어도 하나의 파티션을 포함하는 다수의 파티션들을 가짐 -;Monitor data usage in the storage quota in a networked environment; store quota has a plurality of partitions including at least one partition;

저장소 할당량에 포함된 적어도 하나의 파티션에서의 데이터 사용량이 지정된 임계치를 초과하는지를 결정하게 하며;Determine if the data usage at the at least one partition included in the storage quota exceeds a specified threshold;

적어도 하나의 파티션의 크기 또는 저장소 할당량에 포함된 파티션들의 개수 중 적어도 하나를 수정하게 하고;Modify at least one of a size of at least one partition or a number of partitions included in a storage quota;

저장소 할당량과 연관된 네트워크 트래픽을 크기 또는 개수 중 적어도 하나를 수정하는 것과 연관된 저장소 할당량의 일부분으로부터 다른 곳으로 보내게 하며;Sending network traffic associated with storage quota from a portion of a storage quota associated with modifying at least one of a size or a number to another;

수정이 완료될 때 네트워크 트래픽을 수정하는 것과 연관된 저장소 할당량의 일부분으로 보내게 하는, 비일시적 컴퓨터 판독가능 저장 매체.Wherein the network traffic is sent as part of a storage quota associated with modifying network traffic when the modification is complete.

B24. 항목 B23에 있어서, 명령어들은 컴퓨팅 시스템으로 하여금 추가적으로 저장소 할당량에 대한 검색 인덱스의 크기가 지정된 인덱스 크기 임계치를 초과하는 것을 검출하게 하고; 적어도 하나의 파티션의 크기 또는 저장소 할당량에 포함된 파티션들의 개수 중 적어도 하나를 수정한 것에 기초하여, 저장소 할당량에 대한 검색 인덱스를 업데이트하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.B24. In item B23, the instructions cause the computing system to additionally detect that the size of the search index for the storage quota exceeds a specified index size threshold; To update a search index for a storage quota based on modifying at least one of the size of the at least one partition or the number of partitions included in the storage quota.

B25. 항목 B24에 있어서, 검색 인덱스를 업데이트하는 것은 적어도 하나의 파티션의 크기 또는 저장소 할당량에 포함된 파티션들의 개수 중 적어도 하나를 수정한 것을 반영하기 위해 저장소 할당량에 대한 검색 인덱스를 재구축하는 것을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.B25. Wherein, in item B24, updating the search index comprises rebuilding the search index for the storage quota to reflect modification of at least one of the size of the at least one partition or the number of partitions included in the storage quota. Non-volatile computer readable storage medium.

Claims (25)

동적 검색 파티셔닝(dynamic search partitioning)을 위한 컴퓨터 구현 방법으로서,
저장되고 있는 데이터의 양, 또는 데이터가 네트워크 서비스에 의해 제공된 파티션들의 2 이상의 세트의 각각의 제1 파티션 상에서 조작되고(manipulated) 있는 레이트(rate) 중 적어도 하나를 모니터링하는 단계 - 파티션들의 각각의 세트는 복수의 파티션을 포함하고, 상기 복수의 파티션은 상기 네트워크 서비스에 의해 제공된 저장소 할당량(storage allocation)에 포함되며, 파티션들의 각각의 세트는 상이한 계정(account)과 연관됨 -;
상기 양 또는 상기 레이트 중 상기 적어도 하나가, 각각, 지정된(specified) 양 임계치 또는 지정된 레이트 임계치를 초과하는 것을 결정하는 단계;
상기 저장소 할당량과 연관된 네트워크 트래픽이 제1 유형(type)에 대응되는 것으로 결정하는 단계;
상기 제1 파티션의 크기에 대한 증가를 수행하는 단계 - 상기 증가는 상기 제1 유형에 대응하는 상기 네트워크 트래픽에 기초하고, 상기 증가는 저장되고 있는 데이터의 상기 양 또는 데이터가 조작되고 있는 상기 레이트에 적어도 부분적으로 기초함 -;
상기 증가 동안 상기 네트워크 트래픽을 상기 네트워크 서비스에 의해 제공된 캐시에 보내는(directing) 단계; 및
상기 증가를 수행하는 단계가 완료될 때, 상기 네트워크 트래픽을 상기 저장소 할당량으로 보내는 단계
를 포함하는, 컴퓨터 구현 방법.
A computer implemented method for dynamic search partitioning,
Monitoring at least one of the amount of data being stored or the rate at which data is manipulated on each first partition of two or more sets of partitions provided by the network service; Wherein the plurality of partitions are included in a storage allocation provided by the network service and each set of partitions is associated with a different account;
Determining that the at least one of the amount or the rate exceeds a specified amount threshold or a specified rate threshold, respectively;
Determining that network traffic associated with the storage quota corresponds to a first type;
Wherein the increase is based on the network traffic corresponding to the first type and the increase is based on the amount of data being stored or the rate at which data is being manipulated At least partially based;
Directing the network traffic during the increase to a cache provided by the network service; And
When the step of performing the increment is completed, sending the network traffic to the storage quota
/ RTI &gt;
제1항에 있어서,
상기 저장소 할당량에 대한 검색 인덱스를 모니터링하는 단계;
상기 검색 인덱스의 크기가 지정된 인덱스 크기 임계치를 초과하는 것을 검출하는 단계; 및
상기 저장소 할당량과 관련한 상기 증가를 반영하기 위해 상기 저장소 할당량에 대한 상기 검색 인덱스를 업데이트하는 단계
를 더 포함하는, 컴퓨터 구현 방법.
The method according to claim 1,
Monitoring a search index for the storage quota;
Detecting that the size of the search index exceeds a specified index size threshold; And
Updating the search index for the storage quota to reflect the increase in relation to the storage quota
Lt; / RTI &gt;
제1항에 있어서,
상기 양 또는 상기 레이트 중 상기 적어도 하나가, 각각, 지정된 양 임계치 또는 지정된 레이트 임계치를 초과하는 것을 결정하는 단계에 응답하여, 상기 제1 파티션의 상기 크기가 최대 파티션 크기 임계치에 도달할 때 적어도 제2 파티션의 파티션들의 상기 세트에의 추가를 수행하는 단계
를 더 포함하는, 컴퓨터 구현 방법.
The method according to claim 1,
In response to determining that the at least one of the amount or the rate exceeds a specified amount threshold or a specified rate threshold, respectively, when the size of the first partition reaches a maximum partition size threshold, Performing additions to the set of partitions of the partition
Lt; / RTI &gt;
컴퓨터 구현 방법으로서,
네트워크화된 환경에서 저장소 할당량(storage allocation)에서의 데이터 사용량을 모니터링하는 단계 - 상기 저장소 할당량은 파티션들의 다수의 세트를 갖고, 파티션들의 각각의 세트는 상이한 계정과 연관되고 적어도 2개의 파티션을 포함함 -;
상기 저장소 할당량에 포함된 파티션들의 세트 중 적어도 하나의 파티션에서의 상기 데이터 사용량이 지정된 임계치를 초과하는지를 결정하는 단계;
상기 저장소 할당량과 연관된 네트워크 트래픽이 제1 유형에 대응되는 것으로 결정하는 단계;
상기 제1 유형에 대응하는 상기 네트워크 트래픽에 기초하여 상기 적어도 하나의 파티션의 크기를 수정하는 단계;
상기 네트워크 트래픽을, 상기 수정하는 것과 연관된 상기 저장소 할당량의 일부분으로부터 다른 곳으로 보내는 단계; 및
상기 수정이 완료될 때 상기 네트워크 트래픽을 상기 수정하는 것과 연관된 상기 저장소 할당량의 상기 일부분으로 보내는 단계
를 포함하는, 컴퓨터 구현 방법.
As a computer implemented method,
Monitoring data usage in a storage allocation in a networked environment, the storage quota having a plurality of sets of partitions, each set of partitions being associated with a different account and comprising at least two partitions, ;
Determining if the data usage in at least one partition of the set of partitions included in the storage quota exceeds a specified threshold;
Determining that network traffic associated with the storage quota corresponds to a first type;
Modifying the size of the at least one partition based on the network traffic corresponding to the first type;
Sending the network traffic from a portion of the storage quota associated with the modification to another; And
Sending the network traffic to the portion of the storage quota associated with the modification when the modification is complete
/ RTI &gt;
제4항에 있어서, 상기 저장소 할당량에 대한 검색 인덱스의 크기가 지정된 인덱스 크기 임계치를 초과하는 것을 검출하는 단계; 및
상기 적어도 하나의 파티션의 상기 크기를 수정한 것에 기초하여, 상기 저장소 할당량에 대한 상기 검색 인덱스를 업데이트하는 단계를 더 포함하는, 컴퓨터 구현 방법.
5. The method of claim 4, further comprising: detecting that the size of the search index for the storage quota exceeds a specified index size threshold; And
Further comprising updating the search index for the storage quota based on modifying the size of the at least one partition.
제5항에 있어서, 상기 검색 인덱스를 업데이트하는 단계는 상기 적어도 하나의 파티션의 상기 크기를 수정한 것을 반영하기 위해 상기 저장소 할당량에 대한 상기 검색 인덱스를 재구축하는 단계를 포함하는, 컴퓨터 구현 방법.6. The computer-implemented method of claim 5, wherein updating the search index comprises rebuilding the search index for the storage quota to reflect the modification of the size of the at least one partition. 제4항에 있어서, 상기 데이터 사용량은 상기 저장소 할당량에 저장되고 있는 데이터의 양 또는 데이터가 상기 저장소 할당량에서 조작되고 있는 레이트(rate) 중 적어도 하나를 포함하는, 컴퓨터 구현 방법.5. The computer-implemented method of claim 4, wherein the data usage comprises at least one of an amount of data being stored in the storage quota or a rate at which data is being manipulated in the storage quota. 제7항에 있어서, 상기 지정된 임계치는 지정된 양 임계치 또는 지정된 레이트 임계치 중 적어도 하나를 포함하고, 상기 저장되고 있는 데이터의 양이 상기 지정된 양 임계치를 초과하는 것 또는 상기 데이터가 조작되고 있는 레이트가 상기 지정된 레이트 임계치를 초과하는 것 중 적어도 하나가 발생할 때, 상기 데이터 사용량이 상기 지정된 임계치를 초과하는, 컴퓨터 구현 방법.8. The method of claim 7, wherein the designated threshold comprises at least one of a specified positive threshold or a specified rate threshold, and wherein the amount of data being stored exceeds the specified positive threshold, And when the at least one of exceeding the specified rate threshold occurs, the data usage exceeds the specified threshold. 제8항에 있어서, 상기 지정된 임계치는 과거 데이터 사용량에 관한 정보에 적어도 부분적으로 기초하여 계산되는, 컴퓨터 구현 방법.9. The computer-implemented method of claim 8, wherein the specified threshold is computed based at least in part on information about historical data usage. 제4항에 있어서, 상기 저장소 할당량으로 보내지는 네트워크 트래픽의 양이 지정된 트래픽 임계치 초과인 것으로 결정하는 단계; 및
상기 네트워크 트래픽의 양에 기초하여 상기 저장소 할당량을 수정하는 단계를 더 포함하는, 컴퓨터 구현 방법.
5. The method of claim 4, further comprising: determining that the amount of network traffic sent to the storage quota is greater than a specified traffic threshold; And
And modifying the storage quota based on the amount of network traffic.
제10항에 있어서, 상기 네트워크 트래픽은 상기 저장소 할당량에 저장된 데이터를 검색하기 위한 검색 질의 트래픽을 포함하는, 컴퓨터 구현 방법.11. The computer-implemented method of claim 10, wherein the network traffic comprises search query traffic for retrieving data stored in the storage quota. 제10항에 있어서, 상기 네트워크 트래픽의 양에 기초하여 상기 저장소 할당량을 수정하는 단계는 상기 적어도 하나의 파티션의 크기를 수정하는 단계, 파티션들의 개수를 수정하는 단계, 또는 파티션들의 상기 세트 중 적어도 하나의 파티션을 상이한 규격들을 가지는 적어도 하나의 파티션으로 대체하는 단계 중 적어도 하나를 포함하는, 컴퓨터 구현 방법.11. The method of claim 10, wherein modifying the storage quota based on the amount of network traffic comprises modifying the size of the at least one partition, modifying the number of partitions, And replacing the partition of the computer with at least one partition having different specifications. 제12항에 있어서, 상기 상이한 규격들은 상이한 CPU 능력, 상이한 RAM 용량, 상이한 하드 디스크 공간 용량, 또는 상이한 대역폭 용량 중 적어도 하나를 포함하는, 컴퓨터 구현 방법.13. The computer-implemented method of claim 12, wherein the different specifications include at least one of different CPU capabilities, different RAM capacities, different hard disk space capacities, or different bandwidth capacities. 제4항에 있어서, 상기 적어도 하나의 파티션의 상기 크기를 수정하는 단계는, 상기 적어도 하나의 파티션의 상기 크기가 최대 파티션 크기 임계치 미만인 경우 상기 적어도 하나의 파티션의 상기 크기를 증가시키는 단계를 포함하는, 컴퓨터 구현 방법.5. The method of claim 4, wherein modifying the size of the at least one partition comprises increasing the size of the at least one partition if the size of the at least one partition is less than a maximum partition size threshold , A computer implemented method. 제4항에 있어서, 상기 적어도 하나의 파티션의 상기 크기를 수정하는 단계는 상기 적어도 하나의 파티션의 상기 크기를 감소시키는 단계를 포함하고, 상기 컴퓨터 구현 방법은 파티션들의 상기 세트 내의 상기 파티션들의 개수가 2개의 파티션보다 큰 경우, 상기 파티션들의 상기 세트 내의 상기 파티션들의 개수를 감소시키는 단계를 더 포함하는, 컴퓨터 구현 방법.5. The method of claim 4, wherein modifying the size of the at least one partition comprises reducing the size of the at least one partition, wherein the computer implemented method further comprises: Decreasing the number of partitions in the set of partitions if the number of partitions is greater than two partitions. 제4항에 있어서, 상기 저장소 할당량의 CPU 사용량을 결정하는 단계를 더 포함하고, 상기 크기를 수정하는 단계는 상기 저장소 할당량에서의 상기 데이터 사용량 또는 상기 저장소 할당량의 상기 결정된 CPU 사용량 중 적어도 하나에 기초하는, 컴퓨터 구현 방법.5. The method of claim 4, further comprising determining a CPU usage of the storage quota, wherein modifying the size is based on at least one of the data usage in the storage quota or the determined CPU usage in the storage quota Computer-implemented method. 제4항에 있어서, 상기 데이터 사용량과 연관된 구성 또는 사용자-개시 입력 중 적어도 하나에 기초하여, 상기 저장소 할당량의 구성을 수정하는 단계를 더 포함하는, 컴퓨터 구현 방법.5. The computer-implemented method of claim 4, further comprising modifying the configuration of the storage quota based on at least one of a configuration associated with the data usage or a user-initiated input. 제4항에 있어서, 상기 저장소 할당량에 이용가능한 자원들에 기초하여, 상기 크기를 수정하는 것을 언제 수행할지를 결정하는 단계를 더 포함하는, 컴퓨터 구현 방법.5. The computer-implemented method of claim 4, further comprising: determining when to modify the size based on resources available to the storage quota. 시스템으로서,
파티션들의 다수의 세트를 갖는 저장소 할당량 - 파티션들의 각각의 세트는 상이한 계정과 연관되고 적어도 2개의 파티션을 포함함 -;
적어도 하나의 프로세서; 및
명령어들을 포함하는 메모리 디바이스
를 포함하고,
상기 명령어들은 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 시스템으로 하여금
상기 저장소 할당량에서의 데이터 사용량을 모니터링하게 하고;
상기 저장소 할당량에 포함된 파티션들의 세트 중 적어도 하나의 파티션에서의 상기 데이터 사용량이 지정된 임계치를 초과하는지를 결정하게 하며;
상기 저장소 할당량과 연관된 네트워크 트래픽이 제1 유형에 대응되는 것으로 결정하게 하고;
상기 제1 유형에 대응하는 상기 네트워크 트래픽에 기초하여 상기 적어도 하나의 파티션의 크기를 수정하게 하고;
상기 네트워크 트래픽을, 상기 수정하는 것과 연관된 상기 저장소 할당량의 일부분으로부터 다른 곳으로 보내게 하며;
상기 수정이 완료될 때, 상기 네트워크 트래픽을, 상기 수정하는 것과 연관된 상기 저장소 할당량의 상기 일부분으로 보내게 하는, 시스템.
As a system,
A storage quota with a plurality of sets of partitions, each set of partitions being associated with a different account and comprising at least two partitions;
At least one processor; And
A memory device
Lt; / RTI &gt;
Wherein the instructions, when executed by the at least one processor,
Monitor data usage in the storage quota;
Determine if the data usage at at least one of the sets of partitions included in the storage quota exceeds a specified threshold;
Determine that network traffic associated with the storage quota corresponds to a first type;
Modify the size of the at least one partition based on the network traffic corresponding to the first type;
Send the network traffic from a portion of the storage quota associated with the modification to another;
And when the modification is complete, sending the network traffic to the portion of the storage quota associated with the modification.
제19항에 있어서,
상기 크기를 수정하는 동안 상기 네트워크 트래픽이 상기 저장소 할당량의 상기 일부분으로부터 다른 곳으로 보내지는 것 및 상기 크기를 수정하는 것이 완료될 때 상기 네트워크 트래픽이 상기 저장소 할당량의 상기 일부분으로 보내지는 것을 용이하게 하도록 구성된 적어도 하나의 부하 분산기(load balancer)를 더 포함하는 시스템.
20. The method of claim 19,
Wherein the network traffic is sent from the portion of the storage quota elsewhere while modifying the size, and to facilitate sending the network traffic to the portion of the storage quota when modifying the size is completed Lt; / RTI &gt; further comprising at least one load balancer configured.
제20항에 있어서,
상기 적어도 하나의 부하 분산기는 상기 저장소 할당량에 포함된 파티션들의 세트들의 개수에 걸쳐서 상기 네트워크 트래픽을 보내도록 구성된, 시스템.
21. The method of claim 20,
Wherein the at least one load balancer is configured to send the network traffic over a number of sets of partitions contained in the storage quota.
제19항에 있어서,
상기 저장소 할당량에서의 상기 데이터 사용량을 모니터링하는 것 및 상기 적어도 하나의 파티션에서의 상기 데이터 사용량이 지정된 임계치를 초과하는지를 결정하는 것을 용이하게 하도록 구성된 적어도 하나의 모니터 모듈을 더 포함하는 시스템.
20. The method of claim 19,
Further comprising at least one monitor module configured to facilitate monitoring the data usage in the storage quota and determining whether the data usage in the at least one partition exceeds a specified threshold.
요소들을 식별하는 명령어들을 기록한 비일시적(non-transitory) 컴퓨터 판독가능 저장 매체로서, 상기 명령어들은, 컴퓨팅 시스템의 프로세서에 의해 실행될 때, 상기 컴퓨팅 시스템으로 하여금
네트워크화된 환경에서 저장소 할당량에서의 데이터 사용량을 모니터링하게 하고 - 상기 저장소 할당량은 파티션들의 다수의 세트를 갖고, 파티션들의 각각의 세트는 상이한 계정과 연관되고 적어도 2개의 파티션을 포함함 -;
상기 저장소 할당량에 포함된 파티션들의 세트 중 적어도 하나의 파티션에서의 상기 데이터 사용량이 지정된 임계치를 초과하는지를 결정하게 하며;
상기 저장소 할당량과 연관된 네트워크 트래픽이 제1 유형에 대응되는 것으로 결정하게 하고;
상기 제1 유형에 대응하는 상기 네트워크 트래픽에 기초하여 상기 저장소 할당량에 포함된 상기 적어도 하나의 파티션의 크기를 수정하게 하고;
상기 네트워크 트래픽을, 상기 수정하는 것과 연관된 상기 저장소 할당량의 일부분으로부터 다른 곳으로 보내게 하며;
상기 수정이 완료될 때, 상기 네트워크 트래픽을, 상기 수정하는 것과 연관된 상기 저장소 할당량의 상기 일부분으로 보내게 하는, 비일시적 컴퓨터 판독가능 저장 매체.
29. A non-transitory computer readable storage medium having stored thereon instructions for identifying elements, said instructions, when executed by a processor of a computing system, cause the computing system to:
Monitor data usage in a storage quota in a networked environment, the storage quota having a plurality of sets of partitions, each set of partitions being associated with a different account and comprising at least two partitions;
Determine if the data usage at at least one of the sets of partitions included in the storage quota exceeds a specified threshold;
Determine that network traffic associated with the storage quota corresponds to a first type;
Modify the size of the at least one partition included in the storage quota based on the network traffic corresponding to the first type;
Send the network traffic from a portion of the storage quota associated with the modification to another;
And when the modification is complete, sending the network traffic to the portion of the storage quota associated with the modification.
제23항에 있어서, 상기 명령어들은 추가적으로 상기 컴퓨팅 시스템으로 하여금 상기 저장소 할당량에 대한 검색 인덱스의 크기가 지정된 인덱스 크기 임계치를 초과하는 것을 검출하게 하고, 상기 적어도 하나의 파티션의 상기 크기를 수정한 것에 기초하여, 상기 저장소 할당량에 대한 상기 검색 인덱스를 업데이트하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.24. The computer-readable medium of claim 23, wherein the instructions further cause the computing system to detect that the size of the search index for the storage quota exceeds a specified index size threshold, and to modify the size of the at least one partition To update the search index for the storage quota. 제24항에 있어서, 상기 검색 인덱스를 업데이트하는 단계는 상기 적어도 하나의 파티션의 상기 크기를 수정한 것을 반영하기 위해 상기 저장소 할당량에 대한 상기 검색 인덱스를 재구축하는 단계를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.25. The computer readable medium of claim 24, wherein updating the search index comprises rebuilding the search index for the storage quota to reflect a modification of the size of the at least one partition. Possible storage medium.
KR1020157012030A 2012-10-12 2013-10-12 Index configuration for searchable data in network KR101737246B1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US13/650,961 2012-10-12
US13/650,931 2012-10-12
US13/650,961 US9047326B2 (en) 2012-10-12 2012-10-12 Index configuration for searchable data in network
US13/650,931 US9507750B2 (en) 2012-10-12 2012-10-12 Dynamic search partitioning
PCT/US2013/064731 WO2014059394A1 (en) 2012-10-12 2013-10-12 Index configuration for searchable data in network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020177012552A Division KR101782302B1 (en) 2012-10-12 2013-10-12 Index configuration for searchable data in network

Publications (2)

Publication Number Publication Date
KR20150066575A KR20150066575A (en) 2015-06-16
KR101737246B1 true KR101737246B1 (en) 2017-05-17

Family

ID=50477970

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020157012030A KR101737246B1 (en) 2012-10-12 2013-10-12 Index configuration for searchable data in network
KR1020177012552A KR101782302B1 (en) 2012-10-12 2013-10-12 Index configuration for searchable data in network

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020177012552A KR101782302B1 (en) 2012-10-12 2013-10-12 Index configuration for searchable data in network

Country Status (10)

Country Link
EP (1) EP2907034A4 (en)
JP (2) JP2015532493A (en)
KR (2) KR101737246B1 (en)
CN (2) CN104823169B (en)
AU (3) AU2013328901B2 (en)
BR (1) BR112015008146A2 (en)
CA (1) CA2888116C (en)
IN (1) IN2015DN03160A (en)
SG (2) SG10201606363SA (en)
WO (1) WO2014059394A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10289603B2 (en) 2012-10-12 2019-05-14 Amazon Technologies, Inc. Dynamic search partitioning

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9047326B2 (en) 2012-10-12 2015-06-02 A9.Com, Inc. Index configuration for searchable data in network
CN105979016A (en) * 2016-07-15 2016-09-28 柳州健科技有限公司 Local area network data service system
CN105979015A (en) * 2016-07-15 2016-09-28 柳州健科技有限公司 Network data service platform based on local area network
CN105978913A (en) * 2016-07-15 2016-09-28 柳州健科技有限公司 Network service system
CN106131188A (en) * 2016-07-15 2016-11-16 柳州健科技有限公司 LAN system
CN105979014A (en) * 2016-07-15 2016-09-28 柳州健科技有限公司 Network data system based on local area network
CN106131189A (en) * 2016-07-15 2016-11-16 柳州健科技有限公司 The network platform based on LAN
CN105978739A (en) * 2016-07-15 2016-09-28 柳州健科技有限公司 Network data platform based on local area network
CN106131196A (en) * 2016-07-16 2016-11-16 柳州健科技有限公司 The network system with self-learning function based on LAN
CN106101024A (en) * 2016-07-16 2016-11-09 柳州健科技有限公司 There is the LAN data system of data monitoring function
CN106131195A (en) * 2016-07-16 2016-11-16 柳州健科技有限公司 There is the LAN system of data monitoring function
CN106131191A (en) * 2016-07-16 2016-11-16 柳州健科技有限公司 There is the LAN data service system of data monitoring function
CN106131193A (en) * 2016-07-16 2016-11-16 柳州健科技有限公司 There is the local area network services platform of self-learning function
CN106131192A (en) * 2016-07-16 2016-11-16 柳州健科技有限公司 The network system with data monitoring function based on LAN
CN106060083A (en) * 2016-07-16 2016-10-26 柳州健科技有限公司 Network service system with data monitoring function
CN106060081A (en) * 2016-07-16 2016-10-26 柳州健科技有限公司 Network service platform with data monitor function
CN106060082A (en) * 2016-07-16 2016-10-26 柳州健科技有限公司 Local area network-based network service platform with data monitoring function
CN106131194A (en) * 2016-07-16 2016-11-16 柳州健科技有限公司 There is the LAN platform of self-learning function
CN106131190A (en) * 2016-07-16 2016-11-16 柳州健科技有限公司 The network platform with data monitoring function based on LAN
CN107977381B (en) * 2016-10-24 2021-08-27 华为技术有限公司 Data configuration method, index management method, related device and computing equipment
CN110019191A (en) * 2017-09-21 2019-07-16 阿里巴巴集团控股有限公司 Database information processing method and processing device
CN108881147B (en) * 2017-12-29 2019-07-05 视联动力信息技术股份有限公司 A kind of data processing method and device of view networking
CN110134661A (en) * 2019-05-22 2019-08-16 东北大学 A kind of academic big data storage querying method towards facet
CN112306604B (en) * 2020-08-21 2022-09-23 海信视像科技股份有限公司 Progress display method and display device for file transmission
US11658917B2 (en) 2021-04-09 2023-05-23 Tekion Corp Selective offloading of bandwidth to enable large-scale data indexing
CN117596176B (en) * 2024-01-17 2024-04-19 苏州元脑智能科技有限公司 Network state measuring method, device, equipment and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011118427A1 (en) * 2010-03-24 2011-09-29 日本電気株式会社 Query device, query division method, and program for query division

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1143349A1 (en) * 2000-04-07 2001-10-10 IconParc GmbH Method and apparatus for generating index data for search engines
US7716168B2 (en) * 2005-06-29 2010-05-11 Microsoft Corporation Modifying table definitions within a database application
US8341345B2 (en) * 2005-08-08 2012-12-25 International Business Machines Corporation System and method for providing content based anticipative storage management
US7668825B2 (en) * 2005-08-26 2010-02-23 Convera Corporation Search system and method
JP4772569B2 (en) * 2006-04-07 2011-09-14 株式会社日立製作所 System and method for performing directory unit migration in a common namespace
US8214345B2 (en) * 2006-10-05 2012-07-03 International Business Machines Corporation Custom constraints for faceted exploration
CN101523391A (en) * 2006-10-06 2009-09-02 日本电气株式会社 Information search system, information search method, and program
US8341513B1 (en) * 2007-05-21 2012-12-25 Amazon.Com Inc. Incremental updates of items
US7788233B1 (en) * 2007-07-05 2010-08-31 Amazon Technologies, Inc. Data store replication for entity based partition
US20100011368A1 (en) * 2008-07-09 2010-01-14 Hiroshi Arakawa Methods, systems and programs for partitioned storage resources and services in dynamically reorganized storage platforms
JP4762289B2 (en) * 2008-10-01 2011-08-31 株式会社日立製作所 A storage system that controls allocation of storage areas to virtual volumes that store specific pattern data
US9996572B2 (en) * 2008-10-24 2018-06-12 Microsoft Technology Licensing, Llc Partition management in a partitioned, scalable, and available structured storage
CN102405460B (en) * 2009-02-11 2016-05-04 艾梵尼达有限公司 Virtual storage system and operation method thereof
US8250026B2 (en) * 2009-03-06 2012-08-21 Peoplechart Corporation Combining medical information captured in structured and unstructured data formats for use or display in a user application, interface, or view
US20110131202A1 (en) * 2009-12-02 2011-06-02 International Business Machines Corporation Exploration of item consumption by customers
US8930332B2 (en) * 2010-03-12 2015-01-06 Salesforce.Com, Inc. Method and system for partitioning search indexes
US8190593B1 (en) * 2010-04-14 2012-05-29 A9.Com, Inc. Dynamic request throttling
US8386711B2 (en) * 2010-08-10 2013-02-26 Hitachi, Ltd. Management method and management system for computer system
WO2012072879A1 (en) * 2010-11-30 2012-06-07 Nokia Corporation Method and apparatus for updating a partitioned index
WO2012085968A1 (en) * 2010-12-22 2012-06-28 Hitachi, Ltd. Storage apparatus and storage management method
US8620897B2 (en) * 2011-03-11 2013-12-31 Microsoft Corporation Indexing and searching features including using reusable index fields

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011118427A1 (en) * 2010-03-24 2011-09-29 日本電気株式会社 Query device, query division method, and program for query division

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10289603B2 (en) 2012-10-12 2019-05-14 Amazon Technologies, Inc. Dynamic search partitioning

Also Published As

Publication number Publication date
KR20170054579A (en) 2017-05-17
IN2015DN03160A (en) 2015-10-02
JP2015532493A (en) 2015-11-09
EP2907034A1 (en) 2015-08-19
SG10201606363SA (en) 2016-09-29
JP6339155B2 (en) 2018-06-06
JP2017050012A (en) 2017-03-09
AU2013328901A1 (en) 2015-05-14
EP2907034A4 (en) 2016-05-18
CN110096502A (en) 2019-08-06
AU2017245374B2 (en) 2018-08-09
KR101782302B1 (en) 2017-09-26
KR20150066575A (en) 2015-06-16
CN104823169B (en) 2018-12-21
BR112015008146A2 (en) 2017-07-04
AU2017245374A1 (en) 2018-01-18
CA2888116C (en) 2018-03-27
AU2016231488A1 (en) 2016-10-06
SG11201502828PA (en) 2015-05-28
AU2013328901B2 (en) 2016-07-28
AU2016231488B2 (en) 2017-09-21
CN104823169A (en) 2015-08-05
WO2014059394A1 (en) 2014-04-17
CA2888116A1 (en) 2014-04-17

Similar Documents

Publication Publication Date Title
KR101737246B1 (en) Index configuration for searchable data in network
US11595477B2 (en) Cloud storage methods and systems
US11893703B1 (en) Precise manipulation of virtual object position in an extended reality environment
US9411839B2 (en) Index configuration for searchable data in network
US10289603B2 (en) Dynamic search partitioning
US11410403B1 (en) Precise scaling of virtual objects in an extended reality environment
KR102626764B1 (en) Interactive Information Interface
US10848434B2 (en) Performance management for query processing
KR101976816B1 (en) APPARATUS AND METHOD FOR PROVIDING MASH-UP SERVICE OF SaaS APPLICATIONS

Legal Events

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