WO2012127989A1 - Service search apparatus and service search method, content provision apparatus, and computer program - Google Patents

Service search apparatus and service search method, content provision apparatus, and computer program Download PDF

Info

Publication number
WO2012127989A1
WO2012127989A1 PCT/JP2012/054676 JP2012054676W WO2012127989A1 WO 2012127989 A1 WO2012127989 A1 WO 2012127989A1 JP 2012054676 W JP2012054676 W JP 2012054676W WO 2012127989 A1 WO2012127989 A1 WO 2012127989A1
Authority
WO
WIPO (PCT)
Prior art keywords
range
identifier
service
range information
list
Prior art date
Application number
PCT/JP2012/054676
Other languages
French (fr)
Japanese (ja)
Inventor
正文 渡部
弘司 喜田
健太郎 山崎
佑嗣 小林
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Publication of WO2012127989A1 publication Critical patent/WO2012127989A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Definitions

  • the present invention relates to the field of search technology that acquires specific information that matches given attribute information based on a search result of information that represents a broad range, such as a numerical range.
  • the mobile phone operator can collect user information of mobile phones owned by millions, tens of millions, or more users.
  • the user information is information such as real-time position information and situation information of the user (the mobile phone).
  • the mobile phone carrier develops a platform for providing the above-described service to the mobile phone of a specific user that matches the conditions regarding the collected user information. Then, the mobile phone operator can provide the developed platform to the service operator.
  • a database that manages a table including the above-described user information is used to search for a specific user to be provided with a certain service.
  • the search of a specific user is implement
  • the user information is frequently updated with the movement of the user as in the position information. This is because it takes time to update the search index of the database.
  • Non-Patent Document 1 discloses a technique for managing not a user information but a condition for providing a service (hereinafter sometimes referred to as “service providing condition”) inside the server. That is, this server receives user information including the changed position information and situation information one after another when the user's position and situation change. Then, the server determines at high speed using the hash table whether or not the received user information matches each service provision condition registered in advance. That is, the technique disclosed in Non-Patent Document 1 proposes a high-speed matching technique that discards received user information and uses only the determination result using the hash table.
  • service providing condition a condition for providing a service
  • Patent Document 1 a part of bits constituting an IP (Internet Protocol) address is replaced with a fixed value indicating that an arbitrary value may be used, so that a packet including a certain range of IP addresses is used as a search condition.
  • a technique for determining whether or not they match That is, Patent Document 1 discloses a technique for determining whether or not input search key data is data within a specific range using a hash function. That is, the information search apparatus described in Patent Document 1 is associated by replacing data relating to a specific position among data defining a search range with a predetermined fixed value and converting the data with a predetermined hash function. The predetermined information is stored at the address of the first storage means.
  • the information search apparatus replaces the data at the specific position indicated by the position information of the search key data with a fixed value, and stores the data in the first storage unit. Read the information stored at the address. Then, the information search apparatus determines whether the read information is predetermined information. As a result, the information search apparatus determines whether or not the input search key data is data within a specific range.
  • the technique described in Patent Document 1 can be used for communication devices such as routers.
  • Patent Document 2 discloses a technique for searching a huge amount of data at high speed (efficiently) by providing each node on the overlay network with a distributed hash table as route information. According to the technique described in Patent Document 2, a range search can be performed while using a data search method that realizes a constant order and a logarithmic hop number.
  • JP 2009-098782 A (Patent No. 4369505) JP 2008-262507 (Patent No. 4277918)
  • a range on a two-dimensional coordinate plane (for example, latitude and longitude) including the shopping mall is provided as a service provision condition regarding the user location information. Is specified. Furthermore, when changing the sale information of the store in the shopping mall according to the age of the user, the temperature at that time, etc., the age and temperature ranges may be used as service provision conditions. If a general search technique using a hash table is used, a service provision condition that completely matches user information can be retrieved from a large amount of service provision conditions in a short time.
  • the search cannot be performed simply by using a hash table.
  • the service providing conditions representing the range are expanded into a plurality of service providing conditions that specify respective values in the range, and the expanded service providing conditions are hashed. Searching is possible if it is registered in the table.
  • the size of the hash table becomes too large, so there is a possibility that the hash table cannot be stored with the memory capacity installed in a realistic server.
  • Non-Patent Literature 1 is a search including a wild card specification indicating that the attribute may be an arbitrary value by executing condition matching by omitting some of the plurality of attributes constituting the user information. It is a technology corresponding to conditions. For example, consider a case where position information is expressed by two types (two-dimensional) attributes of an X coordinate and a Y coordinate.
  • Patent Document 2 divides the range of the logical identifier.
  • This technology is just an example of a technology that uses a distributed hash table, and it matches the user information from a large number of service provision conditions including suppression of memory usage of the information processing device used for the node and range specification. This is different from the technology that searches for service provision conditions.
  • the present invention provides a service search device that searches for a requested service in a short time from a large amount of service provision conditions including range specification while suppressing the amount of hardware resources used by the information processing device to be used.
  • the main purpose is to provide.
  • a service search apparatus has the following configuration.
  • the service search device includes at least one of the upper limit and the lower limit of the first range included in the service provision condition, or one or more of the first range included in the range formed by the upper limit and the lower limit.
  • the attribute information is included.
  • a second identifier corresponding to the second range is obtained from the range information list, the second identifier assigned to each second range for the one or more second ranges, and the individual identifiers.
  • An identifier correspondence list associated with a first identifier assigned to individually identify one or more of the first ranges, including at least a part of the second range, is obtained.
  • One or more first identifiers corresponding to the obtained second identifier are obtained by searching based on the identifier, and a search means for specifying the service by the obtained first identifier is provided. .
  • a content providing apparatus that is another aspect of the present invention is: The above service search device; Content storage means for storing content associated with the first identifier; Content providing means for providing content acquired from the content storage means to an external device as the object; In response to acquiring the attribute information from the external device, the first identifier for specifying the service to be provided by the service search device is obtained, and the content corresponding to the obtained first identifier is obtained from the content storage unit. Then, the acquired content is provided to the external device by the content providing means.
  • This object can also be achieved by a service search method corresponding to the service search apparatus having the above-described configurations.
  • a computer program that realizes the service search device and the service search method having the above-described configurations by a computer, and a computer-readable storage medium that stores the computer program. Is done.
  • a service search device that searches for a requested service in a short time from a large amount of service provision conditions including range specification while suppressing the amount of hardware resources of the information processing device to be used. Etc. are realized.
  • FIG. 1 is a block diagram showing a configuration of a service search apparatus according to a first exemplary embodiment of the present invention.
  • the service search device 1 is, for example, a server that can communicate with an external device via a communication network (hereinafter simply referred to as “network”) not shown in FIG. 1 and a communication interface.
  • the service search device 1 includes a search unit 11.
  • search unit 11 the operation of the search unit 11 in the present embodiment will be described.
  • the search unit 11 searches the range information list 13 based on the attribute information 12 related to the acquired object, thereby obtaining the second identifier corresponding to the second range in which the attribute information 12 is included in the range information list.
  • the object is a request source (source of request) that requests provision of a certain service.
  • the object is, for example, a user terminal such as a mobile phone, an external apparatus such as an information processing apparatus (computer) such as a server, or information regarding a user who operates the user terminal.
  • the range information list 13 includes individual second ranges for one or more second ranges that match at least one of the upper limit and the lower limit of the first range included in the service provision condition (condition (s) of service).
  • a list (a table such as a database or a lookup table) to which a second identifier for identifying is assigned.
  • the search unit 11 obtains one or more first identifiers corresponding to the obtained second identifier by searching the identifier correspondence list 14 based on the second identifier obtained as described above. And the search part 11 specifies the said certain service with the calculated
  • the identifier correspondence list 14 includes at least a part of the second identifier assigned to each of the second ranges and the individual second ranges for the one or more second ranges. A first identifier assigned to individually identify one or more first ranges is associated.
  • the range information list 13 and the identifier correspondence list 14 may be held inside the own device or in other devices outside the own device, as long as the service search device 1 can refer to them.
  • the range information list 13 is provided with the second identifier for each second range having a range (spread).
  • the identifier correspondence list 14 associates the second identifier and the first identifier assigned to individually identify one or more of the first ranges, each of which includes at least a part of each second range. Has been.
  • FIG. 2 is a block diagram illustrating a configuration of a content distribution server as a service search apparatus according to a second exemplary embodiment of the present invention and a configuration of a content providing system including the content distribution server.
  • the content providing system shown in FIG. 2 roughly includes a content distribution server 100, a content registration terminal 200, and a user terminal 300.
  • the content providing system according to the present embodiment has its user terminal 300 in accordance with “step count” as an attribute (attribute information) received from the user terminal 300 from among a plurality of contents registered in advance in the content distribution server 100. Provide optimal content for (user of the user terminal).
  • the registration of the content in the content distribution server 100 is executed in response to a request from the content registration terminal 200.
  • Transmission of information such as the number of steps (corresponding to user information described later) from the user terminal 300 to the content distribution server 100 is automatically performed by the user terminal 300, for example, at intervals of several minutes, or a predetermined operation by the user is detected. It may be done as it is done.
  • the user terminal 300 presents the received content to the user via a user interface such as a display of the user terminal.
  • the content distribution server 100, the content registration terminal 200, and the user terminal 300 include a general communication interface (not shown in FIG. 2).
  • the user terminal 300 can access the content distribution server 100 via the network 400.
  • the content registration terminal 200 can access the content distribution server 100.
  • the network (communication network) 400 is a general communication line such as, for example, various communication lines owned by a mobile phone operator, the Internet provided by an Internet service provider, or the like.
  • FIG. 2 for example, a case where the content registration terminal 200 also functions as a management terminal for the content distribution server 100 is considered, so that the content registration terminal 200 and the content distribution server 100 are directly connected. Is illustrated.
  • the present system is not limited to such a configuration. That is, the content registration terminal 200 and the content distribution server 100 may be configured to be accessible via a network such as the Internet.
  • the user of the content registration terminal 200 can register content to be provided using the content distribution server 100 in the content distribution server 100.
  • the user of the content registration terminal 200 is, for example, a business operator that provides a content distribution service.
  • the content registration terminal 200 is an information processing apparatus (input device such as a keyboard and mouse not shown in FIG. 2, an output device such as a liquid crystal display, a CPU (Central Processing Unit), a storage device such as a memory and a hard disk drive, etc. Computer).
  • the content registration terminal 200 transmits the content desired to be registered and the conditions for providing the content (service provision conditions) to the content distribution server 100.
  • the content is, for example, various kinds of information created by the business operator to be provided to the user, and includes store guidance, product recommendation, and the like.
  • the service provision condition is information in which a service provision condition ID (service provision condition identifier) is associated with the first range information.
  • the first range information is information representing a range of values (upper limit value and lower limit value) associated with the content specified by the service provision condition ID.
  • the first range information functions as a condition for providing a service specified by the associated service provision condition ID.
  • the service provision condition ID and the first range information constituting the service provision condition will be described later with reference to FIG.
  • the user terminal 300 is, for example, an information processing apparatus (computer) having the same configuration as the content registration terminal 200 or a mobile phone (mobile terminal) having an information processing function.
  • the content distribution server 100 corresponds to the service search device 1 in the first embodiment described above.
  • the content distribution server 100 is an information processing apparatus (server computer) including a database constituted by a storage device such as a hard disk drive (not shown in FIG. 2). That is, the content distribution server 100 implements various functions to be described later by executing a software program (computer program) using hardware resources such as a CPU.
  • a software program computer program
  • FIG. 1 A hardware configuration example of the content distribution server 100 will be described later with reference to FIG. As shown in FIG.
  • the content distribution server 100 includes a service provision condition receiving unit 101, a range information update unit 102, a service provision condition conversion unit 103, a service provision condition registration unit 104, a content holding unit 105, a range information storage unit 106, The service provision condition storage unit 107, the user information conversion unit 108, the content search unit 109, the user information reception unit 110, and the content transmission unit 111 are included.
  • the service provision condition receiving unit 101 receives content and service provision conditions from the content registration terminal 200 that requests registration of the content.
  • the service provision condition receiving unit 101 passes the received service provision condition to the range information update unit 102.
  • the service provision condition is associated with the service provision condition ID and the first range information.
  • the service provision condition receiving unit 101 associates the received content with the service provision condition ID included in the service provision condition, and registers the associated content and the service provision condition ID in the content holding unit 105.
  • the range information storage unit 106 holds one range information list 13 for a certain attribute (“step count” in this embodiment). That is, in the range information storage unit 102, one attribute and the range information list 13 corresponding to the attribute have a one-to-one relationship.
  • FIG. 3 is a diagram conceptually illustrating a range information list in the content providing system according to the second exemplary embodiment of the present invention. In the range information list 13 shown in FIG. 3, “step count” is an attribute (attribute information) as an example in the present embodiment, as described above.
  • the range information list 13 holds a plurality of second range information.
  • lower limit value and “label” are associated with each second range information. That is, in the present embodiment, the lower limit value is adopted as information (second range information) representing the range of the number of steps that is one-dimensional attribute information. Each second range information is given an identifier called “label”. That is, in the example shown in FIG. 3, the individual second range information can be identified by the labels (A to G) and is aligned using the lower limit value. More specifically, in the present embodiment, the number of steps as an attribute cannot be taken as a decimal number or a negative number smaller than 1 for convenience of explanation, and is taken as a natural number including 0.
  • the range of the number of steps to which the identifier of label A is given (second range information) is 0 to 1999.
  • the range of the number of steps given the identifier B is 2000 to 5999.
  • the range information storage unit 106 stores the range information list 13.
  • the range information update unit 102 receives service provision conditions from the service provision condition reception unit 101.
  • the received service provision condition includes the first range information as described above. Therefore, the range information update unit 102 extracts the first range information from the received service provision condition.
  • the first range information is information representing the range of the number of steps.
  • the service provision condition ID and the first range information constituting the service provision condition will be described. FIG.
  • FIG. 6 is a diagram conceptually illustrating service providing conditions in the content providing system according to the second exemplary embodiment of the present invention.
  • a range of steps 2000 to 5999 is associated with the service provision condition ID C1 as a condition when the service C1 is provided.
  • the service provision condition ID C2 is associated with a range of steps 8500 to 11499 as a condition when the service C2 is provided.
  • the range information update unit 102 updates the registered contents of the range information list 13 by executing the following process for the first range information extracted from the service provision conditions.
  • the range information update unit 102 determines whether or not the lower limit value of the extracted first range information exists among the lower limit values of the plurality of second range information registered in the range information list 13 (FIG. 3). Determine. In this determination, when the lower limit value of the first range information being noticed is different from the lower limit value of any second range information, the range information update unit 102 determines the lower limit value of the first range information being noticed. While creating new second range information as the lower limit value, a new name (label) is assigned to the new second range information. Then, the range information update unit 102 registers (adds) the newly created second range information and its label in the range information list 13.
  • the range information updating unit 102 has a value obtained by adding 1 to the upper limit value of the extracted first range information in the plurality of second range information registered in the range information list 13 (FIG. 3). It is determined whether or not. In this determination, when the value obtained by adding 1 to the upper limit value does not exist (is not included) in any second range information, the range information update unit 102 sets the value obtained by adding 1 to the upper limit value to the lower limit value. The new second range information is created, and a new name (label) is given to the new second range information. Then, the range information update unit 102 registers (adds) the newly created second range information and its label in the range information list 13.
  • the “number of steps” handled in the present embodiment is a natural number including 0, not a decimal number or a negative number smaller than 1, for convenience of explanation. That is, the numerical values (steps) represented by the first and second range information are discrete values by one. Therefore, in this embodiment, the granularity of the numerical values represented by the first and second range information is 1. That is, this granularity is attributed to the fact that this embodiment employs the number of steps as an attribute. For this reason, depending on the nature (type) of the attribute to be employed, a finer grain size value or a larger grain size value may be employed as appropriate.
  • the range information update unit 102 determines whether the upper limit value and the lower limit value of the extracted first range information do not overlap with any second range information already registered in the range information list 13. In this determination, when it is determined that there is no overlap with any second range information, the range information update unit 102 obtains new second range information that matches at least one of the upper limit value and the lower limit value of the first range information. While creating, a new name (label) is given to the new second range information. Then, the range information update unit 102 registers (adds) the newly created second range information and its label in the range information list 13.
  • a specific example in this case will be described.
  • the range information updating unit 102 includes any upper range value or lower limit value of the extracted first range information included in at least any second range information already registered in the range information list 13. It is determined whether the upper limit value and the lower limit value of the two-range information do not match. In this determination, when it is determined that the upper limit value and the lower limit value of any of the second range information do not match, the range information update unit 102 selects at least any of the upper limit value and the lower limit value of the extracted first range information.
  • One or more second range information that is already registered in the range information list 13 is divided into a plurality of ranges having ranges that coincide with these.
  • FIG. 7 is a diagram conceptually illustrating an operation when dividing the second range information in the content providing system according to the second exemplary embodiment of the present invention.
  • the second range information with label A having a lower limit value of 0 and the second range information with label B having a lower limit value of 2000 are registered in the existing range information list 13.
  • a case where new second range information having a lower limit value of 1000 is registered is shown.
  • the range information update unit 102 divides the second range information of label A into two pieces of second range information of label A ′ and label Z. In this case, after the division, the lower limit value of the second range information that is the label A ′ is 0, and the lower limit value of the second range information that is the label Z is 1000.
  • the range information update unit 102 updates the range information list 13 by replacing the first second range information of the label A that has been originally registered with the two second range information of the label A ′ and the label Z. To do. Further, this range division will be described based on an example using the above-described symbols.
  • the range information update unit 102 divides the existing second range information [10 to 19] into [10 to 14] and [15 to 19].
  • the updated range information list 13 becomes ⁇ [1 ⁇ ], [5 ⁇ ], [10 ⁇ ], [15 ⁇ ], [20 ⁇ ] ⁇ .
  • the second range information is arranged based on the lower limit value, for example, when adding 21 or more first range information, new second range information [20 to infinity] is added. May be provided.
  • the range information update unit 102 passes the service provision condition received from the service provision condition reception unit 101 to the service provision condition conversion unit 103.
  • the service provision condition conversion unit 103 performs the following processing for each first range information included in the received service provision condition (FIG. 6). Execute. That is, the service provision condition conversion unit 103 includes a plurality of second range information that includes a numerical range from the lower limit value to the upper limit value in the first range information associated with a certain service provision condition ID and is adjacent to each other as the numerical range. Is acquired from the range information list 13 (FIG. 3) held by the range information storage unit 106.
  • the service provision condition conversion unit 103 creates a label list by collecting the labels individually assigned to the acquired second range information as a list.
  • the service provision condition conversion unit 103 performs this series of processes on the individual first range information.
  • the service provision condition conversion unit 103 selects one label from each of a plurality of label lists created for the individual first range information, and combines them to obtain a label combination.
  • the label list is one label set of B, D, E, and F. That is, in this embodiment, since the number of steps is handled as a one-dimensional attribute, only one label list is generated. Therefore, in the present embodiment, label combination processing based on a plurality of label lists can be omitted.
  • This label list corresponds to the labels listed in the left column of the identifier correspondence list (FIG. 4A or FIG. 4B) described later.
  • the service provision condition conversion unit 103 since a two-dimensional attribute (two-dimensional coordinate) is handled, the service provision condition conversion unit 103 generates a plurality of label lists, and individual label lists. Combine the labels contained in. For this reason, in the third embodiment, the label combinations listed in the left column of the identifier correspondence list shown in FIG. 13 are generated.
  • the service provision condition conversion unit 103 includes a service provision condition corresponding to the generated label combination (one label list in the present embodiment) and each label combination (label itself in the present embodiment).
  • the identifier correspondence list 14 is generated by associating with the service provision condition ID.
  • FIGS. 4A and 4B are diagrams conceptually showing an identifier correspondence list in the content providing system according to the second exemplary embodiment of the present invention.
  • FIG. 4A for one or more pieces of second range information, one label that includes each of the second range information and at least a part of the second range information is included.
  • An identifier correspondence list 14 in which service provision condition IDs assigned to individually identify the first range information are associated is shown.
  • FIG. 4B shows the identifier correspondence list 14 in which the service provision condition IDs associated with the same label are combined into one line so that the labels in the identifier correspondence list 14 do not overlap.
  • the service provision condition conversion unit 103 passes the created identifier correspondence list 14 to the service condition registration unit 104 as the converted service provision condition.
  • the service provision condition registration unit 104 stores the identifier correspondence list 14 obtained from the service provision condition conversion unit 103 in the service provision condition storage unit 107.
  • the identifier correspondence list 14 stored in the service provision condition storage unit 107 can be considered as a mapping from a label combination to a service provision condition ID, for example.
  • the identifier correspondence list 14 is a hash table in which at least one service provision condition ID is associated with each hash key based on a plurality of types of first range information for a plurality of hash keys (label combinations). Can also be considered.
  • FIG. 5 is a diagram illustrating user information transmitted by the user terminal in the content providing system according to the second exemplary embodiment of the present invention.
  • the user information according to the present embodiment includes a user ID that is an identifier of a user who uses the user terminal 300 and the number of steps.
  • the number of steps is attribute information related to the user terminal 300 as an external apparatus that has requested provision of the service (attribute value: equivalent to attribute information 12 related to the object in the first embodiment).
  • the user terminal 300 is, for example, a mobile phone provided with a function of measuring the number of steps of the user who owns the user terminal, or a portable information processing apparatus.
  • the user information (FIG. 11) includes a plurality of attribute information (attribute values).
  • the user information converting unit 108 executes the following process on the attribute information included in the user information. That is, the user information conversion unit 108 searches the range information list 13 stored in the range information storage unit 106 by using the acquired attribute information as a search key.
  • the user information conversion unit 108 specifies the second range information including the attribute information from the range information list 13 and acquires the label attached to the specified second range information.
  • the user information conversion unit 108 obtains the label B from the range information list 13 (FIG. 3).
  • the user information conversion unit 108 passes the user ID included in the user information and the label obtained as described above to the content search unit 109 as converted user information.
  • the content search unit 109 searches the identifier correspondence list 14 stored in the service provision condition storage unit 107 by using the acquired label (label combination in the case of the third embodiment) as a search key.
  • the content search unit 109 obtains the service provision condition ID corresponding to the label (label combination) from the identifier correspondence list 14.
  • the content search unit 109 determines that the service provision condition ID “C1” from the identifier correspondence list 14 (FIG. 4A or 4B).
  • the user information includes a plurality of attribute information (attribute values). For this reason, the user information conversion unit 108 obtains labels for a plurality of individual attribute information, and passes the obtained plurality of labels to the content search unit 109 as label combinations.
  • the content search unit 109 obtains a service provision condition ID corresponding to the label combination from the identifier correspondence list 14 (FIG. 13).
  • a service provision condition ID to be referred to when selecting specific content as a service to be provided to the user terminal 300 is identified.
  • the content search unit 109 passes the service provision condition ID and the user ID obtained from the user information conversion unit 108 to the content transmission unit 111.
  • the content transmission unit 111 uses the service provision condition ID obtained from the content search unit 109 as a search key, so that the content with which the service provision condition ID is associated from the contents stored in the content holding unit 105 Get Then, the content transmission unit 111 transmits the acquired content to the user terminal 300 specified by the user ID acquired from the content search unit 109.
  • the processing executed by the content distribution server 100 in this embodiment can be broadly divided into service provision condition registration processing (FIG. 8) and service provision condition search processing (FIG. 9). Hereinafter, these processes will be described in order.
  • FIG. 8 service provision condition registration processing
  • FIG. 9 service provision condition search processing
  • Step S101 The service provision condition receiving unit 101 receives content and service provision conditions (FIG. 6) related to the content from the content registration terminal 200. Then, the service provision condition receiving unit 101 passes the received service provision condition to the range information update unit 102. The service provision condition receiving unit 101 registers the received content in the content holding unit 105 in a state where the received content is associated with the service provision condition ID included in the service provision condition.
  • Step S102 The range information update unit 102 determines whether or not the second range information including the lower limit value of the first range information included in the service provision condition exists in the range information list 13 (FIG. 3). To do.
  • step S104 If the range information update unit 102 determines that it exists in this determination (YES in step S102), the process proceeds to step S104. On the other hand, if range information update unit 102 determines that there is no such information (NO in step S102), the process proceeds to step S103.
  • Step S103 The range information update unit 102 creates new second range information including the lower limit value of the first range information noted in step S102, and uses the created second range information as the new second range information. Is registered in the range information list 13 together with a new label assigned to the.
  • Step S104 The range information update unit 102 has a value obtained by adding 1 to the upper limit value of the first range information noticed in Step S102 in the plurality of second range information registered in the range information list 13. Determine whether or not.
  • step S104 If range information update unit 102 determines that it exists in this determination (YES in step S104), the process proceeds to step S106. On the other hand, if the range information update unit 102 determines that it does not exist in this determination (NO in step S104), the process proceeds to step S105.
  • Step S105 The range information update unit 102 creates new second range information whose lower limit is a value obtained by adding 1 to the upper limit value, and the created second range information is added to the new second range information. Are registered in the range information list 13 together with the new label given in the above.
  • Step S ⁇ b> 106 When the range information update unit 102 completes the processing from Step S ⁇ b> 102 to Step S ⁇ b> 105 described above, it passes the service provision condition received from the service provision condition reception unit 101 to the service provision condition conversion unit 103.
  • Step S107 The service provision condition conversion unit 103 extracts the lower limit value and the upper limit value of the first range information noticed in Step S102, and from the range information list 13 (FIG. 3) held by the range information storage unit 106. Then, a plurality of second range information including a numerical range from the lower limit value to the upper limit value and adjacent to each other is acquired.
  • Step S108 The service provision condition conversion unit 103 creates a label list by collecting the labels individually assigned to the individual second range information acquired in step S107 as a list.
  • Step S109 The service provision condition conversion unit 103 associates the generated label list with the identifier correspondence list 14 by associating the service provision condition ID including the service provision condition corresponding to each label constituting the label list.
  • FIG. 9 is a flowchart showing a service providing condition search process executed by the content distribution server in the content providing system according to the second exemplary embodiment of the present invention.
  • Step S201 The user information receiving unit 110 receives user information from the user terminal 300 that has requested service provision.
  • Step S202 The user information conversion unit 108 searches the range information list 13 stored in the range information storage unit 106 by using the attribute information included in the user information obtained in step S201 as a search key. As a result, the user information conversion unit 108 specifies the second range information including the attribute information from the range information list 13 and displays the label attached to the specified second range information, for example, in the RAM ( It is stored in a temporary storage area such as not shown in FIG.
  • Step S204 The content search unit 109 searches the identifier correspondence list 14 stored in the service provision condition storage unit 107 by using the label temporarily stored in step S203 as a search key.
  • Step S205 The content search unit 109 determines whether or not the service provision condition ID corresponding to the label exists in the identifier correspondence list 14 in the search in step S204. If content determination unit 109 determines that it exists in this determination (YES in step S205), the process proceeds to step S206. On the other hand, if content determination unit 109 determines that there is no such content (NO in step S205), the series of search processing ends.
  • Step S206 When the content search unit 109 detects the service provision condition ID corresponding to the label from the identifier correspondence list 14 in the determination in step S205, the content search unit 109 determines from the detected service provision condition ID and the user information conversion unit 108 The acquired user ID is passed to the content transmission unit 111.
  • the content transmission unit 111 acquires the content corresponding to the acquired service provision condition ID from the content holding unit 105. Then, the content transmission unit 111 transmits the acquired content to the user terminal 300 specified by the user ID acquired from the content search unit 109.
  • the range information list 13 (FIG. 3) includes a second identifier for each piece of second range information (information indicating the range of steps) arranged based on the lower limit value. (Label) is given.
  • the identifier correspondence list 14 (FIGS. 4A and 4B) is assigned to individually identify the second identifier and one or more first ranges, each of which includes at least part of each second range. A first identifier (service provision condition ID) is associated.
  • the service provision condition indicating a case (condition) where the service can be applied is within the range of steps shown in FIG. Even if it has a numerical range (spread), it is not necessary to search for individual values within that range by referring to these lists.
  • the content providing system and the content distribution server 100 according to the present embodiment can suppress the hardware resources (memory usage, etc.) to be used and input a large amount of service provision conditions including range specification.
  • the content corresponding to the request can be searched (specified) in a short time from these service providing conditions and provided to a specific user terminal 300.
  • a third embodiment based on the service search device according to the first embodiment and the content providing system according to the second embodiment will be described.
  • the characteristic part according to the present embodiment will be mainly described.
  • the same reference numerals are assigned to the same configurations as those in the first and second embodiments described above, and redundant description is omitted.
  • the content providing system according to the present embodiment has the same overall configuration as the content providing system (FIG. 2) according to the second embodiment described above.
  • a content providing system that uses the number of steps has been described as an example of one-dimensional attribute information.
  • the user terminal 300 is a mobile phone including a GPS (Global Positioning System) sensor (not shown) or a portable information processing apparatus.
  • the user terminal 300 according to the present embodiment generates user information including current position information (latitude information and longitude information as XY coordinate values) acquired by the GPS sensor. Then, the user terminal 300 transmits the generated user information to the content distribution server 100 at intervals of, for example, several minutes.
  • the user terminal 300 presents the received content to the user via a user interface such as a display of the user terminal.
  • the content registration terminal 200 according to the present embodiment has the same device configuration as the content registration terminal 200 according to the second embodiment described above.
  • the service provision condition transmitted from the content registration terminal 200 to the content distribution server 100 is information in which a service provision condition ID and two types of first range information are associated with each other.
  • FIG. 10 is a diagram conceptually illustrating service providing conditions in the content providing system according to the exemplary third embodiment of the present invention. In the case of the present embodiment, as shown in FIG.
  • the service provision condition ID C1 includes an X coordinate value range 1394605 to 1946629 and a Y coordinate value as a condition when the service C1 is provided. Range 354010 to 354029.
  • the service provision condition ID C2 is associated with the range 1394600 to 1394614 of the X coordinate value and the range 354000 to 354019 of the Y coordinate value as conditions when the service C2 is provided.
  • the user terminal 300 according to the present embodiment has the same device configuration as that of the user terminal 300 in the second embodiment described above, except that the user terminal 300 includes a GPS sensor as described above.
  • FIG. 11 is a diagram illustrating user information transmitted by the user terminal in the content providing system according to the third exemplary embodiment of the present invention.
  • the user information according to the present embodiment includes a user ID that is an identifier of a user who uses the user terminal 300, and an X coordinate value and a Y coordinate value that represent the current position information of the user terminal. .
  • the X coordinate value and the Y coordinate value are attribute information (attribute value: equivalent to the attribute information 12 related to the object in the first embodiment) related to the user terminal 300 as the external apparatus that has requested the provision of the service.
  • the content distribution server 100 has the same device configuration as the content distribution server 100 in the second embodiment described above with reference to FIG.
  • the content distribution server 100 according to the present embodiment corresponds to the service search device 1 according to the first embodiment described above.
  • the service provision condition receiving unit 101 receives content and service provision conditions from the content registration terminal 200 that requests registration of the content.
  • the service provision conditions received in the present embodiment include an X coordinate value range and a Y coordinate value range for one service provision condition ID as described above with reference to FIG.
  • the range information storage unit 106 stores two types of range information lists for the X coordinate and the Y coordinate as the range information list 13.
  • 12A and 12B are diagrams conceptually illustrating a range information list in the content providing system according to the third exemplary embodiment of the present invention.
  • FIG. 12A shows a range information list for the X coordinate
  • FIG. 12B shows a range information list for the Y coordinate.
  • “X coordinate” and “Y coordinate” are attributes (attribute information) as an example in the present embodiment.
  • Each range information list 13 has the same configuration as in the second embodiment.
  • Each of the second range information shown in FIGS. 12A and 12B is associated with a “lower limit value” and a “label”. That is, in the present embodiment, the lower limit value is adopted as information (second range information) representing the range of “X coordinate” and “Y coordinate” that are two-dimensional attribute information.
  • Each second range information is given an identifier called “label” as in the second embodiment.
  • the values that can be taken by the attributes “X coordinate” and “Y coordinate” cannot be taken as decimal numbers smaller than 1 and negative numbers for convenience of explanation, and are regarded as natural numbers including 0.
  • the range information list for the X coordinate and the Y coordinate is not limited to the data structure conceptually shown in FIGS. 12A and 12B described above.
  • a data structure that can be expressed by a so-called binary tree as shown in FIG. 17 can be adopted for the range information list for the X coordinate and the Y coordinate.
  • the range information update unit 102 performs an update process similar to that of the above-described second embodiment on the two types of range information list 13 according to the first range information including the two-dimensional attribute extracted from the service provision condition. Do.
  • the range information update unit 102 passes the service provision condition received from the service provision condition reception unit 101 to the service provision condition conversion unit 103.
  • the service provision condition conversion unit 103 basically performs the same processing as in the second embodiment. However, in this embodiment, since a two-dimensional attribute is handled, a label combination is selected by selecting one label from a plurality of label lists created for each first range information and combining them. Generate. That is, in the present embodiment, the label combinations listed in the left column of the identifier correspondence list shown in FIG. 13 are generated.
  • FIG. 13 is a diagram conceptually showing an identifier correspondence list in the content providing system according to the third exemplary embodiment of the present invention. In the identifier correspondence list 14 shown in FIG. 13, for a plurality of keys (label combinations) in which two types (X coordinate and Y coordinate) of second range information are combined with labels given for each type.
  • FIG. 14 is a diagram illustrating a relationship between a two-dimensional service provision condition and a label combination in the third exemplary embodiment of the present invention. That is, in the example shown in FIG. 14, the labels (A to E) given in the range information list 13 for X coordinate shown in FIG.
  • the service provision condition conversion unit 103 generates the identifier correspondence list 14 by associating the generated label combination with at least one service provision condition ID given to the first range information including the label combination. To do. Then, the service provision condition conversion unit 103 passes the created identifier correspondence list 14 to the service condition registration unit 104 as the converted service provision condition.
  • the service provision condition registration unit 104 stores the identifier correspondence list 14 obtained from the service provision condition conversion unit 103 in the service provision condition storage unit 107.
  • the user information receiving unit 110 passes the received user information to the user information conversion unit 108.
  • the user information converting unit 108 uses the attribute information (X coordinate value and Y coordinate value) included in the user information as a search key, thereby storing range information.
  • the range information list 13 (FIGS. 12A and 12B) stored in the unit 106 is searched.
  • the user information conversion unit 108 specifies the second range information including the attribute information from the range information list 13 and acquires the label attached to the specified second range information.
  • the user information conversion unit 108 acquires the label B and the label c as a label combination from the range information list 13 (FIGS. 12A and 12B).
  • the user information conversion unit 108 passes the user ID included in the user information and the label combination obtained as described above to the content search unit 109 as converted user information.
  • the content search unit 109 searches the identifier correspondence list 14 (FIG.
  • the content search unit 109 obtains the service provision condition ID corresponding to the label combination from the identifier correspondence list 14.
  • the content search unit 109 since the label combinations obtained from the user information conversion unit 108 are “B” and “c”, the content search unit 109 provides services “C1” and “C2” from the identifier correspondence list 14. Get the condition ID. That is, the content search unit 109 searches the two types of range information list 13 (FIGS. 12A and 12B) in response to acquiring the two types of attribute information, thereby obtaining a label combination consisting of two types of labels. Ask.
  • the content search unit 109 searches the identifier correspondence list 14 (FIG.
  • the content to be provided to the user terminal 300 is specified.
  • a service provision condition ID to be referred to when selecting specific content as a service to be provided to the user terminal 300 is identified.
  • the content search unit 109 passes the service provision condition ID and the user ID obtained from the user information conversion unit 108 to the content transmission unit 111.
  • the content transmission unit 111 performs the same processing as in the second embodiment described above, thereby obtaining the user ID obtained from the content search unit 109 for the content associated with the service provision condition ID specified by the content search unit 109.
  • FIG. 15A, FIG. 15B, and FIG. 16 are flowcharts showing service provision condition registration processing executed by the content distribution server in the content provision system according to the third exemplary embodiment of the present invention.
  • Step S301 The service provision condition receiving unit 101 receives content and service provision conditions (FIG. 10) related to the content from the content registration terminal 200.
  • the service provision condition receiving unit 101 passes the received service provision condition to the range information update unit 102.
  • the service provision condition receiving unit 101 registers the received content in the content holding unit 105 in a state associated with the service provision condition ID included in the service provision condition.
  • Step S302 The range information update unit 102 receives a service provision condition from the service provision condition reception unit 101, and substitutes 0 for a variable i.
  • step S303 If the range information update unit 102 determines that it exists in this determination (YES in step S303), the process proceeds to step S305. On the other hand, if range information update unit 102 determines that it does not exist in this determination (NO in step S305), the process proceeds to step S304.
  • Step S304 The range information update unit 102 creates new second range information including the lower limit value i of the first range information noted in step S303, and uses the created second range information as the new second range. A new label added to the information is registered in the range information list i.
  • Step S305 The range information update unit 102 has a value obtained by adding 1 to the upper limit value i of the first range information noted in step S303 in the plurality of second range information registered in the range information list 13 Judge whether to do.
  • step S305 If range information update unit 102 determines that it exists in this determination (YES in step S305), the process proceeds to step S307. On the other hand, if range information update unit 102 determines that it does not exist in this determination (NO in step S305), the process proceeds to step S306.
  • Step S306 The range information update unit 102 creates new second range information whose lower limit is a value obtained by adding 1 to the upper limit value i, and uses the created second range information as the new second range information. It is registered in the range information list i together with the new label assigned to it.
  • Step S307 The range information update unit 102 adds 1 to the variable i and determines whether the number of first range information included in the service provision condition obtained in step S301 is equal to or less than the variable i.
  • range information update unit 102 advances the process to step S308. On the other hand, if the determination result is “false” (YES in step S307), range information update unit 102 returns the process to step S303.
  • Step S310 The service provision condition conversion unit 103 extracts the attribute information j, the lower limit value j, and the upper limit value j from the first range information j.
  • the service provision condition conversion unit 103 includes a numerical range from the lower limit value j to the upper limit value j from the range information list j that the range information storage unit 106 holds in association with the attribute information j, and A plurality of second range information adjacent to each other is acquired.
  • Step S311 The service provision condition conversion unit 103 extracts labels from the plurality of acquired second range information, and creates a label list j including the extracted labels.
  • the lower limit value of the first range information (X coordinate) in the service provision condition C1 is 1394605, and the upper limit value is 1394629.
  • the service providing condition conversion unit 103 acquires ⁇ 1394605, B ⁇ , ⁇ 1394610, C ⁇ , and ⁇ 13949415, D ⁇ as the second range information from the range information list (X coordinate). Then, the service provision condition conversion unit 103 creates a label list ⁇ B, C, D ⁇ by collecting the labels individually assigned to the second range information as a list. The service provision condition conversion unit 103 performs similar processing for the service provision conditions C2 and C3.
  • the lower limit value of the first range information (Y coordinate) in the service provision condition C1 is 354010, and the upper limit value is 354029.
  • the service provision condition conversion unit 103 acquires ⁇ 354010, c ⁇ and ⁇ 354005, d ⁇ as the second range information from the range information list (Y coordinate). Then, the service provision condition conversion unit 103 creates a label list ⁇ c, d ⁇ by collecting the labels individually assigned to the second range information as a list.
  • Step S312 The service provision condition conversion unit 103 adds 1 to the variable j.
  • Step S313 The service provision condition conversion unit 103 determines whether the number of first range information included in the service provision condition received from the range information update unit 102 is equal to or less than the variable j. If the determination result is “true” (NO in step S313), service provision condition converting unit 103 advances the process to step S314.
  • Step S314 The service provision condition conversion unit 103 generates all combinations obtained by extracting one label from all label lists created by the above-described processing. For example, the service provision condition conversion unit 103 refers to the label list ⁇ B, C, D ⁇ corresponding to the X coordinate of the service provision condition C1 and the label list ⁇ c, d ⁇ corresponding to the Y coordinate. From each of these label lists, one label is taken out as a combination.
  • the service provision condition conversion unit 103 includes a plurality of ⁇ B, c ⁇ , ⁇ B, d ⁇ , ⁇ C, c ⁇ , ⁇ C, d ⁇ , ⁇ D, c ⁇ , and ⁇ D, d ⁇ . Create a label combination.
  • the service provision condition conversion unit 103 performs similar processing for the service provision conditions C2 and C3.
  • Step S315 The service provision condition conversion unit 103 substitutes 0 for the variable k.
  • the service provision condition registration unit 104 registers the label combination k and the service provision condition ID obtained from the service provision condition conversion unit 103 in the service provision condition storage unit 107.
  • Step S317 The service provision condition conversion unit 103 determines whether the number of generated label combinations is equal to or less than the variable k. If the determination result is “true” (NO in step S317), service provision condition conversion unit 103 ends the process. On the other hand, when the determination result is “false” (YES in step S317), service providing condition conversion unit 103 returns the process to step S316.
  • FIG. 16 is a flowchart showing a service providing condition search process executed by the content distribution server in the content providing system according to the third exemplary embodiment of the present invention.
  • Step S401 In response to receiving user information (FIG. 11) from the user terminal 300, the user information receiving unit 110 passes the received user information to the user information converting unit.
  • Step S402 The user information conversion unit 108 obtains user information from the user information reception unit 110, and substitutes 0 for a variable i.
  • Step S403 The user information conversion unit 108 extracts a user ID and attribute information i from the acquired user information. Then, the user information conversion unit 108 determines the attribute name (“X coordinate” and “Y coordinate” as coordinate types in this embodiment) i and attribute value i (in this embodiment as coordinate values) from the extracted attribute information i. "X coordinate value” and "Y coordinate value”). Further, the user information conversion unit 108 obtains the range information list i specified by the attribute name i from the range information storage unit 106.
  • Step S404 The user information conversion unit 108 obtains second range information i that includes the attribute value i in the numerical range from the range information list i obtained in step S403.
  • Step S405 The user information conversion unit 108 stores the label i associated with the second range information i obtained in step S404 in a temporary storage area such as a RAM (not shown in FIG. 2).
  • Step S406 The user information conversion unit 108 adds 1 to the variable i.
  • Step S407 The user information conversion unit 108 determines whether or not the number of attributes included in the user information obtained in step S401 is equal to or less than the variable i. If the determination result is “true” (YES in step S407), user information conversion unit 108 advances the process to step S408.
  • Step S408 The user information conversion unit 108 passes the user ID included in the obtained user information and the label combination including a plurality of labels temporarily stored in step S405 to the content search unit 109.
  • the content search unit 109 is stored in association with the label combination from the identifier correspondence list (FIG. 13) stored in the service provision condition storage unit 107.
  • the service provision condition ID is searched.
  • Step S409 When the service provision condition ID is found as a result of the search in step S408 (YES in step S409), the content search unit 109 sends the user ID and the service provision condition ID to the content transmission unit 111. To pass. On the other hand, when the service provision condition ID cannot be found in the search in step S408 (NO in step S409), content search unit 109 ends the process.
  • the processing configuration is such that updating of the range information list and registration in the service provision condition storage unit 107 are executed in response to one service provision condition being input.
  • the present invention is not limited to such a processing configuration.
  • a configuration may be adopted.
  • the range information list 13 includes individual second range information (X-coordinate value range, Y-coordinate value range) arranged based on the lower limit value.
  • a second identifier (label) is given to (range).
  • the identifier correspondence list 14 (FIG.
  • the content distribution server 100 includes the second identifier and a first identifier assigned to individually identify one or more first ranges, each of which includes at least part of each second range. (Service provision condition ID) is associated.
  • the content distribution server 100 has two types of two-dimensional (two-dimensional) service provision conditions shown in FIG. ), Even if it has a numerical range (spread) such as a range of coordinate values, it is not necessary to search individual values within the range by referring to these lists. In other words, the content providing system and the content distribution server 100 according to the present embodiment can suppress the hardware resources (memory usage, etc.) to be used and input a large amount of service provision conditions including range specification.
  • the content corresponding to the request can be searched (specified) in a short time from these service providing conditions and provided to a specific user terminal 300.
  • a search process using a hash table only a determination can be made based on a key value registered in the hash table and an exact match corresponding to the key value.
  • the content distribution server 100 service search device 1 according to the second and third embodiments described above, the individual labels registered in the label (label combination) list and the individual lists By using a table (identifier correspondence list 14) in which corresponding service provision IDs are registered, a range corresponding to each individual label can be searched at a time.
  • the present invention has been described by taking the configuration in which the content distribution server 100 generates and stores the range information list 13 and the identifier correspondence list 14 as an example. .
  • the present invention is not limited to such a configuration, and may be a configuration in which the content distribution server 100 refers to at least one of the range information list 13 and the identifier correspondence list 14 from an external device.
  • the present invention has been described by taking as an example a configuration in which content requested from a certain user terminal 300 is provided to the user terminal itself.
  • FIG. 18 shows hardware of a computer (information processing apparatus) capable of realizing the service search apparatus 1 according to the first exemplary embodiment of the present invention and the content distribution server 100 according to the second and third embodiments. It is a figure explaining composition exemplarily. 18 includes a CPU 1001, a communication interface (I / F) 1002, a ROM (Read Only Memory) 1003, a RAM (Random Access Memory) 1004, and a hard disk drive (HD) 1005. Are connected via a bus 1006.
  • a CPU 1001 a communication interface (I / F) 1002
  • ROM Read Only Memory
  • RAM Random Access Memory
  • HD hard disk drive
  • the communication interface 1002 is a general communication unit that implements communication via the network 400 in the second and third embodiments described above.
  • the CPU 1001 governs the overall operation of the computer 1000 as the service search apparatus 1 or the content distribution server 100.
  • the present invention described with reference to the first to third embodiments described above can realize the functions of the flowcharts (FIGS. 8, 9, 15A, 15B, and 16) referred to in the description. After the computer program is supplied to the computer 1000 shown in FIG. 18, the computer program is read into the CPU 1001 of the computer 1000 and executed.
  • the computer program supplied to the computer 1000 is stored in a non-transitory storage device (storage medium) such as a readable / writable temporary storage memory (1004) or a hard disk device (1005). Store it.
  • a non-transitory storage device such as a readable / writable temporary storage memory (1004) or a hard disk device (1005).
  • the computer program according to each of the flowcharts includes the service provision condition reception unit 101, the range information update unit 102, the service provision condition conversion unit 103, and the service provision condition registration described in the second and third embodiments.
  • Each function of the unit 104, the user information conversion unit 108, the content search unit 109, the user information reception unit 110, and the content transmission unit 111 is represented.
  • the general communication function executed by the communication interface 1002 provided as hardware is a computer program that is excluded.
  • the search unit 11 described in the first embodiment can also be represented by a computer program.
  • the computer program corresponds to, for example, a program group stored in the hard disk drive 1005.
  • the computer program can be supplied to the apparatus from the outside through various recording media such as a CD-ROM or from the outside via a communication line such as the Internet.
  • a general procedure can be adopted, such as a downloading method.
  • the present invention can be understood to be configured by a computer-readable storage medium in which the code of the computer program or the code is recorded.
  • the number of steps is adopted as an example of a one-dimensional attribute value (attribute information).
  • the X coordinate value and the Y coordinate value are adopted as the two-dimensional attribute value.
  • These attribute values are merely illustrative examples for explaining the present invention, and the present invention is not limited to these attribute values and the number of dimensions. That is, the present invention can also be applied to n-dimensional (n is a natural number) attribute values.
  • n is a natural number
  • various types of values (information) such as temperature, humidity, blood pressure, body weight, gender, altitude, remaining battery level, etc. may be adopted depending on the search target. it can.
  • the present invention has been described by taking a service that provides a search result to a user who uses a user terminal as an example.
  • the present invention is not limited to providing a service to a person (user) as in these embodiments.
  • the present invention is also applicable to a so-called M2M (machine to machine) system in which one information processing apparatus provides a search result to a request that is automatically issued while one information processing apparatus is executing a process. can do.
  • M2M machine to machine
  • the present invention can also be applied to a case where the information processing apparatus that should provide the search result is provided to another information processing apparatus different from the information processing apparatus that issued the request.
  • the present invention has been described above using the above-described embodiment as an exemplary example.
  • Service search device 11 Search part 12 Object attribute information 13 Range information list 14 Identifier correspondence list 100 Content distribution server 101 Service provision condition receiving part 102 Range information update part 103 Service provision condition conversion part 104 Service provision condition registration part 105 Content holding Unit 106 Range information storage unit 107 Service provision condition storage unit 108 User information conversion unit 109 Content search unit 110 User information reception unit 111 Content transmission unit 200 Content registration terminal 300 User terminal 400 Communication network 1000 Computer 1001 CPU 1002 Communication interface (I / F) 1003 ROM 1004 RAM 1005 Hard disk drive (HD) 1006 Bus

Abstract

Provided is a service search apparatus that quickly searches for services from among service offering conditions including range specifications. A search means of the service search apparatus searches a range information list on the basis of attribute information relating to an object that has requested the provision of service, and thereby obtains a second identifier. This range information list is a list in which second identifiers are assigned that individually identify each of one or more second ranges that either match at least one of an upper limit and lower limit of a first range included in the service offering conditions or are included in a range between the upper limit and the lower limit. The search means searches an identifier correspondence list on the basis of the obtained second identifiers to obtain a first identifier, and identifies the service. This identifier correspondence list is a list wherein a correspondence is assigned between the second identifiers assigned to individual second ranges of the aforementioned one or more second ranges and the first identifiers assigned to individually identify the one or more first ranges part of which at least includes the individual second ranges.

Description

サービス検索装置及びサービス検索方法、コンテンツ提供装置、並びにコンピュータ・プログラムService search device, service search method, content providing device, and computer program
 本発明は、与えられた属性情報に合致する特定情報を、例えば数値範囲のように、広がりを持つ範囲を表す情報の検索結果に基づき取得する検索技術の分野に関する。 The present invention relates to the field of search technology that acquires specific information that matches given attribute information based on a search result of information that represents a broad range, such as a numerical range.
 近年、GPS(Global Positioning System)による位置測位機能を備えた携帯電話や、RFID(Radio Frequency IDentification)タグを用いたシステムが普及している。これにより、ユーザの位置情報を略リアルタイムに把握することが容易になっている。また、携帯電話を用いて利用可能なプレゼンスサービス、インスタントメッセージングサービス等の普及により、ユーザの気分や周囲の環境などの状況情報を、略リアルタイムに、例えばユーザ間において交換することもできる。
 これに伴い、変化していくユーザの状況に応じて、そのユーザに最適なサービスを提供する技術が開発されている。このようなサービスは、コンテキストアウェアサービス(Context−Aware Service)、或いは状況適応型サービス等と称されている。
 具体的な例として、様々なサービス事業者は、ユーザのリアルタイムな状況情報に基づいて、そのユーザに対してタイムリーに、行動支援、コンテンツ推薦、広告配信等を行うサービスを検討している。即ち、上記サービスの一例としては、ユーザが、あるショッピングモールに近づくのに応じて、そのユーザが所有する携帯電話の画面に、そのショッピングモールにて行われているバーゲンセールの案内を表示する行動支援サービス等が挙げられる。
 また、携帯電話事業者は、数百万、数千万、或いはそれ以上の数のユーザが所有する携帯電話のユーザ情報を収集することができる。ここでユーザ情報とは、当該ユーザ(当該携帯電話)のリアルタイムな位置情報や状況情報等の情報である。このため、係る携帯電話事業者は、収集したユーザ情報に関する条件に合致する特定ユーザの携帯電話に対して、上述したようなサービスを提供するためのプラットフォームを開発する。そして、係る携帯電話事業者は、開発したプラットフォームを、サービス事業者に提供することができる。
 このようなプラットフォームにおいて、あるサービスの提供対象となる特定ユーザの検索には、例えば、上述したユーザ情報を含むテーブルを管理するデータベースが利用される。そして、特定ユーザの検索は、例えば、係るデータベースに対して、当該ユーザ情報に関する条件に基づいて一定時間毎にクエリを送信し、その条件に合致する特定ユーザのリストを取得するシステム構成によって実現することができる。
 しかしながら、このようなシステム構成では、タイムリーに検索結果を得ることが難しい場合がある。その場合とは、例えば、位置情報のようにユーザの移動と共に頻繁にユーザ情報が更新される場合である。これは、当該データベースの検索インデックスの更新に時間を要するためである。特に、このようなシステム構成は、数千万人分のユーザ情報が頻繁に更新される状態が想定される携帯電話事業者には適さない。
 非特許文献1は、ユーザ情報ではなく、サービスを提供する際の条件(以下、「サービス提供条件」と称する場合がある)をサーバ内部で管理する技術を開示する。即ち、このサーバは、ユーザの位置や状況などが変化したときに、その変化した位置情報や状況情報を含むユーザ情報を次々に受信する。そして、係るサーバは、受信したユーザ情報が、予め登録した個々のサービス提供条件に合致するかどうかを、ハッシュテーブルを利用して高速に判定する。即ち、非特許文献1に開示された技術は、受信したユーザ情報は破棄し、係るハッシュテーブルを利用した判定結果のみを利用する高速なマッチング技術を提案している。
 特許文献1は、IP(Internet Protocol)アドレスを構成するビットのうちの一部を、任意の値でよいという意味を示す固定値に置き換えることにより、ある範囲のIPアドレスを含むパケットが検索条件に合致するかどうかを判定する技術を開示する。
 即ち、特許文献1は、入力した検索キーデータが特定の範囲内のデータであるか否かを、ハッシュ関数を用いて判定する技術を開示する。即ち、特許文献1に記載された情報検索装置は、検索範囲を規定するデータのうち、特定位置に関するデータを、予め定められた固定値に置き換え、所定のハッシュ関数によって変換することにより対応付けられた第1記憶手段のアドレスに、所定の情報を記憶する。次に、係る情報検索装置は、検索対象とする検索キーデータが入力された際に、当該検索キーデータの位置情報によって示される特定位置のデータを固定値に置き換えて、当該第1記憶手段のアドレスに記憶された情報を読み出す。そして、係る情報検索装置は、読み出された情報が所定の情報であるか否かを判定する。これにより、係る情報検索装置は、入力された検索キーデータが特定の範囲内のデータであるか否かを判定する。この特許文献1に記載された技術は、ルータ等の通信機器に利用できる。
 特許文献2は、オーバレイネットワーク上の各ノードに、経路情報として分散ハッシュテーブルを持たせることにより、膨大なデータを高速(効率的)に検索する技術を開示する。特許文献2に記載された技術によれば、定数次数と対数ホップ数を実現するデータ検索方式でありながら、範囲検索を行うことができる。
In recent years, mobile phones having a positioning function using GPS (Global Positioning System) and systems using RFID (Radio Frequency IDentification) tags have become widespread. This makes it easy to grasp the user's position information in substantially real time. In addition, with the spread of presence services, instant messaging services, and the like that can be used using mobile phones, status information such as the user's mood and surrounding environment can be exchanged between users, for example, in substantially real time.
Along with this, technologies for providing optimal services to users according to changing user situations have been developed. Such a service is referred to as a context-aware service or a situation-adaptive service.
As a specific example, various service providers are considering services that perform action support, content recommendation, advertisement distribution, etc. in a timely manner based on real-time status information of users. In other words, as an example of the above service, as a user approaches a shopping mall, an action of displaying a bargain sale information being performed at the shopping mall on the mobile phone screen owned by the user. Support services are listed.
In addition, the mobile phone operator can collect user information of mobile phones owned by millions, tens of millions, or more users. Here, the user information is information such as real-time position information and situation information of the user (the mobile phone). For this reason, the mobile phone carrier develops a platform for providing the above-described service to the mobile phone of a specific user that matches the conditions regarding the collected user information. Then, the mobile phone operator can provide the developed platform to the service operator.
In such a platform, for example, a database that manages a table including the above-described user information is used to search for a specific user to be provided with a certain service. And the search of a specific user is implement | achieved by the system structure which transmits a query for every fixed time based on the conditions regarding the said user information with respect to the database concerned, for example, and acquires the list | wrist of the specific user which meets the conditions be able to.
However, with such a system configuration, it may be difficult to obtain search results in a timely manner. In this case, for example, the user information is frequently updated with the movement of the user as in the position information. This is because it takes time to update the search index of the database. In particular, such a system configuration is not suitable for a mobile phone operator assumed to be frequently updated with user information for tens of millions.
Non-Patent Document 1 discloses a technique for managing not a user information but a condition for providing a service (hereinafter sometimes referred to as “service providing condition”) inside the server. That is, this server receives user information including the changed position information and situation information one after another when the user's position and situation change. Then, the server determines at high speed using the hash table whether or not the received user information matches each service provision condition registered in advance. That is, the technique disclosed in Non-Patent Document 1 proposes a high-speed matching technique that discards received user information and uses only the determination result using the hash table.
In Patent Document 1, a part of bits constituting an IP (Internet Protocol) address is replaced with a fixed value indicating that an arbitrary value may be used, so that a packet including a certain range of IP addresses is used as a search condition. Disclosed is a technique for determining whether or not they match.
That is, Patent Document 1 discloses a technique for determining whether or not input search key data is data within a specific range using a hash function. That is, the information search apparatus described in Patent Document 1 is associated by replacing data relating to a specific position among data defining a search range with a predetermined fixed value and converting the data with a predetermined hash function. The predetermined information is stored at the address of the first storage means. Next, when the search key data to be searched is input, the information search apparatus replaces the data at the specific position indicated by the position information of the search key data with a fixed value, and stores the data in the first storage unit. Read the information stored at the address. Then, the information search apparatus determines whether the read information is predetermined information. As a result, the information search apparatus determines whether or not the input search key data is data within a specific range. The technique described in Patent Document 1 can be used for communication devices such as routers.
Patent Document 2 discloses a technique for searching a huge amount of data at high speed (efficiently) by providing each node on the overlay network with a distributed hash table as route information. According to the technique described in Patent Document 2, a range search can be performed while using a data search method that realizes a constant order and a logarithmic hop number.
特開2009−098782号(特許第4369505号)公報JP 2009-098782 A (Patent No. 4369505) 特開2008−262507号(特許第4277918号)公報JP 2008-262507 (Patent No. 4277918)
[発明が解決しようとする課題]
 上述したショッピングモールに関する例において、セール情報を表示する広告配信サービスを実現するためには、ユーザの位置情報に関するサービス提供条件として、ショッピングモールを含む二次元座標平面上(例えば緯度及び経度)の範囲を指定する。さらにユーザの年齢、その時点の気温などに応じて当該ショッピングモール内の店舗のセール情報を変える場合は、サービス提供条件として、前記年齢や気温の範囲も利用するとよい。
 ハッシュテーブルを用いた一般的な検索技術を利用すれば、大量のサービス提供条件の中から、ユーザ情報と完全一致するサービス提供条件を、短時間で検索することができる。しかし、サービス提供条件がユーザ情報の範囲を表す場合は、単純にハッシュテーブルを用いるだけでは検索ができない。この場合、係る一般的な検索技術においては、前記範囲を表すサービス提供条件を、前記範囲内のそれぞれの値を指定する複数のサービス提供条件に展開し、前記展開した複数のサービス提供条件をハッシュテーブルに登録すれば、検索は可能となる。しかし、このような一般的な手順によって検索する場合は、ハッシュテーブルのサイズが大きくなりすぎるため、現実的なサーバに搭載されているメモリ容量では前記ハッシュテーブルを格納できない虞れがある。
 このような背景から、使用する情報処理装置(サーバ等のコンピュータ)のメモリ使用量を抑えつつ、範囲指定を含む大量のサービス提供条件の中から、ユーザ情報と合致するサービス提供条件を、短時間で検索する技術を実現することが課題となっている。
 非特許文献1による技術は、ユーザ情報を構成する複数の属性のうち一部を省略して条件マッチングを実行することにより、前記属性が任意の値でよいという意味を示すワイルドカード指定を含む検索条件に対応する技術である。例えば、位置情報がX座標とY座標の2種類(2次元)の属性で表現されている場合を考える。この場合、これらの属性と当該検索条件との完全一致を判定するか、当該2種類の属性を判定に使用しないか、の何れかでしか、ユーザの位置情報が当該検索条件に合致するかどうかを判定することができない。このため、座標平面上の領域のように、属性が採り得る値のうちの一部範囲を指定する検索条件には対応できない。
 特許文献2には、オーバレイネットワーク上の各ノードのうち、検索対象である論理識別子の範囲に属する論理識別子を担う特定ノードに対して、検索メッセージを高速に配布すべく、先頭ビットの違いによって論理識別子の範囲を分割しながら、左ビットシフトを実行する。これにより、特許文献2に記載された技術は、係る論理識別子の範囲を分割する。この技術は、単に分散ハッシュテーブルを利用する技術の一例であって、ノードに使用する情報処理装置のメモリ使用量の抑制や、範囲指定を含む大量のサービス提供条件の中から、ユーザ情報と合致するサービス提供条件を検索する技術とは異なる。
 そこで、本発明は、使用する情報処理装置のハードウェア資源の使用量を抑えつつ、範囲指定を含む大量のサービス提供条件の中から、要求されたサービスを短時間で検索するサービス検索装置等を提供することを主たる目的とする。
[Problems to be solved by the invention]
In the above-described example regarding the shopping mall, in order to realize the advertisement distribution service that displays the sale information, a range on a two-dimensional coordinate plane (for example, latitude and longitude) including the shopping mall is provided as a service provision condition regarding the user location information. Is specified. Furthermore, when changing the sale information of the store in the shopping mall according to the age of the user, the temperature at that time, etc., the age and temperature ranges may be used as service provision conditions.
If a general search technique using a hash table is used, a service provision condition that completely matches user information can be retrieved from a large amount of service provision conditions in a short time. However, when the service provision condition represents the range of user information, the search cannot be performed simply by using a hash table. In this case, in such a general search technique, the service providing conditions representing the range are expanded into a plurality of service providing conditions that specify respective values in the range, and the expanded service providing conditions are hashed. Searching is possible if it is registered in the table. However, when searching according to such a general procedure, the size of the hash table becomes too large, so there is a possibility that the hash table cannot be stored with the memory capacity installed in a realistic server.
From such a background, while reducing the amount of memory used by the information processing apparatus (computer such as a server) to be used, a service provision condition that matches the user information is quickly selected from a large number of service provision conditions including range designation. It has become a challenge to realize the technology to search with.
The technique according to Non-Patent Literature 1 is a search including a wild card specification indicating that the attribute may be an arbitrary value by executing condition matching by omitting some of the plurality of attributes constituting the user information. It is a technology corresponding to conditions. For example, consider a case where position information is expressed by two types (two-dimensional) attributes of an X coordinate and a Y coordinate. In this case, whether or not the position information of the user matches the search condition only by determining whether these attributes and the search condition are completely matched or not using the two types of attributes for the determination. Cannot be determined. For this reason, it is not possible to deal with a search condition that specifies a partial range of values that an attribute can take, such as an area on a coordinate plane.
Japanese Patent Laid-Open No. 2004-151867 discloses that a search message is distributed at a high speed to a specific node having a logical identifier belonging to a range of logical identifiers to be searched among the nodes on the overlay network. A left bit shift is performed while dividing the range of identifiers. Thereby, the technique described in Patent Document 2 divides the range of the logical identifier. This technology is just an example of a technology that uses a distributed hash table, and it matches the user information from a large number of service provision conditions including suppression of memory usage of the information processing device used for the node and range specification. This is different from the technology that searches for service provision conditions.
Accordingly, the present invention provides a service search device that searches for a requested service in a short time from a large amount of service provision conditions including range specification while suppressing the amount of hardware resources used by the information processing device to be used. The main purpose is to provide.
 上記の目的を達成すべく、本発明に係るサービス検索装置は、以下の構成を備えることを特徴とする。
 即ち、本発明に係るサービス検索装置は、サービス提供条件に含まれる第1範囲の上限および下限のうち少なくとも何れかと一致する、或いは該上限と該下限とがなす範囲に含まれる1つ以上の第2範囲に対して、個々の第2範囲を識別する第2識別子が付与された範囲情報リストを、サービスの提供を要求したオブジェクトに関する属性情報に基づいて検索することにより、その属性情報が含まれる前記第2範囲に対応する第2識別子を、該範囲情報リストから求めると共に、前記1つ以上の第2範囲を対象として、個々の第2範囲に付与された前記第2識別子と、該個々の第2範囲を少なくとも一部に含むところの、1つ以上の前記第1範囲を個別に識別すべく付与された第1識別子とが関連付けされた識別子対応リストを、該求めた第2識別子に基づいて検索することにより、前記求めた第2識別子に対応する1つ以上の前記第1識別子を求め、求めた第1識別子によって、前記サービスを特定する検索手段を備えることを特徴とする。
 また、本発明の他の見地であるコンテンツ提供装置は、
 上記のサービス検索装置と、
 前記第1識別子に関連付けされたコンテンツを記憶するコンテンツ記憶手段と、
 前記コンテンツ記憶手段から取得したコンテンツを、前記オブジェクトとしての外部装置に提供するコンテンツ提供手段とを備え、
 前記外部装置から前記属性情報を取得するのに応じて前記サービス検索装置によって提供すべきサービスを特定する前記第1識別子を求め、求めた前記第1識別子に対応するコンテンツを前記コンテンツ記憶手段から取得し、取得したコンテンツを、前記コンテンツ提供手段によって前記外部装置に提供することを特徴とする。
 尚、同目的は、上記の各構成を有するサービス検索装置に対応するサービス検索方法によっても達成される。
 また、同目的は、上記の各構成を有するサービス検索装置、並びにサービス検索方法を、コンピュータによって実現するコンピュータ・プログラム、及びそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
 上記の本発明によれば、使用する情報処理装置のハードウェア資源の使用量を抑えつつ、範囲指定を含む大量のサービス提供条件の中から、要求されたサービスを短時間で検索するサービス検索装置等の提供が実現する。
In order to achieve the above object, a service search apparatus according to the present invention has the following configuration.
In other words, the service search device according to the present invention includes at least one of the upper limit and the lower limit of the first range included in the service provision condition, or one or more of the first range included in the range formed by the upper limit and the lower limit. By searching a range information list to which a second identifier for identifying each second range is assigned to the two ranges based on the attribute information related to the object that requested the provision of the service, the attribute information is included. A second identifier corresponding to the second range is obtained from the range information list, the second identifier assigned to each second range for the one or more second ranges, and the individual identifiers. An identifier correspondence list associated with a first identifier assigned to individually identify one or more of the first ranges, including at least a part of the second range, is obtained. One or more first identifiers corresponding to the obtained second identifier are obtained by searching based on the identifier, and a search means for specifying the service by the obtained first identifier is provided. .
In addition, a content providing apparatus that is another aspect of the present invention is:
The above service search device;
Content storage means for storing content associated with the first identifier;
Content providing means for providing content acquired from the content storage means to an external device as the object;
In response to acquiring the attribute information from the external device, the first identifier for specifying the service to be provided by the service search device is obtained, and the content corresponding to the obtained first identifier is obtained from the content storage unit. Then, the acquired content is provided to the external device by the content providing means.
This object can also be achieved by a service search method corresponding to the service search apparatus having the above-described configurations.
Further, the same object is achieved by a computer program that realizes the service search device and the service search method having the above-described configurations by a computer, and a computer-readable storage medium that stores the computer program. Is done.
According to the present invention described above, a service search device that searches for a requested service in a short time from a large amount of service provision conditions including range specification while suppressing the amount of hardware resources of the information processing device to be used. Etc. are realized.
本発明の模範的な第1の実施形態に係るサービス検索装置の構成を示すブロック図である。It is a block diagram which shows the structure of the service search apparatus which concerns on exemplary 1st Embodiment of this invention. 本発明の模範的な第2の実施形態に係るサービス検索装置としてのコンテンツ配信サーバの構成と、そのコンテンツ配信サーバを含むコンテンツ提供システムの構成とを例示するブロック図である。It is a block diagram which illustrates the structure of the content delivery server as a service search apparatus which concerns on 2nd exemplary embodiment of this invention, and the structure of the content provision system containing the content delivery server. 本発明の模範的な第2の実施形態に係るコンテンツ提供システムにおける範囲情報リストを概念的に例示する図である。It is a figure which illustrates notionally the range information list | wrist in the content provision system which concerns on exemplary 2nd Embodiment of this invention. 本発明の模範的な第2の実施形態に係るコンテンツ提供システムにおける識別子対応リストを概念的に示す図である。It is a figure which shows notionally the identifier corresponding list | wrist in the content provision system which concerns on 2nd exemplary embodiment of this invention. 本発明の模範的な第2の実施形態に係るコンテンツ提供システムにおける識別子対応リストを概念的に示す図である。It is a figure which shows notionally the identifier corresponding list | wrist in the content provision system which concerns on 2nd exemplary embodiment of this invention. 本発明の模範的な第2の実施形態に係るコンテンツ提供システムにおいて、ユーザ端末が送信するユーザ情報を説明する図である。It is a figure explaining the user information which a user terminal transmits in the content provision system which concerns on exemplary 2nd Embodiment of this invention. 本発明の模範的な第2の実施形態に係るコンテンツ提供システムにおけるサービス提供条件を概念的に例示する図である。It is a figure which illustrates notionally the service provision conditions in the content provision system which concerns on 2nd exemplary embodiment of this invention. 本発明の模範的な第2の実施形態に係るコンテンツ提供システムにおいて、第2範囲情報を分割する際の動作を概念的に説明する図である。It is a figure which illustrates notionally the operation | movement at the time of dividing | segmenting 2nd range information in the content provision system which concerns on 2nd exemplary embodiment of this invention. 本発明の模範的な第2の実施形態に係るコンテンツ提供システムにおいて、コンテンツ配信サーバが実行するサービス提供条件の登録処理を示すフローチャートである。It is a flowchart which shows the registration process of the service provision conditions which a content delivery server performs in the content provision system which concerns on 2nd exemplary embodiment of this invention. 本発明の模範的な第2の実施形態に係るコンテンツ提供システムにおいて、コンテンツ配信サーバが実行するサービス提供条件の検索処理を示すフローチャートである。It is a flowchart which shows the search process of the service provision conditions which a content delivery server performs in the content provision system which concerns on 2nd exemplary embodiment of this invention. 本発明の模範的な第3の実施形態に係るコンテンツ提供システムにおけるサービス提供条件を概念的に例示する図である。It is a figure which illustrates notionally the service provision conditions in the content provision system which concerns on exemplary 3rd Embodiment of this invention. 本発明の模範的な第3の実施形態に係るコンテンツ提供システムにおいて、ユーザ端末が送信するユーザ情報を説明する図である。It is a figure explaining the user information which a user terminal transmits in the content provision system which concerns on exemplary 3rd Embodiment of this invention. 本発明の模範的な第3の実施形態に係るコンテンツ提供システムにおける範囲情報リスト(X座標用)を概念的に例示する図である。It is a figure which illustrates notionally the range information list (for X coordinates) in the contents providing system concerning a 3rd exemplary embodiment of the present invention. 本発明の模範的な第3の実施形態に係るコンテンツ提供システムにおける範囲情報リスト(Y座標用)を概念的に例示する図である。It is a figure which illustrates notionally the range information list (for Y coordinates) in the contents providing system concerning a 3rd exemplary embodiment of the present invention. 本発明の模範的な第3の実施形態に係るコンテンツ提供システムにおける識別子対応リストを概念的に示す図である。It is a figure which shows notionally the identifier corresponding list | wrist in the content provision system which concerns on exemplary 3rd Embodiment of this invention. 本発明の模範的な第3の実施形態における2次元のサービス提供条件と、ラベル組み合わせとの関係を説明する図である。It is a figure explaining the relationship between the two-dimensional service provision conditions and label combination in 3rd exemplary embodiment of this invention. 本発明の模範的な第3の実施形態に係るコンテンツ提供システムにおいて、コンテンツ配信サーバが実行するサービス提供条件の登録処理を示すフローチャートである。It is a flowchart which shows the registration process of the service provision conditions which a content delivery server performs in the content provision system which concerns on exemplary 3rd Embodiment of this invention. 本発明の模範的な第3の実施形態に係るコンテンツ提供システムにおいて、コンテンツ配信サーバが実行するサービス提供条件の登録処理を示すフローチャートである。It is a flowchart which shows the registration process of the service provision conditions which a content delivery server performs in the content provision system which concerns on exemplary 3rd Embodiment of this invention. 本発明の模範的な第3の実施形態に係るコンテンツ提供システムにおいて、コンテンツ配信サーバが実行するサービス提供条件の検索処理を示すフローチャートである。It is a flowchart which shows the search process of the service provision conditions which a content delivery server performs in the content provision system which concerns on exemplary 3rd Embodiment of this invention. 本発明の模範的な第3の実施形態に係るコンテンツ提供システムにおいて、2分木形式で表した範囲情報リストを例示する図である。It is a figure which illustrates the range information list represented in the binary tree format in the content provision system which concerns on exemplary 3rd Embodiment of this invention. 本発明の模範的な第1の実施形態に係るサービス検索装置、並びに第2及び第3の実施形態に係るコンテンツ配信サーバを実現可能なコンピュータ(情報処理装置)のハードウェア構成を例示的に説明する図である。Exemplary hardware configurations of a service search apparatus according to the first exemplary embodiment of the present invention and a computer (information processing apparatus) capable of realizing the content distribution server according to the second and third embodiments will be described. It is a figure to do.
 次に、本発明を実施する形態について図面を参照して詳細に説明する。
 <第1の実施形態>
 図1は、本発明の模範的な第1の実施形態に係るサービス検索装置の構成を示すブロック図である。本実施形態において、サービス検索装置1は、例えば、図1には不図示の通信ネットワーク(以下、単に「ネットワーク」と称する)及び通信インタフェースを介して、外部装置との通信が可能な、サーバ等の情報処理装置である。
 サービス検索装置1は、検索部11を有する。以下、本実施形態における検索部11の動作について説明する。
 まず、検索部11は、入手したオブジェクトに関する属性情報12に基づいて、範囲情報リスト13を検索することにより、その属性情報12が含まれる第2範囲に対応する第2識別子を、当該範囲情報リスト13から入手する。
 ここで、オブジェクトとは、あるサービスの提供を要求した要求元(source of request)である。係るオブジェクトは、例えば、携帯電話等のユーザ端末、サーバ等の情報処理装置(コンピュータ)等の外部装置、或いは、ユーザ端末を操作するユーザに関する情報等である。
 範囲情報リスト13は、サービス提供条件(condition(s) of service)に含まれる第1範囲の上限および下限のうち少なくとも何れかと一致する1つ以上の第2範囲に対して、個々の第2範囲を識別する第2識別子が付与されたリスト(データベース、ルックアップテーブル等のテーブル)である。
 次に、検索部11は、上記の如く入手した第2識別子に基づいて、識別子対応リスト14を検索することにより、当該求めた第2識別子に対応する1つ以上の前記第1識別子を求める。そして、検索部11は、求めた第1識別子によって、当該あるサービスを特定する。
 ここで、識別子対応リスト14には、当該1つ以上の第2範囲を対象として、個々の第2範囲に付与された第2識別子と、当該個々の第2範囲を少なくとも一部に含むところの、1つ以上の第1範囲を個別に識別すべく付与された第1識別子とが関連付けされている。
 尚、範囲情報リスト13及び識別子対応リスト14は、サービス検索装置1が参照可能であれば、自装置の内部に保持されていても、自装置外部の他の装置に保持されていても良い。
 このような第1の実施形態によれば、範囲情報リスト13には、範囲(広がり)を有する個々の第2範囲に対して第2識別子が付与されている。識別子対応リスト14には、係る第2識別子と、個々の第2範囲を少なくとも一部に含むところの、1つ以上の上記第1範囲を個別に識別すべく付与された第1識別子とが関連付けされている。このため、サービス検索装置1は、サービスの提供が要求された際に、そのサービスを適用可能な場合(条件)を表すサービス提供条件が範囲(広がり)を有する場合であっても、これらのリストを利用することにより、その範囲内の個々の値は検索する必要がない。即ち、サービス検索装置1は、使用するハードウェア資源(メモリ使用量等)を抑えつつ、範囲指定を含む大量のサービス提供条件が入力された場合であっても、それらサービス提供条件の中から、要求されたサービスを短時間で検索(特定)することができる。
 <第2の実施形態>
 次に、上述した第1の実施形態に係るサービス検索装置1を基本とする第2の実施形態について説明する。
 図2は、本発明の模範的な第2の実施形態に係るサービス検索装置としてのコンテンツ配信サーバの構成と、そのコンテンツ配信サーバを含むコンテンツ提供システムの構成とを例示するブロック図である。図2に示すコンテンツ提供システムは、大別して、コンテンツ配信サーバ100、コンテンツ登録端末200、及びユーザ端末300とを有する。
 本実施形態に係るコンテンツ提供システムは、コンテンツ配信サーバ100に予め登録された複数のコンテンツの中から、ユーザ端末300から受信した属性(属性情報)としての「歩数」に応じて、そのユーザ端末300(当該ユーザ端末のユーザ)に最適なコンテンツを提供する。ここで、コンテンツ配信サーバ100へのコンテンツの登録は、コンテンツ登録端末200からの要求に応じて実行される。
 ユーザ端末300からコンテンツ配信サーバ100への歩数等の情報(後述するユーザ情報に相当)の送信は、例えば数分間隔でユーザ端末300が自動的に行っても、或いはユーザによる所定の操作が検出されるのに応じて行ってもよい。このユーザ端末300は、コンテンツ配信サーバ100からコンテンツを受信するのに応じて、受信したコンテンツを、当該ユーザ端末のディスプレイ等のユーザインタフェースを介して、ユーザに提示する。
 コンテンツ配信サーバ100、コンテンツ登録端末200、及びユーザ端末300は、図2には不図示の一般的な通信インタフェースを備える。そして、ユーザ端末300は、ネットワーク400を介して、コンテンツ配信サーバ100にアクセス可能である。また、コンテンツ登録端末200は、コンテンツ配信サーバ100にアクセス可能である。
 ネットワーク(通信ネットワーク)400は、例えば、携帯電話事業者が所有する各種通信回線、インターネットサービスプロバイダ等が提供するインターネット等の一般的な通信回線である。
 尚、図2には、例えば、コンテンツ登録端末200がコンテンツ配信サーバ100の管理用の端末としても機能する場合を考慮したので、コンテンツ登録端末200とコンテンツ配信サーバ100とが直接接続されている構成を例示している。但し、本システムは、係る構成には限定されない。即ち、コンテンツ登録端末200とコンテンツ配信サーバ100とは、インターネット等のネットワークを介してアクセス可能な構成であってもよい。
 (コンテンツ登録端末200)
 コンテンツ登録端末200のユーザは、コンテンツ配信サーバ100を利用して提供したいコンテンツを、コンテンツ配信サーバ100に登録することができる。ここで、コンテンツ登録端末200のユーザは、例えば、コンテンツ配信サービスを行う事業者である。
 コンテンツ登録端末200は、図2には不図示のキーボード、マウス等の入力デバイス、液晶ディスプレイなどの出力装置、CPU(Central Processing Unit)、メモリやハードディスクドライブ等の記憶装置等を備える情報処理装置(コンピュータ)である。コンテンツ登録端末200は、登録を希望するコンテンツと、そのコンテンツを提供する際の条件(サービス提供条件)とを、コンテンツ配信サーバ100に送信する。
 本実施形態において、コンテンツは、例えば、上記事業者がユーザに提供すべく作成した各種の情報であって、店舗案内、商品の推薦等を含む。
 サービス提供条件は、サービス提供条件ID(サービス提供条件の識別子)と、第1範囲情報とが関連付けされた情報である。ここで、第1範囲情報は、サービス提供条件IDによって特定されるコンテンツに関連付けされた値の範囲(上限値と下限値)を表す情報である。この第1範囲情報は、関連付けされたサービス提供条件IDによって特定されるサービスを提供する際の条件として機能する。尚、サービス提供条件を構成するサービス提供条件ID及び第1範囲情報については、図6を参照して後述する。
 (ユーザ端末300)
 ユーザ端末300のユーザは、コンテンツ配信サーバ100を利用して、コンテンツ配信サービスの提供を受けることができる。ユーザ端末300は、例えば、コンテンツ登録端末200と同様な構成を備える情報処理装置(コンピュータ)、或いは、情報処理機能を備える携帯電話(携帯端末)である。
 (コンテンツ配信サーバ100)
 コンテンツ配信サーバ100は、上述した第1の実施形態におけるサービス検索装置1に対応する。コンテンツ配信サーバ100は、図2には不図示のハードディスクドライブ等の記憶装置によって構成されるデータベースを備える情報処理装置(サーバコンピュータ)である。即ち、コンテンツ配信サーバ100は、ソフトウェア・プログラム(コンピュータ・プログラム)をCPU等のハードウェア資源を利用して実行することにより、後述する各種機能を実現する。尚、コンテンツ配信サーバ100のハードウェア構成例については、図18を参照して後述する。
 コンテンツ配信サーバ100は、図2に示す通り、サービス提供条件受信部101、範囲情報更新部102、サービス提供条件変換部103、サービス提供条件登録部104、コンテンツ保持部105、範囲情報記憶部106、サービス提供条件記憶部107、ユーザ情報変換部108、コンテンツ検索部109、ユーザ情報受信部110、及びコンテンツ送信部111を有する。
 サービス提供条件受信部101は、コンテンツとサービス提供条件とを、そのコンテンツの登録を要求するコンテンツ登録端末200から受信する。サービス提供条件受信部101は、受信したサービス提供条件を、範囲情報更新部102に渡す。上述したように、サービス提供条件には、サービス提供条件IDと、第1範囲情報とが関連付けされている。サービス提供条件受信部101は、受信したコンテンツと、当該サービス提供条件に含まれるサービス提供条件IDとを関連付けると共に、係る関連付けされたコンテンツとサービス提供条件IDとを、コンテンツ保持部105に登録する。
 範囲情報記憶部106は、ある1つの属性(本実施形態では「歩数」)を対象として、1つの範囲情報リスト13を保持する。即ち、範囲情報記憶部102において、ある1つの属性と、その属性に対応する範囲情報リスト13とは、1対1の関係を有する。
 図3は、本発明の模範的な第2の実施形態に係るコンテンツ提供システムにおける範囲情報リストを概念的に例示する図である。図3に示す範囲情報リスト13において、「歩数」は、前述した通り、本実施形態における一例としての属性(属性情報)である。範囲情報リスト13は、複数の第2範囲情報を保持する。個々の第2範囲情報には、図3に示すように、「下限値」と「ラベル」とが関連付けられている。即ち、本実施形態では、一次元の属性情報である歩数の範囲を表す情報(第2範囲情報)として、下限値が採用されている。そして、個々の第2範囲情報には、「ラベル」と称する識別子が付与されている。
 即ち、図3に示す例において、個々の第2範囲情報は、ラベル(A~G)によって識別することが可能であって、且つ下限値を利用して整列されている。より具体的に、本実施形態において、属性である歩数は、説明の便宜上から、1よりも小さい小数及び負の数は取り得ず、0を含む自然数と捉えることとする。従って、例えばラベルAなる識別子が付与された歩数の範囲(第2範囲情報)は、0から1999である。ラベルBなる識別子が付与された歩数の範囲は、2000から5999である。範囲情報記憶部106は、この範囲情報リスト13を記憶する。
 範囲情報更新部102は、サービス提供条件受信部101からサービス提供条件を受け取る。受け取ったサービス提供条件には、上述したように、第1範囲情報が含まれる。そこで、範囲情報更新部102は、受け取ったサービス提供条件から、この第1範囲情報を取り出す。本実施形態において、係る第1範囲情報は、歩数の範囲を表す情報である。
 ここで、サービス提供条件を構成するサービス提供条件ID及び第1範囲情報について説明する。図6は、本発明の模範的な第2の実施形態に係るコンテンツ提供システムにおけるサービス提供条件を概念的に例示する図である。本実施形態の場合、図6に示すように、例えば、C1なるサービス提供条件IDには、そのC1なるサービスが提供される際の条件として、歩数の範囲2000~5999が関連付けされている。C2なるサービス提供条件IDには、そのC2なるサービスが提供される際の条件として、歩数の範囲8500~11499が関連付けされている。
 範囲情報更新部102は、係るサービス提供条件から取り出した第1範囲情報を対象として、次の処理を実行することにより、範囲情報リスト13の登録内容を更新する。
 即ち、範囲情報更新部102は、取り出した第1範囲情報の下限値が、範囲情報リスト13(図3)に登録されている複数の第2範囲情報の下限値の中に存在するか否かを判定する。この判断において、注目している第1範囲情報の下限値が、何れの第2範囲情報の下限値とも異なる場合、範囲情報更新部102は、当該注目している第1範囲情報の下限値を下限値とする新たな第2範囲情報を作成すると共に、その新たな第2範囲情報に対して新たな名称(ラベル)を付与する。そして、範囲情報更新部102は、係る新たに作成した第2範囲情報及びそのラベルを、範囲情報リスト13に登録(追加)する。
 また、範囲情報更新部102は、当該取り出した第1範囲情報の上限値に1加算した値が、範囲情報リスト13(図3)に登録されている複数の第2範囲情報の中に存在するか否かを判定する。この判断において、当該上限値に1加算した値が何れの第2範囲情報の中にも存在しない(含まれない)場合、範囲情報更新部102は、当該上限値に1加算した値を下限値とする新たな第2範囲情報を作成すると共に、その新たな第2範囲情報に対して新たな名称(ラベル)を付与する。そして、範囲情報更新部102は、係る新たに作成した第2範囲情報及びそのラベルを、範囲情報リスト13に登録(追加)する。
 ここで、本実施形態において、当該取り出した第1範囲情報の上限値に1加算する理由を説明する。その理由は、上述したように、本実施形態において扱う「歩数」は、説明の便宜上から、1よりも小さい小数及び負の数は取り得ず、0を含む自然数としたためである。即ち、係る第1及び第2範囲情報が表す数値(歩数)は、1ずつ離散した値である。従って、本実施形態では、係る第1及び第2範囲情報が表す数値の粒度は1である。即ち、この粒度は、本実施形態が歩数を属性として採用したことに起因する。このため、採用する属性の性質(種類)によっては、更に細かい粒度の値、或いは、更に大きな粒度の値を適宜採用すればよい。
 また、範囲情報更新部102は、当該取り出した第1範囲情報の上限値および下限値が、範囲情報リスト13に既に登録されている何れの第2範囲情報とも重複しないかどうかを判断する。この判断において、何れの第2範囲情報とも重複しないと判断した場合、範囲情報更新部102は、その第1範囲情報の上限値および下限値のうち少なくとも何れかと一致する新たな第2範囲情報を作成すると共に、その新たな第2範囲情報に対して新たな名称(ラベル)を付与する。そして、範囲情報更新部102は、係る新たに作成した第2範囲情報及びそのラベルを、範囲情報リスト13に登録(追加)する。ここで、この場合の具体例を説明する。
 例えば、既存の範囲情報リスト13として{[10~],[20~]}が登録されている場合を考える(ラベル表記は省略)。この例における表記において、“[**~]”は、その範囲情報リスト13に登録されている個々の第2範囲情報であって、“**”は下限値を表す。この状況において、第1範囲情報として[1~4]が登録される場合、上述した通り、その第1範囲情報の上限値および下限値は、当該既存の範囲情報リスト13に登録されている何れの第2範囲情報とも重複しない。そこでこの場合、範囲情報更新部102は、新たに2つの第2範囲情報([1~]及び[5~])を追加することにより、更新後の範囲情報リスト13として、{[1~],[5~],[10~],[20~]}を、範囲情報記憶部106に格納する。
 更に、範囲情報更新部102は、当該取り出した第1範囲情報の上限値または下限値が、範囲情報リスト13に既に登録されている少なくとも何れかの第2範囲情報に含まれるものの、何れの第2範囲情報の上限値および下限値にも一致しないかどうかを判断する。この判断において、当該何れの第2範囲情報の上限値および下限値にも一致しないと判断した場合、範囲情報更新部102は、当該取り出した第1範囲情報の上限値および下限値のうち少なくとも何れかと一致する範囲を有する複数範囲に、範囲情報リスト13に既に登録されている1つ以上の第2範囲情報を分割する。そして、範囲情報更新部102は、分割によって作成した新たな第2範囲情報に対して新たな名称(ラベル)を付与する。そして、範囲情報更新部102は、係る新たに作成した第2範囲情報及びそのラベルを、範囲情報リスト13に登録(追加)する。
 図7は、本発明の模範的な第2の実施形態に係るコンテンツ提供システムにおいて、第2範囲情報を分割する際の動作を概念的に説明する図である。図7に示す例では、既存の範囲情報リスト13に、下限値が0であるラベルAなる第2範囲情報と、下限値が2000であるラベルBなる第2範囲情報とが登録されている場合に、下限値が1000である新たに第2範囲情報が登録される場合が示されている。この場合、当該既存の範囲情報リスト13には、下限値が1000である第2範囲情報は登録さていない。このため、範囲情報更新部102は、ラベルAなる第2範囲情報を、ラベルA’およびラベルZなる2つの第2範囲情報に分割する。この場合、分割後において、このラベルA’なる第2範囲情報の下限値は0であり、ラベルZなる第2範囲情報の下限値は1000である。範囲情報更新部102は、係るラベルA’およびラベルZなる2つの第2範囲情報により、元から登録されていたラベルAなる1つの第2範囲情報を置換することにより、範囲情報リスト13を更新する。
 更にこの範囲分割の場合について上述した記号を用いた例を元に説明する。既存の範囲情報リスト13として、{[1~],[5~],[10~],[20~]}が存在する場合に、第1範囲情報[15~19]を追加する場合を考える。この場合、範囲情報更新部102は、既存の第2範囲情報[10~19]を、[10~14]と[15~19]とに分割する。これにより、更新後の範囲情報リスト13は、{[1~],[5~],[10~],[15~],[20~]}となる。尚、本実施形態では、第2範囲情報を下限値に基づき整列しているので、例えば、21以上の第1範囲情報を追加する場合は、[20~無限大]なる新たな第2範囲情報を設ければよい。
 範囲情報更新部102は、以上の処理を完了すると、サービス提供条件受信部101から受け取ったサービス提供条件を、サービス提供条件変換部103に渡す。
 サービス提供条件変換部103は、範囲情報更新部102からサービス提供条件を受け取るのに応じて、その受け取ったサービス提供条件(図6)に含まれる個々の第1範囲情報を対象として、次の処理を実行する。
 即ち、サービス提供条件変換部103は、あるサービス提供条件IDに関連付けされている第1範囲情報における下限値から上限値までの数値範囲を含み、且つ数値範囲として互いに隣接する複数の第2範囲情報を、範囲情報記憶部106が保持する範囲情報リスト13(図3)から取得する。そして、サービス提供条件変換部103は、取得した個々の第2範囲情報に個別に付与されているラベルをリストとしてまとめることにより、ラベルリストを作成する。サービス提供条件変換部103は、この一連の処理を、当該個々の第1範囲情報を対象として実施する。
 サービス提供条件変換部103は、以上の処理が完了すると、当該個々の第1範囲情報を対象として作成した複数のラベルリストから、それぞれ1つのラベルを選択し、それらを組み合わせることにより、ラベル組み合わせを生成する。但し、本実施形態において、係るラベルリストは、B,D,E,Fなる1つのラベルセットである。即ち、本実施形態では、一次元の属性として歩数を扱っているので、1つのラベルリストが生成されるだけである。よって、本実施形態において、複数のラベルリストに基づくラベルの組み合わせ処理は、省略することができる。このラベルリストは、後述する識別子対応リスト(図4Aまたは図4B)の左側欄に列記されたラベルに対応する。
 尚、後述する第3の実施形態では、二次元の属性(二次元座標)を扱っているので、サービス提供条件変換部103は、複数のラベルリストを生成することになり、且つ個々のラベルリストに含まれるラベルを組み合わせる。このため、第3の実施形態では、図13に示す識別子対応リストの左側欄に列記されたラベル組み合わせが生成される。
 次に、サービス提供条件変換部103は、生成したラベル組み合わせ(本実施形態では、1つのラベルリスト)と、個々のラベル組み合わせ(本実施形態では、ラベル自体)に対応するサービス提供条件が含まれるサービス提供条件IDとを関連付けることにより、識別子対応リスト14を生成する。
 図4A及び図4Bは、本発明の模範的な第2の実施形態に係るコンテンツ提供システムにおける識別子対応リストを概念的に示す図である。図4Aに示す例は、1つ以上の第2範囲情報を対象として、個々の第2範囲情報に付与されたラベルと、該個々の第2範囲情報を少なくとも一部に含むところの、1つ以上の第1範囲情報を個別に識別すべく付与されたサービス提供条件IDとが関連付けされた識別子対応リスト14を示している。一方、図4Bに示す例は、識別子対応リスト14におけるラベルの重複が生じないように、同一のラベルに関連付けられるサービス提供条件IDが1行にまとめられた識別子対応リスト14を示している。
 そして、サービス提供条件変換部103は、変換済のサービス提供条件として、作成した識別子対応リスト14を、サービス条件登録部104に渡す。
 サービス提供条件登録部104は、サービス提供条件変換部103から入手した識別子対応リスト14を、サービス提供条件記憶部107に保存する。サービス提供条件記憶部107が記憶する識別子対応リスト14は、例えば、ラベル組み合わせからサービス提供条件IDへの写像と観念することができる。或いは、識別子対応リスト14は、複数のハッシュキー(ラベル組み合わせ)を対象として、複数種類の第1範囲情報に基づいて、個々のハッシュキーに少なくとも何れかのサービス提供条件IDが関連付けされたハッシュテーブルとも観念することができる。
 ユーザ情報受信部110は、サービスの提供を要求したユーザ端末300からユーザ情報を受信するのに応じて、受信したユーザ情報を、ユーザ情報変換部108に渡す。図5は、本発明の模範的な第2の実施形態に係るコンテンツ提供システムにおいて、ユーザ端末が送信するユーザ情報を説明する図である。本実施形態に係るユーザ情報は、図5に示すように、ユーザ端末300を使用するユーザの識別子であるユーザIDと、歩数とを含む。係る歩数は、当該サービスの提供を要求した外部装置としてのユーザ端末300に関する属性情報(属性値:第1の実施形態におけるオブジェクトに関する属性情報12に相当)である。本実施形態において、ユーザ端末300は、例えば、そのユーザ端末を所持しているユーザの歩数を計測する機能を備える携帯電話や、携帯型の情報処理装置である。
 尚、後述する第3の実施形態では、二次元座標を扱うので、ユーザ情報(図11)には、複数の属性情報(属性値)が含まれる。
 ユーザ情報変換部108は、ユーザ情報受信部110からユーザ情報を受け取るのに応じて、そのユーザ情報に含まれる属性情報を対象として、次の処理を実行する。
 即ち、ユーザ情報変換部108は、範囲情報記憶部106に記憶されている範囲情報リスト13を、入手した当該属性情報を検索キーとして用いることによって検索する。これにより、ユーザ情報変換部108は、範囲情報リスト13の中から、当該属性情報が含まれる第2範囲情報を特定すると共に、特定した第2範囲情報に付与されているラベルを取得する。本実施形態の場合、ユーザID=1なるユーザの歩数は4567であるから、ユーザ情報変換部108は、範囲情報リスト13(図3)からラベルBを入手する。
 ユーザ情報変換部108は、以上の処理が完了すると、当該ユーザ情報に含まれるユーザIDと、上記の如く入手したラベルを、変換済のユーザ情報として、コンテンツ検索部109に渡す。
 コンテンツ検索部109は、サービス提供条件記憶部107に記憶されている識別子対応リスト14を、入手したラベル(第3の実施形態の場合はラベル組み合わせ)を検索キーとして用いることによって検索する。これにより、コンテンツ検索部109は、識別子対応リスト14の中から、当該ラベル(ラベル組み合わせ)に対応するサービス提供条件IDを入手する。本実施形態の場合、ユーザ情報変換部108から入手したラベルは“B”であるから、コンテンツ検索部109は、識別子対応リスト14(図4Aまたは図4B)から、“C1”なるサービス提供条件IDを入手する。
 尚、後述する第3の実施形態では、二次元座標を扱うので、ユーザ情報(図11)には、複数の属性情報(属性値)が含まれる。このため、ユーザ情報変換部108は、個々の複数の属性情報についてラベルを入手するので、入手した複数のラベルを、ラベル組み合わせとして、コンテンツ検索部109に渡す。そして、コンテンツ検索部109は、当該ラベル組み合わせに基づいて、識別子対応リスト14(図13)から、そのラベル組み合わせに対応するサービス提供条件IDを入手する。
 上述したコンテンツ検索部109による処理により、当該ユーザ端末300に提供すべきサービスとしての特定のコンテンツを選択する際に参照すべきサービス提供条件IDが特定される。係る一連の処理によってサービス提供条件IDが見つかった場合、コンテンツ検索部109は、そのサービス提供条件IDと、ユーザ情報変換部108から入手したユーザIDとを、コンテンツ送信部111に渡す。
 コンテンツ送信部111は、コンテンツ検索部109から入手したサービス提供条件IDを検索キーとして用いることにより、コンテンツ保持部105に記憶されているコンテンツの中から、当該サービス提供条件IDが関連付けされているコンテンツを入手する。そして、コンテンツ送信部111は、入手したコンテンツを、コンテンツ検索部109から入手したユーザIDによって特定されるユーザ端末300に送信する。
 次に、更に図8及び図9を参照して、本実施形態におけるコンテンツ配信サーバ100の処理フローを中心に説明する。本実施形態においてコンテンツ配信サーバ100が実行する処理は、サービス提供条件の登録処理(図8)と、サービス提供条件の検索処理(図9)とに大別することができる。以下、これらの処理について順に説明する。
 図8は、本発明の模範的な第2の実施形態に係るコンテンツ提供システムにおいて、コンテンツ配信サーバが実行するサービス提供条件の登録処理を示すフローチャートである。
 ステップS101:サービス提供条件受信部101は、コンテンツと、そのコンテンツに関するサービス提供条件(図6)とを、コンテンツ登録端末200から受信する。そして、サービス提供条件受信部101は、受信したサービス提供条件を範囲情報更新部102に渡す。サービス提供条件受信部101は、受信したコンテンツを、当該サービス提供条件に含まれるサービス提供条件IDと関連付けてた状態で、コンテンツ保持部105に登録する。
 ステップS102:範囲情報更新部102は、当該サービス提供条件に含まれる第1範囲情報の下限値を含む第2範囲情報が、範囲情報リスト13(図3)の中に存在するか否かを判断する。範囲情報更新部102は、この判断において、存在すると判断した場合(ステップS102にてYES)は処理をステップS104に進める。一方、範囲情報更新部102は、この判断において、存在しないと判断した場合(ステップS102にてNO)は処理をステップS103に進める。
 ステップS103:範囲情報更新部102は、ステップS102にて注目した第1範囲情報の下限値を含む新たな第2範囲情報を作成し、作成した第2範囲情報を、その新たな第2範囲情報に対して付与した新たなラベルと共に、範囲情報リスト13に登録する。
 ステップS104:範囲情報更新部102は、ステップS102にて注目した第1範囲情報の上限値に1加算した値が、範囲情報リスト13に登録されている複数の第2範囲情報の中に存在するか否かを判断する。範囲情報更新部102は、この判断において、存在すると判断した場合(ステップS104にてYES)は処理をステップS106に進める。一方、範囲情報更新部102は、この判断において、存在しないと判断した場合(ステップS104にてNO)は処理をステップS105に進める。
 ステップS105:範囲情報更新部102は、当該上限値に1加算した値を下限値とする新たな第2範囲情報を作成し、作成した第2範囲情報を、その新たな第2範囲情報に対して付与した新たなラベルと共に、範囲情報リスト13に登録する。
 ステップS106:範囲情報更新部102は、上述したステップS102乃至ステップS105までの処理を完了すると、サービス提供条件受信部101から受け取ったサービス提供条件を、サービス提供条件変換部103に渡す。
 ステップS107:サービス提供条件変換部103は、ステップS102にて注目した第1範囲情報の下限値と上限値とを取り出し、範囲情報記憶部106が保持する範囲情報リスト13(図3)の中から、その下限値から上限値まで数値範囲を含み、且つ互いに隣接する複数の第2範囲情報を取得する。
 ステップS108:サービス提供条件変換部103は、ステップS107にて取得した個々の第2範囲情報に個別に付与されているラベルをリストとしてまとめることにより、ラベルリストを作成する。
 ステップS109:サービス提供条件変換部103は、生成したラベルリストと、そのラベルリストを構成する個々のラベルに対応するサービス提供条件が含まれるサービス提供条件IDとを関連付けることにより、識別子対応リスト14を生成する。
 図9は、本発明の模範的な第2の実施形態に係るコンテンツ提供システムにおいて、コンテンツ配信サーバが実行するサービス提供条件の検索処理を示すフローチャートである。
 ステップS201:ユーザ情報受信部110は、サービスの提供を要求したユーザ端末300からユーザ情報を受信する。
 ステップS202:ユーザ情報変換部108は、範囲情報記憶部106に記憶されている範囲情報リスト13を、ステップS201にて入手したユーザ情報に含まれる属性情報を検索キーとして用いることによって検索する。これにより、ユーザ情報変換部108は、範囲情報リスト13の中から、当該属性情報が含まれる第2範囲情報を特定すると共に、特定した第2範囲情報に付与されているラベルを、例えばRAM(図2には不図示)等の一時記憶領域に格納する。
 ステップS204:コンテンツ検索部109は、サービス提供条件記憶部107に記憶されている識別子対応リスト14を、ステップS203にて一時記憶したラベルを検索キーとして用いることによって検索する。
 ステップS205:コンテンツ検索部109は、ステップS204における検索において、当該ラベルに対応するサービス提供条件IDが識別子対応リスト14に存在するか否かを判断する。コンテンツ検索部109は、この判断において、存在すると判断した場合(ステップS205にてYES)は処理をステップS206に進める。一方、コンテンツ検索部109は、この判断において、存在しないと判断した場合(ステップS205にてNO)はこの一連の検索処理を終了する。
 ステップS206:コンテンツ検索部109は、ステップS205における判断において、当該ラベルに対応するサービス提供条件IDを識別子対応リスト14の中から検出した場合、検出したサービス提供条件IDと、ユーザ情報変換部108から入手したユーザIDとを、コンテンツ送信部111に渡す。コンテンツ送信部111は、入手したサービス提供条件IDに対応するコンテンツをコンテンツ保持部105から入手する。そして、コンテンツ送信部111は、入手したコンテンツを、コンテンツ検索部109から入手したユーザIDによって特定されるユーザ端末300に送信する。
 上述した第2の実施形態によれば、範囲情報リスト13(図3)には、下限値を元に整列された個々の第2範囲情報(歩数の範囲を表す情報)に対して第2識別子(ラベル)が付与されている。識別子対応リスト14(図4A及び図4B)には、係る第2識別子と、個々の第2範囲を少なくとも一部に含むところの、1つ以上の第1範囲を個別に識別すべく付与された第1識別子(サービス提供条件ID)とが関連付けされている。このため、本実施形態に係るコンテンツ配信サーバ100は、コンテンツの提供が要求された際に、そのサービスを適用可能な場合(条件)を表すサービス提供条件が、図6に示す歩数の範囲の如く数値範囲(広がり)を有する場合であっても、これらのリストを参照することにより、その範囲内の個々の値は検索する必要がない。
 即ち、本実施形態に係るコンテンツ提供システム及びコンテンツ配信サーバ100は、使用するハードウェア資源(メモリ使用量等)を抑えつつ、範囲指定を含む大量のサービス提供条件が入力された場合であっても、それらサービス提供条件の中から、要求に対応するコンテンツを短時間で検索(特定)すると共に、特定のユーザ端末300に提供することができる。
 <第3の実施形態>
 次に、上述した第1の実施形態に係るサービス検索装置及び第2の実施形態に係るコンテンツ提供システムを基本とする第3の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明する。その際、上述した第1及び第2の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。
 本実施形態に係るコンテンツ提供システムは、上述した第2の実施形態に係るコンテンツ提供システム(図2)と同様な全体構成を有する。上述した第2の実施形態では、一次元の属性情報の例として、歩数を利用するコンテンツ提供システムを説明した。これに対して、本実施形態では、二次元の属性情報の例として、二次元座標(X−Y座標)を利用するコンテンツ提供システムを説明する。このため、本実施形態に係るユーザ端末300は、説明の便宜上から、GPS(Global Positioning System)センサ(不図示)を備える携帯電話や、携帯型の情報処理装置である。本実施形態に係るユーザ端末300は、当該GPSセンサによって取得した現在位置情報(X−Y座標値としての緯度情報及び経度情報)を含むユーザ情報を生成する。そして、このユーザ端末300は、生成したユーザ情報を、例えば数分間隔でコンテンツ配信サーバ100に送信する。更に、このユーザ端末300は、コンテンツ配信サーバ100からコンテンツを受信するのに応じて、受信したコンテンツを、当該ユーザ端末のディスプレイ等のユーザインタフェースを介して、ユーザに提示する。
 (コンテンツ登録端末200)
 本実施形態に係るコンテンツ登録端末200は、上述した第2の実施形態におけるコンテンツ登録端末200と同様な装置構成を有する。但し、本実施形態において、コンテンツ登録端末200がコンテンツ配信サーバ100に送信するサービス提供条件は、サービス提供条件IDと、2種類の第1範囲情報とが関連付けされた情報である。
 図10は、本発明の模範的な第3の実施形態に係るコンテンツ提供システムにおけるサービス提供条件を概念的に例示する図である。本実施形態の場合、図10に示すように、例えば、C1なるサービス提供条件IDには、そのC1なるサービスが提供される際の条件として、X座標値の範囲1394605~1394629と、Y座標値の範囲354010~354029とが関連付けされている。C2なるサービス提供条件IDには、そのC2なるサービスが提供される際の条件として、X座標値の範囲1394600~1394614と、Y座標値の範囲354000~354019とが関連付けされている。
 (ユーザ端末300)
 本実施形態に係るユーザ端末300は、上述した通りGPSセンサを備える以外は、上述した第2の実施形態におけるユーザ端末300と同様な装置構成を有する。図11は、本発明の模範的な第3の実施形態に係るコンテンツ提供システムにおいて、ユーザ端末が送信するユーザ情報を説明する図である。本実施形態に係るユーザ情報は、図11に示すように、ユーザ端末300を使用するユーザの識別子であるユーザIDと、そのユーザ端末の現在位置情報を表すX座標値とY座標値とを含む。係るX座標値及びY座標値は、当該サービスの提供を要求した外部装置としてのユーザ端末300に関する属性情報(属性値:第1の実施形態におけるオブジェクトに関する属性情報12に相当)である。
 (コンテンツ配信サーバ100)
 コンテンツ配信サーバ100は、図2を参照して上述した第2の実施形態におけるコンテンツ配信サーバ100と同様な装置構成を有する。そして、本実施形態に係るコンテンツ配信サーバ100は、上述した第1の実施形態におけるサービス検索装置1に対応する。
 サービス提供条件受信部101は、上述した第2の実施形態の場合と同様に、コンテンツとサービス提供条件とを、そのコンテンツの登録を要求するコンテンツ登録端末200から受信する。但し、本実施形態において受信するサービス提供条件には、図10を参照して上述したように、1つのサービス提供条件IDに対してX座標値の範囲とY座標値の範囲とを含む。
 範囲情報記憶部106は、本実施形態において、範囲情報リスト13として、X座標用及びY座標用の2種類の範囲情報リストを記憶する。
 図12A及び図12Bは、本発明の模範的な第3の実施形態に係るコンテンツ提供システムにおける範囲情報リストを概念的に例示する図であり、図12AはX座標用の範囲情報リストを示し、図12BはY座標用の範囲情報リストを示す。「X座標」及び「Y座標」は、本実施形態における一例としての属性(属性情報)である。個々の範囲情報リスト13は、第2の実施形態の場合と同様な構成を有する。図12A及び図12Bに示す個々の第2範囲情報には、「下限値」と「ラベル」とが関連付けられている。即ち、本実施形態では、二次元の属性情報である「X座標」及び「Y座標」の範囲を表す情報(第2範囲情報)として、下限値が採用されている。そして、個々の第2範囲情報には、第2の実施形態と同様に、「ラベル」と称する識別子が付与されている。本実施形態においても、属性である「X座標」及び「Y座標」が採り得る値は、説明の便宜上から、1よりも小さい小数及び負の数は取り得ず、0を含む自然数と捉えることとし、且つ粒度が1の、1ずつ離散した値である。
 尚、X座標及びY座標用の範囲情報リストは、上述した図12A及び図12Bに概念的に示すようなデータ構造には限定されない。例えば、係るX座標及びY座標用の範囲情報リストには、図17に示すような所謂2分木によって表現可能なデータ構造を採用することもできる。
 範囲情報更新部102は、サービス提供条件から取り出した二次元の属性を含む第1範囲情報に従って、当該2種類の範囲情報リスト13を対象として、上述した第2の実施形態と同様な更新処理を行う。範囲情報更新部102は、係る更新処理を完了すると、サービス提供条件受信部101から受け取ったサービス提供条件を、サービス提供条件変換部103に渡す。
 サービス提供条件変換部103は、基本的には第2の実施形態の場合と同様な処理を行う。但し、本実施形態では、二次元の属性を扱うので、当該個々の第1範囲情報を対象として作成した複数のラベルリストから、それぞれ1つのラベルを選択し、それらを組み合わせることにより、ラベル組み合わせを生成する。即ち、本実施形態では、図13に示す識別子対応リストの左側欄に列記されたラベル組み合わせが生成される。
 図13は、本発明の模範的な第3の実施形態に係るコンテンツ提供システムにおける識別子対応リストを概念的に示す図である。図13に示す識別子対応リスト14には、2種類(X座標及びY座標)の第2範囲情報に種類毎に付与されているラベルが組み合わされた複数のキー(ラベル組み合わせ)を対象として、当該2種類の第1範囲情報に基づいて、個々のキーに少なくとも何れかのサービス提供条件IDが関連付けされている。
 即ち、サービス提供条件変換部103は、当該2種類の第1範囲情報に基づいて、当該2種類の属性情報毎に、第2範囲情報を検索する。次に、サービス提供条件変換部103は、検索によって求めた第2範囲情報に付与されているラベル(第2識別子)の中から、属性情報毎に1つのラベルを取り出すと共に、取り出した2つのラベルによってラベル組み合わせを生成する。
 図14は、本発明の模範的な第3の実施形態における2次元のサービス提供条件と、ラベル組み合わせとの関係を説明する図である。即ち、図14に示す例は、図12Aに示すX座標用の範囲情報リスト13において付与されたラベル(A~E)と、図12Bに示すY座標用の範囲情報リスト13において付与されたラベル(a~e)との組み合わせによって得られるラベル組み合わせと、サービス提供条件ID(C1~C3)との関係を、2次元座標を利用して表している。図14に示す例では、C1なるサービス提供条件IDが表す平面範囲と、C2なるサービス提供条件IDが表す平面範囲との間に一部重複する領域があることが判る。
 そして、サービス提供条件変換部103は、生成したラベル組み合わせと、そのラベル組み合わせを含む第1範囲情報に付与されている少なくとも何れかのサービス提供条件IDとを関連付けることにより、識別子対応リスト14を生成する。
 そして、サービス提供条件変換部103は、変換済のサービス提供条件として、作成した識別子対応リスト14を、サービス条件登録部104に渡す。
 サービス提供条件登録部104は、サービス提供条件変換部103から入手した識別子対応リスト14を、サービス提供条件記憶部107に保存する。
 ユーザ情報受信部110は、ユーザ端末300からユーザ情報(図11)を受信するのに応じて、受信したユーザ情報を、ユーザ情報変換部108に渡す。
 ユーザ情報変換部108は、ユーザ情報受信部110からユーザ情報を受け取るのに応じて、そのユーザ情報に含まれる属性情報(X座標値及びY座標値)を検索キーとして用いることにより、範囲情報記憶部106に記憶されている範囲情報リスト13(図12A及び図12B)を検索する。これにより、ユーザ情報変換部108は、範囲情報リスト13の中から、当該属性情報が含まれる第2範囲情報を特定すると共に、特定した第2範囲情報に付与されているラベルを取得する。本実施形態の場合、ユーザID=1なるユーザの現在位置情報は、X座標値=1394610、Y座標値=354015である(図11)。このため、ユーザ情報変換部108は、範囲情報リスト13(図12A及び図12B)から、ラベルB及びラベルcをラベル組み合わせとして入手する。
 ユーザ情報変換部108は、当該ユーザ情報に含まれるユーザIDと、上記の如く入手したラベル組み合わせを、変換済ユーザ情報として、コンテンツ検索部109に渡す。
 コンテンツ検索部109は、サービス提供条件記憶部107に記憶されている識別子対応リスト14(図13)を、入手したラベル組み合わせを検索キーとして用いることによって検索する。これにより、コンテンツ検索部109は、識別子対応リスト14の中から、当該ラベル組み合わせに対応するサービス提供条件IDを入手する。本実施形態の場合、ユーザ情報変換部108から入手したラベル組み合わせは“B”及び“c”であるから、コンテンツ検索部109は、識別子対応リスト14から、“C1”及び“C2”なるサービス提供条件IDを入手する。
 即ち、コンテンツ検索部109は、2種類の属性情報を取得するのに応じて、2種類の範囲情報リスト13(図12A及び図12B)を検索することにより、2種類のラベルからなるラベル組み合わせを求める。そして、コンテンツ検索部109は、求めたラベル組み合わせに基づいて、識別子対応リスト14(図13)を検索することにより、当該ラベル組み合わせに対応するところの、少なくとも1つのサービス提供条件IDを求め、これにより、当該ユーザ端末300に提供すべきコンテンツを特定する。
 上述したコンテンツ検索部109による処理により、当該ユーザ端末300に提供すべきサービスとしての特定のコンテンツを選択する際に参照すべきサービス提供条件IDが特定される。係る一連の処理によってサービス提供条件IDが見つかった場合、コンテンツ検索部109は、そのサービス提供条件IDと、ユーザ情報変換部108から入手したユーザIDとを、コンテンツ送信部111に渡す。
 コンテンツ送信部111は、上述した第2の実施形態と同様な処理を行うことにより、コンテンツ検索部109が特定したサービス提供条件IDに関連付けされているコンテンツを、コンテンツ検索部109から入手したユーザIDによって特定されるユーザ端末300に送信する。
 次に、更に図15A、図15B、及び図16を参照して、本実施形態におけるコンテンツ配信サーバ100の処理フローを中心に説明する。本実施形態においてコンテンツ配信サーバ100が実行する処理は、サービス提供条件の登録処理(図15A及び図15B)と、サービス提供条件の検索処理(図16)とに大別することができる。以下、これらの処理について順に説明する。
 図15A及び図15Bは、本発明の模範的な第3の実施形態に係るコンテンツ提供システムにおいて、コンテンツ配信サーバが実行するサービス提供条件の登録処理を示すフローチャートである。
 ステップS301:サービス提供条件受信部101は、コンテンツと、そのコンテンツに関するサービス提供条件(図10)とを、コンテンツ登録端末200から受信する。そして、サービス提供条件受信部101は、受信したサービス提供条件を範囲情報更新部102に渡す。サービス提供条件受信部101は、受信したコンテンツを、当該サービス提供条件に含まれるサービス提供条件IDと関連付けた状態で、コンテンツ保持部105に登録する。
 ステップS302:範囲情報更新部102は、サービス提供条件受信部101からサービス提供条件を受け取ると共に、変数iに0を代入する。
 ステップS303:範囲情報更新部102は、入手したサービス提供条件に含まれる第1範囲情報iから、下限値iと属性情報iとを取り出し、その下限値iを含む第2範囲情報が、範囲情報記憶部106が記憶している範囲情報リストiの中に存在するか否か判断する。範囲情報更新部102は、この判断において、存在すると判断した場合(ステップS303にてYES)は処理をステップS305に進める。一方、範囲情報更新部102は、この判断において、存在しないと判断した場合(ステップS305にてNO)は処理をステップS304に進める。
 ステップS304:範囲情報更新部102は、ステップS303にて注目した第1範囲情報の下限値iを含む新たな第2範囲情報を作成し、作成した第2範囲情報を、その新たな第2範囲情報に対して付与した新たなラベルと共に、範囲情報リストiに登録する。
 ステップS305:範囲情報更新部102は、ステップS303にて注目した第1範囲情報の上限値iに1加算した値が、範囲情報リスト13に登録されている複数の第2範囲情報の中に存在するか否かを判断する。範囲情報更新部102は、この判断において、存在すると判断した場合(ステップS305にてYES)は処理をステップS307に進める。一方、範囲情報更新部102は、この判断において、存在しないと判断した場合(ステップS305にてNO)は処理をステップS306に進める。
 ステップS306:範囲情報更新部102は、当該上限値iに1加算した値を下限値とする新たな第2範囲情報を作成し、作成した第2範囲情報を、その新たな第2範囲情報に対して付与した新たなラベルと共に、範囲情報リストiに登録する。
 ステップS307:範囲情報更新部102は、変数iに1を加算すると共に、ステップS301にて入手したサービス提供条件に含まれる第1範囲情報の数が変数i以下であるかを判断する。範囲情報更新部102は、この判断結果が“真”の場合(ステップS307にてNO)は処理をステップS308に進める。一方、範囲情報更新部102は、この判断結果が“偽”の場合(ステップS307にてYES)は処理をステップS303に戻す。
 ステップS308:範囲情報更新部102は、ステップS301にて入手したサービス提供条件を、サービス提供条件変換部103に渡す。
 ステップS309:サービス提供条件変換部103は、範囲情報更新部102からサービス提供条件を受け取ると共に、変数jに0を代入する。
 ステップS310:サービス提供条件変換部103は、第1範囲情報jから、属性情報j、下限値j、及び上限値jとを取り出す。そして、サービス提供条件変換部103は、範囲情報記憶部106が当該属性情報jと関連付けて保持している範囲情報リストjから、当該下限値jから当該上限値jまでの数値範囲を含み、且つ互いに隣接する複数の第2範囲情報を取得する。
 ステップS311:サービス提供条件変換部103は、取得した複数の第2範囲情報からラベルを取り出し、取り出した複数のラベルを含むラベルリストjを作成する。
 例えば、サービス提供条件C1における第1範囲情報(X座標)の下限値は1394605、上限値は1394629である。このため、サービス提供条件変換部103は、範囲情報リスト(X座標)から、第2範囲情報として、{1394605,B}、{1394610,C}、及び{1394615,D}を取得する。そして、サービス提供条件変換部103は、これらの第2範囲情報に個別に付与されているラベルをリストとしてまとめることにより、ラベルリスト{B,C,D}を作成する。サービス提供条件変換部103は、サービス提供条件C2及びC3についても同様な処理を行う。
 また、サービス提供条件C1における第1範囲情報(Y座標)の下限値は354010、上限値は354029である。このため、サービス提供条件変換部103は、範囲情報リスト(Y座標)から、第2範囲情報として、{354010,c}及び{354005,d}を取得する。そして、サービス提供条件変換部103は、これらの第2範囲情報に個別に付与されているラベルをリストとしてまとめることにより、ラベルリスト{c,d}を作成する。
 ステップS312:サービス提供条件変換部103は、変数jに1を加算する。
 ステップS313:サービス提供条件変換部103は、範囲情報更新部102から受け取ったサービス提供条件が含む第1範囲情報の数が、変数j以下であるかを判断する。サービス提供条件変換部103は、この判断結果が“真”の場合(ステップS313にてNO)は処理をステップS314に進める。一方、サービス提供条件変換部103は、この判断結果が“偽”の場合(ステップS313にてYES)は処理をステップS310に戻す。
 ステップS314:サービス提供条件変換部103は、上述した処理によって作成した全てのラベルリストから、それぞれ1つのラベルを取り出すことによって得られる全ての組み合わせを生成する。
 例えば、サービス提供条件変換部103は、サービス提供条件C1のX座標に対応するラベルリスト{B,C,D}と、Y座標に対応するラベルリスト{c,d}とを参照することにより、それらラベルリストの中から、それぞれ1つのラベルを組み合わせとして取り出す。これにより、サービス提供条件変換部103は、{B,c}、{B,d}、{C,c}、{C,d}、{D,c}、及び{D,d}なる複数のラベル組み合わせを作成する。サービス提供条件変換部103は、サービス提供条件C2及びC3についても同様な処理を行う。
 ステップS315:サービス提供条件変換部103は、変数kに0を代入する。
 ステップS316:サービス提供条件変換部103は、ラベル組み合わせkと、サービス提供条件IDとを、サービス条件登録部104に渡す。サービス提供条件登録部104は、サービス提供条件変換部103から入手した当該ラベル組み合わせkとサービス提供条件IDとを、サービス提供条件記憶部107に登録する。
 ステップS317:サービス提供条件変換部103は、生成されたラベル組み合わせの数が変数k以下であるかを判断する。そしてサービス提供条件変換部103は、この判断結果が“真”の場合(ステップS317にてNO)は処理を終了する。一方、サービス提供条件変換部103は、この判断結果が“偽”の場合(ステップS317にてYES)は処理をステップS316に戻す。
 図16は、本発明の模範的な第3の実施形態に係るコンテンツ提供システムにおいて、コンテンツ配信サーバが実行するサービス提供条件の検索処理を示すフローチャートである。
 ステップS401:ユーザ情報受信部110は、ユーザ端末300からユーザ情報(図11)を受信するのに応じて、受信したユーザ情報を、ユーザ情報変換部108に渡す。
 ステップS402:ユーザ情報変換部108は、ユーザ情報受信部110からユーザ情報を入手すると共に、変数iに0を代入する。
 ステップS403:ユーザ情報変換部108は、入手したユーザ情報から、ユーザIDと属性情報iとを取り出す。そしてユーザ情報変換部108は、取り出した属性情報iから、属性名(本実施形態では座標の種類としての「X座標」及び「Y座標」)iと属性値i(本実施形態では座標値としての「X座標値」及び「Y座標値」)とを取り出す。更にユーザ情報変換部108は、当該属性名iによって特定される範囲情報リストiを、前記範囲情報記憶部106から入手する。
 ステップS404:ユーザ情報変換部108は、ステップS403にて入手した範囲情報リストiから、当該属性値iを数値範囲内に含む第2範囲情報iを入手する。
 ステップS405:ユーザ情報変換部108は、ステップS404にて入手した第2範囲情報iに関連付けされているラベルiを、例えばRAM(図2には不図示)等の一時記憶領域に格納する。
 ステップS406:ユーザ情報変換部108は、変数iに1を加算する。
 ステップS407:ユーザ情報変換部108は、ステップS401にて入手したユーザ情報に含まれる属性の数が変数i以下であるかを判断する。そしてユーザ情報変換部108は、この判断結果が“真”の場合(ステップS407にてYES)は処理をステップS408に進める。一方、ユーザ情報変換部108は、この判断結果が“偽”の場合(ステップS407にてNO)は処理をステップS403に戻す。
 ステップS408:ユーザ情報変換部108は、入手したユーザ情報に含まれるユーザIDと、ステップS405にて一時記憶している複数のラベルからなるラベル組み合わせとを、コンテンツ検索部109に渡す。コンテンツ検索部109は、当該ユーザIDと当該ラベル組み合わせとを受け取るのに応じて、サービス提供条件記憶部107に記憶されている識別子対応リスト(図13)から、当該ラベル組み合わせと関連付けて保持されているサービス提供条件IDを検索する。
 ステップS409:コンテンツ検索部109は、ステップS408における検索の結果、サービス提供条件IDが見つかった場合(ステップS409にてYES)は、当該ユーザIDと、当該サービス提供条件IDとを、コンテンツ送信部111に渡す。一方、ステップS408における検索においてサービス提供条件IDを見つけられなかった場合(ステップS409にてNO)、コンテンツ検索部109は、処理を終了する。
 ステップS410:コンテンツ送信部111は、コンテンツ検索部109から、ユーザIDとサービス提供条件IDとを受け取る。そしてコンテンツ送信部111は、当該サービス提供条件IDに関連付けられているコンテンツを、コンテンツ保持部105から取得し、取得したコンテンツを、当該ユーザIDによって識別されるユーザ端末300に送信する。
 尚、上述した本実施形態では、1つのサービス提供条件が入力されるのに応じて、範囲情報リストの更新と、サービス提供条件記憶部107への登録とが実行される処理構成である。しかしながら、本発明は係る処理構成には限定されない。例えば、本発明の他の実施形態においては、ある程度の数のサービス提供条件が入力されるのに応じて、範囲情報リストの更新と、サービス提供条件記憶部107への登録とが実行される処理構成を採用してもよい。
 上述した第3の実施形態によれば、範囲情報リスト13(図12A及び図12B)には、下限値を元に整列された個々の第2範囲情報(X座標値の範囲、Y座標値の範囲)に対して第2識別子(ラベル)が付与されている。識別子対応リスト14(図13)には、係る第2識別子と、個々の第2範囲を少なくとも一部に含むところの、1つ以上の第1範囲を個別に識別すべく付与された第1識別子(サービス提供条件ID)とが関連付けされている。このため、本実施形態に係るコンテンツ配信サーバ100は、コンテンツの提供が要求された際に、そのサービスを適用可能な場合(条件)を表すサービス提供条件が、図10に示す2種類(二次元)の座標値の範囲の如く数値範囲(広がり)を有する場合であっても、これらのリストを参照することにより、その範囲内の個々の値は検索する必要がない。
 即ち、本実施形態に係るコンテンツ提供システム及びコンテンツ配信サーバ100は、使用するハードウェア資源(メモリ使用量等)を抑えつつ、範囲指定を含む大量のサービス提供条件が入力された場合であっても、それらサービス提供条件の中から、要求に対応するコンテンツを短時間で検索(特定)すると共に、特定のユーザ端末300に提供することができる。
 一般に、ハッシュテーブルを用いた検索処理では、そのハッシュテーブルに登録したキー値と、そのキー値に対応するイグザクトマッチ(完全一致)による判断しか行うことができない。これに対して、上述した第2及び第3実施形態に係るコンテンツ配信サーバ100(サービス検索装置1)によれば、ラベル(ラベル組み合わせ)リストに登録された個々のラベルと、当該個々のリストに対応するサービス提供IDとが登録されたテーブル(識別子対応リスト14)を用いることにより、当該個々のラベルに対応する範囲を、一度に検索することができる。
 尚、上述した第2及び第3の実施形態では、説明の便宜上から、コンテンツ配信サーバ100が範囲情報リスト13及び識別子対応リスト14を生成すると共に記憶している構成を例に本発明を説明した。しかしながら、本発明は、係る構成には限定されず、範囲情報リスト13及び識別子対応リスト14の少なくとも何れかをコンテンツ配信サーバ100が外部装置から参照する構成であってもよい。
 また、上述した第2及び第3の実施形態では、説明の便宜上から、あるユーザ端末300から要求されたコンテンツを、そのユーザ端末自体に提供する構成を例に本発明を説明した。しかしながら、本発明は、係る構成には限定されず、あるユーザ端末300から要求されたコンテンツを、そのユーザ端末とは異なるユーザ端末300に提供する構成であっても良い。
 <ハードウェア構成>
 図18は、本発明の模範的な第1の実施形態に係るサービス検索装置1、並びに第2及び第3の実施形態に係るコンテンツ配信サーバ100を実現可能なコンピュータ(情報処理装置)のハードウェア構成を例示的に説明する図である。図18に示したコンピュータ1000のハードウェアは、CPU1001、通信インタフェース(I/F)1002、ROM(Read Only Memory)1003、RAM(Random Access Memory)1004、及びハードディスクドライブ(HD)1005を備え、これらがバス1006を介して接続された構成を有する。通信インタフェース1002は、上述した第2及び第3の実施形態において、ネットワーク400を介して通信を実現する一般的な通信手段である。係るハードウェア構成において、CPU1001は、サービス検索装置1、或いはコンテンツ配信サーバ100としてのコンピュータ1000の全体の動作を司る。
 そして、上述した第1乃至第3の実施形態を例に説明した本発明は、その説明において参照したフローチャート(図8、図9、図15A、図15B、及び図16)の機能を実現可能なコンピュータ・プログラムを、図18に示すコンピュータ1000に対して供給した後、そのコンピュータ・プログラムを、コンピュータ1000のCPU1001に読み出して実行することによって達成される。また、コンピュータ1000内に供給されたコンピュータ・プログラムは、読み書き可能な一時記憶メモリ(1004)またはハードディスク装置(1005)等の不揮発性(non−transitory,non−volatile)の記憶デバイス(記憶媒体)に格納すれば良い。
 ここで、上記各フローチャートに係るコンピュータ・プログラムは、上述した第2及び第3の実施形態において説明したサービス提供条件受信部101、範囲情報更新部102、サービス提供条件変換部103、サービス提供条件登録部104、ユーザ情報変換部108、コンテンツ検索部109、ユーザ情報受信部110、及びコンテンツ送信部111の各機能を表す。但し、サービス提供条件受信部101、ユーザ情報受信部110、及びコンテンツ送信部111に関しては、ハードウェアとして備える通信インタフェース1002自体が実行する一般的な通信機能は除外されたコンピュータ・プログラムであるとする。また、上述した第1の実施形態において説明した検索部11も、コンピュータ・プログラムによって表すこともできる。そして係るコンピュータ・プログラムは、例えば、ハードディスクドライブ1005に格納したプログラム群に対応する。
 また、前記の場合において、当該装置内へのコンピュータ・プログラムの供給方法は、CD−ROM等の各種記録媒体を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコード或いは、係るコードが記録されたところの、コンピュータ読み取り可能な記憶媒体によって構成されると捉えることができる。
Next, embodiments of the present invention will be described in detail with reference to the drawings.
<First Embodiment>
FIG. 1 is a block diagram showing a configuration of a service search apparatus according to a first exemplary embodiment of the present invention. In the present embodiment, the service search device 1 is, for example, a server that can communicate with an external device via a communication network (hereinafter simply referred to as “network”) not shown in FIG. 1 and a communication interface. Information processing apparatus.
The service search device 1 includes a search unit 11. Hereinafter, the operation of the search unit 11 in the present embodiment will be described.
First, the search unit 11 searches the range information list 13 based on the attribute information 12 related to the acquired object, thereby obtaining the second identifier corresponding to the second range in which the attribute information 12 is included in the range information list. Get from 13.
Here, the object is a request source (source of request) that requests provision of a certain service. The object is, for example, a user terminal such as a mobile phone, an external apparatus such as an information processing apparatus (computer) such as a server, or information regarding a user who operates the user terminal.
The range information list 13 includes individual second ranges for one or more second ranges that match at least one of the upper limit and the lower limit of the first range included in the service provision condition (condition (s) of service). A list (a table such as a database or a lookup table) to which a second identifier for identifying is assigned.
Next, the search unit 11 obtains one or more first identifiers corresponding to the obtained second identifier by searching the identifier correspondence list 14 based on the second identifier obtained as described above. And the search part 11 specifies the said certain service with the calculated | required 1st identifier.
Here, the identifier correspondence list 14 includes at least a part of the second identifier assigned to each of the second ranges and the individual second ranges for the one or more second ranges. A first identifier assigned to individually identify one or more first ranges is associated.
It should be noted that the range information list 13 and the identifier correspondence list 14 may be held inside the own device or in other devices outside the own device, as long as the service search device 1 can refer to them.
According to the first embodiment as described above, the range information list 13 is provided with the second identifier for each second range having a range (spread). The identifier correspondence list 14 associates the second identifier and the first identifier assigned to individually identify one or more of the first ranges, each of which includes at least a part of each second range. Has been. For this reason, when the service search apparatus 1 is requested to provide a service, even if the service provision condition indicating the case where the service is applicable (condition) has a range (spread), these lists By using, there is no need to search for individual values within that range. In other words, the service search device 1 suppresses hardware resources (memory usage, etc.) to be used, and even when a large amount of service provision conditions including range specification are input, from among these service provision conditions, The requested service can be searched (specified) in a short time.
<Second Embodiment>
Next, a second embodiment based on the service search device 1 according to the first embodiment described above will be described.
FIG. 2 is a block diagram illustrating a configuration of a content distribution server as a service search apparatus according to a second exemplary embodiment of the present invention and a configuration of a content providing system including the content distribution server. The content providing system shown in FIG. 2 roughly includes a content distribution server 100, a content registration terminal 200, and a user terminal 300.
The content providing system according to the present embodiment has its user terminal 300 in accordance with “step count” as an attribute (attribute information) received from the user terminal 300 from among a plurality of contents registered in advance in the content distribution server 100. Provide optimal content for (user of the user terminal). Here, the registration of the content in the content distribution server 100 is executed in response to a request from the content registration terminal 200.
Transmission of information such as the number of steps (corresponding to user information described later) from the user terminal 300 to the content distribution server 100 is automatically performed by the user terminal 300, for example, at intervals of several minutes, or a predetermined operation by the user is detected. It may be done as it is done. In response to receiving content from the content distribution server 100, the user terminal 300 presents the received content to the user via a user interface such as a display of the user terminal.
The content distribution server 100, the content registration terminal 200, and the user terminal 300 include a general communication interface (not shown in FIG. 2). The user terminal 300 can access the content distribution server 100 via the network 400. The content registration terminal 200 can access the content distribution server 100.
The network (communication network) 400 is a general communication line such as, for example, various communication lines owned by a mobile phone operator, the Internet provided by an Internet service provider, or the like.
In FIG. 2, for example, a case where the content registration terminal 200 also functions as a management terminal for the content distribution server 100 is considered, so that the content registration terminal 200 and the content distribution server 100 are directly connected. Is illustrated. However, the present system is not limited to such a configuration. That is, the content registration terminal 200 and the content distribution server 100 may be configured to be accessible via a network such as the Internet.
(Content registration terminal 200)
The user of the content registration terminal 200 can register content to be provided using the content distribution server 100 in the content distribution server 100. Here, the user of the content registration terminal 200 is, for example, a business operator that provides a content distribution service.
The content registration terminal 200 is an information processing apparatus (input device such as a keyboard and mouse not shown in FIG. 2, an output device such as a liquid crystal display, a CPU (Central Processing Unit), a storage device such as a memory and a hard disk drive, etc. Computer). The content registration terminal 200 transmits the content desired to be registered and the conditions for providing the content (service provision conditions) to the content distribution server 100.
In the present embodiment, the content is, for example, various kinds of information created by the business operator to be provided to the user, and includes store guidance, product recommendation, and the like.
The service provision condition is information in which a service provision condition ID (service provision condition identifier) is associated with the first range information. Here, the first range information is information representing a range of values (upper limit value and lower limit value) associated with the content specified by the service provision condition ID. The first range information functions as a condition for providing a service specified by the associated service provision condition ID. The service provision condition ID and the first range information constituting the service provision condition will be described later with reference to FIG.
(User terminal 300)
A user of the user terminal 300 can receive provision of a content distribution service using the content distribution server 100. The user terminal 300 is, for example, an information processing apparatus (computer) having the same configuration as the content registration terminal 200 or a mobile phone (mobile terminal) having an information processing function.
(Content distribution server 100)
The content distribution server 100 corresponds to the service search device 1 in the first embodiment described above. The content distribution server 100 is an information processing apparatus (server computer) including a database constituted by a storage device such as a hard disk drive (not shown in FIG. 2). That is, the content distribution server 100 implements various functions to be described later by executing a software program (computer program) using hardware resources such as a CPU. A hardware configuration example of the content distribution server 100 will be described later with reference to FIG.
As shown in FIG. 2, the content distribution server 100 includes a service provision condition receiving unit 101, a range information update unit 102, a service provision condition conversion unit 103, a service provision condition registration unit 104, a content holding unit 105, a range information storage unit 106, The service provision condition storage unit 107, the user information conversion unit 108, the content search unit 109, the user information reception unit 110, and the content transmission unit 111 are included.
The service provision condition receiving unit 101 receives content and service provision conditions from the content registration terminal 200 that requests registration of the content. The service provision condition receiving unit 101 passes the received service provision condition to the range information update unit 102. As described above, the service provision condition is associated with the service provision condition ID and the first range information. The service provision condition receiving unit 101 associates the received content with the service provision condition ID included in the service provision condition, and registers the associated content and the service provision condition ID in the content holding unit 105.
The range information storage unit 106 holds one range information list 13 for a certain attribute (“step count” in this embodiment). That is, in the range information storage unit 102, one attribute and the range information list 13 corresponding to the attribute have a one-to-one relationship.
FIG. 3 is a diagram conceptually illustrating a range information list in the content providing system according to the second exemplary embodiment of the present invention. In the range information list 13 shown in FIG. 3, “step count” is an attribute (attribute information) as an example in the present embodiment, as described above. The range information list 13 holds a plurality of second range information. As shown in FIG. 3, “lower limit value” and “label” are associated with each second range information. That is, in the present embodiment, the lower limit value is adopted as information (second range information) representing the range of the number of steps that is one-dimensional attribute information. Each second range information is given an identifier called “label”.
That is, in the example shown in FIG. 3, the individual second range information can be identified by the labels (A to G) and is aligned using the lower limit value. More specifically, in the present embodiment, the number of steps as an attribute cannot be taken as a decimal number or a negative number smaller than 1 for convenience of explanation, and is taken as a natural number including 0. Therefore, for example, the range of the number of steps to which the identifier of label A is given (second range information) is 0 to 1999. The range of the number of steps given the identifier B is 2000 to 5999. The range information storage unit 106 stores the range information list 13.
The range information update unit 102 receives service provision conditions from the service provision condition reception unit 101. The received service provision condition includes the first range information as described above. Therefore, the range information update unit 102 extracts the first range information from the received service provision condition. In the present embodiment, the first range information is information representing the range of the number of steps.
Here, the service provision condition ID and the first range information constituting the service provision condition will be described. FIG. 6 is a diagram conceptually illustrating service providing conditions in the content providing system according to the second exemplary embodiment of the present invention. In the case of the present embodiment, as shown in FIG. 6, for example, a range of steps 2000 to 5999 is associated with the service provision condition ID C1 as a condition when the service C1 is provided. The service provision condition ID C2 is associated with a range of steps 8500 to 11499 as a condition when the service C2 is provided.
The range information update unit 102 updates the registered contents of the range information list 13 by executing the following process for the first range information extracted from the service provision conditions.
That is, the range information update unit 102 determines whether or not the lower limit value of the extracted first range information exists among the lower limit values of the plurality of second range information registered in the range information list 13 (FIG. 3). Determine. In this determination, when the lower limit value of the first range information being noticed is different from the lower limit value of any second range information, the range information update unit 102 determines the lower limit value of the first range information being noticed. While creating new second range information as the lower limit value, a new name (label) is assigned to the new second range information. Then, the range information update unit 102 registers (adds) the newly created second range information and its label in the range information list 13.
Further, the range information updating unit 102 has a value obtained by adding 1 to the upper limit value of the extracted first range information in the plurality of second range information registered in the range information list 13 (FIG. 3). It is determined whether or not. In this determination, when the value obtained by adding 1 to the upper limit value does not exist (is not included) in any second range information, the range information update unit 102 sets the value obtained by adding 1 to the upper limit value to the lower limit value. The new second range information is created, and a new name (label) is given to the new second range information. Then, the range information update unit 102 registers (adds) the newly created second range information and its label in the range information list 13.
Here, in this embodiment, the reason why 1 is added to the upper limit value of the extracted first range information will be described. This is because, as described above, the “number of steps” handled in the present embodiment is a natural number including 0, not a decimal number or a negative number smaller than 1, for convenience of explanation. That is, the numerical values (steps) represented by the first and second range information are discrete values by one. Therefore, in this embodiment, the granularity of the numerical values represented by the first and second range information is 1. That is, this granularity is attributed to the fact that this embodiment employs the number of steps as an attribute. For this reason, depending on the nature (type) of the attribute to be employed, a finer grain size value or a larger grain size value may be employed as appropriate.
Further, the range information update unit 102 determines whether the upper limit value and the lower limit value of the extracted first range information do not overlap with any second range information already registered in the range information list 13. In this determination, when it is determined that there is no overlap with any second range information, the range information update unit 102 obtains new second range information that matches at least one of the upper limit value and the lower limit value of the first range information. While creating, a new name (label) is given to the new second range information. Then, the range information update unit 102 registers (adds) the newly created second range information and its label in the range information list 13. Here, a specific example in this case will be described.
For example, consider a case where {[10 ~], [20 ~]} is registered as the existing range information list 13 (label notation is omitted). In the notation in this example, “[** ˜]” is individual second range information registered in the range information list 13, and “**” represents a lower limit value. In this situation, when [1 to 4] is registered as the first range information, as described above, the upper limit value and the lower limit value of the first range information are either registered in the existing range information list 13. The second range information does not overlap. Therefore, in this case, the range information update unit 102 newly adds two pieces of second range information ([1˜] and [5˜]) as the updated range information list 13 as {[1˜]. , [5 ~], [10 ~], [20 ~]} are stored in the range information storage unit 106.
Further, the range information updating unit 102 includes any upper range value or lower limit value of the extracted first range information included in at least any second range information already registered in the range information list 13. It is determined whether the upper limit value and the lower limit value of the two-range information do not match. In this determination, when it is determined that the upper limit value and the lower limit value of any of the second range information do not match, the range information update unit 102 selects at least any of the upper limit value and the lower limit value of the extracted first range information. One or more second range information that is already registered in the range information list 13 is divided into a plurality of ranges having ranges that coincide with these. Then, the range information updating unit 102 gives a new name (label) to the new second range information created by the division. Then, the range information update unit 102 registers (adds) the newly created second range information and its label in the range information list 13.
FIG. 7 is a diagram conceptually illustrating an operation when dividing the second range information in the content providing system according to the second exemplary embodiment of the present invention. In the example illustrated in FIG. 7, the second range information with label A having a lower limit value of 0 and the second range information with label B having a lower limit value of 2000 are registered in the existing range information list 13. In the figure, a case where new second range information having a lower limit value of 1000 is registered is shown. In this case, the second range information whose lower limit value is 1000 is not registered in the existing range information list 13. For this reason, the range information update unit 102 divides the second range information of label A into two pieces of second range information of label A ′ and label Z. In this case, after the division, the lower limit value of the second range information that is the label A ′ is 0, and the lower limit value of the second range information that is the label Z is 1000. The range information update unit 102 updates the range information list 13 by replacing the first second range information of the label A that has been originally registered with the two second range information of the label A ′ and the label Z. To do.
Further, this range division will be described based on an example using the above-described symbols. Consider a case where the first range information [15-19] is added when {[1 ~], [5 ~], [10 ~], [20 ~]} exists as the existing range information list 13. . In this case, the range information update unit 102 divides the existing second range information [10 to 19] into [10 to 14] and [15 to 19]. As a result, the updated range information list 13 becomes {[1 ~], [5 ~], [10 ~], [15 ~], [20 ~]}. In the present embodiment, since the second range information is arranged based on the lower limit value, for example, when adding 21 or more first range information, new second range information [20 to infinity] is added. May be provided.
When completing the above processing, the range information update unit 102 passes the service provision condition received from the service provision condition reception unit 101 to the service provision condition conversion unit 103.
In response to receiving the service provision condition from the range information update unit 102, the service provision condition conversion unit 103 performs the following processing for each first range information included in the received service provision condition (FIG. 6). Execute.
That is, the service provision condition conversion unit 103 includes a plurality of second range information that includes a numerical range from the lower limit value to the upper limit value in the first range information associated with a certain service provision condition ID and is adjacent to each other as the numerical range. Is acquired from the range information list 13 (FIG. 3) held by the range information storage unit 106. Then, the service provision condition conversion unit 103 creates a label list by collecting the labels individually assigned to the acquired second range information as a list. The service provision condition conversion unit 103 performs this series of processes on the individual first range information.
When the above processing is completed, the service provision condition conversion unit 103 selects one label from each of a plurality of label lists created for the individual first range information, and combines them to obtain a label combination. Generate. However, in the present embodiment, the label list is one label set of B, D, E, and F. That is, in this embodiment, since the number of steps is handled as a one-dimensional attribute, only one label list is generated. Therefore, in the present embodiment, label combination processing based on a plurality of label lists can be omitted. This label list corresponds to the labels listed in the left column of the identifier correspondence list (FIG. 4A or FIG. 4B) described later.
In the third embodiment to be described later, since a two-dimensional attribute (two-dimensional coordinate) is handled, the service provision condition conversion unit 103 generates a plurality of label lists, and individual label lists. Combine the labels contained in. For this reason, in the third embodiment, the label combinations listed in the left column of the identifier correspondence list shown in FIG. 13 are generated.
Next, the service provision condition conversion unit 103 includes a service provision condition corresponding to the generated label combination (one label list in the present embodiment) and each label combination (label itself in the present embodiment). The identifier correspondence list 14 is generated by associating with the service provision condition ID.
4A and 4B are diagrams conceptually showing an identifier correspondence list in the content providing system according to the second exemplary embodiment of the present invention. In the example shown in FIG. 4A, for one or more pieces of second range information, one label that includes each of the second range information and at least a part of the second range information is included. An identifier correspondence list 14 in which service provision condition IDs assigned to individually identify the first range information are associated is shown. On the other hand, the example shown in FIG. 4B shows the identifier correspondence list 14 in which the service provision condition IDs associated with the same label are combined into one line so that the labels in the identifier correspondence list 14 do not overlap.
Then, the service provision condition conversion unit 103 passes the created identifier correspondence list 14 to the service condition registration unit 104 as the converted service provision condition.
The service provision condition registration unit 104 stores the identifier correspondence list 14 obtained from the service provision condition conversion unit 103 in the service provision condition storage unit 107. The identifier correspondence list 14 stored in the service provision condition storage unit 107 can be considered as a mapping from a label combination to a service provision condition ID, for example. Alternatively, the identifier correspondence list 14 is a hash table in which at least one service provision condition ID is associated with each hash key based on a plurality of types of first range information for a plurality of hash keys (label combinations). Can also be considered.
The user information receiving unit 110 passes the received user information to the user information converting unit 108 in response to receiving user information from the user terminal 300 that has requested service provision. FIG. 5 is a diagram illustrating user information transmitted by the user terminal in the content providing system according to the second exemplary embodiment of the present invention. As illustrated in FIG. 5, the user information according to the present embodiment includes a user ID that is an identifier of a user who uses the user terminal 300 and the number of steps. The number of steps is attribute information related to the user terminal 300 as an external apparatus that has requested provision of the service (attribute value: equivalent to attribute information 12 related to the object in the first embodiment). In the present embodiment, the user terminal 300 is, for example, a mobile phone provided with a function of measuring the number of steps of the user who owns the user terminal, or a portable information processing apparatus.
In the third embodiment to be described later, since two-dimensional coordinates are handled, the user information (FIG. 11) includes a plurality of attribute information (attribute values).
In response to receiving the user information from the user information receiving unit 110, the user information converting unit 108 executes the following process on the attribute information included in the user information.
That is, the user information conversion unit 108 searches the range information list 13 stored in the range information storage unit 106 by using the acquired attribute information as a search key. As a result, the user information conversion unit 108 specifies the second range information including the attribute information from the range information list 13 and acquires the label attached to the specified second range information. In the case of this embodiment, since the number of steps of the user with user ID = 1 is 4567, the user information conversion unit 108 obtains the label B from the range information list 13 (FIG. 3).
When the above processing is completed, the user information conversion unit 108 passes the user ID included in the user information and the label obtained as described above to the content search unit 109 as converted user information.
The content search unit 109 searches the identifier correspondence list 14 stored in the service provision condition storage unit 107 by using the acquired label (label combination in the case of the third embodiment) as a search key. Thereby, the content search unit 109 obtains the service provision condition ID corresponding to the label (label combination) from the identifier correspondence list 14. In the present embodiment, since the label obtained from the user information conversion unit 108 is “B”, the content search unit 109 determines that the service provision condition ID “C1” from the identifier correspondence list 14 (FIG. 4A or 4B). Get
In the third embodiment to be described later, since two-dimensional coordinates are handled, the user information (FIG. 11) includes a plurality of attribute information (attribute values). For this reason, the user information conversion unit 108 obtains labels for a plurality of individual attribute information, and passes the obtained plurality of labels to the content search unit 109 as label combinations. Then, based on the label combination, the content search unit 109 obtains a service provision condition ID corresponding to the label combination from the identifier correspondence list 14 (FIG. 13).
Through the processing by the content search unit 109 described above, a service provision condition ID to be referred to when selecting specific content as a service to be provided to the user terminal 300 is identified. When the service provision condition ID is found by such a series of processes, the content search unit 109 passes the service provision condition ID and the user ID obtained from the user information conversion unit 108 to the content transmission unit 111.
The content transmission unit 111 uses the service provision condition ID obtained from the content search unit 109 as a search key, so that the content with which the service provision condition ID is associated from the contents stored in the content holding unit 105 Get Then, the content transmission unit 111 transmits the acquired content to the user terminal 300 specified by the user ID acquired from the content search unit 109.
Next, with reference to FIGS. 8 and 9, the processing flow of the content distribution server 100 in this embodiment will be mainly described. The processing executed by the content distribution server 100 in this embodiment can be broadly divided into service provision condition registration processing (FIG. 8) and service provision condition search processing (FIG. 9). Hereinafter, these processes will be described in order.
FIG. 8 is a flowchart showing a service providing condition registration process executed by the content distribution server in the content providing system according to the second exemplary embodiment of the present invention.
Step S101: The service provision condition receiving unit 101 receives content and service provision conditions (FIG. 6) related to the content from the content registration terminal 200. Then, the service provision condition receiving unit 101 passes the received service provision condition to the range information update unit 102. The service provision condition receiving unit 101 registers the received content in the content holding unit 105 in a state where the received content is associated with the service provision condition ID included in the service provision condition.
Step S102: The range information update unit 102 determines whether or not the second range information including the lower limit value of the first range information included in the service provision condition exists in the range information list 13 (FIG. 3). To do. If the range information update unit 102 determines that it exists in this determination (YES in step S102), the process proceeds to step S104. On the other hand, if range information update unit 102 determines that there is no such information (NO in step S102), the process proceeds to step S103.
Step S103: The range information update unit 102 creates new second range information including the lower limit value of the first range information noted in step S102, and uses the created second range information as the new second range information. Is registered in the range information list 13 together with a new label assigned to the.
Step S104: The range information update unit 102 has a value obtained by adding 1 to the upper limit value of the first range information noticed in Step S102 in the plurality of second range information registered in the range information list 13. Determine whether or not. If range information update unit 102 determines that it exists in this determination (YES in step S104), the process proceeds to step S106. On the other hand, if the range information update unit 102 determines that it does not exist in this determination (NO in step S104), the process proceeds to step S105.
Step S105: The range information update unit 102 creates new second range information whose lower limit is a value obtained by adding 1 to the upper limit value, and the created second range information is added to the new second range information. Are registered in the range information list 13 together with the new label given in the above.
Step S <b> 106: When the range information update unit 102 completes the processing from Step S <b> 102 to Step S <b> 105 described above, it passes the service provision condition received from the service provision condition reception unit 101 to the service provision condition conversion unit 103.
Step S107: The service provision condition conversion unit 103 extracts the lower limit value and the upper limit value of the first range information noticed in Step S102, and from the range information list 13 (FIG. 3) held by the range information storage unit 106. Then, a plurality of second range information including a numerical range from the lower limit value to the upper limit value and adjacent to each other is acquired.
Step S108: The service provision condition conversion unit 103 creates a label list by collecting the labels individually assigned to the individual second range information acquired in step S107 as a list.
Step S109: The service provision condition conversion unit 103 associates the generated label list with the identifier correspondence list 14 by associating the service provision condition ID including the service provision condition corresponding to each label constituting the label list. Generate.
FIG. 9 is a flowchart showing a service providing condition search process executed by the content distribution server in the content providing system according to the second exemplary embodiment of the present invention.
Step S201: The user information receiving unit 110 receives user information from the user terminal 300 that has requested service provision.
Step S202: The user information conversion unit 108 searches the range information list 13 stored in the range information storage unit 106 by using the attribute information included in the user information obtained in step S201 as a search key. As a result, the user information conversion unit 108 specifies the second range information including the attribute information from the range information list 13 and displays the label attached to the specified second range information, for example, in the RAM ( It is stored in a temporary storage area such as not shown in FIG.
Step S204: The content search unit 109 searches the identifier correspondence list 14 stored in the service provision condition storage unit 107 by using the label temporarily stored in step S203 as a search key.
Step S205: The content search unit 109 determines whether or not the service provision condition ID corresponding to the label exists in the identifier correspondence list 14 in the search in step S204. If content determination unit 109 determines that it exists in this determination (YES in step S205), the process proceeds to step S206. On the other hand, if content determination unit 109 determines that there is no such content (NO in step S205), the series of search processing ends.
Step S206: When the content search unit 109 detects the service provision condition ID corresponding to the label from the identifier correspondence list 14 in the determination in step S205, the content search unit 109 determines from the detected service provision condition ID and the user information conversion unit 108 The acquired user ID is passed to the content transmission unit 111. The content transmission unit 111 acquires the content corresponding to the acquired service provision condition ID from the content holding unit 105. Then, the content transmission unit 111 transmits the acquired content to the user terminal 300 specified by the user ID acquired from the content search unit 109.
According to the second embodiment described above, the range information list 13 (FIG. 3) includes a second identifier for each piece of second range information (information indicating the range of steps) arranged based on the lower limit value. (Label) is given. The identifier correspondence list 14 (FIGS. 4A and 4B) is assigned to individually identify the second identifier and one or more first ranges, each of which includes at least part of each second range. A first identifier (service provision condition ID) is associated. Therefore, in the content distribution server 100 according to the present embodiment, when the provision of content is requested, the service provision condition indicating a case (condition) where the service can be applied is within the range of steps shown in FIG. Even if it has a numerical range (spread), it is not necessary to search for individual values within that range by referring to these lists.
In other words, the content providing system and the content distribution server 100 according to the present embodiment can suppress the hardware resources (memory usage, etc.) to be used and input a large amount of service provision conditions including range specification. The content corresponding to the request can be searched (specified) in a short time from these service providing conditions and provided to a specific user terminal 300.
<Third Embodiment>
Next, a third embodiment based on the service search device according to the first embodiment and the content providing system according to the second embodiment will be described. In the following description, the characteristic part according to the present embodiment will be mainly described. In this case, the same reference numerals are assigned to the same configurations as those in the first and second embodiments described above, and redundant description is omitted.
The content providing system according to the present embodiment has the same overall configuration as the content providing system (FIG. 2) according to the second embodiment described above. In the second embodiment described above, a content providing system that uses the number of steps has been described as an example of one-dimensional attribute information. In contrast, in this embodiment, a content providing system that uses two-dimensional coordinates (XY coordinates) as an example of two-dimensional attribute information will be described. For this reason, for convenience of explanation, the user terminal 300 according to the present embodiment is a mobile phone including a GPS (Global Positioning System) sensor (not shown) or a portable information processing apparatus. The user terminal 300 according to the present embodiment generates user information including current position information (latitude information and longitude information as XY coordinate values) acquired by the GPS sensor. Then, the user terminal 300 transmits the generated user information to the content distribution server 100 at intervals of, for example, several minutes. Further, in response to receiving the content from the content distribution server 100, the user terminal 300 presents the received content to the user via a user interface such as a display of the user terminal.
(Content registration terminal 200)
The content registration terminal 200 according to the present embodiment has the same device configuration as the content registration terminal 200 according to the second embodiment described above. However, in the present embodiment, the service provision condition transmitted from the content registration terminal 200 to the content distribution server 100 is information in which a service provision condition ID and two types of first range information are associated with each other.
FIG. 10 is a diagram conceptually illustrating service providing conditions in the content providing system according to the exemplary third embodiment of the present invention. In the case of the present embodiment, as shown in FIG. 10, for example, the service provision condition ID C1 includes an X coordinate value range 1394605 to 1946629 and a Y coordinate value as a condition when the service C1 is provided. Range 354010 to 354029. The service provision condition ID C2 is associated with the range 1394600 to 1394614 of the X coordinate value and the range 354000 to 354019 of the Y coordinate value as conditions when the service C2 is provided.
(User terminal 300)
The user terminal 300 according to the present embodiment has the same device configuration as that of the user terminal 300 in the second embodiment described above, except that the user terminal 300 includes a GPS sensor as described above. FIG. 11 is a diagram illustrating user information transmitted by the user terminal in the content providing system according to the third exemplary embodiment of the present invention. As shown in FIG. 11, the user information according to the present embodiment includes a user ID that is an identifier of a user who uses the user terminal 300, and an X coordinate value and a Y coordinate value that represent the current position information of the user terminal. . The X coordinate value and the Y coordinate value are attribute information (attribute value: equivalent to the attribute information 12 related to the object in the first embodiment) related to the user terminal 300 as the external apparatus that has requested the provision of the service.
(Content distribution server 100)
The content distribution server 100 has the same device configuration as the content distribution server 100 in the second embodiment described above with reference to FIG. The content distribution server 100 according to the present embodiment corresponds to the service search device 1 according to the first embodiment described above.
As in the case of the second embodiment described above, the service provision condition receiving unit 101 receives content and service provision conditions from the content registration terminal 200 that requests registration of the content. However, the service provision conditions received in the present embodiment include an X coordinate value range and a Y coordinate value range for one service provision condition ID as described above with reference to FIG.
In this embodiment, the range information storage unit 106 stores two types of range information lists for the X coordinate and the Y coordinate as the range information list 13.
12A and 12B are diagrams conceptually illustrating a range information list in the content providing system according to the third exemplary embodiment of the present invention. FIG. 12A shows a range information list for the X coordinate, FIG. 12B shows a range information list for the Y coordinate. “X coordinate” and “Y coordinate” are attributes (attribute information) as an example in the present embodiment. Each range information list 13 has the same configuration as in the second embodiment. Each of the second range information shown in FIGS. 12A and 12B is associated with a “lower limit value” and a “label”. That is, in the present embodiment, the lower limit value is adopted as information (second range information) representing the range of “X coordinate” and “Y coordinate” that are two-dimensional attribute information. Each second range information is given an identifier called “label” as in the second embodiment. Also in this embodiment, the values that can be taken by the attributes “X coordinate” and “Y coordinate” cannot be taken as decimal numbers smaller than 1 and negative numbers for convenience of explanation, and are regarded as natural numbers including 0. And a discrete value with a granularity of one.
The range information list for the X coordinate and the Y coordinate is not limited to the data structure conceptually shown in FIGS. 12A and 12B described above. For example, a data structure that can be expressed by a so-called binary tree as shown in FIG. 17 can be adopted for the range information list for the X coordinate and the Y coordinate.
The range information update unit 102 performs an update process similar to that of the above-described second embodiment on the two types of range information list 13 according to the first range information including the two-dimensional attribute extracted from the service provision condition. Do. When the update process is completed, the range information update unit 102 passes the service provision condition received from the service provision condition reception unit 101 to the service provision condition conversion unit 103.
The service provision condition conversion unit 103 basically performs the same processing as in the second embodiment. However, in this embodiment, since a two-dimensional attribute is handled, a label combination is selected by selecting one label from a plurality of label lists created for each first range information and combining them. Generate. That is, in the present embodiment, the label combinations listed in the left column of the identifier correspondence list shown in FIG. 13 are generated.
FIG. 13 is a diagram conceptually showing an identifier correspondence list in the content providing system according to the third exemplary embodiment of the present invention. In the identifier correspondence list 14 shown in FIG. 13, for a plurality of keys (label combinations) in which two types (X coordinate and Y coordinate) of second range information are combined with labels given for each type. Based on the two types of first range information, at least one service provision condition ID is associated with each key.
That is, the service provision condition conversion unit 103 searches the second range information for each of the two types of attribute information based on the two types of first range information. Next, the service provision condition conversion unit 103 extracts one label for each attribute information from the labels (second identifiers) assigned to the second range information obtained by the search, and the two extracted labels To generate a label combination.
FIG. 14 is a diagram illustrating a relationship between a two-dimensional service provision condition and a label combination in the third exemplary embodiment of the present invention. That is, in the example shown in FIG. 14, the labels (A to E) given in the range information list 13 for X coordinate shown in FIG. 12A and the labels given in the range information list 13 for Y coordinate shown in FIG. The relationship between the label combination obtained by the combination with (a to e) and the service provision condition ID (C1 to C3) is expressed using two-dimensional coordinates. In the example shown in FIG. 14, it can be seen that there is a partially overlapping area between the plane range represented by the service provision condition ID C1 and the plane range represented by the service provision condition ID C2.
Then, the service provision condition conversion unit 103 generates the identifier correspondence list 14 by associating the generated label combination with at least one service provision condition ID given to the first range information including the label combination. To do.
Then, the service provision condition conversion unit 103 passes the created identifier correspondence list 14 to the service condition registration unit 104 as the converted service provision condition.
The service provision condition registration unit 104 stores the identifier correspondence list 14 obtained from the service provision condition conversion unit 103 in the service provision condition storage unit 107.
In response to receiving user information (FIG. 11) from the user terminal 300, the user information receiving unit 110 passes the received user information to the user information conversion unit 108.
In response to receiving user information from the user information receiving unit 110, the user information converting unit 108 uses the attribute information (X coordinate value and Y coordinate value) included in the user information as a search key, thereby storing range information. The range information list 13 (FIGS. 12A and 12B) stored in the unit 106 is searched. As a result, the user information conversion unit 108 specifies the second range information including the attribute information from the range information list 13 and acquires the label attached to the specified second range information. In the case of the present embodiment, the current position information of the user with user ID = 1 is X coordinate value = 1394610 and Y coordinate value = 354015 (FIG. 11). For this reason, the user information conversion unit 108 acquires the label B and the label c as a label combination from the range information list 13 (FIGS. 12A and 12B).
The user information conversion unit 108 passes the user ID included in the user information and the label combination obtained as described above to the content search unit 109 as converted user information.
The content search unit 109 searches the identifier correspondence list 14 (FIG. 13) stored in the service provision condition storage unit 107 by using the obtained label combination as a search key. As a result, the content search unit 109 obtains the service provision condition ID corresponding to the label combination from the identifier correspondence list 14. In the present embodiment, since the label combinations obtained from the user information conversion unit 108 are “B” and “c”, the content search unit 109 provides services “C1” and “C2” from the identifier correspondence list 14. Get the condition ID.
That is, the content search unit 109 searches the two types of range information list 13 (FIGS. 12A and 12B) in response to acquiring the two types of attribute information, thereby obtaining a label combination consisting of two types of labels. Ask. The content search unit 109 searches the identifier correspondence list 14 (FIG. 13) based on the obtained label combination to obtain at least one service provision condition ID corresponding to the label combination. Thus, the content to be provided to the user terminal 300 is specified.
Through the processing by the content search unit 109 described above, a service provision condition ID to be referred to when selecting specific content as a service to be provided to the user terminal 300 is identified. When the service provision condition ID is found by such a series of processes, the content search unit 109 passes the service provision condition ID and the user ID obtained from the user information conversion unit 108 to the content transmission unit 111.
The content transmission unit 111 performs the same processing as in the second embodiment described above, thereby obtaining the user ID obtained from the content search unit 109 for the content associated with the service provision condition ID specified by the content search unit 109. Is transmitted to the user terminal 300 specified by.
Next, with reference to FIG. 15A, FIG. 15B, and FIG. 16, it demonstrates centering on the processing flow of the content delivery server 100 in this embodiment. The processing executed by the content distribution server 100 in this embodiment can be broadly divided into service provision condition registration processing (FIGS. 15A and 15B) and service provision condition search processing (FIG. 16). Hereinafter, these processes will be described in order.
FIG. 15A and FIG. 15B are flowcharts showing service provision condition registration processing executed by the content distribution server in the content provision system according to the third exemplary embodiment of the present invention.
Step S301: The service provision condition receiving unit 101 receives content and service provision conditions (FIG. 10) related to the content from the content registration terminal 200. Then, the service provision condition receiving unit 101 passes the received service provision condition to the range information update unit 102. The service provision condition receiving unit 101 registers the received content in the content holding unit 105 in a state associated with the service provision condition ID included in the service provision condition.
Step S302: The range information update unit 102 receives a service provision condition from the service provision condition reception unit 101, and substitutes 0 for a variable i.
Step S303: The range information update unit 102 extracts the lower limit value i and the attribute information i from the first range information i included in the acquired service provision condition, and the second range information including the lower limit value i is the range information. It is determined whether or not it exists in the range information list i stored in the storage unit 106. If the range information update unit 102 determines that it exists in this determination (YES in step S303), the process proceeds to step S305. On the other hand, if range information update unit 102 determines that it does not exist in this determination (NO in step S305), the process proceeds to step S304.
Step S304: The range information update unit 102 creates new second range information including the lower limit value i of the first range information noted in step S303, and uses the created second range information as the new second range. A new label added to the information is registered in the range information list i.
Step S305: The range information update unit 102 has a value obtained by adding 1 to the upper limit value i of the first range information noted in step S303 in the plurality of second range information registered in the range information list 13 Judge whether to do. If range information update unit 102 determines that it exists in this determination (YES in step S305), the process proceeds to step S307. On the other hand, if range information update unit 102 determines that it does not exist in this determination (NO in step S305), the process proceeds to step S306.
Step S306: The range information update unit 102 creates new second range information whose lower limit is a value obtained by adding 1 to the upper limit value i, and uses the created second range information as the new second range information. It is registered in the range information list i together with the new label assigned to it.
Step S307: The range information update unit 102 adds 1 to the variable i and determines whether the number of first range information included in the service provision condition obtained in step S301 is equal to or less than the variable i. If the determination result is “true” (NO in step S307), range information update unit 102 advances the process to step S308. On the other hand, if the determination result is “false” (YES in step S307), range information update unit 102 returns the process to step S303.
Step S308: The range information update unit 102 passes the service provision condition obtained in step S301 to the service provision condition conversion unit 103.
Step S309: The service provision condition conversion unit 103 receives the service provision condition from the range information update unit 102 and assigns 0 to the variable j.
Step S310: The service provision condition conversion unit 103 extracts the attribute information j, the lower limit value j, and the upper limit value j from the first range information j. The service provision condition conversion unit 103 includes a numerical range from the lower limit value j to the upper limit value j from the range information list j that the range information storage unit 106 holds in association with the attribute information j, and A plurality of second range information adjacent to each other is acquired.
Step S311: The service provision condition conversion unit 103 extracts labels from the plurality of acquired second range information, and creates a label list j including the extracted labels.
For example, the lower limit value of the first range information (X coordinate) in the service provision condition C1 is 1394605, and the upper limit value is 1394629. For this reason, the service providing condition conversion unit 103 acquires {1394605, B}, {1394610, C}, and {13949415, D} as the second range information from the range information list (X coordinate). Then, the service provision condition conversion unit 103 creates a label list {B, C, D} by collecting the labels individually assigned to the second range information as a list. The service provision condition conversion unit 103 performs similar processing for the service provision conditions C2 and C3.
The lower limit value of the first range information (Y coordinate) in the service provision condition C1 is 354010, and the upper limit value is 354029. Therefore, the service provision condition conversion unit 103 acquires {354010, c} and {354005, d} as the second range information from the range information list (Y coordinate). Then, the service provision condition conversion unit 103 creates a label list {c, d} by collecting the labels individually assigned to the second range information as a list.
Step S312: The service provision condition conversion unit 103 adds 1 to the variable j.
Step S313: The service provision condition conversion unit 103 determines whether the number of first range information included in the service provision condition received from the range information update unit 102 is equal to or less than the variable j. If the determination result is “true” (NO in step S313), service provision condition converting unit 103 advances the process to step S314. On the other hand, when the determination result is “false” (YES in step S313), service provision condition conversion unit 103 returns the process to step S310.
Step S314: The service provision condition conversion unit 103 generates all combinations obtained by extracting one label from all label lists created by the above-described processing.
For example, the service provision condition conversion unit 103 refers to the label list {B, C, D} corresponding to the X coordinate of the service provision condition C1 and the label list {c, d} corresponding to the Y coordinate. From each of these label lists, one label is taken out as a combination. Thereby, the service provision condition conversion unit 103 includes a plurality of {B, c}, {B, d}, {C, c}, {C, d}, {D, c}, and {D, d}. Create a label combination. The service provision condition conversion unit 103 performs similar processing for the service provision conditions C2 and C3.
Step S315: The service provision condition conversion unit 103 substitutes 0 for the variable k.
Step S316: The service provision condition conversion unit 103 passes the label combination k and the service provision condition ID to the service condition registration unit 104. The service provision condition registration unit 104 registers the label combination k and the service provision condition ID obtained from the service provision condition conversion unit 103 in the service provision condition storage unit 107.
Step S317: The service provision condition conversion unit 103 determines whether the number of generated label combinations is equal to or less than the variable k. If the determination result is “true” (NO in step S317), service provision condition conversion unit 103 ends the process. On the other hand, when the determination result is “false” (YES in step S317), service providing condition conversion unit 103 returns the process to step S316.
FIG. 16 is a flowchart showing a service providing condition search process executed by the content distribution server in the content providing system according to the third exemplary embodiment of the present invention.
Step S401: In response to receiving user information (FIG. 11) from the user terminal 300, the user information receiving unit 110 passes the received user information to the user information converting unit.
Step S402: The user information conversion unit 108 obtains user information from the user information reception unit 110, and substitutes 0 for a variable i.
Step S403: The user information conversion unit 108 extracts a user ID and attribute information i from the acquired user information. Then, the user information conversion unit 108 determines the attribute name (“X coordinate” and “Y coordinate” as coordinate types in this embodiment) i and attribute value i (in this embodiment as coordinate values) from the extracted attribute information i. "X coordinate value" and "Y coordinate value"). Further, the user information conversion unit 108 obtains the range information list i specified by the attribute name i from the range information storage unit 106.
Step S404: The user information conversion unit 108 obtains second range information i that includes the attribute value i in the numerical range from the range information list i obtained in step S403.
Step S405: The user information conversion unit 108 stores the label i associated with the second range information i obtained in step S404 in a temporary storage area such as a RAM (not shown in FIG. 2).
Step S406: The user information conversion unit 108 adds 1 to the variable i.
Step S407: The user information conversion unit 108 determines whether or not the number of attributes included in the user information obtained in step S401 is equal to or less than the variable i. If the determination result is “true” (YES in step S407), user information conversion unit 108 advances the process to step S408. On the other hand, when the determination result is “false” (NO in step S407), user information conversion unit 108 returns the process to step S403.
Step S408: The user information conversion unit 108 passes the user ID included in the obtained user information and the label combination including a plurality of labels temporarily stored in step S405 to the content search unit 109. In response to receiving the user ID and the label combination, the content search unit 109 is stored in association with the label combination from the identifier correspondence list (FIG. 13) stored in the service provision condition storage unit 107. The service provision condition ID is searched.
Step S409: When the service provision condition ID is found as a result of the search in step S408 (YES in step S409), the content search unit 109 sends the user ID and the service provision condition ID to the content transmission unit 111. To pass. On the other hand, when the service provision condition ID cannot be found in the search in step S408 (NO in step S409), content search unit 109 ends the process.
Step S410: The content transmission unit 111 receives a user ID and a service provision condition ID from the content search unit 109. Then, the content transmission unit 111 acquires the content associated with the service provision condition ID from the content holding unit 105, and transmits the acquired content to the user terminal 300 identified by the user ID.
In the above-described embodiment, the processing configuration is such that updating of the range information list and registration in the service provision condition storage unit 107 are executed in response to one service provision condition being input. However, the present invention is not limited to such a processing configuration. For example, in another embodiment of the present invention, processing for updating the range information list and registering in the service provision condition storage unit 107 in response to a certain number of service provision conditions being input. A configuration may be adopted.
According to the third embodiment described above, the range information list 13 (FIGS. 12A and 12B) includes individual second range information (X-coordinate value range, Y-coordinate value range) arranged based on the lower limit value. A second identifier (label) is given to (range). The identifier correspondence list 14 (FIG. 13) includes the second identifier and a first identifier assigned to individually identify one or more first ranges, each of which includes at least part of each second range. (Service provision condition ID) is associated. For this reason, the content distribution server 100 according to the present embodiment has two types of two-dimensional (two-dimensional) service provision conditions shown in FIG. ), Even if it has a numerical range (spread) such as a range of coordinate values, it is not necessary to search individual values within the range by referring to these lists.
In other words, the content providing system and the content distribution server 100 according to the present embodiment can suppress the hardware resources (memory usage, etc.) to be used and input a large amount of service provision conditions including range specification. The content corresponding to the request can be searched (specified) in a short time from these service providing conditions and provided to a specific user terminal 300.
In general, in a search process using a hash table, only a determination can be made based on a key value registered in the hash table and an exact match corresponding to the key value. On the other hand, according to the content distribution server 100 (service search device 1) according to the second and third embodiments described above, the individual labels registered in the label (label combination) list and the individual lists By using a table (identifier correspondence list 14) in which corresponding service provision IDs are registered, a range corresponding to each individual label can be searched at a time.
In the second and third embodiments described above, for convenience of explanation, the present invention has been described by taking the configuration in which the content distribution server 100 generates and stores the range information list 13 and the identifier correspondence list 14 as an example. . However, the present invention is not limited to such a configuration, and may be a configuration in which the content distribution server 100 refers to at least one of the range information list 13 and the identifier correspondence list 14 from an external device.
In the second and third embodiments described above, for convenience of explanation, the present invention has been described by taking as an example a configuration in which content requested from a certain user terminal 300 is provided to the user terminal itself. However, the present invention is not limited to such a configuration, and may be a configuration in which content requested from a certain user terminal 300 is provided to a user terminal 300 different from the user terminal.
<Hardware configuration>
FIG. 18 shows hardware of a computer (information processing apparatus) capable of realizing the service search apparatus 1 according to the first exemplary embodiment of the present invention and the content distribution server 100 according to the second and third embodiments. It is a figure explaining composition exemplarily. 18 includes a CPU 1001, a communication interface (I / F) 1002, a ROM (Read Only Memory) 1003, a RAM (Random Access Memory) 1004, and a hard disk drive (HD) 1005. Are connected via a bus 1006. The communication interface 1002 is a general communication unit that implements communication via the network 400 in the second and third embodiments described above. In such a hardware configuration, the CPU 1001 governs the overall operation of the computer 1000 as the service search apparatus 1 or the content distribution server 100.
The present invention described with reference to the first to third embodiments described above can realize the functions of the flowcharts (FIGS. 8, 9, 15A, 15B, and 16) referred to in the description. After the computer program is supplied to the computer 1000 shown in FIG. 18, the computer program is read into the CPU 1001 of the computer 1000 and executed. Further, the computer program supplied to the computer 1000 is stored in a non-transitory storage device (storage medium) such as a readable / writable temporary storage memory (1004) or a hard disk device (1005). Store it.
Here, the computer program according to each of the flowcharts includes the service provision condition reception unit 101, the range information update unit 102, the service provision condition conversion unit 103, and the service provision condition registration described in the second and third embodiments. Each function of the unit 104, the user information conversion unit 108, the content search unit 109, the user information reception unit 110, and the content transmission unit 111 is represented. However, regarding the service provision condition receiving unit 101, the user information receiving unit 110, and the content transmitting unit 111, it is assumed that the general communication function executed by the communication interface 1002 provided as hardware is a computer program that is excluded. . The search unit 11 described in the first embodiment can also be represented by a computer program. The computer program corresponds to, for example, a program group stored in the hard disk drive 1005.
In the above case, the computer program can be supplied to the apparatus from the outside through various recording media such as a CD-ROM or from the outside via a communication line such as the Internet. Currently, a general procedure can be adopted, such as a downloading method. In such a case, the present invention can be understood to be configured by a computer-readable storage medium in which the code of the computer program or the code is recorded.
 上述した第2の実施形態では、一次元の属性値(属性情報)の例として歩数を採用した。第3の実施形態では、二次元の属性値としてX座標値及びY座標値を採用した。これらの属性値は、本発明を説明する便宜上の例示であって、本発明は、これらの属性値および次元数には限定されない。即ち、本発明は、n次元(nは自然数)の属性値に対しても適用することができる。また、属性値の他の例としては、温度、湿度、血圧、体重、性別、高度、電池の残量等のように、検索対象に応じて様々な種類の値(情報)を採用することができる。
 また、上述した第2及び第3の実施形態では、ユーザ端末を利用するユーザに対して検索結果を提供するサービスを例に本発明を説明した。但し、本発明は、これら実施形態の如く人(ユーザ)に対するサービスの提供には限定されない。例えば本発明は、所謂M2M(machine to machine)システムにおいて、一方の情報処理装置が処理実行中に自動的に発行したリクエストに対して、他方の情報処理装置が検索結果を提供する場合にも適用することができる。更に本発明は、係る検索結果を提供すべき情報処理装置を、当該リクエストを発行した情報処理装置とは異なる他の情報処理装置に提供する場合にも適用することができる。
 以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
 この出願は、2011年3月18日に出願された日本出願特願2011−061044を基礎とする優先権を主張し、その開示の全てをここに取り込む。
In the second embodiment described above, the number of steps is adopted as an example of a one-dimensional attribute value (attribute information). In the third embodiment, the X coordinate value and the Y coordinate value are adopted as the two-dimensional attribute value. These attribute values are merely illustrative examples for explaining the present invention, and the present invention is not limited to these attribute values and the number of dimensions. That is, the present invention can also be applied to n-dimensional (n is a natural number) attribute values. As other examples of attribute values, various types of values (information) such as temperature, humidity, blood pressure, body weight, gender, altitude, remaining battery level, etc. may be adopted depending on the search target. it can.
In the second and third embodiments described above, the present invention has been described by taking a service that provides a search result to a user who uses a user terminal as an example. However, the present invention is not limited to providing a service to a person (user) as in these embodiments. For example, the present invention is also applicable to a so-called M2M (machine to machine) system in which one information processing apparatus provides a search result to a request that is automatically issued while one information processing apparatus is executing a process. can do. Furthermore, the present invention can also be applied to a case where the information processing apparatus that should provide the search result is provided to another information processing apparatus different from the information processing apparatus that issued the request.
The present invention has been described above using the above-described embodiment as an exemplary example. However, the present invention is not limited to the above-described embodiment. That is, the present invention can apply various modes that can be understood by those skilled in the art within the scope of the present invention.
This application claims the priority on the basis of Japanese application Japanese Patent Application No. 2011-061044 for which it applied on March 18, 2011, and takes in those the indications of all here.
 1 サービス検索装置
 11 検索部
 12 オブジェクトに関する属性情報
 13 範囲情報リスト
 14 識別子対応リスト
 100 コンテンツ配信サーバ
 101 サービス提供条件受信部
 102 範囲情報更新部
 103 サービス提供条件変換部
 104 サービス提供条件登録部
 105 コンテンツ保持部
 106 範囲情報記憶部
 107 サービス提供条件記憶部
 108 ユーザ情報変換部
 109 コンテンツ検索部
 110 ユーザ情報受信部
 111 コンテンツ送信部
 200 コンテンツ登録端末
 300 ユーザ端末
 400 通信ネットワーク
 1000 コンピュータ
 1001 CPU
 1002 通信インタフェース(I/F)
 1003 ROM
 1004 RAM
 1005 ハードディスクドライブ(HD)
 1006 バス
DESCRIPTION OF SYMBOLS 1 Service search device 11 Search part 12 Object attribute information 13 Range information list 14 Identifier correspondence list 100 Content distribution server 101 Service provision condition receiving part 102 Range information update part 103 Service provision condition conversion part 104 Service provision condition registration part 105 Content holding Unit 106 Range information storage unit 107 Service provision condition storage unit 108 User information conversion unit 109 Content search unit 110 User information reception unit 111 Content transmission unit 200 Content registration terminal 300 User terminal 400 Communication network 1000 Computer 1001 CPU
1002 Communication interface (I / F)
1003 ROM
1004 RAM
1005 Hard disk drive (HD)
1006 Bus

Claims (17)

  1.  サービス提供条件に含まれる第1範囲の上限および下限のうち少なくとも何れかと一致する、或いは該上限と該下限とがなす範囲に含まれる1つ以上の第2範囲に対して、個々の第2範囲を識別する第2識別子が付与された範囲情報リストを、サービスの提供を要求したオブジェクトに関する属性情報に基づいて検索することにより、その属性情報が含まれる前記第2範囲に対応する第2識別子を、該範囲情報リストから求めると共に、前記1つ以上の第2範囲を対象として、個々の第2範囲に付与された前記第2識別子と、該個々の第2範囲を少なくとも一部に含むところの、1つ以上の前記第1範囲を個別に識別すべく付与された第1識別子とが関連付けされた識別子対応リストを、該求めた第2識別子に基づいて検索することにより、前記求めた第2識別子に対応する1つ以上の前記第1識別子を求め、求めた第1識別子によって、前記サービスを特定する検索手段を備えることを特徴とするサービス検索装置。 Individual second ranges with respect to one or more second ranges that match at least one of the upper limit and the lower limit of the first range included in the service provision condition, or are included in the range formed by the upper limit and the lower limit By searching the range information list to which the second identifier for identifying the service is provided based on the attribute information related to the object that requested the provision of the service, the second identifier corresponding to the second range including the attribute information is obtained. The second identifier assigned to each second range for the one or more second ranges, and including at least a part of each second range, as determined from the range information list By searching an identifier correspondence list associated with a first identifier assigned to individually identify one or more of the first ranges based on the obtained second identifier Seeking one or more of said first identifier corresponding to the second identifier determined the by the first identifier calculated, the service search device characterized in that it comprises a search means for identifying the service.
  2.  前記属性情報は、複数種類の属性情報を含み、前記第1範囲、前記第2範囲、及び前記範囲情報リストもそれぞれ該複数種類に対応している場合であって、
     前記識別子対応リストには、前記複数種類の第2範囲に種類毎に付与されている前記第2識別子が組み合わされた複数のキーを対象として、前記複数種類の前記第1範囲に基づいて、個々のキーに少なくとも何れかの前記第1識別子が関連付けされており、
     前記検索手段は、
     前記オブジェクトに関して前記複数種類の属性情報を取得するのに応じて、前記複数種類の範囲情報リストを検索することにより、前記複数種類の第2識別子の組み合わせを求めると共に、
     該求めた複数種類の第2識別子の組み合わせに基づいて、前記複数のキーを含む前記識別子対応リストを検索することにより、前記求めた複数種類の第2識別子の組み合わせに対応するところの、少なくとも1つの前記第1識別子を求め、これにより前記オブジェクトに提供すべきサービスを特定することを特徴とする請求項1記載のサービス検索装置。
    The attribute information includes a plurality of types of attribute information, and the first range, the second range, and the range information list each correspond to the plurality of types,
    The identifier correspondence list includes individual keys based on the plurality of types of the first ranges for a plurality of keys in which the second identifiers assigned to the types of the plurality of types of second ranges are combined. At least one of the first identifiers is associated with a key of
    The search means includes
    In response to obtaining the plurality of types of attribute information regarding the object, by searching the plurality of types of range information list, to obtain a combination of the plurality of types of second identifiers,
    By searching the identifier correspondence list including the plurality of keys based on the obtained combination of the plurality of types of second identifiers, at least one corresponding to the determined combination of the plurality of types of second identifiers. The service search apparatus according to claim 1, wherein the first identifier is obtained to identify a service to be provided to the object.
  3.  前記識別子対応リストを生成する識別子対応リスト生成手段を更に備えることを特徴とする請求項1記載のサービス検索装置。 The service search device according to claim 1, further comprising identifier correspondence list generation means for generating the identifier correspondence list.
  4.  前記識別子対応リストを生成する識別子対応リスト生成手段を更に備え、
     前記識別子対応リスト生成手段は、前記複数種類の第1範囲に基づいて、前記複数種類の属性情報毎に、前記第2範囲を検索し、検索によって求めた第2範囲に付与されている第2識別子の中から、前記属性情報毎に1つの第2識別子を取り出すと共に、前記複数のキーとして前記第2識別子の組み合わせを生成し、生成した前記第2識別子の組み合わせと、その組み合わせを含む前記第1範囲に付与されている少なくとも何れかの前記第1識別子とを関連付けることにより、前記識別子対応リストを生成することを特徴とする請求項2記載のサービス検索装置。
    An identifier correspondence list generating means for generating the identifier correspondence list;
    The identifier correspondence list generating means searches the second range for each of the plurality of types of attribute information based on the plurality of types of first ranges, and is assigned to the second range obtained by the search. From the identifier, one second identifier is extracted for each attribute information, a combination of the second identifiers is generated as the plurality of keys, the generated combination of the second identifiers, and the second including the combination 3. The service search apparatus according to claim 2, wherein the identifier correspondence list is generated by associating with at least one of the first identifiers assigned to one range.
  5.  前記範囲情報リストを生成する範囲情報リスト生成手段を更に備えることを特徴とする請求項1乃至請求項4の何れかに記載のサービス検索装置。 The service search device according to any one of claims 1 to 4, further comprising range information list generation means for generating the range information list.
  6.  入力された前記サービス提供条件に含まれる第1範囲の上限および下限が、前記範囲情報リストに既に登録されている何れの第2範囲とも重複しない場合に、その第1範囲の上限および下限のうち少なくとも何れかと一致する新たな第2範囲を、前記範囲情報リストに登録する範囲情報登録手段を更に備えることを特徴とする請求項5記載のサービス検索装置。 When the upper limit and lower limit of the first range included in the input service provision condition do not overlap with any second range already registered in the range information list, of the upper limit and lower limit of the first range 6. The service search apparatus according to claim 5, further comprising range information registration means for registering a new second range that matches at least one of the second ranges in the range information list.
  7.  入力された前記サービス提供条件に含まれる第1範囲の上限または下限が、前記範囲情報リストに既に登録されている少なくとも何れかの第2範囲に含まれるものの、何れの前記第2範囲の上限および下限にも一致しない場合に、該第1範囲の上限および下限のうち少なくとも何れかと一致する範囲を有する複数範囲に、前記範囲情報リストに既に登録されている1つ以上の前記第2範囲を分割することにより、前記範囲情報リストを更新する範囲情報更新手段を更に備えることを特徴とする請求項5記載のサービス検索装置。 The upper limit or lower limit of the first range included in the input service provision condition is included in at least any second range already registered in the range information list, but the upper limit of any of the second ranges and If the lower limit does not match, the one or more second ranges already registered in the range information list are divided into a plurality of ranges having a range that matches at least one of the upper limit and the lower limit of the first range. The service search device according to claim 5, further comprising range information update means for updating the range information list.
  8.  前記検索手段は、前記特定したサービスを、そのサービスの提供を要求したオブジェクトに提供すべきサービスとして特定することを特徴とする請求項1乃至請求項7の何れかに記載のサービス検索装置。 The service search device according to any one of claims 1 to 7, wherein the search means specifies the specified service as a service to be provided to an object requested to provide the service.
  9.  前記オブジェクトは、前記サービス検索装置と通信可能な外部装置及びその外部装置を使用するユーザに関する情報の少なくとも何れかであることを特徴とする請求項8記載のサービス検索装置。 9. The service search device according to claim 8, wherein the object is at least one of an external device that can communicate with the service search device and a user who uses the external device.
  10.  前記範囲情報リスト及び前記識別子対応リストの少なくとも何れかを記憶するリスト記憶手段を更に備えることを特徴とする請求項1乃至請求項9の何れかに記載のサービス検索装置。 10. The service search apparatus according to claim 1, further comprising list storage means for storing at least one of the range information list and the identifier correspondence list.
  11.  請求項1乃至請求項10の何れかに記載のサービス検索装置と、
     前記第1識別子に関連付けされたコンテンツを記憶するコンテンツ記憶手段と、
     前記コンテンツ記憶手段から取得したコンテンツを、前記オブジェクトとしての外部装置に提供するコンテンツ提供手段とを備え、
     前記外部装置から前記属性情報を取得するのに応じて前記サービス検索装置によって提供すべきサービスを特定する前記第1識別子を求め、求めた前記第1識別子に対応するコンテンツを前記コンテンツ記憶手段から取得し、取得したコンテンツを、前記コンテンツ提供手段によって前記外部装置に提供することを特徴とするコンテンツ提供装置。
    The service search device according to any one of claims 1 to 10,
    Content storage means for storing content associated with the first identifier;
    Content providing means for providing content acquired from the content storage means to an external device as the object;
    In response to acquiring the attribute information from the external device, the first identifier for specifying the service to be provided by the service search device is obtained, and the content corresponding to the obtained first identifier is obtained from the content storage unit. Then, the acquired content is provided to the external device by the content providing means.
  12.  情報処理装置を用いてサービスを検索するサービス検索方法であって、
     サービス提供条件に含まれる第1範囲の上限および下限のうち少なくとも何れかと一致する、或いは該上限と該下限とがなす範囲に含まれる1つ以上の第2範囲に対して、個々の第2範囲を識別する第2識別子が付与された範囲情報リストを、サービスの提供を要求したオブジェクトに関する属性情報に基づいて検索することにより、その属性情報が含まれる前記第2範囲に対応する第2識別子を、該範囲情報リストから求め、
     前記1つ以上の第2範囲を対象として、個々の第2範囲に付与された前記第2識別子と、該個々の第2範囲を少なくとも一部に含むところの、1つ以上の前記第1範囲を個別に識別すべく付与された第1識別子とが関連付けされた識別子対応リストを、該求めた第2識別子に基づいて検索することにより、前記求めた第2識別子に対応する1つ以上の前記第1識別子を求め、求めた第1識別子によって前記サービスを特定することを特徴とするサービス検索方法。
    A service search method for searching for a service using an information processing device,
    Individual second ranges with respect to one or more second ranges that match at least one of the upper limit and the lower limit of the first range included in the service provision condition, or are included in the range formed by the upper limit and the lower limit By searching the range information list to which the second identifier for identifying the service is provided based on the attribute information related to the object that requested the provision of the service, the second identifier corresponding to the second range including the attribute information is obtained. , From the range information list,
    For the one or more second ranges, the second identifier assigned to each second range, and the one or more first ranges including at least a part of the individual second range One or more of the one or more corresponding to the obtained second identifier by searching an identifier correspondence list associated with the first identifier assigned to individually identify the first identifier based on the obtained second identifier A service search method characterized in that a first identifier is obtained and the service is specified by the obtained first identifier.
  13.  前記属性情報は、複数種類の属性情報を含み、前記第1範囲、前記第2範囲、及び前記範囲情報リストもそれぞれ該複数種類に対応している場合であって、
     前記識別子対応リストに、前記複数種類の第2範囲に種類毎に付与されている前記第2識別子が組み合わされた複数のキーを対象として、前記複数種類の前記第1範囲に基づいて、個々のキーに少なくとも何れかの前記第1識別子を関連付け、
     前記オブジェクトに関して前記複数種類の属性情報を取得するのに応じて、前記複数種類の範囲情報リストを検索することにより、前記複数種類の第2識別子の組み合わせを求め、
     該求めた複数種類の第2識別子の組み合わせに基づいて、前記複数のキーを含む前記識別子対応リストを検索することにより、前記求めた複数種類の第2識別子の組み合わせに対応するところの、少なくとも1つの前記第1識別子を求め、これにより前記オブジェクトに提供すべきサービスを特定することを特徴とする請求項12記載のサービス検索方法。
    The attribute information includes a plurality of types of attribute information, and the first range, the second range, and the range information list each correspond to the plurality of types,
    Based on the plurality of types of the first ranges, each of the identifiers corresponding to a plurality of keys in which the second identifiers assigned to the types of the plurality of types of second ranges are combined. Associating at least one of the first identifiers with a key;
    In response to obtaining the plurality of types of attribute information regarding the object, by searching the plurality of types of range information list, a combination of the plurality of types of second identifiers is obtained,
    By searching the identifier correspondence list including the plurality of keys based on the obtained combination of the plurality of types of second identifiers, at least one corresponding to the determined combination of the plurality of types of second identifiers. 13. The service search method according to claim 12, wherein the first identifier is obtained to identify a service to be provided to the object.
  14.  前記複数種類の第1範囲に基づいて、前記複数種類の属性情報毎に、前記第2範囲を検索し、
     その検索によって求めた第2範囲に付与されている第2識別子の中から、前記属性情報毎に1つの第2識別子を取り出すと共に、前記複数のキーとして前記第2識別子の組み合わせを生成し、
     生成した前記第2識別子の組み合わせと、その組み合わせを含む前記第1範囲に付与されている少なくとも何れかの前記第1識別子とを関連付けることにより、前記識別子対応リストを生成することを特徴とする請求項13記載のサービス検索方法。
    Based on the plurality of types of first ranges, the second range is searched for each of the plurality of types of attribute information,
    From the second identifier assigned to the second range obtained by the search, one second identifier is extracted for each attribute information, and a combination of the second identifiers is generated as the plurality of keys,
    The identifier correspondence list is generated by associating the generated combination of the second identifiers with at least one of the first identifiers assigned to the first range including the combination. Item 14. The service search method according to Item 13.
  15.  前記サービス提供条件に含まれる第1範囲の上限および下限が、前記範囲情報リストに既に登録されている何れの第2範囲とも重複しない場合に、その第1範囲の上限および下限のうち少なくとも何れかと一致する新たな第2範囲を、前記範囲情報リストに登録することを特徴とする請求項14記載のサービス検索方法。 When the upper limit and lower limit of the first range included in the service provision condition do not overlap with any second range already registered in the range information list, at least one of the upper limit and the lower limit of the first range 15. The service search method according to claim 14, wherein a new matching second range is registered in the range information list.
  16.  前記サービス提供条件に含まれる第1範囲の上限または下限が、前記範囲情報リストに既に登録されている少なくとも何れかの第2範囲に含まれるものの、何れの前記第2範囲の上限および下限にも一致しない場合に、該第1範囲の上限および下限のうち少なくとも何れかと一致する範囲を有する複数範囲に、前記範囲情報リストに既に登録されている1つ以上の前記第2範囲を分割することにより、前記範囲情報リストを更新することを特徴とする請求項14記載のサービス検索方法。 Although the upper limit or lower limit of the first range included in the service provision condition is included in at least any second range already registered in the range information list, the upper limit and the lower limit of any of the second ranges By dividing one or more second ranges already registered in the range information list into a plurality of ranges having ranges that match at least one of the upper limit and the lower limit of the first range when they do not match 15. The service search method according to claim 14, wherein the range information list is updated.
  17.  サービスを検索する情報処理装置の動作制御のためのコンピュータ・プログラムであって、そのコンピュータ・プログラムにより、
     サービス提供条件に含まれる第1範囲の上限および下限のうち少なくとも何れかと一致する、或いは該上限と該下限とがなす範囲に含まれる1つ以上の第2範囲に対して、個々の第2範囲を識別する第2識別子が付与された範囲情報リストを、サービスの提供を要求したオブジェクトに関する属性情報に基づいて検索することにより、その属性情報が含まれる前記第2範囲に対応する第2識別子を、該範囲情報リストから求めると共に、前記1つ以上の第2範囲を対象として、個々の第2範囲に付与された前記第2識別子と、該個々の第2範囲を少なくとも一部に含むところの、1つ以上の前記第1範囲を個別に識別すべく付与された第1識別子とが関連付けされた識別子対応リストを、該求めた第2識別子に基づいて検索することにより、前記求めた第2識別子に対応する1つ以上の前記第1識別子を求め、求めた第1識別子によって、前記サービスを特定する検索機能を、コンピュータに実現させることを特徴とするコンピュータ・プログラム。
    A computer program for controlling the operation of an information processing apparatus that searches for a service, the computer program
    Individual second ranges with respect to one or more second ranges that match at least one of the upper limit and the lower limit of the first range included in the service provision condition, or are included in the range formed by the upper limit and the lower limit. By searching the range information list to which the second identifier for identifying the service information is provided based on the attribute information related to the object that requested the service provision, the second identifier corresponding to the second range including the attribute information is obtained. The second identifier assigned to each second range for the one or more second ranges, and at least a part of the second range, which is obtained from the range information list By searching an identifier correspondence list associated with a first identifier assigned to individually identify one or more of the first ranges based on the obtained second identifier, Seeking one or more of said first identifier corresponding to the serial second identifier determined by the first identifier determined, a search function for specifying the service, the computer program, characterized in that to realize the computer.
PCT/JP2012/054676 2011-03-18 2012-02-20 Service search apparatus and service search method, content provision apparatus, and computer program WO2012127989A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-061044 2011-03-18
JP2011061044 2011-03-18

Publications (1)

Publication Number Publication Date
WO2012127989A1 true WO2012127989A1 (en) 2012-09-27

Family

ID=46879149

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/054676 WO2012127989A1 (en) 2011-03-18 2012-02-20 Service search apparatus and service search method, content provision apparatus, and computer program

Country Status (1)

Country Link
WO (1) WO2012127989A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0319081A (en) * 1989-06-16 1991-01-28 Hitachi Software Eng Co Ltd Information retrieving system
JPH05314188A (en) * 1992-05-11 1993-11-26 Nec Software Ltd Retrieval processing system for data having range

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0319081A (en) * 1989-06-16 1991-01-28 Hitachi Software Eng Co Ltd Information retrieving system
JPH05314188A (en) * 1992-05-11 1993-11-26 Nec Software Ltd Retrieval processing system for data having range

Similar Documents

Publication Publication Date Title
US10623318B2 (en) Probabilistic message filtering and grouping
US9247386B2 (en) Location-based mobile application and service selection
KR102067093B1 (en) Lightweight iot information model
US8335990B2 (en) Method and apparatus for grouping points-of-interest on a map
CN103377559B (en) The methods of exhibiting of road condition information of electronic map and system
JP5065470B2 (en) Server, information management method, information management program, and computer-readable recording medium for recording the program
US8977642B2 (en) Recommending relevant and personalized content accessing keywords for users of a text messaging service based global textsite platform
CN103425655A (en) Method and device for searching venue information for location based service
AU2017201093A1 (en) Recommending a retail location
WO2011039412A1 (en) Method and apparatus for providing location based services using connectivity graphs based on cell broadcast information
CN105338113A (en) Multi-platform data interconnected system for sharing urban data resources
US20150033330A1 (en) Collection and analysis of customer data from application programming interface usage
US20150220555A1 (en) Method and apparatus for performing an incremental update of a recommendation model
JP2015536504A (en) Apparatus and method for geolocation information
CN109417567A (en) Method and system for the interest group in content center network
CN103973724A (en) Networking method and device for social network
US20180035367A1 (en) Method and Apparatus for Accessing Wifi Access Point in Target Shop
JP2014071540A (en) Information distribution device, program and method
CN116701330A (en) Logistics information sharing method, device, equipment and storage medium
WO2023108832A1 (en) Network space map generation method and apparatus, and device and storage medium
US20140330956A1 (en) Method and system for generating directed graphs
JP6606436B2 (en) Information visualization system
EP3149978B1 (en) System for providing location-based social networking services to users of mobile devices
WO2012127989A1 (en) Service search apparatus and service search method, content provision apparatus, and computer program
US9723088B2 (en) Facilitating users to share physical locations

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12760761

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12760761

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP