Abstract: A relay device (100) receives a frame at a communication port (120) and transfers the frame on the basis of address management information including address information in which the communication port (120) is associated with the communication address of the connection destination of the communication port (120). The relay device (100) comprises: a request unit (126) that requests a processing accompanied by updating of the address management information; and an access control unit (125) that in response to a request from the request unit (126) accesses the address management information and performs a requested processing. If the access control unit (125) while performing a first processing in response to and based on a first request from the request unit (126) receives a second request from the request unit (126) then the access control unit (125) performs a second processing based on the second request in parallel with the first processing.
DESCRIPTION
TITLE OF THE INVENTION: RELAY APPARATUS
TECHNICAL FIELD
[0001]
The present invention relates to a relay apparatus for relaying frames that are transmitted and received between communication apparatuses constituting a communication network.
BACKGROUND ART
[0002]
In performing frame transmission through a communication network, a relay apparatus is used as a device that determines a transmission port based on address information of a frame and transfers the frame. As an example of a relay apparatus, a layer 2 switch can be mentioned.
The layer 2 switch has an address table that associates a source Media Access Control (MAC) address of a frame with a communication port that has received the frame. The layer 2 switch refers to the address table in order to determine whether to transfer and register the received frame and in order to determine a transfer destination of the receiver frame. The layer 2 switch accesses the address table mainly at the time of performing the following five types of processing (for example,-, refer
to the Patent Reference 1 or 2) . A first type of processing is processing of searching for a destination MAC address (hereinafter, referred to as MAC DA (Destination Address) ) at the time of frame transmission. A second type of processing is processing of searching for a source MAC address (hereinafter, referred to as MAC SA (Source Address)) at the time of frame reception. A third type of processing is processing of learning a source MAC address . A fourth type of processing is address clearing processing. The fifth type of processing is aging processing to delete an address from which no frame has been received for a prescribed period of time.
PRIOR ART REFERENCES PATENT REFERENCE
[0003]
Patent Reference 1: Japanese Patent Application
Publication No. 2013-258497
Patent Reference 2: Japanese Patent Application
Publication No. 2008-35437
SUMMARY OF THE INVENTION
PROBLEM TO BE SOLVED BY THE INVENTION
[0004]
Recently, demand for high-speed data communication is increasing more and more, and it is needed for network components to operate at high speed. Although a relay apparatus also is required to perform the above-described access processing for each received frame, performance of
a relay apparatus does not catch up with rising of the frame
input rate, and sometimes a relay apparatus cannot
sufficiently function to achieve high-speed and-
high-quality frame transmission.
[0005] •:
When a request for the aging processing is made in the course of performing the clearing processing of an entry in the address table, a relay apparatus of the conventional technology controls the processing so that the clearing processing is completed for allthe addresses and thereafter the aging processing is performed for all the addresses in the address table. Accordingly, in the case where the apparatus scale increases along with speeding-up of operation and the number of addresses that can be stored in the address table increases, the number of accesses to the address table due to the clearing processing or the aging processing increases also, and the performance required for a relay apparatus becomes higher. Since the address table is stored in a memory in a relay apparatus, the performance required for the memory also becomes higher as the above-mentioned number of accesses increases . This causes a problem that a memory cost and power consumption increase. [0006]
An object of the present invention is to solve the above problems, by making the processing of access to the address table more efficient and reducing the load of processing the address table, so as to deal with frame
transmission at high speed and reduce the memory cost and power consumption.
MEANS OF SOLVING THE PROBLEM
[0007]
A relay apparatus according to an aspect of the present invention has: a plurality of communication ports that transmit and receive frames; a storage part that stores address management information including address information, the address information associating one communication port included in the plurality of communication ports with a communication address of a connection destination of the one communication port; a switching control part that transfers a frame received by each of the plurality of communication ports, based on the address management information; a requesting part that makes a request for processing, the processing involving update of the address management information; and an access control part that receives the request from the requesting part and accesses the address management information to perform the requested processing; wherein, in the case where the access control part receives a second request from the requesting part in the course of performing first processing based, on a first request received from the requesting part, the access control part performs second processing based on the second request concurrently with the first processing. [0008]
A relay apparatus according to another aspect of the present invention has: a plurality of communication ports that transmit and receive frames; a storage part that stores address management information including address information, the ' address information associating one communication port included in the plurality of communication ports with a communication address of a' connection destination of the one communication port; a switching control part that transfers a frame received by each of the plurality of communication ports, based on the address management information; a requesting part that makes a request for aging processing, the aging processing deleting address information that has not been accessed for a predetermined period from the address management information; and an access control part that receives the request from the request ing part and performs the aging processing; wherein, the access control part does not delete address information whose number of accesses is more than or equal to a predetermined threshold in a first period of the predetermined period, even if the address information has not been accessed in a second period of the predetermined period next to the first period.
EFFECT OF THE INVENTION
[0009]
According to the aspects of the present invention, processing of access to the address table is made more
4l:
efficient and the load of processing the address table is reduced, and thereby it is possible to deal with frame transmission at high speed and to reduce the memory cost and power consumption.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010]
Fig. 1 is a schematic block, diagram showing a configuration of a relay apparatus according to first and second embodiments;
Fig. 2 is a schematic diagram showing an example of an address table in the first embodiment;
Fig. 3 is a flowchart showing address search and learning processing directed to the address table, the flowchart starting at frame reception in the first embodiment;
Fig. 4 is a flowchart showing aging processing in the first embodiment;
Fig. 5 is a flowchart showing a first example of processing performed in the case where clearing processing and the aging processing compete with each other in the first embodiment;
Fig. 6 is a schematic diagram showing an example of processing performed in the case where the clearing processing and the aging processing overlap with each other in execution timing in conventional technology;
Fig. 7 is a schematic diagram showing an example of processing performed in the case where the clearing
processing and the aging processing overlap with each other in execution timing in the first embodiment;
Fig. 8 is a flowchart showing a second example of processing performed in the case where the clearing processing and the aging processing compete with each other in the first embodiment;
Fig. 9 is a flowchart showing an example of processing performed in the case where first clearing processing and second clearing processing compete with each other in the first embodiment;
Fig. 10 is a schematic diagram showing an example of processing performed in the case where the first clearing processing and the second clearing processing overlap with each other in execution timing in the first embodiment;
Fig. 11 is a schematic diagram showing an example of an address table in the second embodiment;
Fig. 12 is a flowchart showing address search and learning processing directed to the address table, the flowchart starting at receiving of a frame in the first embodiment; and
Fig. 13 is a flowchart showing aging processing in the second embodiment.
MODE FOR CARRYING OUT THE INVENTION
[0011]
Embodiments of the present invention will be described below referring to the drawings. Of course, the below-described embodiments do not limit the present
invention. [0012]
First Embodiment
Fig. 1 is a' schematic block diagram showing a configuration of a relay apparatus 100 according to a first embodiment.
As shown in the figure, the relay apparatus 100 has an address table storage part 110; a plurality of communication ports 120A - 120D (hereinafter, referred to as communication port (or communication ports) 120 when it is not necessary to distinguish each of them) ; a switching control part 121; a frame identification part 122; a MAC DA searching part 123 as a destination address searching part; a MAC SA searching part 124 as a source address searchingpart; anaccesscontrolpart 12 5; anda requesting part 126.
These component parts are connected so that signal or data can be inputted and outputted in one direction or in both directions. [0013]
The address table storage part 110 stores an address table as address management information. The address management information includes address information that associates one communication port 120 among the plurality of communication ports 120 with a communication address of a connection destination of that one communication port 120.
Fig. 2 is a schematic diagram showing an example of
the address table stored in the address table storage part 110.
As shown in the figure, the address table 111 stores address information that includes a MAC address, a communication port number, VALID, and HIT, for each entry 112A - 112C (hereinafter, referred to as entry (or entries) 112 when it is not necessary to distinguish each entry).
The MAC address is a communication address registered in the corresponding entry 112.
The communication port number is communication port identification information for identifying the communication port assigned to the MAC address stored in the corresponding entry 112.
VALID indicates whether the corresponding entry 112 is valid or invalid. For example, when the value of VALID is "1", the corresponding entry 112 is valid, and, when the value is "0", the entry 112 is invalid. An entry 112 that is made invalid means a deleted entry.
HIT indicates whether a search for a MAC SA in the corresponding entry 112 has been successful within the aging time. For example, the value "1" of HIT means success, and the value "0" failure. [0014]
Returning to Fig. 1, each communication port 120 is an interface for transmitting and receiving a frame.
The switching control part 121 transfers the frame received by the communication port 120, based on the address table 111.
The frame identification part 122 analyses the frame received by a communication port 120, and identifies the MAC DA as the destination address and the MAC SA as the source address. [0015]
The MAC DA searching part 123 searches for the MAC DA identified by the frame identification part 122. For example, the MAC DA searching part 123 requests the access control part 125 to access the address table stored in the address table storage part 110 to search for the MAC DA identified by the frame identification part 122.
The MAC SA searching part 124 searches for the MAC SA identified by the frame identification part 122. For example, the MAC SA searching part 124 requests the access control part 125 to access the address table stored in the address table storage part 110 to search for the MAC SA identified by the frame identification part 122. [0016]
The access control part 125 accesses the address table 111 stored in the address table storage part 110. In particular, the access control part 125 receives a request from the requesting part 126 and accesses the address table 111 to perform the requested processing . For example, when search, registration, or deletion of an address in the address table 111 is performed according to a request from the MAC DA searching part 123, the MAC SA searching part 124, or the requesting part 126, the access control part 125 performs deletion or update of the MAC address, the
port number, VALID, or HIT of the entry 112 stored in the address table 111.
Here, if, in the course of performing first processing based on a first request received from the requesting part 126, the access control part 125 receives a second request from the requesting part 126, the access control part 125 performs second processing based on the second request concurrently with the first processing. [0017]
The requesting part 126 requests the access control part 125 to perform processing that involves update of the address table 111 stored in the address table storage part 110. The requesting part 126 has an aging control unit 127 and a clearing control unit 128. [0018]
The aging control unit 127 controls aging processing of an address stored in the address table. The aging processing is processing performed at predetermined intervals, so that an entry that has not been accessed is deleted from the address table 111. -For example, each time that aging time elapses, the aging control unit 127 requests the access control part 125 to clear HITs of all the entries 112. Thereafter, when a MAC SA is searched for at the time of transferring a frame, the value of HIT of an entry 112 retrieved in address learning processing is overwritten with "1". Then, if the value of HIT is still "0" when the aging control unit 127 requests access to all the entries 112 again in the next cycle, the access control part 125
invalidates the corresponding entry 112.
The value of HIT of an entry 112 retrieved in searching
for a MAC SA is overwritten with "1". Therefore, if an
entry 112 is accessed at least once within the aging time,
the value of HIT of that entry 112 becomes "1" . Accordingly, *
an entry 112 having the HIT value "0" is judged to have
never been accessed for a long time and the value of VALID
of that entry 112 is set to "0".
[0019] ■ ■
The clearing control unit 128 controls clearing ■• processing of an address stored in the address table. The clearing processing is processing of deleting a designated entry (a target of deletion) from the address table 111. For example, being triggered by a clearing instruction from an outside circuit (for example, a clearing instruction by S/W) , the clearing control unit 128 requests the access control part 125 to read in turn entries 112 in the address table 111 and to overwrite with "0" the value of VALID of the entry 112 of the appropriate port number. [0020]
Fig. 3 is a flowchart showing address search and learning processing directed to the address table 111.
The flowchart of Fig. 3 is started when a communication port 120 receives a frame. [0021]
The switching control part 121 receives a frame from a communication port 120> and gives the frame to the frame identification part 122. The frame identification part
122 refers to the header of the received frame and identifies the MAC DA and MAC SA of the frame. - Based on the identification result by the frame identification part 122, the MAC DA searching part 123 requests the access control part 125 to search the address table 111 for the MAC DA (S10).. [0022]
In the case where information (for example, destination information) of the frame to be transmitted is registered in the address table 111 (Yes in S10), the processing proceeds to the step Sll.
In the step Sll, the switching control part 121 determines the destination and a transmission path of the frame to be transmitted. The frame is transferred to the communication port 120 determined as the destination.
On the other hand, in the case where the information (for example, destination information) of the frame to be transmitted is not registered in the address table 111 (No in S10), the processing proceeds to the step S12.
In the step S12, the switching control part 121 transfers the frame to be transmitted to all the communication ports 120 except the communication port 120 from which that frame was received. [0023] .
Based on that information (for example, source information) of the frame which is identified by the frame identification part 122, the MAC SA searching part 124 executes a search for the MAC SA by requesting the access
control part 125 (S13) . The access control part 125, for example, judges whether a MAC address and a port number stored in an entry 112 in the address table 111 agree completely with the source MAC address and the port- number identified by the frame identification part 122. [0024]
In the case where the MAC address and the port number of an entry agree completely with those of the received frame (Yes in S13), the processing proceeds to the step
514. In the step S14, the MAC SA searching part 124 causes
the access control part 125 to overwrite the entry 112 whose
MAC address and port number agree with those of the received
frame, so that both VALID and HIT are updated to "1".
On the other hand, in the case where there is no entry 112 whose MAC address and port number agree completely with those of the received frame (No in S13), the processing proceeds to the step S15. In the step S15, the MAC SA searching part 124 causes the access control part 125 to determine whether there is an entry 112 whose value of VALID is "0" in the address table 111. In the case where there is such an entry 112, the processing proceeds to the step S16. Otherwise, the processing is finished without registering the address information. [0025]
In the step S16, the MAC SA searching part 124 requests the access control part 125 to overwrite one of the entries 112 whose value of VALID is identified as "0" in the step
515, with the source MAC address of the received frame,
the port number of the communication port 120 that has received the frame, VALID value "1", and HIT value "1". In the case where a plurality of entries 112 have been found to have VALID value "0" in the step S15, any of those entries 112, for example an entry 112 in the highest position in the address table 111, may be overwritten. [0026]
Fig. 4 is a flowchart showing the aging processing in the first embodiment.
The aging control unit 127 manages time until deletion of information (for example, source information) of a frame from a memory, as aging time (for example, about 10 seconds -5minutes) . When the aging time expires, the aging control unit 127 makes an aging request to the access control part 125, and the access control part 125 starts the flowchart shown in Fig. 4 . [0027]
The access control part 125 reads one entry 112 in turn from the address table 111 (S20).
Then, the access control part 125 judges whether the value of HIT of the read entry 112 is "1" (S21). In the case where the value of HIT of the read entry 112 is Ml" (Yes in S21) , the processing proceeds to the step S22, while in the case where the value of HIT of the read entry 112 is "0" (No in S21), the processing proceeds to the step S23. [0028]
In the step S22, the access control part 125 clears
HIT of the read entry 112. For example, the access control part 125 updates the value of HIT of the read entry 112 to "0". Then, the processing proceeds to the step S24.
On the other hand, in the step S23, the access control part 125 invalidates the read entry 112. For example, the access control part 125 updates the value of VALID of the read entry 112 to "0". Then, the processing proceeds to the step S24. [0029]
In the step S24, the access control part 125 judges whether all the entries 112 have been read from the address table 111. In the case where all the entries 112 have been read (Yes in S24) , the processing is finished. In the case where not all the entries 112 have been read (No in S24) or in other words there is an entry 112 that has not been read yet, the processing returns to the step S20. Then, in the step S20, one entry 112 that has not been read yet is read. [0030]
Fig. 5 is a flowchart showing a first example of processing performed in the case where the clearing processing and the aging processing compete with each other in the first embodiment.
The flowchart shown in Fig. 5 is started when the access control part 125 receives a clearing request from the clearing control unit 128. [0031]
The access control part 125 judges whether an aging
request has been received from the aging control unit 127 in the course of performing the clearing processing (S30) . As described above, the aging control unit 127 makes an aging request to the access control part 125 when the aging time expires. In the case where an aging request has been received (Yes in S30), the processing proceeds to the step S31, while in the case where an aging request has not been received (No in S30), the processing proceeds to the step S39. [0032]
In the step S31, the access control part 125 reads one entry 112 in turn from the address table 111.
Then, the access control part 125 judges whether the read entry 112 is an entry 112 of the communication port 120 that is the target of deletion (S32) . In the case where the read entry 112 is an entry of the communication port 120 that is the target of deletion (Yes in S32), the processing proceeds to the step S33, while in the case where the read entry 112 is not an entry 112 of the communication port 120 that is the target of deletion (No in S32), the processing proceeds to the step S34.
In the step S33, the access control part 125 invalidates the read entry 112. For example, the access control part 125 updates the value of VALID of the read entry 112 to "0". Then, the processing proceeds to the step S37. [0033]
On the other hand, in the step S34, the access control
part 125 judges whether the value of HIT of the read entry 112 is "1". In the case where the value of HIT of the read entry 112 is "1" (Yes in S34), the processing proceeds to the step S35, while in the case where the value of HIT of thereadentryll2is"0" (No in S34 ) , theprocessingproceeds to the step S36. [0034]
In the step S35, the access control part 125 clears HIT of the read entry 112. For example, the access control part 125 updates the value of HIT of the read entry 112 to "0". Then, the processing proceeds to the step S37.
On the other hand, in the step S36, the access control part 125 invalidates the read entry 112. For example, the access control part 125 updates the value of HIT of the read entry 112 to "0". Then, the processing proceeds to the step S37. [0035]
In the step S37, the access control part 125 judges whether all the entries 112 have been read from the address table 111. In the case where all the entries 112 have been read (Yes in S37) , the processing proceeds to the step S38. On the other hand, in the case where not all the entries 112 have been read (NO in S37) or in other words there is an entry 112 that has not been read yet, the processing returns to the step S31. Then, in the step S31, one entry 112 that has not been read yet is read. . [0036]
In the step S38, the access control part 125 performs
the aging processing with respect to the entries 112 for which the aging processing has not been performed yet. For example, the access control reads in turn one entry 112 for which the aging processing has not been performed yet. In the case where the value of HIT of the read entry 112 is "1", the access control part 125 updates the value of HIT of the entry 112 to "0". On the other hand, in the case where the value of HIT of the read entry 112 is "0", the access control part 125 updates the value of VALID of the entry 112 to "0". [0037]
On the other hand, in the case where it is judged in the step S30 that an aging request has not been received (No in S30), the processing proceeds to the step S39. In the step S39, one entry 112 is read in turn from the address table 111.
Then, the access control part 125 judges whether the read entry 112 is an entry 112 of the communication port 120 that is the target of deletion (S40) . In the case where the read entry 112 is an entry 112 of the communication port 120 that is the target of deletion (Yes in S40), the processing proceeds to the step S41, while in the case where the read entry 112 is not an entry 112 of the communication port 120 that is the target of deletion (No in S40), the' -processing proceeds to the step S42.
In the step S41, the access control part 125 invalidates the read entry 112. Then, the processing proceeds to the step S42.
[0038]
In the step S42, the access control part 125 judges whether all the entries 112 have been read from the address table 111. In the case where all the entries 112 have been read (Yes in S42) , the processing is finished. On the other hand, in the case where not all the entries 112 have been read (No in S42) or in other words there is an entry 112 that has not been read yet, the processing returns to the step S30. [0039]
As described above, when an aging request is made in the course of performing the clearing processing, the access control part 125 performs concurrently the clearing processing and the aging processing from the entry 112 that is read next to the entry 112 read at the time when the aging .request is made. As for the entries 112 for which the clearing processing was performed before the request for the aging processing is made, only the clearing processing has been finished, therefore, the access control part 12 5 performs the aging processing with respect to those entries 112 after the completion of the concurrent processing of the clearing processing and the aging processing. [0040]
Fig. 6 is a schematic diagram showing an example of processing performed in the case where the clearing processing and the aging processing overlap with each other in execution timing in the conventional technology.
Here, it is assumed that the address table 111 stores entries 112 referred to as entry #1 through entry #256.
When the access control part 125 receives a clearing request of the entries 112 of the communication port 120A from the clearing control unit 128, the access control part 125 reads one entry 112 in turn from the entry #1 out of the address table 111 and judges whether the read entry 112 is an entry 112 of the communication port 120A. When an entry 112 of the communication port 120A is detected, the access control part 125 deletes that entry 112 (i.e. overwrites its VALID with "0"). [0041]
Here, in the case where the access control part 125 receives an aging request from the aging control unit 127 while reading the entry #100, the access control part 125 suspends the aging request temporarily and continues to perform the clearing processing of the entries 112. When the clearing processing is finished through the entry #256, the access control part 125 notifies the clearing control unit 128 of the completion of the clearing processing of the communication port 120A. [0042]
After the completion of the clearing processing, the access control part 125 reads one entry 112 in turn from the entry #1 to the entry #256, and performs the aging processing with respect to the read entry 112. When the aging processing is finished through the entry #256, the access control part 125 notifies the aging control unit
127 of the completion of the aging processing.
Thus, as shown in Fig. 6, according to the conventional technology, the clearing processing and the aging processing are performed separately even if an aging request is made in the course of performing the clearing processing. Accordingly, since each of the clearing processing and the aging processing is performed, each process imposes the load and requires time. [0043]
Fig. 7 is a schematic diagram showing an example of processing performed in the case where the clearing processing and the aging processing overlap with each other in execution timing in the first embodiment.
Also in Fig. 7, it is assumed that the address table
111 stores entries 112 referred to as entry #1 through entry
#256.
When the access control part 125 receives a clearing request of the entries 112 of the communication port 120A from the clearing control unit 128, the access control part 125 reads one entry 112 in turn from the entry #1 out of the address table 111 and judges whether the read entry
112 is an entry 112 of the communication port 120A. When
an entry 112 of the communication port 120A is detected,
the access control part 125 deletes that entry 112 (i.e.
overwrites its VALID with "0").
[0044]
In the case where the access control part 125 receives an aging request from the aging control unit 127 while
reading the entry #10 0, the access control part 125 performs concurrently the clearing processing and the aging processing from the entry #101. For example, the access control part 125 judges whether the read entry 112 is an entry 112 of the communication port 120A. The access control part 125 deletes the entry 112 of the communication port 120A and performs the aging processing with respect to the entries 112 except the entry 112 of the communication port 120A.
When the clearing processing is finished through the entry #256, the access control part 125 notifies the clearing control unit 128 of the completion of the clearing processing of the communication port 120A. Here, since the aging processing is finished only from the entry #101 to the entry #256, the access control part 125 reads one entry 112 in turn from the entry #1 out of the entry #1 through the entry #100 which remain and performs the aging processing with respect to the read entry 112. When the aging processing is finished through the entry #100, the access control part 125 notifies the aging control unit 127 of the completion of the aging processing. [0045]
As described above, when an aging request is received in the course of performing the clearing processing, the access control part 125 performs concurrently the clearing processing and the aging request, therefore, the processing load is reduced and the processing time becomes shorter. [0046]
Further, also in the case where a request for access to the address table 111 is received from the clearing control unit 128 in the course of performing the aging processing, the access control part 125 performs similar processing.■ [0047]
Fig. 8 is a flowchart showing a second example of processing performed in the case where the clearing processing and the aging processing compete with each other in the first embodiment.
The flowchart shown in Fig. 8 is started when the access control part 125 receives an aging request from the aging control unit 127. [0048]
The access control part 125 judges whether a clearing request has been received from the clearing control unit 128 in the course of performing the aging processing (S50) . As described above, the clearing control unit 128 makes a clearing request to the access control part 125 when a clearing instruction is received from an outside circuit or the like. In the case where a clearing request has been received (Yes in S50) , the processing proceeds to the step S51, while in the case where a clearing request has not been received (No in S50), the processing proceeds to the step S59. [0049]
In the step S51, the access control part 125 reads one entry 112 in turn from the address table 111.
Then, the access control part 125 judges whether the read entry 112 is an entry 112 of the communication port 120 that is the target of deletion (S52) . In the case where the read entry 112 is an entry 112 of the communication port 120 that is the target of deletion (Yes in S52), the processing proceeds to the step S53, while in the case where the read entry 112 is not an entry 112. of the communication port 120 that is the target of deletion (No in S52), the processing proceeds to the step S54.
In the step S53, the access control part 125 invalidates the read entry 112, and the processing proceeds to the step S57. [0050]
On the other hand, in the step S54, the access control part 125 judges whether the value of HIT of the read entry 112 is "1". In the case where the value of HIT of the read entry 112 is ul" (Yes in S54), the processing proceeds to the step S55, while in the case where the value of HIT of thereadentry 112 is "0" (NoinS54), theprocessingproceeds to the step S56. [0051]
In the step S55, the access control part 125 clears HIT of the read entry 112. Then, the processing proceeds to the step S57".
On the other hand, in the step S56, the access control part 125 invalidates the read entry 112. Then, the processing proceeds to the step S57. [0052]
In the step S57, the access control part 125 judges whether all the entries 112 have been read from the address table 111. In the case where all the entries 112 have been read (Yes in S57) , the processing proceeds to the step S58 . On the other hand, in the case where not all the entries 112 have been read (No in S57), or in other words there is an entry 112 that has not been read yet, the processing returns to the step S51. Then, in the step S51, one entry 112 that has not been read yet is read. [0053]
In the step S58, the access control part 125 performs clearing processing with respect to the entries for which the clearing processing has not been performed yet. For example, the access control part 125 reads in turn one entry 112 for which the clearing processing has not been performed yet. Then, the access control part 125 judges whether the read entry 112 is an entry 112 of the communication port 120 that is the target of deletion. In the case where the read entry 112 is an entry 112 of the communication port 120 that is the target of deletion, the access control part 125 invalidates the entry 112. [0054]
On the other hand, in the case where it is judged in the step S50 that a clearing request has not been received (No in S50), the processing proceeds to the step S59. In the step S59, one entry 112 is read in turn from the address table 111.
Then, the access control part 125 judges whether the
value of HIT of the read entry 112 is "1" (S60). In the case where the value of HIT of the read entry 112 is "1" (Yes in S60) , the processing proceeds to the step S61, while in the case where the value of HIT of the read entry 112 is "0" (No in S60), the processing proceeds to the step S62 . [0055]
In the step S61, the access control part 125 clears HIT of the read entry 112. Then, the processing proceeds to the step S63.
On the other hand, in the step S62, the access control part 125 invalidates the read entry 112. Then, the processing proceeds to the step S63. [0056]
In the step S63, the access control part 125 judges whether all the entries 112 have been read from the address table 111. In the case where all the entries 112 have been read (Yes in S63) , the processing is finished. On the other hand, in the case where not all the entries 112 have been read (No in S63), or in other words there is an entry 112 that has not been read, the processing returns to the step S50. [0057]
As described above, when a clearing request is made in the course of performing the aging processing, the access control part 125 performs concurrently the aging processing and the clearing processing from the entry 112 that is read next to the entry 112 read at the time when the clearing
request is made. As for the entries 112 for which the aging processing was performed before the request for the clearing processing is made, only the aging processing has been finished, therefore, the access control part 125 performs the clearing processing with respect to those entries 112' after the completion of the concurrent processing of the aging processing and the clearing processing.
According to the above-described processing, also in the case where a clearing request is made in the course of performing the aging processing, the load can be reduced and the processing time can be shortened. [0058]
Further, the access control part 125 performs similar processing also in the case where the clearing processing of the entries 112 of a communication port 120 overlaps in timing with the clearing processing of the entries 112 of another communication port 120. [0059]
Fig. 9 is a flowchart showing an example of processing performed in the case where the clearing processing (first clearing processing) of the entries 112 of a communication port 120 competes with the clearing processing (second clearing processing) of the entries 112 of another communication port 120.
The flowchart shown in Fig. 9 is started when the access control part 125 receives a clearing request (first clearing request) from the clearing control unit 128. [0060]
The access control part 125 judges whether a clearing request ( second clearing request) for deleting the entries 112 of a communication port 120 different from the communication port 120 of the first clearing request has been received from the clearing control unit 128 in the course of performing the first clearing processing based on the first clearing request (S70). In the case where a second clearing request has been received (Yes in S70), the processing proceeds to the step S71, while in the case where a second clearing request has not been received (No in S70), the processing proceeds to the step S78. [0061]
In the step S71, the access control part 125 reads one entry 112 in turn from the address table 111.
Then, the access control part 125 judges whether the read entry 112 is an entry 112 of the communication port 120 that is the target of deletion according to the first clearing request (S72) . In the case where the read entry 112 issuchanentry 112 (Yes inS72) , theprocessingproceeds to the step S73, while in the case where the read entry 112 is not such an entry 112 (No in S72), the processing proceeds to the step S74.
In the step S73, the access control part 125 invalidates the read entry 112. Then, the processing proceeds to the step S76. [0062]
On the other hand, in the step S74, the access control part 125 judges whether the read entry 112 is an entry 112
of the communication port 120 that is the target of deletion according to the second clearing request. In the case where the read entry 112 is such an entry 112 (Yes in S74), the processing proceeds to the step S75, while in the case where the read entry 112 is not such an entry 112 (No in S74), the processing proceeds to the step S76.
In the step S75, the access control part 125 invalidates the read entry 112. Then, the processing proceeds to the step S76. [0063]
In the step S76, the access control part 125 judges whether all the entries 112 have been read from the address table 111. In the case where all the entries 112 have been read (Yes in S76) , the processing proceeds to the step S77. On the other hand, in the case where not all the entries 112 have been read (No in S76) or in other words there is an entry 112 that has not been read yet, the processing returns to the step S71. In the step S71, one entry 112 that has not been read yet is read. [0064]
In the step S77, the access control part 125 performs the second clearing processing with respect to the entries 112 for which the second clearing processing has not been performed yet. For example, the access control part 125 reads in turn one entry 112 for which the second clearing processing has not been performed yet. Then, the access control part 125 judges whether the read entry 112 is an entry 112 of the communication port 120 that is the target
of deletion according to the second clearing request. In the case where the read entry 112 is an entry 112 of the communication port 120 that is the target of deletion according to the second clearing request, the access control part 125 invalidates that entry 112. [0065]
On the other hand, in the case where it is judged in the step S70 that a second clearing request has not been received (No in S70) , the processing proceeds to the step S78. In the step S78, one entry 112 is read in turn from the address table 111.
Then, the access control part 125 judges whether the read entry 112 is an entry 112 of the communication port 120 that is the target of deletion according to the first clearing request (S79) . In the case where the read entry 112issuchanentryll2 (YesinS79), theprocessingproceeds to the step S80, while in the case where the read entry 112 is not such an entry 112 (No in S79), the processing proceeds to the step S81.
In the step S80, the access control part 125 invalidates the read entry 112. Then, the processing proceeds to the step S81. [0066]
In the step S81, the access control part 125 judges whether all the entries 112 have been read from the address table 111. In the case where all the entries 112 have been read (Yes in S81) , the processing is finished. On the other hand, in the case where not all the entries 112 have been
read (No in S81) or in other words there is an entry 112 that has not been read, the processing returns to the step S70. [0067]
As described above, when the second clearing request is made in the course of performing the clearing processing according to the first clearing request, the access control part 125 performs concurrently the first clearing processing and the second clearing processing from the entry 112 that is read next to the entry 112 read at the time when the second clearing request is made. Asfortheentries 112 for which the first clearing processing was performed before the second clearing request is made, only the first clearing processing has been finished, therefore, the access control part 125 performs the second clearing processing with respect to those entries 112 after the completion of the concurrent processing of the first clearing processing and the second clearing processing. [0068]
Fig. 10 is a schematic diagram showing an example of processing performed in the case where the first clearing processing and the second clearing processing overlap with each other in execution timing in the first embodiment.
Also in Fig. 10, it is assumed that the address table 111 stores entries 112 referred to as entry #1 through entry #256.
When the access control part 125 receives a first clearing request of entries 112 of the communication port
120A from the clearing control unit 128, the access control part 125 reads one entry 112 in turn from the entry #1 out of the address table 111 and judges whether the read entry 112 is an entry 112 of the communication port 120A. In the case where the read entry 112 is an entry 112 of the communication port 12 OA, the access control part 12 5 deletes the entry 112 (i.e. overwrites its VALID with "0"). [0069]
In the case where the clearing control unit 128 makes a second clearing request of the entries 112 of the communication port 12OB to the access control part 125 while the access control part 125 is reading the entry #100, the access control part 125 performs the clearing processing from the entry #101 with respect to entries 112 of the communication port 12 0A and entries 112 of the communication port 120B. The access control part 125 judges whether the read entry 112 is an entry 112 of the communication port 120A. In the case where the read entry 112 is an entry 112 of the communication port 120A, the access control part 125 clears the read entry 112. In the case where the read entry 112 is not an entry 112 of the communication port 120A, the access control part 125 judges whether the read entry 112 is an entry of the communication port 120B. In the case where the read entry 112 is an entry 112 of the communication port 120B, the access control part 12 5 deletes the read entry 112. [0070]
When the clearing processing of the communication
port 120A is finished through the entry #256, the access control part 125 notifies the clearing control unit 128 of the completion of the clearing processing of the communication port 120A. Here, since the clearing processing of the entries 112 of the communication port 120B is finished only from the entry #100 to the entry #256, the access control part 125 reads one entry 112 from the entry #1 in turn out of the remaining entry #1 through the remaining entry #100 and judges whether the read entry 112 is an entry 112 of the communication port 120B. In the case where the rea'd entry 112 is an entry of the communication port 120B, the access control part 125 deletes the read entry 112. When the clearing processing of the communication port 120B is finished through the entry #100, the access control part 125 notifies the clearing control unit 128 of the completion of the clearing processing of the communication port 120B. [0071]
As described above, in the first embodiment, the number of accesses to the address table 111 can be reduced by performing concurrently the clearing processing and the aging processing directed to the address table 111. As a result, high-speed frame transmission can be realized without mounting a plurality of memories, and it is possible to reduce the memory cost and power consumption.
Further, in the first embodiment, the number of accesses to the address table 111 can be reduced by performing concurrently a plurality of processes of the
clearing processing. As a result, high-speed frame transmission can be realized without mounting a plurality of memories, and it is possible to reduce the memory cost and power consumption. [0072]
As for the above-described relay apparatus 100, the switching control part 121, the frame identification part 122, the MAC DA searching part 123, the MAC SA searching part 124, the access control part 125, the aging control unit 127, and the clearing control unit 128 can be realized by a Central Processing Unit (CPU) that executes programs stored in a storage unit. Further, the address table storage part 110 can be realized by the CPU using a volatile or nonvolatile memory.
However, the relay apparatus 100 is not limited to one that is realized by software on a computer system. For example, at least one or all of the switching control part 121, the frame identification part 122, the MAC DA searching part 123, the MAC SA searching part 124, the access control part 125, the aging control unit 127, and the clearing control unit 128 may be implemented by hardware with using an integrated logic IC such as an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) , or the like. Or, some or all of these may be realized by software, using a Digital Signal Processor (DSP) or the like. [0073]
Second Embodiment
Next, a second embodiment will be described. The ■ second embodiment performs aging processing of entries based on the number of received frames, in addition to control of competition of the clearing processing and the aging processing of the above-described first embodiment. [0074]
As shown in Fig. 1, a relay apparatus 200 of the second embodiment has an address table storage part 210; communication ports 120; a switching control part 121; a frame identification part 122; a MAC DA searching part 123; a MAC SA searching part 224; an access control part 225; and a requesting part 126.
The relay apparatus 200 of the second embodiment is constructed similarly to the relay apparatus 100 of the first embodiment except for the address table storage part 210, the MAC SA searching part 224, and the access control part 225. In the following, the address table storage part 210, the MAC SA searching part 224, and the access control part 225, which are different from those of the first embodiment, are mainly described. [0075]
The address table storage part 210 stores an address table as address management information. In the second embodiment, count information that indicates the number of received frames is added to the address table so that an entry with the larger number of received frames may be less likely to become a target of deletion. [0076]
Fig. 11 is a schematic diagram showing an example of the address' table stored in the address table storage part 210.
As shown in the figure, the address table 211 stores address information that includes a MAC address, a communication port number, VALID, HIT, and COUNT for each entry 212A - 211C (hereinafter, referred to as entry (or entries) 212 when it is not necessary to distinguish each entry).
The MAC address, the communication port number, and VALID are similar to those in the first embodiment. [0077]
HIT shows whether the corresponding entry 212 becomes a target of deletion in the aging processing. For example, the value of HIT more than or equal to "1" indicates that the entry 212 does not become a target of deletion, while the value "0" of HIT indicates that the entry 212 becomes a target of deletion. In the second embodiment, in the case where the value of COUNT is more than or equal to a predetermined threshold, the value of HIT is incremented. On the other hand, in the case where the value of COUNT is less than the predetermined threshold, the value of HIT is decremented. As a result, the aging time can be changed dynamically based on the number of accesses to the entry 212 .
COUNT is count information that indicates the number of received frames whose source address is the MAC address of the corresponding entry 212.
[0078]
Returning to Fig. 1, the MAC SA searching part 224 searches the address table 211 for a MAC SA through the access control part 225 based on that information of the frame which is identified by the frame identification part 122. Then, in the case where the address in question exists in the address table 211, the MAC SA searching part 224 requests the access control part 225 to overwrite that entry 212 so that VALID is updated to "1" and, in addition, to increment COUNT. [0079]
Fig. 12 is a flowchart showing address search and learning processing directed to the address table 211, the flowchart starting at receiving of a frame.
In the flowchart shown in Fig. 12, processes similar to those in the flowchart shown in Fig. 3 are given respective reference characters similar to those in Fig. 3, and their detailed descriptions are omitted.
In Fig. 12, the processes of the steps S10 - S13 are similar to the processes of the steps S10 - S13 in Fig. 3. However, in the case where it is judged that the MAC address and the port number agree completely with those of the received frame (Yes in S13) , the processing proceeds to the step S90.
In the step S90, the MAC SA searching part 224 causes the access control part 225 to overwrite the entry 212 whose MAC address and port number agree with those of the received frame, so that VALID is updated to "1" and the value of
COUNT is incremented by "1". [0080]
Further, the process of the step S15 in Fig. 12 is similar to the process of the step S15 in Fig. 3. However, in the step S15, in the case where it is judged that there is an entry 212 whose value of VALID is "0" (Yes in S15), the processing proceeds to the step S91. [0081]
InthestepS91, the MAC SA searching part 22 4 requests the access control part 225 to overwrite one entry 212 whose value of VALID has been identified as "0" in the step S15 with the source MAC address of the received frame, the port number of the port 120 that has received the frame, VALID value "1", HIT value "1", and COUNT value "1". In the case where a plurality of entries 212 have been found to have VALID value "0" in the step S15, any of those entries 212, for example an entry 212 in the highest position in the address table 211, may be overwritten. [0082]
Returning to Fig. 1, the access control part 225 accesses the address table 211 stored in the address table storage part 210. For example, when the access control part 225 performs such various processes to the address table 211 as address search, registration, or deletion respond to a request from the MAC DA searching part 123, the MAC SA searching part 224, or the requesting part 126, the access control part 225 deletes or updates the MAC address, the port number, VALID, HIT, or COUNT of an entry
212 stored in the address table 211. [0083]
When performing the aging processing, the access control part 225 of the second embodiment does not delete an entry whose number of accesses was more than or equal to the predetermined threshold in a first period which is a predetermined period, even if that entry has not been accessed in a second period which is the predetermined period next to the first period. For example, on receiving an aging request from the aging control unit 127, the access control part 225 reads an entry 212 in turn from the address table 211, and in the case where the value of COUNT is "0", the access control part 225 sets the value of HIT to "0" when the value of HIT is "0" or "1", while the access control part 225 decrements the value of HIT when the value of HIT is "2" or more. Further, in the case where the value of COUNT is more than or equal to the predetermined threshold (for example , "100") , the access control part 225 increments the value of HIT, and clears COUNT to "0". Further, in the case where the value of COUNT is less than the predetermined threshold, the value of HIT is set to "1" when the value of HIT is "0" or "1", while the value of HIT is decremented when the value of HIT is "2" or more. As a result, it is possible to control the aging time dynamically based on the number of frames transmitted in the aging time. [0084]
Fig. 13 is a flowchart showing the aging processing
in the second embodiment.
Similarly to the first embodiment, the aging control unit 127 makes an aging request to the access control part 225 when the aging time expires, and the access control part 225 starts the flowchart shown in Fig. 13. [0085]
The access control part 225 reads one entry 212 in turn from the address table 211 (S100).
Then, the access control part 225 judges whether the value of COUNT of the read entry 212 is "0" (S101) . In the case where the value of COUNT is "0" (Yes in S101), the processing proceeds to the step S102, while in the case where the value of COUNT is "1" or more (No in S101), the processing proceeds to the step S105. [0086]
In the step S102, the access control part 225 judges whether the value of HIT of the read entry 212 is "0" or " "1". In the case where the value of HIT is "0" or "1" (Yes in S102), the processing proceeds to the step S103, while in the case where the value of HIT is "2" or more (No in S102), the processing proceeds to the step S104.
In the step S103, the access control part 225 updates the value of HIT of the read entry 212 to "0". Then, the processing proceeds to the step Sill.
In the step S104, the access control part 225 decrements by "1" the value of HIT of the read entry 212. Then, the processing proceeds to the step Sill. [0087]
On the other hand, in the step S105, the access control part 225 judges whether the value of COUNT of the read entry 212 is more than or equal to the predetermined threshold. In the case where the value of COUNT is more than or equal to the predetermined threshold (YesinS105) , the processing proceeds to the step S106, while in the case where the value of COUNT is less than the predetermined threshold (No in S105), the processing proceeds to the step S107.
In the step S106, the access control part 225 increments by "1" the value of HIT of the read entry 212. [0088]
In the step S107, the access control part 225 judges whether the value of HIT of the read entry 212 is "0" or "1". In the case where the value of HIT is "0" or "1" (Yes in S107), the processing proceeds to the step S108, while in the case where the value of HIT is "2" or more, the processing proceeds to the step S109.
In the step S108, the access control part 225 updates the value of HIT of the read entry 212 to "1". Then, the processing proceeds to the step S110.
On the other hand, in the step S109, the access control part 225 decrements by "1" the value of HIT of the read entry 212. Then, the processing proceeds to the step S110 . [0089]
In the step S110, the access control part 225 initializes the value of COUNT of the read entry 212. For example, the access control part 225 sets the value of COUNT to "0". Then, the processing proceeds to the step Sill.
[0090]
In the step Sill, the access control part 225 judges whether the value of HIT of the read entry 212 is "0". In the case where the value of HIT of the read entry 212 is "0" (Yes in Sill), the processing proceeds to the step S112, while in the case where the value of HIT of the read entry 212 is "1" or more (No in Sill), the processing proceeds to the step S113. [0091]
In the step S112, the access control part 225 invalidates the read entry 212. For example, the access control part 225 updates the value of VALID of the read entry 212 to "0". Then, the processing proceeds to the step S113. [0092]
In the step S113, the access control part 225 judges whether all the entries 212 have been read from the address table 211. In the case where all the entries 212 have been read (Yes in S113), the processing is finished. In the case where not all the entries 212 have been read (No in S113) or in other words there is an entry 212 that has not been read yet, the processing returns to the step S100. Then, in the step S100, one entry 212 that has not been read is read. [0093]
As described above, in the second embodiment, the aging time of the source address whose frames have been received with high frequency is extended and the number
of processes of registration in the address table 211 is reduced, so that it is possible to reduce the load of access processing. [0094]
The second embodiment has been described taking an example where only the aging processing is performed. However, the processing explained referring to Fig. 13 may be performed also in the case where the aging processing and the clearing processing compete with each other.
For example, instead of the processes of the steps S34 - S36 shown in Fig. 5, the processes of the steps S101
- S112 shown in Fig. 13 may be performed. Further, instead
of the processes of the steps S54 - S56 shown in Fig. 8,
the processes of the steps S101 - S112 shown in Fig. 13
may be performed. In addition, instead of the processes
S60 - S62 shown in Fig. 8, the processes of the steps S101
- S112 shown in Fig. 13 may be performed.
REFERENCE CHARACTERS
[0095]
100, 200: relay apparatus; 110, 210: address table storage part; 120: communication port; 121: switching control part; 122 : frame identification part; 123: MAC DA searching part; 124, 224: MAC SA searching part; 125, 225: access control part; 126: requesting part; 127: aging control unit; and 128: clearing control unit.
WHAT IS CLAIMED IS: 1. A relay apparatus, comprising:
a plurality of communication ports that transmit and receive frames;
a storage part that stores address management information including address information, the address information associating one communication port included in the plurality of communication ports with a communication address of a connection destination of the one communication port;
a switching control part that transfers a frame received by each of the plurality of communication ports, based on the address management information;
a requesting part that makes a request for processing, the processing involving update of the address management information; and
an access control part that receives the request from the requesting part and accesses the address management information to perform the requested processing; wherein,
in the case where the access control part receives a second request from the requesting part in the course , of performing first processing based on a first request received from the requesting part, the access control part performs second processing based on the second request concurrently with the first processing.
2. The relay apparatus of Claim 1, wherein:
the first processing is one of clearing processing and aging processing, the clearing processing deleting address information designated by the requesting part from the address management information, the aging processing deleting address information that has not been accessed for a predetermined period from the address management information; and
the second processing is the other of the clearing processing and the aging processing.
3. The relay apparatus of Claim 2, wherein:
the access control part reads in turn one item of the address information included in the address management information, and judges whether the read address information is a deletion target designated by the requesting part; and
in the case where the read address information is not the deletion target, the access control part judges whether the read address information has not been accessed for the predetermined period, thereby performing the clearing processing and the aging processing concurrently.
4. The relay apparatus of Claim 2 or 3, wherein:
when the aging processing is performed, the access
control part does not delete address information whose number of accesses is more than or equal to a predetermined threshold in a first period of the predetermined period,
even if the address information has not been accessed in a second period of the predetermined period next to the first period.
5. The relay apparatus of Claim 1, wherein:
the first processing is first clearing processing in which first address information designated by the requesting part is deleted from the address management information; and
the second processing is second clearing processing in which second address information designated by the requesting part is deleted from the address management information.
6. The relay apparatus of Claim 5, wherein:
the access control part reads in turn one address information included in the address management information, and judges whether the read address information is the first address information; and
in the case where the read address information is not the first address information, the access control part judges whether the read address information is the second address information, thereby performing the first clearing processing and the second clearing processing concurrently.
7* A relay apparatus, comprising:
a plurality of communication ports that transmit
and receive frames;
a storage part that stores address management information including address information, the address information associating one communication port included in the plurality of communication ports with a communication address of a connection destination of the one communication port;
a switching control part that transfers a frame received by each of the plurality of communication ports, based on the address management information;
a requesting part that makes a request for aging processing, the aging processing deleting address information that has not been accessed for a predetermined period from the address management information; and
an access control part that receives the request from the requesting part and performs the aging processing; wherein,
the access control part does not delete address information whose number of accesses is more than or equal to a predetermined threshold in a first period of the predetermined period, even if the address information has not been accessed in a second period of the predetermined period next to the first period.
| # | Name | Date |
|---|---|---|
| 1 | 201747027816-IntimationOfGrant04-10-2023.pdf | 2023-10-04 |
| 1 | 201747027816-TRANSLATIOIN OF PRIOIRTY DOCUMENTS ETC. [04-08-2017(online)].pdf | 2017-08-04 |
| 2 | 201747027816-PatentCertificate04-10-2023.pdf | 2023-10-04 |
| 2 | 201747027816-STATEMENT OF UNDERTAKING (FORM 3) [04-08-2017(online)].pdf | 2017-08-04 |
| 3 | 201747027816-Written submissions and relevant documents [27-06-2023(online)].pdf | 2023-06-27 |
| 3 | 201747027816-REQUEST FOR EXAMINATION (FORM-18) [04-08-2017(online)].pdf | 2017-08-04 |
| 4 | 201747027816-PROOF OF RIGHT [04-08-2017(online)].pdf | 2017-08-04 |
| 4 | 201747027816-Correspondence to notify the Controller [23-06-2023(online)].pdf | 2023-06-23 |
| 5 | 201747027816-US(14)-HearingNotice-(HearingDate-26-06-2023).pdf | 2023-04-15 |
| 5 | 201747027816-POWER OF AUTHORITY [04-08-2017(online)].pdf | 2017-08-04 |
| 6 | 201747027816-FORM 18 [04-08-2017(online)].pdf | 2017-08-04 |
| 6 | 201747027816-FER.pdf | 2021-10-17 |
| 7 | 201747027816-FORM 1 [04-08-2017(online)].pdf | 2017-08-04 |
| 7 | 201747027816-ABSTRACT [31-03-2021(online)].pdf | 2021-03-31 |
| 8 | 201747027816-DRAWINGS [04-08-2017(online)].pdf | 2017-08-04 |
| 8 | 201747027816-CLAIMS [31-03-2021(online)].pdf | 2021-03-31 |
| 9 | 201747027816-COMPLETE SPECIFICATION [31-03-2021(online)].pdf | 2021-03-31 |
| 9 | 201747027816-DECLARATION OF INVENTORSHIP (FORM 5) [04-08-2017(online)].pdf | 2017-08-04 |
| 10 | 201747027816-COMPLETE SPECIFICATION [04-08-2017(online)].pdf | 2017-08-04 |
| 10 | 201747027816-DRAWING [31-03-2021(online)].pdf | 2021-03-31 |
| 11 | 201747027816-CLAIMS UNDER RULE 1 (PROVISIO) OF RULE 20 [04-08-2017(online)].pdf | 2017-08-04 |
| 11 | 201747027816-FER_SER_REPLY [31-03-2021(online)].pdf | 2021-03-31 |
| 12 | 201747027816-FORM 3 [31-03-2021(online)].pdf | 2021-03-31 |
| 12 | Correspondence by Agent_Form 1_09-08-2017.pdf | 2017-08-09 |
| 13 | 201747027816-FORM-26 [31-03-2021(online)].pdf | 2021-03-31 |
| 13 | 201747027816-RELEVANT DOCUMENTS [09-08-2017(online)].pdf | 2017-08-09 |
| 14 | 201747027816-Information under section 8(2) [31-03-2021(online)].pdf | 2021-03-31 |
| 14 | 201747027816-MARKED COPIES OF AMENDEMENTS [09-08-2017(online)].pdf | 2017-08-09 |
| 15 | 201747027816-Annexure [09-08-2017(online)].pdf | 2017-08-09 |
| 15 | 201747027816-OTHERS [31-03-2021(online)].pdf | 2021-03-31 |
| 16 | 201747027816-AMMENDED DOCUMENTS [09-08-2017(online)].pdf | 2017-08-09 |
| 16 | 201747027816-FORM 3 [14-06-2018(online)].pdf | 2018-06-14 |
| 17 | 201747027816-FORM 3 [09-02-2018(online)].pdf | 2018-02-09 |
| 17 | 201747027816-Amendment Of Application Before Grant - Form 13 [09-08-2017(online)].pdf | 2017-08-09 |
| 18 | 201747027816-FORM 3 [23-10-2017(online)].pdf | 2017-10-23 |
| 18 | 201747027816.pdf | 2017-08-10 |
| 19 | 201747027816-FORM 3 [01-09-2017(online)].pdf | 2017-09-01 |
| 20 | 201747027816-FORM 3 [23-10-2017(online)].pdf | 2017-10-23 |
| 20 | 201747027816.pdf | 2017-08-10 |
| 21 | 201747027816-Amendment Of Application Before Grant - Form 13 [09-08-2017(online)].pdf | 2017-08-09 |
| 21 | 201747027816-FORM 3 [09-02-2018(online)].pdf | 2018-02-09 |
| 22 | 201747027816-AMMENDED DOCUMENTS [09-08-2017(online)].pdf | 2017-08-09 |
| 22 | 201747027816-FORM 3 [14-06-2018(online)].pdf | 2018-06-14 |
| 23 | 201747027816-Annexure [09-08-2017(online)].pdf | 2017-08-09 |
| 23 | 201747027816-OTHERS [31-03-2021(online)].pdf | 2021-03-31 |
| 24 | 201747027816-MARKED COPIES OF AMENDEMENTS [09-08-2017(online)].pdf | 2017-08-09 |
| 24 | 201747027816-Information under section 8(2) [31-03-2021(online)].pdf | 2021-03-31 |
| 25 | 201747027816-RELEVANT DOCUMENTS [09-08-2017(online)].pdf | 2017-08-09 |
| 25 | 201747027816-FORM-26 [31-03-2021(online)].pdf | 2021-03-31 |
| 26 | 201747027816-FORM 3 [31-03-2021(online)].pdf | 2021-03-31 |
| 26 | Correspondence by Agent_Form 1_09-08-2017.pdf | 2017-08-09 |
| 27 | 201747027816-CLAIMS UNDER RULE 1 (PROVISIO) OF RULE 20 [04-08-2017(online)].pdf | 2017-08-04 |
| 27 | 201747027816-FER_SER_REPLY [31-03-2021(online)].pdf | 2021-03-31 |
| 28 | 201747027816-COMPLETE SPECIFICATION [04-08-2017(online)].pdf | 2017-08-04 |
| 28 | 201747027816-DRAWING [31-03-2021(online)].pdf | 2021-03-31 |
| 29 | 201747027816-COMPLETE SPECIFICATION [31-03-2021(online)].pdf | 2021-03-31 |
| 29 | 201747027816-DECLARATION OF INVENTORSHIP (FORM 5) [04-08-2017(online)].pdf | 2017-08-04 |
| 30 | 201747027816-CLAIMS [31-03-2021(online)].pdf | 2021-03-31 |
| 30 | 201747027816-DRAWINGS [04-08-2017(online)].pdf | 2017-08-04 |
| 31 | 201747027816-FORM 1 [04-08-2017(online)].pdf | 2017-08-04 |
| 31 | 201747027816-ABSTRACT [31-03-2021(online)].pdf | 2021-03-31 |
| 32 | 201747027816-FORM 18 [04-08-2017(online)].pdf | 2017-08-04 |
| 32 | 201747027816-FER.pdf | 2021-10-17 |
| 33 | 201747027816-US(14)-HearingNotice-(HearingDate-26-06-2023).pdf | 2023-04-15 |
| 33 | 201747027816-POWER OF AUTHORITY [04-08-2017(online)].pdf | 2017-08-04 |
| 34 | 201747027816-PROOF OF RIGHT [04-08-2017(online)].pdf | 2017-08-04 |
| 34 | 201747027816-Correspondence to notify the Controller [23-06-2023(online)].pdf | 2023-06-23 |
| 35 | 201747027816-Written submissions and relevant documents [27-06-2023(online)].pdf | 2023-06-27 |
| 35 | 201747027816-REQUEST FOR EXAMINATION (FORM-18) [04-08-2017(online)].pdf | 2017-08-04 |
| 36 | 201747027816-STATEMENT OF UNDERTAKING (FORM 3) [04-08-2017(online)].pdf | 2017-08-04 |
| 36 | 201747027816-PatentCertificate04-10-2023.pdf | 2023-10-04 |
| 37 | 201747027816-IntimationOfGrant04-10-2023.pdf | 2023-10-04 |
| 37 | 201747027816-TRANSLATIOIN OF PRIOIRTY DOCUMENTS ETC. [04-08-2017(online)].pdf | 2017-08-04 |
| 1 | SearchE_30-09-2020.pdf |