USPatent applicationPatented

Communication system, communication apparatus, and method of communication

Granted 12 Nov 2019 · 2 office actions

Life of the application

11 dated events
⤢ drag to zoom20162018202020222024202620282030203220342036ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

A communication system includes a first information processing apparatus, and a communication apparatus including a plurality of ports, the communication apparatus being configured to communicate with the first information processing apparatus through a first port, wherein a first content is stored in the first information processing apparatus, and the communication apparatus is configured to store first correspondence information that indicates a correspondence relationship between a first keyword related to the first content and the first port, receive, from the terminal apparatus, a first search request that includes a search word, when the search word includes the first keyword, specify the first port corresponding to the first keyword from the plurality of ports, send, through the first port, the first search request to the first information processing apparatus, acquire the first content from the first information processing apparatus, and send the first content to the terminal apparatus.

Description

19 parts
›CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2015-241615, filed on Dec. 10, 2015, the entire contents of which are incorporated herein by reference.

›FIELD

The embodiments discussed herein are related to a communication system, a communication apparatus, and a method of communication.

›BACKGROUND

When, for example, a user acquires content stored in a server in a communication system on an IP network, the user accesses a search server and specifies a keyword related to the content for the search server by using a personal computer (simply referred to below as the PC). As a result, the PC acquires, from the search server, the uniform resource locator (URL) of a content name list related to the keyword.

Furthermore, the PC accesses a domain name system (DNS) server, after which the user specifies a content name from the content name list, and the PC acquires the IP address of the server that stores content corresponding to the specified content name.

Then, the PC establishes coupling with the server according to the acquired IP address and specifies a content name in http to request the server for the content. In response to the content request, the server stores the content in a content response and returns it to the PC. As a result, the PC can acquire desired content from a server in the communication system through a keyword-based content search. Related art documents include Japanese National Publication of International Patent Application No. 2008-504609, Japanese Laid-open Patent Publication No. 2007-249514, and Japanese Laid-open Patent Publication No. 2001-273298.

›SUMMARY

According to an aspect of the invention, a communication system includes a first information processing apparatus including a first memory and a first processor coupled to the first memory, and a communication apparatus including a second memory, a plurality of ports and a second processor coupled to the second memory and the plurality of ports, the communication apparatus being configured to communicate with the terminal apparatus, the communication apparatus being configured to communicate with the first information processing apparatus through a first port of the plurality of ports, wherein a first content is stored in the first information processing apparatus, and the second processor is configured to store, in the second memory, first correspondence information that indicates a correspondence relationship between a first keyword related to the first content and the first port to which the first information processing apparatus is coupled, receive, from the terminal apparatus, a first search request that includes a search word, when the search word includes the first keyword, specify the first port corresponding to the first keyword from the plurality of ports based on the first correspondence information, send, through the first port, the first search request to the first information processing apparatus, acquire, through the first port, the first content from the first information processing apparatus, and send the first content to the terminal apparatus.

The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.

It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.

›BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is an explanatory diagram illustrating an example of a communication system in a first embodiment;

FIG. 2 is an explanatory diagram illustrating an example of the structure of a node;

FIG. 3 is an example of the table structure of a first route table;

FIG. 4 is an explanatory diagram illustrating an example of the table structure of a request table;

FIG. 5 is an explanatory diagram illustrating a functional structure, involved in request transfer processing, in a processor;

FIG. 6 is an explanatory diagram illustrating a functional structure, involved in response transfer processing, in the processor;

FIG. 7 is a flowchart illustrating an example of a processing operation of the processor in a node involved in request transfer processing;

FIG. 8 is a flowchart illustrating an example of a processing operation of the processor in a node involved in response transfer processing;

FIG. 9 is an explanatory diagram illustrating an example in which a keyword in a content request is classified;

FIG. 10 is an explanatory diagram illustrating an example in which a keyword in a content request is not classified;

FIG. 11 is an explanatory diagram illustrating an example in which a keyword in a content request is classified;

FIG. 12 is an explanatory diagram illustrating an example in which a keyword in a content request is not classified;

FIG. 13 is an explanatory diagram illustrating an example of a communication system in a second embodiment;

FIG. 14 is a timing diagram illustrating an example of a processing operation of the communication system from a content request to a content response;

FIG. 15 is an explanatory diagram illustrating an example of a communication system in a third embodiment;

FIG. 16 is an explanatory diagram illustrating an example of the structure of an edge node;

FIG. 17 is an explanatory diagram illustrating an example of the table structure of a second route table;

FIG. 18 is an explanatory diagram illustrating an example of the table structure of a third route table;

FIG. 19 is a flowchart illustrating an example of a processing operation of the processor in the edge node involved in edge-side request transfer processing;

FIG. 20 is a flowchart illustrating an example of a processing operation of the processor in the node involved in node-side request transfer processing;

FIG. 21 is an explanatory diagram illustrating an example of a communication system in a fourth embodiment; and

FIG. 22 is a timing diagram illustrating an example of a processing operation of the communication system from a content request to a content response.

›DESCRIPTION OF EMBODIMENTS · 1 of 14

In a communication system, when a user acquires desired content from a server, the user accesses a search server and a DNS server and acquires the IP address of the server in which the desired content is stored. However, each time, the PC is expected to access the search server and DNS server by using the keyword of the desired content, so a load on the keyword-based content search becomes large.

Embodiments of the communication apparatus, server apparatus, and communication system disclosed in this application will be described below in detail according to the drawings. Incidentally, the disclosed technology is not restricted by these embodiments. The embodiments indicated below may be appropriately combined within a range in which any contradiction does not occur.

First Embodiment

FIG. 1 is an explanatory diagram illustrating an example of a communication system 1 in a first embodiment. The communication system 1 illustrated in FIG. 1 is, for example, a system comprised of an information centric networking (ICN) extended network 2 A and the like. ICN is a service by which desired content can be acquired by, for example, specifying the content name of the desired content. The content name is the name of content. Although the content name is unique in the communication system 1 , a cache for the content may be present in a plurality of servers.

The communication system 1 illustrated in FIG. 1 has a personal computer (simply referred to below as the PC) 3 , a plurality of nodes N 1 to N 4 , and a plurality of servers SV 1 and SV 2 . The PC 3 is coupled to and communicates with the node N 1 . The server SV 1 is coupled to and communicates with the node N 3 . The server SV 1 stores content C 1 including a keyword K 1 and enables the content C 1 to be provided. The server SV 2 is coupled to and communicates with the node N 4 . The server SV 2 stores content C 2 including the keyword K 1 and enables the content C 2 to be provided.

The node N 2 is coupled to and communicates with the nodes N 1 , N 3 , and N 4 . The server SV 1 distributes the keyword K 1 and the like related to the content C 1 , which is being stored in the server SV 1 , to the nodes N 1 to N 4 on the ICN extended NW 2 A at a predetermined time. The server SV 2 also distributes the keyword K 1 and the like related to the content C 2 , which is being stored in the server SV 2 , to the nodes N 1 to N 4 on the ICN extended NW 2 A at a predetermined time. Incidentally, the ICN extended NW 2 A enables the routing of a request by using a keyword as described later; by comparison, the ICN NW enables the routing of a request by using a content name.

FIG. 2 is an explanatory diagram illustrating an example of the structure of the nodes N 1 to N 4 . Incidentally, for convenience of explanation, the node N 2 will be exemplified. Since the nodes N 1 , N 3 , and N 4 also have the same structure as the node N 2 , like constituent elements will be denoted by like reference numerals and the descriptions of duplicated constituent elements and operations will be omitted. The node N 2 illustrated in FIG. 2 has a management communication interface (IF) 11 , a data communication IF 12 , a storage device 13 , a random access memory (RAM) 14 , and a processor 15 . The management communication IF 11 is a communication IF that controls communication with a management terminal (not illustrated) that manages the node N 2 itself. The data communication IF 12 is a communication IF that controls data communication with a line of the ICN extended NW 2 A. Incidentally, the data communication IF 12 has a plurality of ports P coupled on a per line basis and also has a distributing unit 12 A, which receives data coming from each port P and distributes data to each port P. The storage device 13 is an area in which various types of information is stored. The RAM 14 is a work area for processes executed by the processor 15 . The processor 15 controls the whole of the node N 2 .

The storage device 13 has a first route table 21 , a request table 22 , a classification policy 23 , and a combining policy 24 . FIG. 3 is an explanatory diagram illustrating an example of the table structure of the first route table 21 . The first route table 21 illustrated in FIG. 3 is, for example, a table that stores, for each keyword 21 A received in advertisement distribution coming from the server SV 1 , a transfer destination port 21 B, which is a port that receives the keyword 21 A.

FIG. 4 is an explanatory diagram illustrating an example of the table structure of the request table 22 . The request table 22 illustrated in FIG. 4 is a table that stores, for each request name 22 A that identifies a content request, a requesting port 22 B that has received the content request and a transfer destination port 22 C that had transferred the content request in correspondence to each other. The content request is a command from the PC 3 to the ICN extended NW 2 A, the command requesting desired content to be acquired by using a keyword as a search key. Incidentally, the content request is, for example, /keyword/?keyword=K 1 &keyword=K 2 ; /keyword/ in the former part is a request name and ?keyword=K 1 &keyword=K 2 in the latter part is specified keywords. Keywords are formed by combining keywords with &, “or”, and other logical operators and are written in REST format. Furthermore, an additional identifier is included in the request name so as to be identified as an uplink message or a downlink message. The requesting port 22 B is a port P that receives a content request. The transfer destination port 22 C is a port P that transfers a content request.

In the classification policy 23 , a condition is stored, under which, for example, whether to classify the keyword in a content request is determined. In the combining policy 24 , a condition is stored under which, for example, content responses for a content request are combined. If, for example, sensor data such as, for example, information about rainfalls in Kawasaki city is used as content in the Internet of Things (IoT), a combining condition is a condition under which simple merging is performed in list format by using sensor data, duplications are deleted from duplicated pieces of content, the maximum value or minimum value is selected, or an average is calculated. Incidentally, the classification condition in the classification policy 23 and the combining condition in the combining policy 24 can be appropriately changed by a manipulation specified by the user of the PC 3 or an operator in the communication system 1 .

›DESCRIPTION OF EMBODIMENTS · 2 of 14

The processor 15 loads a program (not illustrated) stored in the storage device 13 into the RAM 14 and executes a process corresponding to the program as a processing function. The processor 15 has a table control unit 31 , a request deciding unit 32 , a request classifying unit 33 , a request transferring unit 34 , a response deciding unit 35 , a response combining unit 36 , and a response transferring unit 37 .

The table control unit 31 controls storage in the first route table 21 and request table 22 . When the table control unit 31 receives advertisement distributions, coming from the servers SV 1 and SV 2 , of the keyword K 1 , the table control unit 31 registers the port that has received the keyword or keyword combination in the first route table 21 as the transfer destination port, on a per keyword or keyword combination basis. When the table control unit 31 receives a content request coming from the PC 3 , the table control unit 31 registers, for each request name that identifies a content request, a requesting port that has received the content request and a transfer destination port to which to transfer the content request in the request table 22 in correspondence to each other.

FIG. 5 is an explanatory diagram illustrating a functional structure, involved in request transfer processing, in the processor 15 . When the request deciding unit 32 illustrated in FIG. 5 receives data through the distributing unit 12 A in the data communication IF 12 , the request deciding unit 32 decides whether the received data is a content request. Incidentally, the request deciding unit 32 references the request name at the front of the content request and decides whether the received data is a content request.

If the received data is a content request, the request classifying unit 33 references the classification policy 23 and classifies the keyword in the content request. If, for example, two keywords, K 1 and K 2 , are included in the content request, the request classifying unit 33 classifies the keywords into the keyword K 1 and keyword K 2 .

The request transferring unit 34 identifies, from the first route table 21 , the port 21 B corresponding to the keyword 21 A extracted in the content request or to an entry including the keyword. Furthermore, the request transferring unit 34 requests the distributing unit 12 A to transfer the content request to the identified transfer destination port.

When the transfer destination port for the content request is identified, the table control unit 31 registers, for each request name 22 A that identifies a content request, the requesting port 22 B that has received the content request and the transfer destination port 22 C for the content request in the request table 22 in correspondence to each other.

FIG. 6 is an explanatory diagram illustrating a functional structure, involved in response transfer processing, in the processor 15 . When the response deciding unit 35 illustrated in FIG. 6 receives data through the distributing unit 12 A, the response deciding unit 35 decides whether the received data is a content response. Incidentally, the response deciding unit 35 references the request table 22 and decides whether the received data is a content response depending on whether the relevant request name is present in the request table 22 .

The response combining unit 36 references the request table 22 and decides whether a content response has been received from a transfer destination port for the content request. When the response combining unit 36 receives content responses from all transfer destination ports, the response combining unit 36 decides whether there is duplicated content according to the combining policy 24 . The response combining unit 36 deletes duplicated content, combines each piece of content, and stores the combined content in a content response.

The response transferring unit 37 references the request table 22 and identifies a requesting port corresponding to a request name that identifies a content request involved in a content response. Furthermore, the response transferring unit 37 requests the distributing unit 12 A to transfer the content response to the identified requesting port. When the content response is transferred to the requesting port, the table control unit 31 deletes, from the request table 22 , the entry corresponding to the request name involved in the content request for the content response.

Next, operations of the communication system 1 in the first embodiment will be described. First, an operation of the communication system 1 will be descried that is performed when the user acquires content C 1 and C 2 that include the keyword K 1 by using the PC 3 . It will be assumed that, in the communication system 1 illustrated in FIG. 1 , the content C 1 is stored in the server SV 1 and the content C 2 is stored in the server SV 2 . Furthermore, it will be assumed that the server SV 1 is coupled to the node N 3 and the server SV 2 is coupled to the node N 4 . The node N 2 couples a line between the node N 2 and the node N 1 at a port P 1 , couples a line between the node N 2 and the node N 3 at a port P 2 , and couples a line between the node N 2 and the node N 4 at a port P 3 .

The server SV 1 performs advertisement distribution of the keyword K 1 related to the content C 1 within the ICN extended NW 2 A (step S 201 ). The server SV 2 performs advertisement distribution of the keyword K 1 related to the content C 2 within the ICN extended NW 2 A (step S 202 ). The node N 2 receives the keyword K 1 coming from the server SV 1 through the port P 2 coupled to the node N 3 , and also receives the keyword K 1 coming from the server SV 2 through the port P 3 coupled to the node N 4 . As a result, the ports P 2 and P 3 are registered in the first route table 21 in the node N 2 in correspondence to the keyword K 1 (step S 203 ).

When the node N 2 receives a content request (K 1 ?) including the keyword K 1 , the content request coming from the PC 3 of the user, through the port P 1 (step S 204 ), the node N 2 extracts the keyword K 1 included in the content request. The node N 2 references the first route table 21 and identifies the ports P 2 and P 3 corresponding to the keyword K 1 .

›DESCRIPTION OF EMBODIMENTS · 3 of 14

The node N 2 transfers the content request (K 1 ?) including the keyword K 1 from the port P 2 through the node N 3 (step S 205 ). Furthermore, the node N 2 transfers the content request (K 1 ?) including the keyword K 1 from the port P 3 through the node N 4 (step S 206 ).

The server SV 1 acquires the content C 1 corresponding to the keyword K 1 in response to the content request (K 1 ?) including the keyword K 1 , stores the content C 1 in a content response, and transfers the content response to the node N 2 through the node N 3 (step S 207 ). The server SV 2 acquires the content C 2 corresponding to the keyword K 1 in response to the content request (K 1 ?) including the keyword K 1 , stores the content C 2 in a content response, and transfers the content response to the node N 2 through the node N 4 (step S 208 ).

The node N 2 receives the content response including the content C 1 , the content response coming from the server SV 1 , and the content response including the content C 2 , the content response coming from the server SV 2 . Furthermore, the node N 2 combines the content C 1 and C 2 , stores the combined content in a content response, and transfers the content response (C 1 +C 2 ) from the requesting port P 1 for the content request (step S 209 ). The PC 3 acquires the content response including the content C 1 and C 2 , the content response corresponding to the content request including the keyword K 1 , through the node N 1 . As a result, the user can collect content related to the keyword K 1 from the servers SV 1 and SV 2 within the ICN extended NW 2 A in a batch.

FIG. 7 is a flowchart illustrating an example of a processing operation of the processor 15 in the node N 2 involved in request transfer processing. In FIG. 7 , the request deciding unit 32 in the processor 15 decides whether a content request has been received through the distributing unit 12 A (step S 11 ). If a content request has been received (the decision in step S 11 is affirmative), the request classifying unit 33 in the processor 15 extracts the keyword in the content request (step S 12 ). The request classifying unit 33 references the classification policy 23 and decides whether to classify the keyword in the content request (step S 13 ).

If the keyword in the content request is to be classified (the decision in step S 13 is affirmative), the request transferring unit 34 in the processor 15 references the first route table 21 and identifies transfer destination ports corresponding to the classified keyword (step S 14 ). When transfer destination ports are identified for each keyword in step S 14 , the table control unit 31 in the processor 15 registers the requesting port and transfer destination ports in the request table 22 in correspondence to the request name that identifies the content request (step S 15 ).

Furthermore, the request transferring unit 34 requests the distributing unit 12 A to transfer the content request to the transfer destination ports identified for each classified keyword (step S 16 ) and terminates the processing operation illustrated in FIG. 7 . As a result, the node N 2 can transfer the content request to the transfer destination port identified for each classified keyword.

If the keyword in the content request is not to be classified (the decision in step S 13 is negative), the request transferring unit 34 references the first route table 21 and identifies transfer destination ports corresponding to the keyword (step S 17 ). When a transfer destination port is identified in step S 17 , the table control unit 31 registers the requesting port and transfer destination ports in the request table 22 in correspondence to the request name that identifies the content request (step S 18 ).

The request transferring unit 34 requests the distributing unit 12 A to transfer the content request to the identified transfer destination ports (step S 19 ) and terminates the processing operation illustrated in FIG. 7 . As a result, the node N 2 can transfer the content request to the transfer destination ports identified by the keywords. If a content request has not been received (the decision in step S 11 is negative), the request deciding unit 32 terminates the processing operation illustrated in FIG. 7 .

The processor 15 , which executes request transfer processing illustrated in FIG. 7 , receives a content request, and if the keyword in the content request is to be classified, identifies transfer destination ports corresponding to the classified keyword with reference to the first route table 21 . The processor 15 transfers the content request to the identified transfer destination ports. As a result, the node N 2 can transfer the content request to the transfer destination ports corresponding to the classified keyword in the content request.

The processor 15 receives a content request, and if the keyword in the content request is not to be classified, identifies a transfer destination port corresponding to the keywords with reference to the first route table 21 . The processor 15 transfers the content request to the identified transfer destination port. As a result, the node N 2 can transfer the content to the transfer destination ports corresponding to the keywords in the content request.

FIG. 8 is a flowchart illustrating an example of a processing operation of the processor 15 in the node N 2 involved in response transfer processing. In FIG. 8 , the response deciding unit 35 in the processor 15 decides whether a content response has been received through the distributing unit 12 A (step S 21 ). If a content response has been received (the decision in step S 21 is affirmative), the response deciding unit 35 references the request table 22 and decides whether the content response corresponds to the content request (step S 22 ).

If the content response corresponds to the content request (the decision in step S 22 is affirmative), the response deciding unit 35 references the transfer destination port in the relevant entry in the request table 22 and decides whether all content responses corresponding to the content request have been received (step S 23 ).

›DESCRIPTION OF EMBODIMENTS · 4 of 14

If all content responses corresponding to the content request have been received (the decision in step S 23 is affirmative), the response combining unit 36 in the processor 15 decides whether there is duplicated content in the received content responses (step S 24 ). If there is no duplicated content (the decision in step S 24 is negative), the response combining unit 36 combines the content and stores the combined content in a content response (step S 25 ).

The response transferring unit 37 in the processor 15 references the request table 22 , identifies a requesting port for the relevant entry involved in the content request, and requests the distributing unit 12 A to transfer the content response to the identified requesting port (step S 26 ). Furthermore, the table control unit 31 in the processor 15 deletes the entry involved in the content request from the request table 22 (step S 27 ) and terminates the processing operation illustrated in FIG. 8 .

If a content response has not been received (the decision in step S 21 is negative) or the content response does not correspond to the content request (the decision in step S 22 is negative), the response deciding unit 35 terminates the processing operation illustrated in FIG. 8 . If all content responses corresponding to the content request have not been received (the decision in step S 23 is negative), the response deciding unit 35 proceeds to step S 21 and decides whether a content response has been received.

If there is duplicated content for the content request (the decision in step S 24 is affirmative), the response combining unit 36 deletes the duplicated content to suppress a duplicated transfer to the transfer destination (step S 28 ), after which the response combining unit 36 proceeds to step S 25 to combine the remaining content and to store the combined content in a content response.

When the processor 15 , which executes response transfer processing illustrated in FIG. 8 , receives all content responses for the content request, the processor 15 decides whether there is duplicated content. If there is duplicated content, the processor 15 deletes the duplicated content, combines the remaining content, and stores the combined content in a content response. Furthermore, the processor 15 transfers the content response to the requesting port for the content request. As a result, the processor 15 can transfer a content response for the content request while suppressing a duplicated transfer of duplicated content.

If there is no duplicated content, the processor 15 combines content and stores the combined content in a content response, and transfers the content response to the requesting port for the content request. As a result, the processor 15 can transfer a content response for a content request.

FIG. 9 is an explanatory diagram illustrating an example in which a keyword in a content request is classified. It will be assumed that, in the communication system 1 illustrated in FIG. 9 , content C 1 is stored in the server SV 1 and content C 2 is stored in the server SV 2 . In the example in FIG. 9 , for convenience of explanation, the combining policy 24 does not impose any restriction.

The server SV 1 performs advertisement distribution of the keyword K 1 related to the content C 1 within the ICN extended NW 2 A, and the server SV 2 performs advertisement distribution of the keyword K 2 related to the content C 2 within the ICN extended NW 2 A. The node N 2 receives the keyword K 1 coming from the server SV 1 through the port P 2 coupled to the node N 3 , and also receives the keyword K 2 coming from the server SV 2 through the port P 3 coupled to the node N 4 . As a result, the node N 2 registers, in the first route table 21 , the port P 2 in correspondence to the keyword K 1 and port P 3 in correspondence to the keyword K 2 (step S 211 ).

When the node N 2 receives a content request (K 1 orK 2 ?) including the keyword K 1 or K 2 , the content request coming from the PC 3 of the user, through the port P 1 (step S 212 ), the node N 2 references the classification policy 23 and classifies the keywords K 1 and K 2 in the content request. The node N 2 references the first route table 21 and identifies the port P 2 corresponding to the keyword K 1 . The node N 2 transfers a content request (K 1 ?) including the keyword K 1 from the port P 2 through the node N 3 (step S 213 ).

The node N 2 references the first route table 21 and identifies the port P 3 corresponding to the keyword K 2 . The node N 2 transfers a content request (K 2 ?) including the keyword K 2 from the port P 3 through the node N 4 (step S 214 ).

The server SV 1 acquires the content C 1 corresponding to the keyword K 1 in response to the content request including the keyword K 1 , stores the content C 1 in a content response, and transfers the content response to the node N 2 through the node N 3 (step S 215 ). The server SV 2 acquires the content C 2 corresponding to the keyword K 2 in response to the content request including the keyword K 2 , stores the content C 2 in a content response, and transfers the content response to the node N 2 through the node N 4 (step S 216 ).

When the node N 2 receives the content response including the content C 1 , the content response coming from the server SV 1 , the node N 2 transfers the content response including the content C 1 to the requesting port for the content request (step S 217 ). When the node N 2 receives the content response including the content C 2 , the content response coming from the server SV 2 , the node N 2 transfers the content response including the content C 2 to the requesting port for the content request (step S 218 ). The PC 3 of the user acquires, through the node N 1 , the content responses for the content C 1 and C 2 corresponding to the content request including the keyword K 1 . As a result, the user can acquire the content C 1 and C 2 related to the keywords K 1 and K 2 from the servers SV 1 and SV 2 within the ICN extended NW 2 A in a batch.

›DESCRIPTION OF EMBODIMENTS · 5 of 14

FIG. 10 is an explanatory diagram illustrating an example in which a keyword in a content request is not classified. It will be assumed that, in the communication system 1 illustrated in FIG. 10 , content C 1 is stored in the server SV 1 and content C 2 is stored in the server SV 2 . In the example in FIG. 10 , for convenience of explanation, the classification policy 23 does not impose any restriction.

The server SV 1 performs advertisement distribution of the keyword K 1 related to the content C 1 within the ICN extended NW 2 A, and the server SV 2 performs advertisement distribution of the keyword K 2 related to the content C 2 within the ICN extended NW 2 A. The node N 2 receives the keyword K 1 coming from the server SV 1 through the port P 2 coupled to the node N 3 , and also receives the keyword K 2 coming from the server SV 2 through the port P 3 coupled to the node N 4 . As a result, the node N 2 registers, in the first route table 21 , the port P 2 in correspondence to the keyword K 1 and port P 3 in correspondence to the keyword K 2 (step S 221 ).

When the node N 2 receives a content request (K 1 orK 2 ?) including the keyword K 1 or K 2 , the content request coming from the PC 3 of the user, through the port P 1 (step S 222 ), the node N 2 extracts the keywords K 1 and K 2 in the content request. The node N 2 references the first route table 21 and identifies the port P 2 corresponding to the keyword K 1 or K 2 . The node N 2 transfers the content request (K 1 orK 2 ?) including the keyword K 1 or K 2 from the port P 2 through the node N 3 (step S 223 ).

The node N 2 references the first route table 21 and identifies the port P 3 corresponding to the keyword K 1 or K 2 . The node N 2 transfers the content request (K 1 orK 2 ?) including the keyword K 1 or K 2 from the port P 3 through the node N 4 (step S 224 ).

The server SV 1 acquires the content C 1 corresponding to the keyword K 1 or K 2 in response to the content request including the keyword K 1 or K 2 , stores the content C 1 in a content response, and transfers the content response to the node N 2 through the node N 3 (step S 225 ). The server SV 2 acquires the content C 2 corresponding to the keyword K 1 or K 2 in response to the content request including the keyword K 1 or K 2 , stores the content C 2 in a content response, and transfers the content response to the node N 2 through the node N 4 (step S 226 ).

The node N 2 receives the content response including the content C 1 , the content response coming from the server SV 1 , and also receives the content response including the content C 2 , the content response coming from the server SV 2 . Furthermore, the node N 2 references the combining policy 24 and stores the content C 1 and C 2 in a content response, and transfers the content response (C 1 +C 2 ) from the requesting port P 1 for the content request (step S 227 ). The PC 3 of the user acquires, through the node N 1 , the content response, including content C 1 and C 2 , which corresponds to the content request including the keyword K 1 or K 2 . As a result, the user can acquire the content C 1 and C 2 related to the keywords K 1 and K 2 from the servers SV 1 and SV 2 within the ICN extended NW 2 A in a batch. Furthermore, since the node N 2 can transfer content with a single content response by combing content, a communication load on the node N 2 can be reduced.

FIG. 11 is an explanatory diagram illustrating an example in which a keyword in a content request is classified. It will be assumed that, in the communication system 1 illustrated in FIG. 11 , content C 1 is stored in the server SV 1 and content C 2 is stored in the server SV 2 . Furthermore, in the server SV 1 , the content C 2 in the server SV 2 is copied and cached.

The server SV 1 performs advertisement distribution of the keyword K 1 related to the content C 1 within the ICN extended NW 2 A, and the server SV 2 performs advertisement distribution of the keyword K 2 related to the content C 2 within the ICN extended NW 2 A. As a result, the node N 2 registers, in the first route table 21 , the port P 2 in correspondence to the keyword K 1 and port P 3 in correspondence to the keyword K 2 (step S 231 ).

When the node N 2 receives a content request (K 1 orK 2 ?) including the keyword K 1 or K 2 , the content request coming from the PC 3 of the user, through the port P 1 (step S 232 ), the node N 2 extracts the keywords K 1 and K 2 in the content request. The node N 2 classifies keywords into the keyword K 1 and keyword K 2 . The node N 2 then references the first route table 21 and identifies the port P 2 corresponding to the keyword K 1 . The node N 2 then transfers a content request including the keyword K 1 from the port P 2 through the node N 3 (step S 233 ).

The node N 2 references the first route table 21 and identifies the port P 3 corresponding to the keyword K 2 . The node N 2 transfers a content request including the keyword K 2 from the port P 3 through the node N 4 (step S 234 ).

The server SV 1 acquires the content C 1 corresponding to the keyword K 1 in response to the content request including the keyword K 1 , stores the content C 1 in a content response, and transfers the content response to the node N 2 through the node N 3 (step S 235 ). The server SV 2 acquires the content C 2 corresponding to the keyword K 2 in response to the content request including the keyword K 2 , stores the content C 2 in a content response, and transfers the content response to the node N 2 through the node N 4 (step S 236 ).

When the node N 2 receives the content response including the content C 1 , the content response coming from the server SV 1 , the node N 2 transfers the content response including the content C 1 to the requesting port P 1 for the content request (step S 237 ). When the node N 2 receives the content response including the content C 2 , the content response coming from the server SV 2 , the node N 2 transfers the content response including the content C 2 to the requesting port P 1 for the content request (step S 238 ). The PC 3 of the user acquires, through the node N 1 , content responses, including content C 1 and C 2 , which correspond to the content requests including the keywords K 1 and K 2 .

›DESCRIPTION OF EMBODIMENTS · 6 of 14

As a result, the user can acquire the content C 1 and C 2 related to the keywords K 1 and K 2 from the servers SV 1 and SV 2 within the ICN extended NW 2 A. Furthermore, the node N 2 classifies a keyword in a content request; the node N 2 classifies a content request including the keyword K 1 as a content request for the server SV 1 . Therefore, it is possible to suppress duplicated reception of duplicated content C 2 from, for example, the server SV 1 .

Without combining content responses for content requests including the classified keywords, the node N 2 individually transfers these content responses to the PC 3 . In this case, since content requests and content responses are not in a one-to-one correspondence, the next stage is asked to count the number of content responses and action is taken by, for example, waiting for a content response for a certain time.

FIG. 12 is an explanatory diagram illustrating an example in which a keyword in a content request is not classified. It will be assumed that, in the communication system 1 illustrated in FIG. 12 , content C 1 is stored in the server SV 1 and content C 2 is stored in the server SV 2 . Furthermore, in the server SV 1 , the content C 2 in the server SV 2 is copied and cached.

The server SV 1 performs advertisement distribution of the keyword K 1 related to the content C 1 within the ICN extended NW 2 A, and the server SV 2 performs advertisement distribution of the keyword K 1 related to the content C 2 within the ICN extended NW 2 A. As a result, the node N 2 registers the port P 2 and port P 3 in the first route table 21 in correspondence to the keyword K 1 (step S 241 ).

When the node N 2 receives a content request (K 1 ?) including the keyword K 1 , the content request coming from the PC 3 of the user, through the port P 1 (step S 242 ), the node N 2 extracts the keyword K 1 in the content request. The node N 2 then references the first route table 21 and identifies the ports P 2 and P 3 corresponding to the keyword K 1 . The node N 2 then transfers the content request including the keyword K 1 from the port P 2 through the node N 3 (step S 243 ). Furthermore, the node N 2 transfers the content request including the keyword K 1 from the port P 3 through the node N 4 (step S 244 ).

The server SV 1 acquires the content C 1 and C 2 corresponding to the keyword K 1 in response to the content request including the keyword K 1 , stores the content C 1 and C 2 in a content response, and transfers the content response to the node N 2 through the node N 3 (step S 245 ). The server SV 2 also acquires the content C 2 corresponding to the keyword K 1 in response to the content request including the keyword K 1 , stores the content C 2 in a content response, and transfers the content response to the node N 2 through the node N 4 (step S 246 ).

The node N 2 receives the content response including content C 1 and C 2 , the content response coming from the server SV 1 , and also receives the content response including the content C 2 , the content response coming from the server SV 2 . Since the content C 2 is duplicated, the node N 2 deletes one of the duplicated pieces of content C 2 , combines the other content C 2 and content C 1 together, stores the combined content in a content response, and transfers the content response from the requesting port P 1 for the content request (step S 247 ). The PC 3 acquires, through the node N 1 , the content response including the content C 1 and C 2 corresponding to the content request including the keyword K 1 . As a result, the user can acquire the content C 1 and C 2 related to the keyword K 1 from the servers SV 1 and SV 2 within the ICN extended NW 2 A in a batch. In addition, since the node N 2 deletes the duplicated content C 2 , it is possible to suppress wasteful transfer of duplicated content C 2 to the node N 1 and thereby to reduce the amount of communication.

In the first embodiment, neither a search server nor a DNS server is used at the time of requesting content, and the number of messages, such as content requests and content responses, and the amount of data, the messages and data being used in communication on the ICN extended NW 2 A, can be reduced.

In related art, a PC plays a central role in accessing a search server and a DNS server to individually collect content. Therefore, the PC becomes a bottleneck in processing. In contrast, in the first embodiment, processing for content requests and content responses are distributed to different nodes N, so the PC 3 does not easily become a bottleneck in processing and improvement of scalability can be expected. In particular, when the combining policy 24 for content responses is used to perform a computation among content to obtain, for example, the maximum value, minimum value, average, or the like, the effect of scalability improvement due to the reduction of the amount of data and the distribution of processing (the combining of content responses) is large.

In related art, crawling by a search server and messages in IP advertisement are involved at the time of preparation, and when content is requested, messages such as a content request and content responses are involved at the search server and DNS server. In contrast, in the first embodiment, messages in keyword advertisement are involved at the time of preparation, and when content is requested, messages such as a content request and content responses are involved. That is, in this embodiment, messages to the search server and DNS server are not used. In addition, the numbers of content requests and content responses can be reduced. At the time of preparation as well, a small relative number of messages is sufficient, so a reduction in the number of messages can be achieved.

In the first embodiment, it is possible to achieve the specification of a keyword and the identification and acquisition of content with a single action without the intervention of the PC 3 , and a plurality of pieces of content can be acquired with a content response in a batch.

›DESCRIPTION OF EMBODIMENTS · 7 of 14

In the first embodiment, it is possible to reduce the number of content response messages by classifying keywords in content requests and suppressing the reception of potential duplicated content and to reduce the amount of communication by excluding the reception of duplicated content.

In the first embodiment, it is possible to reduce the number of content response messages by combining a plurality of content responses and to reduce the amount of communication by excluding duplicated content.

In the first embodiment, since processing to classify keywords in content requests and processing to combine content responses are distributed and executed in a cascading manner. Therefore, unlike a case in which a PC executes processing in a concentrated manner as before, it is possible to achieve a large-scale batch search for content within the ICN extended NW 2 A.

Incidentally, in the communication system 1 in the first embodiment described above, the numbers of PCs 3 , nodes N 1 to N 4 , and servers SV 1 and SV 2 are not limited to the example illustrated in FIG. 1 ; these numbers can be appropriately changed.

Second Embodiment

FIG. 13 is an explanatory diagram illustrating an example of a communication system 1 A in a second embodiment. FIG. 14 is a timing diagram illustrating an example of a processing operation of the communication system 1 A from a content request to a content response. Incidentally, component elements that are the same as in the communication system 1 in the first embodiment will be denoted by the same reference numerals and the descriptions of duplicated constituent elements and operations will be omitted. The communication system 1 A illustrated in FIG. 13 has the PC 3 , a node N 5 , a node N 6 , and servers SV 1 to SV 3 . Incidentally, the nodes N 5 and N 6 have the same structure as the node N 2 . The node N 5 is coupled to a line between the node N 5 and the PC 3 at a port P 7 , a line between the node N 5 and the server SV 1 at a port P 8 , and a line between the node N 5 and the node N 6 at a port P 9 . Furthermore, the node N 6 is coupled to a line between the node N 6 and the node N 5 at a port P 10 , a line between the node N 6 and the server SV 2 at a port P 11 , and a line between the node N 6 and the server SV 3 at a port P 12 .

The server SV 1 stores content C 1 including the keywords K 1 and K 2 and enables the content C 1 to be provided. The server SV 2 stores content C 2 including the keywords K 1 and K 2 and enables the content C 2 to be provided. The server SV 3 stores content C 3 including the keywords K 1 and K 2 and enables the content C 3 to be provided.

It will be assumed that the ports P 8 and P 9 are registered in the first route table 21 in the node N 5 in correspondence to the keywords K 1 and K 2 (step S 40 A). It will be assumed that the ports P 11 and P 12 are registered in the first route table 21 in the node N 6 in correspondence to the keywords K 1 and K 2 (step S 4013 ).

The PC 3 of the user transfers a content request (K 1 &K 2 ?) including the keywords K 1 and K 2 to the node N 5 to request it to acquire content including the keywords K 1 and K 2 . When the node N 5 receives the content request (K 1 &K 2 ?) including the keywords K 1 and K 2 (step S 41 ), the node N 5 extracts the keywords K 1 and K 2 in the content request. The node N 5 references the first route table 21 and identifies the transfer destination ports P 8 and P 9 corresponding to the keywords K 1 and K 2 (step S 42 ). Furthermore, the node N 5 registers, as an entry, the requesting port P 7 for the content request and the transfer destination ports P 8 and P 9 in the request table 22 in correspondence to a request name (K 1 &K 2 request) in the content request including the keywords K 1 and K 2 (step S 43 ). Then, the node N 5 transfers the content request (K 1 &K 2 ?) including the keywords K 1 and K 2 from the transfer destination port P 8 to the server SV 1 (step S 44 ). The node N 5 copies the content request (K 1 &K 2 ?) including the keywords K 1 and K 2 (step S 44 A) and transfers the copied content request from the transfer destination port P 9 to the node N 6 (step S 45 ).

When the node N 6 receives the content request (K 1 &K 2 ?) including the keywords K 1 and K 2 in step S 45 , the node N 6 extracts the keywords K 1 and K 2 in the content request. The node N 6 references the first route table 21 and identifies the transfer destination ports P 11 and P 12 corresponding to the keywords K 1 and K 2 (step S 46 ). Furthermore, the node N 6 registers, as an entry, the requesting port P 10 for the content request and the transfer destination ports P 11 and P 12 in the request table 22 in correspondence to a request name (K 1 &K 2 request) in the content request including the keywords K 1 and K 2 (step S 47 ). Then, the node N 6 transfers the content request including the keywords K 1 and K 2 from the transfer destination port P 11 to the server SV 2 (step S 48 ). The node N 6 copies the content request (step S 48 A) and transfers the copied content request from the transfer destination port P 12 to the server SV 3 (step S 49 ).

When the server SV 1 receives the content request including the keywords K 1 and K 2 in step S 44 , the server SV 1 stores the content C 1 including the keywords K 1 and K 2 in a content response and returns the content response to the node N 5 (step S 50 ). When the server SV 2 receives the content request including the keywords K 1 and K 2 in step S 48 , the server SV 2 stores the content C 2 including the keywords K 1 and K 2 in a content response and returns the content response to the node N 6 (step S 51 ). When the server SV 3 receives the content request including the keywords K 1 and K 2 in step S 49 , the server SV 3 stores the content C 3 including the keywords K 1 and K 2 in a content response and returns the content response to the node N 6 (step S 52 ).

When the node N 6 receives the content response including the content C 2 and the content response including the content C 3 , the node N 6 combines the content C 2 and C 3 together and stores the combined content in a content response (step S 53 ). Furthermore, the node N 6 references the request table 22 and identifies the requesting port P 10 as the transfer destination port for the content response (step S 54 ). Furthermore, the node N 6 transfers the content response from the identified transfer destination port P 10 (step S 55 ). The node N 6 then deletes the entry with the request name “K 1 &K 2 request” in the request table 22 (step S 56 ).

›DESCRIPTION OF EMBODIMENTS · 8 of 14

When the node N 5 receives the content response including the content C 1 , the content response coming from the server SV 1 , and the content response including the content C 2 and C 3 , the content response coming from the node N 6 , the node N 5 combines content C 1 , C 2 , and C 3 together and stores the combined content in a content response (step S 57 ). Furthermore, the node N 5 references the request table 22 and identifies the requesting port P 7 as the transfer destination port for the content response (step S 58 ). The node N 5 transfers the content response including the content C 1 , C 2 , and C 3 from the identified transfer destination port P 7 (step S 59 ). The node N 5 then deletes the entry with the request name “K 1 &K 2 request” in the request table 22 (step S 60 ). As a result, the PC 3 can receive the content response from the node N 5 and can acquire the content C 1 , C 2 , and C 3 in a batch.

When the node N 5 in the communication system 1 A in the second embodiment receives a content request with “K 1 &K 2 request” from the PC 3 , the node N 5 references the first route table 21 and transfers the content request to the node N 6 and server SV 1 . Furthermore, when the node N 5 receives a content request, the node N 5 references the first route table 21 and transfers the content request to the servers SV 2 and SV 3 . When the node N 6 receives content responses for the content request from the servers SV 2 and SV 3 , the node N 6 references the request table 22 , combines content in the content responses, and transfers the combined content response to the node N 5 . Furthermore, when the node N 5 receives a content response for a content request from the server SV 1 and also receives a content response from the node N 6 , the node N 5 references the request table 22 and transfers a content response in which content is combined to the PC 3 . As a result, the PC 3 can acquire the content C 1 , C 2 , and C 3 from the ICN extended NW 2 A in a batch by using the keywords K 1 and K 2 as the search keys.

Although, a port or ports have been stored in the first route table 21 in the first and second embodiments for each keyword or a keyword combination, a single port or a plurality of ports may be stored. Although, a requesting port and a transfer destination port or transfer destination ports have been stored in the request table 22 in the first and second embodiments for each content request, a single transfer destination port or a plurality of transfer destination ports may also be stored.

In the first and second embodiments described above, all content that includes the keyword specified in a content request is collected from the servers SV 1 and SV 2 within the ICN extended NW 2 A, after which the collected content is combined into a single content response and the combined content response is transferred to the PC 3 . If, however, the keyword is a general term, the content request is transferred infinitely within the ICN extended NW 2 A, resulting in a huge number of pieces of content in the content response. Therefore, a limit is imposed on the number of responses (a restriction is added) to avoid this situation. For example, an upper limit of the number of pieces of content to be combined in a content response may be determined, and domains and the number of hops that are used to send content requests may be restricted within a certain range to suppress as many pieces of content as the upper limit or more pieces of content from being collected or compiled.

Although the nodes N 1 to N 6 in the first and second embodiments described above have been applied to the ICN extended NW 2 A and have used the first route table 21 , in which the keyword 21 A and port 21 B are managed in correspondence to each other, this is not a limitation. The network is not limited to the ICN extended NW 2 A. An embodiment of a communication system that enables keyword-based content search without changing the structures of nodes on an ICN NW 2 will be described below as a third embodiment.

Third Embodiment

FIG. 15 is an explanatory diagram illustrating an example of a communication system 1 B in a third embodiment. Incidentally, the communication system 1 B differs from the communication system 1 in the first embodiment in that keyword-based content search is possible without changing the structures of nodes N 11 , N 12 , and N 13 on the ICN NW 2 used instead of the ICN extended NW 2 A. The communication system 1 B illustrated in FIG. 15 has the PC 3 , an edge node EN, a plurality of nodes N 11 , N 12 , and N 13 , and a plurality of servers SV 1 and SV 2 . The edge node EN and the plurality of nodes N 11 , N 12 , and N 13 are mutually coupled through the ICN NW 2 .

The server SV 1 stores content C 1 including the keyword K 1 . Incidentally, the content name of the content C 1 is, for example, NC 1 . The server SV 2 stores content C 2 including the keyword K 1 . Incidentally, the content name of the content C 2 is, for example, NC 2 . The server SV 1 performs advertisement distribution of the keyword K 1 and the content name NC 1 within the ICN NW 2 . The server SV 2 performs advertisement distribution of the keyword K 1 and the content name NC 2 within the ICN NW 2 . The nodes N 11 , N 12 , and N 13 within the ICN NW 2 register a transfer destination port 64 B in a third route table 64 for each content name 64 A in correspondence to each other.

When the edge node EN receives an advertisement distribution of the keyword K 1 and the content name NC 1 , the advertisement distribution coming from the server SV 1 , the edge node EN registers the keyword K 1 , the content name NC 1 , and the port P 22 , which has received the keyword and content name, in a second route table 61 in correspondence to one another. When the edge node EN receives an advertisement distribution of the keyword K 1 and the content name NC 2 , the advertisement distribution coming from the server SV 2 , the edge node EN registers the keyword K 1 , the content name NC 2 , and the port P 22 , which has received the keyword and content name, in a second route table 61 in correspondence to one another.

›DESCRIPTION OF EMBODIMENTS · 9 of 14

FIG. 16 is an explanatory diagram illustrating an example of the structure of the edge node EN. The edge node EN illustrated in FIG. 16 has a management communication IF 51 , a data communication IF 52 , a storage device 53 , a RAM 54 , and a processor 55 . The management communication IF 51 is a communication IF that controls communication with a management terminal (not illustrated) that manages the edge node EN. The data communication IF 52 is a communication IF that controls data communication with lines within the ICN NW 2 . Incidentally, the data communication IF 52 has a plurality of ports P coupled on a per line basis and a distributing unit 52 A, which receives data coming from each port P and distributes data to each port P. The storage device 53 is an area in which various types of information is stored. The RAM 54 is a work area for processes executed by the processor 55 . The processor 55 controls the whole of the edge node EN.

The storage device 53 has a second route table 61 , a request table 62 , and a combining policy 63 . FIG. 17 is an explanatory diagram illustrating an example of the table structure of the second route table 61 . The second route table 61 illustrated in FIG. 17 is a table that stores, in correspondence to content names 61 A and keywords 61 B received from the servers SV 1 and SV 2 in advertisement distribution, ports 61 C that has received these keywords and content names.

FIG. 18 is an explanatory diagram illustrating an example of the table structure of the third route table 64 . Incidentally, the third route table 64 is possessed by the nodes N 11 , N 12 , and N 13 . The third route table 64 illustrated in FIG. 18 is a table that stores the content name 64 A and transfer destination port 64 B in correspondence to each other. The nodes N 11 , N 12 , and N 13 register content names received in advertisement distribution coming from the servers SV 1 and SV 2 in the third route table 64 , and also register ports that have received the content names as transfer destination ports therein.

The processor 55 in the edge node EN loads an edge appli program stored in the storage device 53 into the RAM 54 and executes a process corresponding to the edge appli as a processing function. As processing functions, the processor 55 has a table control unit 71 , a request deciding unit 72 , a request converting unit 73 , a request transferring unit 74 , a response deciding unit 75 , a response combining unit 76 , and a response transferring unit 77 .

The table control unit 71 controls storage in the second route table 61 and request table 62 . When the table control unit 71 receives advertisement distributions, coming from the servers SV 1 and SV 2 , of keywords and content names, the table control unit 71 registers, for each keyword and content name, these keywords as well as ports that have received these content names, in the second route table 61 . When the table control unit 71 receives a content request, the table control unit 71 registers, for each request name 62 A that identifies a content request, a requesting port 62 B that has received the content request and a transfer destination port 62 C to which the content request has been transferred in the request table 62 in correspondence to each other.

When the request deciding unit 72 receives data through the distributing unit 52 A in the data communication IF 52 , the request deciding unit 72 decides whether the received data is a content request. Incidentally, the request deciding unit 72 references the request name at the front of the content request and decides whether the received data is a content request. If the received data is a content request, the request converting unit 73 references the second route table 61 and converts the content request including a keyword to a content request with a content name corresponding to the keyword. The request transferring unit 74 identifies, from the second route table 61 , the transfer destination port corresponding to the content name in the content request. Furthermore, the request transferring unit 74 requests the distributing unit 52 A to transfer the content request with the content name after the conversion to the identified transfer destination port.

When the content request after the conversion is transferred, the table control unit 71 registers the content name that identifies the content request in the request table 62 in correspondence to the transfer destination port that has received the content request and the transfer destination port for the content request.

When the response deciding unit 75 receives data through the distributing unit 52 A, the response deciding unit 75 decides whether the received data is a content request. Incidentally, the response deciding unit 75 references the request table 62 and decides whether the received data is a content request depending on whether the relevant request name is present in the content response. The response combining unit 76 references the request table 62 and decides whether a content response has been received from the transfer destination port for the content request.

When the response combining unit 76 receives content requests from all transfer destination ports, the response combining unit 76 decides whether there is duplicated content according to the combining policy 63 . The response combining unit 76 deletes duplicated content, combines each piece of content, and stores the combined content in a content response. The response transferring unit 77 references the request table 62 and identifies a requesting port corresponding to a request name that identifies a content request involved in the content response. Furthermore, the response transferring unit 77 requests the distributing unit 52 A to transfer the content response to the identified requesting port. When the content response is transferred, the table control unit 71 deletes, from the request table 62 , the entry corresponding to the request name involved in the content request for the content response.

›DESCRIPTION OF EMBODIMENTS · 10 of 14

Next, operations of the communication system 1 B in the third embodiment will be described. First, an operation of the communication system 1 B will be descried that is performed when the user acquires content C 1 and C 2 that include the keyword K 1 by using the PC 3 . It will be assumed that, in the communication system 1 B illustrated in FIG. 15 , the content C 1 is stored in the server SV 1 and the content C 2 is stored in the server SV 2 . Furthermore, it will be assumed that the server SV 1 is coupled to the node N 12 and the server SV 2 is coupled to the node N 13 . The node N 11 couples a line between the node N 11 and the edge node EN at a port P 24 , couples a line between the node N 11 and the node N 12 at a port P 25 , and couples a line between the node N 11 and the node N 13 at a port P 26 .

The server SV 1 performs advertisement distribution of the keyword K 1 related to the content C 1 and the content name NC 1 within the ICN NW 2 . The server SV 2 performs advertisement distribution of the keyword K 1 related to the content C 2 and the content name NC 2 within the ICN NW 2 . The edge node EN receives the keyword K 1 and content name NC 1 , which come from the server SV 1 , through the transfer destination port P 22 coupled to the node N 11 , and also receives the keyword K 1 and content name NC 2 , which come from the server SV 2 , through the port P 22 coupled to the node N 11 . As a result, the edge node EN registers the content name 61 A, keyword 61 B, and transfer destination port 61 C in the second route table 61 in correspondence to one another (step S 301 ). The node N 11 registers the content name 64 A and transfer destination port 64 B in the third route table 64 in correspondence to each other (step S 302 ).

When the edge node EN receives a content request (K 1 ?) including the keyword K 1 , the content request coming from the PC 3 of the user, through the port P 21 (step S 303 ), the edge node EN extracts the keyword K 1 included in the content request. The edge node EN references the second route table 61 and identifies the content name NC 1 and content name NC 2 corresponding to the keyword K 1 . The edge node EN references the second route table 61 and identifies the transfer destination port P 22 corresponding to the identified content name NC 1 . The edge node EN references the second route table 61 and identifies the transfer destination port P 22 corresponding to the identified content name NC 2 . Then, the edge node EN registers the requesting port P 21 and transfer destination port P 22 in the request table 62 in correspondence to the request name “NC 1 request” of the content request with the content name NC 1 (step S 304 ). Furthermore, the edge node EN registers the requesting port P 21 and transfer destination port P 22 in the request table 62 in correspondence to the request name “NC 2 request” of the content request with the content name NC 2 .

The edge node EN converts the content request including a keyword to a content request (NC 1 ?) with the content name NC 1 , and transfers the converted content request with the content name NC 1 to the transfer destination port P 22 (step S 305 ). Furthermore, the edge node EN converts the content request including a keyword to a content request (NC 2 ?) with the content name NC 2 , and transfers the converted content request with the content name NC 2 to the transfer destination port P 22 (step S 306 ).

When the node N 11 receives the content request (NC 1 ?) with the content name NC 1 , the node N 11 references the third route table 64 and identifies the transfer destination port P 25 corresponding to the content name NC 1 . Furthermore, when the node N 11 receives the content request (NC 2 ?) with the content name NC 2 , the node N 11 references the third route table 64 and identifies the transfer destination port P 26 corresponding to the content name NC 2 . Then, the node N 11 registers the requesting port P 24 and transfer destination port P 25 in the request table 62 in correspondence to the request name (NC 1 request) of the content request (step S 307 ). Furthermore, the node N 11 registers the requesting port P 24 and transfer destination port P 26 in the request table 62 in correspondence to the request name (NC 2 request) of the content request.

The node N 11 transfers the content request (NC 1 ?) with the content name NC 1 from the identified transfer destination port P 25 (step S 308 ). The node N 11 transfers the content request (NC 2 ?) with the content name NC 2 from the identified transfer destination port P 26 (step S 309 ).

When the server SV 1 receives the content request with the content name NC 1 , the server SV 1 acquires the content C 1 corresponding to the content name NC 1 , stores the content C 1 in a content response, and transfers the content response through the node N 12 to the node N 11 (step S 310 ). When the server SV 2 receives the content request with the content name NC 2 , the server SV 2 acquires the content C 2 corresponding to the content name NC 2 , stores the content C 2 in a content response, and transfers the content response through the node N 13 to the node N 11 (step S 311 ).

When the node N 11 receives the content response including the content C 1 corresponding to the content request (NC 1 ?), the node N 11 references a request table 66 and transfers the content response including the content C 1 to the requesting port P 24 (step S 312 ). When the node N 11 receives the content response including the content C 2 corresponding to the content request (NC 2 ?), the node N 11 references the request table 66 and transfers the content response including the content C 2 to the requesting port P 24 (step S 313 ). Incidentally, the node N 11 deletes the entries for the content requests (NC 1 ?) and (NC 2 ?) in the request table 66 .

When the edge node EN receives the content response including the content C 1 , the edge node EN references the request table 62 and transfers the content response including the content C 1 to the requesting port P 21 (step S 314 ). Furthermore, when the edge node EN receives the content response including the content C 2 , the edge node EN references the request table 62 and transfers the content response including the content C 2 to the requesting port P 21 (step S 315 ). Incidentally, the edge node EN deletes the entries for “NC 1 request” and “NC 2 request” involved in content requests in the request table 62 . As a result, the PC 3 can receive the content response including the content C 1 for the content request with the content name NC 1 and can acquire the content C 1 . The PC 3 can receive the content response including the content C 2 for the content request with the content name NC 2 and can acquire the content C 2 .

›DESCRIPTION OF EMBODIMENTS · 11 of 14

FIG. 19 is a flowchart illustrating an example of a processing operation of the processor 55 in the edge node EN involved in edge-side request transfer processing. In FIG. 19 , the request deciding unit 72 in the processor 55 in the edge node EN decides whether a content request including a keyword has been received (step S 71 ). If a content request including a keyword has been received (the decision in step S 71 is affirmative), the request converting unit 73 in the processor 55 extracts the keyword in the content request (step S 72 ).

The request converting unit 73 references the second route table 61 , identifies the content name corresponding to the keyword in the content request, and converts the content request including the keyword to a content request with a content name (step S 73 ). The request transferring unit 74 in the processor 55 references the second route table 61 and identifies the transfer destination port corresponding to the keyword and content name in the content request (step S 74 ).

The table control unit 71 in the processor 55 registers the request name in the content request with the content name, the requesting port, and the transfer destination port in the request table 62 in correspondence to one another (step S 75 ). The request transferring unit 74 requests the distributing unit 52 A to transfer the content request with the content name from the identified transfer destination port (step S 76 ) and terminates the processing operation illustrated in FIG. 19 .

If a content request including a keyword has not been received (the decision in step S 71 is negative), the request deciding unit 72 terminates the processing operation illustrated in FIG. 19 .

When the edge node EN, which executes edge-side request transfer processing illustrated in FIG. 19 , receives a content request including a keyword, the content request coming from the PC 3 , the edge node EN references the second route table 61 and identifies the content name and transfer destination port that correspond to the keyword. The edge node EN converts the content request including the keyword to a content request with a content name, and transfers the content request with the content name after the conversion to the identified transfer destination port. As a result, since the edge node EN converts a content request including a keyword, the content request coming from the PC 3 , to a content request with a content name, the edge node EN can be used for the routing of a content name on the ICN NW 2 .

FIG. 20 is a flowchart illustrating an example of a processing operation of the node N 11 involved in node-side request transfer processing. Incidentally, for convenience of explanation, the node N 11 will be exemplified. However, since the nodes N 12 and N 13 also have the same structure as the node N 11 , like constituent elements will be denoted by like reference numerals and the descriptions of duplicated constituent elements and operations will be omitted.

The node N 11 decides whether a content request with a content name has been received (step S 81 ). If a content request with a content name has been received (the decision in step S 81 is affirmative), the node N 11 extracts the content name in the content request (step S 82 ). The node N 11 references the third route table 64 and identifies the transfer destination port corresponding to the content name (step S 83 ).

The node N 11 registers the request name in the content request with the content name, the requesting port, and the transfer destination port in a request table 82 (step S 84 ). The node N 11 transfers the content request with the content name from the identified transfer destination port (step S 85 ) and terminates the processing operation illustrated in FIG. 20 . If a content request with a content name has not been received (the decision in step S 81 is negative), the node N 11 terminates the processing operation illustrated in FIG. 20 .

When the node N 11 , which executes node-side request transfer processing, receives the content request with a content name, the content request coming from the edge node EN, the node N 11 references the third route table 64 and transfers the content request to the transfer destination port corresponding to the content name. As a result, the node N 11 can transfer a content request with a content name.

In the communication system 1 B in the third embodiment, a content request including a keyword is converted to a content request with a content name in the edge node EN, and the content request with the content name after the conversion is transferred to the node N 11 . Then, the node N 11 transfers the content request with the content name to the servers SV 1 and SV 2 . As a result, the servers SV 1 and SV 2 acquire the content corresponding to the content name in the content request, store the acquired content in a content response, and transfer the content response through the node N 11 and edge node EN to the PC 3 . As a result, the user of the PC 3 can acquire content even on the ICN NW 2 through a keyword-based content search. That is, in the communication system 1 B, it is possible to achieve keyword-based content search with the structure of the existing ICN NW 2 just by changing the structure of the edge node EN, without changing the structures of the nodes N 11 , N 12 , and N 13 coupled to the existing ICN NW 2 .

In the third embodiment, neither a search server nor a DNS server is used at the time of requesting content, and the number of messages and the amount of data, the messages and data being used in communication on the ICN NW 2 , can be reduced.

In the third embodiment, it is possible to achieve the specification of a keyword and the identification and acquisition of content with a single action without the intervention of the PC 3 , and a plurality of pieces of content can be acquired with a content response in a batch.

In the third embodiment, it is possible to reduce the number of content responses messages by classifying a keyword in a content request and suppressing reception of potential duplicated content and to reduce the amount of communication by excluding reception of duplicated content.

›DESCRIPTION OF EMBODIMENTS · 12 of 14

In the third embodiment, it is possible to reduce the number of content response messages by combining a plurality of content responses and to reduce the amount of communication by excluding duplicated content.

In the third embodiment, since processing to perform classification of a content request and the combining of content responses is distributed and executed in a cascading manner. Therefore, unlike a case in which a PC executes processing in a concentrated manner as before, it is possible to achieve a large-scale batch search for content within the ICN NW 2 .

In the third embodiment, processing for content requests and content responses are distributed to different nodes, so the PC 3 does not easily become a bottleneck in processing, so improvement of scalability can be expected. In particular, when the combining policy 63 for content responses is used to perform a computation among content to obtain, for example, the maximum value, minimum value, average, or the like, the effect of scalability improvement due to the reduction of the amount of data and the distribution of processing (the combining of content responses) is large.

In the third embodiment, content names and messages in keyword advertisement are involved at the time of preparation, and when content is requested, messages for a content request and content responses are involved. That is, in the third embodiment, messages to the search server and DNS server are not used. In addition, the numbers of content requests and content responses can be reduced. At the time of preparation as well, a small relative number of messages is sufficient, so a reduction in the number of messages can be achieved.

Incidentally, in the communication system 1 B in the third embodiment described above, the numbers of PCs 3 , edge nodes EN, nodes N 11 to N 13 , servers SV 1 and SV 2 are not limited to the example illustrated in FIG. 15 ; these numbers can be appropriately changed.

Fourth Embodiment

FIG. 21 is an explanatory diagram illustrating an example of a communication system 1 C in a fourth embodiment. FIG. 22 is a timing diagram illustrating an example of a processing operation of the communication system 1 C from a content request to a content response. Incidentally, component elements that are the same as in the communication system 1 B in the third embodiment will be denoted by the same reference numerals and the descriptions of duplicated constituent elements and operations will be omitted.

The communication system 1 C illustrated in FIG. 21 has the PC 3 , an edge node EN 1 , a node N 14 , and the servers SV 1 to SV 3 . The edge node EN 1 is coupled to a line between the edge node EN 1 and the PC 3 at a port P 31 , a line between the edge node EN 1 and the server SV 1 at a port P 33 , and a line between the edge node EN 1 and the node N 14 at a port P 32 . Furthermore, the node N 14 is coupled to a line between the node N 14 and the edge node EN 1 at a port P 34 , a line between the node N 14 and the server SV 2 at a port P 35 , and a line between the node N 14 and the server SV 3 at a port P 36 .

The server SV 1 stores content C 1 including the keywords K 1 and K 2 and enables the content C 1 to be provided. The content name of the content C 1 is CN 1 . The server SV 2 stores content C 2 including the keywords K 1 and K 2 and enables the content C 2 to be provided. The content name of the content C 2 is CN 2 . The server SV 3 stores content C 3 including the keywords K 1 and K 2 and enables the content C 3 to be provided. The content name of the content C 3 is CN 3 .

The edge node EN 1 registers the content name NC 1 and keywords K 1 and K 2 , which have been received from the server SV 1 in advertisement distribution, and the transfer destination port P 33 in the second route table 61 in correspondence to one another (step S 100 A). Furthermore, the edge node EN 1 registers the content names NC 2 and NC 3 and keywords K 1 and K 2 , which have been received from the server SV 2 in advertisement distribution, and the transfer destination port P 32 in the second route table 61 in correspondence to one another. The node N 14 registers the content name NC 2 and transfer destination port P 35 in the third route table 64 in correspondence to each other, and also registers the content name NC 3 and transfer destination port P 36 therein in correspondence to each other (step S 100 B). The PC 3 of the user transfers a content request (K 1 &K 2 ?) including the keywords K 1 and K 2 to the edge node EN 1 to request it to acquire content including the keywords K 1 and K 2 (step S 101 ).

When the edge node EN 1 receives the content request including the keywords K 1 and K 2 , the edge node EN 1 extracts the keywords K 1 and K 2 in the content request. Furthermore, the edge node EN 1 references the second route table 61 and identifies the content names NC 1 , NC 2 , and NC 3 corresponding to the keywords K 1 and K 2 (step S 102 ). The edge node EN 1 converts the content request including a keyword to a content request with a content request with the content names NC 1 , NC 2 , and NC 3 (step S 103 ).

Furthermore, the edge node EN 1 references the second route table 61 and identifies the transfer destination port P 33 corresponding to the content name NC 1 , and also identifies the transfer destination port P 32 corresponding to the content names NC 2 and NC 3 (step S 104 ).

The edge node EN 1 registers “NC 1 request”, which is the request name of the content request after the conversion, the requesting port P 31 , and the transfer destination port P 33 in the request table 62 (step S 105 ). Furthermore, the edge node EN 1 registers “NC 2 request”, which is the request name of the content request after the conversion, the requesting port P 31 , and the transfer destination port P 32 in the request table 62 . Furthermore, the edge node EN 1 registers “NC 3 request”, which is the request name of the content request after the conversion, the requesting port P 31 , and the transfer destination port P 32 in the request table 62 .

›DESCRIPTION OF EMBODIMENTS · 13 of 14

Then, the edge node EN 1 transfers a content request (NC 1 ?) with the content name NC 1 from the transfer destination port P 33 (step S 106 ). As a result, the server SV 1 receives the content request with the content name NC 1 .

Furthermore, the edge node EN 1 transfers a content request (NC 2 ?) with the content name NC 2 from the transfer destination port P 32 (step S 107 ). As a result, the node N 14 receives the content request with the content name NC 2 . When the node N 14 receives the content request with the content name NC 2 , the node N 14 references the third route table 64 and identifies the transfer destination port P 35 corresponding to the content name NC 2 (step S 108 ). Furthermore, the node N 14 registers, as an entry, “NC 2 request”, which is the request name of the content request with the content name NC 2 , the requesting port P 34 , and the transfer destination port P 35 in the request table 66 (step S 109 ). The node N 14 transfers a content request with the content name NC 2 from the transfer destination port P 35 (step S 110 ). As a result, the server SV 2 receives the content request with the content name NC 2 .

Furthermore, the edge node EN 1 transfers a content request with the content name NC 3 from the transfer destination port P 32 (step S 112 ). As a result, the node N 14 receives the content request with the content name NC 3 . When the node N 14 receives the content request with the content name NC 3 , the node N 14 references the third route table 64 and identifies the transfer destination port P 36 corresponding to the content name NC 3 (step S 113 ). Furthermore, the node N 14 registers, as an entry, “NC 3 request”, which is the request name of the content request with the content name NC 3 , the requesting port P 34 , and the transfer destination port P 36 in the request table 66 (step S 114 ). Then, the node N 14 transfers a content request with the content name NC 3 from the transfer destination port P 36 (step S 115 ). As a result, the server SV 3 receives the content request with the content name NC 3 .

When the server SV 1 receives the content request with the content name NC 1 , the server SV 1 acquires the content C 1 with the content name NC 1 , stores the content C 1 in a content response, and transfers the content response to the edge node EN 1 (step S 116 ). When the server SV 2 receives the content request with the content name NC 2 , the server SV 2 acquires the content C 2 with the content name NC 2 , stores the content C 2 in a content response, and transfers the content response to the node N 14 (step S 117 ). When the node N 14 receives the content response including the content C 2 , the node N 14 references the request table 66 and identifies the requesting port P 34 corresponding to the content request with the content name C 2 (step S 118 ). The node N 14 transfers the content request including the content C 2 to the requesting port P 34 (step S 119 ). As a result, the edge node EN 1 receives the content response including the content C 2 . Furthermore, the node N 14 deletes the entry involved in the content request with the content name C 2 from the request table 66 (step S 120 ).

Furthermore, when the server SV 3 receives the content request with the content name NC 3 , the server SV 3 acquires the content C 3 with the content name NC 3 , stores the content C 3 in a content response, and transfers the content response to the node N 14 (step S 121 ).

When the node N 14 receives the content response including the content C 3 , the node N 14 references the request table 66 and identifies the requesting port P 34 corresponding to the content request with the content name C 3 (step S 122 ). The node N 14 transfers the content request including the content C 3 to the requesting port P 34 (step S 123 ). As a result, the edge node EN 1 receives the content response including the content C 3 . Furthermore, the node N 14 deletes the entry involved in the content request with the content name C 3 from the request table 66 (step S 124 ).

When the edge node EN 1 receives the content response including the content C 1 , the content response including the content C 2 , and the content response including the content C 3 , the edge node EN 1 combines the content C 1 , C 2 , and C 3 and stores the combined content in a content request (step S 125 ).

The edge node EN 1 identifies, from the request table 62 , the requesting port P 31 corresponding to content requests with the content names CN 1 , CN 2 , and CN 3 (step S 126 ). The edge node EN 1 transfers the content request including the content C 1 , C 2 , and C 3 to the requesting port P 31 (step S 127 ). As a result, the PC 3 receives the content response including the content C 1 , C 2 , and C 3 . The edge node EN 1 deletes the entries involved in the content requests with the content names CN 1 , CN 2 , and CN 3 from the request table 62 (step S 128 ). The user of the PC 3 can acquire content C 1 , C 2 , and C 3 even on the ICN NW 2 through a keyword-based content search.

Incidentally, in the third and fourth embodiments described above, all content that includes the keyword specified in a content request is collected from the servers SV 1 and SV 2 within the ICN NW 2 , after which the collected content is combined into a single content response and the combined content response is transferred to the PC 3 . If, however, the keyword is a general term, the content request is transferred infinitely within the ICN NW 2 , resulting in a huge number of pieces of content in the content response. Therefore, a limit is imposed on the number of responses (a restriction is added) to avoid this situation. For example, an upper limit of the number of pieces of content to be combined in a content response may be determined, and domains and the number of hops that are used to send content requests may be restricted within a certain range to suppress as many pieces of content as the upper limit or more pieces of content from being collected or compiled. If, for example, the number of responses for content is to be limited, this limitation may be implemented by imposing a limit on the number of content requests to be sent to the ICN NW 2 by using an edge appli in the edge node EN.

›DESCRIPTION OF EMBODIMENTS · 14 of 14

In addition, the physical layouts of the constituent elements in each unit illustrated in the drawings may not be limited as illustrated in the drawings. That is, specific forms of the distribution and integration of individual units are not limited as illustrated in the drawings; all or part of these units may be functionally or physically distributed or integrated in a desired unit, depending on various loads, the usage status, and the like.

Furthermore, all or part of processing functions executed in each apparatus may be executed in a central processing unit (CPU), a digital signal processor (DSP), a field programmable gate array (FPGA), or the like. Alternatively, all or part of these processing functions may be executed by programs interpreted and executed by the CPU or the like or by wired-logic hardware.

Areas in which to store various types of information may be formed with a read-only memory (ROM) or a random-access memory (RAM) such as a synchronous dynamic random-access memory (SDRAM), a magnetoresistive random-access memory (MRAM), or a non-volatile random-access memory (NVAM).

All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.

Claims as granted

20 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

3 codes
IPC · International Patent Classification
Section G — Physics
  • G06F16/951
  • G06F16/957
Section H — Electricity
  • H04L12/937

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJan 2017Jul 2017Jan 2018Jul 2018Jan 2019Jul 2019Jan 2020USPTOApplicantNon-final rejectionResponse after non-finalFinal rejectionNotice of allowance
USPTOApplicanthover for detail · click to open
Pendency
3.1 y
1,121 days filing → grant
Office actions
2
non-final + final
Responses
1
1 RCE
Examiner
Joshua Bullock
art unit 2153 · TC 2100
Citations: 10 back · 0 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20162018202020222024202620282030203220342036Owner 1
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock