WO2007141835A1 - 通信管理システム、通信管理方法、及び通信制御装置 - Google Patents

通信管理システム、通信管理方法、及び通信制御装置 Download PDF

Info

Publication number
WO2007141835A1
WO2007141835A1 PCT/JP2006/311130 JP2006311130W WO2007141835A1 WO 2007141835 A1 WO2007141835 A1 WO 2007141835A1 JP 2006311130 W JP2006311130 W JP 2006311130W WO 2007141835 A1 WO2007141835 A1 WO 2007141835A1
Authority
WO
WIPO (PCT)
Prior art keywords
content
communication
database
communication control
data
Prior art date
Application number
PCT/JP2006/311130
Other languages
English (en)
French (fr)
Inventor
Mitsugu Nagoya
Genta Iha
Kimie Katagiri
Original Assignee
Duaxes Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Duaxes Corporation filed Critical Duaxes Corporation
Priority to PCT/JP2006/311130 priority Critical patent/WO2007141835A1/ja
Priority to US12/302,467 priority patent/US8417677B2/en
Priority to JP2007507600A priority patent/JP4015690B1/ja
Publication of WO2007141835A1 publication Critical patent/WO2007141835A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/101Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Definitions

  • the present invention relates to a communication management technique, and in particular, a communication management system, a communication management method for managing distribution of content transmitted and received using peer “Peer to Peer (P2P)” communication, etc. And a communication control apparatus.
  • P2P peer to Peer
  • the present invention has been made in view of such circumstances, and an object thereof is to provide a technique for appropriately managing the distribution of content.
  • This communication management system is a peer ' A terminal that performs peer-to-peer communication with another node that performs two-peer communication, and the content that the terminal has received the node power is content that should control distribution
  • a content detection device that detects identification information of the content
  • a communication control device that controls transmission and reception of the content whose distribution should be controlled with reference to the detected identification information.
  • the content identification information may include a file name, a file size, or a hash value of the content.
  • the communication control device acquires a database storing content identification information detected by the content detection device and content data, and determines whether the content identification information exists in the database.
  • a search circuit for searching, and a process execution circuit for executing a process for controlling distribution of the content according to a search result of the search circuit may be included.
  • the communication management system refers to the content database in which the content detected by the content detection device and the distribution should be controlled, the content database containing IJ ⁇ blueprints, and the communication database. And a database server for updating the database of the apparatus.
  • the processing execution circuit may delete the identification information of the content.
  • the processing execution circuit may rewrite the address of the node that is the distribution source of the content with the address of a warning content server that issues a warning that the distribution of the content should be restricted.
  • the processing execution circuit Content transmission may be blocked.
  • the processing execution circuit You may replace the content with warning content that issues a warning that the distribution of that content should be restricted.
  • the communication control device may be configured by an FPGA (Field Programmable Gate Array) or a wire logic circuit.
  • FPGA Field Programmable Gate Array
  • Another aspect of the present invention relates to a communication management method.
  • a terminal that performs peer-to-peer communication with a peer-to-peer communication with other nodes and communicates with the other nodes by the above-mentioned node power.
  • the content identification information includes a step of detecting the identification information of the content, and a step of controlling transmission / reception of the content whose distribution should be controlled with reference to the detected identification information.
  • Yet another embodiment of the present invention relates to a communication control apparatus.
  • This communication control device includes a database storing content identification information of content detected as content that should be distributed among content transmitted and received between nodes performing peer-to-peer communication, and content data.
  • FIG. 1 is a diagram showing a configuration of a communication control system according to a base technology.
  • FIG. 2 is a diagram showing a configuration of a conventional communication control device.
  • FIG. 3 is a diagram showing a configuration of a communication control apparatus according to the base technology.
  • FIG. 4 is a diagram showing a configuration of a packet processing circuit.
  • FIG. 5 is a diagram illustrating a configuration of a position detection circuit.
  • FIG. 6 is a diagram showing another example of the position detection circuit.
  • FIG. 7 is a diagram showing another example of the position detection circuit.
  • FIG. 8 is a diagram showing an example of internal data of the first database.
  • FIG. 9 is a diagram showing another example of internal data of the first database.
  • FIG. 10 is a diagram showing still another example of internal data of the first database.
  • FIG. 11 is a diagram showing another example of the index circuit.
  • FIG. 14 is a diagram showing still another example of internal data of the first database.
  • FIG. 15 is a diagram showing an example of internal data of the second database.
  • FIG. 16 is a diagram showing another example of internal data of the second database.
  • ⁇ 17 It is a diagram showing another configuration example of the communication control apparatus according to the base technology.
  • FIG. 18 is a diagram illustrating a configuration of a communication control device including a plurality of communication control devices.
  • FIG. 19 is a diagram showing an example of internal data of a management table provided in the operation monitoring server.
  • FIG. 20 is a diagram for explaining an operation method when a communication control device fails.
  • FIGS. 21 (a), 21 (b), and 21 (c) are diagrams for explaining a method of updating the database of the communication control device.
  • FIG. 22 is a diagram showing a configuration of a communication path control device provided for processing a packet by a plurality of communication control devices.
  • FIG. 23 is a diagram showing a configuration of a communication management system according to the first embodiment.
  • FIG. 24 is a diagram showing another configuration example of the communication management system according to the first exemplary embodiment.
  • FIG. 25 is a diagram illustrating a configuration of a packet processing circuit according to the first embodiment.
  • FIG. 26 is a diagram showing a configuration of a communication management system according to a second embodiment.
  • FIG. 27 is a sequence diagram showing a procedure of a method for controlling distribution of inappropriate content
  • FIG. 28 is a sequence diagram showing the procedure of another method for controlling the distribution of inappropriate content.
  • FIG. 29 is a sequence diagram showing a procedure of another method for controlling the distribution of inappropriate content.
  • FIG. 30 is a diagram showing an internal configuration of a packet processing circuit for content distribution control.
  • FIG.31 is a diagram showing an example of internal data of virus list
  • Fig.31 (b) is a diagram showing an example of internal data of whitelist
  • Fig.31 (c) is a diagram showing an example of internal data of a black list.
  • FIG. 32 is a diagram showing an example of internal data of a common category list.
  • FIGS. 33 (a), (b), (c), and (d) are diagrams showing examples of internal data of the second database.
  • FIG. 34 is a diagram showing priorities of the virus list, white list, black list, and common category list.
  • 10 communication control device 20 packet processing circuit, 30 search circuit, 32 position detection circuit, 3 3 comparison circuit, 34 index circuit, 35 comparison circuit, 36 binary search circuit, 36A, 36B, 36C comparison circuit, 36Z control Circuit, 40 processing execution circuit, 50 1st data base, 57 user database, 60 2nd database, 70 decoder circuit, 72 decryption key, 100 communication control system, 110 operation monitoring server, 120 connection management server, 130 message output Server, 140 Log management server, 150 Database server, 161 Virus list, 162 White list, 163 Black list, 164 Common category list, 20 0 Communication path control device, 300 Communication management system, 310 User terminal, 320 P2P node, 322 P2P network, 330 ISP, 340 node detector, 350 P2P node, 35 2 P2P node detection network, 354 Tents detection network, 356 illegal content detection device, 360 P2P node database, 362 illegal content database, 364 warning content sano, 390 Internet.
  • FIG. 1 shows the configuration of the communication control system related to the prerequisite technology.
  • the communication control system 100 includes a communication control device 10 and various peripheral devices provided to support the operation of the communication control device 10.
  • the base technology communication control device 10 implements a packet filtering function provided by an Internet service provider or the like.
  • the communication control device 10 provided in the network path acquires a packet transmitted / received via the network, analyzes the content, and determines whether communication is permitted. If communication is permitted, the communication control device 10 sends the packet to the network. When communication is prohibited, the communication control device 10 discards the packet and returns a warning message or the like to the transmission source if necessary.
  • communication control device 10 are provided and function as a single communication control device 10 .
  • individual communication control devices 10a, 10b, 10c,. are also referred to as communication control device 10 without distinction.
  • each communication control device 10 divides and holds at least a part of a database necessary for bucket processing, but divides and holds the database. At least one more than the number required for the installation. For example, if the number of data is 300,000 or more and less than 400,000, the number of communication control devices required for operation is four.
  • One or more communication control devices 10 are provided, and at least five communication control devices 10 in total are provided for standby for updating the database included in the communication control device 10. Conventionally, it was necessary to duplicate the entire system for fault tolerance, but according to the technology of this prerequisite technology, it is only necessary to provide an additional communication control device 10 in divided units. Can be reduced.
  • the operation status of the plurality of communication control devices 10a, 10b, 10c,... Is managed by the operation monitoring server 110. Book The operation monitoring server 110 of the base technology has a management table for managing the operation status of the communication control device.
  • the peripheral devices include an operation monitoring server 110, a connection management server 120, a message output server 130, a log management server 140, and a database server 150.
  • the connection management server 120 manages connections to the communication control device 10. For example, the connection management server 120 uses the information that uniquely identifies the mobile phone terminal included in the packet when the communication control device 10 processes the packet that has also been sent with the mobile phone terminal power. Authenticate that the user can enjoy 100 services. Once authenticated, the packet that has also been sent the IP address temporarily attached to the mobile phone terminal is sent to the communication control device 10 for processing for a certain period of time without being authenticated by the connection management server 120. .
  • the message output server 130 outputs a message to the transmission destination or transmission source of the packet according to the result of communication permission / rejection determined by the communication control device 10.
  • the log management server 140 manages the operation history of the communication control device 10.
  • the database server 150 acquires the latest database from the outside and inputs it to the communication control device 10. In order to update the database without stopping the operation of the communication control device 10, the communication control device 10 may have a backup database.
  • the operation monitoring server 110 monitors the operation status of peripheral devices such as the communication control device 10, the connection management server 120, the message output server 130, the log management server 140, and the database server 150.
  • the operation monitoring server 110 performs monitoring control of the communication control device 10 having the highest priority in the communication control system 100 and all peripheral devices.
  • the communication control device 10 is configured by a dedicated hardware circuit.
  • the operation monitoring server 110 uses a boundary scan circuit using a technology such as Japanese Patent No. 3041340 by the applicant. By inputting / outputting monitoring data to / from the communication control device 10 or the like, the operation status can be monitored even while the communication control device 10 is in operation.
  • the communication control system 100 of the base technology has various functions connected to the periphery of the communication control device 10 configured by a dedicated hardware circuit for high-speed operation, as described below.
  • various functions can be realized by a similar configuration by appropriately replacing the software of the server group. According to the base technology, such a highly flexible communication control system can be provided.
  • FIG. 2 shows a configuration of a conventional communication control device 1.
  • the conventional communication control apparatus 1 includes a communication control unit 2 on the reception side, a packet processing unit 3, and a communication control unit 4 on the transmission side.
  • Each of the communication control units 2 and 4 includes PHY processing units 5a and 5b that perform processing on the physical layer of the packet, and MAC processing units 6a and 6b that perform processing on the MAC layer of the packet.
  • the packet processing unit 3 includes a protocol processing unit that performs processing according to a protocol, such as an IP processing unit 7 that performs IP (Internet Protocol) protocol processing and a TCP processing unit 8 that performs TCP (Transport Control Protocol) protocol processing.
  • an AP processing unit 9 that performs application layer processing.
  • the AP processing unit 9 executes processing such as filtering according to data included in the packet.
  • the packet processing unit 3 is realized by software using a CPU that is a general-purpose processor and an OS that runs on a CPU.
  • the performance of the communication control device 1 depends on the performance of the CPU, and even if it is intended to realize a communication control device capable of processing large-capacity packets at high speed, it is naturally limited. There is. For example, with a 64-bit CPU, the maximum amount of data that can be processed simultaneously at one time is 64 bits, and there was no communication control device with higher performance.
  • maintenance work such as OS version upgrades that would never have the possibility of security holes was required.
  • FIG. 3 shows a configuration of the communication control apparatus according to the base technology.
  • the communication control device 10 of this base technology replaces the packet processing unit realized by software including the CPU and OS in the conventional communication control device with a packet configured by dedicated hardware using a wired logic circuit.
  • a processing circuit 20 is provided.
  • the data included in the packet When searching for whether or not reference data that is a criterion for filtering is included, when comparing communication data and reference data using a CPU, only 64 bits can be compared at a time. There was a problem that even if it tried to improve the speed, it reached the peak in CPU performance. The CPU needs to repeat the process of reading 64 bits from the communication data into the memory, comparing it with the reference data, and then reading the next 64 bits into the memory. The reading time is limited, and the processing speed is limited.
  • a dedicated hardware circuit configured by a wired logic circuit is provided to compare communication data and reference data.
  • This circuit includes a plurality of comparators provided in parallel to enable comparison of data lengths longer than 64 bits, eg, data lengths of 1024 bits.
  • the communication control device 1 using a conventional CPU can process 1024 bits at a time instead of processing only 64 bits at a time, and the processing speed can be dramatically improved.
  • Increasing the number of comparators improves processing performance, but also increases cost and size, so it is only necessary to design an optimal hardware circuit in consideration of desired processing performance, cost, size, etc. .
  • the communication control apparatus 10 of the base technology is configured by dedicated hardware using a wired logic circuit, and therefore does not require an OS (Operating System). For this reason, it is possible to reduce costs and man-hours for management and maintenance that require operations such as OS installation, bug handling, and version upgrade.
  • OS Operating System
  • CPUs that require general-purpose functions they do not include unnecessary functions, so you can reduce costs without using extra resources, reduce circuit area, and increase processing speed. .
  • unlike conventional communication control devices that use an OS it does not have an extra function, so it is unlikely that a security hole will occur, and is resistant to attacks from malicious third parties via the network. Excellent resistance.
  • the conventional communication control device 1 processes a packet by software premised on the CPU and the OS, receives all the data of the packet, performs power protocol processing, and stores the data. Passed to the pre-cation.
  • the communication control apparatus 10 of the base technology since processing is performed by a dedicated hardware circuit, it is not necessary to start processing after receiving all the data of the packet. In this way, the process can be started at any time without waiting for the subsequent data to be received. For example, position detection processing in a position detection circuit described later can be started when position specifying data for specifying the position of comparison target data is received. As described above, since various processes can be executed in a floating manner without waiting for reception of all data, the time required to process packet data can be shortened.
  • FIG. 4 shows the internal configuration of the packet processing circuit.
  • the packet processing circuit 20 includes first databases 50A, 50B, and 50C that store reference data serving as a reference for determining the contents of processing to be performed on communication data (collectively, “first database 50”). ) And a search circuit 30 for searching whether the received communication data includes the reference data by comparing the communication data with the reference data, and the search result by the search circuit 30 and the communication data.
  • a second database 60 for storing the contents of processing to be executed in association with each other, and a processing execution circuit for processing communication data based on the search results by the search circuit 30 and the conditions stored in the second database 60 Including 40.
  • the search circuit 30 divides the reference data stored in the first database 50 into three or more ranges, the position detection circuit 32 for detecting the position of the comparison target data to be compared with the reference data from the communication data Index circuit 34, which is an example of a determination circuit that determines to which of the ranges the comparison target data belongs, and a binary search that searches for reference data that matches the comparison target data within the determined range Circuit 36.
  • Any search technique can be used as a method for searching the comparison target data from the reference data, but the binary search method is used in this prerequisite technique.
  • this base technology uses an improved binary search method, so three first databases 50 are provided for this purpose.
  • the same reference data is stored in the first databases 50A, 50B, and 50C.
  • FIG. 5 shows an internal configuration of the position detection circuit.
  • the position detection circuit 32 has a plurality of ratios for comparing the position specifying data for specifying the position of the comparison target data and the communication data. Comparing circuits 33a to 33f are included. Here, six comparison circuits 33a to 33f are provided, but as will be described later, the number of comparison circuits may be arbitrary. Communication data is input to each of the comparison circuits 33a to 33f with a predetermined data length, for example, shifted by 1 byte. In the plurality of comparison circuits 33a to 33f, the position specifying data to be detected and the communication data are compared in parallel at the same time.
  • the character string “No. # # #” included in the communication data is detected and included in the character string.
  • the number “# # #” is compared with the reference data. If the data matches the reference data, the packet is allowed to pass. If it does not match, the packet is discarded. Light up.
  • the comparison circuit 33c matches, and it is detected that the character string “No.” exists as the third character from the top of the communication data. In this way, it is detected that numerical data as comparison target data exists after the position specifying data “No.” detected by the position detection circuit 32.
  • the position detection circuit 32 may be used as a circuit for detecting a character string for general purposes, not only for detecting position specifying data. It may also be configured to detect position specific data in bit units, not just character strings.
  • FIG. 6 shows another example of the position detection circuit.
  • predetermined data such as “ Padding such as “OOH” or “01H”.
  • the communication data to be compared with the position specifying data only the same data length as the position specifying data is extracted, and then the same data as the data padded to the position specifying data is padded.
  • the communication data may be copied as a work, and the copied data may be checked and input to the comparison circuits 33a to 33f.
  • the position detection circuit 32 can be used for general purposes regardless of the data length of the position specifying data.
  • FIG. 7 shows still another example of the position detection circuit.
  • the power for padding predetermined data after the position specifying data.
  • This data is treated as a field card.
  • the comparison circuits 33a to 33f determine that the data to be compared matches unconditionally.
  • the position detection circuit 32 can be used for general purposes regardless of the data length of the position specifying data.
  • FIG. 8 shows an example of internal data of the first database.
  • reference data used as criteria for determining processing contents such as knot filtering, routing, switching, and replacement is sorted and stored in ascending or descending order according to some sort condition. Yes.
  • 1000 reference data are stored.
  • the index circuit 34 determines to which of these ranges the comparison target data belongs. In the example of FIG. 8, 1000 pieces of reference data are divided into four ranges 52a to 52d, each having 250 pieces.
  • the index circuit 34 includes a plurality of comparison circuits 35a to 35c that compare the reference data at the boundary of the range with the comparison target data. Comparison circuit 35a-3 By comparing the comparison target data with the boundary reference data in parallel in 5c, it is possible to determine which range the comparison target data belongs to by one comparison process.
  • the boundary reference data input to the comparison circuits 35a to 35c of the index circuit 34 may be set by a device provided outside the communication control device 10, or may be set in advance in the first database 50.
  • the reference data for the position may be entered automatically! In the latter case, even if the first database 50 is updated, the reference data at a predetermined position in the first database 50 is automatically input to the comparison circuits 35a to 35c. Processing can be executed.
  • the binary search circuit 36 executes a search by the binary search method.
  • the binary search circuit 36 further divides the range determined by the index circuit 34 into 2 n pieces, and compares the reference data at the boundary position with the comparison target data to determine which range it belongs to .
  • the binary search circuit 36 includes a plurality of comparators for comparing the reference data and the comparison target data in bit units, for example, 1024 in the base technology, and simultaneously executes 1024-bit bit matching.
  • the range is further divided into 2n, and the reference data at the boundary position is read out and compared with the comparison target data. Thereafter, this process is repeated to further limit the range, and finally, reference data that matches the comparison target data is searched.
  • the comparison circuit 35a to 35c of the index circuit 34 receives "361" as comparison target data, and the reference data “378" at the boundary between the ranges 52a and 52b is input to the comparison circuit 35a as reference data.
  • the reference data “937” at the boundary between the ranges 52b and 52c is input to the reference data “937” at the boundary between the ranges 52c and 52d, respectively.
  • Comparison circuit 35a-35c Are simultaneously compared, and it is determined that the comparison target data “361” belongs to the range 52a. Thereafter, the binary search circuit 36 searches whether or not the comparison target data “361” exists in the reference data.
  • FIG. 9 shows another example of internal data of the first database.
  • the number of reference data is less than the number of data that can be held in the first database 50, here 1000.
  • the first database 50 stores the reference data in descending order from the last data position.
  • 0 is stored in the remaining data.
  • the search time for binary search can be made constant.
  • the binary search circuit 36 is self-explanatory, so the range can be specified without comparison and the next comparison can be made. it can. This can improve the search speed.
  • the reference data when the reference data is stored in the first database 50, the reference data is stored in ascending order of the first data position.
  • the comparison process as described above cannot be omitted in the remaining data.
  • the comparison technique described above is realized by configuring the search circuit 30 with a dedicated hardware circuit.
  • FIG. 10 shows still another example of internal data of the first database.
  • the number of reference data belonging to the range is not uniform, such as 500 for the range 52a and 100 for the range 52b, which do not divide the reference data evenly into three or more ranges. ing .
  • These ranges may be set according to the distribution of the appearance frequency of the reference data in the communication data. That is, the ranges may be set so that the sum of the appearance frequencies of the reference data belonging to the respective ranges is substantially the same. This can improve the search efficiency.
  • the reference data input to the comparison circuits 35a to 35c of the index circuit 34 may be changeable from the outside. As a result, the range can be set dynamically and the search efficiency can be optimized.
  • FIG. 11 shows another example of the index circuit.
  • the index circuit 34 uses three comparison circuits 35a to 35c to determine which of the four ranges 52a to 52d of the first data base 50 belongs to. Determined force
  • the indentus circuit 34 is provided with four comparison circuits 35d to 35g for determining whether the comparison target data is included in each of the four ranges 52a to 52d.
  • the comparison circuit 35d receives the 0th reference data, the 250th reference data, and the comparison target data in the first database 50, and compares each reference data with the comparison target data. Thus, it is determined whether or not the reference data is included in the range 52a.
  • the comparison results of .about.35g are input to the determination circuit 35z, and the determination circuit 35z outputs in which range the reference data is included.
  • the comparison circuits 35d to 35g may output whether or not the force is included between the two reference data to which the reference data is input, or may be larger than, included in the range, or smaller than the range. Either of them may be output. If it is determined that the comparison target data is not included in any of the ranges 52a to 52d, it is determined that the comparison target data does not exist in the first database 50. Therefore, until the subsequent binary search is performed. The search can be terminated.
  • FIG. 12 shows a configuration of a comparison circuit included in the binary search circuit.
  • the comparison circuit included in the binary search circuit 36 includes 1024 comparators 36a, 36b,. In each of the comparators 36a, 36b,..., The reference data 54 and the comparison target data 56 are input one bit at a time, and their magnitudes are compared.
  • the internal configurations of the comparison circuits 35a to 35c of the index circuit 34 are also the same. In this way, by executing the comparison process with a dedicated hardware circuit, a large number of comparison circuits can be operated in parallel and a large number of bits can be compared simultaneously, so that the comparison process can be performed at high speed. it can.
  • FIG. 13 shows the configuration of the binary search circuit.
  • the Neua Research circuit 36 includes the comparison circuits 36A, 36B, and 36C including the 1024 comparators 36a, 36b,... Shown in FIG. 12, and the control circuit 36Z that controls these comparison circuits. .
  • the conventional binary search method first, data at the position 1Z2 in the search target range of the database in which the data is arranged in ascending or descending order is read and compared with the comparison target data. If the data is arranged in ascending order, the comparison data is smaller If so, the comparison target data exists in the first half of the search target range, so the second time, the first half is used as the search target range, and the data at the 1Z4 position of the first search target range is read out and compared with the comparison target data. To do. Conversely, if the comparison target data is larger, the comparison target data exists in the second half of the search target range. Therefore, the second half of the search target range is the 1Z2, that is, the position of 3Z4 in the first search target range. Read some data and compare with the data to be compared. In this way, the search target range is narrowed by half and finally reaches the target data.
  • the data at position 1Z2 in the search target range is compared with the comparison target data for the first search.
  • the comparison target data and the data at the positions 1Z4 and 3Z4 in the search target range are compared for the second search.
  • two searches can be performed at a time, so the time required to read out the database data can be reduced.
  • the number of comparisons can be reduced to half and the time required for the search can be shortened.
  • three comparison circuits are provided in order to perform two searches simultaneously.
  • 2 n ⁇ 1 One comparison circuit may be provided.
  • the control circuit 36Z inputs the data at the position of lZ2 n , 2/2 ⁇ ⁇ , (2 n — l) Z2 n in the search target range to each of the 2 n — one comparison circuit, and Are simultaneously operated in parallel and compared with the data to be compared.
  • the control circuit 36Z obtains the comparison results of the respective comparison circuits and determines whether comparison target data has been searched.
  • the control circuit 36Z determines that the comparison target data has been searched, and ends the Neuer research. If no match signal is output, the next search is performed. If the data to be compared exists in the database, it should be within the range where the comparison result of 2 n — one comparison circuit is inverted. For example, when 15 comparison circuits are provided, the data at the 5Z16 position is smaller than the comparison target data.If the data at the 6Z16 position is larger than the comparison target data, the 5 Z16 force also falls within the range between 6Z16. There is data to be compared. Therefore, the control circuit 36Z acquires the comparison result of each comparison circuit, and the range in which the comparison result is inverted is searched for next time. The range is determined, and the data at the position of lZ2 n , 2/2 ⁇ ⁇ , (2 n -l) / 2 n of the determined next search target range is input to the respective comparison circuits.
  • the first database 50A is connected to the comparison circuit 36A and supplies the data at the position 1Z4 in the search target range to the comparison circuit 36A.
  • the second database 50B is connected to the comparison circuit 36B to supply the data at the position 2Z4 in the search target range to the comparison circuit 36B, and the first database 50C is connected to the comparison circuit 36C at the position 3Z4 in the search target range.
  • Some data is supplied to the comparison circuit 36C. As a result, data can be simultaneously read out in parallel to the respective comparison circuits, so that the time required for reading data can be further shortened and the binary search can be performed at high speed.
  • the search speed increases as the number of comparison circuits increases, it is sufficient to provide a sufficient number of comparison circuits to obtain a desired search speed in consideration of cost, size, and the like. It is preferable to have as many first databases as the number of comparison circuits, but considering the cost, size, etc., V, and some comparison circuits may share the database.
  • FIG. 14 shows still another example of internal data of the first database.
  • the first database 50 shown in FIG. 14 stores URLs of contents to be filtered.
  • the data stored in the first database 50 may include predetermined data recognized as a wild card, for example, “OOH” or “01H”.
  • “http: //www.xx.xx/********* J is recognized as“******* ”force S Wino Red card.
  • Comparators 36a, 36b, ⁇ are determined to match regardless of the comparison target data. Therefore, all character strings starting with" http: ⁇ www.xx.xx / "are processed by the binary search circuit 36. Detected. As a result, for example, it is possible to easily perform processing for filtering all the contents under the domain “http: ⁇ www.xx.xx /”.
  • FIG. 15 shows an example of internal data in the second database.
  • the second database 60 includes a search result column 62 for storing the search result by the search circuit 30 and a processing content column 64 for storing the content of processing to be executed on communication data.
  • a search result column 62 for storing the search result by the search circuit 30
  • a processing content column 64 for storing the content of processing to be executed on communication data.
  • the processing execution circuit 40 searches the second database 60 based on the search result, and executes processing on the communication data.
  • the processing execution circuit 40 may also be realized by a wired logic circuit.
  • FIG. 16 shows another example of internal data of the second database.
  • the processing content is set for each reference data.
  • information about the route may be stored in the second database 60.
  • the process execution circuit 40 executes processes such as filtering, routing, switching, and replacement stored in the second database 60 according to the search result by the search circuit 30.
  • the first database 50 and the second database 60 may be integrated.
  • the first database and the second database are provided to be rewritable by an external force. By exchanging these databases, various data processing and communication control can be realized using the same communication control device 10. It is also possible to set up two or more databases that store the reference data to be searched and perform multi-step search processing! At this time, more complicated conditional branches may be realized by providing two or more databases that store search results and processing contents in association with each other. In this way, if multiple databases are used to perform multi-stage searches, multiple position detection circuits 32, index circuits 34, binary search circuits 36, etc. may be provided.
  • Data used for the comparison described above may be compressed by the same compression logic.
  • the same comparison as usual is possible.
  • the amount of data to be loaded at the time of comparison can be reduced. If the amount of data to be loaded is reduced, the time required to read data from the memory is shortened, so the overall processing time can be shortened.
  • the amount of the comparator can be reduced, it is possible to contribute to the downsizing, weight saving, and cost reduction of the apparatus.
  • the data used for the comparison may be stored in a compressed format, or may be compressed after being read from the memory and before the comparison.
  • FIG. 17 shows another configuration example of the communication control apparatus of the base technology.
  • Communication control shown in this figure The device 10 has two communication control units 12 having the same configuration as the communication control device 10 shown in FIG.
  • a switching control unit 14 for controlling the operation of each communication control unit 12 is provided.
  • Each communication control unit 12 has two input / output interfaces 16 and is connected to two networks on the upstream side and the downstream side via the respective input / output interfaces 16.
  • the communication control unit 12 inputs communication data from either one of the network powers and outputs the processed data to the other network.
  • the switching control unit 14 switches the direction of communication data flow in the communication control unit 12 by switching input / output of the input / output interface 16 provided in each communication control unit 12. As a result, bidirectional communication control is possible, not just in one direction.
  • the switching control unit 14 may control so that one of the communication control units 12 processes an inbound packet and the other processes an outbound packet, or controls both to process an inbound packet.
  • both parties may control to process outbound packets.
  • the direction of communication to be controlled can be made variable according to the traffic status and purpose.
  • the switching control unit 14 may acquire the operation status of each communication control unit 12, and may switch the direction of communication control according to the operation status. For example, when one communication control unit 12 is in a standby state and the other communication control unit 12 is operating, when it is detected that the communication control unit 12 has stopped due to a failure or the like, it is on standby as an alternative. The communication control unit 12 may be operated. As a result, the fault tolerance of the communication control device 10 can be improved. Further, when maintenance such as database update is performed on one communication control unit 12, the other communication control unit 12 may be operated as an alternative. Thereby, it is possible to appropriately perform maintenance without stopping the operation of the communication control device 10.
  • Three or more communication control units 12 may be provided in the communication control apparatus 10.
  • the switching control unit 14 acquires the traffic state, and controls the communication direction of each communication control unit 12 so that more communication control units 12 are allocated to the communication control process in the direction with a large amount of communication. May be. As a result, even if the amount of communication in a certain direction increases, the communication speed remains low. The bottom can be minimized.
  • FIG. 18 shows a configuration of the communication control device 10 including a plurality of communication control devices 10a, 10b, 10c,. Since the first database 50 requires a large capacity in proportion to the number of data, the first database 50 is divided and held in the communication control devices 10a, 10b, 10c,. As will be described later, in the communication control system 100 of the base technology, the communication packet to be processed is supplied to all the communication control devices 10a, 10b, 10c,. 10 processes the received packet.
  • the communication control device 10a has a data ID power of 00000 1 to force "100000”
  • the communication control device 10b has a data ID of "100001” to "20000 0”
  • the communication control device 10c has a data ID of " Data from 200001 “to” 300000 "is held, and packets are processed by referring to the data held by each.
  • FIG. 19 shows an example of internal data of the management table 111 provided in the operation monitoring server 110.
  • the management table 111 is provided with a device ID column 112, an operation status column 113, and a data ID column 114.
  • the device ID column 112 stores the device IDs of the communication control devices 10a, 10b, ...
  • the operation status column 113 stores the operation status of the communication control device
  • the data ID column 114 stores Stores the range of data IDs to be handled by the communication control device.
  • the operation status includes, for example, “in operation”, “standby”, “failure”, “data updating”, and the like.
  • the operation status column 113 is updated by the operation monitoring server 110 every time the operation status of the communication control devices 10a, 10b,. In the example shown in FIG. 19, since “465183” data is stored in the first database 50, five communication control devices 10 with device IDs “1” to “5” are in operation. Communication controller 10 of “6” is in the standby state.
  • the operation monitoring server 110 monitors the operation status of the plurality of communication control devices 10, and detects that any communication control device 10 has become inoperable due to a problem. In such a case, the same data as the communication control device 10 whose operation has been stopped is stored in the communication control device 10 in the standby state, and the operation is switched to the communication control device 10. For example, as shown in FIG. 20, when the communication control device 10 with the device ID “2” is stopped due to a failure, the communication control device 10 with the device ID “6” in the standby state has the data ID “10000 1”. Store data of ⁇ 200000 "and start operation. This will cause some trouble Even if the communication control device 10 is stopped, the operation can be appropriately continued. Either one of the data may be stored in advance in the standby communication control device 10 and may be set in the hot standby state or in the cold standby state.
  • the database server 150 acquires and holds the latest database from an external database at a predetermined timing.
  • the operation monitoring server 110 transfers and stores data from the database server 150 to the communication control device 10 in order to reflect the latest database held in the database server 150 to the communication control device 10 at a predetermined timing. .
  • FIGS. 21 (a), 21 (b), and 21 (c) are diagrams for explaining how the database is updated.
  • Fig. 21 (a) as in Fig. 19, the communication control devices 10 with device IDs "1" to "5" are in operation, and the communication control device 10 with device ID "6" is in stand-alone. Indicates a situation.
  • the operation monitoring server 110 identifies the communication control device 10 that is currently in the stand-by state, and instructs the database server 150 to store data in the communication control device 10. To do.
  • the operation monitoring server 110 changes the operation status column 113 of the device ID “6” to “data updating in progress”.
  • FIG. 21B shows a situation where the database of the communication control apparatus 10 is being updated.
  • the database server 150 stores the data handled by any of the operating communication control devices 10 in the first database 50 of the communication control device 10 with the device ID “6” that was in standby.
  • the data of the data ID “000001 to 100,000”, which was assigned to the communication control device 10 of the device ID “1”, is stored in the communication control device 10 of the device ID “6”. Yes.
  • FIG. 21 (c) shows a situation in which the database of the communication control device 10 with the device ID “6” is updated and the operation is started, and the communication control device 10 with the device ID “1” is in a standby state instead.
  • the operation monitoring server 110 finishes storing data to the communication control device 10 with the device ID “6”
  • the operation monitoring server 110 holds the updated database with the communication control device 10 with the device ID “6”.
  • the operation of the communication control device 10 with the device ID “1” that holds the database before update is stopped and placed in the standby state. As a result, the operation is switched to the communication control apparatus 10 whose database has been updated.
  • the communication control device 10 with the device ID “1” is started to operate, and the device ID “2” is started.
  • the operation of the communication control device 10 is stopped.
  • the data stored in each communication control device 10 is not fixed. It changes by. If a process for determining whether the user data exists in any communication control apparatus 10 before sending a packet to each communication control apparatus 10, an extra time is required for the process. Therefore, in the present embodiment, the received packet is supplied to all the communication control devices 10, and each communication control device 10 processes the packet.
  • a technique for realizing such a mechanism will be described.
  • FIG. 22 shows a configuration of a communication path control device provided for processing a packet by a plurality of communication control devices 10.
  • the communication path control device 200 includes a switch 210, an optical splitter 220, which is an example of a data supply unit, and a switch 230.
  • the switch 210 transmits the received packet to the communication control device 10.
  • an optical splitter 220 for supplying packets to the plurality of communication control devices 10a, 10b, and 10c in parallel is provided.
  • the packet is transmitted to the optical splitter 220, and the optical splitter 220 transmits the packet to each communication control device in parallel.
  • each communication control device is set to a promiscuous mode in which all packets are received regardless of the destination MAC address in a mode in which only the packet addressed to the MAC address of the own device is received.
  • each communication control device receives a parallel-cast packet from the optical splitter 220, it omits the MAC address matching process and acquires and processes all packets.
  • the communication control device 10c transmits a response packet to the switch 210 without going through the optical splitter 220 when returning a packet to the transmission source, such as when communication is prohibited. If the communication is permitted as a result of processing the packet, the communication control device 10c sends the packet to the network.
  • a switch 230 for aggregating packets sent from the plurality of communication control devices 10a, 10b, 10c is provided between the communication control device 10 and the upstream communication line. Actually sends the packet to the switch 230, and the switch 230 sends the packet to the upstream communication line.
  • the switch 230 When the switch 230 receives a packet whose destination power is also returned, if the returned packet does not require processing by the communication control device 10, the switch 232 force switch 210 Sent to port 212 and sent from switch 210 to the source. Normally, on the Internet, the route at the time of transmission is recorded in the packet in order to secure a return route so that the response packet to the packet is surely returned to the sender.
  • a return route is prepared in advance in communication route control device 200, communication between devices is performed without recording the route, that is, without processing a packet. Thereby, useless processing can be omitted and the processing speed can be improved.
  • the packet is processed only when the packet transmitted from the transmission source is transmitted to the transmission destination, and the response packet transmitted from the transmission destination to the transmission source is passed without being processed.
  • the communication control apparatus 10 may be configured to process packets in both directions.
  • the optical splitter 220 may be provided on both sides of the communication control device 10. Further, the bypass path from the switch 230 to the switch 210 may not be provided.
  • the processing is performed by parallel casting the same packet to all the communication control devices.
  • the communication control apparatus to be processed can appropriately process the packet.
  • these communication control devices receive and process or discard all packets that are cast in parallel from the communication path control device 200, so that a device can be uniquely identified on the Internet. There is no need to assign an IP address.
  • the communication control device of this embodiment is a malicious third party via the Internet. Since power cannot be attacked directly, communication control can be performed safely.
  • FIG. 23 shows the configuration of the communication management system according to the first embodiment.
  • the communication management system 300 manages P2P communication such as blocking or subordinate inappropriate communication between the P2P nodes 320 using the communication control system 100 having a function such as packet filtering.
  • the user terminal 310 such as a personal computer is usually an Internet service provider (hereinafter referred to as "ISP") via a public telephone network, a mobile phone network, a LAN, a WAN, or the like (not shown).
  • ISP Internet service provider
  • P2P nodes 320 that are executing P2P applications such as file sharing software are P2P connected to each other to form a P2P network 322.
  • the “P2P node 320” includes a server that provides a file search function in a file sharing application or a device that acts as a host.
  • the server client model information is stored in the server, and the client obtains information by connecting to the server via the Internet. If illegal content flows are detected, It is only necessary to detect and stop the server that provides the content. However, in the P2P network 322, since direct communication is performed between the P2P nodes 320, it is difficult to detect illegal content distribution, and even if it is detected, any P2P node 320 is the source. It becomes difficult to identify what is.
  • the P2P network 322 is not provided with a file search server for file sharing.
  • the P2P node 320 directly asks whether there is a file between the P2P nodes 320. If it increases, communication will increase at an accelerated rate and the network May be congested and affect other user terminals 310 that use the ISP 330.
  • the P2P node 320 communicates directly with other P2P nodes 320, so it is vulnerable to attacks by malicious P2P nodes 320 and becomes a hotbed for the spread of viruses. ing. Users who are unaware or uninterested in computer security use a file sharing application to become infected with viruses and leak important information.
  • communication control system 100 described in the base technology is provided between user terminal 310 and P2P node 320 of P2P network 322.
  • a P2P node detection network 352 for detecting the IP address of the P2P node 320 is provided, and the communication control system 100 is notified of identification information such as the IP address of the P2P node 320 detected by the node detection device 340. Used to detect communication with the P2P node 320.
  • the communication control system 100 may be provided at an arbitrary position on the network.
  • FIG. 23 shows an example in which the ISP 330 provides the communication control system 100.
  • Most P2P nodes 320 are connected to the Internet 390 via V, some of the ISP 330! /, So if each ISP 330 installs the communication control system 100, P2P communication can be managed more appropriately. Can do.
  • the P2P node 350 is connected to the Internet 390 via the layer 2 switch 344 and the router 342, and executes a P2P application to communicate with the P2P node 320 through a P2P connection.
  • the node detection device 340 is provided between the P2P node 350 and the P2P network 322, acquires and analyzes a communication packet between the P2P node 350 and the P2P node 320 of the P2P network 322, and determines the IP address of the P2P node 320. Detects identification information such as TCP or UDP port numbers.
  • the node detection device 340 records communication partners by applications other than the P2P application of the P2P node 350 such as inquiries to DNS.
  • the node detection device 340 is a force layer 2 transmission type that analyzes a packet transmitted and received by the P2P node 350, and transmits the packet without filtering. Further, the node detection device 340 shown in FIG. 23 can be implemented as a router type device in addition to the layer 2 transparent type configuration. In this case, the node detection device 340 performs the operation of detecting and recording the other party of communication by the P2P application, although the power is routed like a normal router type device.
  • the IP address and TC PZUDP port number of the P2P node 320 detected by the node detection device 340 are registered in the P2P node database 360. As described in the base technology, the data registered in the P2P node database 360 is reflected in the first database 50 of the communication control device 10 by the database server 150 of the communication control system 100 at a predetermined timing.
  • the communication control device 10 registers the IP address and TCPZUDP port number of the transmission source or transmission destination of the packet passing through the ISP 330 30 in the first database 50 by the index circuit 34 and the binary search circuit 36. Search whether or not. If it is registered in the first database 50, it is a packet of P2P communication by the P2P node 320. Therefore, the processing execution circuit 40 discards the packet and interrupts P2P communication or delays packet transmission. It is inferior compared to other communications. If it is registered in the first database 50, otherwise it is not P2P communication, the processing execution circuit 40 sends the packet to the network without discarding it. As a result, P2P communication can be detected and regulated.
  • the node detection device 340 detects and collects the IP address and TCPZUDP port number of the P2P node 320. If P2P communication uses a different protocol, the node detection device 340 matches the protocol. The identification information of the P2P node 320 capable of detecting P2P communication may be collected.
  • the node detection device 340 detects the IP address and the TCPZUDP port number and registers them in the P 2P node database 360. Therefore, by shortening the interval at which the P2P node database 360 is reflected in the communication control system 100, the P2P node 320 can newly appear and the P2P communication of the P2P node 320 can be restricted in a short time. [0095] V, simply P2P node 320 registered in the P2P node database 360 after P2P communication is deleted from the P2P node database 360 if it has not been in P2P communication for a long time Good.
  • the IP is stored in the P2P node database 360. Since the address and port number are registered, communication is restricted even though it is not P2P communication. Therefore, the last detection date / time may be recorded in the P2P node database 360, and the information of the P2P node 320 whose final detection date / time power has passed a predetermined period may be deleted from the P2P node database 360.
  • this user terminal 310 starts P2P communication again, it is detected by the node detection device 340 and registered again in the P2P node database 360, and P2P communication with that node is blocked or subordinated.
  • FIG. 24 shows another configuration example of the communication management system.
  • the communication management system 300 shown in FIG. 24 differs from the communication management system 300 shown in FIG. 23 in the configuration of the network 352 for P2P node detection.
  • the node detection device 340 is connected to the subsequent stage of the layer 2 switch 344 between the router 342 and the layer 2 switch 344.
  • all the packets passing through the layer 2 switch 344 are duplicated and sent to the node detection device 340.
  • the node detection device 340 analyzes the acquired packet, collects the identification information of the P2P node 320, and discards the packet.
  • Other configurations and operations are the same as those of the communication management system 300 shown in FIG.
  • FIG. 25 shows a configuration of the packet processing circuit 20 of the present embodiment.
  • the packet processing circuit 20 further includes a decoder circuit 70 and a decryption key 72 in addition to the configuration of the base technology packet processing circuit 20 shown in FIG.
  • Protocols used by P2P applications often include characteristic character strings. For example, when identification information such as the name of a P2P application is set in the header of a TCP packet, it can be determined whether or not the packet is a P2P communication packet by detecting the character string. Therefore, in the present embodiment, the position detection circuit 32 described in the base technology is used to detect a character string peculiar to P2P communication included in the packet and determine whether or not the power is P2P communication. Includes character strings specific to P2P communication The packet is discarded or subordinated by the processing execution circuit 40 until it is checked against the first database 50 by the index circuit 34 and the binary search circuit 36. This enables efficient P2P communication detection and filtering.
  • communication data may be encrypted and transmitted / received.
  • the decoder circuit 70 decrypts the communication data of the acquired packet with the decryption key 72 for decrypting the communication data encrypted by the P2P application. For example, when a P2P application encrypts communication data using a common key encryption method, the encrypted communication data is decrypted using the common key as the decryption key 72.
  • the decoder circuit 70 is realized as a dedicated hardware circuit formed by a wired logic circuit without using a CPU and an OS as described in the preceding technology, but the decryption key 72 is provided so that external force can be rewritten. May be. As a result, even if the decryption key of the P2P application changes, it can be flexibly handled. It can also be used universally when different P2P applications appear.
  • the position detection circuit 32 detects a character string unique to the decoded communication data power P2P communication.
  • the position detection circuit 32 means that the decoding circuit 70 performs decoding processing. Since there is no data string, no character string peculiar to P2P communication is detected. Therefore, it is possible to determine whether or not the packet is a P2P communication packet based on the presence or absence of a character string unique to P2P communication.
  • FIG. 26 shows a configuration of a communication management system according to the embodiment.
  • This communication management system 300 manages the distribution of content distributed from the P2P node 320.
  • the communication management system 300 according to the present embodiment is different from the communication management system 300 according to the first embodiment shown in FIG. 23 in that the illegal content detection network 354 is replaced with the P2P node detection network 352.
  • an illegal content database 362 is provided instead of the P2P node database 360, and a warning content server 364 is further provided.
  • the illegal content detection network 354 includes an illegal content detection device 356 instead of the node detection device 340 included in the P2P node detection network 352 of the first embodiment shown in FIG. Other configurations and operations are the same as those in the first embodiment.
  • the illegal content detection device 356 detects the identification information of the content and stores it in the illegal content database 362. sign up.
  • the illegal content detection device 356 may include a virus detection program for detecting content infected with a virus, and may detect identification information of the content infected with the virus. Further, when content such as an image or a moving image includes an inappropriate image whose distribution should be controlled, the identification information of the content may be detected.
  • the illegal content detection device 356 detects the identification information of the content whose distribution should be controlled, such as a moving image including violent video that is illegal to distribute and an image that violates public order and morals.
  • the illegal content detection device 356 may accept designation of inappropriate content from an operator who confirms the content and detects inappropriate content, and may detect identification information of the content.
  • the identification information may include a hash value such as the content file name, file size, and MD5.
  • the detected identification information is stored in the illegal content database 362 using a technology such as a dedicated line or VPN.
  • the data registered in the illegal content database 362 is reflected in the first database 50 of the communication control device 10 by the database server 150 of the communication control system 100 at a predetermined timing as described in the base technology.
  • the communication control device 10 uses the index circuit 34 and the binary search circuit 36 to determine whether or not the packet passing through the ISP3 30 includes inappropriate content data or an inappropriate content transmission request.
  • the first database 50 is searched for. If content identification information is registered in the first database 50, the content is inappropriate. Therefore, the processing execution circuit 40 discards the packet to block transmission and reception, and warns the request destination of the transmission request. Perform processing to control the distribution of content, such as changing to the content server 364. If not registered in the first database 50, the processing execution circuit 40 sends the packet to the network without performing processing for controlling distribution. As a result, inappropriate distribution of content can be detected and appropriately controlled. [0106] Next, a specific method for controlling the distribution of inappropriate content will be described. FIG.
  • FIG. 27 is a sequence diagram showing a procedure of a method for controlling the distribution of inappropriate content.
  • the P2P node 320 that receives the search request receives the file name of the content extracted by the search.
  • File summary information 380 and 382 including file size, file size, and hash value are returned (S12).
  • the communication control system 100 is inappropriate.
  • the file summary information 382 of the correct content is detected, and the file summary information is deleted (S14).
  • the response packet from which the file summary information 382 of inappropriate content is deleted is sent to the user terminal 310 (S16).
  • the P2P node 320 owns inappropriate content and can be distributed, the file summary information 382 of the content with inappropriate search response is deleted when viewed from the user terminal 310.
  • the P2P node 320 is not owned and cannot be received. This can limit the distribution of inappropriate content.
  • FIG. 28 is a sequence diagram showing a procedure of another method for controlling the distribution of inappropriate content.
  • the P2P node 320 that has received the search request responds with the file summary information 380 and 382 of the content extracted by the search (S32).
  • the communication control system 100 detects the file summary information 382 of inappropriate content and the file summary.
  • the file included in the information The IP address of the distribution node, here P2P node 320, is changed to the IP address of the warning content server 364 that distributes the warning content (S34), and is sent to the user terminal 310 as a search response (S36) ).
  • the user terminal 310 requests download to the P2P node 320 when downloading the content whose distribution is not restricted (S38).
  • the P2P node 320 transmits the requested content (S40).
  • the IP address of the download request destination has been changed to the warning content server 364, so the user terminal 310 is downed to the warning content server 364.
  • the warning content server 364 transmits warning content warning that the requested content is inappropriate and distribution is restricted to the user terminal 310 (S44).
  • the user terminal 310 cannot request the P2P node 320 to transmit. Thereby, distribution of inappropriate content can be restricted.
  • FIG. 29 is a sequence diagram showing a procedure of another method for controlling the distribution of inappropriate content.
  • the user terminal 310 requests the P2P node 320 to download the content (S5 0) and the P2P node 320 sends the requested content to the user terminal 310 (S52), the content 386 can be freely distributed. If there is an inappropriate content 388 to control the distribution, the communication control system 100 warns the inappropriate content 388 that the requested content is inappropriate and the distribution is restricted. Is replaced with the warning content 389 (S54) and sent to the user terminal 310 (S56).
  • FIG. 30 shows the internal configuration of the packet processing circuit 20 of the communication control apparatus 10 of the present embodiment.
  • the packet processing circuit 20 includes a user database 57, a virus list 161, a white list 162, a black list 163, and a common category list 164 as the first database 50.
  • the user database 57 stores information on users who use the communication control device 10.
  • the communication control device 10 receives information for identifying the user power user, matches the information received by the search circuit 30 with the user database 57, and authenticates the user. If it is authenticated that the user is registered in the user database 57, then the content identification information virus list 161, white list 162, black list 163, and common Matches against category list 164. Since the white list 162 and the black list 163 are provided for each user, when the user is authenticated and the user ID is arbitrarily determined, the white list 162 and the black list 163 of the user are given to the search circuit 30.
  • the virus list 161 stores a list of identification information of contents including computer viruses. Distribution of the content of the identification information stored in the virus list 161 is blocked. As a result, even if a user tries to download a virus without noticing it, it is possible to properly prohibit access and protect the user from the virus damage.
  • the white list 162 is provided for each user, and stores a list of identification information of contents permitted to be distributed.
  • the black list 163 is provided for each user, and stores a list of content identification information that is prohibited from being distributed.
  • Fig. 31 (a) shows an example of internal data of virus list 161
  • Fig. 31 (b) shows an example of internal data of white list 162
  • Fig. 31 (c) shows internal data of black list 163.
  • An example of The virus list 161, the white list 162, and the black list 163 are provided with a category number column 165, a file name column 166, a size column 167, and a hash value column 170, respectively.
  • the common category list 164 stores a list for classifying content into a plurality of categories and controlling distribution.
  • FIG. 32 shows an example of internal data of the common category list 164.
  • FIG. The common category list 164 also includes a category number field 165, a file name field 166, a size field 167, and a hash value field 170! /.
  • the communication control device 10 extracts the file summary information transmitted / received in the file sharing protocol and the content identification information included in the content itself by the position detection circuit 32, and the identification information is stored in the virus list 161, The index circuit 34 and the binary search circuit 36 search whether or not they are included in the white list 162, the black list 163, or the common category list 164.
  • FIGS. 33 (a), (b), (c), and (d) show examples of internal data of the second database 60 for content distribution control.
  • Figure 33 (a) shows the search results and processing details for virus list 161. If the content identification information matches the identification information included in virus list 161, distribution of the content is prohibited.
  • FIG. 33 (b) shows the search results and processing contents for the white list 162.
  • FIG. Content identification information power If the content matches the identification information included in the white list 162, the distribution of the content is permitted.
  • FIG. 33 (c) shows the search results and processing contents for the black list 163.
  • FIG. When the content identification information matches the identification information included in the black list 163, the distribution of the content is prohibited.
  • FIG. 33 (d) shows search results and processing contents for the common category list 164.
  • FIG. 33 (d) for the search result for the common category list 164, for each category, the user is prohibited from allowing access to content belonging to that category. Can be set individually.
  • a user ID column 168 and a category column 169 are provided in the second database 60 related to the common category list 164.
  • the user ID column 168 stores an ID for identifying the user.
  • the category column 169 stores information indicating whether or not the user permits access to content belonging to the category for each of the 57 categories. When the content identification information matches the identification information included in the common category list 164, whether or not access to the content is permitted is determined based on the content category and the user ID.
  • the number of common categories is 57, but it may be other than that.
  • FIG. 34 shows the priorities of the virus list 161, the white list 162, the black list 163, and the common category list 164.
  • the priority is higher in the order of the virus list 161, the white list 162, the black list 163, and the common category list 164. Even if it exists, if the identification information is stored in the virus list 161, access is prohibited as content including a computer virus.
  • the search circuit 30a that matches the virus list 161 and the search circuit that matches the white list 162 are obtained by using the communication control device 10 configured by a dedicated hardware circuit.
  • a search circuit 30c for matching the black list 163, and a search circuit 30d for matching the common category list 164 are provided, and each search circuit 30 performs matching in parallel at the same time. If there are multiple hits, use the one with the highest priority. As a result, even when a plurality of databases are provided and priorities are set for them, the search time can be greatly reduced.
  • Whether the virus list 161, the white list 162, the black list 163, or the common category list 164 is to be prioritized for access permission may be set, for example, in the second database 60. ,. V, second database 60 depending on whether priority is given to misalignment list 60 You can rewrite the conditions.
  • the processing execution circuit 40 sends the packet as it is to the network. If the content should be restricted in distribution, the process execution circuit 40 executes the process described above. For example, when the distribution control shown in FIG. 27 is performed, the processing execution circuit 40 deletes the file summary information of the content detected by the search circuit 30 from the packet, and then sends the packet to the network. When the distribution control shown in FIG. 28 is performed, the process execution circuit 40 sets the IP address of the file distribution node included in the file summary information of the content detected by the search circuit 30 in advance in the second database 60 or the like. After rewriting the IP address of the alert content server 364, the packet is sent to the network. When the distribution control shown in FIG.
  • the processing execution circuit 40 replaces the content detected by the search circuit 30 with the warning content set in the second database 60 or the like, and then sends the packet to the network. Send it out.
  • This warning content may be given from the warning content server 364 to the communication control device 10.
  • search circuit 30 is a dedicated hardware circuit composed of an FPGA or the like, high-speed search processing is realized as described above, and distribution control is performed while minimizing the impact on traffic. Can do. Power such as ISP330 By providing such a filtering service, added value can be increased and more users can be gathered.
  • the white list 162 or the black list 163 may be provided in common for all users.
  • the above-described content flow is not performed for all packets without performing user authentication. Control may be performed. In this case, the user database 57 need not be provided.
  • the present invention can be used for a communication management system that manages the distribution of content.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

 P2P通信を適切に管理する技術を提供する。  通信管理システム300において、P2Pネットワーク322を構成する各P2Pノード320は、別のP2Pノードとの間でP2P通信を行っている。P2Pノード350は、P2Pノード320とP2P接続して通信を行う。違法コンテンツ検出装置356は、P2Pノード350がP2Pノード320から受信したコンテンツの中から、流通を制御すべきコンテンツの識別情報を検出して違法コンテンツデータベース362に登録する。ISP330に設けられた通信制御システム100は、違法コンテンツデータベース362に格納された識別情報を参照して、不適切なコンテンツの流通を制御する。

Description

明 細 書
通信管理システム、通信管理方法、及び通信制御装置
技術分野
[0001] 本発明は、通信管理技術に関し、特に、ピア 'ツー'ピア (Peer to Peer : P2P)通信 などを利用して送受信されるコンテンツの流通を管理する通信管理システム、通信管 理方法、及び通信制御装置に関する。
背景技術
[0002] インターネットのインフラが整備され、携帯電話端末、パーソナルコンピュータ、 Vol P (Voice over Internet Protocol)電話端末などの通信端末が広く普及した現在、イン ターネットの利用者は爆発的に増加している。このような状況下、コンピュータウィル ス、ノ、ッキング、スパムメールなど、セキュリティに関する問題が顕在化しており、通信 を適切に制御する技術が求められて 、る。通信環境の向上に伴つて通信量も膨大に なっており、大容量のデータを高速に処理する通信制御装置の必要性が増している 特許文献 1:特開平 4— 180425号公報
発明の開示
発明が解決しょうとする課題
[0003] 近年、 P2P通信を利用したファイル共有ネットワークのユーザが増加している。ユー ザ同士で、互いに所有するコンテンツを共有することにより、所望のコンテンツを簡単 に入手することができるので、急速にユーザが拡大した。しかし、コンテンツの著作権 侵害、違法なコンテンツの流通、さらにはファイル共有ネットワークをターゲットにした コンピュータウィルスの蔓延など問題が次々と顕在化し、社会問題となっている今日 、コンテンツの流通を適切に管理する技術の開発が急務である。
[0004] 本発明はこうした状況に鑑みてなされたものであり、その目的は、コンテンツの流通 を適切に管理する技術の提供にある。
課題を解決するための手段
[0005] 本発明のある態様は、通信管理システムに関する。この通信管理システムは、ピア' ツー ·ピア通信を行って 、る他のノードとの間でピア ·ツー ·ピア接続して通信を行う端 末と、前記端末が前記ノード力 受信したコンテンツ力 流通を制御すべきコンテンツ であったときに、そのコンテンツの識別情報を検出するコンテンツ検出装置と、検出さ れた識別情報を参照して、前記流通を制御すべきコンテンツの送受信を制御する通 信制御装置と、を備えることを特徴とする。
[0006] 前記コンテンツの識別情報は、前記コンテンツのファイル名、ファイルサイズ、又は ハッシュ値を含んでもよ 、。
[0007] 前記通信制御装置は、前記コンテンツ検出装置が検出した前記コンテンツの識別 情報を格納したデータベースと、コンテンツのデータを取得し、そのコンテンツの識別 情報が前記データベース中に存在するか否かを検索する検索回路と、前記検索回 路の検索結果に応じて、前記コンテンツの流通を制御するための処理を実行する処 理実行回路と、を含んでもよい。
[0008] 通信管理システムは、前記コンテンツ検出装置が検出した前記流通を制御すべき コンテンツの識另 IJ†青報を格糸内するコンテンツデータベースと、前記コンテンツデータ ベースを参照して、前記通信制御装置の前記データベースを更新するデータベース サーバと、を更に備えてもよい。
[0009] 前記ピア 'ツー'ピア通信において、コンテンツの検索を要求された前記ノードから 検索の要求元に送信される回答の中に、前記データベースに登録されたコンテンッ の識別情報が含まれていた場合、前記処理実行回路は、そのコンテンツの識別情報 を削除してもよい。
[0010] 前記ピア 'ツー'ピア通信において、コンテンツの検索を要求された前記ノードから 検索の要求元に送信される回答の中に、前記データベースに登録されたコンテンッ の識別情報が含まれていた場合、前記処理実行回路は、そのコンテンツの配布元で あるノードのアドレスを、そのコンテンツの流通を制限すべき旨の警告を発する警告コ ンテンッサーバのアドレスに書き換えてもよ 、。
[0011] 前記ピア 'ツー'ピア通信において、前記ノードから他の装置へ送信されるコンテン ッの識別情報が、前記データベースに登録された識別情報と一致した場合、前記処 理実行回路は、そのコンテンツの送信を遮断してもよい。 [0012] 前記ピア 'ツー'ピア通信において、前記ノードから他の装置へ送信されるコンテン ッの識別情報が、前記データベースに登録された識別情報と一致した場合、前記処 理実行回路は、そのコンテンツを、そのコンテンツの流通を制限すべき旨の警告を発 する警告コンテンツに差し替えてもよ 、。
[0013] 前記通信制御装置は、 FPGA (Field Programmable Gate Array)やワイヤードロジ ック回路により構成されてもよい。
[0014] 本発明の別の態様は、通信管理方法に関する。この通信管理方法は、ピア'ツー- ピア通信を行って 、る他のノードとの間でピア ·ツー ·ピア接続して通信を行う端末が 前記ノード力 受信したコンテンツ力 流通を制御すべきコンテンツであったときに、 そのコンテンツの識別情報を検出するステップと、検出された識別情報を参照して、 前記流通を制御すべきコンテンツの送受信を制御するステップと、を含むことを特徴 とする。
[0015] 本発明の更に別の態様は、通信制御装置に関する。この通信制御装置は、ピア- ツー ·ピア通信を行っているノード間で送受信されたコンテンツのうち、流通を制御す べきコンテンツとして検出されたコンテンツの識別情報を格納したデータベースと、コ ンテンッのデータを取得し、そのコンテンツの識別情報が前記データベース中に存 在するか否かを検索する検索回路と、前記検索回路の検索結果に応じて、前記コン テンッの流通を制御するための処理を実行する処理実行回路と、を備えることを特徴 とする。
[0016] なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、 記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様とし て有効である。
発明の効果
[0017] 本発明によれば、コンテンツの流通を適切に管理する技術を提供することができる
図面の簡単な説明
[0018] [図 1]前提技術に係る通信制御システムの構成を示す図である。
[図 2]従来の通信制御装置の構成を示す図である。 圆 3]前提技術に係る通信制御装置の構成を示す図である。
[図 4]パケット処理回路の構成を示す図である。
圆 5]位置検出回路の構成を示す図である。
圆 6]位置検出回路の別の例を示す図である。
圆 7]位置検出回路の別の例を示す図である。
[図 8]第 1データベースの内部データの例を示す図である。
[図 9]第 1データベースの内部データの別の例を示す図である。
[図 10]第 1データベースの内部データの更に別の例を示す図である。
[図 11]インデックス回路の別の例を示す図である。
圆 12]バイナリサーチ回路に含まれる比較回路の構成を示す図である。
圆 13]バイナリサーチ回路の構成を示す図である。
[図 14]第 1のデータベースの内部データの更に別の例を示す図である。
[図 15]第 2データベースの内部データの例を示す図である。
[図 16]第 2データベースの内部データの別の例を示す図である。
圆 17]前提技術に係る通信制御装置の別の構成例を示す図である。
圆 18]複数の通信制御装置を含む通信制御装置の構成を示す図である。
[図 19]運用監視サーバに設けられた管理テーブルの内部データの例を示す図であ る。
圆 20]通信制御装置が故障したときの運用方法を説明するための図である。
圆 21]図 21 (a) (b) (c)は、通信制御装置のデータベースを更新する方法を説明す るための図である。
圆 22]複数の通信制御装置によりパケットを処理するために設けられた通信経路制 御装置の構成を示す図である。
圆 23]第 1の実施の形態に係る通信管理システムの構成を示す図である。
圆 24]第 1の実施の形態に係る通信管理システムの別の構成例を示す図である。 圆 25]第 1の実施の形態に係るパケット処理回路の構成を示す図である。
圆 26]第 2の実施の形態に係る通信管理システムの構成を示す図である。
[図 27]不適切なコンテンツの流通を制御する方法の手順を示すシーケンス図である [図 28]不適切なコンテンツの流通を制御する別の方法の手順を示すシーケンス図で ある。
[図 29]不適切なコンテンツの流通を制御する別の方法の手順を示すシーケンス図で ある。
[図 30]コンテンツ流通制御のためのパケット処理回路の内部構成を示す図である。
[図 31]図 31 (a)は、ウィルスリストの内部データの例を示す図であり、図 31 (b)は、ホ ワイトリストの内部データの例を示す図であり、図 31 (c)は、ブラックリストの内部デー タの例を示す図である。
[図 32]共通カテゴリリストの内部データの例を示す図である。
[図 33]図 33 (a) (b) (c) (d)は、第 2データベースの内部データの例を示す図である。
[図 34]ウィルスリスト、ホワイトリスト、ブラックリスト、及び共通カテゴリリストの優先度を 示す図である。
符号の説明
[0019] 10 通信制御装置、 20 パケット処理回路、 30 検索回路、 32 位置検出回路、 3 3 比較回路、 34 インデックス回路、 35 比較回路、 36 バイナリサーチ回路、 36A , 36B, 36C 比較回路、 36Z 制御回路、 40 処理実行回路、 50 第 1データべ一 ス、 57 ユーザデータベース、 60 第 2データベース、 70 デコーダ回路、 72 復号 鍵、 100 通信制御システム、 110 運用監視サーバ、 120 接続管理サーバ、 130 メッセージ出力サーバ、 140 ログ管理サーバ、 150 データベースサーバ、 161 ウィルスリスト、 162 ホワイトリスト、 163 ブラックリスト、 164 共通カテゴリリスト、 20 0 通信経路制御装置、 300 通信管理システム、 310 ユーザ端末、 320 P2Pノー ド、 322 P2Pネットワーク、 330 ISP、 340 ノード検出装置、 350 P2Pノード、 35 2 P2Pノード検出用ネットワーク、 354 違法コンテンツ検出用ネットワーク、 356 違 法コンテンツ検出装置、 360 P2Pノードデータベース、 362 違法コンテンツデータ ベース、 364 警告コンテンツサーノ 、 390 インターネット。
発明を実施するための最良の形態
[0020] まず、前提技術として、 CPU及び OSを有さず、専用のハードウェア回路によりパケ ットフィルタリング機能を実現する通信制御システムについて説明する。つづいて、実 施の形態として、前提技術の通信制御システムを利用して P2P通信を管理する技術 について説明する。
[0021] (前提技術)
図 1は、前提技術に係る通信制御システムの構成を示す。通信制御システム 100は 、通信制御装置 10と、通信制御装置 10の動作を支援するために設けられた各種の 周辺装置を含む。前提技術の通信制御装置 10は、インターネットサービスプロバイ ダなどにより提供されるパケットフィルタリング機能を実現する。ネットワークの経路に 設けられた通信制御装置 10は、ネットワークを介して送受信されるパケットを取得し て、その内容を解析し、通信の許否を判断する。通信が許可される場合は、通信制 御装置 10は、そのパケットをネットワークへ送出する。通信が禁止される場合は、通 信制御装置 10は、そのパケットを破棄し、必要であれば送信元に対して警告メッセ ージなどを返信する。
[0022] 前提技術の通信制御システム 100では、複数の通信制御装置 10a、 10b、 10c、 · ·
·、が設けられており、それらを協働させて、 1台の通信制御装置 10として機能させて いるが、以下、個々の通信制御装置 10a、 10b、 10c、 · · 'も、それらの総称も区別せ ずに通信制御装置 10と呼ぶ。
[0023] 本前提技術の通信制御システム 100では、それぞれの通信制御装置 10は、バケツ トの処理に必要なデータベースの少なくとも一部を分割して保持して 、るが、分割し て保持するのに必要な台数よりも少なくとも 1台以上余分に設けられる。例えば、デー タ数が 30万件以上 40万件未満である場合、運用に必要な通信制御装置の台数は 4 台である力 いずれかの通信制御装置 10が故障したときに代わって運用させるため の待機用として、また、通信制御装置 10に含まれるデータベースを更新するときの待 機用として、 1台以上の通信制御装置 10を設け、合計で最低 5台の通信制御装置 1 0を設ける。従来は、フォールトトレラントのために、システム全体を二重化させる必要 があったが、本前提技術の技術によれば、分割された単位の通信制御装置 10を余 分に設けておけばよいので、コストを低減することができる。これら複数の通信制御装 置 10a、 10b、 10c、 · · ·、の運用状況は、運用監視サーバ 110により管理される。本 前提技術の運用監視サーバ 110は、通信制御装置の運用状況を管理するための管 理テーブルを有する。
[0024] 周辺装置は、運用監視サーバ 110、接続管理サーバ 120、メッセージ出力サーバ 130、ログ管理サーバ 140、及びデータベースサーバ 150を含む。接続管理サーバ 120は、通信制御装置 10に対する接続を管理する。接続管理サーバ 120は、例え ば、携帯電話端末力も送出されたパケットを通信制御装置 10で処理する際に、パケ ットに含まれる携帯電話端末を一意に識別する情報を用いて、通信制御システム 10 0のサービスを享受可能なユーザであることを認証する。いったん認証されると、その 携帯電話端末に一時的に付された IPアドレス力も送出されたパケットは、一定の期間 は接続管理サーバ 120で認証せずに通信制御装置 10へ送られて処理される。メッ セージ出力サーバ 130は、通信制御装置 10により判定された通信の許否の結果に 応じて、パケットの送信先又は送信元に対するメッセージを出力する。ログ管理サー ノ 140は、通信制御装置 10の運用履歴を管理する。データベースサーバ 150は、 外部から最新のデータベースを取得し、通信制御装置 10に入力する。通信制御装 置 10の運用を止めずにデータベースを更新するために、通信制御装置 10はバック アップ用のデータベースを有してもよい。運用監視サーバ 110は、通信制御装置 10 と、接続管理サーバ 120、メッセージ出力サーバ 130、ログ管理サーバ 140、データ ベースサーバ 150などの周辺装置の運用状況を監視する。運用監視サーバ 110は 、通信制御システム 100の中で最も優先度が高ぐ通信制御装置 10及び全ての周 辺装置の監視制御を行う。通信制御装置 10は、後述するように、専用のハードウ ア 回路により構成されるが、運用監視サーバ 110は、本出願人による特許第 3041340 号などの技術を利用して、バウンダリスキャン回路を利用して監視のためのデータを 通信制御装置 10などとの間で入出力することにより、通信制御装置 10の運用中にも 運用状況を監視することができる。
[0025] 前提技術の通信制御システム 100は、以下に説明するように、高速ィ匕のために専 用のハードウェア回路により構成された通信制御装置 10を、周辺に接続された各種 の機能を有するサーバ群により制御する構成とすることにより、サーバ群のソフトゥェ ァを適当に入れ替えることで、同様の構成により各種の機能を実現することができる。 前提技術によれば、このような柔軟性の高 、通信制御システムを提供することができ る。
[0026] 図 2は、従来の通信制御装置 1の構成を示す。従来の通信制御装置 1は、受信側 の通信制御部 2と、パケット処理部 3と、送出側の通信制御部 4とを備える。通信制御 部 2及び 4は、それぞれ、パケットの物理層の処理を行う PHY処理部 5a及び 5bと、パ ケットの MAC層の処理を行う MAC処理部 6a及び 6bとを備える。パケット処理部 3は 、 IP (Internet Protocol)のプロトコル処理を行う IP処理部 7、 TCP (Transport Control Protocol)のプロトコル処理を行う TCP処理部 8など、プロトコルに応じた処理を行う プロトコル処理部と、アプリケーション層の処理を行う AP処理部 9とを備える。 AP処 理部 9は、パケットに含まれるデータに応じて、フィルタリングなどの処理を実行する。
[0027] 従来の通信制御装置 1では、パケット処理部 3は、汎用プロセッサである CPUと、 C PU上で動作する OSとを利用して、ソフトウェアにより実現されていた。し力しながら、 このような構成では、通信制御装置 1の性能は CPUの性能に依存することになり、高 速に大容量のパケットを処理可能な通信制御装置を実現しょうとしても、自ずと限界 がある。例えば、 64ビットの CPUであれば、一度に同時に処理可能なデータ量は最 大で 64ビットであり、それ以上の性能を有する通信制御装置は存在しなかった。また 、汎用的な機能を有する OSの存在を前提としていたので、セキュリティホールなどが 存在する可能性が絶無ではなぐ OSのバージョンアップなどのメンテナンス作業を必 要としていた。
[0028] 図 3は、前提技術に係る通信制御装置の構成を示す。本前提技術の通信制御装 置 10は、従来の通信制御装置においては CPU及び OSを含むソフトウェアにより実 現されていたパケット処理部に代えて、ワイヤードロジック回路による専用のハードウ エアにより構成されたパケット処理回路 20を備える。汎用処理回路である CPUにお いて動作する OSとソフトウェアにより通信データを処理するのではなぐ通信データ を処理するための専用のハードウェア回路を設けることにより、 CPUや OSなどに起 因する性能の限界を克服し、処理能力の高い通信制御装置を実現することが可能と なる。
[0029] 例えば、パケットフィルタリングなどを実行するために、パケットに含まれるデータに 、フィルタリングの判断基準となる基準データが含まれるか否かを検索する場合に、 C PUを用いて通信データと基準データを比較すると、一度に高々 64ビットしか比較す ることができず、処理速度を向上させようとしても CPUの性能で頭打ちになるという問 題があった。 CPUでは、通信データから 64ビットをメモリへ読み上げ、基準データと の比較を行い、つづいて、次の 64ビットをメモリへ読み上げる、という処理を何度も繰 り返し行う必要があるので、メモリへの読み上げ時間が律速となり、処理速度に限界 がある。
[0030] それに対し、本前提技術では、通信データと基準データとを比較するために、ワイ ヤードロジック回路により構成された専用のハードウェア回路を設ける。この回路は、 64ビットよりも長いデータ長、例えば、 1024ビットのデータ長の比較を可能とするた めに、並列に設けられた複数の比較器を含む。このように、専用のハードウェアを設 けることにより、同時に並列して多数のビットマッチングを実行することができる。従来 の CPUを用いた通信制御装置 1では一度に 64ビットしか処理できなかったところを、 一度に 1024ビットの処理を可能にすることで、飛躍的に処理速度を向上させること ができる。比較器の数を多くすれば処理能力も向上するが、コストやサイズも増大す るので、所望の処理性能と、コスト、サイズ、などを考慮して、最適なハードウェア回路 を設計すればよい。
[0031] また、本前提技術の通信制御装置 10は、ワイヤードロジック回路による専用のハー ドウエアにより構成されるので、 OS (Operating System)を必要としない。このため、 O Sのインストール、バグ対応、バージョンアップなどの作業が必要なぐ管理やメンテ ナンスのためのコストや工数を低減させることができる。また、汎用的な機能が求めら れる CPUとは異なり、不必要な機能を包含していないので、余計なリソースを用いる ことがなぐ低コスト化、回路面積の低減、処理速度の向上などが望める。さらに、 OS を利用していた従来の通信制御装置とは異なり、余分な機能を有しないので、セキュ リティホールなどが発生する可能性が低く、ネットワークを介した悪意ある第三者から の攻撃に対する耐性に優れている。
[0032] 従来の通信制御装置 1は、 CPUと OSを前提としたソフトウェアによりパケットを処理 しており、パケットの全てのデータを受信して力 プロトコル処理を行い、データがァ プリケーシヨンに渡される。それに対して、本前提技術の通信制御装置 10では、専用 のハードウェア回路により処理を行うので、パケットの全てのデータを受信してから処 理を開始する必要はなぐ処理に必要なデータを受信すれば、後続のデータの受信 を待たずに、任意の時点で処理を開始することができる。例えば、後述する位置検出 回路における位置検出処理は、比較対象データの位置を特定するための位置特定 データを受信した時点で開始することができる。このように、全てのデータの受信を待 たずに様々な処理をフローティングで実行することができるので、パケットのデータを 処理するのに要する時間を短縮することができる。
[0033] 図 4は、パケット処理回路の内部構成を示す。パケット処理回路 20は、通信データ に対して実行する処理の内容を決定するための基準となる基準データを記憶する第 1データベース 50A、 50B、及び 50C (これらを総称して「第 1データベース 50」という )と、受信された通信データの中に基準データが含まれているか否かを、通信データ と基準データとを比較することにより検索する検索回路 30と、検索回路 30による検索 結果と通信データに対して実行する処理の内容とを対応づけて記憶する第 2データ ベース 60と、検索回路 30による検索結果と第 2データベース 60に記憶された条件と に基づいて通信データを処理する処理実行回路 40とを含む。
[0034] 検索回路 30は、通信データの中から基準データと比較すべき比較対象データの 位置を検出する位置検出回路 32と、第 1データベース 50に記憶された基準データを 3以上の範囲に分割したとき、比較対象データがそれらの範囲のうちいずれに属する かを判定する判定回路の一例であるインデックス回路 34と、判定された範囲の中で 比較対象データと合致する基準データを検索するバイナリサーチ回路 36とを含む。 比較対象データを基準データの中から検索する方法としては、任意の検索技術を利 用可能であるが、本前提技術ではバイナリサーチ法を用いる。本前提技術では、後 述するように、改良されたバイナリサーチ法を用いるので、そのために第 1データべ一 ス 50を 3つ設けている。第 1データベース 50A、 50B、及び 50Cには、同じ基準デー タが格納されている。
[0035] 図 5は、位置検出回路の内部構成を示す。位置検出回路 32は、比較対象データ の位置を特定するための位置特定データと通信データとを比較するための複数の比 較回路 33a〜33fを含む。ここでは、 6個の比較回路 33a〜33fが設けられているが、 後述するように、比較回路の個数は任意でよい。それぞれの比較回路 33a〜33fに は、通信データが、所定のデータ長、例えば、 1バイトずつずらして入力される。そし て、これら複数の比較回路 33a〜33fにおいて、同時に並列して、検出すべき位置 特定データと通信データとの比較がなされる。
[0036] 本前提技術においては、通信制御装置 10の動作を説明するための例として、通信 データ中に含まれる「No. # # #」という文字列を検出し、その文字列中に含まれ る数字「# # #」を基準データと比較して、基準データに合致した場合はパケットの 通過を許可し、合致しなカゝつた場合はパケットを破棄する処理を行う場合にっ ヽて説 明する。
[0037] 図 5の例では、通信データの中から、数字「# # #」の位置を特定するための位置 特定データ「No.」を検出するために、通信データ「01No. 361 · · ·」を、 1文字ず つずらして比較回路 33a〜33fに入力している。すなわち、比較回路 33aには「01N 」力 比較回路 33bには「1Νο」力 比較回路 33cには「No.」が、比較回路 33dには 「o. 」が、比較回路 33eには「. 3」が、比較回路 33fには「 36」力 それぞれ入力 される。ここで、比較回路 33a〜33fが同時に位置特定データ「No.」との比較を実 行する。これにより、比較回路 33cがマッチし、通信データの先頭から 3文字目に「No .」という文字列が存在することが検出される。こうして、位置検出回路 32により検出さ れた位置特定データ「No.」の次に、比較対象データである数字のデータが存在す ることが検出される。
[0038] CPUにより同様の処理を行うならば、まず、文字列「0 ^」を「?^0.」と比較し、続い て、文字列「1Νο」を「No.」と比較する、というように、先頭力 順に 1つずつ比較処 理を実行する必要があるため、検出速度の向上は望めない。これに対し、本前提技 術の通信制御装置 10では、複数の比較回路 33a〜33fを並列に設けることにより、 C PUではなしえな力つた同時並列的な比較処理が可能となり、処理速度を格段に向 上させることができる。比較回路は多ければ多いほど同時に比較可能な位置が多く なるので、検出速度も向上する力 コスト、サイズ、などを考慮の上、所望の検出速度 を得られるのに十分な数の比較回路を設ければよい。 [0039] 位置検出回路 32は、位置特定データを検出するためだけでなぐ汎用的に文字列 を検出する回路として利用されてもよい。また、文字列だけでなぐビット単位で位置 特定データを検出するように構成されてもょ ヽ。
[0040] 図 6は、位置検出回路の別の例を示す。図 6に示した例では、位置検出回路 32に 設けられたそれぞれの比較回路 33a〜33fのデータ長よりも位置特定データの方が 短い場合は、位置特定データの後に所定のデータ、例えば、「OOH」又は「01H」な どをパディングする。また、位置特定データと比較する通信データについても、位置 特定データと同じデータ長のみを抜き出して、その後に、位置特定データにパディン グしたデータと同じデータをパディングする。このとき、通信データ自身を改変しない ために、通信データをワークとしてコピーし、コピーしたデータをカ卩ェして比較回路 3 3a〜33fに入力してもよい。これにより、位置特定データのデータ長によらず、位置 検出回路 32を汎用的に用いることができる。
[0041] 図 7は、位置検出回路の更に別の例を示す。図 7に示した例では、図 6に示した例 と同様に、位置特定データの後に所定のデータをパディングする力 このデータをヮ ィルドカードとして扱う。すなわち、比較回路 33a〜33fは、ワイルドカードであるデー タが入力されると、比較対象のデータが何であっても無条件に合致したと判定する。 これにより、位置特定データのデータ長によらず、位置検出回路 32を汎用的に用い ることがでさる。
[0042] 図 8は、第 1データベースの内部データの例を示す。第 1データベース 50には、ノ ケットのフィルタリング、ルーティング、スイッチング、置換などの処理の内容を決定す るための基準となる基準データが、何らかのソート条件にしたがって昇順又は降順に ソートされて格納されている。図 8の例では、 1000個の基準データが記憶されている
[0043] インデックス回路 34は、第 1データベース 50に格納されている基準データを 3以上 の範囲 52a〜52dに分割したとき、比較対象データがそれらの範囲のうちいずれに 属するかを判定する。図 8の例では、 1000個の基準データは、 250個ずつ 4つの範 囲 52a〜52dに分割されている。インデックス回路 34は、範囲の境界の基準データと 比較対象データとを比較する複数の比較回路 35a〜35cを含む。比較回路 35a〜3 5cにより比較対象データと境界の基準データとを同時に並列して比較することにより 、比較対象データがいずれの範囲に属するかを 1度の比較処理で判定することがで きる。
[0044] インデックス回路 34の比較回路 35a〜35cに入力される境界の基準データは、通 信制御装置 10の外部に設けられた装置により設定されてもよいし、予め第 1データ ベース 50の所定位置の基準データが自動的に入力されるようにしてもよ!、。後者の 場合、第 1データベース 50を更新しても、自動的に第 1データベース 50の所定位置 の基準データが比較回路 35a〜35cに入力されるので、初期設定などを必要とせず 、直ちに通信制御処理を実行させることができる。
[0045] 前述したように、 CPUによりバイナリサーチを実行する場合は、同時に複数の比較 を実行することができないが、本前提技術の通信制御装置 10では、複数の比較回 路 35a〜35cを並列に設けることにより、同時並列的な比較処理を可能とし、検索速 度を格段に向上させることができる。
[0046] インデックス回路 34により範囲が判定されると、バイナリサーチ回路 36がバイナリサ ーチ法により検索を実行する。バイナリサーチ回路 36は、インデックス回路 34により 判定された範囲をさらに 2n個に分割し、その境界位置にある基準データと比較対象 データとを比較することにより、いずれの範囲に属するかを判定する。バイナリサーチ 回路 36は、基準データと比較対象データとをビット単位で比較する比較器を複数個 、例えば本前提技術では 1024個含んでおり、 1024ビットのビットマッチングを同時 に実行する。 2n分割された範囲のいずれに属するかが判定されると、さらに、その範 囲を 2n分割して境界位置にある基準データを読み出し、比較対象データと比較する 。以降、この処理を繰り返すことにより範囲をさらに限定し、最終的に比較対象データ と合致する基準データを検索する。
[0047] 前述した例を用いてさらに詳細に動作を説明する。インデックス回路 34の比較回路 35a〜35cには、比較対象データとして「361」が入力され、基準データとして、比較 回路 35aには、範囲 52aと 52bの境界にある基準データ「378」が、比較回路 35bに は、範囲 52bと 52cの境界にある基準データ「704」力 比較回路 35cには、範囲 52c と 52dの境界にある基準データ「937」が、それぞれ入力される。比較回路 35a〜35c により同時に比較が行われ、比較対象データ「361」が範囲 52aに属することが判定 される。以降、バイナリサーチ回路 36が基準データの中に比較対象データ「361」が 存在するか否かを検索する。
[0048] 図 9は、第 1データベースの内部データの別の例を示す。図 9に示した例では、基 準データのデータ数が、第 1データベース 50に保持可能なデータ数、ここでは 1000 個よりも少ない。このとき、第 1データベース 50には、最終データ位置から降順に基 準データが格納される。そして、残りのデータには 0が格納される。データベースの口 ーデイング方法として、先頭力 データを配置せずにローデイングエリアの後方から 配置し、ローデイングエリア先頭に空きが生じた場合は全ての空きをゼロサプレスす ることで、データーベースは常にフルの状態になり、バイナリー検索する場合の検索 時間を一定にすることができる。また、バイナリサーチ回路 36は、検索中に基準デー タとして「0」を読み込んだときには、比較結果が自明であるから、比較を行わずに範 囲を特定して、次の比較にうつることができる。これにより、検索速度を向上させること ができる。
[0049] CPUによるソフトウェア処理においては、第 1データベース 50に基準データを格納 する際に、最初のデータ位置力 昇順に基準データが格納される。残りのデータに は、例えば最大値が格納されることになる力 この場合、バイナリサーチにおいて、上 述したような比較処理の省略はできない。上述した比較技術は、専用のハードウェア 回路により検索回路 30を構成したことにより実現される。
[0050] 図 10は、第 1データベースの内部データのさらに別の例を示す。図 10に示した例 では、基準データを均等に 3以上の範囲に分割するのではなぐ範囲 52aは 500個、 範囲 52bは 100個というように、範囲に属する基準データの数が不均一になっている 。これらの範囲は、通信データ中における基準データの出現頻度の分布に応じて設 定されてもよい。すなわち、それぞれの範囲に属する基準データの出現頻度の和が ほぼ同じになるように範囲が設定されてもよい。これにより、検索効率を向上させるこ とができる。インデックス回路 34の比較回路 35a〜35cに入力される基準データは、 外部から変更可能になっていてもよい。これにより、範囲を動的に設定することができ 、検索効率を最適化することができる。 [0051] 図 11は、インデックス回路の別の例を示す。図 8〜10に示した例では、インデックス 回路 34は、 3つの比較回路 35a〜35cを用いて、比較対象データが第 1データべ一 ス 50の 4つの範囲 52a〜52dのいずれに属するかを判定した力 図 11の例では、ィ ンデッタス回路 34には、比較対象データが、 4つの範囲 52a〜52dのそれぞれに含 まれる力否かを判定するための 4つの比較回路 35d〜35gが設けられて 、る。例えば 、比較回路 35dには、第 1データベース 50の 0件目の基準データと、 250件目の基 準データと、比較対象データとが入力され、それぞれの基準データと比較対象デー タとを比較することにより、基準データが範囲 52aに含まれるか否かを判定する。それ ぞれの比較回路 35c!〜 35gの比較結果は判定回路 35zに入力され、判定回路 35z から、基準データがいずれの範囲に含まれているかが出力される。比較回路 35d〜3 5gは、基準データが入力された 2つの基準データの間に含まれる力否かを出力して もよいし、範囲よりも大きい、範囲に含まれる、範囲よりも小さい、のいずれかを出力し てもよい。比較対象データが、範囲 52a〜52dのいずれにも含まれないと判定された 場合は、比較対象データが第 1データベース 50中に存在しないことが分力るので、 以降のバイナリサーチを行うまでもなぐ検索を終了することができる。
[0052] 図 12は、バイナリサーチ回路に含まれる比較回路の構成を示す。前述したように、 バイナリサーチ回路 36に含まれる比較回路は、 1024個の比較器 36a、 36b、 · · ·、 を含む。それぞれの比較器 36a、 36b、 · · ·、には、基準データ 54と比較対象データ 56が 1ビットずつ入力され、それらの大小が比較される。インデックス回路 34の各比 較回路 35a〜35cの内部構成も同様である。このように、専用のハードウェア回路で 比較処理を実行することにより、多数の比較回路を並列して動作させ、多数のビット を同時に比較することができるので、比較処理を高速ィ匕することができる。
[0053] 図 13は、バイナリサーチ回路の構成を示す。ノイナリサーチ回路 36は、図 12に示 した 1024個の比較器 36a、 36b、 · · ·を含む比較回路 36A、 36B、及び 36Cと、そ れらの比較回路を制御する制御回路 36Zを含む。
[0054] 従来のバイナリサーチ法では、まず 1回目は、データが昇順又は降順に整列された データベースの探索対象範囲の 1Z2の位置にあるデータを読み出して比較対象デ ータと比較する。データが昇順に並べられている場合、比較対象データの方が小さ ければ、比較対象データは探索対象範囲の前半に存在するので、 2回目は前半を 探索対象範囲としてその 1Z2、すなわち最初の探索対象範囲の 1Z4の位置にある データを読み出して比較対象データと比較する。逆に、比較対象データの方が大き ければ、比較対象データは探索対象範囲の後半に存在するので、 2回目は後半を 探索対象範囲としてその 1Z2、すなわち最初の探索対象範囲の 3Z4の位置にある データを読み出して比較対象データと比較する。このように、探索対象範囲を半分ず つ絞っていき、最終的に対象データに到達する。
[0055] 本前提技術では、バイナリサーチのための比較回路を 3つ設けて 、るので、 1回目 の探索のために探索対象範囲の 1Z2の位置にあるデータと比較対象データとを比 較させるときに、同時に並行して、 2回目の探索のために探索対象範囲の 1Z4及び 3Z4の位置にあるデータと比較対象データとを比較させる。これにより、 2回分の探 索を一度に行うことができるので、データベース力 データを読み上げる時間を短縮 することができる。また、 3つの比較回路を同時に並列して動作させることにより、比較 の回数を半分に抑え、探索に要する時間を短縮することができる。
[0056] 図 13の例では、 2回分の探索を同時に行うために、 3つの比較回路を設けたが、一 般に、 n回分の探索を同時に並行して行うためには、 2n— 1個の比較回路を設けれ ばよい。制御回路 36Zは、探索対象範囲の lZ2n、 2/2\ · · ·、(2n— l)Z2nの位 置のデータを、 2n— 1個の比較回路のそれぞれに入力させ、それらを同時に並列し て動作させて比較対象データと比較させる。制御回路 36Zは、それぞれの比較回路 の比較結果を取得して、比較対象データが探索されたか否かを判定する。制御回路 36Zは、いずれかの比較回路が、データが一致した旨の信号を出力した場合、比較 対象データが探索されたと判定して、ノイナリサーチを終了する。一致した旨の信号 が出力されな力つた場合、次回の探索に移る。比較対象データがデータベースに存 在するならば、 2n— 1個の比較回路の比較結果が反転する範囲に存在するはずであ る。例えば、 15個の比較回路が設けられているときに、 5Z16の位置のデータが比 較対象データより小さぐ 6Z16の位置のデータが比較対象データより大きければ、 5 Z16力も 6Z16の間の範囲に比較対象データがある。したがって、制御回路 36Zは 、各比較回路の比較結果を取得して、比較結果が反転した範囲を次回の探索対象 範囲と決定し、決定された次回の探索対象範囲の lZ2n、 2/2\ · · ·、 (2n- l) /2n の位置のデータをそれぞれの比較回路へ入力させる。
[0057] 本前提技術では、第 1データベース 50を 3つ設けており、第 1データベース 50Aは 比較回路 36Aに接続されて探索対象範囲の 1Z4の位置にあるデータを比較回路 3 6Aに供給し、第 2データベース 50Bは比較回路 36Bに接続されて探索対象範囲の 2Z4の位置にあるデータを比較回路 36Bに供給し、第 1データベース 50Cは比較 回路 36Cに接続されて探索対象範囲の 3Z4の位置にあるデータを比較回路 36Cに 供給する。これにより、それぞれの比較回路にデータを同時に並行して読み上げるこ とができるので、データの読み上げに要する時間を更に短縮し、バイナリサーチを高 速ィ匕することができる。
[0058] 比較回路は多ければ多いほど探索速度も向上するが、コスト、サイズなどを考慮の 上、所望の探索速度を得られるのに十分な数の比較回路を設ければよい。また、比 較回路の数と同じだけ第 1データベースを設けるのが好ましいが、コスト、サイズなど を考慮の上、 V、くつかの比較回路でデータベースを共用してもょ 、。
[0059] 図 14は、第 1データベースの内部データの更に別の例を示す。図 14に示した第 1 データベース 50は、フィルタリングの対象となるコンテンツの URLを格納している。第 1データベース 50に格納されるデータは、ワイルドカードとして認識される所定のデ ータ、例えば、「OOH」又は「01H」などを含んでもよい。図 14に示した例において、「 http://www.xx.xx/********* Jは、「*********」力 Sワイノレドカードとして認識され、比 較器 36a、 36b、 · "において、比較対象データが何であっても合致すると判定され る。したがって、「http:〃 www.xx.xx/」で始まる文字列は全てバイナリサーチ回路 36 により検出される。これにより、例えば、ドメイン「http:〃 www.xx.xx/」の配下にあるコン テンッの全てにフィルタリングをかける処理などを容易に行うことができる。
[0060] 図 15は、第 2データベースの内部データの例を示す。第 2データベース 60は、検 索回路 30による検索結果を格納する検索結果欄 62と、通信データに対して実行す る処理の内容を格納する処理内容欄 64とを含み、検索結果と処理内容とを対応づ けて保持する。図 15の例では、通信データに基準データが含まれている場合は、そ のパケットの通過を許可し、含まれていない場合は、そのパケットを破棄するといぅ条 件が設定されている。処理実行回路 40は、検索結果に基づいて第 2データベース 6 0から処理内容を検索し、通信データに対して処理を実行する。処理実行回路 40も 、ワイヤードロジック回路により実現されてもよい。
[0061] 図 16は、第 2データベースの内部データの別の例を示す。図 16の例では、基準デ ータごとに、処理内容が設定されている。パケットの置換を行う場合、置換先のデー タを第 2データベース 60に格納してお!、てもよ!/、。パケットのルーティングやスィッチ ングを行う場合、経路に関する情報を第 2データベース 60に格納しておいてもよい。 処理実行回路 40は、検索回路 30による検索結果に応じて、第 2データベース 60に 格納された、フィルタリング、ルーティング、スイッチング、置換などの処理を実行する 。図 16のように、基準データごとに処理内容を設定する場合、第 1データベース 50と 第 2データベース 60とを統合してもよ 、。
[0062] 第 1のデータベース及び第 2のデータベースは、外部力 書き換え可能に設けられ る。これらのデータベースを入れ替えることにより、同じ通信制御装置 10を用いて、さ まざまなデータ処理や通信制御を実現することができる。また、検索対象となる基準 データを格納したデータベースを 2以上設けて、多段階の検索処理を行ってもよ!、。 このとき、検索結果と処理内容とを対応づけて格納したデータベースを 2以上設けて 、より複雑な条件分岐を実現してもよい。このように、データベースを複数設けて多段 階の検索を行う場合に、位置検出回路 32、インデックス回路 34、バイナリサーチ回 路 36などを複数設けてもょ 、。
[0063] 上述した比較に用いられるデータは、同じ圧縮ロジックにより圧縮されてもよい。比 較に際して、比較元のデータと比較先のデータが同じ方式で圧縮されていれば、通 常と同様の比較が可能である。これにより、比較の際にローデイングするデータ量を 低減することができる。ローデイングするデータ量が少なくなれば、メモリからデータを 読み出すのに要する時間が短縮されるので、全体の処理時間も短縮することができ る。また、比較器の量を削減することができるので、装置の小型化、軽量化、低コスト 化に寄与することができる。比較に用いられるデータは、圧縮された形式で格納され ていてもよいし、メモリから読み出した後、比較の前に圧縮されてもよい。
[0064] 図 17は、前提技術の通信制御装置の別の構成例を示す。本図に示した通信制御 装置 10は、図 4に示した通信制御装置 10と同様の構成を備える通信制御ユニット 1 2を 2つ有している。また、それぞれの通信制御ユニット 12の動作を制御する切替制 御部 14が設けられている。それぞれの通信制御ユニット 12は、 2つの入出力インタフ エース 16を有しており、それぞれの入出力インタフェース 16を介して、上流側、下流 側の 2つのネットワークに接続されている。通信制御ユニット 12は、いずれか一方の ネットワーク力も通信データを入力し、処理したデータを他方のネットワークに出力す る。切替制御部 14は、それぞれの通信制御ユニット 12に設けられた入出力インタフ エース 16の入出力を切り替えることにより、通信制御ユニット 12における通信データ の流れの方向を切り替える。これにより、一方向だけではなぐ双方向の通信制御が 可能となる。
[0065] 切替制御部 14は、通信制御ユニット 12の一方がインバウンド、他方がアウトバウン ドのパケットを処理するように制御してもよ 、し、双方がインバウンドのパケットを処理 するように制御してもよ 、し、双方がアウトバウンドのパケットを処理するように制御し てもよい。これにより、例えばトラフィックの状況や目的などに応じて、制御する通信の 方向を可変とすることができる。
[0066] 切替制御部 14は、各通信制御ユニット 12の動作状況を取得し、その動作状況に 応じて通信制御の方向を切り替えてもよい。例えば、一方の通信制御ユニット 12を待 機状態として、他方の通信制御ユニット 12を動作させている場合に、その通信制御 ユニット 12が故障などにより停止したことを検知したときに、代替として待機中の通信 制御ユニット 12を動作させてもよい。これにより、通信制御装置 10のフォールトトレラ ンスを向上させることができる。また、一方の通信制御ユニット 12に対して、データべ ースの更新などのメンテナンスを行うときに、他方の通信制御ユニット 12を代替として 動作させてもよい。これにより、通信制御装置 10の運用を停止させずに、適切にメン テナンスを行うことができる。
[0067] 通信制御装置 10に 3以上の通信制御ユニット 12が設けられてもよい。切替制御部 14は、例えば、トラフィックの状況を取得して、通信量の多い方向の通信制御処理に 、より多くの通信制御ユニット 12を割り当てるように、各通信制御ユニット 12の通信の 方向を制御してもよい。これにより、ある方向の通信量が増加しても、通信速度の低 下を最小限に抑えることができる。
[0068] 図 18は、複数の通信制御装置 10a、 10b、 10c、 · · ·、を含む通信制御装置 10の 構成を示す。第 1データベース 50は、データ数に比例して大きな容量を必要とする ので、分割して通信制御装置 10a、 10b、 10c、 · · ·、に保持させる。後述するように、 本前提技術の通信制御システム 100では、処理すべき通信パケットを、運用中の全 ての通信制御装置 10a、 10b、 10c、 · · ·、に供給し、それぞれの通信制御装置 10が 受け取ったパケットを処理する。例えば、通信制御装置 10aは、データ ID力 00000 1」力ら「100000」まで、通信制御装置 10bは、データ IDが「100001」から「20000 0」まで、通信制御装置 10cは、データ IDが「200001」から「300000」までのデータ を保持しており、それぞれが保持するデータを参照してパケットを処理する。
[0069] 図 19は、運用監視サーバ 110に設けられた管理テーブル 111の内部データの例 を示す。管理テーブル 111には、装置 ID欄 112、運用状況欄 113、データ ID欄 114 が設けられている。装置 ID欄 112には、通信制御装置 10a、 10b、 · · ·、の装置 IDが 格納され、運用状況欄 113には、その通信制御装置の運用状況が格納され、データ ID欄 114には、その通信制御装置が担当すべきデータ IDの範囲が格納される。運 用状況には、例えば、「運用中」、「スタンバイ」、「故障中」、「データ更新中」などがあ る。運用状況欄 113は、通信制御装置 10a、 10b、 · · ·、の運用状況が変更されるた びに、運用監視サーバ 110により更新される。図 19に示した例では、「465183」件 のデータが第 1データベース 50に格納されるので、装置 ID「1」〜「5」の 5台の通信 制御装置 10が運用されており、装置 ID「6」の通信制御装置 10はスタンバイ状態とな つている。
[0070] 運用監視サーバ 110は、複数の通信制御装置 10の運用状況を監視し、いずれか の通信制御装置 10にお 、てトラブルが発生して運用不可能な状態になつたことを検 知したときには、スタンバイ状態となっている通信制御装置 10に、運用が停止した通 信制御装置 10と同じデータを格納し、その通信制御装置 10に運用を切り替える。例 えば、図 20に示すように、装置 ID「2」の通信制御装置 10が故障により運用停止した 場合、スタンバイ状態であった装置 ID「6」の通信制御装置 10に、データ ID「10000 1〜200000」のデータを格納して運用を開始させる。これにより、何らかのトラブルで 通信制御装置 10が停止されるような状況になっても、適切に運用を継続することが できる。スタンバイ中の通信制御装置 10には、予めいずれかのデータを格納してお き、ホットスタンバイ状態にしておいてもよいし、コールドスタンバイ状態にしておいて ちょい。
[0071] 次に、通信制御装置 10に含まれるデータベースを更新する手順について説明する 。データベースサーバ 150は、所定のタイミングで外部のデータベースから最新のデ ータベースを取得して保持する。運用監視サーバ 110は、所定のタイミングで、デー タベースサーバ 150に保持された最新のデータベースを通信制御装置 10に反映さ せるために、データベースサーバ 150から通信制御装置 10にデータを転送して格納 させる。
[0072] 図 21 (a) (b) (c)は、データベースを更新する様子を説明するための図である。図 2 1 (a)は、図 19と同様に、装置 ID「1」〜「5」の通信制御装置 10が運用中であり、装 置 ID「6」の通信制御装置 10がスタンノ ィ中である状況を示す。運用監視サーバ 11 0は、データベースを更新するタイミングが到来すると、現在スタンノ ィ状態である通 信制御装置 10を特定し、その通信制御装置 10に対してデータを格納するようデータ ベースサーバ 150に指示する。図 21 (a)の例では、装置 ID「6」の通信制御装置 10 がスタンバイ中であるから、この通信制御装置 10にデータベースサーバ 150からデ ータが格納される。このとき、運用監視サーバ 110は、装置 ID「6」の運用状況欄 113 を「データ更新中」に変更する。
[0073] 図 21 (b)は、通信制御装置 10のデータベースが更新中である状況を示す。データ ベースサーバ 150は、運用中の通信制御装置 10のいずれかが担当するデータを、 スタンバイ中であった装置 ID「6」の通信制御装置 10の第 1データベース 50に格納 する。図 21 (b)の例では、装置 ID「1」の通信制御装置 10が担当していた、データ ID 「000001〜100000」のデータを、装置 ID「6」の通信制御装置 10に格納している。
[0074] 図 21 (c)は、装置 ID「6」の通信制御装置 10のデータベースが更新されて運用が 開始され、代わって装置 ID「1」の通信制御装置 10がスタンバイ状態となった状況を 示す。運用監視サーバ 110は、装置 ID「6」の通信制御装置 10に対するデータの格 納が終了すると、更新後のデータベースを保持する装置 ID「6」の通信制御装置 10 の運用を開始すると同時に、更新前のデータベースを保持する装置 ID「1」の通信制 御装置 10の運用を停止してスタンバイ状態にする。これにより、データベースが更新 された通信制御装置 10に運用が切り替えられる。つづいて、装置 ID「1」の通信制御 装置 10に、データ ID「100001〜200000」のデータを格納した後、装置 ID「1」の通 信制御装置 10を運用開始し、装置 ID「2」の通信制御装置 10の運用を停止する。以 降、同様に、巡回的にデータベースを更新していくことで、通信制御システム 100の 運用を停止することなぐ全ての通信制御装置 10のデータベースを背後で更新する ことができる。
[0075] このように、本前提技術の通信制御装置 10では、各通信制御装置 10に格納され ているデータは固定的ではなぐあるデータがいずれの通信制御装置 10に格納され ているかは、時間によって移り変わる。各通信制御装置 10にパケットを送る前に、い ずれの通信制御装置 10にそのユーザのデータが存在するかを判定する処理を行う と、その処理に要する時間が余分にかかる。そのため、本実施の形態では、受信した パケットを全ての通信制御装置 10へ供給し、各通信制御装置 10がパケットを処理す る。以下、このような仕組みを実現するための技術について説明する。
[0076] 図 22は、複数の通信制御装置 10によりパケットを処理するために設けられた通信 経路制御装置の構成を示す。通信経路制御装置 200は、スィッチ 210、データ供給 ユニットの一例である光スプリッタ 220、及びスィッチ 230を備える。スィッチ 210は、 受信したパケットを通信制御装置 10へ送信する。ここで、スィッチ 210と通信制御装 置 10の間には、複数の通信制御装置 10a、 10b、 10cにパケットを並行して供給する ための光スプリッタ 220が設けられており、スィッチ 210は、実際には光スプリッタ 220 へパケットを送信し、光スプリッタ 220が各通信制御装置へパケットを並行して送信す る。
[0077] 複数の通信制御装置 10a、 10b、 10cへパケットを送信するために、パケットをブロ ードキャストに変換すると、例えばヘッダにタイムスタンプを追加するなどの余分な処 理が発生し、処理速度が低下してしまう。そのため、パケットに変更をカ卩えずに、光ス プリッタ 220により分割して、ュ-キャストのまま複数の通信制御装置 10a、 10b、 10c へパケットを送信する。この方式を、本明細書では「パラレルキャスト」と呼ぶ。 [0078] 各通信制御装置は、自装置の MACアドレス宛のパケットのみを受信するモードで はなぐ宛先の MACアドレスに関係なく全てのパケットを受信するプロミスキャスモー ドに設定される。各通信制御装置は、光スプリッタ 220からパラレルキャストされたパ ケットを受信すると、 MACアドレスのマッチング処理を省き、全てのパケットを取得し て処理する。
[0079] 通信制御装置 10cは、通信が禁止された場合など、送信元宛にパケットを返信する 場合には、光スプリッタ 220を介さずにスィッチ 210へ応答パケットを送信する。通信 制御装置 10cは、パケットを処理した結果、通信が許可された場合は、そのパケットを ネットワークへ送出する。ここで、通信制御装置 10と上流の通信回線の間には、複数 の通信制御装置 10a、 10b、 10cから送出されるパケットを集約するためのスィッチ 2 30が設けられており、通信制御装置 10cは、実際にはスィッチ 230へパケットを送信 し、スィッチ 230が上流の通信回線へパケットを送出する。
[0080] パケットの送信先力も返信されたパケットをスィッチ 230が受信したときに、返信され たパケットが通信制御装置 10による処理を必要としない場合は、スィッチ 230のポー ト 232力らスィッチ 210のポート 212へ送信され、スィッチ 210から送信元に向けて送 出される。通常、インターネットでは、パケットに対する応答パケットが確実に送信元 に返信されるよう、返信経路を確保するために、送信時の経路がパケットに記録され る。しかし、本実施の形態では、通信経路制御装置 200内における返信経路が予め 用意されているので、経路を記録せずに、すなわち、パケットを加工せずに装置間の 通信を行う。これにより、無駄な処理を省き、処理速度を向上させることができる。
[0081] 図 22の例では、送信元から発信されたパケットを送信先へ送出する場合にのみパ ケットを処理し、送信先から送信元へ送出された応答パケットは処理せずに通過させ る場合の構成を示して 、るが、通信制御装置 10が両方向のパケットを処理するように 構成してもよい。この場合、通信制御装置 10の両側に光スプリッタ 220を設ければよ い。また、スィッチ 230からスィッチ 210へのバイパス経路は設けなくてもよい。
[0082] このように、複数の通信制御装置のうち、パケットを処理すべき通信制御装置を予 め特定しなくても、全ての通信制御装置に同じパケットをパラレルキャストすることによ り、処理すべき通信制御装置に適切にパケットを処理させることができる。 [0083] これらの通信制御装置は、上述したように、通信経路制御装置 200からパラレルキ ャストされる全てのパケットを受信して処理又は破棄するので、インターネット上で装 置を一意に識別するための IPアドレスを付与しておく必要がない。サーバ装置などに より、上述したようなパケット処理を実行する場合は、サーバ装置に対する攻撃を考 慮する必要があるが、本実施の形態の通信制御装置は、インターネットを介して悪意 ある第三者力も直接攻撃を受けることがな 、ので、安全に通信制御を行うことができ る。
[0084] (第 1の実施の形態)
図 23は、第 1の実施の形態に係る通信管理システムの構成を示す。通信管理シス テム 300は、パケットフィルタリングなどの機能を有する通信制御システム 100を用い て、 P2Pノード 320間の不適切な通信を遮断又は劣後させるなど、 P2P通信を管理 する。
[0085] パーソナルコンピュータなどのユーザ端末 310は、通常、公衆電話網、携帯電話網 、 LAN, WANなど(図示せず)を介してインターネットサービスプロバイダ(Internet S ervice Provider:以下、「ISP」と表記する) 330に接続し、 ISP330を介してインターネ ット 390に接続している。ファイル共有ソフトなどの P2Pアプリケーションを実行してい る P2Pノード 320は、互いに P2P接続し、 P2Pネットワーク 322を形成している。フアイ ル共有アプリケーションにお 、て、ファイル検索機能などを提供するサーバ又はホス トの役割を果たす装置なども「P2Pノード 320」に含む。
[0086] サーバ'クライアントモデルにおいては、サーバに情報が蓄積され、クライアントはィ ンターネットを介してサーバに接続して情報を入手するので、違法なコンテンツの流 通が検出された場合は、そのコンテンツを提供しているサーバを摘発して停止させれ ばよい。し力し、 P2Pネットワーク 322では、 P2Pノード 320間で直接通信が行われる ので、違法なコンテンツの流通を検出するのが難しぐまた、検出できたとしても、い ずれの P2Pノード 320が発信源となって 、るのかを特定することが難し 、。
[0087] また、 P2Pネットワーク 322に、ファイル共有のためのファイル検索サーバが設けら れる形態ではなぐ P2Pノード 320間で直接ファイルの有無を問 、合わせて検索する 形態の場合は、 P2Pノード 320が増加すると加速度的に通信が増加してネットワーク が混雑し、 ISP330を利用する他のユーザ端末 310に影響を与える可能性がある。
[0088] さらに、 P2Pネットワーク 322では、 P2Pノード 320は他の P2Pノード 320との間で 直接通信を行うので、悪意ある P2Pノード 320による攻撃に対して脆弱であり、ウィル ス蔓延の温床となっている。コンピュータセキュリティに無知又は無関心なユーザがフ アイル共有アプリケーションを利用してウィルスに感染し、重要な情報が流出するなど 、社会的な問題となっている。
[0089] このような状況下、 P2P通信を適切に管理する技術が切に求められている力 従来 は、 P2Pノード 320間のデータの送受信を規制することが困難であった。本実施の形 態では、 P2Pノード 320を検出して、検出した P2Pノード 320との間の通信を適切に フィルタリングする技術を提案する。この技術により、上記のような問題が解決されるこ とが期待されるため、本発明の社会的な貢献度は非常に高いと言える。
[0090] 本実施の形態では、図 23に示すように、ユーザ端末 310と P2Pネットワーク 322の P2Pノード 320との間に、前提技術で説明した通信制御システム 100を設ける。また 、 P2Pノード 320の IPアドレスなどを検出するための P2Pノード検出用ネットワーク 35 2を設け、ノード検出装置 340が検出した P2Pノード 320の IPアドレスなどの識別情 報を通信制御システム 100へ通知し、 P2Pノード 320との間の通信を検出するために 用いる。通信制御システム 100は、ネットワーク上の任意の位置に設けられてもよい 力 図 23では、 ISP330が通信制御システム 100を設ける例を示している。ほとんど の P2Pノード 320は、 V、ずれかの ISP330を介してインターネット 390に接続して!/、る ので、各 ISP330が通信制御システム 100を導入すれば、より適切に P2P通信を管 理することができる。
[0091] P2Pノード 350は、レイヤ 2スィッチ 344及びルータ 342を介してインターネット 390 に接続されており、 P2Pアプリケーションを実行して、 P2Pノード 320との間で P2P接 続して通信を行う。ノード検出装置 340は、 P2Pノード 350と P2Pネットワーク 322の 間に設けられ、 P2Pノード 350と P2Pネットワーク 322の P2Pノード 320との間の通信 パケットを取得して解析し、 P2Pノード 320の IPアドレスと TCP又は UDPのポート番 号などの識別情報を検出する。ノード検出装置 340は、 DNSへの問い合わせなど、 P2Pノード 350の P2Pアプリケーション以外のアプリケーションによる通信相手は記 録せず、 P2Pアプリケーションによる通信の相手を検出して記録する。ノード検出装 置 340は、 P2Pノード 350が送受信するパケットを解析する力 レイヤ 2透過型であり 、パケットをフィルタリングせずに透過させる。また、図 23に示したノード検出装置 34 0は、レイヤ 2透過型としての構成のほかに、ルータ型の装置として実装することも可 能である。この場合、ノード検出装置 340は、あた力も通常のルータ型装置のように ルーティングを行うが、 P2Pアプリケーションによる通信の相手を検出して記録する動 作を行う。ノード検出装置 340により検出された P2Pノード 320の IPアドレス及び TC PZUDPポート番号は、 P2Pノードデータベース 360に登録される。 P2Pノードデー タベース 360に登録されたデータは、前提技術で説明したように、所定のタイミングで 、通信制御システム 100のデータベースサーバ 150により、通信制御装置 10の第 1 データベース 50に反映される。
[0092] 通信制御装置 10は、インデックス回路 34及びバイナリサーチ回路 36により、 ISP3 30を通過するパケットの送信元又は送信先の IPアドレス及び TCPZUDPポート番 号が第 1データベース 50に登録されて 、るか否かを検索する。第 1データベース 50 に登録されていれば、 P2Pノード 320による P2P通信のパケットであるから、処理実 行回路 40によりパケットを破棄して P2P通信を遮断する力、又は、パケットの送信を 遅延させて他の通信に比して劣後させる。第 1データベース 50に登録されて 、なけ れば、 P2P通信ではないので、処理実行回路 40はパケットを破棄せずにネットワーク へ送出する。これにより、 P2P通信を検出して規制することができる。
[0093] 上記の例では、ノード検出装置 340が P2Pノード 320の IPアドレスと TCPZUDP ポート番号を検出して収集したが、 P2P通信が別のプロトコルを利用している場合は 、そのプロトコルに合わせて、 P2P通信を検出することが可能な P2Pノード 320の識 別情報を収集すればよい。
[0094] ユーザ端末 310が新たに P2Pアプリケーションを起動して P2Pノード 350と通信を 行うと、ノード検出装置 340により IPアドレスと TCPZUDPポート番号が検出され、 P 2Pノードデータベース 360に登録される。したがって、 P2Pノードデータベース 360 を通信制御システム 100に反映させる間隔を短くすることにより、 P2Pノード 320が新 たに出現して力も短時間で P2Pノード 320の P2P通信を規制することができる。 [0095] V、つたん P2P通信を行って P2Pノードデータベース 360に登録された P2Pノード 3 20であっても、長期間 P2P通信を行っていない場合は、 P2Pノードデータベース 36 0から削除してもよい。例えば、 P2Pアプリケーションを利用していたユーザ力 P2P アプリケーションをユーザ端末 310からアンインストールし、 P2Pアプリケーションが通 信に利用していたポート番号を別の通信に利用する場合、 P2Pノードデータベース 3 60に IPアドレスとポート番号が登録されているので、 P2P通信でないにもかかわらず 通信が規制されることになる。したがって、 P2Pノードデータベース 360に最終検出 日時を記録しておき、最終検出日時力も所定の期間が経過した P2Pノード 320の情 報は P2Pノードデータベース 360から削除してもよい。このユーザ端末 310が再び P 2P通信を開始した場合は、ノード検出装置 340により検出され、再び P2Pノードデー タベース 360に登録されて、そのノードとの間の P2P通信が遮断又は劣後される。
[0096] 図 24は、通信管理システムの別の構成例を示す。図 24に示した通信管理システム 300では、図 23に示した通信管理システム 300に比べ、 P2Pノード検出用ネットヮー ク 352の構成が異なる。具体的には、ノード検出装置 340力 ルータ 342とレイヤ 2ス イッチ 344の間ではなぐレイヤ 2スィッチ 344の後段に接続されている。この例では、 レイヤ 2スィッチ 344のポートミラーリング機能を利用して、レイヤ 2スィッチ 344を通過 する全てのパケットを複製してノード検出装置 340に送る。ノード検出装置 340は、取 得したパケットを解析して P2Pノード 320の識別情報を収集し、パケットを破棄する。 その他の構成及び動作は、図 23に示した通信管理システム 300と同様である。
[0097] 図 25は、本実施の形態のパケット処理回路 20の構成を示す。パケット処理回路 20 は、図 4に示した前提技術のパケット処理回路 20の構成に加えて、デコーダ回路 70 及び復号鍵 72を更に備える。
[0098] P2Pアプリケーションが利用するプロトコルには、特徴的な文字列が含まれる場合 が多い。例えば、 TCPパケットのヘッダに P2Pアプリケーションの名称などの識別情 報がセットされている場合、その文字列を検出することにより、パケットが P2P通信の パケットであるか否かを判定することができる。したがって、本実施の形態では、前提 技術で説明した位置検出回路 32を利用して、パケットに含まれる P2P通信に特有の 文字列を検出し、 P2P通信である力否かを判定する。 P2P通信に特有の文字列を含 むパケットは、インデックス回路 34及びバイナリサーチ回路 36により第 1データべ一 ス 50と照合するまでもなぐ処理実行回路 40によりパケットを破棄又は劣後させる。こ れにより、効率よく P2P通信を検知してフィルタリングすることができる。
[0099] P2Pアプリケーションによっては、通信データを暗号化して送受信する場合がある。
デコーダ回路 70は、 P2Pアプリケーションにより暗号ィ匕された通信データを復号する ための復号鍵 72で、取得したパケットの通信データを復号する。例えば、 P2Pアプリ ケーシヨンが共通鍵暗号方式で通信データを暗号ィ匕して 、る場合は、その共通鍵を 復号鍵 72として用い、暗号化された通信データを復号する。デコーダ回路 70は、前 提技術で説明したように、 CPU及び OSを用いず、ワイヤードロジック回路により形成 された専用のハードウェア回路として実現されるが、復号鍵 72は外部力も書き換え可 能に設けられてもよい。これにより、 P2Pアプリケーションの復号鍵が変わった場合で あっても、柔軟に対応させることができる。また、異なる P2Pアプリケーションが出現し た場合にも汎用的に利用することができる。
[0100] この場合も、位置検出回路 32が、復号された通信データ力 P2P通信に特有の文 字列を検出するが、 P2P通信でないパケットの場合は、デコーダ回路 70での復号処 理により意味のないデータ列になっているので、 P2P通信に特有の文字列は検出さ れない。したがって、 P2P通信に特有の文字列の有無により、 P2P通信のパケットで ある力否かを判定することができる。
[0101] (第 2の実施の形態)
図 26は、実施の形態に係る通信管理システムの構成を示す。この通信管理システ ム 300は、 P2Pノード 320から配布されるコンテンツの流通を管理する。
[0102] 本実施の形態の通信管理システム 300は、図 23に示した第 1の実施の形態の通信 管理システム 300に比べて、 P2Pノード検出用ネットワーク 352に代えて違法コンテ ンッ検出用ネットワーク 354を、 P2Pノードデータベース 360に代えて違法コンテンツ データベース 362を備え、更に、警告コンテンツサーバ 364を備える。違法コンテン ッ検出用ネットワーク 354は、図 23に示した第 1の実施の形態の P2Pノード検出用ネ ットワーク 352が備えていたノード検出装置 340に代えて違法コンテンツ検出装置 35 6を備える。その他の構成及び動作は第 1の実施の形態と同様である。 [0103] 違法コンテンツ検出装置 356は、 P2Pノード 350が P2Pノード 320から受信したコン テンッが、流通を制御すべきコンテンツであったときに、そのコンテンツの識別情報を 検出して違法コンテンツデータベース 362に登録する。違法コンテンツ検出装置 356 は、例えば、ウィルスに感染したコンテンツを検出するためのウィルス検出プログラム を備え、ウィルスに感染したコンテンツの識別情報を検出してもよい。また、画像や動 画などのコンテンツに、流通を制御すべき不適切な画像が含まれている場合に、そ のコンテンツの識別情報を検出してもよい。このように、違法コンテンツ検出装置 356 は、流通させることが違法であるコンテンツだけでなぐ暴力的な映像を含む動画や 公序良俗に反する画像など、流通を制御すべきコンテンツの識別情報を検出する。 違法コンテンッ検出装置 356は、コンテンッを確認して不適切なコンテンッを検出す るオペレータから、不適切なコンテンツの指定を受け付け、そのコンテンツの識別情 報を検出してもよい。識別情報は、コンテンツのファイル名、ファイルサイズ、 MD5な どのハッシュ値を含んでもよい。検出された識別情報は、専用線又は VPNなどの技 術を利用して、違法コンテンツデータベース 362に格納される。
[0104] 違法コンテンツデータベース 362に登録されたデータは、前提技術で説明したよう に、所定のタイミングで、通信制御システム 100のデータベースサーバ 150により、通 信制御装置 10の第 1データベース 50に反映される。違法コンテンツデータベース 36 2に新たなレコードが追加されるたびに、第 1データベース 50を更新することもでき、 ウィルスや違法なコンテンツの流通を迅速に制御することができる。
[0105] 通信制御装置 10は、インデックス回路 34及びバイナリサーチ回路 36により、 ISP3 30を通過するパケットに、不適切なコンテンツのデータ又は不適切なコンテンツの送 信要求などが含まれている力否かを第 1データベース 50から検索する。第 1データべ ース 50にコンテンツの識別情報が登録されていれば、不適切なコンテンツであるから 、処理実行回路 40によりパケットを破棄して送受信を遮断したり、送信要求の要求先 を警告コンテンツサーバ 364に変更したりするなど、コンテンツの流通を制御するた めの処理を実行する。第 1データベース 50に登録されていなければ、処理実行回路 40は流通を制御するための処理を施さずにパケットをネットワークへ送出する。これ により、不適切なコンテンツの流通を検出して適切に制御することができる。 [0106] つづいて、不適切なコンテンツの流通を制御するための具体的な方法について説 明する。図 27は、不適切なコンテンツの流通を制御する方法の手順を示すシーケン ス図である。 P2Pネットワーク 322で用いられるファイル共有プロトコルでは、あるノー ド、例えばユーザ端末 310がコンテンツの検索要求を発すると(S10)、検索要求を 受け取った P2Pノード 320は、検索により抽出されたコンテンツのファイル名、フアイ ルサイズ、ノ、ッシュ値を含むファイル要約情報 380、 382を応答する(S12)。このとき 、自由に流通可能なコンテンツのファイル要約情報 380だけでなぐ流通を制御すベ き不適切なコンテンツのファイル要約情報 382が含まれて 、る場合は、通信制御シス テム 100は、不適切なコンテンツのファイル要約情報 382を検出し、そのファイル要 約情報を削除する(S14)。不適切なコンテンツのファイル要約情報 382が削除され た応答パケットは、ユーザ端末 310へ送出される(S16)。これにより、 P2Pノード 320 が不適切なコンテンツを所有していて配布可能であったとしても、ユーザ端末 310か ら見ると、検索応答力 不適切なコンテンツのファイル要約情報 382が削除されてい るので、 P2Pノード 320が所有していないことになり、受信することができない。これに より、不適切なコンテンツの流通を制限することができる。
[0107] 図 28は、不適切なコンテンツの流通を制御する別の方法の手順を示すシーケンス 図である。ユーザ端末 310がコンテンツの検索要求を発すると(S30)、検索要求を 受け取った P2Pノード 320は、検索により抽出されたコンテンツのファイル要約情報 3 80、 382を応答する(S32)。このとき、流通を制御すべき不適切なコンテンツのファ ィル要約情報 382が含まれている場合は、通信制御システム 100は、不適切なコン テンッのファイル要約情報 382を検出し、そのファイル要約情報に含まれるファイル 配布ノード、ここでは P2Pノード 320の IPアドレスを、警告コンテンツを配布する警告 コンテンツサーバ 364の IPアドレスに変更して(S34)、検索応答としてユーザ端末 3 10へ送出する(S36)。検索応答を受け取ったユーザ端末 310は、流通を制限され ないコンテンツをダウンロードするときは、 P2Pノード 320へダウンロードを要求する( S38)。 P2Pノード 320は、要求されたコンテンツを送信する(S40)。し力し、流通を 制限されるコンテンツは、ダウンロードの要求先の IPアドレスが警告コンテンツサーバ 364に変更されているので、ユーザ端末 310は、警告コンテンツサーバ 364へダウン ロードを要求する(S42)。警告コンテンツサーバ 364は、要求されたコンテンツが不 適切で流通を制限されている旨を警告する警告コンテンツをユーザ端末 310へ送信 する(S44)。これにより、 P2Pノード 320が不適切なコンテンツを所有していて配布可 能であったとしても、ユーザ端末 310は P2Pノード 320へ送信を要求することができ ない。これにより、不適切なコンテンツの流通を制限することができる。
[0108] 図 29は、不適切なコンテンツの流通を制御する別の方法の手順を示すシーケンス 図である。ユーザ端末 310力P2Pノード 320にコンテンツのダウンロードを要求し(S5 0)、 P2Pノード 320がユーザ端末 310へ要求されたコンテンツを送信したときに(S5 2)、自由に流通可能なコンテンツ 386だけでなぐ流通を制御すべき不適切なコンテ ンッ 388が含まれている場合は、通信制御システム 100は、不適切なコンテンツ 388 を、要求されたコンテンツが不適切で流通を制限されている旨を警告する警告コンテ ンッ 389に差し替えて(S54)、ユーザ端末 310へ送出する(S56)。
[0109] 図 30は、本実施の形態の通信制御装置 10のパケット処理回路 20の内部構成を示 す。パケット処理回路 20は、第 1データベース 50として、ユーザデータベース 57、ゥ ィルスリスト 161、ホワイトリスト 162、ブラックリスト 163、及び共通カテゴリリスト 164を 備える。ユーザデータベース 57は、通信制御装置 10を利用するユーザの情報を格 納する。通信制御装置 10は、ユーザ力 ユーザを識別する情報を受け付け、検索回 路 30により受け付けた情報をユーザデータベース 57とマッチングして、ユーザを認 証する。ユーザデータベース 57に登録されたユーザであることが認証されると、続い て、コンテンツに対するアクセスの許否を判断するために、コンテンツの識別情報力 ウィルスリスト 161、ホワイトリスト 162、ブラックリスト 163、及び共通カテゴリリスト 164 に照合される。ホワイトリスト 162及びブラックリスト 163はユーザごとに設けられている ので、ユーザが認証されてユーザ IDがー意に決まると、そのユーザのホワイトリスト 1 62及びブラックリスト 163が検索回路 30に与えられる。
[0110] ウィルスリスト 161は、コンピュータウィルスを含むコンテンツの識別情報のリストを格 納する。ウィルスリスト 161に格納された識別情報のコンテンツの流通は遮断される。 これにより、ユーザが気づかずにウィルスをダウンロードしょうとする場合であっても、 適切にアクセスを禁止し、ウィルスの被害カゝらユーザを保護することができる。 [0111] ホワイトリスト 162は、ユーザごとに設けられ、流通を許可するコンテンツの識別情報 のリストを格納する。ブラックリスト 163は、ユーザごとに設けられ、流通を禁止するコ ンテンッの識別情報のリストを格納する。図 31 (a)は、ウィルスリスト 161の内部デー タの例を示し、図 31 (b)は、ホワイトリスト 162の内部データの例を示し、図 31 (c)は、 ブラックリスト 163の内部データの例を示す。ウィルスリスト 161、ホワイトリスト 162、及 びブラックリスト 163には、それぞれ、カテゴリ番号欄 165、ファイル名欄 166、サイズ 欄 167、及びハッシュ値欄 170が設けられて 、る。
[0112] 共通カテゴリリスト 164は、コンテンツを複数のカテゴリに分類して流通を制御するた めのリストを格納する。図 32は、共通カテゴリリスト 164の内部データの例を示す。共 通カテゴリリスト 164にも、カテゴリ番号欄 165、ファイル名欄 166、サイズ欄 167、及 びハッシュ値欄 170が設けられて!/、る。
[0113] 通信制御装置 10は、位置検出回路 32により、ファイル共有プロトコルにおいて送 受信されるファイル要約情報や、コンテンツ自身に含まれるコンテンツの識別情報を 抽出し、その識別情報が、ウィルスリスト 161、ホワイトリスト 162、ブラックリスト 163、 又は共通カテゴリリスト 164に含まれるか否かを、インデックス回路 34及びバイナリサ ーチ回路 36により検索する。
[0114] 図 33 (a)、(b)、 (c)、及び (d)は、コンテンツ流通制御のための第 2データベース 6 0の内部データの例を示す。図 33 (a)は、ウィルスリスト 161に対する検索結果と処理 内容を示す。コンテンツの識別情報が、ウィルスリスト 161に含まれる識別情報に合 致した場合、そのコンテンツの流通は禁止される。図 33 (b)は、ホワイトリスト 162に対 する検索結果と処理内容を示す。コンテンツの識別情報力 ホワイトリスト 162に含ま れる識別情報に合致した場合、そのコンテンツの流通は許可される。図 33 (c)は、ブ ラックリスト 163に対する検索結果と処理内容を示す。コンテンツの識別情報が、ブラ ックリスト 163に含まれる識別情報に合致した場合、そのコンテンツの流通は禁止さ れる。
[0115] 図 33 (d)は、共通カテゴリリスト 164に対する検索結果と処理内容を示す。図 33 (d )に示すように、共通カテゴリリスト 164に対する検索結果に対して、ユーザは、カテゴ リごとに、そのカテゴリに属するコンテンツに対するアクセスを許可する力禁止するか を、個別に設定することができる。共通カテゴリリスト 164に関する第 2データベース 6 0には、ユーザ ID欄 168及びカテゴリ欄 169が設けられている。ユーザ ID欄 168に は、ユーザを識別するための IDが格納される。カテゴリ欄 169には、 57種に分類され たカテゴリのそれぞれにつ 、て、カテゴリに属するコンテンツに対するアクセスをユー ザが許可するか否かを示す情報が格納される。コンテンツの識別情報が、共通カテ ゴリリスト 164に含まれる識別情報に合致した場合、そのコンテンツのカテゴリと、ユー ザ IDに基づいて、そのコンテンツに対するアクセスの許否が判定される。なお、図 33 (d)では、共通カテゴリの数が 57であるが、それ以外であってもよい。
[0116] 図 34は、ウィルスリスト 161、ホワイトリスト 162、ブラックリスト 163、及び共通カテゴ リリスト 164の優先度を示す。本実施の形態では、ウィルスリスト 161、ホワイトリスト 16 2、ブラックリスト 163、共通カテゴリリスト 164の順に優先度が高ぐ例えば、ホワイトリ スト 162に格納されたアクセスが許可されるコンテンツの識別情報であったとしても、 その識別情報がウィルスリスト 161に格納されていれば、コンピュータウィルスを含む コンテンツであるとしてアクセスが禁止される。
[0117] 従来、ソフトウェアを用いて、このような優先度を考慮したマッチングを行うときは、例 えば、優先度の高いリストから順にマッチングを行って最初にヒットしたものを採用す る力、優先度の低 、リストから順にマッチングを行って後からヒットしたものを上書きす る力、いずれかの方法がとられていた。しかしながら、本実施の形態では、専用のハ 一ドウエア回路により構成された通信制御装置 10を利用することにより、ウィルスリス ト 161のマッチングを行う検索回路 30aと、ホワイトリスト 162のマッチングを行う検索 回路 30bと、ブラックリスト 163のマッチングを行う検索回路 30cと、共通カテゴリリスト 164のマッチングを行う検索回路 30dとを設けて、それぞれの検索回路 30において 同時に並列してマッチングを行う。そして、複数のリストでヒットした場合は、優先度の 高いものを採用する。これにより、複数のデータベースが設けられ、それらに優先度 が設定されている場合であっても、検索時間を大幅に短縮することができる。
[0118] ウィルスリスト 161、ホワイトリスト 162、ブラックリスト 163、及び共通カテゴリリスト 16 4のいずれを優先してアクセスの許否を判断するかは、例えば、第 2データベース 60 に設定されて 、てもよ 、。 V、ずれのリストを優先するかに応じて第 2データベース 60 の条件を書き換えてもよ 、。
[0119] このように、複数のデータベースを利用してコンテンツの流通制御を行う際に、デー タベースに優先度を設定して優先度に応じた処理を行うことができるように構成し、か つ、ウィルスリスト 161によるフィルタリングを最優先することで、ユーザによるホワイトリ スト 162などの設定状況にかかわらず、ウィルスを含むコンテンツの流通を確実に禁 止することができる。これにより、ウィルスなどの被害カゝらユーザを適切に保護すること ができる。
[0120] 流通を制御しないコンテンツの場合は、処理実行回路 40は、パケットをそのままネ ットワークへ送出する。流通を制限すべきコンテンツである場合は、処理実行回路 40 力 上述した処理を実行する。例えば、図 27に示した流通制御を行う場合は、処理 実行回路 40は、検索回路 30により検出されたコンテンツのファイル要約情報をパケ ットから削除してから、パケットをネットワークへ送出する。図 28に示した流通制御を 行う場合は、処理実行回路 40は、検索回路 30により検出されたコンテンツのファイル 要約情報に含まれるファイル配布ノードの IPアドレスを、予め第 2データベース 60な どに設定されていた警告コンテンツサーバ 364の IPアドレスに書き換えてから、パケ ットをネットワークへ送出する。図 29に示した流通制御を行う場合は、処理実行回路 40は、検索回路 30により検出されたコンテンツを、第 2データベース 60などに設定さ れていた警告コンテンツに差し替えてから、パケットをネットワークへ送出する。この警 告コンテンツは、警告コンテンツサーバ 364から通信制御装置 10へ与えられてもよい
[0121] 以上の構成及び動作により、不適切なコンテンツに対するアクセスを禁止すること ができる。また、検索回路 30が FPGAなどにより構成された専用のハードウェア回路 であるから、上述したように高速な検索処理が実現され、トラフィックに与える影響を 最小限に抑えつつ、流通制御を実行することができる。 ISP330など力 このようなフ ィルタリングのサービスを提供することにより、付加価値が高まり、より多くのユーザを 集めることができる。
[0122] ホワイトリスト 162又はブラックリスト 163は、全てのユーザに対して共通に設けられ てもよい。また、ユーザ認証を行わず、全てのパケットに対して上述したコンテンツ流 通制御を行ってもよい。この場合、ユーザデータベース 57を設けなくてもよい。
[0123] 以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それ らの各構成要素や各処理プロセスの組合せに 、ろ 、ろな変形例が可能なこと、また そうした変形例も本発明の範囲にあることは当業者に理解されるところである。 産業上の利用可能性
[0124] 本発明は、コンテンツの流通を管理する通信管理システムに利用することができる

Claims

請求の範囲
[1] ピア ·ツー ·ピア通信を行って 、る他のノードとの間でピア ·ツー ·ピア接続して通信 を行う端末と、
前記端末が前記ノードから受信したコンテンツ力 流通を制御すべきコンテンツで あつたときに、そのコンテンツの識別情報を検出するコンテンツ検出装置と、 検出された識別情報を参照して、前記流通を制御すべきコンテンツの送受信を制 御する通信制御装置と、
を備えることを特徴とする通信管理システム。
[2] 前記コンテンツの識別情報は、前記コンテンツのファイル名、ファイルサイズ、又は ノ、ッシュ値を含むことを特徴とする請求項 1に記載の通信管理システム。
[3] 前記通信制御装置は、
前記コンテンツ検出装置が検出した前記コンテンツの識別情報を格納したデータ ベースと、
コンテンツのデータを取得し、そのコンテンツの識別情報が前記データベース中に 存在するか否かを検索する検索回路と、
前記検索回路の検索結果に応じて、前記コンテンツの流通を制御するための処理 を実行する処理実行回路と、
を含むことを特徴とする請求項 1又は 2に記載の通信管理システム。
[4] 前記コンテンツ検出装置が検出した前記流通を制御すべきコンテンツの識別情報 を格糸内するコンテンツデータベースと、
前記コンテンツデータベースを参照して、前記通信制御装置の前記データベース を更新するデータベースサーバと、
を更に備えることを特徴とする請求項 3に記載の通信管理システム。
[5] 前記ピア 'ツー'ピア通信において、コンテンツの検索を要求された前記ノードから 検索の要求元に送信される回答の中に、前記データベースに登録されたコンテンッ の識別情報が含まれていた場合、前記処理実行回路は、そのコンテンツの識別情報 を削除することを特徴とする請求項 3又は 4に記載の通信管理システム。
[6] 前記ピア 'ツー'ピア通信において、コンテンツの検索を要求された前記ノードから 検索の要求元に送信される回答の中に、前記データベースに登録されたコンテンッ の識別情報が含まれていた場合、前記処理実行回路は、そのコンテンツの配布元で あるノードのアドレスを、そのコンテンツの流通を制限すべき旨の警告を発する警告コ ンテンッサーバのアドレスに書き換えることを特徴とする請求項 3から 5のいずれかに 記載の通信管理システム。
[7] 前記ピア 'ツー'ピア通信において、前記ノードから他の装置へ送信されるコンテン ッの識別情報が、前記データベースに登録された識別情報と一致した場合、前記処 理実行回路は、そのコンテンツの送信を遮断することを特徴とする請求項 3から 6の V、ずれかに記載の通信管理システム。
[8] 前記ピア 'ツー'ピア通信において、前記ノードから他の装置へ送信されるコンテン ッの識別情報が、前記データベースに登録された識別情報と一致した場合、前記処 理実行回路は、そのコンテンツを、そのコンテンツの流通を制限すべき旨の警告を発 する警告コンテンツに差し替えることを特徴とする請求項 3から 7のいずれかに記載 の通信管理システム。
[9] 前記通信制御装置は、ワイヤードロジック回路により構成されることを特徴とする請 求項 1から 8のいずれかに記載の通信管理システム。
[10] ピア ·ツー ·ピア通信を行って 、る他のノードとの間でピア ·ツー ·ピア接続して通信 を行う端末が前記ノード力 受信したコンテンツ力 流通を制御すべきコンテンツであ つたときに、そのコンテンツの識別情報を検出するステップと、
検出された識別情報を参照して、前記流通を制御すべきコンテンツの送受信を制 御するステップと、
を含むことを特徴とする通信管理方法。
[11] ピア 'ツー'ピア通信を行っているノード間で送受信されたコンテンツのうち、流通を 制御すべきコンテンッとして検出されたコンテンッの識別情報を格納したデータべ一 スと、
コンテンツのデータを取得し、そのコンテンツの識別情報が前記データベース中に 存在するか否かを検索する検索回路と、
前記検索回路の検索結果に応じて、前記コンテンツの流通を制御するための処理 を実行する処理実行回路と、
を備えることを特徴とする通信制御装置。
PCT/JP2006/311130 2006-06-02 2006-06-02 通信管理システム、通信管理方法、及び通信制御装置 WO2007141835A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2006/311130 WO2007141835A1 (ja) 2006-06-02 2006-06-02 通信管理システム、通信管理方法、及び通信制御装置
US12/302,467 US8417677B2 (en) 2006-06-02 2006-06-02 Communication management system, communication management method and communication control device
JP2007507600A JP4015690B1 (ja) 2006-06-02 2006-06-02 通信管理システム、通信管理方法、及び通信制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2006/311130 WO2007141835A1 (ja) 2006-06-02 2006-06-02 通信管理システム、通信管理方法、及び通信制御装置

Publications (1)

Publication Number Publication Date
WO2007141835A1 true WO2007141835A1 (ja) 2007-12-13

Family

ID=38801107

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/311130 WO2007141835A1 (ja) 2006-06-02 2006-06-02 通信管理システム、通信管理方法、及び通信制御装置

Country Status (3)

Country Link
US (1) US8417677B2 (ja)
JP (1) JP4015690B1 (ja)
WO (1) WO2007141835A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011205197A (ja) * 2010-03-24 2011-10-13 Hitachi Ltd P2p端末検知装置、p2p端末検知方法、およびp2p端末検知システム
JP2012014310A (ja) * 2010-06-30 2012-01-19 Hitachi Information Systems Ltd 情報漏えいファイル検知装置、及びその方法とプログラム
JP2017102559A (ja) * 2015-11-30 2017-06-08 日本電気株式会社 マルウェア判定装置、マルウェア判定方法、及び、マルウェア判定プログラム

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2915598A1 (fr) * 2007-04-27 2008-10-31 France Telecom Procede de filtrage de flots indesirables en provenance d'un terminal presume malveillant
FR2916595A1 (fr) * 2007-05-24 2008-11-28 Thomson Licensing Sas Procede de transmission de paquets de donnees
WO2009069178A1 (ja) * 2007-11-29 2009-06-04 Duaxes Corporation 通信制御装置及び通信制御方法
JP4850218B2 (ja) * 2008-07-30 2012-01-11 株式会社ソニー・コンピュータエンタテインメント データ配信システム
CN101729442B (zh) * 2008-10-23 2013-03-20 华为技术有限公司 一种实现内容共享的方法和装置
EP2359564B1 (en) * 2008-12-03 2018-02-28 Telefonaktiebolaget LM Ericsson (publ) Method for selection of suitable peers in a peer-to-peer (p2p) network
US9385992B2 (en) * 2009-02-13 2016-07-05 Alcatel Lucent Inline key-based peer-to-peer processing
US8204915B2 (en) * 2009-02-13 2012-06-19 Alcatel Lucent Apparatus and method for generating a database that maps metadata to P2P content
US8386429B2 (en) 2009-03-31 2013-02-26 Microsoft Corporation Generic editor for databases
KR101775027B1 (ko) 2010-07-21 2017-09-06 삼성전자주식회사 컨텐트 공유 방법 및 장치
US8924705B1 (en) * 2010-09-24 2014-12-30 Revera Systems Method and detection system for detecting encrypted peer-to-peer (EP2P) sessions associated with a particular EP2P network
US8595211B1 (en) * 2011-02-25 2013-11-26 Symantec Corporation Techniques for managing search engine results
JPWO2013140684A1 (ja) * 2012-03-19 2015-08-03 日本電気株式会社 通信装置、通信用識別情報管理サーバ、通信用識別情報取得方法、通信用識別情報提供方法およびプログラム
US20130254343A1 (en) * 2012-03-22 2013-09-26 Akamai Technologies Inc. Server with message exchange accounting
WO2013181421A2 (en) * 2012-05-31 2013-12-05 Interdigital Patent Holdings, Inc. Method and apparatus for device-to-device (d2d) mobility in wireless systems
KR101609124B1 (ko) * 2014-07-07 2016-04-20 주식회사 윈스 모바일 네트워크 환경에서 행위기반 분석 서비스 제공 방법 및 장치
US10448253B2 (en) * 2015-01-08 2019-10-15 Nec Corporation Wireless terminal
EP3669282B1 (en) * 2017-09-20 2022-11-02 Samsung Electronics Co., Ltd. Method and apparatus for managing a service request in a blockchain network
JP6824151B2 (ja) * 2017-12-26 2021-02-03 三菱電機株式会社 インシデント対応支援装置
US10911337B1 (en) * 2018-10-10 2021-02-02 Benjamin Thaddeus De Kosnik Network activity monitoring service
US20230030168A1 (en) * 2021-07-27 2023-02-02 Dell Products L.P. Protection of i/o paths against network partitioning and component failures in nvme-of environments
US11991281B1 (en) * 2023-10-31 2024-05-21 Massood Kamalpour Systems and methods for digital data management including creation of storage location with storage access id

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005332048A (ja) * 2004-05-18 2005-12-02 Nippon Telegr & Teleph Corp <Ntt> コンテンツ情報の配信方法、コンテンツ配信サーバ、コンテンツ情報の配信プログラム、および同プログラムを記録した記録媒体
JP2006079181A (ja) * 2004-09-07 2006-03-23 Sony Corp 生体照合装置
JP2006121209A (ja) * 2004-10-19 2006-05-11 Ntt Communications Kk ゲートウェイ装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04180425A (ja) 1990-11-15 1992-06-26 Toshiba Corp 通信システム
US7681032B2 (en) 2001-03-12 2010-03-16 Portauthority Technologies Inc. System and method for monitoring unauthorized transport of digital content
EP1315066A1 (en) * 2001-11-21 2003-05-28 BRITISH TELECOMMUNICATIONS public limited company Computer security system
US7096498B2 (en) * 2002-03-08 2006-08-22 Cipher Trust, Inc. Systems and methods for message threat management
JP2004104739A (ja) 2002-09-05 2004-04-02 Hironori Wakayama ウィルス及びハッカー侵入防止機構のためのシステム、侵入防止方法および情報処理装置
JP2006018635A (ja) 2004-07-02 2006-01-19 Matsushita Electric Ind Co Ltd フィルタリングシステム
US7634813B2 (en) * 2004-07-21 2009-12-15 Microsoft Corporation Self-certifying alert
US20060041527A1 (en) * 2004-08-03 2006-02-23 Aaron Fessler Virtual file system
JP2006065488A (ja) 2004-08-25 2006-03-09 Nippon Telegr & Teleph Corp <Ntt> コンテンツ配信システムにおける不正監視方法、コンテンツ配信システム、およびプログラム
JP4579623B2 (ja) 2004-08-27 2010-11-10 キヤノン株式会社 情報処理装置及び受信パケットのフィルタリング処理方法
KR100611740B1 (ko) * 2004-10-13 2006-08-11 한국전자통신연구원 핑거프린트 기반 불법복제 콘텐츠 추적 시스템 및 그 방법
US20100169195A1 (en) * 2005-02-03 2010-07-01 Bernard Trest Preventing unauthorized distribution of content on computer networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005332048A (ja) * 2004-05-18 2005-12-02 Nippon Telegr & Teleph Corp <Ntt> コンテンツ情報の配信方法、コンテンツ配信サーバ、コンテンツ情報の配信プログラム、および同プログラムを記録した記録媒体
JP2006079181A (ja) * 2004-09-07 2006-03-23 Sony Corp 生体照合装置
JP2006121209A (ja) * 2004-10-19 2006-05-11 Ntt Communications Kk ゲートウェイ装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011205197A (ja) * 2010-03-24 2011-10-13 Hitachi Ltd P2p端末検知装置、p2p端末検知方法、およびp2p端末検知システム
JP2012014310A (ja) * 2010-06-30 2012-01-19 Hitachi Information Systems Ltd 情報漏えいファイル検知装置、及びその方法とプログラム
JP2017102559A (ja) * 2015-11-30 2017-06-08 日本電気株式会社 マルウェア判定装置、マルウェア判定方法、及び、マルウェア判定プログラム

Also Published As

Publication number Publication date
US8417677B2 (en) 2013-04-09
JPWO2007141835A1 (ja) 2009-10-15
JP4015690B1 (ja) 2007-11-28
US20100138382A1 (en) 2010-06-03

Similar Documents

Publication Publication Date Title
JP4015690B1 (ja) 通信管理システム、通信管理方法、及び通信制御装置
WO2006103743A1 (ja) 通信制御装置及び通信制御システム
WO2006087907A1 (ja) 通信制御装置
JP4188409B2 (ja) 通信管理システム、通信管理方法、及び通信制御装置
JP4571184B2 (ja) 通信管理システム
WO2006123443A1 (ja) データ処理システム
WO2008023424A1 (fr) Système de gestion de communication et procédé de gestion de communication associé
JPWO2009066343A1 (ja) 通信制御装置及び通信制御方法
JP5393286B2 (ja) アクセス制御システム、アクセス制御装置及びアクセス制御方法
JP2009181359A (ja) ピア・ツー・ピア通信制御装置
WO2008075426A1 (ja) 通信制御装置及び通信制御方法
JP2009182713A (ja) 試験装置
KR20080057284A (ko) 통신 관리 시스템, 통신 관리 방법, 및 통신 제어 장치
JP4638513B2 (ja) 通信制御装置及び通信制御方法
JP5380710B2 (ja) 通信制御装置
JPWO2009066344A1 (ja) 通信制御装置、通信制御システム及び通信制御方法
JPWO2009066347A1 (ja) 負荷分散装置
JP5248445B2 (ja) 通信エージェント、検疫ネットワークシステム
JP5156892B2 (ja) ログ出力制御装置及びログ出力制御方法
KR20190113411A (ko) 보안 서버 및 보안 서버의 운영 방법
JP2009164712A (ja) ボット検出装置
JP2009151598A (ja) 試験装置
JP2009164711A (ja) ボット検出装置
JP2009182708A (ja) ピア・ツー・ピア通信制御装置
JPWO2009066349A1 (ja) 通信制御装置及び通信制御方法

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2007507600

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 06756951

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 12302467

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 06756951

Country of ref document: EP

Kind code of ref document: A1