WO2011099590A1 - Ad-hoc service providing system - Google Patents

Ad-hoc service providing system Download PDF

Info

Publication number
WO2011099590A1
WO2011099590A1 PCT/JP2011/052963 JP2011052963W WO2011099590A1 WO 2011099590 A1 WO2011099590 A1 WO 2011099590A1 JP 2011052963 W JP2011052963 W JP 2011052963W WO 2011099590 A1 WO2011099590 A1 WO 2011099590A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
client
secondary server
adjacency
generated
Prior art date
Application number
PCT/JP2011/052963
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 日本電気株式会社
Priority to JP2011553906A priority Critical patent/JPWO2011099590A1/en
Publication of WO2011099590A1 publication Critical patent/WO2011099590A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Definitions

  • the present invention relates to an ad hoc service providing system, an ad hoc service providing method, a main server, a sub server, a client, and a program recording medium, and in particular, an ad hoc service providing system for providing a service to a client device existing in the vicinity of a server device,
  • the present invention relates to an ad hoc service providing method, a main server, a secondary server, a client, and a program recording medium.
  • Non-Patent Document 2 discloses that when a user simultaneously presses a button on two terminals, each terminal transmits a pairing request to the server.
  • Non-Patent Document 3 discloses a method in which information when two terminals collide with each other is transmitted to the server, and the two terminals are associated with each other based on the information received by the server.
  • One object of the present invention is to provide an ad hoc service providing system, an ad hoc service providing method, a main server, a sub server, a client, and a program recording medium that solve the above-described problems.
  • the secondary server Third adjacency generation control means for generating the adjacency relationship between the sub-client list and the sub-client list received from the sub-server generated with the adjacency relationship, and the identifier of the client included in the sub-client list
  • Client list generating means for generating a client list including the client list, and the client
  • the main server having an access control means for permitting access from the client identified by the client identifier included in the cement list.
  • the ad hoc service providing method of the present invention uses proximity registration in which each of two devices within a predetermined range acquires an identifier of a counterpart device, and the proximity registration is performed between a client and a secondary server. If this happens, create an adjacency relationship with the secondary server, When the proximity registration is performed with the client, the secondary server generates the adjacency with the client, and the secondary server sets the identifier of the client with the adjacency generated.
  • the sub-client list is generated, and when the sub server performs the proximity registration with the main server, the sub server generates the adjacency relationship with the main server, and the main server When the proximity registration is performed with the sub server, the adjacency relationship is generated with the sub server, and the sub server transmits the sub client list to the main server with the adjacency relationship generated.
  • the main server receives the sub-client list from the sub-server in which the adjacency is generated, and the identifier of the client included in the sub-client list A client list including the server, and the secondary server transmits, as upper server information, the identifier of the main server in which the adjacency is generated, to the client in which the adjacency is generated.
  • the upper server information received from the generated secondary server is used to access the main server, and the main server permits access from the client identified by the client identifier included in the client list.
  • the main server of the present invention uses a sub-client including an identifier of a client whose adjacency is generated by proximity registration, in which each of two devices existing in a predetermined range acquires an identifier of a counterpart device,
  • the adjacent relationship generation control unit that generates the adjacent relationship with the secondary server, and the secondary server with which the adjacent relationship is generated
  • Access control means for permitting access for permitting access.
  • the adjacency generation control means for generating the adjacency relationship with the client the subclient list generation means for generating the subclient list including the identifier of the client in which the adjacency is generated, and the adjacency A sub-client list sender that sends the sub-client list to the main server for which a relationship has been generated
  • a host server information transmitting means for transmitting the adjacency said adjacency of the main server generated to the client generated identifier as the host server information.
  • each of two devices existing in a predetermined range obtains the identifier of the counterpart device as proximity registration, and the computer has the adjacent relationship generated by the proximity registration.
  • the adjacent relationship generation control unit that generates the adjacent relationship with the secondary server, and the adjacent relationship is
  • a client list generating means for receiving the sub client list from the generated sub server and generating a client list including an identifier of the client included in the sub client list; and an identifier of the client included in the client list.
  • each of two devices existing in a predetermined range obtains the identifier of the counterpart device as proximity registration, and the computer has generated the adjacent relationship by the proximity registration.
  • the proximity registration is performed with a secondary server that generates a sub-client list including an identifier of the client and transmits the adjacent relationship to the primary server generated by the proximity registration, Received from the secondary server in which the adjacency is generated, to an adjacency generation means for generating an adjacency, and to the primary server that permits access from the client identified by the identifier of the client included in the subclient list Program for client to function as server access means to access using the higher-level server information Record.
  • the effect of the present invention is that, in an ad hoc service providing system, even when there are a large number of client devices, the client devices can be registered smoothly.
  • both the two secondary servers 200 are representative secondary servers
  • the ad hoc service providing system includes a main server 100, a plurality of secondary servers 200, and a plurality of clients 300.
  • the main server 100, the sub server 200, and the client 300 are movable terminal devices such as smartphones and mobile phones.
  • the main server 100, the sub server 200, and the client 300 can communicate with each other via a network (not shown) using a mobile communication network, a wireless LAN, a short-range communication method, or the like.
  • the main server 100 provides services such as photo and file sharing and bulletin boards to registered clients 300.
  • the secondary server 200 performs registration of services of the client 300 in a distributed manner in the system.
  • the client 300 accesses a service provided by the main server 100.
  • proximity registration refers to acquiring the identifiers of partner devices and registering them as close terminals in a situation where two devices are guaranteed to be within a predetermined range.
  • an adjacency relationship that is a path for transferring the identifier of the client 300 to the main server 100 is generated between the two devices.
  • a dashed arrow indicates that proximity registration is performed between devices.
  • a solid line arrow indicates an adjacent relationship generated by proximity registration.
  • the direction of the arrow indicating the adjacency relationship indicates the direction in which the identifier of the client 300 is transferred toward the main server 100.
  • the main server 100 side of the arrow indicating the adjacency relationship is the upper level and the client 300 side is the lower level.
  • the secondary server 200 registers the client 300 with the primary server 100 that the secondary server 200 plans to generate an adjacent relationship (or has already generated an adjacent relationship). In this case, proximity registration is performed with the client 300. Further, when registering the client 300 registered in the secondary server 200 to the main server 100, the main server 100 performs proximity registration with the secondary server 200.
  • the secondary server 200 and the client 300 When proximity registration is performed between the secondary server 200 and the client 300, the secondary server 200 and the client 300 generate an adjacent relationship with each other.
  • the main server 100 and the secondary server 200 When proximity registration is performed between the main server 100 and the secondary server 200, the main server 100 and the secondary server 200 generate an adjacent relationship with each other.
  • Each of the plurality of secondary servers 200 registers the identifier of the client 300 that has generated the adjacency relationship with the main server 100 that has generated the adjacency relationship.
  • the proximity registration is performed between the secondary server 200 (SS1) and the client 300 (C1-3), so that the secondary server 200 (SS1) and the client 300 (C1-3) are adjacent to each other. Is generated.
  • the clients 300 (C1 to C3) are registered in the secondary server 200 (SS1).
  • the secondary server 200 (SS2) and the client 300 (C4 to 6) generate an adjacency relationship.
  • the client 300 (C4 to C6) is registered in the secondary server 200 (SS2).
  • the main server 100 (S0) and the sub server 200 (SS1, SS2) generate an adjacency relationship.
  • the clients 300 (C1 to 6) registered in the secondary server 200 (SS1, SS2) are registered in the main server 100 (S0).
  • the main server 100 (S0) provides services to these registered clients 300 (C1 to C6).
  • any method may be used as long as the identifiers of the partner devices can be acquired in a situation where it is guaranteed that the two devices are within a predetermined range.
  • the terminal device (device A) has only a terminal device whose device A identifier is in a limited range (predetermined range) from the device A, such as infrared communication, short-range wireless communication using weak radio waves, and barcodes.
  • the terminal device (device B) that outputs in a method that cannot be acquired and has acquired the identifier of the device A may access the device A using the identifier of the device A and transmit the identifier of the device B to the device A.
  • FIG. 2 is a block diagram showing the configuration of the ad hoc service providing system according to the first embodiment of the present invention.
  • the main server 100 includes an adjacent relationship generation control unit 110, a client list generation unit 120, an access control unit 130, a service providing unit 140, a client list storage unit 150, and a secondary server information storage unit 160.
  • the adjacency generation control unit 110 generates an adjacency relationship with the secondary server 200 when proximity registration is performed with the secondary server 200 existing in a predetermined range in the vicinity.
  • the adjacent relationship generation control unit 110 stores the identifier of the secondary server 200 in which the adjacent relationship is generated in the secondary server information storage unit 160 as the secondary server information 165.
  • FIG. 8 is a diagram illustrating an example of the secondary server information 165 according to the first embodiment of this invention.
  • the secondary server information 165 includes the secondary server identifier of the secondary server 200 in which the adjacency relationship is generated.
  • the client list generation unit 120 receives the sub client list 255 from the sub server 200 in which the adjacency is generated, generates the client list 155 including the identifier of the client 300 included in the sub client list 255, and the client list storage unit Save to 150.
  • FIG. 9 is a diagram illustrating an example of the client list 155 according to the first embodiment of this invention.
  • the client list 155 includes the client identifier of the client 300 registered in the secondary server 200 in which the adjacency relationship is generated.
  • the access control unit 130 permits access from the client 300 with the client identifier included in the client list 155 to the service providing unit 140.
  • the service providing unit 140 provides a service to the client 300.
  • the service providing unit 140 may be a web server.
  • the secondary server 200 is a terminal device for performing registration of the client 300 in a distributed manner in the system.
  • the secondary server 200 includes an adjacent relationship generation control unit 210, a sub client list generation unit 220, a sub client list transmission unit 230, an upper server information transmission unit 240, a sub client list storage unit 250, and a main server information storage unit 260.
  • the adjacency generation control unit 210 generates an adjacency relationship with the client 300 when proximity registration is performed with the client 300 existing in a predetermined peripheral range. Further, the adjacency generation control unit 210 generates an adjacency relationship with the main server 100 when proximity registration is performed with the main server 100 existing in a predetermined range in the vicinity.
  • the adjacency generation control unit 210 stores the identifier of the main server 100 in which the adjacency is generated in the main server information storage unit 260 as main server information 265.
  • 10 and 12 are diagrams illustrating examples of the main server information 265 according to the first embodiment of this invention.
  • the main server information 265 includes the main server identifier of the main server 100 in which the adjacency relationship is generated.
  • the subclient list generation unit 220 adds the identifier of the client 300 for which the adjacency relationship has been generated to the subclient list 255 and stores it in the subclient list storage unit 250.
  • 11 and 13 are diagrams illustrating examples of the sub client list 255 according to the first embodiment of this invention.
  • the sub-client list 255 includes the client identifier of the client 300 for which the adjacency relationship has been generated.
  • the sub client list transmission unit 230 transmits the generated sub client list 255 to the main server 100 in which the adjacency relationship is generated.
  • the upper server information transmission unit 240 transmits the identifier of the main server 100 to the client 300 for which the adjacency relationship has been generated.
  • the client 300 is a terminal device for accessing a service provided by the main server 100.
  • the client 300 includes an adjacent relationship generation control unit 310, a server access unit 320, and a secondary server information storage unit 330.
  • the adjacency generation control unit 310 generates an adjacency relationship with the secondary server 200 when proximity registration is performed with the secondary server 200 existing in a predetermined range in the vicinity.
  • the adjacent relationship generation control unit 310 stores the identifier of the secondary server 200 in which the adjacent relationship has been generated in the secondary server information storage unit 330 as the secondary server information 335.
  • FIG. 14 is a diagram illustrating an example of the secondary server information 335 according to the first embodiment of this invention.
  • the secondary server information 335 includes the secondary server identifier of the secondary server 200 in which the adjacency relationship is generated.
  • the server access unit 320 receives the identifier of the main server 100 from the secondary server 200 in which the adjacency relationship is generated, and accesses the main server 100.
  • the server access unit 320 may be a web browser.
  • the service providing unit 140 provides content data such as moving images, music, and documents
  • the server access unit 320 may be an application for reproducing or displaying these content data.
  • the main server 100, the secondary server 200, and the client 300 may be information processing devices that operate according to programs. In this case, an application that operates as the primary server 100, the secondary server 200, or the client 300 may be activated by an operation of the user of the information processing apparatus.
  • the main server 100 and the client 300 or both the sub server 200 and the client 300 may operate with one terminal device.
  • the operation of the first embodiment of the present invention will be described in detail with reference to the drawings.
  • the operation will be described taking as an example the case where the client 300 (C1 to 6) is registered to the primary server 100 (S0) using the secondary servers 200 (SS1, SS2).
  • SS1, SS2 secondary servers 200
  • FIG. 4 is a sequence diagram showing the registration operation from the client 300 to the secondary server 200 in the first embodiment of the present invention.
  • the adjacency generation control unit 210 of the secondary server 200 and the adjacency generation control unit 310 of the client 300 use the method as described above.
  • To perform proximity registration step S101).
  • the secondary server 200 and the client 300 mutually acquire the identifier of the counterpart device. For example, in FIG. 3, when the secondary server 200 (SS1) registers the identifier of the client 300 (C1) existing in the surroundings with the main server 100 (the user of the secondary server 200 (SS1) is started from the client 300 (C1).
  • the adjacency generation control unit 210 of the secondary server 200 responds to the user instruction of the secondary server 200 (SS1) and identifies the secondary server 200 (SS1). "Information for accessing the secondary server 200" is displayed on a display unit (not shown) as a two-dimensional barcode.
  • the adjacency generation control unit 310 of the client 300 (C1) that exists in a range where the contents of the display unit of the secondary server 200 can be read is transmitted by the imaging unit (not shown) in response to a user instruction of the client 300 (C1).
  • the two-dimensional barcode displayed on the display unit of the secondary server 200 (SS1) is read.
  • the adjacent relationship generation control unit 310 transmits the identifier of the client 300 (C1) to the secondary server 200 (SS1) using the information of the two-dimensional barcode.
  • the secondary server 200 (SS1) displays a URL (Uniform Resource Locator) as “information for accessing the secondary server 200”
  • the adjacent relationship generation control unit 310 displays the Web browser of the client 300 (C1).
  • the identifier of the client 300 (C1) may be transmitted by accessing the secondary server 200 (SS1) by (not shown).
  • the adjacency generation control unit 310 of the client 300 sets the identifier of the secondary server 200 acquired by proximity registration in the secondary server information 335 and stores it in the secondary server information storage unit 330 (step S102).
  • the sub-client list generation unit 220 of the secondary server 200 adds the identifier of the client 300 acquired by proximity registration to the sub-client list 255 and stores it in the sub-client list storage unit 250 (step S103).
  • steps S102 and S103 the generation of the adjacency relationship between the secondary server 200 and the client 300 is completed.
  • the secondary server information 335 of the client 300 (C1) includes the secondary server 200 as shown in FIG.
  • the identifier of (SS1) is set.
  • the identifier of the client 300 (C1) is added to the subclient list 255 of the subserver 200 (SS1) as shown in FIG.
  • FIG. 5 is a sequence diagram showing an operation of registration from the secondary server 200 to the primary server 100 in the first embodiment of the present invention.
  • the adjacency generation control unit 110 of the main server 100 and the adjacency generation control unit 210 of the sub server 200 perform the method described above. By using it, proximity registration is performed (step S111). By performing proximity registration, the main server 100 and the secondary server 200 acquire the identifiers of the counterpart devices. For example, in FIG. 3, when the main server 100 (S0) registers the identifier of the client 300 registered in the secondary server 200 (SS1) in the vicinity with the main server 100 (S0) (main server 100 (S0)).
  • the adjacency generation control unit 110 of the main server 100 determines the user of the main server 100 (S0). In response to the instruction, “information for accessing main server 100” including the identifier of main server 100 (S0) is displayed on a display unit (not shown) as a two-dimensional barcode.
  • the adjacency generation control unit 210 of the secondary server 200 (SS1) existing in a range where the content of the display unit of the primary server 100 (S0) can be read is responsive to a user instruction of the secondary server 200 (SS1).
  • the two-dimensional bar code displayed on the display unit of the main server 100 (S0) is read by (not shown).
  • the adjacent relationship generation control unit 210 transmits the identifier “SS1” of the secondary server 200 (SS1) to the main server 100 (S0) using the information of the two-dimensional barcode.
  • the adjacency generation control unit 210 uses the Web browser (not shown) of the secondary server 200 to execute the main relationship.
  • the identifier of the secondary server 200 may be transmitted.
  • the adjacent relationship generation control unit 210 of the secondary server 200 sets the identifier of the main server 100 acquired by proximity registration in the main server information 265 and stores it in the main server information storage unit 260 (step S112).
  • the adjacent relationship generation control unit 110 of the main server 100 sets the identifier of the secondary server 200 acquired by proximity registration in the secondary server information 165 and stores it in the secondary server information storage unit 160 (step S113).
  • the generation of the adjacency relationship between the main server 100 and the sub server 200 is completed through steps S112 and S113.
  • the primary server information 265 of the secondary server 200 (SS1) includes the primary server information 265 as shown in FIG.
  • the identifier of the server 100 (S0) is set.
  • the secondary server information 165 of the primary server 100 (S0) the identifier of the secondary server 200 (SS1) is set as shown in FIG.
  • the sub client list transmission unit 230 of the sub server 200 transmits the sub client list 255 stored in the sub client list storage unit 250 to the main server 100 using the identifier of the main server 100 set in the main server information 265. (Step S114).
  • the client list generation unit 120 of the main server 100 adds the identifier of the client 300 included in the sub client list 255 received from the sub server 200 to the client list 155 and stores it in the client list storage unit 150 (step S115).
  • the primary server 100 receives the sub-client list 255 of FIGS. 11 and 13 from the secondary server 200 (SS1, SS2) that generated the adjacency relationship, and generates the client list 155 of FIG. To do.
  • FIG. 6 is a sequence diagram illustrating an operation of providing a service from the main server 100 according to the first embodiment of this invention.
  • the server access unit 320 of the client 300 uses the identifier of the sub server 200 set in the sub server information 335 to send the server to the sub server 200.
  • An access request is transmitted (step S121).
  • the client 300 (C1) transmits a service access request to the secondary server 200 (SS1) based on the secondary server information 335 of FIG.
  • the upper server information transmission unit 240 of the secondary server 200 transmits the identifier of the main server 100 set in the main server information 265 to the client 300 as the upper server information, and instructs redirection to the main server 100 (step S122).
  • the secondary server 200 (SS1) transmits the identifier of the main server 100 (S0) to the client 300 (SS1) as the upper server information based on the main server information 265 of FIG.
  • the adjacency relationship is not generated between the main server 100 and the sub server 200 (the operation of registration in the main server 100 (FIG.
  • the higher-level server information transmission unit 240 may transmit a response indicating “being prepared” to the client 300. In this case, the higher-level server information transmission unit 240 may transmit “retry waiting time” presented to the user of the client 300 to the client 300.
  • the server access unit 320 of the client 300 transmits a server access request to the main server 100 using the identifier of the main server 100 included in the received higher-level server information (step S123). For example, the client 300 (C1) transmits a service access request to the main server 100 (S0).
  • the access control unit 130 of the main server 100 searches whether the identifier of the client 300 that has transmitted the server access request exists in the client list 155. When the identifier of the client 300 exists in the client list 155, the access control unit 130 determines that the service can be provided to the client 300 (Step S124). Thereafter, the service providing unit 140 of the main server 100 starts providing services to the client 300. For example, since the identifier of the client 300 (C1) exists in the client list 155 of FIG. 9, the main server 100 (S0) determines that the service can be provided to the client 300 (C1) and starts providing the service. To do.
  • FIG. 7 is a sequence diagram showing an operation of additional registration to the main server 100 in the first embodiment of the present invention.
  • the adjacent relationship generation control unit 310 of the new client 300 sets the identifier of the secondary server 200 acquired by proximity registration in the secondary server information 335 and stores it in the secondary server information storage unit 330 (step S132).
  • the sub client list generation unit 220 of the secondary server 200 adds the identifier of the new client 300 acquired by proximity registration to the sub client list 255 and stores it in the sub client list storage unit 250 (step S133).
  • Generation of the adjacency relationship between the secondary server 200 and the client 300 is completed through steps S132 and S133.
  • the sub client list transmission unit 230 of the sub server 200 transmits the identifier of the new client 300 to the main server 100 (step S134).
  • the client list generation unit 120 of the main server 100 adds the identifier of the new client 300 received from the sub server 200 to the client list 155 and stores it in the client list storage unit 150 (step S135). Thereafter, when the main server 100 receives a service access request from the new client 300 added to the client list 155, the main server 100 provides a service to the new client 300 according to the service providing operation from the main server 100 (FIG. 6). To do. Thus, the operation of the first embodiment of the present invention is completed. Next, a characteristic configuration of the present invention will be described.
  • FIG. 1 is a block diagram showing a characteristic configuration of the first embodiment of the present invention.
  • the ad hoc service providing system includes a main server 100, a plurality of secondary servers 200, and a plurality of clients 300.
  • the client 300 when the proximity registration is performed with the secondary server 200, the client 300 generates the adjacent relationship with the first adjacent relationship generation control unit 310 that generates the adjacent relationship with the secondary server 200.
  • a server access unit 320 that accesses the main server 100 using the upper server information received from the secondary server 200.
  • the secondary server 200 When the proximity registration is performed with the client 300, the secondary server 200 generates an adjacency relationship with the client 300.
  • the secondary server 200 A second adjacency generation control unit 210 that generates an adjacency relationship with 100, a subclient list generation unit 220 that generates a subclient list 255 including an identifier of the client 300 in which the adjacency relationship has been generated, and an adjacency relationship
  • the sub-client list transmission unit 230 that transmits the sub-client list 255 to the main server 100 in which the adjacency is generated, and the identifier of the main server 100 in which the adjacency is generated are transmitted as higher-level server information to the client 300 that has generated the adjacency.
  • an upper server information transmission unit 240 an upper server information transmission unit 240.
  • the primary server 100 When the proximity registration is performed with the secondary server 200, the primary server 100 generates the adjacent relationship with the third adjacent relationship generation control unit 110 that generates the adjacent relationship with the secondary server 200.
  • the client list generation unit 120 that receives the sub client list 255 from the sub server 200 and generates the client list 155 including the identifier of the client 300 included in the sub client list 255, and the identifier of the client 300 included in the client list 155.
  • an access control unit 130 that permits access from the identified client 300.
  • each of the plurality of secondary servers 200 generates a sub-client list 255 including the identifier of the client 300 in which the adjacent relationship is generated by proximity registration, and the main server 100 generates the adjacent relationship by proximity registration.
  • the client list 155 is generated based on the sub client list 255 received from the secondary server 200.
  • FIG. 15 is a diagram illustrating an example of the sub-client list 255 according to the second embodiment of this invention.
  • step S103 of FIG. 4 the sub client list generation unit 220 of the secondary server 200 uses the identifier of the client 300 for which the secondary server 200 has generated the adjacency and the time at which the adjacency is generated as the client identifier of the sub client list 255. And registration time respectively. 5, the client list generation unit 120 of the main server 100 generates the adjacency relationship between the registration time included in the sub client list 255 received from the sub server 200 and the main server 100 and the sub server 200.
  • the identifier of the client 300 corresponding to the registered time is added to the client list 155.
  • the main server 100 and the sub server 200 generate an adjacency relationship at time “2010/01/10 10:25”, and the main server 100 receives the sub client list 255 of FIG.
  • the identifier of the client 300 whose time difference between the registration time included in the sub-client list 255 and the time when the adjacency is generated between the main server 100 and the sub-server 200 is within 20 minutes is added to the client list 155.
  • step S115 the client list generation unit 120 of the main server 100 determines that the registration time included in the sub-client list 255 is later than the service start time of the main server 100, and the registration time and the service of the main server 100 When the time difference from the start time is equal to or less than a predetermined time difference, the identifier of the client 300 corresponding to the registration time may be added to the client list 155. For example, the identifier of the client 300 whose registration time included in the sub-client list 255 is later than the service start time of the main server 100 and whose time difference between the registration time and the service start time of the main server 100 is within 20 minutes.
  • FIG. 16 is a diagram showing another example of the sub-client list 255 according to the second embodiment of this invention.
  • step S ⁇ b> 103 of FIG. 4 the sub-client list generation unit 220 of the secondary server 200 acquires position information of the secondary server 200 at the time when the secondary server 200 generates an adjacency relationship with the client 300.
  • the secondary server 200 acquires position information by, for example, GPS (Global Positioning System).
  • the sub client list generation unit 220 adds the identifier of the client 300 that has generated the adjacency relationship and the position information of the sub server 200 to the client identifier and the registered position of the sub client list 255, respectively.
  • the client list generation unit 120 of the main server 100 acquires the position information of the main server 100 at the time when the adjacency relationship is generated between the main server 100 and the sub server 200.
  • the main server 100 acquires position information by, for example, GPS. If the difference between the registration position included in the sub-client list 255 received from the sub-server 200 and the position information of the main server 100 is equal to or less than a predetermined value, the client list generation unit 120 sets the registration position to the registration position.
  • the identifier of the corresponding client 300 is added to the client list 155.
  • the ad hoc service providing system it is possible to more reliably perform access restriction that permits access only from client devices existing in the vicinity of the server device. The reason is that when the primary server 100 registers the identifier of the client 300 in the client list 155, the registration is based on the time or position information when the adjacency is generated between the secondary server 200 and the client 300. This is to determine whether or not it is possible. Further, according to the second embodiment of the present invention, in the ad hoc service providing system, it is possible to permit access only from the client device existing in the vicinity of the server device after the service is started.
  • FIG. 18 is a diagram showing an outline of client registration in the third embodiment of the present invention.
  • the third embodiment of the present invention is different from the first embodiment of the present invention in that an adjacency relationship is generated between the secondary servers 200.
  • components having the same reference numerals as those of the first embodiment of the present invention are the same as those of the first embodiment of the present invention unless otherwise specified. is there.
  • the two secondary servers 200 When proximity registration is performed between two secondary servers 200, the two secondary servers 200 generate an adjacency relationship with one being a higher server and the other being a lower server.
  • a group formed by a plurality of secondary servers 200 that have generated an adjacent relationship (or a single secondary server 200 that has not generated an adjacent relationship) is defined as a secondary server group.
  • the secondary server 200 (the highest secondary server 200 in the secondary server group) that does not generate the adjacency relationship with the other secondary server 200 as the higher server is set as the representative secondary server.
  • an adjacency relationship is generated between the secondary servers 200 and a new secondary server is created. Create a group.
  • the adjacency relationship is generated between the secondary servers 200 that are the representative secondary servers
  • the upper secondary server 200 becomes the representative secondary server of the new secondary server group.
  • the lower secondary server 200 registers the identifier of the client 300 registered in the lower secondary server 200 in the upper secondary server 200 (representative secondary server).
  • the secondary server 200 which is the representative secondary server, holds the identifiers of all the clients 300 registered in the secondary server 200 in the new secondary server group.
  • the main server 100 and the secondary server 200 that is the representative secondary server when proximity registration is performed between the main server 100 and the secondary server 200 that is the representative secondary server, the main server 100 and the secondary server 200 that is the representative secondary server generate an adjacency relationship with each other.
  • the secondary server 200 which is the representative secondary server, registers the identifier of the client 300 in the secondary server group with the primary server 100 that has generated the adjacency relationship. For example, in FIG. 18, the client 300 is registered in each of the secondary servers 200 (SS1 to SS3), and the secondary servers 200 (SS1 to SS3) form a secondary server group (state 1).
  • the secondary server 200 (SS1) and the secondary server 200 (SS2) become the secondary server 200 (SS1).
  • the secondary server 200 (SS1) and the secondary server 200 (SS3) generate an adjacency relationship in which the secondary server 200 (SS1) is an upper server.
  • the secondary server 200 (SS1) becomes a representative secondary server of the secondary server group formed by the plurality of secondary servers 200 (SS1 to SS3) (state 2).
  • the client 300 (C1 to 6) is registered in the secondary server 200 (SS1).
  • the secondary server 200 (SS1) and the secondary server 200 (SS4) are registered.
  • the secondary server 200 (SS1) is an upper server.
  • the secondary server 200 (SS1) becomes the representative secondary server of the secondary server group formed by the plurality of secondary servers 200 (SS1 to SS6) (state 3).
  • the client 300 (C1 to 12) is registered in the secondary server 200 (SS1).
  • proximity registration is performed between the main server 100 (S0) and the secondary server 200 (SS1), whereby the primary server 100 (S0) and the secondary server 200 (SS1) generate an adjacency relationship.
  • the clients 300 (C1 to 12) registered in the secondary server 200 (SS1) are registered in the main server 100 (S0).
  • FIG. 17 is a block diagram showing a configuration of an ad hoc service providing system according to the third embodiment of the present invention.
  • the secondary server 200 includes an upper secondary server information storage unit 270 and a lower secondary server information storage unit 280 in addition to the configuration of the secondary server 200 (FIG. 2) in the first embodiment of the present invention.
  • the adjacency generation control unit 210 of the secondary server 200 generates an adjacency relationship between the client 300 and the main server 100, and also registers proximity registration with other secondary servers 200 existing in a predetermined peripheral range.
  • an adjacency relationship is generated with the other secondary server 200.
  • the adjacency generation control unit 210 stores the identifier of the secondary server 200 for which the adjacency relationship has been generated as the upper server in the upper subserver information storage unit 270 as the upper subserver information 275, and the subordinate server for which the adjacent relationship has been generated as the lower server.
  • the identifier of the server 200 is stored in the lower secondary server information storage unit 280 as lower secondary server information 285.
  • the upper server information transmission unit 240 transmits the identifier of the primary server 100 in which the adjacent relationship is generated or the identifier of the secondary server 200 in which the adjacent relationship is generated as the upper server to the client 300 in which the adjacent relationship is generated. .
  • the upper secondary server information 275 includes the secondary server identifier of the secondary server 200 in which the adjacency relationship is generated as the upper server.
  • 25 and 29 are diagrams showing examples of the lower secondary server information 285 in the third embodiment of the present invention.
  • the lower secondary server information 285 includes the secondary server identifier of the secondary server 200 in which the adjacency relationship is generated as the lower server.
  • FIGS. 26 and 30 are diagrams showing examples of the sub-client list 255 in the third embodiment of this invention.
  • FIG. 31 is a diagram illustrating an example of the secondary server information 335 according to the third embodiment of this invention.
  • FIG. 19 is a sequence diagram showing an operation of registration from the secondary server 200 to another secondary server 200 in the third embodiment of the present invention.
  • the adjacency generation control unit 210 of the secondary server 200 and the adjacency generation control unit 210 of the other secondary server 200 are described above.
  • Proximity registration is performed using such a method (step S201).
  • the secondary server 200 and the other secondary server 200 acquire the other party's identifier.
  • the adjacent relationship generation control unit 210 of one of the two secondary servers 200 that performed proximity registration registers a “neighbor relationship generation request” including the primary server information 265 and the higher secondary server information 275 of the local secondary server 200 as a proximity registration. Is transmitted to the secondary server 200 that has performed (step S202).
  • the adjacent relationship generation control unit 210 of the secondary server 200 that has received the “adjacent relationship generation request” similarly sends an “adjacent relationship generation response” including the main server information 265 and the upper secondary server information 275 of the own secondary server 200.
  • the “adjacent relationship generation request” is transmitted to the secondary server 200 that is the transmission source (step S203). For example, in the state 1 of FIG. 18, when the secondary server 200 (SS1) and the secondary server 200 (SS2) perform proximity registration, the secondary server 200 (SS1) and the secondary server 200 (SS2) An “adjacent relationship generation request” or “adjacent relationship generation response” including the server information 265 (null) and the upper secondary server information 275 (null) is transmitted.
  • the adjacent relationship generation control unit 210 of each of the two secondary servers 200 exchanging the “adjacent relationship generation request” and the “adjacent relationship generation response” receives the “adjacent relationship generation request” or “adjacent relationship generation response”. Based on the included upper secondary server information 275 and the upper secondary server information 275 of the own secondary server 200, whether each of the two secondary servers 200 is a representative secondary server (other secondary servers 200 are set as higher servers). It is determined whether or not an adjacent relationship is generated, and whether or not an adjacent relationship is generated between the two secondary servers 200 is determined (steps S204 and S205). Here, each of the adjacent relationship generation control units 210 determines to generate an adjacent relationship between the two secondary servers 200 if both of the two secondary servers 200 are the representative secondary servers.
  • the adjacency generation control unit 210 of the secondary server 200 (SS1) and the secondary server 200 (SS2) is such that both of the two secondary servers 200 are representative secondary servers (the upper secondary server information 275 is null). It is determined that an adjacent relationship is generated between the secondary server 200 (SS1) and the secondary server 200 (SS2).
  • the adjacent relationship generation control unit 210 of each of the two secondary servers 200 is included in the received “adjacent relationship generation request” or “adjacent relationship generation response”.
  • it is determined which of the two sub servers 200 is the upper or lower sub server 200 (steps S206 and S207).
  • the upper or lower determination is performed based on, for example, the following upper / lower determination rules.
  • (1) When only one of the two secondary servers 200 that generate the adjacency has generated an adjacency with the main server 100, the sub server 200 that has generated the adjacency with the main server 100 as an upper server. Is the upper secondary server 200.
  • (2) When both of the two secondary servers 200 that generate the adjacent relationship have not generated the adjacent relationship with the main server 100, one of the two secondary servers 200 is set as the upper server. In this case, for example, the secondary server 200 having a small identifier value is set as the upper server.
  • the adjacent relationship generation control unit 210 of the secondary server 200 (SS1) and the secondary server 200 (SS2) does not generate an adjacent relationship in which both of the two secondary servers 200 have the primary server 100 as an upper server (primary server). Since the information 265 is null), the secondary server 200 (SS1) having a small identifier value is determined as the upper server.
  • the adjacency generation control unit 210 of the lower secondary server 200 sets the identifier of the higher secondary server 200 in the higher secondary server information 275 and stores it in the higher secondary server information storage unit 270 (step S208).
  • the adjacency generation control unit 210 of the upper secondary server 200 sets the identifier of the lower secondary server 200 in the lower secondary server information 285 and stores it in the lower secondary server information storage unit 280 (step S209).
  • the generation of the adjacency relationship between the secondary servers 200 is completed through step S208 and step S209.
  • the higher-order secondary server 200 that has generated the adjacency relationship becomes a new representative secondary server of the sub-server group formed by the plurality of secondary servers 200 that have generated the adjacency relationship.
  • the identifier of the secondary server 200 (SS1) is set in the upper secondary server information 275 of the secondary server 200 (SS2) as shown in FIG.
  • the identifier of the secondary server 200 is set in the lower secondary server information 285 of the secondary server 200 (SS1) as shown in FIG.
  • the secondary server 200 (SS1) becomes a representative secondary server of the secondary server group formed by the secondary servers 200 (SS1, SS2).
  • the sub-client list transmission unit 230 of the lower secondary server 200 uses the identifier of the upper secondary server 200 set in the upper secondary server information 275 to store the sub-client list 255 stored in the sub-client list storage unit 250.
  • the data is transmitted to the upper secondary server 200 (step S210).
  • the sub client list generation unit 220 of the upper secondary server 200 adds the identifier of the client 300 included in the sub client list 255 received from the lower secondary server 200 to the sub client list 255 and stores it in the sub client list storage unit 250.
  • the secondary server 200 (SS1) receives the subclient list 255 of FIG. 30 from the lower secondary server 200 (SS2) that generated the adjacency relationship, and adds it to the subclient list 255 of the secondary server 200 (SS1).
  • the secondary server 200 (SS1) and the secondary server 200 (SS3) perform proximity registration, so that the secondary server 200 (SS1) is placed between the secondary server 200 (SS1) and the secondary server 200 (SS3).
  • An adjacency relationship is generated as a server.
  • the secondary server 200 (SS1) becomes a representative secondary server of the secondary server group formed by the secondary servers 200 (SS1 to SS3).
  • the secondary server 200 (SS1) and the secondary server 200 (SS4) which is the representative secondary server of another secondary server group, perform proximity registration, so that the secondary server 200 (SS1) and the secondary server 200 (SS4)
  • the adjacency relationship is generated with the secondary server 200 (SS1) as the upper server.
  • the secondary server 200 (SS1) becomes a representative secondary server of the secondary server group formed by the secondary servers 200 (SS1 to SS6).
  • the identifiers of the secondary servers 200 are set as shown in FIG. Further, the identifier of the client 300 (C1 to 12) is set in the subclient list 255 of the subserver 200 (SS1) as shown in FIG. ⁇ Registration from the secondary server 200 to the primary server 100>
  • an operation for registering the identifier of the client 300 registered in the secondary server 200 as the representative secondary server from the secondary server 200 as the representative secondary server to the main server 100 will be described.
  • the operation of registering the identifier of the client 300 registered in the secondary server 200, which is the representative secondary server, in the main server 100 is the same as in the first embodiment (FIG. 5) of the present invention.
  • step S112 the adjacency generation control unit 210 of the secondary server 200 generates an adjacency relationship with the main server 100 when the own secondary server 200 is the representative secondary server.
  • FIG. 21 is a diagram illustrating an example of the secondary server information 165 according to the third embodiment of this invention.
  • FIG. 22 is a diagram illustrating an example of the client list 155 according to the third embodiment of this invention.
  • FIGS. 23 and 27 are diagrams illustrating examples of the main server information 265 according to the third embodiment of this invention.
  • the primary server information 265 of the secondary server 200 (SS1) includes the primary server information 265 as shown in FIG.
  • the identifier of the server 100 (S0) is set. Further, as shown in FIG. 21, the identifier of the secondary server 200 (SS1) is set in the secondary server information 165 of the primary server 100 (S0). As a result, an adjacency relationship is generated between the primary server 100 (S0) and the secondary server 200 (SS1) as in state 3 in FIG. Also, the main server 100 (S0) receives the sub client list 255 of FIG. 26 from the sub server 200 (SS1), and generates the client list 155 of FIG. ⁇ Service provision from main server 100> Next, an operation for providing a service from the main server 100 to the client 300 will be described.
  • FIG. 20 is a sequence diagram showing an operation of providing a service from the main server 100 in the third embodiment of the present invention.
  • the server access unit 320 of the client 300 uses the identifier of the sub server 200 set in the sub server information 335 to send the server to the sub server 200.
  • An access request is transmitted (step S221). For example, in FIG. 18, when the client 300 (C4) registered in the secondary server 200 (SS2) (adjacent to the secondary server 200 (SS2)) accesses the main server 100, the client 300 (C4) Transmits a service access request to the secondary server 200 (SS2) based on the secondary server information 335 of FIG.
  • the higher server information transmission unit 240 of the secondary server 200 transmits the identifier as higher server information to the client 300 and redirects to the higher secondary server 200.
  • An instruction is given (step S222).
  • the secondary server 200 (SS2) transmits the identifier of the secondary server 200 (SS1) to the client 300 (C4) based on the upper secondary server information 275 in FIG.
  • the server access unit 320 of the client 300 transmits a server access request to the sub server 200 using the identifier of the upper sub server 200 included in the received upper server information (step S223).
  • the client 300 (C4) transmits a service access request to the secondary server 200 (SS1).
  • the upper server information transmission unit 240 of the upper secondary server 200 transmits the identifier to the client 300 as the upper server information and instructs redirection to the main server 100.
  • the secondary server 200 (SS1) transmits the identifier of the main server 100 (S0) to the client 300 (C4) based on the main server information 265 of FIG.
  • the server access unit 320 of the client 300 transmits a server access request to the main server 100 using the identifier of the main server 100 included in the received higher-level server information (step S225).
  • the client 300 (C4) transmits a service access request to the main server 100 (S0).
  • the access control unit 130 of the main server 100 searches whether the identifier of the client 300 that has transmitted the server access request exists in the client list 155. When the identifier of the client 300 exists in the client list 155, the access control unit 130 determines that the service can be provided to the client 300 (Step S226). Thereafter, the service providing unit 140 of the main server 100 starts providing services to the client 300. For example, since the identifier of the client 300 (C4) exists in the client list 155 of FIG. 22, the main server 100 (S0) determines that the service can be provided to the client 300 (C4) and starts providing the service. To do. In FIG.
  • a server access request (step S221). ) And a redirect instruction (step S222) are repeatedly performed until the identifier of the main server 100 is transmitted to the client 300.
  • a redirect instruction (step S222) are repeatedly performed until the identifier of the main server 100 is transmitted to the client 300.
  • the operation of the third embodiment of the present invention is completed.
  • a plurality of secondary servers 200 form a secondary server group by creating an adjacency relationship by proximity registration, and the secondary secondary server group representative secondary server includes the identifier of the client 300 in the secondary server group.
  • FIG. 32 is a diagram showing an outline of client registration according to the fourth embodiment of the present invention.
  • the third embodiment of the present invention when proximity registration is performed between the representative secondary servers of the secondary server group, the adjacency relationship is generated between the representative secondary servers.
  • the fourth embodiment of the present invention even when proximity registration is performed by the secondary server 200 that is not the representative secondary server of the secondary server group, an adjacency relationship is generated between the representative secondary servers of the secondary server group. In this respect, it differs from the third embodiment of the present invention.
  • each of the secondary server 200 (SS1) and the secondary server 200 (SS4) is a representative secondary server of the secondary server group (state 1).
  • the secondary server 200 is a representative server of each secondary server group.
  • the secondary server 200 (SS1) and the secondary server 200 (SS4) generate an adjacency relationship in which the secondary server 200 (SS1) is an upper server (state 2).
  • the secondary server 200 (SS1) becomes the representative secondary server of the secondary server group formed by the plurality of secondary servers 200 (SS1 to 6) that have generated the adjacency relationship.
  • the client 300 (C1 to 12) is registered in the server 200 (SS1).
  • the respective secondary server groups The secondary server 200 (SS1) and the secondary server 200 (SS4), which are the representative servers, generate an adjacency relationship.
  • the configuration of the ad hoc service providing system in the fourth embodiment of the present invention is the same as the configuration of the ad hoc service providing system in the third embodiment of the present invention (FIG. 17).
  • the operation of the fourth exemplary embodiment of the present invention will be described in detail with reference to the drawings.
  • the operation of “registration from the secondary server 200 to another secondary server 200”, which is different from the third embodiment of the present invention, will be described below.
  • the proximity registration is performed between the secondary server 200 of one secondary server group and the secondary server 200 of the other secondary server group, so that the representative secondary server of each secondary server group.
  • FIGS. 32 to 34 are sequence diagrams showing the registration operation from the secondary server 200 to the other secondary server 200 in the fourth embodiment of the invention. Operations from when the secondary server 200 and another secondary server 200 perform proximity registration until the “adjacent relationship generation response” and “adjacent relationship generation request” are exchanged between the two secondary servers 200 (steps S301 to S303) This is the same as the operation of the third embodiment of the present invention (FIG. 19, steps S201 to S203).
  • the adjacent relationship generation control unit 210 of each of the two secondary servers 200 exchanging the “adjacent relationship generation request” and the “adjacent relationship generation response” receives the “adjacent relationship generation request” or “adjacent relationship generation response”.
  • the processing differs as follows. “A.
  • each of the adjacent relationship generation control units 210 determines to generate an adjacent relationship between the two secondary servers 200. .
  • the two secondary servers 200 that is, the secondary server group to which the secondary server 200 that has performed proximity registration belongs. Adjacency relationships are generated between the representative secondary servers (steps S331 to S334). For example, in the state 1 of FIG.
  • the state 2 of FIG. As described above, the adjacency relationship is generated between the secondary server 200 (SS1) and the secondary server 200 (SS4) with the secondary server 200 (SS1) as an upper server.
  • the adjacent relationship generation control unit 210 of the secondary server 200 that is the representative secondary server determines to generate an adjacent relationship with the representative secondary server 200 that is higher than the secondary server 200 that has performed proximity registration. Then, the adjacency generation control unit 210 of the secondary server 200 that is the representative secondary server refers to the higher level secondary server information 275 received from the counterpart side secondary server 200 and refers to the higher level secondary server 200 of the secondary server 200 that performed proximity registration. An “adjacent relationship generation request” is transmitted to (step S321).
  • the adjacent relationship generation control unit 210 of the secondary server 200 that has received the “adjacent relationship generation request” transmits an “adjacent relationship generation response” to the secondary server 200 that is the transmission source of the “adjacent relationship generation request” (step S322). For example, in the state 1 of FIG. 32, when proximity registration is performed between the secondary server 200 (SS1) that is the representative secondary server and the secondary server 200 (SS6) that is not the representative secondary server, the secondary server 200 (SS1) Then, an “adjacent relationship generation request” including the upper secondary server information 275 (null) is transmitted to the secondary server 200 (SS6).
  • the secondary server 200 (SS6) transmits an “adjacent relationship generation response” including the higher level secondary server information 275 (SS4) to the secondary server 200 (SS1).
  • the secondary server 200 (SS1) is the representative secondary server because only the secondary server 200 (SS1) is based on the received higher secondary server information 275 and the higher secondary server information 275 of the secondary server 200 (SS1). It is determined that an adjacency is generated with the representative secondary server 200 that is higher than the secondary server 200 (SS6). Then, the secondary server 200 (SS1) refers to the received higher secondary server information 275 and transmits an “adjacent relationship generation request” including the higher secondary server information 275 (null) to the secondary server 200 (SS4).
  • the secondary server 200 transmits an “adjacent relationship generation response” including the higher level secondary server information 275 (null) to the secondary server 200 (SS1). Then, as in steps S304 and S305, the adjacent relationship generation control unit 210 of each of the two secondary servers 200 that exchanged the “adjacent relationship generation request” and the “adjacent relationship generation response” is performed between the two secondary servers 200. It is determined whether or not to generate an adjacency relationship (steps S323 and S324).
  • the secondary server 200 higher than the secondary server 200 that is not the representative secondary server among the two secondary servers 200 that performed proximity registration in step S301 is the representative secondary server, in steps S323 and S324, the two secondary servers Both 200 are representative secondary servers.
  • Adjacency relationships are generated between servers (steps S331 to S334). For example, as in state 2 in FIG. 32, an adjacency relationship is generated between the secondary server 200 (SS1) and the secondary server 200 (SS4) with the secondary server 200 (SS1) as an upper server.
  • Step S301 If the secondary server 200 that is higher than the secondary server 200 that is not the representative secondary server among the two secondary servers 200 that performed proximity registration in step S301 is not the representative secondary server, an “adjacent relationship generation request” and an “adjacent relationship generation response” Steps S321 to S324 are repeated until both of the two secondary servers 200 that have exchanged "" become representative secondary servers. “C. When both of the two secondary servers 200 are not representative secondary servers” In Steps S304 and S305, when both of the two secondary servers 200 are not representative secondary servers (FIG. 35), the adjacent relationship generation control unit 210 of each of the two secondary servers 200 establishes a connection with the secondary server 200 that has performed proximity registration. It is determined that no adjacency is generated between them.
  • the adjacent relationship generation control unit 210 refers to the higher secondary server information 275, and the secondary server 200 that has performed proximity registration with the higher secondary server 200 of the local secondary server 200.
  • An “adjacent relationship generation instruction” including the identifier is transmitted (step S311).
  • the secondary server 200 having a small identifier value transmits an “adjacent relationship generation instruction”.
  • each secondary server 200 that has received the “adjacent relationship generation instruction” refers to the upper secondary server information 275 and transfers the “adjacent relationship generation instruction” to the secondary server 200 that is the representative secondary server. For example, in the state 1 of FIG.
  • the secondary server 200 when proximity registration is performed between the secondary server 200 (SS3) that is not the representative secondary server and the secondary server 200 (SS6) that is not the representative secondary server, the secondary server 200 (SS3) An “adjacent relationship generation request” including the upper secondary server information 275 (SS1) is transmitted to the secondary server 200 (SS6). Further, the secondary server 200 (SS6) transmits an “adjacent relationship generation response” including the higher level secondary server information 275 (SS4) to the secondary server 200 (SS3). In the secondary server 200 (SS3, SS6), both the secondary servers 200 (SS3, SS6) are not representative secondary servers based on the received higher secondary server information 275 and the higher secondary server information 275 of the own secondary server 200.
  • the secondary server 200 (SS3) having a small identifier value transmits an “adjacent relationship generation instruction” including the identifier of the secondary server 200 (SS6) to the secondary server 200 (SS1), which is the upper secondary server 200.
  • the secondary server 200 which is the representative secondary server that has received the “adjacent relationship generation instruction” transmits an “adjacent relationship generation request” to the secondary server 200 indicated by the identifier included in the “adjacent relationship generation instruction” (step S312). .
  • the secondary server 200 that has received the adjacent relationship generation request transmits an “adjacent relationship generation response” to the secondary server 200 that is the transmission source of the adjacent relationship generation request (step S313).
  • the secondary server 200 (SS1) transmits an “adjacent relationship generation request” including the upper secondary server information 275 (null) to the secondary server 200 (SS6).
  • the secondary server 200 (SS6) transmits an “adjacent relationship generation response” including the higher level secondary server information 275 (SS4) to the secondary server 200 (SS1).
  • the adjacent relationship generation control unit 210 of each of the two secondary servers 200 that exchanged the “adjacent relationship generation request” and the “adjacent relationship generation response” is performed between the two secondary servers 200.
  • step S314 and S315) it is determined whether or not to generate an adjacency relationship.
  • the representative secondary server and the representative secondary server are the same as in “B.
  • Adjacent relations are generated between the representative secondary servers higher than the secondary server 200 that is not the server, that is, the representative secondary servers of the secondary server group to which the secondary server 200 that has performed proximity registration belongs (steps S321 to S334). For example, as in state 2 in FIG. 32, an adjacency relationship is generated between the secondary server 200 (SS1) and the secondary server 200 (SS4) with the secondary server 200 (SS1) as an upper server.
  • the sub-client list 255 of the lower secondary server 200 is updated as in the third embodiment (steps S210 to S211) of the present invention. It is added to the sub client list 255 of the upper secondary server 200 (steps S335 to S336).
  • the operation of the fourth embodiment of the present invention is thus completed.
  • a secondary server other than the representative secondary server is used. Adjacency can be generated by proximity registration.
  • the first secondary server group when proximity registration is performed between any secondary server 200 of the first secondary server group and any secondary server 200 of the second secondary server group, the first secondary server group This is because an adjacency relationship is generated between the representative secondary server and the representative secondary server of the second secondary server group.
  • the user of the secondary server when creating a new secondary server group by creating an adjacency relationship between secondary server groups, the user of the secondary server It is possible to generate an adjacency relationship between the secondary server groups without knowing whether the secondary server and the secondary server that performs proximity registration with the secondary server are representative secondary servers.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Provided is an ad-hoc service providing system wherein registration of a client device can be smoothly performed even if there are a large number of client devices. A sub-server device (200) generates an adjacency relationship with a client (300) by adjacency registration, and generates a sub-client list (255) containing an identifier of the client (300). A main server (100) generates an adjacency relationship with the sub-server (300) by adjacency registration, and generates a client list (155) on the basis of the sub-client list (255) received from the sub-server (200). The main server (100) permits access from the client (300) which is identified by the identifier of the client (300) contained in the client list (155).

Description

アドホックサービス提供システムAd hoc service provision system
 本発明は、アドホックサービス提供システム、アドホックサービス提供方法、主サーバ、副サーバ、クライアント及びプログラム記録媒体に関し、特に、サーバ装置の近傍に存在するクライアント装置に対してサービスを提供するアドホックサービス提供システム、アドホックサービス提供方法、主サーバ、副サーバ、クライアント及びプログラム記録媒体に関する。 The present invention relates to an ad hoc service providing system, an ad hoc service providing method, a main server, a sub server, a client, and a program recording medium, and in particular, an ad hoc service providing system for providing a service to a client device existing in the vicinity of a server device, The present invention relates to an ad hoc service providing method, a main server, a secondary server, a client, and a program recording medium.
 携帯電話等の移動可能な端末がサーバとなり、他の移動可能な端末にサービスを提供する方法が知られている。例えば、非特許文献1に記載のWebブラウザは、Webサーバとして他のWebブラウザにサービスを提供できる。このWebブラウザを備えた端末は、当該WebブラウザのWebサーバ機能を実行することにより、他の端末にWebサービスを提供できる。
 さらに、このような移動可能な端末間のサービス提供システムにおいて、サーバを搭載した端末(サーバ装置)に、ある時点で、そのサーバ装置に物理的に近い場所に存在する他の端末(クライアント装置)が登録され、登録されたクライアント装置に限ってサービスが提供されるシステム(以下、アドホックサービス提供システムとする)が考えられる。このようなアドホックサービス提供システムでは、クライアント装置は、サーバ装置の近くでしか取得できない情報(バーコードや赤外線通信で提供される情報)を用いて、サーバ装置にアクセスし、当該クライアント装置を登録する。
 しかしながら、このようなアドホックサービス提供システムでは、クライアント装置の登録時に、当該クライアント装置はサービス装置の近傍に存在する必要があるため、クライアント装置が多数の場合、サービス装置に多数のクライアント装置が集まることになる。したがって、クライアント装置の登録がスムースに行えないという問題がある。
 なお、関連技術として、端末による認証の負荷を低減する技術の一例が特許文献1に記載されている。特許文献1記載の無線LAN(Local Area Network)システムでは、複数のアクセスポイントのそれぞれが複数のクライアントの認証を認証サーバに代わって実行する。しかしながら、認証されたクライアントの情報は、アクセスポイントから、LANにより接続されている特定の認証サーバへ通知される。従って、この技術は、上述のアドホックサービス提供システムのように、移動可能なサーバ装置が、ある時点で、近傍に存在するクライアント装置に対して認証を行う場合に適用することはできない。
 また、互いに近くに存在する端末を関連づける技術として、非特許文献2には、2つの端末においてユーザが同時にボタンを押したときに、それぞれの端末がサーバにペアリング要求を送信し、サーバが2つの要求の受信時刻の差を基に、2つの端末のペアリングを行う方法が開示されている。また、非特許文献3には、2つの端末を衝突させたときの情報をそれぞれの端末がサーバに送信し、サーバが受信した情報をもとに2つの端末を関連づける方法が開示されている。
A method is known in which a mobile terminal such as a mobile phone serves as a server and provides a service to another mobile terminal. For example, the Web browser described in Non-Patent Document 1 can provide services to other Web browsers as a Web server. A terminal provided with this Web browser can provide Web services to other terminals by executing the Web server function of the Web browser.
Furthermore, in such a service providing system between movable terminals, a terminal (server apparatus) on which a server is mounted is connected to another terminal (client apparatus) that is physically close to the server apparatus at a certain point in time. Is registered and a service is provided only to the registered client device (hereinafter referred to as an ad hoc service providing system). In such an ad hoc service providing system, the client device accesses the server device using information that can be acquired only near the server device (information provided by barcode or infrared communication), and registers the client device. .
However, in such an ad hoc service providing system, when a client device is registered, the client device needs to exist in the vicinity of the service device. Therefore, when there are a large number of client devices, a large number of client devices gather in the service device. become. Therefore, there is a problem that the client device cannot be registered smoothly.
As a related technique, Patent Document 1 describes an example of a technique for reducing a load of authentication by a terminal. In a wireless LAN (Local Area Network) system described in Patent Document 1, each of a plurality of access points executes authentication of a plurality of clients on behalf of an authentication server. However, the authenticated client information is notified from the access point to a specific authentication server connected via the LAN. Therefore, this technique cannot be applied when a movable server device authenticates a client device existing in the vicinity at a certain point in time, as in the above-described ad hoc service providing system.
As a technique for associating terminals that are close to each other, Non-Patent Document 2 discloses that when a user simultaneously presses a button on two terminals, each terminal transmits a pairing request to the server. A method for pairing two terminals based on a difference in reception time of two requests is disclosed. Non-Patent Document 3 discloses a method in which information when two terminals collide with each other is transmitted to the server, and the two terminals are associated with each other based on the information received by the server.
2008−210368号公報2008-210368 gazette
 上述のように、アドホックサービス提供システムでは、クライアント装置をサービス装置に登録するときに、クライアント装置がサービス装置の近傍に存在する必要があるため、クライアント装置が多数の場合、クライアント装置の登録がスムースに行えないという問題があった。
 本発明の一つの目的は、上述した課題を解決するアドホックサービス提供システム、アドホックサービス提供方法、主サーバ、副サーバ、クライアント及びプログラム記録媒体を提供することにある。
As described above, in the ad hoc service providing system, when a client device is registered with the service device, the client device needs to be in the vicinity of the service device. There was a problem that could not be done.
One object of the present invention is to provide an ad hoc service providing system, an ad hoc service providing method, a main server, a sub server, a client, and a program recording medium that solve the above-described problems.
 本発明のアドホックサービス提供システムは、所定の範囲に存在する2つの装置のそれぞれが相手側装置の識別子を取得することを近接登録とし、副サーバとの間で前記近接登録が行われた場合、当該副サーバとの間で隣接関係を生成する第1の隣接関係生成手段と、前記隣接関係が生成された前記副サーバから受信した上位サーバ情報を用いて主サーバへアクセスするサーバアクセス手段とを有する複数のクライアントと、前記クライアントとの間で前記近接登録が行われた場合、当該クライアントとの間で前記隣接関係を生成し、前記主サーバとの間で前記近接登録が行われた場合、当該主サーバとの間で前記隣接関係を生成する第2の隣接関係生成制御手段と、前記隣接関係が生成された前記クライアントの識別子を含むサブクライアントリストを生成するサブクライアントリスト生成手段と、前記隣接関係が生成された前記主サーバへ前記サブクライアントリストを送信するサブクライアントリスト送信手段と、前記隣接関係が生成された前記クライアントへ前記隣接関係が生成された前記主サーバの識別子を前記上位サーバ情報として送信する上位サーバ情報送信手段とを有する複数の前記副サーバと、前記副サーバとの間で前記近接登録が行われた場合、当該副サーバとの間で前記隣接関係を生成する第3の隣接関係生成制御手段と、前記隣接関係が生成された前記副サーバから前記サブクライアントリストを受信し、当該サブクライアントリストに含まれる前記クライアントの識別子を含むクライアントリストを生成するクライアントリスト生成手段と、前記クライアントリストに含まれる前記クライアントの識別子で識別される前記クライアントからのアクセスを許可するアクセス制御手段とを有する前記主サーバとを備える。
 本発明のアドホックサービス提供方法は、所定の範囲に存在する2つの装置のそれぞれが相手側装置の識別子を取得することを近接登録とし、クライアントが、副サーバとの間で前記近接登録が行われた場合、当該副サーバとの間で隣接関係を生成し、
 前記副サーバが、前記クライアントとの間で前記近接登録が行われた場合、当該クライアントとの間で前記隣接関係を生成し、前記副サーバが、前記隣接関係が生成された前記クライアントの識別子を含むサブクライアントリストを生成し、前記副サーバが、主サーバとの間で前記近接登録が行われた場合、当該主サーバとの間で前記隣接関係を生成し、前記主サーバが、前記副サーバとの間で前記近接登録が行われた場合、当該副サーバとの間で前記隣接関係を生成し、前記副サーバが、前記隣接関係が生成された前記主サーバへ前記サブクライアントリストを送信し、前記主サーバが、前記隣接関係が生成された前記副サーバから前記サブクライアントリストを受信し、当該サブクライアントリストに含まれる前記クライアントの識別子を含むクライアントリストを生成し、前記副サーバが、前記隣接関係が生成された前記クライアントへ前記隣接関係が生成された前記主サーバの識別子を上位サーバ情報として送信し、前記クライアントが、前記隣接関係が生成された前記副サーバから受信した前記上位サーバ情報を用いて前記主サーバへアクセスし、前記主サーバが、前記クライアントリストに含まれる前記クライアントの識別子で識別される前記クライアントからのアクセスを許可する。
 本発明の主サーバは、所定の範囲に存在する2つの装置のそれぞれが相手側装置の識別子を取得することを近接登録とし、前記近接登録により隣接関係が生成されたクライアントの識別子を含むサブクライアントリストを生成する副サーバとの間で前記近接登録が行われた場合、当該副サーバとの間で前記隣接関係を生成する隣接関係生成制御手段と、前記隣接関係が生成された前記副サーバから前記サブクライアントリストを受信し、当該サブクライアントリストに含まれる前記クライアントの識別子を含むクライアントリストを生成するクライアントリスト生成手段と、前記クライアントリストに含まれる前記クライアントの識別子で識別される前記クライアントからのアクセスを許可するアクセス制御手段とを備える。
 本発明の副サーバは、所定の範囲に存在する2つの装置のそれぞれが相手側装置の識別子を取得することを近接登録とし、サブクライアントリストに含まれるクライアントの識別子で識別されるクライアントからのアクセスを許可する主サーバとの間で前記近接登録が行われた場合、当該主サーバとの間で隣接関係を生成し、前記主サーバへアクセスする前記クライアントとの間で前記近接登録が行われた場合、当該クライアントとの間で前記隣接関係を生成する隣接関係生成制御手段と、前記隣接関係が生成された前記クライアントの識別子を含む前記サブクライアントリストを生成するサブクライアントリスト生成手段と、前記隣接関係が生成された前記主サーバへ前記サブクライアントリストを送信するサブクライアントリスト送信手段と、前記隣接関係が生成された前記クライアントへ前記隣接関係が生成された前記主サーバの識別子を上位サーバ情報として送信する上位サーバ情報送信手段とを備える。
 本発明のクライアントは、所定の範囲に存在する2つの装置のそれぞれが相手側装置の識別子を取得することを近接登録とし、前記近接登録により隣接関係が生成されたクライアントの識別子を含むサブクライアントリストを生成し前記近接登録により前記隣接関係が生成された主サーバに送信する副サーバとの間で前記近接登録が行われた場合、当該副サーバとの間で前記隣接関係を生成する隣接関係生成手段と、前記サブクライアントリストに含まれる前記クライアントの識別子で識別されるクライアンからのアクセスを許可する前記主サーバへ、前記隣接関係が生成された前記副サーバから受信した上位サーバ情報を用いてアクセスするサーバアクセス手段とを備える。
 本発明の第1のプログラム記録媒体は、所定の範囲に存在する2つの装置のそれぞれが相手側装置の識別子を取得することを近接登録とし、コンピュータを、前記近接登録により隣接関係が生成されたクライアントの識別子を含むサブクライアントリストを生成する副サーバとの間で前記近接登録が行われた場合、当該副サーバとの間で前記隣接関係を生成する隣接関係生成制御手段と、前記隣接関係が生成された前記副サーバから前記サブクライアントリストを受信し、当該サブクライアントリストに含まれる前記クライアントの識別子を含むクライアントリストを生成するクライアントリスト生成手段と、前記クライアントリストに含まれる前記クライアントの識別子で識別される前記クライアントからのアクセスを許可するアクセス制御手段として機能させる主サーバ用プログラムを記録する。
 本発明の第2のプログラム記録媒体は、所定の範囲に存在する2つの装置のそれぞれが相手側装置の識別子を取得することを近接登録とし、コンピュータを、サブクライアントリストに含まれるクライアントの識別子で識別されるクライアントからのアクセスを許可する主サーバとの間で前記近接登録が行われた場合、当該主サーバとの間で隣接関係を生成し、前記主サーバへアクセスする前記クライアントとの間で前記近接登録が行われた場合、当該クライアントとの間で前記隣接関係を生成する隣接関係生成制御手段と、前記隣接関係が生成された前記クライアントの識別子を含む前記サブクライアントリストを生成するサブクライアントリスト生成手段と、前記隣接関係が生成された前記主サーバへ前記サブクライアントリストを送信するサブクライアントリスト送信手段と、前記隣接関係が生成された前記クライアントへ前記隣接関係が生成された前記主サーバの識別子を上位サーバ情報として送信する上位サーバ情報送信手段として機能させる副サーバ用プログラムを記録する。
 本発明の第3のプログラム記録媒体は、所定の範囲に存在する2つの装置のそれぞれが相手側装置の識別子を取得することを近接登録とし、コンピュータを、前記近接登録により隣接関係が生成されたクライアントの識別子を含むサブクライアントリストを生成し前記近接登録により前記隣接関係が生成された主サーバに送信する副サーバとの間で前記近接登録が行われた場合、当該副サーバとの間で前記隣接関係を生成する隣接関係生成手段と、前記サブクライアントリストに含まれる前記クライアントの識別子で識別されるクライアントからのアクセスを許可する前記主サーバへ、前記隣接関係が生成された前記副サーバから受信した上位サーバ情報を用いてアクセスするサーバアクセス手段として機能させるクライアント用プログラムを記録する。
The ad hoc service providing system of the present invention uses proximity registration in which each of two devices existing in a predetermined range acquires an identifier of a counterpart device, and when the proximity registration is performed with a secondary server, First adjacency generation means for generating an adjacency relationship with the secondary server; and server access means for accessing the main server using the upper server information received from the secondary server in which the adjacency relationship has been generated. When the proximity registration is performed between the plurality of clients and the client, the adjacency is generated with the client, and the proximity registration is performed with the main server, A second adjacency generation control unit that generates the adjacency relationship with the main server; and a sub-client including an identifier of the client in which the adjacency relationship is generated Sub-client list generating means for generating a client list, sub-client list transmitting means for transmitting the sub-client list to the main server for which the adjacency relation has been generated, and the adjacency relation for the client for which the adjacency relation has been generated. When the proximity registration is performed between the secondary server and the secondary server having a higher-level server information transmission unit that transmits the generated identifier of the primary server as the higher-level server information, the secondary server Third adjacency generation control means for generating the adjacency relationship between the sub-client list and the sub-client list received from the sub-server generated with the adjacency relationship, and the identifier of the client included in the sub-client list Client list generating means for generating a client list including the client list, and the client And a the main server having an access control means for permitting access from the client identified by the client identifier included in the cement list.
The ad hoc service providing method of the present invention uses proximity registration in which each of two devices within a predetermined range acquires an identifier of a counterpart device, and the proximity registration is performed between a client and a secondary server. If this happens, create an adjacency relationship with the secondary server,
When the proximity registration is performed with the client, the secondary server generates the adjacency with the client, and the secondary server sets the identifier of the client with the adjacency generated. The sub-client list is generated, and when the sub server performs the proximity registration with the main server, the sub server generates the adjacency relationship with the main server, and the main server When the proximity registration is performed with the sub server, the adjacency relationship is generated with the sub server, and the sub server transmits the sub client list to the main server with the adjacency relationship generated. The main server receives the sub-client list from the sub-server in which the adjacency is generated, and the identifier of the client included in the sub-client list A client list including the server, and the secondary server transmits, as upper server information, the identifier of the main server in which the adjacency is generated, to the client in which the adjacency is generated. The upper server information received from the generated secondary server is used to access the main server, and the main server permits access from the client identified by the client identifier included in the client list. .
The main server of the present invention uses a sub-client including an identifier of a client whose adjacency is generated by proximity registration, in which each of two devices existing in a predetermined range acquires an identifier of a counterpart device, When the proximity registration is performed with the secondary server that generates the list, the adjacent relationship generation control unit that generates the adjacent relationship with the secondary server, and the secondary server with which the adjacent relationship is generated Client list generating means for receiving the sub-client list and generating a client list including an identifier of the client included in the sub-client list; from the client identified by the identifier of the client included in the client list Access control means for permitting access.
The secondary server of the present invention uses proximity registration in which each of two devices existing in a predetermined range acquires the identifier of the counterpart device, and access from the client identified by the identifier of the client included in the subclient list When the proximity registration is performed with the main server that permits the access, the proximity registration is performed with the client that generates an adjacency relationship with the main server and accesses the main server. The adjacency generation control means for generating the adjacency relationship with the client, the subclient list generation means for generating the subclient list including the identifier of the client in which the adjacency is generated, and the adjacency A sub-client list sender that sends the sub-client list to the main server for which a relationship has been generated When, and a host server information transmitting means for transmitting the adjacency said adjacency of the main server generated to the client generated identifier as the host server information.
The client of the present invention uses proximity registration in which each of two devices existing in a predetermined range acquires an identifier of a counterpart device, and includes a sub-client list including identifiers of clients for which adjacent relations are generated by the proximity registration When the proximity registration is performed with the secondary server that transmits the primary relationship to the primary server for which the proximity registration is generated by the proximity registration, the adjacent relationship generation is performed to generate the adjacent relationship with the secondary server. Access to the main server that permits access from the client identified by the client identifier included in the sub-client list using the upper server information received from the sub-server in which the adjacency is generated Server access means.
According to the first program recording medium of the present invention, each of two devices existing in a predetermined range obtains the identifier of the counterpart device as proximity registration, and the computer has the adjacent relationship generated by the proximity registration. When the proximity registration is performed with a secondary server that generates a subclient list including a client identifier, the adjacent relationship generation control unit that generates the adjacent relationship with the secondary server, and the adjacent relationship is A client list generating means for receiving the sub client list from the generated sub server and generating a client list including an identifier of the client included in the sub client list; and an identifier of the client included in the client list. An access control that allows access from the identified client Recording the main server program to function as a unit.
The second program recording medium of the present invention uses proximity registration in which each of two devices within a predetermined range acquires the identifier of the counterpart device, and the computer is identified by the client identifier included in the subclient list. When the proximity registration is performed with the main server that permits access from the identified client, an adjacency is generated with the main server, and the client accessing the main server When the proximity registration is performed, an adjacency generation control unit that generates the adjacency with the client, and a subclient that generates the subclient list including an identifier of the client in which the adjacency is generated Sending the sub-client list to the main server on which the adjacency relationship has been generated with a list generation means A sub-client list transmitting means, and a sub-server program for functioning as upper server information transmitting means for transmitting, as upper server information, an identifier of the main server for which the adjacent relationship has been generated to the client for which the adjacent relationship has been generated. Record.
According to the third program recording medium of the present invention, each of two devices existing in a predetermined range obtains the identifier of the counterpart device as proximity registration, and the computer has generated the adjacent relationship by the proximity registration. When the proximity registration is performed with a secondary server that generates a sub-client list including an identifier of the client and transmits the adjacent relationship to the primary server generated by the proximity registration, Received from the secondary server in which the adjacency is generated, to an adjacency generation means for generating an adjacency, and to the primary server that permits access from the client identified by the identifier of the client included in the subclient list Program for client to function as server access means to access using the higher-level server information Record.
 本発明の効果は、アドホックサービス提供システムにおいて、クライアント装置が多数の場合でも、クライアント装置の登録をスムースに行うことができることである。 The effect of the present invention is that, in an ad hoc service providing system, even when there are a large number of client devices, the client devices can be registered smoothly.
本発明の第一の実施の形態の特徴的な構成を示すブロック図である。It is a block diagram which shows the characteristic structure of 1st embodiment of this invention. 本発明の第一の実施の形態におけるアドホックサービス提供システムの構成を示すブロック図である。It is a block diagram which shows the structure of the ad hoc service provision system in 1st embodiment of this invention. 本発明の第一の実施の形態におけるクライアント登録の概要を示す図である。It is a figure which shows the outline | summary of the client registration in 1st embodiment of this invention. 本発明の第一の実施の形態におけるクライアント300から副サーバ200への登録の動作を示すシーケンス図である。It is a sequence diagram which shows the operation | movement of registration to the secondary server 200 from the client 300 in 1st embodiment of this invention. 本発明の第一の実施の形態における副サーバ200から主サーバ100への登録の動作を示すシーケンス図である。It is a sequence diagram which shows the operation | movement of registration from the subserver 200 to the main server 100 in 1st embodiment of this invention. 本発明の第一の実施の形態における主サーバ100からのサービス提供の動作を示すシーケンス図である。It is a sequence diagram which shows operation | movement of the service provision from the main server 100 in 1st embodiment of this invention. 本発明の第一の実施の形態における主サーバ100への追加登録の動作を示すシーケンス図である。It is a sequence diagram which shows the operation | movement of the additional registration to the main server 100 in 1st embodiment of this invention. 本発明の第一の実施の形態における副サーバ情報165の例を示す図である。It is a figure which shows the example of the secondary server information 165 in 1st embodiment of this invention. 本発明の第一の実施の形態におけるクライアントリスト155の例を示す図である。It is a figure which shows the example of the client list | wrist 155 in 1st embodiment of this invention. 本発明の第一の実施の形態における主サーバ情報265の例を示す図である。It is a figure which shows the example of the main server information 265 in 1st embodiment of this invention. 本発明の第一の実施の形態におけるサブクライアントリスト255の例を示す図である。It is a figure which shows the example of the subclient list | wrist 255 in 1st embodiment of this invention. 本発明の第一の実施の形態における主サーバ情報265の他の例を示す図である。It is a figure which shows the other example of the main server information 265 in 1st embodiment of this invention. 本発明の第一の実施の形態におけるサブクライアントリスト255の他の例を示す図である。It is a figure which shows the other example of the subclient list | wrist 255 in 1st embodiment of this invention. 本発明の第一の実施の形態における副サーバ情報335の例を示す図である。It is a figure which shows the example of the secondary server information 335 in 1st embodiment of this invention. 本発明の第二の実施の形態におけるサブクライアントリスト255の例を示す図である。It is a figure which shows the example of the subclient list | wrist 255 in 2nd embodiment of this invention. 本発明の第二の実施の形態におけるサブクライアントリスト255の他の例を示す図である。It is a figure which shows the other example of the subclient list | wrist 255 in 2nd embodiment of this invention. 本発明の第三の実施の形態におけるアドホックサービス提供システムの構成を示すブロック図である。It is a block diagram which shows the structure of the ad hoc service provision system in 3rd embodiment of this invention. 本発明の第三の実施の形態におけるクライアント登録の概要を示す図である。It is a figure which shows the outline | summary of the client registration in 3rd embodiment of this invention. 本発明の第三の実施の形態における副サーバ200から他の副サーバ200への登録の動作を示すシーケンス図である。It is a sequence diagram which shows the operation | movement of registration from the secondary server 200 to the other secondary server 200 in 3rd embodiment of this invention. 本発明の第三の実施の形態における主サーバ100からのサービス提供の動作を示すシーケンス図である。It is a sequence diagram which shows the operation | movement of the service provision from the main server 100 in 3rd embodiment of this invention. 本発明の第三の実施の形態における副サーバ情報165の例を示す図である。It is a figure which shows the example of the secondary server information 165 in 3rd embodiment of this invention. 本発明の第三の実施の形態におけるクライアントリスト155の例を示す図である。It is a figure which shows the example of the client list | wrist 155 in 3rd embodiment of this invention. 本発明の第三の実施の形態における主サーバ情報265の例を示す図である。It is a figure which shows the example of the main server information 265 in 3rd embodiment of this invention. 本発明の第三の実施の形態における上位副サーバ情報275の例を示す図である。It is a figure which shows the example of the high-order secondary server information 275 in 3rd embodiment of this invention. 本発明の第三の実施の形態における下位副サーバ情報285の例を示す図である。It is a figure which shows the example of the low-order secondary server information 285 in 3rd embodiment of this invention. 本発明の第三の実施の形態におけるサブクライアントリスト255の例を示す図である。It is a figure which shows the example of the subclient list | wrist 255 in 3rd embodiment of this invention. 本発明の第三の実施の形態における主サーバ情報265の他の例を示す図である。It is a figure which shows the other example of the main server information 265 in 3rd embodiment of this invention. 本発明の第三の実施の形態における上位副サーバ情報275の他の例を示す図である。It is a figure which shows the other example of the high-order secondary server information 275 in 3rd embodiment of this invention. 本発明の第三の実施の形態における下位副サーバ情報285の他の例を示す図である。It is a figure which shows the other example of the low-order secondary server information 285 in 3rd embodiment of this invention. 本発明の第三の実施の形態におけるサブクライアントリスト255の他の例を示す図である。It is a figure which shows the other example of the subclient list | wrist 255 in 3rd embodiment of this invention. 本発明の第三の実施の形態におけるサブクライアントリスト255の例を示す図である。It is a figure which shows the example of the subclient list | wrist 255 in 3rd embodiment of this invention. 本発明の第四の実施の形態におけるクライアント登録の概要を示す図である。It is a figure which shows the outline | summary of the client registration in the 4th Embodiment of this invention. 本発明の第四の実施の形態における副サーバ200から他の副サーバ200への登録の動作を示すシーケンス図(A.2つの副サーバ200の両方が代表副サーバの場合)である。It is a sequence diagram (A. When both the two secondary servers 200 are representative secondary servers) which shows the operation | movement of registration from the secondary server 200 to the other secondary server 200 in the 4th embodiment of this invention. 本発明の第四の実施の形態における副サーバ200から他の副サーバ200への登録の動作を示すシーケンス図(B.2つの副サーバ200のどちらか一方が代表副サーバの場合)である。It is a sequence diagram (B. When either one of the two secondary servers 200 is a representative secondary server) showing the operation of registration from the secondary server 200 to the other secondary server 200 in the fourth embodiment of the present invention. 本発明の第四の実施の形態における副サーバ200から他の副サーバ200への登録の動作を示すシーケンス図(C.2つの副サーバ200の両方が代表副サーバでない場合)である。It is a sequence diagram (C. When both of the two secondary servers 200 are not representative secondary servers) showing the operation of registration from the secondary server 200 to another secondary server 200 in the fourth embodiment of the present invention.
 (第一の実施の形態)
 次に、本発明の第一の実施の形態について説明する。はじめに、本発明の第一の実施の形態におけるクライアント登録の概要について説明する。図3は、本発明の第一の実施の形態におけるクライアント登録の概要を示す図である。
 図3を参照すると、アドホックサービス提供システムは、主サーバ100、複数の副サーバ200、及び複数のクライアント300を含む。主サーバ100、副サーバ200、及びクライアント300は、スマートフォン、携帯電話のような移動可能な端末装置である。主サーバ100、副サーバ200、及びクライアント300は、移動通信ネットワーク、無線LAN、近距離通信方式等を用いたネットワーク(図示せず)によって相互に通信できる。
 主サーバ100は、登録されたクライアント300に対して、例えば、写真やファイルの共有、掲示板等のサービスを提供する。副サーバ200は、クライアント300のサービスへの登録を、システム内で分散して行う。クライアント300は、主サーバ100が提供するサービスへのアクセスを行う。
 本発明の実施の形態において、2つの装置が互いに所定の範囲に存在することが保証される状況下で、互いに相手装置の識別子を取得し、近接する端末として登録することを近接登録とする。そして、2つの装置間で近接登録が行われた場合、当該2つの装置間に、クライアント300の識別子を主サーバ100へ転送するための経路となる隣接関係が生成される。
 図3において、破線の矢印は、装置間で近接登録が行われることを示す。また、実線の矢印は、近接登録により生成される隣接関係を示す。隣接関係を示す矢印の方向は、クライアント300の識別子が主サーバ100へ向かって転送される方向を示す。本発明の実施の形態においては、隣接関係を示す矢印の主サーバ100側を上位、クライアント300側を下位とする。
 本発明の第一の実施の形態においては、副サーバ200は、当該副サーバ200が隣接関係を生成する予定の(あるいは既に隣接関係を生成している)主サーバ100へ、クライアント300を登録する場合、当該クライアント300との間で近接登録を行う。また、主サーバ100は、当該主サーバ100へ、副サーバ200に登録されているクライアント300を登録する場合、当該副サーバ200との間で近接登録を行う。
 副サーバ200とクライアント300との間で近接登録が行われた場合、当該副サーバ200とクライアント300とは、互いに隣接関係を生成する。また、主サーバ100と副サーバ200との間で、近接登録が行われた場合、当該主サーバ100と副サーバ200とは、互いに隣接関係を生成する。そして、複数の副サーバ200のそれぞれは、隣接関係を生成したクライアント300の識別子を、隣接関係を生成した主サーバ100に登録する。
 図3の例では、副サーバ200(SS1)とクライアント300(C1~3)との間で近接登録が行われることにより、副サーバ200(SS1)とクライアント300(C1~3)とが隣接関係を生成する。この結果、クライアント300(C1~3)は、副サーバ200(SS1)に登録される。また、副サーバ200(SS2)とクライアント300(C4~6)との間で近接登録が行われることにより、副サーバ200(SS2)とクライアント300(C4~6)とが隣接関係を生成する。この結果、クライアント300(C4~6)は、副サーバ200(SS2)に登録される。さらに、主サーバ100(S0)と副サーバ200(SS1、SS2)との間で近接登録が行われることにより、主サーバ100(S0)と副サーバ200(SS1、SS2)とは隣接関係を生成する。この結果、副サーバ200(SS1、SS2)に登録されているクライアント300(C1~6)は、主サーバ100(S0)に登録される。そして、主サーバ100(S0)は、これらの登録されたクライアント300(C1~6)にサービスを提供する。
 ここで、近接登録の方法としては、2つの装置が互いに所定の範囲に存在することが保証される状況下で、互いに相手装置の識別子を取得できれば、どのような方法を用いてもよい。
 例えば、端末装置(装置A)が、装置Aの識別子を赤外線通信、微弱な電波による近距離無線通信、バーコード等の、装置Aから限られた範囲(所定の範囲)に存在する端末装置しか取得できない方法で出力し、装置Aの識別子を取得した端末装置(装置B)が、当該装置Aの識別子を用いて装置Aへアクセスし、装置Bの識別子を装置Aに送信してもよい。
 また、非特許文献2に記載されているように、近接する2つの装置でボタンが押されたタイミングをもとに、サーバが近接する2つの装置を特定し、当該2つの装置に相手装置の識別子を送信する方法や、非特許文献3に記載されているように、近接する2つの装置を衝突させたときの情報をもとに、サーバが装置を特定し、当該2つの装置に相手装置の識別子を送信する方法を用いてもよい。
 さらに、近接する相手装置の識別子を取得した装置は、当該相手装置の識別子や相手装置のユーザ名等をユーザに提示し、ユーザにより許可された場合に、近接登録を行うようにしてもよい。
 また、近接登録の方法として、主サーバ100と副サーバ200との間、及び、副サーバ200とクライアント300との間で同じ方法を用いてもよいし、異なる方法を用いてもよい。
 次に、本発明の第一の実施の形態の構成について説明する。図2は、本発明の第一の実施の形態におけるアドホックサービス提供システムの構成を示すブロック図である。
 主サーバ100は、隣接関係生成制御部110、クライアントリスト生成部120、アクセス制御部130、サービス提供部140、クライアントリスト記憶部150、及び副サーバ情報記憶部160を含む。
 隣接関係生成制御部110は、周辺の所定の範囲に存在する副サーバ200との間で近接登録が行われた場合、当該副サーバ200との間で隣接関係を生成する。隣接関係生成制御部110は、隣接関係が生成された副サーバ200の識別子を副サーバ情報165として副サーバ情報記憶部160に保存する。
 図8は、本発明の第一の実施の形態における副サーバ情報165の例を示す図である。副サーバ情報165は、隣接関係が生成された副サーバ200の副サーバ識別子を含む。
 クライアントリスト生成部120は、隣接関係が生成された副サーバ200からサブクライアントリスト255を受信し、当該サブクライアントリスト255に含まれるクライアント300の識別子を含むクライアントリスト155を生成し、クライアントリスト記憶部150に保存する。
 図9は、本発明の第一の実施の形態におけるクライアントリスト155の例を示す図である。クライアントリスト155は、隣接関係が生成された副サーバ200に登録されているクライアント300のクライアント識別子を含む。
 アクセス制御部130は、クライアントリスト155に含まれるクライアント識別子のクライアント300からのサービス提供部140へのアクセスを許可する。
 サービス提供部140は、クライアント300に対してサービスを提供する。サービス提供部140は、Webサーバであってもよい。
 副サーバ200は、クライアント300の登録を、システム内で分散して行うための端末装置である。
 副サーバ200は、隣接関係生成制御部210、サブクライアントリスト生成部220、サブクライアントリスト送信部230、上位サーバ情報送信部240、サブクライアントリスト記憶部250、及び主サーバ情報記憶部260を含む。
 隣接関係生成制御部210は、周辺の所定の範囲に存在するクライアント300との間で近接登録が行われた場合、当該クライアント300との間で隣接関係を生成する。また、隣接関係生成制御部210は、周辺の所定の範囲に存在する主サーバ100との間で近接登録が行われた場合、当該主サーバ100との間で隣接関係を生成する。隣接関係生成制御部210は、隣接関係が生成された主サーバ100の識別子を主サーバ情報265として主サーバ情報記憶部260に保存する。
 図10、図12は、本発明の第一の実施の形態における主サーバ情報265の例を示す図である。主サーバ情報265は、隣接関係が生成された主サーバ100の主サーバ識別子を含む。
 サブクライアントリスト生成部220は、隣接関係が生成されたクライアント300の識別子をサブクライアントリスト255に追加し、サブクライアントリスト記憶部250に保存する。
 図11、図13は、本発明の第一の実施の形態におけるサブクライアントリスト255の例を示す図である。サブクライアントリスト255は、隣接関係が生成されたクライアント300のクライアント識別子を含む。
 サブクライアントリスト送信部230は、隣接関係が生成された主サーバ100へ生成したサブクライアントリスト255を送信する。
 上位サーバ情報送信部240は、隣接関係が生成されたクライアント300へ主サーバ100の識別子を送信する。
 クライアント300は、主サーバ100が提供するサービスへアクセスするための端末装置である。
 クライアント300は、隣接関係生成制御部310、サーバアクセス部320、及び副サーバ情報記憶部330を含む。
 隣接関係生成制御部310は、周辺の所定の範囲に存在する副サーバ200との間で近接登録が行われた場合、当該副サーバ200との間で隣接関係を生成する。隣接関係生成制御部310は、隣接関係が生成された副サーバ200の識別子を副サーバ情報335として副サーバ情報記憶部330に保存する。
 図14は、本発明の第一の実施の形態における副サーバ情報335の例を示す図である。副サーバ情報335は、隣接関係が生成された副サーバ200の副サーバ識別子を含む。
 サーバアクセス部320は、隣接関係が生成された副サーバ200から主サーバ100の識別子を受信し、主サーバ100へアクセスする。サービス提供部140がWebサーバの場合、サーバアクセス部320はWebブラウザであってもよい。また、サービス提供部140が動画、音楽、ドキュメントなどのコンテンツデータを提供する場合、サーバアクセス部320は、これらのコンテンツデータを再生、または表示するためのアプリケーションであってもよい。
 なお、主サーバ100、副サーバ200、及びクライアント300は、プログラムによって動作する情報処理装置であってもよい。この場合、情報処理装置のユーザの操作により、主サーバ100、副サーバ200、またはクライアント300として動作するアプリケーションが起動するようにしてもよい。また、1つの端末装置で、主サーバ100とクライアント300、または、副サーバ200とクライアント300の両方が動作してもよい。
 次に、本発明の第一の実施の形態の動作について図面を参照して詳細に説明する。
 ここでは、図3のように、主サーバ100(S0)に対して、副サーバ200(SS1、SS2)を用いてクライアント300(C1~6)を登録する場合を例に動作を説明する。
 <クライアント300から副サーバ200への登録>
 はじめに、クライアント300の識別子をクライアント300から副サーバ200へ登録する動作について説明する。図4は、本発明の第一の実施の形態におけるクライアント300から副サーバ200への登録の動作を示すシーケンス図である。
 副サーバ200とクライアント300とが互いに周囲の近接した範囲に存在する場合、副サーバ200の隣接関係生成制御部210とクライアント300の隣接関係生成制御部310とは、上述したような方法を用いることにより近接登録を行う(ステップS101)。近接登録を行うことにより、副サーバ200とクライアント300とは、互いに、相手装置の識別子を取得する。
 例えば、図3において、副サーバ200(SS1)が、周囲に存在するクライアント300(C1)の識別子を主サーバ100に登録する場合(副サーバ200(SS1)のユーザが、クライアント300(C1)から主サーバ100(S0)へのアクセスを許可する場合)、副サーバ200の隣接関係生成制御部210は、副サーバ200(SS1)のユーザの指示に応答して、副サーバ200(SS1)の識別子を含む「副サーバ200へアクセスするための情報」を、2次元バーコードで表示部(図示せず)に表示する。副サーバ200の表示部の内容が読み取れる範囲に存在するクライアント300(C1)の隣接関係生成制御部310は、クライアント300(C1)のユーザの指示に応答して、撮像部(図示せず)により、副サーバ200(SS1)の表示部に表示された2次元バーコードを読み取る。そして、隣接関係生成制御部310は、2次元バーコードの情報を用いて、副サーバ200(SS1)へクライアント300(C1)の識別子を送信する。なお、副サーバ200(SS1)が「副サーバ200へアクセスするための情報」としてURL(Uniform Resource Locator)を表示している場合、隣接関係生成制御部310は、クライアント300(C1)のWebブラウザ(図示せず)により副サーバ200(SS1)へアクセスすることにより、クライアント300(C1)の識別子を送信してもよい。
 クライアント300の隣接関係生成制御部310は、近接登録により取得した副サーバ200の識別子を副サーバ情報335に設定し、副サーバ情報記憶部330に保存する(ステップS102)。副サーバ200のサブクライアントリスト生成部220は、近接登録により取得したクライアント300の識別子をサブクライアントリスト255に追加し、サブクライアントリスト記憶部250に保存する(ステップS103)。ステップS102及びステップS103により、副サーバ200とクライアント300との間の隣接関係の生成が完了する。
 例えば、図3において、副サーバ200(SS1)とクライアント300(C1)との間で近接登録が行われた場合、クライアント300(C1)の副サーバ情報335には図14のように副サーバ200(SS1)の識別子が設定される。また、副サーバ200(SS1)のサブクライアントリスト255には、図11のようにクライアント300(C1)の識別子が追加される。
 また、副サーバ200(SS1)とクライアント300(C1~3)との間、副サーバ200(SS2)とクライアント300(C4~6)との間で近接登録が行われた場合、副サーバ200(SS1、SS2)のサブクライアントリスト255は、図11、図13のようになる。
 <副サーバ200から主サーバ100への登録>
 次に、副サーバ200に登録されているクライアント300の識別子を副サーバ200から主サーバ100へ登録する動作について説明する。図5は、本発明の第一の実施の形態における副サーバ200から主サーバ100への登録の動作を示すシーケンス図である。
 主サーバ100と副サーバ200とが互いに周囲の近接した範囲に存在する場合、主サーバ100の隣接関係生成制御部110と副サーバ200の隣接関係生成制御部210とは、上述したような方法を用いることにより近接登録を行う(ステップS111)。近接登録を行うことにより、主サーバ100と副サーバ200とは、互いに、相手装置の識別子を取得する。
 例えば、図3において、主サーバ100(S0)が、周囲に存在する副サーバ200(SS1)に登録されたクライアント300の識別子を主サーバ100(S0)に登録する場合(主サーバ100(S0)のユーザが、副サーバ200(SS1)に登録されたクライアント300から主サーバ100へのアクセスを許可する場合)、主サーバ100の隣接関係生成制御部110は、主サーバ100(S0)のユーザの指示に応答して、主サーバ100(S0)の識別子を含む「主サーバ100へアクセスするための情報」を、2次元バーコードで表示部(図示せず)に表示する。主サーバ100(S0)の表示部の内容が読み取れる範囲に存在する副サーバ200(SS1)の隣接関係生成制御部210は、副サーバ200(SS1)のユーザの指示に応答して、撮像部(図示せず)により、主サーバ100(S0)の表示部に表示された2次元バーコードを読み取る。そして、隣接関係生成制御部210は、2次元バーコードの情報を用いて、主サーバ100(S0)へ副サーバ200(SS1)の識別子「SS1」を送信する。なお、主サーバ100(S0)が「主サーバ100へアクセスするための情報」としてURLを表示している場合、隣接関係生成制御部210は、副サーバ200のWebブラウザ(図示せず)により主サーバ100へアクセスすることにより、副サーバ200の識別子を送信してもよい。
 副サーバ200の隣接関係生成制御部210は、近接登録により取得した主サーバ100の識別子を主サーバ情報265に設定し、主サーバ情報記憶部260に保存する(ステップS112)。主サーバ100の隣接関係生成制御部110は、近接登録により取得した副サーバ200の識別子を副サーバ情報165に設定し、副サーバ情報記憶部160に保存する(ステップS113)。ステップS112及びステップS113により、主サーバ100と副サーバ200との間の隣接関係の生成が完了する。
 例えば、図3において、主サーバ100(S0)と副サーバ200(SS1)との間で近接登録が行われた場合、副サーバ200(SS1)の主サーバ情報265には図10のように主サーバ100(S0)の識別子が設定される。また主サーバ100(S0)の副サーバ情報165には、図8のように副サーバ200(SS1)の識別子が設定される。
 副サーバ200のサブクライアントリスト送信部230は、主サーバ情報265に設定された主サーバ100の識別子を用いて、サブクライアントリスト記憶部250に保存されているサブクライアントリスト255を主サーバ100へ送信する(ステップS114)。主サーバ100のクライアントリスト生成部120は、副サーバ200から受信したサブクライアントリスト255に含まれるクライアント300の識別子をクライアントリスト155に追加し、クライアントリスト記憶部150に保存する(ステップS115)。
 例えば、図3において、主サーバ100(S0)は、隣接関係を生成した副サーバ200(SS1、SS2)から図11、図13のサブクライアントリスト255を受信し、図9のクライアントリスト155を生成する。
 <主サーバ100からのサービス提供>
 次に、主サーバ100からクライアント300へサービスを提供する動作について説明する。図6は、本発明の第一の実施の形態における主サーバ100からのサービス提供の動作を示すシーケンス図である。
 クライアント300のサーバアクセス部320は、クライアント300のユーザによる主サーバ100へのアクセスの指示に応答して、副サーバ情報335に設定された副サーバ200の識別子を用いて、当該副サーバ200へサーバアクセス要求を送信する(ステップS121)。
 例えば、クライアント300(C1)は、図14の副サーバ情報335をもとに、副サーバ200(SS1)へサービスアクセス要求を送信する。
 副サーバ200の上位サーバ情報送信部240は、主サーバ情報265に設定された主サーバ100の識別子を上位サーバ情報としてクライアント300へ送信し、主サーバ100へのリダイレクトを指示する(ステップS122)。
 例えば、副サーバ200(SS1)は、図10の主サーバ情報265をもとに、主サーバ100(S0)の識別子を上位サーバ情報としてクライアント300(SS1)に送信する。
 なお、この時点で、主サーバ100と副サーバ200との間で隣接関係を生成されておらず(主サーバ100への登録の動作(図5)が行われておらず)、主サーバ情報265に主サーバ100の識別子が設定されていない場合、上位サーバ情報送信部240は、「準備中」であることを示す応答をクライアント300へ送信してもよい。また、この場合、上位サーバ情報送信部240は、クライアント300のユーザに対して提示する「リトライ待ち時間」をクライアント300へ送信してもよい。
 クライアント300のサーバアクセス部320は、受信した上位サーバ情報に含まれる主サーバ100の識別子を用いて、当該主サーバ100へサーバアクセス要求を送信する(ステップS123)。
 例えば、クライアント300(C1)は、主サーバ100(S0)へサービスアクセス要求を送信する。
 主サーバ100のアクセス制御部130は、サーバアクセス要求の送信元のクライアント300の識別子が、クライアントリスト155に存在するかどうかを検索する。アクセス制御部130は、クライアント300の識別子がクライアントリスト155に存在する場合、当該クライアント300へのサービス提供が可能であると判定する(ステップS124)。以後、主サーバ100のサービス提供部140は、クライアント300に対してサービスの提供を開始する。
 例えば、主サーバ100(S0)は、クライアント300(C1)の識別子が図9のクライアントリスト155に存在するため、クライアント300(C1)へのサービス提供が可能であると判断し、サービス提供を開始する。
 <主サーバ100への追加登録>
 次に、主サーバ100と副サーバ200とが既に隣接関係を生成している場合に、主サーバ100へ新たなクライアント300の識別子を追加登録する動作について説明する。図7は、本発明の第一の実施の形態における主サーバ100への追加登録の動作を示すシーケンス図である。
 主サーバ100と副サーバ200とが既に隣接関係を生成している状態で、副サーバ200と新たなクライアント300とが互いに周囲の近接した範囲に存在する場合、副サーバ200の隣接関係生成制御部210と新たなクライアント300の隣接関係生成制御部310とは、上述したような方法を用いることにより近接登録を行う(ステップS131)。
 新たなクライアント300の隣接関係生成制御部310は、近接登録により取得した副サーバ200の識別子を副サーバ情報335に設定し、副サーバ情報記憶部330に保存する(ステップS132)。副サーバ200のサブクライアントリスト生成部220は、近接登録により取得した新たなクライアント300の識別子をサブクライアントリスト255に追加し、サブクライアントリスト記憶部250に保存する(ステップS133)。ステップS132及びステップS133により、副サーバ200とクライアント300との間の隣接関係の生成が完了する。
 副サーバ200のサブクライアントリスト送信部230は、新たなクライアント300の識別子を主サーバ100へ送信する(ステップS134)。主サーバ100のクライアントリスト生成部120は、副サーバ200から受信した新たなクライアント300の識別子をクライアントリスト155に追加し、クライアントリスト記憶部150に保存する(ステップS135)。
 以降、主サーバ100は、クライアントリスト155に追加された新たなクライアント300からサービスアクセス要求を受信した場合、主サーバ100からのサービス提供の動作(図6)に従って、新たなクライアント300にサービスを提供する。
 以上により本発明の第一の実施の形態の動作が完了する。
 次に、本発明の特徴的な構成について説明する。図1は、本発明の第一の実施の形態の特徴的な構成を示すブロック図である。
 アドホックサービス提供システムは、主サーバ100、複数の副サーバ200、及び複数のクライアント300を含む。
 ここで、クライアント300は、副サーバ200との間で近接登録が行われた場合、当該副サーバ200との間で隣接関係を生成する第1の隣接関係生成制御部310と、隣接関係が生成された副サーバ200から受信した上位サーバ情報を用いて主サーバ100へアクセスするサーバアクセス部320とを含む。
 副サーバ200は、クライアント300との間で近接登録が行われた場合、当該クライアント300との間で隣接関係を生成し、主サーバ100との間で近接登録が行われた場合、当該主サーバ100との間で隣接関係を生成する第2の隣接関係生成制御部210と、隣接関係が生成されたクライアント300の識別子を含むサブクライアントリスト255を生成するサブクライアントリスト生成部220と、隣接関係が生成された主サーバ100へサブクライアントリスト255を送信するサブクライアントリスト送信部230と、隣接関係が生成されたクライアント300へ隣接関係が生成された主サーバ100の識別子を上位サーバ情報として送信する上位サーバ情報送信部240とを含む。
 主サーバ100は、副サーバ200との間で近接登録が行われた場合、当該副サーバ200との間で隣接関係を生成する第3の隣接関係生成制御部110と、隣接関係が生成された副サーバ200からサブクライアントリスト255を受信し、当該サブクライアントリスト255に含まれるクライアント300の識別子を含むクライアントリスト155を生成するクライアントリスト生成部120と、クライアントリスト155に含まれるクライアント300の識別子で識別されるクライアント300からのアクセスを許可するアクセス制御部130とを含む。
 本発明の第一の実施の形態によれば、アドホックサービス提供システムにおいて、クライアント装置が多数の場合でも、クライアント装置の登録をスムースに行うことができることである。その理由は、複数の副サーバ200のそれぞれが、近接登録により隣接関係が生成されたクライアント300の識別子を含むサブクライアントリスト255を生成し、主サーバ100が、近接登録により隣接関係が生成された副サーバ200から受信したサブクライアントリスト255をもとにクライアントリスト155を生成するためである。
 (第二の実施の形態)
 次に、本発明の第二の実施の形態について説明する。
 本発明の第二の実施の形態においては、主サーバ100がサブクライアントリスト255に含まれるクライアント300の識別子をクライアントリスト155に登録するときに、クライアント300の識別子がサブクライアントリスト255に登録された(副サーバ200とクライアント300との間で隣接関係が生成された)ときの時刻または位置の情報をもとに登録の可否を判断する。
 本発明の第二の実施の形態の構成は、本発明の第一の実施の形態の構成(図2)と同様となる。
 次に、本発明の第二の実施の形態の動作について図面を参照して詳細に説明する。
 はじめに、主サーバ100が、クライアント300の識別子がサブクライアントリスト255に登録された時刻の情報をもとに登録の可否を判断する場合について説明する。
 図15は、本発明の第二の実施の形態におけるサブクライアントリスト255の例を示す図である。図15のサブクライアントリスト255は、副サーバ200との間で隣接関係が生成されたクライアント300のクライアント識別子、及び当該隣接関係が生成された時刻を示す登録時刻を含む。
 図4のステップS103において、副サーバ200のサブクライアントリスト生成部220は、副サーバ200が隣接関係を生成したクライアント300の識別子と当該隣接関係を生成した時刻とを、サブクライアントリスト255のクライアント識別子と登録時刻とにそれぞれ追加する。
 図5のステップS115において、主サーバ100のクライアントリスト生成部120は、副サーバ200から受信したサブクライアントリスト255に含まれる登録時刻と、主サーバ100と副サーバ200との間で隣接関係を生成した時刻との時間差が予め決められた値以内である場合、当該登録時刻に対応するクライアント300の識別子をクライアントリスト155に追加する。
 例えば、主サーバ100と副サーバ200とが、時刻「2010/01/10 10:25」に隣接関係を生成し、主サーバ100が副サーバ200から図15のサブクライアントリスト255を受信する。ここで、サブクライアントリスト255に含まれる登録時刻と主サーバ100と副サーバ200との間で隣接関係を生成した時刻との時間差が20分以内であるクライアント300の識別子をクライアントリスト155に追加する場合、図15のサブクライアントリスト255に含まれるクライアント300の識別子の内、登録時刻が「10:05」以後である「C2」、「C3」がクライアントリスト155に追加される。
 また、ステップS115において、主サーバ100のクライアントリスト生成部120は、サブクライアントリスト255に含まれる登録時刻が主サーバ100のサービス開始時刻より後であり、かつ、当該登録時刻と主サーバ100のサービス開始時刻との時間差が予め決められた時間差以下である場合、当該登録時刻に対応するクライアント300の識別子をクライアントリスト155に追加してもよい。
 例えば、サブクライアントリスト255に含まれる登録時刻が主サーバ100のサービス開始時刻より後であり、かつ、登録時刻と主サーバ100のサービス開始時刻との時間差が20分以内であるクライアント300の識別子をクライアントリスト155に追加する場合、サービス開始時刻が「10:15」であれば、図15のサブクライアントリスト255に含まれるクライアント300の識別子の内、登録時刻が「10:15」以後である「C3」がクライアントリスト155に追加される。
 次に、主サーバ100が、クライアント300の識別子がサブクライアントリスト255に登録されたときの位置の情報をもとに登録の可否を判断する場合について説明する。
 図16は、本発明の第二の実施の形態におけるサブクライアントリスト255の他の例を示す図である。図16のサブクライアントリスト255は、副サーバ200との間で隣接関係が生成されたクライアント300のクライアント識別子、及び当該隣接関係が生成されたときに副サーバ200が存在した位置の情報を示す登録位置を含む。
 図4のステップS103において、副サーバ200のサブクライアントリスト生成部220は、副サーバ200がクライアント300との間で隣接関係を生成した時点における副サーバ200の位置情報を取得する。ここで、副サーバ200は、例えばGPS(Global Positioning System)により位置情報を取得する。サブクライアントリスト生成部220は、隣接関係を生成したクライアント300の識別子と当該副サーバ200の位置情報とをサブクライアントリスト255のクライアント識別子と登録位置とにそれぞれ追加する。
 図5のステップS115において、主サーバ100のクライアントリスト生成部120は、主サーバ100と副サーバ200との間で隣接関係を生成した時点における主サーバ100の位置情報を取得する。ここで、主サーバ100は、例えばGPSにより位置情報を取得する。クライアントリスト生成部120は、副サーバ200から受信したサブクライアントリスト255に含まれる登録位置と、当該主サーバ100の位置情報との差が、予め決められた値以下である場合、当該登録位置に対応するクライアント300の識別子をクライアントリスト155に追加する。
 本発明の第二の実施の形態によれば、アドホックサービス提供システムにおいて、サーバ装置の近傍に存在するクライアント装置のみからのアクセスを許可するアクセス制限をより確実に行うことができる。その理由は、主サーバ100がクライアント300の識別子をクライアントリスト155に登録するときに、副サーバ200とクライアント300との間で隣接関係が生成されたときの時刻または位置の情報をもとに登録の可否を判断するためである。
 また、本発明の第二の実施の形態によれば、アドホックサービス提供システムにおいて、サービス開始後にサーバ装置の近傍に存在したクライアント装置のみからのアクセスを許可することができる。その理由は、主サーバ100がクライアント300の識別子をクライアントリスト155に登録するときに、副サーバ200とクライアント300との間で隣接関係が生成されたときの時刻とサービス開始時刻との差分をもとに登録の可否を判断するためである。
 (第三の実施の形態)
 次に、本発明の第三の実施の形態について説明する。はじめに、本発明の第三の実施の形態におけるクライアント登録の概要について説明する。図18は、本発明の第三の実施の形態におけるクライアント登録の概要を示す図である。
 本発明の第三の実施の形態においては、副サーバ200間で隣接関係を生成する点において、本発明の第一の実施の形態と異なる。なお、本発明の第三の実施の形態において、本発明の第一の実施の形態と同じ符号を有する構成要素については、特に説明のない限り、本発明の第一の実施の形態と同様である。
 2つの副サーバ200の間で近接登録が行われた場合、当該2つの副サーバ200は、一方を上位サーバ、他方を下位サーバとして、互いに隣接関係を生成する。ここで、互いに隣接関係を生成した複数の副サーバ200(または隣接関係を生成していない単一の副サーバ200)により形成されるグループを副サーバグループとする。また、副サーバグループにおいて、他の副サーバ200を上位サーバとして隣接関係を生成していない副サーバ200(副サーバグループ内の最上位の副サーバ200)を代表副サーバとする。
 本発明の第三の実施の形態においては、副サーバグループの代表副サーバである副サーバ200間で近接登録が行われた場合、当該副サーバ200間に隣接関係を生成し、新たな副サーバグループを生成する。
 代表副サーバである副サーバ200間で隣接関係が生成された場合、上位の副サーバ200は新たな副サーバグループの代表副サーバとなる。また、下位の副サーバ200は、当該下位の副サーバ200に登録されているクライアント300の識別子を上位の副サーバ200(代表副サーバ)に登録する。この結果、代表副サーバである副サーバ200は、新たな副サーバグループ内の副サーバ200に登録されている全てのクライアント300の識別子を保持することになる。
 さらに、主サーバ100と代表副サーバである副サーバ200との間で近接登録が行われた場合、当該主サーバ100と代表副サーバである副サーバ200とは、互いに隣接関係を生成する。代表副サーバである副サーバ200は、副サーバグループ内のクライアント300の識別子を、隣接関係を生成した主サーバ100に登録する。
 例えば、図18において、副サーバ200(SS1~3)のそれぞれには、クライアント300が登録されており、そして、副サーバ200(SS1~3)が、副サーバグループを形成する(状態1)。次に、副サーバ200(SS1)と副サーバ200(SS2)との間で近接登録が行われることにより、副サーバ200(SS1)と副サーバ200(SS2)とは、副サーバ200(SS1)を上位サーバとした隣接関係を生成する。同様に、副サーバ200(SS1)と副サーバ200(SS3)とは、副サーバ200(SS1)を上位サーバとした隣接関係を生成する。この結果、副サーバ200(SS1)は、複数の副サーバ200(SS1~3)により形成される副サーバグループの代表副サーバとなる(状態2)。そして、副サーバ200(SS1)に、クライアント300(C1~6)が登録される。
 また、副サーバ200(SS1)と他の副サーバグループの代表副サーバである副サーバ200(SS4)との間で近接登録が行われることにより、副サーバ200(SS1)と副サーバ200(SS4)とは、副サーバ200(SS1)を上位サーバとした隣接関係を生成する。この結果、副サーバ200(SS1)は、複数の副サーバ200(SS1~6)により形成される副サーバグループの代表副サーバとなる(状態3)。そして、副サーバ200(SS1)に、クライアント300(C1~12)が登録される。
 さらに、主サーバ100(S0)と副サーバ200(SS1)との間で近接登録が行われることにより、主サーバ100(S0)と副サーバ200(SS1)とは隣接関係を生成する。この結果、副サーバ200(SS1)に登録されているクライアント300(C1~12)は、主サーバ100(S0)に登録される。そして、主サーバ100(S0)は、これらの登録されたクライアント300(C1~12)にサービスを提供する。
 次に、本発明の第三の実施の形態の構成について説明する。図17は、本発明の第三の実施の形態におけるアドホックサービス提供システムの構成を示すブロック図である。図17を参照すると、副サーバ200は、本発明の第一の実施の形態における副サーバ200の構成(図2)に加え、上位副サーバ情報記憶部270、及び下位副サーバ情報記憶部280を含む。
 副サーバ200の隣接関係生成制御部210は、クライアント300、主サーバ100との間で隣接関係を生成することに加え、周辺の所定の範囲に存在する他の副サーバ200との間で近接登録が行われた場合、当該他の副サーバ200との間で隣接関係を生成する。隣接関係生成制御部210は、上位サーバとして隣接関係が生成された副サーバ200の識別子を上位副サーバ情報275として上位副サーバ情報記憶部270に保存し、下位サーバとして隣接関係が生成された副サーバ200の識別子を下位副サーバ情報285として下位副サーバ情報記憶部280に保存する。
 また、上位サーバ情報送信部240は、隣接関係が生成されたクライアント300へ隣接関係が生成された主サーバ100の識別子、または、上位サーバとして隣接関係が生成された副サーバ200の識別子を送信する。
 図24、図28は、本発明の第三の実施の形態における上位副サーバ情報275の例を示す図である。上位副サーバ情報275は、上位サーバとして隣接関係が生成された副サーバ200の副サーバ識別子を含む。また、図25、図29は、本発明の第三の実施の形態における下位副サーバ情報285の例を示す図である。下位副サーバ情報285は、下位サーバとして隣接関係が生成された副サーバ200の副サーバ識別子を含む。
 次に、本発明の第三の実施の形態の動作について図面を参照して詳細に説明する。
 ここでは、図18のように、主サーバ100(S0)に対して、副サーバ200(SS1)が代表副サーバとなり、クライアント300(C1~12)の識別子を登録する場合を例に動作を説明する。
 <クライアント300から副サーバ200への登録>
 クライアント300の識別子をクライアント300から副サーバ200へ登録する動作については、本発明の第一の実施の形態(図4)と同様となる。
 図26、図30は、本発明の第三の実施の形態におけるサブクライアントリスト255の例を示す図である。また、図31は、本発明の第三の実施の形態における副サーバ情報335の例を示す図である。
 例えば、図18の状態1のように、副サーバ200(SS2)とクライアント300(C3、C4)との間で近接登録が行われた場合、クライアント300(C3、C4)の副サーバ情報335には図31のように副サーバ200(SS2)の識別子が設定される。また、副サーバ200(SS2)のサブクライアントリスト255には、図30のようにクライアント300(C3、C4)の識別子が設定される。
 <副サーバ200から他の副サーバ200への登録>
 次に、副サーバ200に登録されているクライアント300の識別子を当該副サーバ200から他の副サーバ200へ登録する動作について説明する。図19は、本発明の第三の実施の形態における副サーバ200から他の副サーバ200への登録の動作を示すシーケンス図である。
 副サーバ200と他の副サーバ200とが互いに周囲の近接した範囲に存在する場合、副サーバ200の隣接関係生成制御部210と他の副サーバ200の隣接関係生成制御部210とは、上述したような方法を用いることにより近接登録を行う(ステップS201)。近接登録を行うことにより、副サーバ200と他の副サーバ200とは、互いに、相手側の識別子を取得する。
 近接登録を行った2つの副サーバ200のいずれかの隣接関係生成制御部210は、自副サーバ200の主サーバ情報265と上位副サーバ情報275とを含む「隣接関係生成要求」を、近接登録を行った副サーバ200へ送信する(ステップS202)。「隣接関係生成要求」を受信した副サーバ200の隣接関係生成制御部210は、同様に、自副サーバ200の主サーバ情報265と上位副サーバ情報275とを含む「隣接関係生成応答」を、「隣接関係生成要求」の送信元の副サーバ200へ送信する(ステップS203)。
 例えば、図18の状態1において、副サーバ200(SS1)と副サーバ200(SS2)とが近接登録を行った場合、副サーバ200(SS1)と副サーバ200(SS2)とは、それぞれ、主サーバ情報265(null)と上位副サーバ情報275(null)を含む「隣接関係生成要求」、または、「隣接関係生成応答」を送信する。
「隣接関係生成要求」及び「隣接関係生成応答」を交換した2つの副サーバ200のそれぞれの隣接関係生成制御部210は、受信した「隣接関係生成要求」、または、「隣接関係生成応答」に含まれる上位副サーバ情報275と、自副サーバ200の上位副サーバ情報275とをもとに、当該2つの副サーバ200のそれぞれが代表副サーバであるか(他の副サーバ200を上位サーバとして隣接関係を生成しているか)を確認し、当該2つの副サーバ200間で隣接関係を生成するかどうかを判定する(ステップS204、S205)。
 ここで、それぞれの隣接関係生成制御部210は、2つの副サーバ200の両方が代表副サーバであれば、当該2つの副サーバ200間で隣接関係を生成すると判定する。
 例えば、副サーバ200(SS1)と副サーバ200(SS2)の隣接関係生成制御部210は、2つの副サーバ200の両方が代表副サーバである(上位副サーバ情報275がnullである)ため、副サーバ200(SS1)と副サーバ200(SS2)との間で隣接関係を生成すると判定する。
 2つの副サーバ200間で隣接関係を生成する場合、当該2つの副サーバ200のそれぞれの隣接関係生成制御部210は、受信した「隣接関係生成要求」、または、「隣接関係生成応答」に含まれる主サーバ情報265と、自副サーバ200の主サーバ情報265とをもとに、当該2つの副サーバ200のどちらを上位、または、下位の副サーバ200とするか決定する(ステップS206、S207)。
 ここで、上位、または、下位の決定は、例えば、以下のような上位/下位決定ルールにもとづいて行う。
(1)隣接関係を生成する2つの副サーバ200のどちらか一方のみが、主サーバ100と隣接関係を生成している場合、主サーバ100を上位サーバとして隣接関係を生成している副サーバ200を上位の副サーバ200とする。
(2)隣接関係を生成する2つの副サーバ200の両方が、主サーバ100と隣接関係を生成していない場合、2つの副サーバ200のいずれかを上位サーバとする。この場合、例えば、識別子の値が小さい副サーバ200を上位サーバとする。
 例えば、副サーバ200(SS1)と副サーバ200(SS2)の隣接関係生成制御部210は、2つの副サーバ200の両方が主サーバ100を上位サーバとした隣接関係を生成していない(主サーバ情報265がnullである)ため、識別子の値が小さい副サーバ200(SS1)を上位サーバと決定する。
 次に、下位の副サーバ200の隣接関係生成制御部210は、上位の副サーバ200の識別子を上位副サーバ情報275に設定し、上位副サーバ情報記憶部270に保存する(ステップS208)。また、上位の副サーバ200の隣接関係生成制御部210は、下位の副サーバ200の識別子を下位副サーバ情報285に設定し、下位副サーバ情報記憶部280に保存する(ステップS209)。ステップS208及びステップS209により、副サーバ200間の隣接関係の生成が完了する。また、隣接関係を生成した上位の副サーバ200は、隣接関係を生成した複数の副サーバ200により形成される副サーバグループの新たな代表副サーバとなる。
 例えば、副サーバ200(SS2)の上位副サーバ情報275には図28のように副サーバ200(SS1)の識別子が設定される。また、副サーバ200(SS1)の下位副サーバ情報285には、図25のように副サーバ200(SS2)の識別子が設定される。この場合、副サーバ200(SS1)は、副サーバ200(SS1、SS2)により形成される副サーバグループの代表副サーバとなる。
 下位の副サーバ200のサブクライアントリスト送信部230は、上位副サーバ情報275に設定された上位の副サーバ200の識別子を用いて、サブクライアントリスト記憶部250に保存されているサブクライアントリスト255を上位の副サーバ200へ送信する(ステップS210)。上位の副サーバ200のサブクライアントリスト生成部220は、下位の副サーバ200から受信したサブクライアントリスト255に含まれるクライアント300の識別子をサブクライアントリスト255に追加し、サブクライアントリスト記憶部250に保存する(ステップS211)。
 例えば、副サーバ200(SS1)は、隣接関係を生成した下位の副サーバ200(SS2)から図30のサブクライアントリスト255を受信し、副サーバ200(SS1)のサブクライアントリスト255に追加する。
 さらに、副サーバ200(SS1)と副サーバ200(SS3)とが近接登録を行うことにより、副サーバ200(SS1)と副サーバ200(SS3)との間に、副サーバ200(SS1)を上位サーバとして隣接関係が生成される。この結果、図18の状態2のように、副サーバ200(SS1)は、副サーバ200(SS1~3)により形成される副サーバグループの代表副サーバとなる。また、副サーバ200(SS1)と他の副サーバグループの代表副サーバである副サーバ200(SS4)とが近接登録を行うことにより、副サーバ200(SS1)と副サーバ200(SS4)との間に、副サーバ200(SS1)を上位サーバとして隣接関係が生成される。この結果、図18の状態3のように、副サーバ200(SS1)は、副サーバ200(SS1~6)により形成される副サーバグループの代表副サーバとなる。
 そして、副サーバ200(SS1)の下位副サーバ情報285には、図25のように、副サーバ200(SS2~4)の識別子が設定される。また、副サーバ200(SS1)のサブクライアントリスト255には、図26のように、クライアント300(C1~12)の識別子が設定される。
 <副サーバ200から主サーバ100への登録>
 次に、代表副サーバである副サーバ200に登録されているクライアント300の識別子を当該代表副サーバである副サーバ200から主サーバ100へ登録する動作について説明する。
 代表副サーバである副サーバ200に登録されているクライアント300の識別子を主サーバ100へ登録する動作については、本発明の第一の実施の形態(図5)と同様となる。ただし、ステップS112において、副サーバ200の隣接関係生成制御部210は、自副サーバ200が代表副サーバの場合、主サーバ100と隣接関係を生成する。
 図21は、本発明の第三の実施の形態における副サーバ情報165の例を示す図である。また、図22は、本発明の第三の実施の形態におけるクライアントリスト155の例を示す図である。また、図23、図27は、本発明の第三の実施の形態における主サーバ情報265の例を示す図である。
 例えば、図18において、主サーバ100(S0)と副サーバ200(SS1)との間で近接登録が行われた場合、副サーバ200(SS1)の主サーバ情報265には図23のように主サーバ100(S0)の識別子が設定される。また、主サーバ100(S0)の副サーバ情報165には、図21のように副サーバ200(SS1)の識別子が設定される。この結果、図18の状態3のように、主サーバ100(S0)と副サーバ200(SS1)との間に隣接関係が生成される。
 また、主サーバ100(S0)は、副サーバ200(SS1)から図26のサブクライアントリスト255を受信し、図22のクライアントリスト155を生成する。
 <主サーバ100からのサービス提供>
 次に、主サーバ100からクライアント300へサービスを提供する動作について説明する。図20は、本発明の第三の実施の形態における主サーバ100からのサービス提供の動作を示すシーケンス図である。
 クライアント300のサーバアクセス部320は、クライアント300のユーザによる主サーバ100へのアクセスの指示に応答して、副サーバ情報335に設定された副サーバ200の識別子を用いて、当該副サーバ200へサーバアクセス要求を送信する(ステップS221)。
 例えば、図18において、副サーバ200(SS2)に登録された(副サーバ200(SS2)と隣接関係が生成された)クライアント300(C4)が主サーバ100へアクセスする場合、クライアント300(C4)は、図31の副サーバ情報335をもとに、副サーバ200(SS2)へサービスアクセス要求を送信する。
 副サーバ200の上位サーバ情報送信部240は、上位副サーバ情報275に副サーバ識別子が設定されている場合、当該識別子を上位サーバ情報としてクライアント300へ送信し、上位の副サーバ200へのリダイレクトを指示する(ステップS222)。
 例えば、副サーバ200(SS2)は、図28の上位副サーバ情報275をもとに、副サーバ200(SS1)の識別子をクライアント300(C4)に送信する。
 クライアント300のサーバアクセス部320は、受信した上位サーバ情報に含まれる上位の副サーバ200の識別子を用いて、当該副サーバ200へサーバアクセス要求を送信する(ステップS223)。
 例えば、クライアント300(C4)は、副サーバ200(SS1)へサービスアクセス要求を送信する。
 上位の副サーバ200の上位サーバ情報送信部240は、主サーバ情報265に主サーバ識別子が設定されている場合、当該識別子を上位サーバ情報としてクライアント300へ送信し、主サーバ100へのリダイレクトを指示する(ステップS224)。
 例えば、副サーバ200(SS1)は、図23の主サーバ情報265をもとに、主サーバ100(S0)の識別子をクライアント300(C4)に送信する。
 クライアント300のサーバアクセス部320は、受信した上位サーバ情報に含まれる主サーバ100の識別子を用いて、当該主サーバ100へサーバアクセス要求を送信する(ステップS225)。
 例えば、クライアント300(C4)は、主サーバ100(S0)へサービスアクセス要求を送信する。
 主サーバ100のアクセス制御部130は、サーバアクセス要求の送信元のクライアント300の識別子が、クライアントリスト155に存在するかどうかを検索する。アクセス制御部130は、クライアント300の識別子がクライアントリスト155に存在する場合、当該クライアント300へのサービス提供が可能であると判定する(ステップS226)。以後、主サーバ100のサービス提供部140は、クライアント300に対してサービスの提供を開始する。
 例えば、主サーバ100(S0)は、クライアント300(C4)の識別子が図22のクライアントリスト155に存在するため、クライアント300(C4)へのサービス提供が可能であると判断し、サービス提供を開始する。
 なお、図18において、クライアント300(C12)が主サーバ100にアクセスする場合のように、主サーバ100とクライアント300の間に副サーバ200が3つ以上存在する場合は、サーバアクセス要求(ステップS221)とリダイレクト指示(ステップS222)とが、主サーバ100の識別子がクライアント300に送信されるまで繰り返し行われる。
 以上により本発明の第三の実施の形態の動作が完了する。
 本発明の第三の実施の形態によれば、アドホックサービス提供システムにおいて、副サーバの数が多い場合でも、クライアント装置の登録をスムースに行うことができることである。その理由は、複数の副サーバ200が、近接登録により隣接関係を生成することで副サーバグループを形成し、副サーバグループの代表副サーバが、副サーバグループ内のクライアント300の識別子を含むサブクライアントリスト255を生成し、主サーバ100へ送信するためである。
 (第四の実施の形態)
 次に、本発明の第四の実施の形態について説明する。はじめに、本発明の第四の実施の形態におけるクライアント登録の概要について説明する。図32は、本発明の第四の実施の形態におけるクライアント登録の概要を示す図である。
 本発明の第三の実施の形態においては、副サーバグループの代表副サーバ間で近接登録が行われた場合、当該代表副サーバ間で隣接関係を生成していた。本発明の第四の実施の形態においては、副サーバグループの代表副サーバでない副サーバ200により近接登録が行われた場合であっても、副サーバグループの代表副サーバ間で隣接関係を生成する点において、本発明の第三の実施の形態と異なる。なお、本発明の第四の実施の形態において、本発明の第三の形態と同じ符号を有する構成要素については、特に説明のない限り、本発明の第三の形態と同様である。
 例えば、図32において、副サーバ200(SS1)と副サーバ200(SS4)とのそれぞれは、副サーバグループの代表副サーバである(状態1)。ここで、一方の副サーバグループの副サーバ200(SS3)と他方の副サーバグループの副サーバ200(SS6)との間で近接登録が行われることにより、それぞれの副サーバグループの代表サーバである副サーバ200(SS1)と副サーバ200(SS4)とは、副サーバ200(SS1)を上位サーバとした隣接関係を生成する(状態2)。この結果、第三の実施の形態と同様に、副サーバ200(SS1)は、隣接関係を生成した複数の副サーバ200(SS1~6)により形成される副サーバグループの代表副サーバとなり、副サーバ200(SS1)に、クライアント300(C1~12)が登録される。
 同様に、副サーバ200(SS1)と副サーバ200(SS6)、あるいは、副サーバ200(SS3)と副サーバ200(SS4)との間で近接登録が行われた場合も、それぞれの副サーバグループの代表サーバである副サーバ200(SS1)と副サーバ200(SS4)とが隣接関係を生成する。
 次に、本発明の第四の実施の形態の構成について説明する。本発明の第四の実施の形態におけるアドホックサービス提供システムの構成は、本発明の第三の実施におけるアドホックサービス提供システムの構成(図17)と同様となる。
 次に、本発明の第四の実施の形態の動作について図面を参照して詳細に説明する。以下、本発明の第三の実施の形態と異なる「副サーバ200から他の副サーバ200への登録」の動作について説明する。
 ここでは、図32の状態1において、一方の副サーバグループの副サーバ200と他方の副サーバグループの副サーバ200との間で近接登録が行われることにより、それぞれの副サーバグループの代表副サーバである副サーバ200(SS1)と副サーバ200(SS4)との間に隣接関係が生成される場合を例に動作を説明する。
 <副サーバ200から他の副サーバ200への登録>
 図32~図34は、本発明の第四の実施の形態における副サーバ200から他の副サーバ200への登録の動作を示すシーケンス図である。
 副サーバ200と他の副サーバ200とが近接登録を行ってから、2つの副サーバ200間で「隣接関係生成応答」及び「隣接関係生成要求」を交換するまでの動作(ステップS301~S303)は、本発明の第三の実施の形態の動作(図19、ステップS201~S203)と同様となる。
 「隣接関係生成要求」及び「隣接関係生成応答」を交換した2つの副サーバ200のそれぞれの隣接関係生成制御部210は、受信した「隣接関係生成要求」、または、「隣接関係生成応答」に含まれる上位副サーバ情報275と、自副サーバ200の上位副サーバ情報275とをもとに、当該2つの副サーバ200のそれぞれが代表副サーバであるかを確認し、当該2つの副サーバ200間で隣接関係を生成するかどうかを判定する(ステップS304、S305)。
 ここで、2つの副サーバ200のそれぞれが代表副サーバであるかどうかにより、以下のように処理が異なる。
 「A.2つの副サーバ200の両方が代表副サーバの場合」
 ステップS304、305において、2つの副サーバ200の両方が代表副サーバである場合(図33)、それぞれの隣接関係生成制御部210は、当該2つの副サーバ200間で隣接関係を生成すると判定する。この場合、本発明の第三の実施の形態の動作(図19、ステップS206~S208)と同様に、当該2つの副サーバ200、すなわち、近接登録を行った副サーバ200が属する副サーバグループの代表副サーバ間で隣接関係が生成される(ステップS331~S334)。
 例えば、図32の状態1において、代表副サーバである副サーバ200(SS1)と代表副サーバである副サーバ200(SS4)との間で近接登録が行われた場合、図32の状態2のように、副サーバ200(SS1)と副サーバ200(SS4)との間に、副サーバ200(SS1)を上位サーバとして隣接関係が生成される。
 「B.2つの副サーバ200のどちらか一方が代表副サーバの場合」
 ステップS304、305において、2つの副サーバ200のどちらか一方のみが代表副サーバである場合(図34)、代表副サーバでない副サーバ200の隣接関係生成制御部210は、近接登録を行った副サーバ200との間で隣接関係を生成しないと判断する。また、代表副サーバである副サーバ200の隣接関係生成制御部210は、近接登録を行った副サーバ200の上位の代表副サーバ200との間で隣接関係を生成すると判断する。そして、代表副サーバである副サーバ200の隣接関係生成制御部210は、相手側副サーバ200から受信した上位副サーバ情報275を参照し、近接登録を行った副サーバ200の上位の副サーバ200へ「隣接関係生成要求」を送信する(ステップS321)。「隣接関係生成要求」を受信した副サーバ200の隣接関係生成制御部210は、「隣接関係生成応答」を、「隣接関係生成要求」の送信元の副サーバ200へ送信する(ステップS322)。
 例えば、図32の状態1において、代表副サーバである副サーバ200(SS1)と代表副サーバでない副サーバ200(SS6)との間で近接登録が行われた場合、副サーバ200(SS1)は、上位副サーバ情報275(null)を含む「隣接関係生成要求」を副サーバ200(SS6)へ送信する。また、副サーバ200(SS6)は、上位副サーバ情報275(SS4)を含む「隣接関係生成応答」を副サーバ200(SS1)へ送信する。
 副サーバ200(SS1)は、受信した上位副サーバ情報275と、副サーバ200(SS1)の上位副サーバ情報275とをもとに、副サーバ200(SS1)のみが代表副サーバであるため、副サーバ200(SS6)の上位の代表副サーバ200との間で隣接関係を生成すると判断する。そして、副サーバ200(SS1)は、受信した上位副サーバ情報275を参照し、副サーバ200(SS4)へ上位副サーバ情報275(null)を含む「隣接関係生成要求」を送信する。副サーバ200(SS4)は、副サーバ200(SS1)へ上位副サーバ情報275(null)を含む「隣接関係生成応答」を送信する。
 そして、ステップS304、S305と同様に、「隣接関係生成要求」及び「隣接関係生成応答」を交換した2つの副サーバ200のそれぞれの隣接関係生成制御部210は、当該2つの副サーバ200間で隣接関係を生成するかどうかを判定する(ステップS323、S324)。
 ここで、ステップS301において近接登録を行った2つの副サーバ200の内、代表副サーバでない副サーバ200の上位の副サーバ200が代表副サーバである場合、ステップS323、S324において、2つの副サーバ200の両方が代表副サーバとなる。したがって、上述の「A.2つの副サーバ200の両方が代表副サーバの場合」と同様に、当該2つの副サーバ200、すなわち、近接登録を行った副サーバ200が属する副サーバグループの代表副サーバ間で隣接関係が生成される(ステップS331~S334)。
 例えば、図32の状態2のように、副サーバ200(SS1)と副サーバ200(SS4)との間に、副サーバ200(SS1)を上位サーバとして隣接関係が生成される。
 また、ステップS301において近接登録を行った2つの副サーバ200の内、代表副サーバでない副サーバ200の上位の副サーバ200が代表副サーバでない場合、「隣接関係生成要求」及び「隣接関係生成応答」を交換した2つの副サーバ200の両方が代表副サーバとなるまで、ステップS321~S324が繰り返される。
 「C.2つの副サーバ200の両方が代表副サーバでない場合」
 ステップS304、305において、2つの副サーバ200の両方が代表副サーバでない場合(図35)、2つの副サーバ200のそれぞれの隣接関係生成制御部210は、近接登録を行った副サーバ200との間で隣接関係を生成しないと判断する。そして、2つの副サーバ200の内のいずれかの隣接関係生成制御部210は、上位副サーバ情報275を参照し、自副サーバ200の上位の副サーバ200へ、近接登録を行った副サーバ200の識別子を含む「隣接関係生成指示」を送信する(ステップS311)。この場合、例えば、2つの副サーバ200の内、識別子の値が小さい副サーバ200が「隣接関係生成指示」を送信する。また、「隣接関係生成指示」を受信した副サーバ200は、それぞれ、上位副サーバ情報275を参照し、「隣接関係生成指示」を代表副サーバである副サーバ200まで転送する。
 例えば、図32の状態1において、代表副サーバでない副サーバ200(SS3)と代表副サーバでない副サーバ200(SS6)との間で近接登録が行われた場合、副サーバ200(SS3)は、上位副サーバ情報275(SS1)を含む「隣接関係生成要求」を副サーバ200(SS6)へ送信する。また、副サーバ200(SS6)は、上位副サーバ情報275(SS4)を含む「隣接関係生成応答」を副サーバ200(SS3)へ送信する。
 副サーバ200(SS3、SS6)は、受信した上位副サーバ情報275と、自副サーバ200の上位副サーバ情報275とをもとに、両方の副サーバ200(SS3、SS6)が代表副サーバでないため、近接登録を行った副サーバ200との間で隣接関係を生成しないと判断する。そして、識別子の値が小さい副サーバ200(SS3)は、上位の副サーバ200である副サーバ200(SS1)へ、副サーバ200(SS6)の識別子を含む「隣接関係生成指示」を送信する。
 「隣接関係生成指示」を受信した代表副サーバである副サーバ200は、「隣接関係生成指示」に含まれる識別子で示される副サーバ200へ、「隣接関係生成要求」を送信する(ステップS312)。隣接関係生成要求を受信した副サーバ200は、「隣接関係生成応答」を、隣接関係生成要求の送信元の副サーバ200へ送信する(ステップS313)。
 例えば、副サーバ200(SS1)は、上位副サーバ情報275(null)を含む「隣接関係生成要求」を副サーバ200(SS6)へ送信する。また、副サーバ200(SS6)は、上位副サーバ情報275(SS4)を含む「隣接関係生成応答」を副サーバ200(SS1)へ送信する。
 そして、ステップS304、S305と同様に、「隣接関係生成要求」及び「隣接関係生成応答」を交換した2つの副サーバ200のそれぞれの隣接関係生成制御部210は、当該2つの副サーバ200間で隣接関係を生成するかどうかを判定する(ステップS314、S315)。
 ここで、2つの副サーバ200の一方のみが代表副サーバであるため、上述の「B.2つの副サーバ200のどちらか一方が代表副サーバの場合」と同様に、代表副サーバと代表副サーバでない副サーバ200の上位の代表副サーバとの間、すなわち、近接登録を行った副サーバ200が属する副サーバグループの代表副サーバ間で隣接関係が生成される(ステップS321~S334)。
 例えば、図32の状態2のように、副サーバ200(SS1)と副サーバ200(SS4)との間に、副サーバ200(SS1)を上位サーバとして隣接関係が生成される。
 次に、副サーバグループの代表副サーバ間で隣接関係の生成が完了すると、本発明の第三の実施の形態(ステップS210~S211)と同様に、下位の副サーバ200のサブクライアントリスト255が上位の副サーバ200のサブクライアントリスト255に追加される(ステップS335~S336)。
 以上により本発明の第四の実施の形態の動作が完了する。
 本発明の第四の実施の形態によれば、アドホックサービス提供システムにおいて、副サーバグループ間で隣接関係を生成して新たな副サーバグループを生成する際に、代表副サーバ以外の副サーバを用いた近接登録により隣接関係を生成できる。その理由は、第1の副サーバグループのいずれかの副サーバ200と第2の副サーバグループのいずれかの副サーバ200との間で近接登録が行われた場合、第1の副サーバグループの代表副サーバと第2の副サーバグループの代表副サーバとの間で隣接関係を生成するためである。
 また、本発明の第四の実施の形態によれば、アドホックサービス提供システムにおいて、副サーバグループ間で隣接関係を生成して新たな副サーバグループを生成する際に、副サーバのユーザが、ユーザの副サーバ、及び、当該副サーバと近接登録を行う副サーバが、代表副サーバかどうかを知らなくても、副サーバグループ間で隣接関係を生成できる。その理由は、上述と同様に、第1の副サーバグループのいずれかの副サーバ200と第2の副サーバグループのいずれかの副サーバ200との間で近接登録が行われた場合、第1の副サーバグループの代表副サーバと第2の副サーバグループの代表副サーバとの間で隣接関係を生成するためである。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2010年2月12日に出願された日本出願特願2010−028786を基礎とする優先権を主張し、その開示の全てをここに取り込む。
(First embodiment)
Next, a first embodiment of the present invention will be described. First, an outline of client registration in the first embodiment of the present invention will be described. FIG. 3 is a diagram showing an outline of client registration in the first embodiment of the present invention.
Referring to FIG. 3, the ad hoc service providing system includes a main server 100, a plurality of secondary servers 200, and a plurality of clients 300. The main server 100, the sub server 200, and the client 300 are movable terminal devices such as smartphones and mobile phones. The main server 100, the sub server 200, and the client 300 can communicate with each other via a network (not shown) using a mobile communication network, a wireless LAN, a short-range communication method, or the like.
The main server 100 provides services such as photo and file sharing and bulletin boards to registered clients 300. The secondary server 200 performs registration of services of the client 300 in a distributed manner in the system. The client 300 accesses a service provided by the main server 100.
In the embodiment of the present invention, proximity registration refers to acquiring the identifiers of partner devices and registering them as close terminals in a situation where two devices are guaranteed to be within a predetermined range. When proximity registration is performed between two devices, an adjacency relationship that is a path for transferring the identifier of the client 300 to the main server 100 is generated between the two devices.
In FIG. 3, a dashed arrow indicates that proximity registration is performed between devices. A solid line arrow indicates an adjacent relationship generated by proximity registration. The direction of the arrow indicating the adjacency relationship indicates the direction in which the identifier of the client 300 is transferred toward the main server 100. In the embodiment of the present invention, the main server 100 side of the arrow indicating the adjacency relationship is the upper level and the client 300 side is the lower level.
In the first embodiment of the present invention, the secondary server 200 registers the client 300 with the primary server 100 that the secondary server 200 plans to generate an adjacent relationship (or has already generated an adjacent relationship). In this case, proximity registration is performed with the client 300. Further, when registering the client 300 registered in the secondary server 200 to the main server 100, the main server 100 performs proximity registration with the secondary server 200.
When proximity registration is performed between the secondary server 200 and the client 300, the secondary server 200 and the client 300 generate an adjacent relationship with each other. When proximity registration is performed between the main server 100 and the secondary server 200, the main server 100 and the secondary server 200 generate an adjacent relationship with each other. Each of the plurality of secondary servers 200 registers the identifier of the client 300 that has generated the adjacency relationship with the main server 100 that has generated the adjacency relationship.
In the example of FIG. 3, the proximity registration is performed between the secondary server 200 (SS1) and the client 300 (C1-3), so that the secondary server 200 (SS1) and the client 300 (C1-3) are adjacent to each other. Is generated. As a result, the clients 300 (C1 to C3) are registered in the secondary server 200 (SS1). Further, by performing proximity registration between the secondary server 200 (SS2) and the client 300 (C4 to 6), the secondary server 200 (SS2) and the client 300 (C4 to 6) generate an adjacency relationship. As a result, the client 300 (C4 to C6) is registered in the secondary server 200 (SS2). Further, by performing proximity registration between the main server 100 (S0) and the sub server 200 (SS1, SS2), the main server 100 (S0) and the sub server 200 (SS1, SS2) generate an adjacency relationship. To do. As a result, the clients 300 (C1 to 6) registered in the secondary server 200 (SS1, SS2) are registered in the main server 100 (S0). The main server 100 (S0) provides services to these registered clients 300 (C1 to C6).
Here, as a method of proximity registration, any method may be used as long as the identifiers of the partner devices can be acquired in a situation where it is guaranteed that the two devices are within a predetermined range.
For example, the terminal device (device A) has only a terminal device whose device A identifier is in a limited range (predetermined range) from the device A, such as infrared communication, short-range wireless communication using weak radio waves, and barcodes. The terminal device (device B) that outputs in a method that cannot be acquired and has acquired the identifier of the device A may access the device A using the identifier of the device A and transmit the identifier of the device B to the device A.
Further, as described in Non-Patent Document 2, based on the timing when the button is pressed by two adjacent devices, the server identifies two devices that are close to each other, and the two devices are connected to the other device. As described in Non-Patent Document 3, a method for transmitting an identifier, a server identifies a device based on information when two adjacent devices collide with each other, and the other device is assigned to the other device. A method of transmitting the identifier may be used.
Furthermore, the device that has acquired the identifier of the partner device in the vicinity may present the identifier of the partner device, the user name of the partner device, and the like to the user and perform proximity registration when permitted by the user.
Further, as a proximity registration method, the same method may be used between the main server 100 and the secondary server 200, and between the secondary server 200 and the client 300, or different methods may be used.
Next, the configuration of the first embodiment of the present invention will be described. FIG. 2 is a block diagram showing the configuration of the ad hoc service providing system according to the first embodiment of the present invention.
The main server 100 includes an adjacent relationship generation control unit 110, a client list generation unit 120, an access control unit 130, a service providing unit 140, a client list storage unit 150, and a secondary server information storage unit 160.
The adjacency generation control unit 110 generates an adjacency relationship with the secondary server 200 when proximity registration is performed with the secondary server 200 existing in a predetermined range in the vicinity. The adjacent relationship generation control unit 110 stores the identifier of the secondary server 200 in which the adjacent relationship is generated in the secondary server information storage unit 160 as the secondary server information 165.
FIG. 8 is a diagram illustrating an example of the secondary server information 165 according to the first embodiment of this invention. The secondary server information 165 includes the secondary server identifier of the secondary server 200 in which the adjacency relationship is generated.
The client list generation unit 120 receives the sub client list 255 from the sub server 200 in which the adjacency is generated, generates the client list 155 including the identifier of the client 300 included in the sub client list 255, and the client list storage unit Save to 150.
FIG. 9 is a diagram illustrating an example of the client list 155 according to the first embodiment of this invention. The client list 155 includes the client identifier of the client 300 registered in the secondary server 200 in which the adjacency relationship is generated.
The access control unit 130 permits access from the client 300 with the client identifier included in the client list 155 to the service providing unit 140.
The service providing unit 140 provides a service to the client 300. The service providing unit 140 may be a web server.
The secondary server 200 is a terminal device for performing registration of the client 300 in a distributed manner in the system.
The secondary server 200 includes an adjacent relationship generation control unit 210, a sub client list generation unit 220, a sub client list transmission unit 230, an upper server information transmission unit 240, a sub client list storage unit 250, and a main server information storage unit 260.
The adjacency generation control unit 210 generates an adjacency relationship with the client 300 when proximity registration is performed with the client 300 existing in a predetermined peripheral range. Further, the adjacency generation control unit 210 generates an adjacency relationship with the main server 100 when proximity registration is performed with the main server 100 existing in a predetermined range in the vicinity. The adjacency generation control unit 210 stores the identifier of the main server 100 in which the adjacency is generated in the main server information storage unit 260 as main server information 265.
10 and 12 are diagrams illustrating examples of the main server information 265 according to the first embodiment of this invention. The main server information 265 includes the main server identifier of the main server 100 in which the adjacency relationship is generated.
The subclient list generation unit 220 adds the identifier of the client 300 for which the adjacency relationship has been generated to the subclient list 255 and stores it in the subclient list storage unit 250.
11 and 13 are diagrams illustrating examples of the sub client list 255 according to the first embodiment of this invention. The sub-client list 255 includes the client identifier of the client 300 for which the adjacency relationship has been generated.
The sub client list transmission unit 230 transmits the generated sub client list 255 to the main server 100 in which the adjacency relationship is generated.
The upper server information transmission unit 240 transmits the identifier of the main server 100 to the client 300 for which the adjacency relationship has been generated.
The client 300 is a terminal device for accessing a service provided by the main server 100.
The client 300 includes an adjacent relationship generation control unit 310, a server access unit 320, and a secondary server information storage unit 330.
The adjacency generation control unit 310 generates an adjacency relationship with the secondary server 200 when proximity registration is performed with the secondary server 200 existing in a predetermined range in the vicinity. The adjacent relationship generation control unit 310 stores the identifier of the secondary server 200 in which the adjacent relationship has been generated in the secondary server information storage unit 330 as the secondary server information 335.
FIG. 14 is a diagram illustrating an example of the secondary server information 335 according to the first embodiment of this invention. The secondary server information 335 includes the secondary server identifier of the secondary server 200 in which the adjacency relationship is generated.
The server access unit 320 receives the identifier of the main server 100 from the secondary server 200 in which the adjacency relationship is generated, and accesses the main server 100. When the service providing unit 140 is a web server, the server access unit 320 may be a web browser. When the service providing unit 140 provides content data such as moving images, music, and documents, the server access unit 320 may be an application for reproducing or displaying these content data.
Note that the main server 100, the secondary server 200, and the client 300 may be information processing devices that operate according to programs. In this case, an application that operates as the primary server 100, the secondary server 200, or the client 300 may be activated by an operation of the user of the information processing apparatus. In addition, the main server 100 and the client 300 or both the sub server 200 and the client 300 may operate with one terminal device.
Next, the operation of the first embodiment of the present invention will be described in detail with reference to the drawings.
Here, as shown in FIG. 3, the operation will be described taking as an example the case where the client 300 (C1 to 6) is registered to the primary server 100 (S0) using the secondary servers 200 (SS1, SS2).
<Registration from Client 300 to Secondary Server 200>
First, an operation for registering the identifier of the client 300 from the client 300 to the secondary server 200 will be described. FIG. 4 is a sequence diagram showing the registration operation from the client 300 to the secondary server 200 in the first embodiment of the present invention.
When the secondary server 200 and the client 300 exist in the vicinity of each other, the adjacency generation control unit 210 of the secondary server 200 and the adjacency generation control unit 310 of the client 300 use the method as described above. To perform proximity registration (step S101). By performing proximity registration, the secondary server 200 and the client 300 mutually acquire the identifier of the counterpart device.
For example, in FIG. 3, when the secondary server 200 (SS1) registers the identifier of the client 300 (C1) existing in the surroundings with the main server 100 (the user of the secondary server 200 (SS1) is started from the client 300 (C1). In the case of permitting access to the primary server 100 (S0)), the adjacency generation control unit 210 of the secondary server 200 responds to the user instruction of the secondary server 200 (SS1) and identifies the secondary server 200 (SS1). "Information for accessing the secondary server 200" is displayed on a display unit (not shown) as a two-dimensional barcode. The adjacency generation control unit 310 of the client 300 (C1) that exists in a range where the contents of the display unit of the secondary server 200 can be read is transmitted by the imaging unit (not shown) in response to a user instruction of the client 300 (C1). The two-dimensional barcode displayed on the display unit of the secondary server 200 (SS1) is read. Then, the adjacent relationship generation control unit 310 transmits the identifier of the client 300 (C1) to the secondary server 200 (SS1) using the information of the two-dimensional barcode. When the secondary server 200 (SS1) displays a URL (Uniform Resource Locator) as “information for accessing the secondary server 200”, the adjacent relationship generation control unit 310 displays the Web browser of the client 300 (C1). The identifier of the client 300 (C1) may be transmitted by accessing the secondary server 200 (SS1) by (not shown).
The adjacency generation control unit 310 of the client 300 sets the identifier of the secondary server 200 acquired by proximity registration in the secondary server information 335 and stores it in the secondary server information storage unit 330 (step S102). The sub-client list generation unit 220 of the secondary server 200 adds the identifier of the client 300 acquired by proximity registration to the sub-client list 255 and stores it in the sub-client list storage unit 250 (step S103). By steps S102 and S103, the generation of the adjacency relationship between the secondary server 200 and the client 300 is completed.
For example, in FIG. 3, when proximity registration is performed between the secondary server 200 (SS1) and the client 300 (C1), the secondary server information 335 of the client 300 (C1) includes the secondary server 200 as shown in FIG. The identifier of (SS1) is set. Further, the identifier of the client 300 (C1) is added to the subclient list 255 of the subserver 200 (SS1) as shown in FIG.
When proximity registration is performed between the secondary server 200 (SS1) and the client 300 (C1 to 3), or between the secondary server 200 (SS2) and the client 300 (C4 to 6), the secondary server 200 (SS1) The sub-client list 255 of SS1, SS2) is as shown in FIGS.
<Registration from the secondary server 200 to the primary server 100>
Next, an operation for registering the identifier of the client 300 registered in the secondary server 200 from the secondary server 200 to the main server 100 will be described. FIG. 5 is a sequence diagram showing an operation of registration from the secondary server 200 to the primary server 100 in the first embodiment of the present invention.
When the main server 100 and the secondary server 200 are in the vicinity of each other, the adjacency generation control unit 110 of the main server 100 and the adjacency generation control unit 210 of the sub server 200 perform the method described above. By using it, proximity registration is performed (step S111). By performing proximity registration, the main server 100 and the secondary server 200 acquire the identifiers of the counterpart devices.
For example, in FIG. 3, when the main server 100 (S0) registers the identifier of the client 300 registered in the secondary server 200 (SS1) in the vicinity with the main server 100 (S0) (main server 100 (S0)). Of the client 300 registered in the secondary server 200 (SS1) permits access to the main server 100), the adjacency generation control unit 110 of the main server 100 determines the user of the main server 100 (S0). In response to the instruction, “information for accessing main server 100” including the identifier of main server 100 (S0) is displayed on a display unit (not shown) as a two-dimensional barcode. The adjacency generation control unit 210 of the secondary server 200 (SS1) existing in a range where the content of the display unit of the primary server 100 (S0) can be read is responsive to a user instruction of the secondary server 200 (SS1). The two-dimensional bar code displayed on the display unit of the main server 100 (S0) is read by (not shown). Then, the adjacent relationship generation control unit 210 transmits the identifier “SS1” of the secondary server 200 (SS1) to the main server 100 (S0) using the information of the two-dimensional barcode. When the main server 100 (S0) displays the URL as “information for accessing the main server 100”, the adjacency generation control unit 210 uses the Web browser (not shown) of the secondary server 200 to execute the main relationship. By accessing the server 100, the identifier of the secondary server 200 may be transmitted.
The adjacent relationship generation control unit 210 of the secondary server 200 sets the identifier of the main server 100 acquired by proximity registration in the main server information 265 and stores it in the main server information storage unit 260 (step S112). The adjacent relationship generation control unit 110 of the main server 100 sets the identifier of the secondary server 200 acquired by proximity registration in the secondary server information 165 and stores it in the secondary server information storage unit 160 (step S113). The generation of the adjacency relationship between the main server 100 and the sub server 200 is completed through steps S112 and S113.
For example, in FIG. 3, when proximity registration is performed between the primary server 100 (S0) and the secondary server 200 (SS1), the primary server information 265 of the secondary server 200 (SS1) includes the primary server information 265 as shown in FIG. The identifier of the server 100 (S0) is set. Further, in the secondary server information 165 of the primary server 100 (S0), the identifier of the secondary server 200 (SS1) is set as shown in FIG.
The sub client list transmission unit 230 of the sub server 200 transmits the sub client list 255 stored in the sub client list storage unit 250 to the main server 100 using the identifier of the main server 100 set in the main server information 265. (Step S114). The client list generation unit 120 of the main server 100 adds the identifier of the client 300 included in the sub client list 255 received from the sub server 200 to the client list 155 and stores it in the client list storage unit 150 (step S115).
For example, in FIG. 3, the primary server 100 (S0) receives the sub-client list 255 of FIGS. 11 and 13 from the secondary server 200 (SS1, SS2) that generated the adjacency relationship, and generates the client list 155 of FIG. To do.
<Service provision from main server 100>
Next, an operation for providing a service from the main server 100 to the client 300 will be described. FIG. 6 is a sequence diagram illustrating an operation of providing a service from the main server 100 according to the first embodiment of this invention.
In response to an instruction to access the main server 100 by the user of the client 300, the server access unit 320 of the client 300 uses the identifier of the sub server 200 set in the sub server information 335 to send the server to the sub server 200. An access request is transmitted (step S121).
For example, the client 300 (C1) transmits a service access request to the secondary server 200 (SS1) based on the secondary server information 335 of FIG.
The upper server information transmission unit 240 of the secondary server 200 transmits the identifier of the main server 100 set in the main server information 265 to the client 300 as the upper server information, and instructs redirection to the main server 100 (step S122).
For example, the secondary server 200 (SS1) transmits the identifier of the main server 100 (S0) to the client 300 (SS1) as the upper server information based on the main server information 265 of FIG.
At this time, the adjacency relationship is not generated between the main server 100 and the sub server 200 (the operation of registration in the main server 100 (FIG. 5) is not performed), and the main server information 265 When the identifier of the main server 100 is not set, the higher-level server information transmission unit 240 may transmit a response indicating “being prepared” to the client 300. In this case, the higher-level server information transmission unit 240 may transmit “retry waiting time” presented to the user of the client 300 to the client 300.
The server access unit 320 of the client 300 transmits a server access request to the main server 100 using the identifier of the main server 100 included in the received higher-level server information (step S123).
For example, the client 300 (C1) transmits a service access request to the main server 100 (S0).
The access control unit 130 of the main server 100 searches whether the identifier of the client 300 that has transmitted the server access request exists in the client list 155. When the identifier of the client 300 exists in the client list 155, the access control unit 130 determines that the service can be provided to the client 300 (Step S124). Thereafter, the service providing unit 140 of the main server 100 starts providing services to the client 300.
For example, since the identifier of the client 300 (C1) exists in the client list 155 of FIG. 9, the main server 100 (S0) determines that the service can be provided to the client 300 (C1) and starts providing the service. To do.
<Additional registration to the main server 100>
Next, an operation of additionally registering an identifier of a new client 300 in the main server 100 when the main server 100 and the sub server 200 have already generated an adjacent relationship will be described. FIG. 7 is a sequence diagram showing an operation of additional registration to the main server 100 in the first embodiment of the present invention.
When the primary server 100 and the secondary server 200 have already created an adjacency relationship, and the secondary server 200 and the new client 300 are in the vicinity of each other, the adjacency generation control unit of the secondary server 200 210 and the adjacent relationship generation control unit 310 of the new client 300 perform proximity registration by using the method as described above (step S131).
The adjacent relationship generation control unit 310 of the new client 300 sets the identifier of the secondary server 200 acquired by proximity registration in the secondary server information 335 and stores it in the secondary server information storage unit 330 (step S132). The sub client list generation unit 220 of the secondary server 200 adds the identifier of the new client 300 acquired by proximity registration to the sub client list 255 and stores it in the sub client list storage unit 250 (step S133). Generation of the adjacency relationship between the secondary server 200 and the client 300 is completed through steps S132 and S133.
The sub client list transmission unit 230 of the sub server 200 transmits the identifier of the new client 300 to the main server 100 (step S134). The client list generation unit 120 of the main server 100 adds the identifier of the new client 300 received from the sub server 200 to the client list 155 and stores it in the client list storage unit 150 (step S135).
Thereafter, when the main server 100 receives a service access request from the new client 300 added to the client list 155, the main server 100 provides a service to the new client 300 according to the service providing operation from the main server 100 (FIG. 6). To do.
Thus, the operation of the first embodiment of the present invention is completed.
Next, a characteristic configuration of the present invention will be described. FIG. 1 is a block diagram showing a characteristic configuration of the first embodiment of the present invention.
The ad hoc service providing system includes a main server 100, a plurality of secondary servers 200, and a plurality of clients 300.
Here, when the proximity registration is performed with the secondary server 200, the client 300 generates the adjacent relationship with the first adjacent relationship generation control unit 310 that generates the adjacent relationship with the secondary server 200. And a server access unit 320 that accesses the main server 100 using the upper server information received from the secondary server 200.
When the proximity registration is performed with the client 300, the secondary server 200 generates an adjacency relationship with the client 300. When the proximity registration is performed with the main server 100, the secondary server 200 A second adjacency generation control unit 210 that generates an adjacency relationship with 100, a subclient list generation unit 220 that generates a subclient list 255 including an identifier of the client 300 in which the adjacency relationship has been generated, and an adjacency relationship The sub-client list transmission unit 230 that transmits the sub-client list 255 to the main server 100 in which the adjacency is generated, and the identifier of the main server 100 in which the adjacency is generated are transmitted as higher-level server information to the client 300 that has generated the adjacency. And an upper server information transmission unit 240.
When the proximity registration is performed with the secondary server 200, the primary server 100 generates the adjacent relationship with the third adjacent relationship generation control unit 110 that generates the adjacent relationship with the secondary server 200. The client list generation unit 120 that receives the sub client list 255 from the sub server 200 and generates the client list 155 including the identifier of the client 300 included in the sub client list 255, and the identifier of the client 300 included in the client list 155. And an access control unit 130 that permits access from the identified client 300.
According to the first embodiment of the present invention, in an ad hoc service providing system, even when there are a large number of client devices, the client devices can be registered smoothly. The reason is that each of the plurality of secondary servers 200 generates a sub-client list 255 including the identifier of the client 300 in which the adjacent relationship is generated by proximity registration, and the main server 100 generates the adjacent relationship by proximity registration. This is because the client list 155 is generated based on the sub client list 255 received from the secondary server 200.
(Second embodiment)
Next, a second embodiment of the present invention will be described.
In the second embodiment of the present invention, when the main server 100 registers the identifier of the client 300 included in the sub-client list 255 in the client list 155, the identifier of the client 300 is registered in the sub-client list 255. Whether registration is possible is determined based on the time or position information when the adjacency relationship is generated between the secondary server 200 and the client 300.
The configuration of the second embodiment of the present invention is the same as the configuration of the first embodiment of the present invention (FIG. 2).
Next, the operation of the second embodiment of the present invention will be described in detail with reference to the drawings.
First, a case will be described in which the main server 100 determines whether or not registration is possible based on information on the time when the identifier of the client 300 is registered in the sub-client list 255.
FIG. 15 is a diagram illustrating an example of the sub-client list 255 according to the second embodiment of this invention. The sub-client list 255 in FIG. 15 includes the client identifier of the client 300 in which the adjacency relationship is generated with the sub-server 200, and the registration time indicating the time at which the adjacency relationship is generated.
In step S103 of FIG. 4, the sub client list generation unit 220 of the secondary server 200 uses the identifier of the client 300 for which the secondary server 200 has generated the adjacency and the time at which the adjacency is generated as the client identifier of the sub client list 255. And registration time respectively.
5, the client list generation unit 120 of the main server 100 generates the adjacency relationship between the registration time included in the sub client list 255 received from the sub server 200 and the main server 100 and the sub server 200. When the time difference from the determined time is within a predetermined value, the identifier of the client 300 corresponding to the registered time is added to the client list 155.
For example, the main server 100 and the sub server 200 generate an adjacency relationship at time “2010/01/10 10:25”, and the main server 100 receives the sub client list 255 of FIG. Here, the identifier of the client 300 whose time difference between the registration time included in the sub-client list 255 and the time when the adjacency is generated between the main server 100 and the sub-server 200 is within 20 minutes is added to the client list 155. In this case, among the identifiers of the clients 300 included in the sub-client list 255 of FIG. 15, “C2” and “C3” whose registration times are after “10:05” are added to the client list 155.
In step S115, the client list generation unit 120 of the main server 100 determines that the registration time included in the sub-client list 255 is later than the service start time of the main server 100, and the registration time and the service of the main server 100 When the time difference from the start time is equal to or less than a predetermined time difference, the identifier of the client 300 corresponding to the registration time may be added to the client list 155.
For example, the identifier of the client 300 whose registration time included in the sub-client list 255 is later than the service start time of the main server 100 and whose time difference between the registration time and the service start time of the main server 100 is within 20 minutes. When adding to the client list 155, if the service start time is “10:15”, among the identifiers of the clients 300 included in the sub-client list 255 of FIG. 15, the registration time is “10:15” or later. C3 "is added to the client list 155.
Next, a case where the main server 100 determines whether or not registration is possible based on the position information when the identifier of the client 300 is registered in the sub-client list 255 will be described.
FIG. 16 is a diagram showing another example of the sub-client list 255 according to the second embodiment of this invention. The sub-client list 255 in FIG. 16 is a registration that indicates the client identifier of the client 300 for which the adjacency relationship has been generated with the sub-server 200, and information on the location where the sub-server 200 was present when the adjacency relationship was generated. Includes location.
In step S <b> 103 of FIG. 4, the sub-client list generation unit 220 of the secondary server 200 acquires position information of the secondary server 200 at the time when the secondary server 200 generates an adjacency relationship with the client 300. Here, the secondary server 200 acquires position information by, for example, GPS (Global Positioning System). The sub client list generation unit 220 adds the identifier of the client 300 that has generated the adjacency relationship and the position information of the sub server 200 to the client identifier and the registered position of the sub client list 255, respectively.
In step S115 of FIG. 5, the client list generation unit 120 of the main server 100 acquires the position information of the main server 100 at the time when the adjacency relationship is generated between the main server 100 and the sub server 200. Here, the main server 100 acquires position information by, for example, GPS. If the difference between the registration position included in the sub-client list 255 received from the sub-server 200 and the position information of the main server 100 is equal to or less than a predetermined value, the client list generation unit 120 sets the registration position to the registration position. The identifier of the corresponding client 300 is added to the client list 155.
According to the second embodiment of the present invention, in the ad hoc service providing system, it is possible to more reliably perform access restriction that permits access only from client devices existing in the vicinity of the server device. The reason is that when the primary server 100 registers the identifier of the client 300 in the client list 155, the registration is based on the time or position information when the adjacency is generated between the secondary server 200 and the client 300. This is to determine whether or not it is possible.
Further, according to the second embodiment of the present invention, in the ad hoc service providing system, it is possible to permit access only from the client device existing in the vicinity of the server device after the service is started. The reason is that when the main server 100 registers the identifier of the client 300 in the client list 155, the difference between the time when the adjacency is generated between the secondary server 200 and the client 300 and the service start time is also included. This is to determine whether registration is possible.
(Third embodiment)
Next, a third embodiment of the present invention will be described. First, an outline of client registration according to the third embodiment of the present invention will be described. FIG. 18 is a diagram showing an outline of client registration in the third embodiment of the present invention.
The third embodiment of the present invention is different from the first embodiment of the present invention in that an adjacency relationship is generated between the secondary servers 200. In the third embodiment of the present invention, components having the same reference numerals as those of the first embodiment of the present invention are the same as those of the first embodiment of the present invention unless otherwise specified. is there.
When proximity registration is performed between two secondary servers 200, the two secondary servers 200 generate an adjacency relationship with one being a higher server and the other being a lower server. Here, a group formed by a plurality of secondary servers 200 that have generated an adjacent relationship (or a single secondary server 200 that has not generated an adjacent relationship) is defined as a secondary server group. Further, in the secondary server group, the secondary server 200 (the highest secondary server 200 in the secondary server group) that does not generate the adjacency relationship with the other secondary server 200 as the higher server is set as the representative secondary server.
In the third embodiment of the present invention, when proximity registration is performed between the secondary servers 200 that are representative secondary servers of the secondary server group, an adjacency relationship is generated between the secondary servers 200 and a new secondary server is created. Create a group.
When the adjacency relationship is generated between the secondary servers 200 that are the representative secondary servers, the upper secondary server 200 becomes the representative secondary server of the new secondary server group. Further, the lower secondary server 200 registers the identifier of the client 300 registered in the lower secondary server 200 in the upper secondary server 200 (representative secondary server). As a result, the secondary server 200, which is the representative secondary server, holds the identifiers of all the clients 300 registered in the secondary server 200 in the new secondary server group.
Further, when proximity registration is performed between the main server 100 and the secondary server 200 that is the representative secondary server, the main server 100 and the secondary server 200 that is the representative secondary server generate an adjacency relationship with each other. The secondary server 200, which is the representative secondary server, registers the identifier of the client 300 in the secondary server group with the primary server 100 that has generated the adjacency relationship.
For example, in FIG. 18, the client 300 is registered in each of the secondary servers 200 (SS1 to SS3), and the secondary servers 200 (SS1 to SS3) form a secondary server group (state 1). Next, by performing proximity registration between the secondary server 200 (SS1) and the secondary server 200 (SS2), the secondary server 200 (SS1) and the secondary server 200 (SS2) become the secondary server 200 (SS1). Generate an adjacency relationship with the server as the higher server. Similarly, the secondary server 200 (SS1) and the secondary server 200 (SS3) generate an adjacency relationship in which the secondary server 200 (SS1) is an upper server. As a result, the secondary server 200 (SS1) becomes a representative secondary server of the secondary server group formed by the plurality of secondary servers 200 (SS1 to SS3) (state 2). Then, the client 300 (C1 to 6) is registered in the secondary server 200 (SS1).
Further, by performing proximity registration between the secondary server 200 (SS1) and the secondary server 200 (SS4) that is a representative secondary server of another secondary server group, the secondary server 200 (SS1) and the secondary server 200 (SS4) are registered. ) Generates an adjacency relationship in which the secondary server 200 (SS1) is an upper server. As a result, the secondary server 200 (SS1) becomes the representative secondary server of the secondary server group formed by the plurality of secondary servers 200 (SS1 to SS6) (state 3). Then, the client 300 (C1 to 12) is registered in the secondary server 200 (SS1).
Further, proximity registration is performed between the main server 100 (S0) and the secondary server 200 (SS1), whereby the primary server 100 (S0) and the secondary server 200 (SS1) generate an adjacency relationship. As a result, the clients 300 (C1 to 12) registered in the secondary server 200 (SS1) are registered in the main server 100 (S0). The main server 100 (S0) provides services to these registered clients 300 (C1 to C12).
Next, the configuration of the third embodiment of the present invention will be described. FIG. 17 is a block diagram showing a configuration of an ad hoc service providing system according to the third embodiment of the present invention. Referring to FIG. 17, the secondary server 200 includes an upper secondary server information storage unit 270 and a lower secondary server information storage unit 280 in addition to the configuration of the secondary server 200 (FIG. 2) in the first embodiment of the present invention. Including.
The adjacency generation control unit 210 of the secondary server 200 generates an adjacency relationship between the client 300 and the main server 100, and also registers proximity registration with other secondary servers 200 existing in a predetermined peripheral range. Is performed, an adjacency relationship is generated with the other secondary server 200. The adjacency generation control unit 210 stores the identifier of the secondary server 200 for which the adjacency relationship has been generated as the upper server in the upper subserver information storage unit 270 as the upper subserver information 275, and the subordinate server for which the adjacent relationship has been generated as the lower server. The identifier of the server 200 is stored in the lower secondary server information storage unit 280 as lower secondary server information 285.
Further, the upper server information transmission unit 240 transmits the identifier of the primary server 100 in which the adjacent relationship is generated or the identifier of the secondary server 200 in which the adjacent relationship is generated as the upper server to the client 300 in which the adjacent relationship is generated. .
24 and 28 are diagrams illustrating examples of the upper secondary server information 275 according to the third embodiment of this invention. The upper secondary server information 275 includes the secondary server identifier of the secondary server 200 in which the adjacency relationship is generated as the upper server. 25 and 29 are diagrams showing examples of the lower secondary server information 285 in the third embodiment of the present invention. The lower secondary server information 285 includes the secondary server identifier of the secondary server 200 in which the adjacency relationship is generated as the lower server.
Next, the operation of the third embodiment of the present invention will be described in detail with reference to the drawings.
Here, as shown in FIG. 18, the operation will be described by taking as an example the case where the secondary server 200 (SS1) becomes the representative secondary server and the identifier of the client 300 (C1 to 12) is registered with respect to the primary server 100 (S0). To do.
<Registration from Client 300 to Secondary Server 200>
The operation of registering the identifier of the client 300 from the client 300 to the secondary server 200 is the same as in the first embodiment (FIG. 4) of the present invention.
FIGS. 26 and 30 are diagrams showing examples of the sub-client list 255 in the third embodiment of this invention. FIG. 31 is a diagram illustrating an example of the secondary server information 335 according to the third embodiment of this invention.
For example, when proximity registration is performed between the secondary server 200 (SS2) and the client 300 (C3, C4) as in the state 1 of FIG. 18, the secondary server information 335 of the client 300 (C3, C4) is stored. As shown in FIG. 31, the identifier of the secondary server 200 (SS2) is set. Further, the identifier of the client 300 (C3, C4) is set in the subclient list 255 of the subserver 200 (SS2) as shown in FIG.
<Registration from Secondary Server 200 to Other Secondary Server 200>
Next, an operation for registering the identifier of the client 300 registered in the secondary server 200 from the secondary server 200 to another secondary server 200 will be described. FIG. 19 is a sequence diagram showing an operation of registration from the secondary server 200 to another secondary server 200 in the third embodiment of the present invention.
When the secondary server 200 and the other secondary server 200 are in the vicinity of each other, the adjacency generation control unit 210 of the secondary server 200 and the adjacency generation control unit 210 of the other secondary server 200 are described above. Proximity registration is performed using such a method (step S201). By performing proximity registration, the secondary server 200 and the other secondary server 200 acquire the other party's identifier.
The adjacent relationship generation control unit 210 of one of the two secondary servers 200 that performed proximity registration registers a “neighbor relationship generation request” including the primary server information 265 and the higher secondary server information 275 of the local secondary server 200 as a proximity registration. Is transmitted to the secondary server 200 that has performed (step S202). The adjacent relationship generation control unit 210 of the secondary server 200 that has received the “adjacent relationship generation request” similarly sends an “adjacent relationship generation response” including the main server information 265 and the upper secondary server information 275 of the own secondary server 200. The “adjacent relationship generation request” is transmitted to the secondary server 200 that is the transmission source (step S203).
For example, in the state 1 of FIG. 18, when the secondary server 200 (SS1) and the secondary server 200 (SS2) perform proximity registration, the secondary server 200 (SS1) and the secondary server 200 (SS2) An “adjacent relationship generation request” or “adjacent relationship generation response” including the server information 265 (null) and the upper secondary server information 275 (null) is transmitted.
The adjacent relationship generation control unit 210 of each of the two secondary servers 200 exchanging the “adjacent relationship generation request” and the “adjacent relationship generation response” receives the “adjacent relationship generation request” or “adjacent relationship generation response”. Based on the included upper secondary server information 275 and the upper secondary server information 275 of the own secondary server 200, whether each of the two secondary servers 200 is a representative secondary server (other secondary servers 200 are set as higher servers). It is determined whether or not an adjacent relationship is generated, and whether or not an adjacent relationship is generated between the two secondary servers 200 is determined (steps S204 and S205).
Here, each of the adjacent relationship generation control units 210 determines to generate an adjacent relationship between the two secondary servers 200 if both of the two secondary servers 200 are the representative secondary servers.
For example, the adjacency generation control unit 210 of the secondary server 200 (SS1) and the secondary server 200 (SS2) is such that both of the two secondary servers 200 are representative secondary servers (the upper secondary server information 275 is null). It is determined that an adjacent relationship is generated between the secondary server 200 (SS1) and the secondary server 200 (SS2).
When generating an adjacent relationship between two secondary servers 200, the adjacent relationship generation control unit 210 of each of the two secondary servers 200 is included in the received “adjacent relationship generation request” or “adjacent relationship generation response”. Based on the main server information 265 and the main server information 265 of the own sub server 200, it is determined which of the two sub servers 200 is the upper or lower sub server 200 (steps S206 and S207). ).
Here, the upper or lower determination is performed based on, for example, the following upper / lower determination rules.
(1) When only one of the two secondary servers 200 that generate the adjacency has generated an adjacency with the main server 100, the sub server 200 that has generated the adjacency with the main server 100 as an upper server. Is the upper secondary server 200.
(2) When both of the two secondary servers 200 that generate the adjacent relationship have not generated the adjacent relationship with the main server 100, one of the two secondary servers 200 is set as the upper server. In this case, for example, the secondary server 200 having a small identifier value is set as the upper server.
For example, the adjacent relationship generation control unit 210 of the secondary server 200 (SS1) and the secondary server 200 (SS2) does not generate an adjacent relationship in which both of the two secondary servers 200 have the primary server 100 as an upper server (primary server). Since the information 265 is null), the secondary server 200 (SS1) having a small identifier value is determined as the upper server.
Next, the adjacency generation control unit 210 of the lower secondary server 200 sets the identifier of the higher secondary server 200 in the higher secondary server information 275 and stores it in the higher secondary server information storage unit 270 (step S208). Further, the adjacency generation control unit 210 of the upper secondary server 200 sets the identifier of the lower secondary server 200 in the lower secondary server information 285 and stores it in the lower secondary server information storage unit 280 (step S209). The generation of the adjacency relationship between the secondary servers 200 is completed through step S208 and step S209. Further, the higher-order secondary server 200 that has generated the adjacency relationship becomes a new representative secondary server of the sub-server group formed by the plurality of secondary servers 200 that have generated the adjacency relationship.
For example, the identifier of the secondary server 200 (SS1) is set in the upper secondary server information 275 of the secondary server 200 (SS2) as shown in FIG. In addition, the identifier of the secondary server 200 (SS2) is set in the lower secondary server information 285 of the secondary server 200 (SS1) as shown in FIG. In this case, the secondary server 200 (SS1) becomes a representative secondary server of the secondary server group formed by the secondary servers 200 (SS1, SS2).
The sub-client list transmission unit 230 of the lower secondary server 200 uses the identifier of the upper secondary server 200 set in the upper secondary server information 275 to store the sub-client list 255 stored in the sub-client list storage unit 250. The data is transmitted to the upper secondary server 200 (step S210). The sub client list generation unit 220 of the upper secondary server 200 adds the identifier of the client 300 included in the sub client list 255 received from the lower secondary server 200 to the sub client list 255 and stores it in the sub client list storage unit 250. (Step S211).
For example, the secondary server 200 (SS1) receives the subclient list 255 of FIG. 30 from the lower secondary server 200 (SS2) that generated the adjacency relationship, and adds it to the subclient list 255 of the secondary server 200 (SS1).
Further, the secondary server 200 (SS1) and the secondary server 200 (SS3) perform proximity registration, so that the secondary server 200 (SS1) is placed between the secondary server 200 (SS1) and the secondary server 200 (SS3). An adjacency relationship is generated as a server. As a result, as in state 2 in FIG. 18, the secondary server 200 (SS1) becomes a representative secondary server of the secondary server group formed by the secondary servers 200 (SS1 to SS3). Further, the secondary server 200 (SS1) and the secondary server 200 (SS4), which is the representative secondary server of another secondary server group, perform proximity registration, so that the secondary server 200 (SS1) and the secondary server 200 (SS4) In the meantime, the adjacency relationship is generated with the secondary server 200 (SS1) as the upper server. As a result, as in state 3 in FIG. 18, the secondary server 200 (SS1) becomes a representative secondary server of the secondary server group formed by the secondary servers 200 (SS1 to SS6).
In the lower secondary server information 285 of the secondary server 200 (SS1), the identifiers of the secondary servers 200 (SS2 to SS4) are set as shown in FIG. Further, the identifier of the client 300 (C1 to 12) is set in the subclient list 255 of the subserver 200 (SS1) as shown in FIG.
<Registration from the secondary server 200 to the primary server 100>
Next, an operation for registering the identifier of the client 300 registered in the secondary server 200 as the representative secondary server from the secondary server 200 as the representative secondary server to the main server 100 will be described.
The operation of registering the identifier of the client 300 registered in the secondary server 200, which is the representative secondary server, in the main server 100 is the same as in the first embodiment (FIG. 5) of the present invention. However, in step S112, the adjacency generation control unit 210 of the secondary server 200 generates an adjacency relationship with the main server 100 when the own secondary server 200 is the representative secondary server.
FIG. 21 is a diagram illustrating an example of the secondary server information 165 according to the third embodiment of this invention. FIG. 22 is a diagram illustrating an example of the client list 155 according to the third embodiment of this invention. FIGS. 23 and 27 are diagrams illustrating examples of the main server information 265 according to the third embodiment of this invention.
For example, in FIG. 18, when proximity registration is performed between the primary server 100 (S0) and the secondary server 200 (SS1), the primary server information 265 of the secondary server 200 (SS1) includes the primary server information 265 as shown in FIG. The identifier of the server 100 (S0) is set. Further, as shown in FIG. 21, the identifier of the secondary server 200 (SS1) is set in the secondary server information 165 of the primary server 100 (S0). As a result, an adjacency relationship is generated between the primary server 100 (S0) and the secondary server 200 (SS1) as in state 3 in FIG.
Also, the main server 100 (S0) receives the sub client list 255 of FIG. 26 from the sub server 200 (SS1), and generates the client list 155 of FIG.
<Service provision from main server 100>
Next, an operation for providing a service from the main server 100 to the client 300 will be described. FIG. 20 is a sequence diagram showing an operation of providing a service from the main server 100 in the third embodiment of the present invention.
In response to an instruction to access the main server 100 by the user of the client 300, the server access unit 320 of the client 300 uses the identifier of the sub server 200 set in the sub server information 335 to send the server to the sub server 200. An access request is transmitted (step S221).
For example, in FIG. 18, when the client 300 (C4) registered in the secondary server 200 (SS2) (adjacent to the secondary server 200 (SS2)) accesses the main server 100, the client 300 (C4) Transmits a service access request to the secondary server 200 (SS2) based on the secondary server information 335 of FIG.
When a secondary server identifier is set in the higher secondary server information 275, the higher server information transmission unit 240 of the secondary server 200 transmits the identifier as higher server information to the client 300 and redirects to the higher secondary server 200. An instruction is given (step S222).
For example, the secondary server 200 (SS2) transmits the identifier of the secondary server 200 (SS1) to the client 300 (C4) based on the upper secondary server information 275 in FIG.
The server access unit 320 of the client 300 transmits a server access request to the sub server 200 using the identifier of the upper sub server 200 included in the received upper server information (step S223).
For example, the client 300 (C4) transmits a service access request to the secondary server 200 (SS1).
When the main server identifier is set in the main server information 265, the upper server information transmission unit 240 of the upper secondary server 200 transmits the identifier to the client 300 as the upper server information and instructs redirection to the main server 100. (Step S224).
For example, the secondary server 200 (SS1) transmits the identifier of the main server 100 (S0) to the client 300 (C4) based on the main server information 265 of FIG.
The server access unit 320 of the client 300 transmits a server access request to the main server 100 using the identifier of the main server 100 included in the received higher-level server information (step S225).
For example, the client 300 (C4) transmits a service access request to the main server 100 (S0).
The access control unit 130 of the main server 100 searches whether the identifier of the client 300 that has transmitted the server access request exists in the client list 155. When the identifier of the client 300 exists in the client list 155, the access control unit 130 determines that the service can be provided to the client 300 (Step S226). Thereafter, the service providing unit 140 of the main server 100 starts providing services to the client 300.
For example, since the identifier of the client 300 (C4) exists in the client list 155 of FIG. 22, the main server 100 (S0) determines that the service can be provided to the client 300 (C4) and starts providing the service. To do.
In FIG. 18, when there are three or more secondary servers 200 between the main server 100 and the client 300 as in the case where the client 300 (C12) accesses the main server 100, a server access request (step S221). ) And a redirect instruction (step S222) are repeatedly performed until the identifier of the main server 100 is transmitted to the client 300.
Thus, the operation of the third embodiment of the present invention is completed.
According to the third embodiment of the present invention, in an ad hoc service providing system, even when the number of secondary servers is large, registration of a client device can be performed smoothly. The reason is that a plurality of secondary servers 200 form a secondary server group by creating an adjacency relationship by proximity registration, and the secondary secondary server group representative secondary server includes the identifier of the client 300 in the secondary server group. This is because the list 255 is generated and transmitted to the main server 100.
(Fourth embodiment)
Next, a fourth embodiment of the present invention will be described. First, an outline of client registration in the fourth embodiment of the present invention will be described. FIG. 32 is a diagram showing an outline of client registration according to the fourth embodiment of the present invention.
In the third embodiment of the present invention, when proximity registration is performed between the representative secondary servers of the secondary server group, the adjacency relationship is generated between the representative secondary servers. In the fourth embodiment of the present invention, even when proximity registration is performed by the secondary server 200 that is not the representative secondary server of the secondary server group, an adjacency relationship is generated between the representative secondary servers of the secondary server group. In this respect, it differs from the third embodiment of the present invention. In the fourth embodiment of the present invention, components having the same reference numerals as those of the third embodiment of the present invention are the same as those of the third embodiment of the present invention unless otherwise specified.
For example, in FIG. 32, each of the secondary server 200 (SS1) and the secondary server 200 (SS4) is a representative secondary server of the secondary server group (state 1). Here, by performing proximity registration between the secondary server 200 (SS3) of one secondary server group and the secondary server 200 (SS6) of the other secondary server group, the secondary server 200 is a representative server of each secondary server group. The secondary server 200 (SS1) and the secondary server 200 (SS4) generate an adjacency relationship in which the secondary server 200 (SS1) is an upper server (state 2). As a result, as in the third embodiment, the secondary server 200 (SS1) becomes the representative secondary server of the secondary server group formed by the plurality of secondary servers 200 (SS1 to 6) that have generated the adjacency relationship. The client 300 (C1 to 12) is registered in the server 200 (SS1).
Similarly, when proximity registration is performed between the secondary server 200 (SS1) and the secondary server 200 (SS6), or between the secondary server 200 (SS3) and the secondary server 200 (SS4), the respective secondary server groups The secondary server 200 (SS1) and the secondary server 200 (SS4), which are the representative servers, generate an adjacency relationship.
Next, the configuration of the fourth embodiment of the present invention will be described. The configuration of the ad hoc service providing system in the fourth embodiment of the present invention is the same as the configuration of the ad hoc service providing system in the third embodiment of the present invention (FIG. 17).
Next, the operation of the fourth exemplary embodiment of the present invention will be described in detail with reference to the drawings. The operation of “registration from the secondary server 200 to another secondary server 200”, which is different from the third embodiment of the present invention, will be described below.
Here, in the state 1 in FIG. 32, the proximity registration is performed between the secondary server 200 of one secondary server group and the secondary server 200 of the other secondary server group, so that the representative secondary server of each secondary server group. The operation will be described by taking as an example a case where an adjacent relationship is generated between the secondary server 200 (SS1) and the secondary server 200 (SS4).
<Registration from Secondary Server 200 to Other Secondary Server 200>
FIGS. 32 to 34 are sequence diagrams showing the registration operation from the secondary server 200 to the other secondary server 200 in the fourth embodiment of the invention.
Operations from when the secondary server 200 and another secondary server 200 perform proximity registration until the “adjacent relationship generation response” and “adjacent relationship generation request” are exchanged between the two secondary servers 200 (steps S301 to S303) This is the same as the operation of the third embodiment of the present invention (FIG. 19, steps S201 to S203).
The adjacent relationship generation control unit 210 of each of the two secondary servers 200 exchanging the “adjacent relationship generation request” and the “adjacent relationship generation response” receives the “adjacent relationship generation request” or “adjacent relationship generation response”. Based on the included upper secondary server information 275 and the upper secondary server information 275 of the own secondary server 200, it is confirmed whether each of the two secondary servers 200 is a representative secondary server, and the two secondary servers 200 are confirmed. It is determined whether or not to generate an adjacency relationship (steps S304 and S305).
Here, depending on whether each of the two secondary servers 200 is a representative secondary server, the processing differs as follows.
“A. When both of the secondary servers 200 are representative secondary servers”
In steps S304 and S305, when both of the two secondary servers 200 are representative secondary servers (FIG. 33), each of the adjacent relationship generation control units 210 determines to generate an adjacent relationship between the two secondary servers 200. . In this case, similarly to the operation of the third embodiment of the present invention (FIG. 19, steps S206 to S208), the two secondary servers 200, that is, the secondary server group to which the secondary server 200 that has performed proximity registration belongs. Adjacency relationships are generated between the representative secondary servers (steps S331 to S334).
For example, in the state 1 of FIG. 32, when proximity registration is performed between the secondary server 200 (SS1) that is the representative secondary server and the secondary server 200 (SS4) that is the representative secondary server, the state 2 of FIG. As described above, the adjacency relationship is generated between the secondary server 200 (SS1) and the secondary server 200 (SS4) with the secondary server 200 (SS1) as an upper server.
“B. When one of the two secondary servers 200 is a representative secondary server”
When only one of the two secondary servers 200 is the representative secondary server in steps S304 and S305 (FIG. 34), the adjacent relationship generation control unit 210 of the secondary server 200 that is not the representative secondary server has performed the secondary registration. It is determined that no adjacency is generated with the server 200. Further, the adjacent relationship generation control unit 210 of the secondary server 200 that is the representative secondary server determines to generate an adjacent relationship with the representative secondary server 200 that is higher than the secondary server 200 that has performed proximity registration. Then, the adjacency generation control unit 210 of the secondary server 200 that is the representative secondary server refers to the higher level secondary server information 275 received from the counterpart side secondary server 200 and refers to the higher level secondary server 200 of the secondary server 200 that performed proximity registration. An “adjacent relationship generation request” is transmitted to (step S321). The adjacent relationship generation control unit 210 of the secondary server 200 that has received the “adjacent relationship generation request” transmits an “adjacent relationship generation response” to the secondary server 200 that is the transmission source of the “adjacent relationship generation request” (step S322).
For example, in the state 1 of FIG. 32, when proximity registration is performed between the secondary server 200 (SS1) that is the representative secondary server and the secondary server 200 (SS6) that is not the representative secondary server, the secondary server 200 (SS1) Then, an “adjacent relationship generation request” including the upper secondary server information 275 (null) is transmitted to the secondary server 200 (SS6). Further, the secondary server 200 (SS6) transmits an “adjacent relationship generation response” including the higher level secondary server information 275 (SS4) to the secondary server 200 (SS1).
The secondary server 200 (SS1) is the representative secondary server because only the secondary server 200 (SS1) is based on the received higher secondary server information 275 and the higher secondary server information 275 of the secondary server 200 (SS1). It is determined that an adjacency is generated with the representative secondary server 200 that is higher than the secondary server 200 (SS6). Then, the secondary server 200 (SS1) refers to the received higher secondary server information 275 and transmits an “adjacent relationship generation request” including the higher secondary server information 275 (null) to the secondary server 200 (SS4). The secondary server 200 (SS4) transmits an “adjacent relationship generation response” including the higher level secondary server information 275 (null) to the secondary server 200 (SS1).
Then, as in steps S304 and S305, the adjacent relationship generation control unit 210 of each of the two secondary servers 200 that exchanged the “adjacent relationship generation request” and the “adjacent relationship generation response” is performed between the two secondary servers 200. It is determined whether or not to generate an adjacency relationship (steps S323 and S324).
Here, when the secondary server 200 higher than the secondary server 200 that is not the representative secondary server among the two secondary servers 200 that performed proximity registration in step S301 is the representative secondary server, in steps S323 and S324, the two secondary servers Both 200 are representative secondary servers. Therefore, in the same manner as in “A. When both of the two secondary servers 200 are representative secondary servers”, the representative secondary of the secondary server group to which the two secondary servers 200, that is, the secondary servers 200 that performed proximity registration belong, belongs. Adjacency relationships are generated between servers (steps S331 to S334).
For example, as in state 2 in FIG. 32, an adjacency relationship is generated between the secondary server 200 (SS1) and the secondary server 200 (SS4) with the secondary server 200 (SS1) as an upper server.
If the secondary server 200 that is higher than the secondary server 200 that is not the representative secondary server among the two secondary servers 200 that performed proximity registration in step S301 is not the representative secondary server, an “adjacent relationship generation request” and an “adjacent relationship generation response” Steps S321 to S324 are repeated until both of the two secondary servers 200 that have exchanged "" become representative secondary servers.
“C. When both of the two secondary servers 200 are not representative secondary servers”
In Steps S304 and S305, when both of the two secondary servers 200 are not representative secondary servers (FIG. 35), the adjacent relationship generation control unit 210 of each of the two secondary servers 200 establishes a connection with the secondary server 200 that has performed proximity registration. It is determined that no adjacency is generated between them. Then, either of the two secondary servers 200, the adjacent relationship generation control unit 210 refers to the higher secondary server information 275, and the secondary server 200 that has performed proximity registration with the higher secondary server 200 of the local secondary server 200. An “adjacent relationship generation instruction” including the identifier is transmitted (step S311). In this case, for example, of the two secondary servers 200, the secondary server 200 having a small identifier value transmits an “adjacent relationship generation instruction”. In addition, each secondary server 200 that has received the “adjacent relationship generation instruction” refers to the upper secondary server information 275 and transfers the “adjacent relationship generation instruction” to the secondary server 200 that is the representative secondary server.
For example, in the state 1 of FIG. 32, when proximity registration is performed between the secondary server 200 (SS3) that is not the representative secondary server and the secondary server 200 (SS6) that is not the representative secondary server, the secondary server 200 (SS3) An “adjacent relationship generation request” including the upper secondary server information 275 (SS1) is transmitted to the secondary server 200 (SS6). Further, the secondary server 200 (SS6) transmits an “adjacent relationship generation response” including the higher level secondary server information 275 (SS4) to the secondary server 200 (SS3).
In the secondary server 200 (SS3, SS6), both the secondary servers 200 (SS3, SS6) are not representative secondary servers based on the received higher secondary server information 275 and the higher secondary server information 275 of the own secondary server 200. Therefore, it is determined that the adjacent relationship is not generated with the secondary server 200 that has performed proximity registration. Then, the secondary server 200 (SS3) having a small identifier value transmits an “adjacent relationship generation instruction” including the identifier of the secondary server 200 (SS6) to the secondary server 200 (SS1), which is the upper secondary server 200.
The secondary server 200 which is the representative secondary server that has received the “adjacent relationship generation instruction” transmits an “adjacent relationship generation request” to the secondary server 200 indicated by the identifier included in the “adjacent relationship generation instruction” (step S312). . The secondary server 200 that has received the adjacent relationship generation request transmits an “adjacent relationship generation response” to the secondary server 200 that is the transmission source of the adjacent relationship generation request (step S313).
For example, the secondary server 200 (SS1) transmits an “adjacent relationship generation request” including the upper secondary server information 275 (null) to the secondary server 200 (SS6). Further, the secondary server 200 (SS6) transmits an “adjacent relationship generation response” including the higher level secondary server information 275 (SS4) to the secondary server 200 (SS1).
Then, as in steps S304 and S305, the adjacent relationship generation control unit 210 of each of the two secondary servers 200 that exchanged the “adjacent relationship generation request” and the “adjacent relationship generation response” is performed between the two secondary servers 200. It is determined whether or not to generate an adjacency relationship (steps S314 and S315).
Here, since only one of the two secondary servers 200 is the representative secondary server, the representative secondary server and the representative secondary server are the same as in “B. When either one of the two secondary servers 200 is the representative secondary server” described above. Adjacent relations are generated between the representative secondary servers higher than the secondary server 200 that is not the server, that is, the representative secondary servers of the secondary server group to which the secondary server 200 that has performed proximity registration belongs (steps S321 to S334).
For example, as in state 2 in FIG. 32, an adjacency relationship is generated between the secondary server 200 (SS1) and the secondary server 200 (SS4) with the secondary server 200 (SS1) as an upper server.
Next, when the generation of the adjacency relationship between the representative secondary servers of the secondary server group is completed, the sub-client list 255 of the lower secondary server 200 is updated as in the third embodiment (steps S210 to S211) of the present invention. It is added to the sub client list 255 of the upper secondary server 200 (steps S335 to S336).
The operation of the fourth embodiment of the present invention is thus completed.
According to the fourth embodiment of the present invention, in the ad hoc service providing system, when a new secondary server group is generated by generating an adjacency relationship between the secondary server groups, a secondary server other than the representative secondary server is used. Adjacency can be generated by proximity registration. The reason is that, when proximity registration is performed between any secondary server 200 of the first secondary server group and any secondary server 200 of the second secondary server group, the first secondary server group This is because an adjacency relationship is generated between the representative secondary server and the representative secondary server of the second secondary server group.
Further, according to the fourth embodiment of the present invention, in the ad hoc service providing system, when creating a new secondary server group by creating an adjacency relationship between secondary server groups, the user of the secondary server It is possible to generate an adjacency relationship between the secondary server groups without knowing whether the secondary server and the secondary server that performs proximity registration with the secondary server are representative secondary servers. The reason is that, as described above, when proximity registration is performed between any secondary server 200 in the first secondary server group and any secondary server 200 in the second secondary server group, the first This is because an adjacency relationship is generated between the representative secondary server of the secondary server group and the representative secondary server of the second secondary server group.
While the present invention has been described with reference to the embodiments, the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
This application claims the priority on the basis of Japanese application Japanese Patent Application No. 2010-028786 for which it applied on February 12, 2010, and takes in those the indications of all here.
 100 主サーバ
 110 隣接関係生成制御部
 120 クライアントリスト生成部
 130 アクセス制御部
 140 サービス提供部
 150 クライアントリスト記憶部
 155 クライアントリスト
 160 副サーバ情報記憶部
 165 副サーバ情報
 200 副サーバ
 210 隣接関係生成制御部
 220 サブクライアントリスト生成部
 230 サブクライアントリスト送信部
 240 上位サーバ情報送信部
 250 サブクライアントリスト記憶部
 255 サブクライアントリスト
 260 主サーバ情報記憶部
 265 主サーバ情報
 270 上位副サーバ情報記憶部
 275 上位副サーバ情報
 280 下位副サーバ情報記憶部
 285 下位副サーバ情報
 300 クライアント
 310 隣接関係生成制御部
 320 サーバアクセス部
 330 副サーバ情報記憶部
 335 副サーバ情報
100 Main Server 110 Adjacency Generation Control Unit 120 Client List Generation Unit 130 Access Control Unit 140 Service Provision Unit 150 Client List Storage Unit 155 Client List 160 Secondary Server Information Storage Unit 165 Secondary Server Information 200 Secondary Server 210 Adjacent Relationship Generation Control Unit 220 Sub client list generation unit 230 Sub client list transmission unit 240 Upper server information transmission unit 250 Sub client list storage unit 255 Sub client list 260 Main server information storage unit 265 Main server information 270 Upper sub server information storage unit 275 Upper sub server information 280 Lower Secondary Server Information Storage Unit 285 Lower Secondary Server Information 300 Client 310 Adjacency Generation Control Unit 320 Server Access Unit 330 Secondary Server Information Storage Unit 33 5 Secondary server information

Claims (20)

  1.  所定の範囲に存在する2つの装置のそれぞれが相手側装置の識別子を取得することを近接登録とし、
     副サーバとの間で前記近接登録が行われた場合、当該副サーバとの間で隣接関係を生成する第1の隣接関係生成手段と、
     前記隣接関係が生成された前記副サーバから受信した上位サーバ情報を用いて主サーバへアクセスするサーバアクセス手段と
    を有する複数のクライアントと、
     前記クライアントとの間で前記近接登録が行われた場合、当該クライアントとの間で前記隣接関係を生成し、前記主サーバとの間で前記近接登録が行われた場合、当該主サーバとの間で前記隣接関係を生成する第2の隣接関係生成制御手段と、
     前記隣接関係が生成された前記クライアントの識別子を含むサブクライアントリストを生成するサブクライアントリスト生成手段と、
     前記隣接関係が生成された前記主サーバへ前記サブクライアントリストを送信するサブクライアントリスト送信手段と、
     前記隣接関係が生成された前記クライアントへ前記隣接関係が生成された前記主サーバの識別子を前記上位サーバ情報として送信する上位サーバ情報送信手段と
    を有する複数の前記副サーバと、
     前記副サーバとの間で前記近接登録が行われた場合、当該副サーバとの間で前記隣接関係を生成する第3の隣接関係生成制御手段と、
     前記隣接関係が生成された前記副サーバから前記サブクライアントリストを受信し、当該サブクライアントリストに含まれる前記クライアントの識別子を含むクライアントリストを生成するクライアントリスト生成手段と、
     前記クライアントリストに含まれる前記クライアントの識別子で識別される前記クライアントからのアクセスを許可するアクセス制御手段と
    を有する前記主サーバと
    を備えるアドホックサービス提供システム。
    Proximity registration means that each of two devices existing in a predetermined range acquires the identifier of the counterpart device,
    A first adjacency generation unit configured to generate an adjacency relationship with the secondary server when the proximity registration is performed with the secondary server;
    A plurality of clients having server access means for accessing the main server using the upper server information received from the secondary server in which the adjacency is generated;
    When the proximity registration is performed with the client, the adjacency relationship is generated with the client, and when the proximity registration is performed with the main server, the proximity registration is performed with the main server. Second adjacency generation control means for generating the adjacency in
    Sub-client list generating means for generating a sub-client list including an identifier of the client in which the adjacency is generated;
    Sub-client list transmission means for transmitting the sub-client list to the main server in which the adjacency is generated;
    A plurality of the secondary servers having upper server information transmitting means for transmitting, as the upper server information, an identifier of the primary server for which the adjacent relationship has been generated, to the client for which the adjacent relationship has been generated;
    A third adjacency generation control unit configured to generate the adjacency relation with the secondary server when the proximity registration is performed with the secondary server;
    Client list generation means for receiving the sub-client list from the sub-server in which the adjacency is generated, and generating a client list including an identifier of the client included in the sub-client list;
    An ad hoc service providing system comprising: the main server having access control means for permitting access from the client identified by an identifier of the client included in the client list.
  2.  他の前記副サーバと前記隣接関係が生成されていない1つの前記副サーバ、または、互いに前記隣接関係が生成された複数の前記副サーバにより形成されるグループを副サーバグループとし、前記副サーバグループにおいて、他の前記副サーバを上位サーバとした前記隣接関係が生成されていない前記副サーバを代表副サーバとし、
     前記代表副サーバの前記第2の隣接関係生成制御手段は、さらに、他の前記代表副サーバとの間で前記近接登録が行われた場合、当該他の前記代表副サーバとの間で、当該他の前記代表副サーバを上位サーバまたは下位サーバとした前記隣接関係を生成し、
     前記サブクライアントリスト生成手段は、さらに、下位サーバとして前記隣接関係が生成された前記代表副サーバから受信した前記サブクライアントリストに含まれる前記クライアントの識別子を含む前記サブクライアントリストを生成し、
     前記サブクライアントリスト送信手段は、さらに、上位サーバとして前記隣接関係が生成された前記代表副サーバへ前記サブクライアントリストを送信し、
     前記上位サーバ情報送信手段は、さらに、前記隣接関係が生成された前記クライアントへ上位サーバとして前記隣接関係が生成された前記代表副サーバの識別子を前記上位サーバ情報として送信する
    請求項1に記載のアドホックサービス提供システム。
    One secondary server in which the adjacent relationship with the other secondary server has not been generated, or a group formed by a plurality of the secondary servers in which the adjacent relationship has been generated is defined as a secondary server group, and the secondary server group In the above, the secondary server in which the adjacency relationship is not generated with the other secondary server as an upper server is a representative secondary server
    The second adjacency generation control unit of the representative secondary server further performs the proximity registration with the other representative secondary server when the proximity registration is performed with the other representative secondary server. Generate the adjacency relationship with the other representative secondary server as an upper server or lower server,
    The sub-client list generating means further generates the sub-client list including an identifier of the client included in the sub-client list received from the representative sub-server in which the adjacency is generated as a lower server,
    The sub-client list transmission means further transmits the sub-client list to the representative sub-server in which the adjacency is generated as an upper server,
    The upper server information transmitting unit further transmits, as the upper server information, an identifier of the representative secondary server in which the adjacency is generated as an upper server to the client in which the adjacency is generated. Ad hoc service provision system.
  3.  前記代表副サーバの前記第2の隣接関係生成制御手段は、さらに、当該代表副サーバが属する前記副サーバグループのいずれかの前記副サーバと、他の前記代表副サーバが属する前記副サーバグループのいずれかの前記副サーバとの間で前記近接登録が行われた場合、当該他の前記代表副サーバとの間で前記隣接関係を生成する
    請求項2に記載のアドホックサービス提供システム。
    The second adjacency generation control means of the representative secondary server further includes any one of the secondary servers in the secondary server group to which the representative secondary server belongs and the secondary server group to which the other representative secondary server belongs. The ad hoc service providing system according to claim 2, wherein when the proximity registration is performed with any of the secondary servers, the adjacency relationship is generated with the other representative secondary server.
  4.  前記代表副サーバの前記第2の隣接関係生成制御手段は、前記他の前記代表副サーバとの間で前記隣接関係を生成する場合、当該代表副サーバ及び当該他の前記代表副サーバのうち、前記主サーバとの間で前記隣接関係が生成された前記代表副サーバを上位サーバとする
    請求項2または3に記載のアドホックサービス提供システム。
    When the second adjacent relationship generation control unit of the representative secondary server generates the adjacent relationship with the other representative secondary server, among the representative secondary server and the other representative secondary server, The ad hoc service providing system according to claim 2 or 3, wherein the representative secondary server in which the adjacency relationship is generated with the main server is used as an upper server.
  5.  前記クライアントリスト生成手段は、前記クライアントと前記副サーバとの間で前記隣接関係が生成された時刻、及び、当該副サーバと前記主サーバとの間で前記隣接関係が生成された時刻の差分が所定の範囲内にある場合、当該クライアントの識別子を前記クライアントリストに含める
    請求項1乃至4のいずれかに記載のアドホックサービス提供システム。
    The client list generation means is configured to determine a difference between a time when the adjacency is generated between the client and the secondary server and a time when the adjacency is generated between the sub server and the main server. The ad hoc service providing system according to any one of claims 1 to 4, wherein an identifier of the client is included in the client list when it is within a predetermined range.
  6.  前記クライアントリスト生成手段は、前記クライアントと前記副サーバとの間で前記隣接関係が生成された時刻、及び、前記主サーバがサービスを開始した時刻の差分が所定の範囲内にある場合、当該クライアントの識別子を前記クライアントリストに含める
    請求項1乃至4のいずれかに記載のアドホックサービス提供システム。
    When the difference between the time when the adjacency is generated between the client and the secondary server and the time when the main server starts service is within a predetermined range, the client list generation unit The ad hoc service providing system according to claim 1, wherein the identifier is included in the client list.
  7.  前記クライアントリスト生成手段は、前記クライアントと前記副サーバとの間で前記隣接関係が生成された位置、及び、当該副サーバと前記主サーバとの間で前記隣接関係が生成された位置の差分が所定の範囲内にある場合、当該クライアントの識別子を前記クライアントリストに含める
    請求項1乃至4のいずれかに記載のアドホックサービス提供システム。
    The client list generation means includes a difference between a position where the adjacency is generated between the client and the secondary server, and a position where the adjacency is generated between the secondary server and the main server. The ad hoc service providing system according to any one of claims 1 to 4, wherein an identifier of the client is included in the client list when it is within a predetermined range.
  8.  所定の範囲に存在する2つの装置のそれぞれが相手側装置の識別子を取得することを近接登録とし、
     クライアントが、副サーバとの間で前記近接登録が行われた場合、当該副サーバとの間で隣接関係を生成し、
     前記副サーバが、前記クライアントとの間で前記近接登録が行われた場合、当該クライアントとの間で前記隣接関係を生成し、
     前記副サーバが、前記隣接関係が生成された前記クライアントの識別子を含むサブクライアントリストを生成し、
     前記副サーバが、主サーバとの間で前記近接登録が行われた場合、当該主サーバとの間で前記隣接関係を生成し、
     前記主サーバが、前記副サーバとの間で前記近接登録が行われた場合、当該副サーバとの間で前記隣接関係を生成し、
     前記副サーバが、前記隣接関係が生成された前記主サーバへ前記サブクライアントリストを送信し、
     前記主サーバが、前記隣接関係が生成された前記副サーバから前記サブクライアントリストを受信し、当該サブクライアントリストに含まれる前記クライアントの識別子を含むクライアントリストを生成し、
     前記副サーバが、前記隣接関係が生成された前記クライアントへ前記隣接関係が生成された前記主サーバの識別子を上位サーバ情報として送信し、
     前記クライアントが、前記隣接関係が生成された前記副サーバから受信した前記上位サーバ情報を用いて前記主サーバへアクセスし、
     前記主サーバが、前記クライアントリストに含まれる前記クライアントの識別子で識別される前記クライアントからのアクセスを許可する
    アドホックサービス提供方法。
    Proximity registration means that each of two devices existing in a predetermined range acquires the identifier of the counterpart device,
    When the proximity registration is performed with the secondary server, the client generates an adjacency relationship with the secondary server,
    When the sub-server performs the proximity registration with the client, it generates the adjacency relationship with the client,
    The secondary server generates a sub-client list that includes an identifier of the client for which the adjacency was generated;
    When the sub server performs the proximity registration with the main server, the adjacency relationship is generated with the main server,
    When the proximity registration is performed with the primary server, the primary server generates the adjacency relationship with the secondary server,
    The secondary server sends the sub-client list to the primary server where the adjacency is generated;
    The primary server receives the subclient list from the secondary server in which the adjacency is generated, and generates a client list including an identifier of the client included in the subclient list;
    The secondary server transmits the identifier of the main server in which the adjacency is generated as higher-level server information to the client in which the adjacency is generated,
    The client accesses the main server using the upper server information received from the secondary server in which the adjacency is generated,
    A method for providing an ad hoc service in which the main server permits access from the client identified by an identifier of the client included in the client list.
  9.  他の前記副サーバと前記隣接関係が生成されていない1つの前記副サーバ、または、互いに前記隣接関係が生成された複数の前記副サーバにより形成されるグループを副サーバグループとし、前記副サーバグループにおいて、他の前記副サーバを上位サーバとした前記隣接関係が生成されていない前記副サーバを代表副サーバとし、
     さらに、
     前記代表副サーバが、他の前記代表副サーバとの間で前記近接登録が行われた場合、当該他の前記代表副サーバとの間で、当該他の前記代表副サーバを上位サーバまたは下位サーバとした前記隣接関係を生成し、
     前記代表副サーバが、下位サーバとして前記隣接関係が生成された前記代表副サーバから受信した前記サブクライアントリストに含まれる前記クライアントの識別子を含む前記サブクライアントリストを生成し、
     前記代表副サーバが、上位サーバとして前記隣接関係が生成された前記代表副サーバへ前記サブクライアントリストを送信し、
     前記代表副サーバが、前記隣接関係が生成された前記クライアントへ上位サーバとして前記隣接関係が生成された前記代表副サーバの識別子を前記上位サーバ情報として送信する
    請求項8に記載のアドホックサービス提供方法。
    One secondary server in which the adjacent relationship with the other secondary server has not been generated, or a group formed by a plurality of the secondary servers in which the adjacent relationship has been generated is defined as a secondary server group, and the secondary server group In the above, the secondary server in which the adjacency relationship is not generated with the other secondary server as an upper server is a representative secondary server
    further,
    When the proximity registration is performed between the representative secondary server and another representative secondary server, the other representative secondary server is set as an upper server or a lower server with the other representative secondary server. To generate the adjacency relationship
    The representative secondary server generates the sub-client list including an identifier of the client included in the sub-client list received from the representative secondary server in which the adjacency is generated as a subordinate server;
    The representative secondary server sends the sub-client list to the representative secondary server in which the adjacency is generated as an upper server,
    9. The ad hoc service providing method according to claim 8, wherein the representative secondary server transmits, as the upper server information, an identifier of the representative secondary server in which the adjacent relationship is generated as an upper server to the client in which the adjacent relationship is generated. .
  10.  さらに、
     前記代表副サーバが、当該代表副サーバが属する前記副サーバグループのいずれかの前記副サーバと、他の前記代表副サーバが属する前記副サーバグループのいずれかの前記副サーバとの間で前記近接登録が行われた場合、当該他の前記代表副サーバとの間で前記隣接関係を生成する
    請求項9に記載のアドホックサービス提供方法。
    further,
    The representative secondary server is in the proximity between any secondary server in the secondary server group to which the representative secondary server belongs and any secondary server in the secondary server group to which the other representative secondary server belongs. The ad hoc service providing method according to claim 9, wherein, when registration is performed, the adjacency relationship is generated with the other representative secondary server.
  11.  前記代表副サーバが、前記他の前記代表副サーバとの間で前記隣接関係を生成する場合、当該代表副サーバ及び当該他の前記代表副サーバのうち、前記主サーバとの間で前記隣接関係が生成された前記代表副サーバを上位サーバとする
    請求項9または10に記載のアドホックサービス提供方法。
    When the representative secondary server generates the adjacent relationship with the other representative secondary server, the adjacent relationship with the main server among the representative secondary server and the other representative secondary server. The method of providing an ad hoc service according to claim 9 or 10, wherein the representative secondary server in which is generated is an upper server.
  12.  前記主サーバが、前記クライアントリストを生成する場合、前記クライアントと前記副サーバとの間で前記隣接関係が生成された時刻、及び、当該副サーバと前記主サーバとの間で前記隣接関係が生成された時刻の差分が所定の範囲内にある場合、当該クライアントの識別子を前記クライアントリストに含める
    請求項8乃至11のいずれかに記載のアドホックサービス提供方法。
    When the main server generates the client list, the time when the adjacency is generated between the client and the sub server, and the adjacency is generated between the sub server and the main server. The ad hoc service providing method according to any one of claims 8 to 11, wherein, when the difference between the received times is within a predetermined range, an identifier of the client is included in the client list.
  13.  前記主サーバが、前記クライアントリストを生成する場合、前記クライアントと前記副サーバとの間で前記隣接関係が生成された時刻、及び、前記主サーバがサービスを開始した時刻の差分が所定の範囲内にある場合、当該クライアントの識別子を前記クライアントリストに含める
    請求項8乃至11のいずれかに記載のアドホックサービス提供方法。
    When the primary server generates the client list, a difference between a time when the adjacency is generated between the client and the secondary server and a time when the primary server starts a service is within a predetermined range. 12. The ad hoc service providing method according to claim 8, wherein an identifier of the client is included in the client list.
  14.  前記主サーバが、前記クライアントリストを生成する場合、前記クライアントと前記副サーバとの間で前記隣接関係が生成された位置、及び、当該副サーバと前記主サーバとの間で前記隣接関係が生成された位置の差分が所定の範囲内にある場合、当該クライアントの識別子を前記クライアントリストに含める
    請求項8乃至11のいずれかに記載のアドホックサービス提供方法。
    When the primary server generates the client list, the location where the adjacent relationship is generated between the client and the secondary server, and the adjacent relationship is generated between the secondary server and the primary server. The method of providing an ad hoc service according to any one of claims 8 to 11, wherein if the difference between the determined positions is within a predetermined range, the identifier of the client is included in the client list.
  15.  所定の範囲に存在する2つの装置のそれぞれが相手側装置の識別子を取得することを近接登録とし、
     前記近接登録により隣接関係が生成されたクライアントの識別子を含むサブクライアントリストを生成する副サーバとの間で前記近接登録が行われた場合、当該副サーバとの間で前記隣接関係を生成する隣接関係生成制御手段と、
     前記隣接関係が生成された前記副サーバから前記サブクライアントリストを受信し、当該サブクライアントリストに含まれる前記クライアントの識別子を含むクライアントリストを生成するクライアントリスト生成手段と、
     前記クライアントリストに含まれる前記クライアントの識別子で識別される前記クライアントからのアクセスを許可するアクセス制御手段と
    を備える主サーバ。
    Proximity registration means that each of two devices existing in a predetermined range acquires the identifier of the counterpart device,
    When the proximity registration is performed with a secondary server that generates a sub-client list that includes an identifier of the client whose neighbor relationship has been generated by the proximity registration, the neighbor that generates the neighbor relationship with the secondary server. Relationship generation control means;
    Client list generation means for receiving the sub-client list from the sub-server in which the adjacency is generated, and generating a client list including an identifier of the client included in the sub-client list;
    An access control means for permitting access from the client identified by an identifier of the client included in the client list;
  16.  所定の範囲に存在する2つの装置のそれぞれが相手側装置の識別子を取得することを近接登録とし、
     サブクライアントリストに含まれるクライアントの識別子で識別されるクライアントからのアクセスを許可する主サーバとの間で前記近接登録が行われた場合、当該主サーバとの間で隣接関係を生成し、前記主サーバへアクセスする前記クライアントとの間で前記近接登録が行われた場合、当該クライアントとの間で前記隣接関係を生成する隣接関係生成制御手段と、
     前記隣接関係が生成された前記クライアントの識別子を含む前記サブクライアントリストを生成するサブクライアントリスト生成手段と、
     前記隣接関係が生成された前記主サーバへ前記サブクライアントリストを送信するサブクライアントリスト送信手段と、
     前記隣接関係が生成された前記クライアントへ前記隣接関係が生成された前記主サーバの識別子を上位サーバ情報として送信する上位サーバ情報送信手段と
    を備える副サーバ。
    Proximity registration means that each of two devices existing in a predetermined range acquires the identifier of the counterpart device,
    When the proximity registration is performed with the main server that permits access from the client identified by the identifier of the client included in the sub-client list, an adjacency relationship is generated with the main server, and the main server When the proximity registration is performed with the client that accesses the server, an adjacent relationship generation control unit that generates the adjacent relationship with the client;
    Sub-client list generating means for generating the sub-client list including an identifier of the client in which the adjacency is generated;
    Sub-client list transmission means for transmitting the sub-client list to the main server in which the adjacency is generated;
    A secondary server comprising upper server information transmitting means for transmitting, as upper server information, an identifier of the main server for which the adjacent relationship has been generated to the client for which the adjacent relationship has been generated.
  17.  所定の範囲に存在する2つの装置のそれぞれが相手側装置の識別子を取得することを近接登録とし、
     前記近接登録により隣接関係が生成されたクライアントの識別子を含むサブクライアントリストを生成し前記近接登録により前記隣接関係が生成された主サーバに送信する副サーバとの間で前記近接登録が行われた場合、当該副サーバとの間で前記隣接関係を生成する隣接関係生成手段と、
     前記サブクライアントリストに含まれる前記クライアントの識別子で識別されるクライアンからのアクセスを許可する前記主サーバへ、前記隣接関係が生成された前記副サーバから受信した上位サーバ情報を用いてアクセスするサーバアクセス手段と
    を備えるクライアント。
    Proximity registration means that each of two devices existing in a predetermined range acquires the identifier of the counterpart device,
    The proximity registration is performed with a sub server that generates a sub-client list including an identifier of the client for which the proximity relationship is generated by the proximity registration and transmits the sub-client list to the main server for which the proximity relationship is generated by the proximity registration. An adjacency generation unit that generates the adjacency relationship with the secondary server;
    Server access for accessing the main server that permits access from the client identified by the client identifier included in the sub-client list using the upper server information received from the sub-server in which the adjacency is generated And a client comprising means.
  18.  所定の範囲に存在する2つの装置のそれぞれが相手側装置の識別子を取得することを近接登録とし、
     コンピュータを、
     前記近接登録により隣接関係が生成されたクライアントの識別子を含むサブクライアントリストを生成する副サーバとの間で前記近接登録が行われた場合、当該副サーバとの間で前記隣接関係を生成する隣接関係生成制御手段と、
     前記隣接関係が生成された前記副サーバから前記サブクライアントリストを受信し、当該サブクライアントリストに含まれる前記クライアントの識別子を含むクライアントリストを生成するクライアントリスト生成手段と、
     前記クライアントリストに含まれる前記クライアントの識別子で識別される前記クライアントからのアクセスを許可するアクセス制御手段と
    して機能させる主サーバ用プログラムを記録したプログラム記録媒体。
    Proximity registration means that each of two devices existing in a predetermined range acquires the identifier of the counterpart device,
    Computer
    When the proximity registration is performed with a secondary server that generates a sub-client list that includes an identifier of the client whose neighbor relationship has been generated by the proximity registration, the neighbor that generates the neighbor relationship with the secondary server. Relationship generation control means;
    Client list generation means for receiving the sub-client list from the sub-server in which the adjacency is generated, and generating a client list including an identifier of the client included in the sub-client list;
    A program recording medium recording a main server program that functions as an access control means for permitting access from the client identified by an identifier of the client included in the client list.
  19.  所定の範囲に存在する2つの装置のそれぞれが相手側装置の識別子を取得することを近接登録とし、
     コンピュータを、
     サブクライアントリストに含まれるクライアントの識別子で識別されるクライアントからのアクセスを許可する主サーバとの間で前記近接登録が行われた場合、当該主サーバとの間で隣接関係を生成し、前記主サーバへアクセスする前記クライアントとの間で前記近接登録が行われた場合、当該クライアントとの間で前記隣接関係を生成する隣接関係生成制御手段と、
     前記隣接関係が生成された前記クライアントの識別子を含む前記サブクライアントリストを生成するサブクライアントリスト生成手段と、
     前記隣接関係が生成された前記主サーバへ前記サブクライアントリストを送信するサブクライアントリスト送信手段と、
     前記隣接関係が生成された前記クライアントへ前記隣接関係が生成された前記主サーバの識別子を上位サーバ情報として送信する上位サーバ情報送信手段と
    して機能させる副サーバ用プログラムを記録したプログラム記録媒体。
    Proximity registration means that each of two devices existing in a predetermined range acquires the identifier of the counterpart device,
    Computer
    When the proximity registration is performed with the main server that permits access from the client identified by the identifier of the client included in the sub-client list, an adjacency relationship is generated with the main server, and the main server When the proximity registration is performed with the client that accesses the server, an adjacent relationship generation control unit that generates the adjacent relationship with the client;
    Sub-client list generating means for generating the sub-client list including an identifier of the client in which the adjacency is generated;
    Sub-client list transmission means for transmitting the sub-client list to the main server in which the adjacency is generated;
    A program recording medium recording a program for a secondary server that functions as upper server information transmitting means for transmitting, as upper server information, an identifier of the main server for which the adjacent relationship has been generated to the client for which the adjacent relationship has been generated.
  20.  所定の範囲に存在する2つの装置のそれぞれが相手側装置の識別子を取得することを近接登録とし、
     コンピュータを、
     前記近接登録により隣接関係が生成されたクライアントの識別子を含むサブクライアントリストを生成し前記近接登録により前記隣接関係が生成された主サーバに送信する副サーバとの間で前記近接登録が行われた場合、当該副サーバとの間で前記隣接関係を生成する隣接関係生成手段と、
     前記サブクライアントリストに含まれる前記クライアントの識別子で識別されるクライアントからのアクセスを許可する前記主サーバへ、前記隣接関係が生成された前記副サーバから受信した上位サーバ情報を用いてアクセスするサーバアクセス手段と
    して機能させるクライアント用プログラムを記録したプログラム記録媒体。
    Proximity registration means that each of two devices existing in a predetermined range acquires the identifier of the counterpart device,
    Computer
    The proximity registration is performed with a sub server that generates a sub-client list including an identifier of the client for which the proximity relationship is generated by the proximity registration and transmits the sub-client list to the main server for which the proximity relationship is generated by the proximity registration. An adjacency generation unit that generates the adjacency relationship with the secondary server;
    Server access for accessing the main server that permits access from the client identified by the client identifier included in the sub-client list using the upper server information received from the sub-server in which the adjacency is generated A program recording medium on which a client program that functions as means is recorded.
PCT/JP2011/052963 2010-02-12 2011-02-04 Ad-hoc service providing system WO2011099590A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011553906A JPWO2011099590A1 (en) 2010-02-12 2011-02-04 Ad hoc service provision system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010028786 2010-02-12
JP2010-028786 2010-02-12

Publications (1)

Publication Number Publication Date
WO2011099590A1 true WO2011099590A1 (en) 2011-08-18

Family

ID=44367859

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/052963 WO2011099590A1 (en) 2010-02-12 2011-02-04 Ad-hoc service providing system

Country Status (2)

Country Link
JP (1) JPWO2011099590A1 (en)
WO (1) WO2011099590A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016096425A (en) * 2014-11-13 2016-05-26 沖電気工業株式会社 Network system, communication control device, and communication device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008103945A1 (en) * 2007-02-23 2008-08-28 Qualcomm Incorporated Method and apparatus to create multicast groups based on proximity

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008103945A1 (en) * 2007-02-23 2008-08-28 Qualcomm Incorporated Method and apparatus to create multicast groups based on proximity

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
TAKASHI OSHIBA ET AL.: "Ad-hoc Endpoint Pairing for Dynamic Phone-based VoIP Enhancement with PC-based Real-time Communications", DAI 70 KAI (HEISEI 20 NEN) ZENKOKU TAIKAI KOEN RONBUNSHU (4) INTERFACE COMPUTER TO NINGEN SHAKAI, vol. 5F-2, 13 March 2008 (2008-03-13), pages 4-63 - 4-64 *
TAKASHI OSHIBA ET AL.: "Scalable Device Pairing using Adaptive Parallel Processing", IPSJ SIG NOTES, vol. 2009, no. 3, 15 January 2009 (2009-01-15), pages 127 - 132 *
YASUTAKA NISHIMURA ET AL.: "A proposal of ad hoc pairing", 2009 IEICE COMMUNICATIONS SOCIETY CONFERENCE KOEN RONBUNSHU 2, vol. B-7-26, 1 September 2009 (2009-09-01), pages 94 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016096425A (en) * 2014-11-13 2016-05-26 沖電気工業株式会社 Network system, communication control device, and communication device

Also Published As

Publication number Publication date
JPWO2011099590A1 (en) 2013-06-17

Similar Documents

Publication Publication Date Title
JP5066570B2 (en) Web format based wireless communication
CN109510865B (en) Relay device and system
CN107370657B (en) Method and system for linkage of application programs between devices
JP2008131594A (en) Application control system and method
US9532221B2 (en) Communicating credentials and content between multiple mobile electronic devices located within content sharing geographical area
JP2022002107A (en) Business negotiation support device, method and computer program
US20140372528A1 (en) Information processing system, information processing apparatus, and recording medium
JP2003150481A (en) Information providing system, information terminal, information providing device, determining device, program used therein and information providing method
EP3425875B1 (en) Method and apparatus for determining relative position
KR101971621B1 (en) Method and apparatus for brokering between server and device and computer readable recording medium
KR20150116344A (en) Method and apparatus for brokering internet of things
JP6565607B2 (en) Communication system, content acquisition method, and program
CN104468499A (en) Determining format compatibility across a data processing device and another data processing device prior to transfer of a multimedia file therebetween
JP5171392B2 (en) Communication system, information holding device, and management device
KR101931141B1 (en) Method for transmitting content and an electronic device thereof
WO2011099590A1 (en) Ad-hoc service providing system
US8832199B2 (en) Method and apparatus for connecting devices
JP6201432B2 (en) Information processing apparatus, information processing system, and information processing program
Yoon et al. Design of a mobile application framework with context sensitivities
JP6487278B2 (en) Communication terminal, communication method and program
JP6524005B2 (en) Communication terminal and program
JP2004289256A (en) Information providing system and communication terminal
KR101869154B1 (en) BEACON SERVICE PROVIDING METHOD FOR SMART DEVICES BASED ON CoAP MESSAGE
JP2018006947A (en) Communication device, communication system, and communication program
JP2005266882A (en) Communication system, method, and program

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: 11742333

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011553906

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11742333

Country of ref document: EP

Kind code of ref document: A1