Multicast routing program, multicast routing method, and multicast router
Claim Score by NHIP
Abstract
A multicast routing program for allowing multicast data to be transmitted via a different route from a route for unicast data with higher reliability. A state-determining section determines whether all links on a predetermined transmission line to a multicast-transmission terminal device are connected, upon receiving a multicast reception request. If all the links on the predetermined transmission line are connected, a multicast-reception-request transmission section transmits the multicast reception request over the predetermined transmission line. If a link on the predetermined transmission line is disconnected, the multicast reception request is transmitted over a different transmission line. When receiving multicast data from the multicast-transmission terminal device, a multicast-data transfer section transmits multicast data through a communication interface to which the multicast reception request has been input.
Term
Projected expiry 22 February 2027.
- Priority
- Filed
- Published
- Today
- Projected expiry
7 claims: 4 independent, 3 dependent
- 1A multicast routing program for routing multicast data, the program causing a computer to function as:link-managing for monitoring a state of a link between devices connected to a network to set state information in a link state table, the state information indicating whether the link is in a connection state or a disconnection state;predetermined-transmission-line managing means for referring to the link state table to set transmission-line-state information in a predetermined-transmission-line managing table including a predetermined transmission line leading to a multicast-transmission terminal device for distributing multicast data, the transmission-line-state information indicating whether or not all links on the predetermined transmission line are in a connection state;state-determining means for referring to the predetermined-transmission-line managing table to determine whether or not all the links on the predetermined transmission line leading to the multicast-transmission terminal device are connected, upon receiving a multicast reception request specifying the multicast-transmission terminal device;multicast-reception-request transmitting means for transmitting the multicast reception request to an adjacent router on the predetermined transmission line if all the links on the predetermined transmission line are connected, and for selecting one transmission line on which all links leading to the multicast-transmission terminal device are connected to transmit the multicast reception request through the selected transmission line if a link is disconnected on the predetermined transmission line;and multicast-data transferring means for registering identification information of a communication interface to which the multicast reception request is input, in a multicast routing table and, upon receiving multicast data output from the multicast-transmission terminal device, for referring to the multicast routing table to transmit the multicast data from the communication interface to which the multicast reception request is input.
- 5A multicast routing method for routing multicast data using a computer, the method comprising the steps of:causing link-managing means to monitor a state of a link between devices connected to a network to set state information in a link state table, the state information indicating whether the link is in a connection state or a disconnection state;causing predetermined-transmission-line managing means to refer to the link state table to set transmission-line-state information in a predetermined-transmission-line managing table including a predetermined transmission line leading to a multicast-transmission terminal device for distributing multicast data, the transmission-line-state information indicating whether or not all links on the predetermined transmission line are in a connection state;causing state-determining means to refer to the predetermined-transmission-line managing table to determine whether or not all the links on the predetermined transmission line leading to the multicast-transmission terminal device are connected, upon receiving a multicast reception request specifying the multicast-transmission terminal device;causing multicast-reception-request transmitting means to transmit the multicast reception request to an adjacent router on the predetermined transmission line if all the links on the predetermined transmission line are connected, and to select one transmission line on which all links leading to the multicast-transmission terminal device are connected to transmit the multicast reception request through the selected transmission line if a link is disconnected on the predetermined transmission line;and causing multicast-data transferring means to register identification information of a communication interface to which the multicast reception request is input, in a multicast routing table and, upon receiving multicast data output from the multicast-transmission terminal device, to refer to the multicast routing table to transmit the multicast data from the communication interface to which the multicast reception request is input.
- 6Broadest claimClaim Score 29, narrow(NHIP)A multicast router for routing multicast data, comprising:link-managing means for monitoring a state of a link between devices connected to a network to set state information in a link state table, the state information indicating whether the link is in a connection state or a disconnection state;predetermined-transmission-line managing means for referring to the link state table to set transmission-line-state information in a predetermined-transmission-line managing table including a predetermined transmission line leading to a multicast-transmission terminal device for distributing multicast data, the transmission-line-state information indicating whether or not all links on the predetermined transmission line are in a connection state;state-determining means for referring to the predetermined-transmission-line managing table to determine whether or not all the links on the predetermined transmission line leading to the multicast-transmission terminal device are connected, upon receiving a multicast reception request specifying the multicast-transmission terminal device;multicast-reception-request transmitting means for transmitting the multicast reception request to an adjacent router on the predetermined transmission line if all the links on the predetermined transmission line are connected, and for selecting one transmission line on which all links leading to the multicast-transmission terminal device are connected to transmit the multicast reception request through the selected transmission line if a link is disconnected on the predetermined transmission line;and multicast-data transferring means for registering identification information of a communication interface to which the multicast reception request is input, in a multicast routing table and, upon receiving multicast data output from the multicast-transmission terminal device, for referring to the multicast routing table to transmit the multicast data from the communication interface to which the multicast reception request is input.
- 7A computer-readable recording medium having stored a multicast routing program for routing multicast data, the program causing a computer to function as:link-managing means for monitoring a state of a link between devices connected to a network to set state information in a link state table, the state information indicating whether the link is in a connection state or a disconnection state;predetermined-transmission-line managing means for referring to the link state table to set transmission-line-state information in a predetermined-transmission-line managing table including a predetermined transmission line leading to a multicast-transmission terminal device for distributing multicast data, the transmission-line-state information indicating whether or not all links on the predetermined transmission line are in a connection state;state-determining means for referring to the predetermined-transmission-line managing table to determine whether or not all the links on the predetermined transmission line leading to the multicast-transmission terminal device are connected, upon receiving a multicast reception request specifying the multicast-transmission terminal device;multicast-reception-request transmitting means for transmitting the multicast reception request to an adjacent router on the predetermined transmission line if all the links on the predetermined transmission line are connected, and for selecting one transmission line on which all links leading to the multicast-transmission terminal device are connected to transmit the multicast reception request through the selected transmission line if a link is disconnected on the predetermined transmission line;and multicast-data transferring means for registering identification information of a communication interface to which the multicast reception request is input, in a multicast routing table and, upon receiving multicast data output from the multicast-transmission terminal device, for referring to the multicast routing table to transmit the multicast data from the communication interface to which the multicast reception request is input.
Independent claims4
184 paragraphs in 5 sections, as filed
CROSS-REFERENCE TO RELATED APPLICATIONS
0001This application is based upon and claims the benefits of priority from the prior Japanese Patent Application No. 2005-042577, filed on Feb. 18, 2005, the entire contents of which are incorporated herein by reference.
BACKGROUND OF THE INVENTION
00021. Field of the Invention
0003The present invention relates to multicast routing programs, multicast routing methods, and multicast routers for routing multicast data. In particular, the present invention relates to a multicast routing program, a multicast routing method, and a multicast router for allowing multicast data to be transmitted over a transmission line different from a transmission line for unicast data.
00042. Description of the Related Art
0005Recent development of the advanced information society has promoted the proliferation of optical fibers all over the nation. With this widespread use of optical fibers, the Internet Protocol (IP) network communication speed has also been increased. These higher communication speeds have brought about new forms of communication based on IP multicast, such as moving-image distribution services and network game applications, in addition to conventional forms of communication including World Wide Web and electronic mail applications.
0006Several types of IP multicast technologies are currently available. Among others, Protocol Independent Multicast-Sparse Mode (PIM-SM) for efficiently using network traffic is a typical IP multicast technology, which is employed in many IP multicast networks.
0007<figref idref="DRAWINGS">FIG. 18</figref> is a diagram depicting a technology for transmitting multicast data by known dynamic routing. A plurality of optical fibers is laid down among routers <b>901</b> to <b>906</b> (including layer <b>3</b> switches). In other words, the routers <b>901</b> to <b>906</b> are interconnected via a plurality of paths. Connecting the routers via a plurality of paths allows an alternative route to be automatically selected by dynamic routing in the event of a line failure such as a breakage of an optical fiber.
0008Network segments <b>910</b> and <b>920</b> are connected to the router <b>901</b>. A terminal device <b>911</b> is connected to the segment <b>910</b>. A terminal device <b>921</b> is connected to the segment <b>920</b>.
0009Network segments <b>930</b> and <b>940</b> are connected to the router <b>906</b>. A terminal device <b>931</b> and a multicast-transmission terminal device <b>932</b> are connected to the segment <b>930</b>. A terminal device <b>941</b> and a multicast-transmission terminal device <b>942</b> are connected to the segment <b>940</b>. The multicast-transmission terminal devices <b>932</b> and <b>942</b> generate and output source data to be multicast.
0010This network controls data paths by Open Shortest Path First (OSPF). The routers <b>901</b> to <b>906</b> each acquire segment information by dynamic routing and generate a unicast routing table. The unicast routing tables include a cost of each path among the routers <b>901</b> to <b>906</b>.
0011A path passing through the routers <b>901</b>, <b>902</b>, <b>904</b>, and <b>906</b> has a cost of “1” between adjacent routers. A path passing through the routers <b>901</b>, <b>903</b>, <b>905</b>, and <b>906</b> has a cost of “10” between adjacent routers. The routers <b>901</b> to <b>906</b> carry out data routing by selecting a path with a lower cost.
0012It is assumed that unicast communication is carried out between the terminal device <b>911</b> and the terminal device <b>931</b>. Unicast data <b>951</b> is transmitted and received through a path with a lower cost. Therefore, the unicast data <b>951</b> is transmitted and received via the path over the routers <b>901</b>, <b>902</b>, <b>904</b>, and <b>906</b>.
0013A procedure for transmitting multicast data by the PIM-SM technology will be described next. This example assumes that multicast data <b>953</b> is distributed from the multicast-transmission terminal device <b>932</b> to the terminal device <b>911</b>.
0014To enable the terminal device <b>911</b> to receive the multicast data <b>953</b> from the multicast-transmission terminal device <b>932</b>, the terminal device <b>911</b> transmits to the router <b>901</b> a multicast reception request (join message) <b>952</b> bound for the unicast address of the multicast-transmission terminal device <b>932</b>. The multicast reception request <b>952</b> is periodically transmitted by the terminal device <b>911</b>.
0015When the router <b>901</b> has received the multicast reception request <b>952</b>, it refers to the unicast routing table to select the path with the lowest cost from among the paths connected to the multicast-transmission terminal device <b>932</b> and then transmits the multicast reception request <b>952</b> to the adjacent router <b>902</b> on the selected path.
0016This operation of transmitting the multicast reception request <b>952</b> is sequentially repeated at the routers on the path up to the router <b>906</b> connected to the segment <b>930</b>, including the multicast-transmission terminal device <b>932</b>. When the router <b>906</b> receives the multicast reception request <b>952</b>, it outputs the multicast data <b>953</b> through the communication interface that has received the multicast reception request <b>952</b>. The routers <b>904</b>, <b>902</b>, and <b>901</b> also transfer the multicast data <b>953</b>. As a result, the multicast data <b>953</b> is transmitted to the terminal device <b>911</b>, which has transmitted the multicast reception request <b>952</b>.
0017When the multicast data <b>953</b> is distributed by the PIM-SM technology in this manner, the multicast data <b>953</b> output from the multicast-transmission terminal device <b>932</b> in the segment <b>930</b> and the unicast data <b>951</b> output from the terminal device <b>931</b> in the segment <b>930</b> are transmitted to the terminal device <b>911</b> over the same path.
0018In dynamic routing, a data reception path is automatically switched in the event of a line failure or other problems. Also in this case, multicast data and unicast data are transferred along the same path.
0019Instead of transmitting a multicast reception request along unicast routing, a destination to which the multicast reception request is transmitted can be statically preset.
0020<figref idref="DRAWINGS">FIG. 19</figref> is a diagram depicting a technology for transmitting multicast data by known static routing. In a network shown in <figref idref="DRAWINGS">FIG. 19</figref>, the routers <b>901</b> to <b>906</b> on the network shown in <figref idref="DRAWINGS">FIG. 18</figref> are replaced with routers <b>961</b> to <b>966</b>, respectively, for performing static routing. The transfer of unicast data <b>971</b> is carried out according to the unicast routing tables in the same manner as in <figref idref="DRAWINGS">FIG. 18</figref>.
0021A multicast reception request <b>972</b> (join message) is statically preset in the routers <b>961</b> to <b>966</b>. In the case of <figref idref="DRAWINGS">FIG. 19</figref>, in the router <b>961</b>, the transfer destination of the multicast reception request <b>972</b> specifying the multicast address of the multicast-transmission terminal device <b>932</b> is set to the router <b>963</b>. Similarly, in the router <b>963</b>, the transfer destination of the multicast reception request <b>972</b> specifying the multicast address of the multicast-transmission terminal device <b>932</b> is set to the router <b>965</b>. In the router <b>965</b>, the transfer destination of the multicast reception request <b>972</b> specifying the multicast address of the multicast-transmission terminal device <b>932</b> is set to the router <b>966</b>.
0022When the multicast reception request <b>972</b> specifying the multicast address of the multicast-transmission terminal device <b>932</b> is output from the terminal device <b>911</b>, the multicast reception request <b>972</b> is passed to the router <b>961</b>. The router <b>961</b> transmits the multicast reception request <b>972</b> to the router <b>963</b> according to the static setting. At this time, no reference is made to the unicast routing table. Subsequently, the multicast reception request <b>972</b> is transferred from the router <b>963</b> to the router <b>965</b> and further from the router <b>965</b> to the router <b>966</b>.
0023When the router <b>966</b>, which has received multicast data <b>973</b> from the multicast-transmission terminal device <b>932</b>, receives the multicast reception request <b>972</b> from the router <b>965</b>, the router <b>966</b> transmits the multicast data <b>973</b> to the line over which the multicast reception request <b>972</b> has been received. When the routers <b>965</b>, <b>963</b>, and <b>961</b> receive the multicast data <b>973</b>, they also transmit the multicast data <b>973</b> to the line over which the multicast reception request <b>972</b> has been received.
0024Consequently, the multicast data <b>973</b> is transmitted to the terminal device <b>911</b>. The multicast reception request <b>972</b> is periodically transmitted from the terminal device <b>911</b>.
0025A network relay device for selecting an optimal path according to the type of transmission data and forwarding reception data to the selected path is also disclosed (for example, see Japanese Unexamined Patent Publication No. 2003-78556).
0026However, multicast data transferred by dynamic routing always goes over the same path as that for unicast data. More specifically, when a router transfers a multicast reception request output from a terminal device, the router searches the unicast routing table for the unicast address of the multicast-transmission terminal device and transmits the multicast reception request through the shortest path. This transmission path for the multicast reception request is the same as that for unicast data. The multicast data goes in the reverse direction over the path taken by the multicast reception request. This means that the multicast data and the unicast data always use the same line.
0027For this reason, multicast data and unicast data cannot be distributed via different routes.
0028On the other hand, static multicast routing allows multicast data and unicast data to be distributed via different routes. In this case, however, the multicast data cannot be automatically diverted to the line for unicast data in the event of a failure on the line set for static multicast routing. Therefore, network reliability deteriorates.
0029Japanese Unexamined Patent Publication No. 2003-78556 also discloses a technology for carrying out path selection according to the protocol of communication data. In this technology, however, the transmission line for multicast data is determined depending on the transmission line taken by a multicast reception request output from a terminal device. Therefore, once the multicast reception request has been transmitted over the same path as that for unicast data, it is difficult to transmit multicast data output from the multicast-transmission terminal device via a route different from that for the unicast data even if the path selection technology described in Japanese Unexamined Patent Publication No. 2003-78556 is applied to the multicast data.
0030Multicast data can be prevented from being output to irrelevant routes by transferring the multicast data in the reverse direction over the path taken by the multicast reception request. This processing is necessary to make communication efficient. Thus, if a technology disclosed in Japanese Unexamined Patent Publication No. 2003-78556 is used, regardless of the path taken by the multicast reception request, to distribute unicast data and multicast data via different routes, the multicast data is transmitted to irrelevant routes. This means that it is difficult to apply the technology, described in Japanese Unexamined Patent Publication No. 2003-78556, directly to unicast data and multicast data to be distributed via different routes.
SUMMARY OF THE INVENTION
0031In view of the foregoing, it is an object of the present invention to provide a multicast routing program, a multicast routing method, and a multicast router for allowing multicast data to be transmitted via a different route from a route for unicast data with higher reliability.
0032To accomplish the above object, according to the present invention, there is provided a multicast routing program for routing multicast data. This multicast routing program for routing multicast data causes a computer to function as: a link-managing unit for monitoring a state of a link between devices connected to a network to set state information in a link state table, the state information indicating whether the link is in a connection state or a disconnection state; a predetermined-transmission-line managing unit for referring to the link state table to set transmission-line-state information in a predetermined-transmission-line managing table including a predetermined transmission line leading to a multicast-transmission terminal device for distributing multicast data, the transmission-line-state information indicating whether or not all links on the predetermined transmission line are in a connection state; a state-determining unit for referring to the predetermined-transmission-line managing table to determine whether or not all the links on the predetermined transmission line leading to the multicast-transmission terminal device are connected, upon receiving a multicast reception request specifying the multicast-transmission terminal device; a multicast-reception-request transmitting unit for transmitting the multicast reception request to an adjacent router on the predetermined transmission line if all the links on the predetermined transmission line are connected, and for selecting one transmission line on which all links leading to the multicast-transmission terminal device are connected to transmit the multicast reception request through the selected transmission line if a link is disconnected on the predetermined transmission line; and a multicast-data transferring unit for registering identification information of a communication interface to which the multicast reception request is input, in a multicast routing table and, upon receiving multicast data output from the multicast-transmission-terminal device, for referring to the multicast routing table to transmit the multicast data from the communication interface to which the multicast reception request is input.
0033To accomplish the above object, according to the present invention, there is provided a multicast routing method for routing multicast data using a computer. This multicast routing method for routing multicast data using a computer includes the following steps: causing a link-managing unit to monitor a state of a link between devices connected to a network to set state information in a link state table, the state information indicating whether the link is in a connection state or a disconnection state; causing a predetermined-transmission-line managing unit to refer to the link state table to set transmission-line-state information in a predetermined-transmission-line managing table including a predetermined transmission line leading to a multicast-transmission terminal device for distributing multicast data, the transmission-line-state information indicating whether or not all links on the predetermined transmission line are in a connection state; causing a state-determining unit to refer to the predetermined-transmission-line managing table to determine whether or not all the links on the predetermined transmission line leading to the multicast-transmission terminal device are connected, upon receiving a multicast reception request specifying the multicast-transmission terminal device; causing a multicast-reception-request transmitting unit to transmit the multicast reception request to an adjacent router on the predetermined transmission line if all the links on the predetermined transmission line are connected, and to select one transmission line on which all links leading to the multicast-transmission terminal device are connected to transmit the multicast reception request through the selected transmission line if a link is disconnected on the predetermined transmission line; and causing a multicast-data transferring unit to register identification information of a communication interface to which the multicast reception request is input, in a multicast routing table and, upon receiving multicast data output from the multicast-transmission terminal device, to refer to the multicast routing table to transmit the multicast data from the communication interface to which the multicast reception request is input.
0034To accomplish the above object, according to the present invention, there is provided a multicast router for routing multicast data. This multicast router for routing multicast data includes the following elements: a link-managing unit for monitoring a state of a link between devices connected to a network to set state information in a link state table, the state information indicating whether the link is in a connection state or a disconnection state; a predetermined-transmission-line managing unit for referring to the link state table to set transmission-line-state information in a predetermined-transmission-line managing table including a predetermined transmission line leading to a multicast-transmission terminal device for distributing multicast data, the transmission-line-state information indicating whether or not all links on the predetermined transmission line are in a connection state; a state-determining unit for referring to the predetermined-transmission-line managing table to determine whether or not all the links on the predetermined transmission line leading to the multicast-transmission terminal device are connected, upon receiving a multicast reception request specifying the multicast-transmission terminal device; a multicast-reception-request transmitting unit for transmitting the multicast reception request to an adjacent router on the predetermined transmission line if all the links on the predetermined transmission line are connected, and for selecting one transmission line on which all links leading to the multicast-transmission terminal device are connected to transmit the multicast reception request through the selected transmission line if a link is disconnected on the predetermined transmission line; and a multicast-data transferring unit for registering identification information of a communication interface to which the multicast reception request is input, in a multicast routing table and, upon receiving multicast data output from the multicast-transmission terminal device, for referring to the multicast routing table to transmit the multicast data from the communication interface to which the multicast reception request is input.
0035To accomplish the above object, according to the present invention, there is provided a computer-readable recording medium having stored the above-described multicast routing program for routing multicast data.
0036The above and other objects, features and advantages of the present invention will become apparent from the following description when taken in conjunction with the accompanying drawings which illustrate preferred embodiments of the present invention by way of example.
BRIEF DESCRIPTION OF THE DRAWINGS
0037<figref idref="DRAWINGS">FIG. 1</figref> is a diagram depicting an outline of an embodiment.
0038<figref idref="DRAWINGS">FIG. 2</figref> is a diagram depicting an example structure of a system according to the embodiment of the present invention.
0039<figref idref="DRAWINGS">FIG. 3</figref> is a diagram depicting an example hardware structure of a server used in the embodiment.
0040<figref idref="DRAWINGS">FIG. 4</figref> is a block diagram depicting functions of the server.
0041<figref idref="DRAWINGS">FIG. 5</figref> is a diagram depicting an example data structure of a unicast routing table.
0042<figref idref="DRAWINGS">FIG. 6</figref> is a diagram depicting an example data structure of a state management data base.
0043<figref idref="DRAWINGS">FIG. 7</figref> is a diagram depicting an example data structure of multicast routing tables.
0044<figref idref="DRAWINGS">FIG. 8</figref> is a flowchart illustrating a processing procedure for state registration performed by a multicast-link checking section.
0045<figref idref="DRAWINGS">FIG. 9</figref> is a flowchart illustrating a processing procedure for state registration performed by a multicast-static checking section.
0046<figref idref="DRAWINGS">FIG. 10</figref> is a flowchart illustrating a processing procedure followed in response to a multicast reception request.
0047<figref idref="DRAWINGS">FIG. 11</figref> is a diagram depicting the transmission of unicast data.
0048<figref idref="DRAWINGS">FIG. 12</figref> is a diagram depicting transmission paths for multicast reception requests.
0049<figref idref="DRAWINGS">FIG. 13</figref> is a diagram depicting a transmission line for multicast data.
0050<figref idref="DRAWINGS">FIG. 14</figref> is a diagram depicting a transmission line for multicast reception requests in the event of a failure.
0051<figref idref="DRAWINGS">FIG. 15</figref> is a diagram depicting a transmission line for multicast data after a failure occurs.
0052<figref idref="DRAWINGS">FIG. 16</figref> is a diagram depicting transmission lines for multicast reception requests for distributing multicast data via different routes depending on the type of the multicast data.
0053<figref idref="DRAWINGS">FIG. 17</figref> is a diagram depicting transmission lines for multicast data to be distributed via different routes depending on the type of the multicast data.
0054<figref idref="DRAWINGS">FIG. 18</figref> is a diagram depicting a technology for transmitting multicast data by known dynamic routing.
0055<figref idref="DRAWINGS">FIG. 19</figref> is a diagram depicting a technology for transmitting multicast data by known static routing.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
0056An embodiment according to the present invention will now be described with reference to the drawings. All “routers” described in the embodiment according to the present invention are assumed to be multicast routers capable of routing multicast data. Routers may be referred to as servers.
0057<figref idref="DRAWINGS">FIG. 1</figref> is a diagram depicting an outline of the present embodiment. A router <b>1</b> for routing multicast data <b>7</b> is connected to a terminal device <b>2</b> (address “aa”) through a network <b>8</b><i>a</i>. The router <b>1</b> is also connected to other terminal devices (not shown) through the network <b>8</b><i>a </i>and a network <b>8</b><i>b</i>. Furthermore, the router <b>1</b> is connected to a network <b>8</b><i>c </i>through other routers <b>4</b> and <b>5</b> (addresses “dd” and “ee”, respectively). A multicast-transmission terminal device <b>3</b> (unicast address “bb” and multicast address “cc”) is connected to the network <b>8</b><i>c. </i>
0058The terminal device <b>2</b> is a computer used by a user. When the terminal device <b>2</b> is to receive the multicast data <b>7</b> distributed by the multicast-transmission terminal device <b>3</b>, the terminal device <b>2</b> periodically (every 30 seconds, for example) outputs a multicast reception request <b>6</b> bound for the multicast-transmission terminal device <b>3</b>. In the multicast reception request <b>6</b>, the unicast address “bb” of the multicast-transmission terminal device <b>3</b> is specified as the address of the transmission destination. The multicast reception request <b>6</b> also includes the multicast address “cc” of the multicast-transmission terminal device <b>3</b>.
0059The multicast-transmission terminal device <b>3</b> transmits the multicast data <b>7</b> through the network <b>8</b><i>c. </i>
0060The routers <b>1</b>, <b>4</b>, and <b>5</b> transfer the multicast reception request <b>6</b> output from the terminal device <b>2</b> to the multicast-transmission terminal device <b>3</b>. For this purpose, when all links on a predetermined transmission line are connected, each of the routers <b>1</b>, <b>4</b>, and <b>5</b> transfers the multicast reception request <b>6</b> to its adjacent router on the predetermined transmission line. Furthermore, if there is a broken link on the predetermined transmission line, each of the routers <b>1</b>, <b>4</b>, and <b>5</b> transfers the multicast reception request <b>6</b> to its adjacent router on a transmission line different from the predetermined transmission line. In addition, the routers <b>1</b>, <b>4</b>, and <b>5</b> transfer the multicast data <b>7</b> in the opposite direction over the transmission line taken by the multicast reception request <b>6</b>.
0061To relay data between different networks, the router <b>1</b> includes a plurality of communication interfaces: <b>1</b><i>f</i>, <b>1</b><i>g</i>, <b>1</b><i>h</i>, and <b>1</b><i>i </i>(with identification numbers “I/F#<b>1</b>”, “I/F#<b>2</b>”, “I/F#<b>3</b>”, and “I/F#<b>4</b>”, respectively). Furthermore, to transfer the multicast reception request <b>6</b> and the multicast data <b>7</b>, the router <b>1</b> includes processing functions shown in <figref idref="DRAWINGS">FIG. 1</figref>. The other routers <b>4</b> and <b>5</b> include the same functions as the router <b>1</b>. The functions of the router <b>1</b> are described below.
0062A link management unit <b>1</b><i>a </i>monitors the state of the link between each pair of adjacent devices connected to a network to set in a link state table <b>1</b><i>aa </i>state information indicating whether the link (communication state on the network layer) between each pair of adjacent devices is in a connection state or a disconnection state. In the link state table <b>1</b><i>aa</i>, a link state between each pair of adjacent devices is registered, for example, in association with a link number for uniquely identifying the link. The link state is indicated with, for example, “UP” for a connection state and “DOWN” for a disconnection state.
0063The link management unit <b>1</b><i>a </i>is capable of recognizing the state of each link, for example, by checking a response to a ping command. The link management unit <b>1</b><i>a </i>can also recognize the state of each link in cooperation with an OSPF database.
0064A predetermined-transmission-line management unit <b>1</b><i>b </i>includes a predetermined-transmission-line management table <b>1</b><i>ba </i>which contains information about the predetermined transmission line up to the multicast-transmission terminal device <b>3</b> that distributes multicast data. By referring to the link state table <b>1</b><i>aa</i>, the predetermined-transmission-line management unit <b>1</b><i>b </i>sets in the predetermined-transmission-line management table <b>1</b><i>ba </i>transmission-line-state information indicating whether or not all links on the predetermined transmission line are in a connection state. In the predetermined-transmission-line management table <b>1</b><i>ba</i>, a predetermined transmission line used to transfer a multicast reception request is defined with link numbers (all link numbers) of the links specifying the predetermined transmission line, in association with, for example, the multicast address (“cc” in the example of <figref idref="DRAWINGS">FIG. 1</figref>) of the multicast-transmission terminal device <b>3</b>.
0065In the predetermined-transmission-line management table <b>1</b><i>ba</i>, the address (multicast-reception-request-transmission destination) of an adjacent router on the predetermined transmission line is also registered in association with the multicast address. In the example of <figref idref="DRAWINGS">FIG. 1</figref>, the predetermined transmission line up to the multicast-transmission terminal device <b>3</b> (multicast address “cc”) is defined as the line via the router <b>5</b> (address “ee”), and therefore, the address of the router <b>5</b> is registered as the multicast-reception-request-transmission destination.
0066In the predetermined-transmission-line management table <b>1</b><i>ba</i>, the “UP” state is set if all links on the predetermined transmission line are connected. In the predetermined-transmission-line management table <b>1</b><i>ba</i>, the “DOWN” state is set if at least one link on the predetermined transmission line is disconnected.
0067When a state-determining unit <b>1</b><i>c </i>receives the multicast reception request <b>6</b> specifying the multicast-transmission terminal device <b>3</b>, the state-determining unit <b>1</b><i>c </i>refers to the predetermined-transmission-line management table <b>1</b><i>ba </i>to determine whether all links on the predetermined transmission line leading to the multicast-transmission terminal device <b>3</b> are connected. In other words, the state-determining unit <b>1</b><i>c </i>searches the predetermined-transmission-line management table <b>1</b><i>ba </i>for a record associated with the multicast address “cc” of the multicast-transmission terminal device <b>3</b> serving as the destination of the multicast reception request <b>6</b>. The state-determining unit <b>1</b><i>c </i>determines the state of the transmission line depending on whether the detected record indicates “UP” or “DOWN”.
0068If all links on the predetermined transmission line are connected, a multicast-reception-request transmission unit <b>1</b><i>d </i>transmits the multicast reception request <b>6</b> to an adjacent router on the transmission line. In contrast, if there is a broken link on the predetermined transmission line, the multicast-reception-request transmission unit <b>1</b><i>d </i>selects one of transmission lines on which all links leading to the multicast-transmission terminal device <b>3</b> are connected and transmits the multicast reception request <b>6</b> to the selected transmission line.
0069If there is a broken link on the predetermined transmission line, the multicast-reception-request transmission unit <b>1</b><i>d </i>can refer to, for example, a unicast routing table <b>1</b><i>da </i>to select a transmission line.
0070In the example of <figref idref="DRAWINGS">FIG. 1</figref>, in the unicast routing table <b>1</b><i>da</i>, the cost of every transmission line and the address (gateway) of an adjacent router are registered in association with the unicast address “bb” (target network) of the multicast-transmission terminal device <b>3</b> serving as the destination. In this case, the multicast-reception-request transmission unit <b>1</b><i>d </i>refers to the unicast routing table <b>1</b><i>da </i>to select the transmission line with the lowest cost from among the transmission lines associated with the unicast address “bb” of the multicast-transmission terminal device <b>3</b>. The multicast-reception-request transmission unit <b>1</b><i>d </i>transmits the multicast reception request <b>6</b> to the adjacent router (the router <b>4</b> with address “dd” in the example of <figref idref="DRAWINGS">FIG. 1</figref>) on the selected transmission line.
0071A multicast-data transfer unit <b>1</b><i>e </i>registers in a multicast routing table lea the identification information of the communication interface to which the multicast reception request <b>6</b> has been input. For example, a set of transmission terminal addresses (the unicast address and multicast address of the multicast-transmission terminal device <b>3</b>), a reception interface (the identification number of the communication interface from which the multicast reception request <b>6</b> has been output), and a transmission interface list (a list of communication interfaces through which multicast reception requests bound for the multicast-transmission terminal device <b>3</b> have been input) are registered in the multicast routing table lea.
0072Furthermore, when the multicast data <b>7</b> output from the multicast-transmission terminal device <b>3</b> is received, the multicast-data transfer unit <b>1</b><i>e </i>refers to the multicast routing table lea to transmit the multicast data <b>7</b> from the communication interface <b>1</b><i>f </i>to which the multicast reception request <b>6</b> has been input. More specifically, when the multicast data <b>7</b> input through the reception interface described in the multicast routing table <b>1</b><i>ea </i>is originated from the multicast-transmission terminal device <b>3</b> indicated with the transmission terminal addresses, the multicast-data transfer unit <b>1</b><i>e </i>outputs the multicast data <b>7</b> from the communication interface listed in the transmission interface list.
0073According to the router <b>1</b>, the link management unit <b>1</b><i>a </i>monitors the state of the link between each pair of adjacent devices connected to a network to set in the link state table <b>1</b><i>aa </i>state information indicating whether the link between each pair of adjacent devices is in a connection state or a disconnection state. Furthermore, the predetermined-transmission-line management unit <b>1</b><i>b </i>refers to the link state table <b>1</b><i>aa </i>and sets transmission-line-state information indicating whether or not all links on the predetermined transmission line are in a connection state in the predetermined-transmission-line management table <b>1</b><i>ba </i>which contains information about the predetermined transmission line up to the multicast-transmission terminal device <b>3</b>.
0074When the multicast reception request <b>6</b> specifying the multicast-transmission terminal device <b>3</b> is received, the state-determining unit <b>1</b><i>c </i>refers to the predetermined-transmission-line management table <b>1</b><i>ba </i>to determine whether or not all links on the predetermined transmission line leading to the multicast-transmission terminal device <b>3</b> are connected. When all links on the predetermined transmission line are connected, the multicast-reception-request transmission unit <b>1</b><i>d </i>transmits the multicast reception request <b>6</b> to the adjacent router on the predetermined transmission line. If there is a broken link on the predetermined transmission line, the multicast-reception-request transmission unit <b>1</b><i>d </i>selects one of the transmission lines on which all links leading to the multicast-transmission terminal device <b>3</b> are connected and transmits the multicast reception request <b>6</b> to the selected transmission line. Then, the multicast-data transfer unit <b>1</b><i>e </i>registers in the multicast routing table lea the identification information of the communication interface through which the multicast reception request <b>6</b> has been input.
0075The multicast reception request <b>6</b> is periodically output from the terminal device <b>2</b>. Thus, if a failure on a network causes the predetermined transmission line to be disconnected, a subsequently output multicast reception request <b>6</b> is transferred to a transmission line different from the predetermined transmission line. As a result, an entry (reception interface) in the multicast routing table lea of the multicast-data transfer unit <b>1</b><i>e </i>is also changed.
0076When the multicast data <b>7</b> output from the multicast-transmission terminal device <b>3</b> is received, the multicast-data transfer unit <b>1</b><i>e </i>refers to the multicast routing table lea and transmits the multicast data <b>7</b> from the communication interface <b>1</b><i>f </i>through which the multicast reception request <b>6</b> has been input.
0077As described above, when the predetermined transmission line is normally connected, the multicast reception request <b>6</b> is transferred over the predetermined transmission line, whereas, if a failure occurs on the predetermined transmission line, the multicast reception request <b>6</b> is transferred over another transmission line. Since the predetermined transmission line can be predefined as desired, the multicast data <b>7</b> can be transferred over a transmission line different from that for unicast data, if there is no failure on the predetermined transmission line. Furthermore, in the event of a failure occurring on the predetermined transmission line, the transmission line for multicast data can be dynamically changed (an alternative route is automatically selected in the event of a line failure). As a result, reliability is enhanced when multicast data is transferred over a transmission line different from that for unicast data.
0078The embodiment according to the present invention will be described in detail.
0079<figref idref="DRAWINGS">FIG. 2</figref> is a diagram depicting an example structure of a system according to the embodiment of the present invention. Routers <b>100</b>, <b>210</b>, <b>220</b>, <b>230</b>, <b>240</b>, and <b>250</b> (including layer <b>3</b> switches) are interconnected with optical fibers. More specifically, the router <b>100</b> is connected to the router <b>210</b> and the router <b>220</b>. The router <b>210</b> is connected to the router <b>230</b>. The router <b>220</b> is connected to the router <b>240</b>. The router <b>230</b> and router <b>240</b> are connected to the router <b>250</b>. Thus, the router <b>100</b> and the router <b>250</b> are interconnected via a plurality of paths. Connecting the routers <b>100</b>, <b>210</b>, <b>220</b>, <b>230</b>, <b>240</b>, and <b>250</b> via a plurality of paths allows an alternative route to be automatically selected by dynamic routing in the event of a line failure such as a breakage of an optical fiber.
0080Network segments <b>10</b> and <b>20</b> are connected to the router <b>100</b>. A terminal device <b>11</b> is connected to the segment <b>10</b>. A terminal device <b>21</b> is connected to the segment <b>20</b>.
0081Network segments <b>30</b> and <b>40</b> are connected to the router <b>250</b>. A terminal device <b>31</b> and a multicast-transmission terminal device <b>32</b> are connected to the segment <b>30</b>. A terminal device <b>41</b> and a multicast-transmission terminal device <b>42</b> are connected to the segment <b>40</b>.
0082The multicast-transmission terminal devices <b>32</b> and <b>42</b> generate and output source data to be multicast. For example, monitor cameras with a network interface are used as the multicast-transmission terminal devices <b>32</b> and <b>42</b>. Installing many monitor cameras connected to a network along a river allows video images acquired with the monitor cameras to be broadcast in real time. In this manner, the river can be monitored on the terminal devices <b>11</b> and <b>21</b> connected to the network.
0083Each of the multicast-transmission terminal devices <b>32</b> and <b>42</b> has a multicast address and a unicast address. The multicast address is used as the address of the transmission source when multicast data is transmitted. The unicast address is used to transmit and receive unicast data. In this example, it is assumed that the unicast address of the multicast-transmission terminal device <b>32</b> is “10.162.202.1” and that the multicast address of the multicast-transmission terminal device <b>32</b> is “239.196.90.1”.
0084The routers <b>100</b>, <b>210</b>, <b>220</b>, <b>230</b>, <b>240</b>, and <b>250</b> control data paths by OSPF. Each of the routers <b>100</b>, <b>210</b>, <b>220</b>, <b>230</b>, <b>240</b>, and <b>250</b> acquires segment information by dynamic routing to construct a unicast routing table. The costs of communication via paths connected to the routers <b>100</b>, <b>210</b>, <b>220</b>, <b>230</b>, <b>240</b>, and <b>250</b> are set in the unicast routing tables.
0085The cost of the path between the router <b>100</b> and the router <b>210</b> is “1”. The cost of the path between the router <b>210</b> and the router <b>230</b> is “1”. The cost of the path between the router <b>230</b> and the router <b>240</b> is “1”. The cost of the path between the router <b>100</b> and the router <b>220</b> is “10”. The cost of the path between the router <b>220</b> and the router <b>240</b> is “10”. The cost of the path between the router <b>240</b> and the router <b>250</b> is “10”. The routers <b>100</b>, <b>210</b>, <b>220</b>, <b>230</b>, <b>240</b>, and <b>250</b> carry out data routing by selecting a path with a lower cost.
0086In addition, each of the routers <b>100</b>, <b>210</b>, <b>220</b>, <b>230</b>, <b>240</b>, and <b>250</b> has an identification number (an IP address, for example). The identification number of the router <b>100</b> is “router #<b>1</b>”. The identification number of the router <b>210</b> is “router #<b>2</b>”. The identification number of the router <b>220</b> is “router #<b>3</b>”. The identification number of the router <b>230</b> is “router #<b>4</b>”. The identification number of the router <b>240</b> is “router #<b>5</b>”. The identification number of the router <b>250</b> is “router #<b>6</b>”.
0087<figref idref="DRAWINGS">FIG. 3</figref> is a diagram depicting an example hardware structure of a server used in the present embodiment. The router <b>100</b> is controlled by a central processing unit (CPU) <b>101</b>. A random access memory (RAM) <b>102</b>, a hard disk drive (HDD) <b>103</b>, LAN interfaces <b>104</b> and <b>105</b>, and optical communication interfaces <b>106</b> and <b>107</b> are connected to the CPU <b>101</b> through a bus <b>108</b>.
0088At least a part of an operating system (OS) program and application program to be executed by the CPU <b>101</b> is temporarily stored in the RAM <b>102</b>. Various types of data required for processing by the CPU <b>101</b> are also stored in the RAM <b>102</b>. The OS and application programs are stored in the HDD <b>103</b>.
0089The LAN interface <b>104</b> is connected to the segment <b>10</b>. The LAN interface <b>104</b> transmits and receives data to and from the terminal device <b>11</b> through the segment <b>10</b>.
0090The LAN interface <b>105</b> is connected to the segment <b>20</b>. The LAN interface <b>105</b> transmits and receives data to and from the terminal device <b>21</b> through the segment <b>20</b>.
0091The optical communication interface <b>106</b> is connected to the router <b>210</b> through an optical fiber. The optical communication interface <b>106</b> transmits and receives data to and from the router <b>210</b>.
0092The optical communication interface <b>107</b> is connected to the router <b>220</b> through an optical fiber. The optical communication interface <b>107</b> transmits and receives data to and from the router <b>220</b>.
0093With the above-described hardware structure, the processing functions according to the present embodiment can be realized. <figref idref="DRAWINGS">FIG. 3</figref> shows an example hardware structure of the router <b>100</b>. The routers <b>210</b>, <b>220</b>, <b>230</b>, <b>240</b>, and <b>250</b> can also be realized with the same hardware as that shown in <figref idref="DRAWINGS">FIG. 3</figref>.
0094<figref idref="DRAWINGS">FIG. 4</figref> is a block diagram depicting functions of a server. The router <b>100</b> includes a unicast routing section <b>110</b>, a multicast routing section <b>120</b>, and a multicast dynamic routing management section <b>130</b>.
0095The unicast routing section <b>110</b> carries out routing of unicast data. The unicast routing section <b>110</b> includes a unicast routing table <b>111</b> and a state management database (DB) <b>112</b>. The unicast routing table <b>111</b> includes information such as the relationship between the destination of unicast data and an adjacent router on the transmission line leading to the destination. The state management DB <b>112</b> includes information indicating whether a link with another router is established.
0096The multicast routing section <b>120</b> carries out routing of multicast data. The multicast routing section <b>120</b> includes multicast routing tables <b>121</b>. Each of the multicast routing tables <b>121</b> includes information such as the relationship between the multicast addresses and unicast addresses of a multicast-transmission terminal device for distributing multicast data.
0097The multicast dynamic routing management section <b>130</b> dynamically controls transmission paths of multicast data. The multicast dynamic routing management section <b>130</b> includes a multicast-link checking section <b>131</b> and a multicast-static checking section <b>132</b>.
0098The multicast-link checking section <b>131</b> includes a link state table <b>131</b><i>a </i>for managing link states. The state of the link between each pair of adjacent routers through which a multicast reception request (join message) passes is registered in the multicast-link checking section <b>131</b>.
0099The link state table <b>131</b><i>a </i>includes three columns: “Link number”, “Link”, and “State”. The data items horizontally adjacent to each other in the table constitute the record of each link.
0100The identification number of each link is registered in the “Link number” column. The identification numbers of the routers connected to both ends of each link are registered in the “Link” column. Whether the link is connected or disconnected is indicated with “UP” or “DOWN” in the “State” column.
0101The “State” column of the link state table <b>131</b><i>a </i>is updated by the multicast-link checking section <b>131</b> as required. More specifically, the multicast-link checking section <b>131</b> periodically checks the state of the link between each pair of adjacent servers, and based on the check result, updates the “Link” column of the link state table <b>131</b><i>a</i>. A typical method for checking the link state is to see the response to a ping command issued to the optical communication interface of a target router. In the case of dynamic routing by OSPF, it is also possible to check the link state in conjunction with the state management DB <b>112</b> of OSPF.
0102The multicast-static checking section <b>132</b> includes a static route management table <b>132</b><i>a </i>for registering the transmission destination of a multicast reception request (join message) to manage whether or not all links leading to the relevant multicast address are in the UP state.
0103The static route management table <b>132</b><i>a </i>includes four columns: “Multicast address”, “Multicast-reception-request-transmission destination”, “All link numbers”, and “State”. The data items horizontally adjacent to each other in the table constitute the record of each transmission line.
0104The multicast addresses of the multicast-transmission terminal devices <b>32</b> and <b>42</b> for transmitting multicast data are registered in the “Multicast address” column. The identification numbers of adjacent routers on a transmission line up to the multicast-transmission terminal devices <b>32</b> and <b>42</b> are registered in the “Multicast-reception-request-transmission destination” column. The identification numbers of all routers existing on the transmission line up to the multicast-transmission terminal devices <b>32</b> and <b>42</b> are registered in the “All link numbers” column. Information about the “UP” or “DOWN” state indicating whether the transmission line up to the multicast-transmission terminal devices <b>32</b> and <b>42</b> is communicable is registered in the “State” column.
0105The unicast routing table ill, the state management DB <b>112</b>, and the multicast routing tables <b>121</b> will be described in detail with reference to FIGS. <b>5</b> to <b>7</b>.
0106<figref idref="DRAWINGS">FIG. 5</figref> is a diagram depicting an example data structure of the unicast routing table <b>111</b>. The unicast routing table <b>111</b> includes columns: “Routing protocol type”, “Target network”, “Cost”, “Gateway”, and others. Data items horizontally adjacent to each other in the table constitute the record of each unicast transmission destination.
0107The routing protocol of unicast data is set in the “Routing protocol type” column. In this example, “O” is registered when the routing program is OSPF, and “R” is registered when the routing protocol is Routing information protocol (RIP).
0108The IP address and the sub-network address of the data destination are registered in the “Target network” column.
0109The cost required to reach the terminal device serving as the data destination is registered in the “Cost” column. This registered cost is the sum of the costs associated with the links constituting the transmission line up to the device serving as the destination.
0110The IP address of an adjacent router on the transmission line up to the device serving as the destination is registered in the “Gateway” column.
0111<figref idref="DRAWINGS">FIG. 6</figref> is a diagram depicting an example data structure of the state management DB <b>112</b>. The state management DB <b>112</b> includes columns: “Link ID”, “ADV router”, “Age”, and others. Data items horizontally adjacent to each other in the table constitute the management information record of each segment.
0112Identification information about the segment serving as the data destination is registered in the “Link ID” column. The IP address of the router that has reported management information is registered in the “ADV router” column. The time that elapsed since the registration of the record is registered in the “Age” column.
0113Records related to segments having effective communication pathways are registered in the state management DB <b>112</b>. In other words, the multicast-static checking section <b>132</b> determines that a link to a segment registered in the state management DB <b>112</b> is in the UP state and that a link to a segment not registered in the state management DB <b>112</b> is in the DOWN state.
0114<figref idref="DRAWINGS">FIG. 7</figref> is a diagram depicting an example data structure of the multicast routing tables <b>121</b>. The multicast routing tables <b>121</b> include multicast routing tables <b>121</b><i>a</i>, <b>121</b><i>b</i>, and so on, each corresponding to a multicast-transmission terminal device.
0115Each of the multicast routing tables <b>121</b><i>a</i>, <b>121</b><i>b</i>, and so on includes columns: “Transmission terminal address”, “Reception interface” (Incoming interface), and “Transmission interface list” (Outgoing interface list). A pair of the unicast address and the multicast address of a multicast-transmission terminal device is registered in the “Transmission terminal address” column. The left entry in a parenthesis is the unicast address and the right entry in the parenthesis is the multicast address. In some cases, symbol “*” is registered in place of the unicast address. This symbol means that a rendezvous point is the transmission destination of multicast data.
0116A rendezvous point is a router functioning as the root of one distribution tree shared by a plurality of multicast groups in order to route multicast data.
0117The identification number of the interface (LAN interface or optical communication interface), in the server <b>100</b>, that receives multicast data is registered in the “Reception interface” column. The identification number of at least one interface, in the server <b>100</b>, that transmits multicast data is registered in the “Transmission interface list” column.
0118Processing carried out by the multicast-link checking section <b>131</b> and the multicast-static checking section <b>132</b> will now be described in detail.
0119<figref idref="DRAWINGS">FIG. 8</figref> is a flowchart illustrating a processing procedure for state registration performed by the multicast-link checking section <b>131</b>. The processing shown in <figref idref="DRAWINGS">FIG. 8</figref> is described in the order of step number.
0120In step S<b>11</b>, when a new link relationship is recognized, the multicast-link checking section <b>131</b> registers link information in the link state table <b>131</b><i>a</i>. For example, the multicast-link checking section <b>131</b> can recognize a new link relationship by referring to the state management DB <b>112</b> of the unicast routing section <b>110</b> and detecting information about a newly registered link.
0121In step S<b>12</b>, based on the registered link information, the multicast-link checking section <b>131</b> checks the state of the link between routers. For example, the multicast-link checking section <b>131</b> can check the link state when it refers to the state management DB <b>112</b> of the unicast routing section <b>110</b>.
0122In step S<b>13</b>, the multicast-link checking section <b>131</b> determines whether the state of the link between routers is UP. If the link state is UP, the processing proceeds to step S<b>14</b>. If the link state is DOWN, the processing proceeds to step S<b>15</b>.
0123In step S<b>14</b>, the multicast-link checking section <b>131</b> registers “UP” in the “State” column of the corresponding link in the link state table <b>131</b><i>a</i>. Then, the processing proceeds to step S<b>16</b>.
0124In step S<b>15</b>, the multicast-link checking section <b>131</b> registers “DOWN” in the “State” column of the corresponding link in the link state table <b>131</b><i>a. </i>
0125In step S<b>16</b>, the multicast-link checking section <b>131</b> waits for a predetermined period of time and then advances the processing to step S<b>17</b>.
0126In step S<b>17</b>, when a command for quitting the processing by the system is detected, the multicast-link checking section <b>131</b> quits the processing. If no command for quitting the processing by the system is detected, the processing returns to step S<b>12</b>, where the link state checking and the state update processing are repeated.
0127In this fashion, the link state can be updated periodically.
0128<figref idref="DRAWINGS">FIG. 9</figref> is a flowchart illustrating a processing procedure for state registration performed by the multicast-static checking section <b>132</b>. The processing shown in <figref idref="DRAWINGS">FIG. 9</figref> is described in the order of step number.
0129In step S<b>21</b>, the multicast-static checking section <b>132</b> registers a new record in the static route management table <b>132</b><i>a</i>. More specifically, the multicast-static checking section <b>132</b> registers information about a new multicast-transmission terminal device in the columns: “Multicast address”, “Multicast-reception-request-transmission destination”, and “All link numbers”.
0130In step S<b>22</b>, the multicast-static checking section <b>132</b> checks the states of all registered link numbers. More specifically, the multicast-static checking section <b>132</b> inquires of the multicast-link checking section <b>131</b> about the states of all the registered link numbers to acquire a response indicating the states (UP or DOWN) of all links on the transmission line.
0131In step S<b>23</b>, the multicast-static checking section <b>132</b> determines whether the states of all the links are “UP”. If all the link states are “UP”, the processing proceeds to step S<b>24</b>. If at least one link indicates the “DOWN” state, the processing proceeds to step S<b>25</b>.
0132In step S<b>24</b>, the multicast-static checking section <b>132</b> registers “UP” in the record of the static route management table <b>132</b><i>a </i>to indicate the state of the transmission line. Then, the processing proceeds to step S<b>26</b>.
0133In step S<b>25</b>, the multicast-static checking section <b>132</b> registers “DOWN” in the record of the static route management table <b>132</b><i>a </i>to indicate the state of the transmission line.
0134In step S<b>26</b>, when a command for quitting the processing by the system is detected, the multicast-static checking section <b>132</b> quits the processing. If no command for quitting the processing by the system is detected, the processing returns to step S<b>22</b> and the link state checking and state update processing are repeated.
0135In this fashion, the state of the transmission line can be periodically updated.
0136A processing procedure performed by the server <b>100</b> that has received a multicast reception request will now be described.
0137<figref idref="DRAWINGS">FIG. 10</figref> is a flowchart illustrating a processing procedure followed in response to a multicast reception request. The processing shown in <figref idref="DRAWINGS">FIG. 10</figref> will be described in the order of step number. The processing described below is initiated when a multicast reception request is acquired.
0138In step S<b>31</b>, when the router <b>100</b> receives a multicast reception request, the multicast routing section <b>120</b> adds a multicast routing table corresponding to the transmission destination of the multicast reception request to the multicast routing tables <b>121</b>.
0139In step S<b>32</b>, the multicast-static checking section <b>132</b> searches for the adjacent router serving as the transmission destination of the multicast reception request. More specifically, the multicast-static checking section <b>132</b> searches the “Multicast address” column of the static route management table <b>132</b><i>a </i>for the multicast address indicated by the multicast reception request to acquire the corresponding multicast-reception-request-transmission destination.
0140In step S<b>33</b>, the multicast-static checking section <b>132</b> determines whether or not the multicast address indicated by the multicast reception request is registered in the static route management table <b>132</b><i>a</i>. When the multicast address has been registered, the processing proceeds to step S<b>34</b>. If the multicast address is not registered, the processing proceeds to step S<b>37</b>.
0141In step S<b>34</b>, the multicast-static checking section <b>132</b> determines whether or not the state of the record corresponding to the multicast address indicated by the multicast reception request is “UP”. If the state is “UP”, the processing proceeds to step S<b>35</b>. If the state is “DOWN”, the processing proceeds to step S<b>37</b>.
0142In step S<b>35</b>, the multicast-static checking section <b>132</b> passes the multicast-reception-request-transmission destination acquired in step S<b>32</b> to the multicast routing section <b>120</b>. In response, the multicast routing section <b>120</b> transmits the data of the multicast reception request to the received multicast-reception-request-transmission destination.
0143In step S<b>36</b>, the multicast routing section <b>120</b> generates a multicast routing table corresponding to the multicast reception request and adds it to the multicast routing tables <b>121</b>. Then, the processing ends.
0144In step S<b>37</b>, the multicast-static checking section <b>132</b> informs the multicast routing section <b>120</b> that the static route management table <b>132</b><i>a </i>contains no static route capable of multicasting. In response, the multicast routing section <b>120</b> inquires of the unicast routing section <b>110</b> whether or not the unicast routing table <b>111</b> contains the unicast address (the unicast address of the multicast-transmission terminal device) indicated by the multicast reception request. When the unicast address has been registered, the processing proceeds to step S<b>38</b>. If the unicast address is not registered, the processing proceeds to step S<b>40</b>.
0145In step S<b>38</b>, the multicast routing section <b>120</b> acquires from the unicast routing section <b>110</b> the information (the IP address of the adjacent server) about the gateway registered in the record indicating the minimum cost (representing the shortest path) from among the records associated with the unicast addresses indicated by the multicast reception request. The multicast routing section <b>120</b> then transmits the data of the multicast reception request to the acquired IP address.
0146In step S<b>39</b>, the multicast routing section <b>120</b> generates a multicast routing table corresponding to the multicast reception request and adds it to the multicast routing tables <b>121</b>. Thereafter, the processing ends.
0147In step S<b>40</b>, the multicast routing section <b>120</b> discards the received multicast reception request. Thereafter, the processing ends.
0148As described above, the multicast dynamic routing management section <b>130</b> operating in conjunction with the multicast routing section <b>120</b> realizes distribution of multicast data and unicast data via different routes and automatic selection of an alternative route (dynamic routing).
0149Examples of transmission and reception of unicast data and multicast data in a network according to the present embodiment will now be described. The following examples assume that unicast data is exchanged between the terminal devices <b>11</b> and <b>31</b> and between the terminal devices <b>21</b> and <b>41</b>, and that multicast data is transmitted from the multicast-transmission terminal device <b>32</b> to the terminal device <b>11</b> and from the multicast-transmission terminal device <b>42</b> to the terminal device <b>21</b>.
0150<figref idref="DRAWINGS">FIG. 11</figref> is a diagram depicting the transmission of unicast data. Unicast data <b>51</b> and <b>52</b> are transmitted and received via a transmission line with a lower cost. According to the present embodiment, the cost between each pair of adjacent routers along the transmission line over the routers <b>100</b>, <b>210</b>, <b>230</b>, and <b>250</b> is “1”. On the other hand, the cost between each pair of the adjacent routers along the transmission line over the routers <b>100</b>, <b>220</b>, <b>240</b>, and <b>250</b> is “10”.
0151Therefore, unicast data <b>51</b> between the terminal devices <b>11</b> and <b>31</b> goes over the transmission line via the routers <b>100</b>, <b>210</b>, <b>230</b>, and <b>250</b>. Similarly, unicast data <b>52</b> between the terminal devices <b>21</b> and <b>41</b> goes over the transmission line via the routers <b>100</b>, <b>210</b>, <b>230</b>, and <b>250</b>.
0152If multicast data distributed by the multicast-transmission terminal device <b>32</b> is to be acquired at the terminal device <b>11</b>, a multicast reception request bound for the multicast-transmission terminal device <b>32</b> is transmitted from the terminal device <b>11</b>. In the multicast reception request, the unicast address of the multicast-transmission terminal device <b>32</b> is specified as the data destination, and the multicast address of the multicast-transmission terminal device <b>32</b> is included as data information.
0153Similarly, if multicast data distributed by the multicast-transmission terminal device <b>42</b> is to be acquired at the terminal device <b>21</b>, a multicast reception request bound for the multicast-transmission terminal device <b>42</b> is transmitted from the terminal device <b>21</b>. In the multicast reception request, the unicast address of the multicast-transmission terminal device <b>42</b> is specified as the data destination, and the multicast address of the multicast-transmission terminal device <b>42</b> is included as data information.
0154<figref idref="DRAWINGS">FIG. 12</figref> is a diagram depicting transmission paths for multicast reception requests. The transmission line to be taken by a multicast reception request output from each of the terminal devices <b>11</b> and <b>21</b> is determined based on the multicast reception request transfer destination registered in the static route management table preset in each of the routers <b>100</b>, <b>210</b>, <b>220</b>, <b>230</b>, <b>240</b>, and <b>250</b>. The multicast reception requests output from the terminal devices <b>11</b> and <b>21</b> are sent to the multicast-transmission terminal devices <b>32</b> and <b>42</b> over the transmission line determined as described above.
0155In this example, in the router <b>100</b>, the IP address of the router <b>220</b> is set as the multicast reception request transfer destination. In the router <b>220</b>, the IP address of the router <b>240</b> is set as the multicast reception request transfer destination. In the router <b>240</b>, the IP address of the router <b>250</b> is set as the multicast reception request transfer destination.
0156In the router <b>100</b>, the record corresponding to the multicast address specified by the received multicast reception request is acquired from the static route management table <b>132</b><i>a </i>to confirm that the state of the transmission line is “UP”. In the example of <figref idref="DRAWINGS">FIG. 12</figref>, since the state of the transmission line is “UP”, the server <b>100</b> transmits the multicast reception request to the router <b>220</b> serving as the multicast-reception-request-transmission destination registered in association with the multicast address. Thereafter, the routers <b>220</b>, <b>240</b>, and <b>250</b> relay the multicast reception request in the same manner.
0157Consequently, a multicast reception request <b>61</b> output from the terminal device <b>11</b> is passed to the multicast-transmission terminal device <b>32</b> via the routers <b>100</b>, <b>220</b>, <b>240</b>, and <b>250</b>. Similarly, a multicast reception request <b>62</b> output from the terminal device <b>21</b> is passed to the multicast-transmission terminal device <b>42</b> via the routers <b>100</b>, <b>220</b>, <b>240</b>, and <b>250</b>.
0158In the routers <b>100</b>, <b>220</b>, <b>240</b>, and <b>250</b>, which have relayed the multicast reception requests <b>61</b> and <b>62</b>, a multicast routing table corresponding to each of the multicast reception requests <b>61</b> and <b>62</b> is stored in the respective multicast routing sections. The multicast routing tables corresponding to the multicast reception requests <b>61</b> and <b>62</b> include the addresses (the unicast address and multicast address) of the respective multicast-transmission terminal devices <b>32</b> and <b>42</b> serving as the destinations of the multicast reception requests <b>61</b> and <b>62</b>, respective reception interfaces, and respective transmission interface lists.
0159Thereafter, the multicast data output from the multicast-transmission terminal devices <b>32</b> and <b>42</b> goes to the terminal devices <b>11</b> and <b>21</b> in the opposite direction over the transmission line taken by the multicast reception requests <b>61</b> and <b>62</b>.
0160<figref idref="DRAWINGS">FIG. 13</figref> is a diagram depicting a transmission line for multicast data. Multicast data <b>71</b> output from the multicast-transmission terminal device <b>32</b> is input to the router <b>250</b>. In the router <b>250</b>, a transmission interface list is acquired by referring to the multicast routing table corresponding to the multicast address of the multicast-transmission terminal device <b>32</b>. Then, the router <b>250</b> outputs the multicast data <b>71</b> from an interface (optical communication interface or LAN interface)
0161included in the transmission interface list. Multicast data <b>72</b> output from the multicast-transmission terminal device <b>42</b> is also handled similarly.
0162In this manner, the multicast data <b>71</b> and multicast data <b>72</b> are passed from the router <b>250</b> to the router <b>240</b>. Thereafter, the multicast data <b>71</b> and <b>72</b> are sequentially transferred to the router <b>220</b> and then to the router <b>100</b> in the same manner. The multicast data <b>71</b> output from the multicast-transmission terminal device <b>32</b> is transmitted from the server <b>100</b> to the terminal device <b>11</b>, and the multicast data <b>72</b> output from the multicast-transmission terminal device <b>42</b> is transmitted from the server <b>100</b> to the terminal device <b>21</b>.
0163As described above, the multicast data <b>71</b> and <b>72</b> can be transmitted over a transmission line different from that for the unicast data <b>51</b> and <b>52</b>.
0164It is assumed that a line failure occurs on the optical fiber between the router <b>220</b> and the router <b>240</b>, causing the link between the routers <b>220</b> and <b>240</b> to break. Under this assumption, multicast reception requests periodically output from the terminal devices <b>11</b> and <b>21</b> cannot be transmitted over the transmission line shown in <figref idref="DRAWINGS">FIG. 13</figref>. To address this problem, in the router <b>100</b>, which has acquired a multicast reception request from each of the terminal devices <b>11</b> and <b>21</b>, a search is made for a different transmission line from the transmission line registered in the static route management table <b>132</b><i>a. </i>
0165<figref idref="DRAWINGS">FIG. 14</figref> is a diagram depicting a transmission line for multicast reception requests in the event of a failure. If a line failure occurs between the router <b>220</b> and the router <b>240</b>, the router <b>220</b> detects the line failure (a breakage of the link with the router <b>240</b>). The router <b>220</b> then informs the router <b>100</b> that the link with the router <b>240</b> has broken, based on the routing protocol of unicast data.
0166In response, the router <b>100</b> changes to “DOWN” the state of the transmission line passing through the routers <b>220</b> and <b>240</b> in the static route management table <b>132</b><i>a</i>. Thereafter, when multicast reception requests <b>63</b> and <b>64</b> bound for the multicast-transmission terminal devices <b>32</b> and <b>42</b>, respectively, are output from the terminal devices <b>11</b> and <b>21</b>, respectively, the router <b>100</b> determines that the transmission line registered in the static route management table <b>132</b><i>a </i>is broken, and selects a transmission line in accordance with the routing protocol of unicast data.
0167As a result, the server <b>100</b> transmits the multicast reception requests <b>63</b> and <b>64</b> to the server <b>210</b>. In the same manner, other servers <b>210</b>, <b>230</b>, and <b>250</b> relay the multicast reception requests <b>63</b> and <b>64</b> over the same transmission line as that for unicast data. Consequently, the multicast reception requests <b>63</b> and <b>64</b> are sent to the multicast-transmission terminal devices <b>32</b> and <b>42</b>, respectively.
0168Subsequently, the multicast data transmitted from the multicast-transmission terminal devices <b>32</b> and <b>42</b> are transmitted in the opposite direction over the transmission line taken by the multicast reception requests <b>63</b> and <b>64</b>.
0169<figref idref="DRAWINGS">FIG. 15</figref> is a diagram depicting a transmission line for multicast data after a failure occurs. Referring to <figref idref="DRAWINGS">FIG. 15</figref>, if a line failure occurs on a transmission line predetermined for the transmission of multicast data <b>73</b> and <b>74</b>, the transmission line for the multicast data <b>73</b> and <b>74</b> is automatically changed.
0170In the examples shown in FIGS. <b>11</b> to <b>15</b>, each server has a setting such that multicast data output by the two multicast-transmission terminal devices <b>32</b> and <b>42</b> is transmitted over the same transmission line. However, multicast data output by the two multicast-transmission terminal devices <b>32</b> and <b>42</b> can be transmitted over different transmission lines. For example, in the case of different types of multicast data having different characteristics, such as audio data and video data transmitted based on VoIP, different transmission lines may be used for such different multicast addresses. Even in this case, multicast data can be transmitted via a transmission line different from the preset transmission line in the event of a failure by implementing a multicast dynamic routing function in each router.
0171<figref idref="DRAWINGS">FIG. 16</figref> is a diagram depicting transmission lines for multicast reception requests for distributing multicast data via different routes depending on the type of the multicast data. In the example of <figref idref="DRAWINGS">FIG. 16</figref>, in the router <b>100</b>, the router <b>210</b> is registered as a multicast-reception-request-transmission destination corresponding to the multicast address of the multicast-transmission terminal device <b>32</b>. In the router <b>100</b>, the router <b>220</b> is also registered as a multicast-reception-request-transmission destination corresponding to the multicast address of the multicast-transmission terminal device <b>42</b>.
0172In the router <b>210</b>, the router <b>230</b> is registered as a multicast-reception-request-transmission destination corresponding to the multicast address of the multicast-transmission terminal device <b>32</b>. In the router <b>230</b>, the router <b>250</b> is registered as a multicast-reception-request-transmission destination corresponding to the multicast address of the multicast-transmission terminal device <b>32</b>.
0173In the router <b>220</b>, the router <b>240</b> is registered as a multicast-reception-request-transmission destination corresponding to the multicast address of the multicast-transmission terminal device <b>42</b>. Furthermore, in the router <b>240</b>, the router <b>250</b> is registered as a multicast-reception-request-transmission destination corresponding to the multicast address of the multicast-transmission terminal device <b>42</b>.
0174With these settings, a multicast reception request <b>65</b> output from the terminal device <b>11</b> towards the multicast-transmission terminal device <b>32</b> is transmitted to the multicast-transmission terminal device <b>32</b> via the routers <b>100</b>, <b>210</b>, <b>230</b>, and <b>250</b>. Furthermore, a multicast reception request <b>66</b> output from the terminal device <b>21</b> towards the multicast-transmission terminal device <b>42</b> is transmitted to the multicast-transmission terminal device <b>42</b> via the routers <b>100</b>, <b>220</b>, <b>240</b>, and <b>250</b>.
0175In this manner, multicast data output from the multicast-transmission terminal devices <b>32</b> and <b>42</b> are distributed over different transmission lines.
0176<figref idref="DRAWINGS">FIG. 17</figref> is a diagram depicting transmission lines for multicast data to be distributed via different routes depending on the type of the multicast data. In the example of <figref idref="DRAWINGS">FIG. 17</figref>, multicast data <b>75</b> output from the multicast-transmission terminal device <b>32</b> is transmitted to the terminal device <b>11</b> via the routers <b>250</b>, <b>230</b>, <b>210</b>, and <b>100</b>. Furthermore, multicast data <b>76</b> output from the multicast-transmission terminal device <b>42</b> is transmitted to the terminal device <b>21</b> via the routers <b>250</b>, <b>240</b>, <b>220</b>, and <b>100</b>.
0177Under this condition, if a line failure occurs on the optical fiber between the routers <b>220</b> and <b>240</b>, in other words, if the link between the routers <b>220</b> and <b>240</b> is broken, then the transmission line for the multicast data <b>76</b> output from the multicast-transmission terminal device <b>42</b> is changed. As a result, the multicast data <b>76</b> is transmitted over the same transmission line as that for the multicast data <b>75</b> shown in <figref idref="DRAWINGS">FIG. 15</figref>.
0178In this manner, if a line failure occurs on the transmission line for multicast data, the multicast data can be dynamically diverted to an alternative line.
0179The above-described processing function can be realized with a computer. For this purpose, a program for executing the processing function of a router is provided. The above-described processing function can be realized by executing the program on the computer. The program describing the processing function can be recorded on computer-readable recording media. The computer-readable recording media include magnetic recording apparatuses, optical discs, magneto-optical recording media, and semiconductor memories. The magnetic recording apparatuses include a hard disk apparatus (HDD), a flexible disk (FD), and a magnetic tape. The optical discs include a digital versatile disc (DVD), a digital versatile disc random access memory (DVD-RAM), a compact disc read only memory (CD-ROM), a compact disc recordable (CD-R), and a compact disc rewritable (CD-RW). The magneto-optical recording media include a magneto-optical disc (MO).
0180When the program is to be distributed, a portable recording medium having recorded the program, such as a DVD or a CD-ROM, is marketed, for example. Furthermore, the program can be stored in a storage device of a server computer to allow the program to be transferred to another computer from the server computer through a network.
0181A computer executing the program stores, for example, the program recorded in a portable recording medium or the program transferred from a server computer, in its storage device. The computer then reads out the program from its storage device, and executes the processing according to the program. The computer can read out the program directly from the portable recording medium to execute the processing according to the program. Furthermore, the computer can execute processing according to a program received each time the program is transferred from the server computer.
0182The present invention is not limited to the above-described embodiment. Various modifications can be made within the scope of the present invention.
0183According to the present invention, a multicast reception request is transmitted over a predetermined transmission line if all links on the predetermined transmission line are connected. In contrast, if there is at least one broken link on the predetermined transmission line, the multicast reception request is transmitted over a transmission line different from the predetermined transmission line. Subsequently, multicast data output from the multicast-transmission terminal device is transferred in the opposite direction over the path taken by the multicast reception request. In this manner, as long as communication via the predetermined transmission line is possible, the multicast data is distributed over the predetermined transmission line. If the predetermined transmission line is disconnected due to, for example, a failure, the transmission line for the multicast data is automatically switched to another communicable transmission line. As a result, multicast data distributed over a path different from that for unicast data can be made more reliable.
0184The foregoing is considered as illustrative only of the principles of the present invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and applications shown and described, and accordingly, all suitable modifications and equivalents may be regarded as falling within the scope of the invention in the appended claims and their equivalents.
Contents5
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2007280140A1 | Cited by | United States of America | Pre-grant |
| US2017060908A1 | Cited by | United States of America | Pre-grant |
| US9628285B2 | Cited by | United States of America | Applicant |
| US9736061B2 | Cited by | United States of America | Applicant |
| US9240893B2 | Cited by | United States of America | Search report |
| US2017060890A1 | Cited by | United States of America | Search report |
| US8023448B2 | Cited by | United States of America | Search report |
| US10282349B2 | Cited by | United States of America | Search report |
| US2008175240A1 | Cited by | United States of America | Pre-grant |
| US2018343162A1 | Cited by | United States of America | Search report |
| US2017060890A1 | Cited by | United States of America | Pre-grant |
| US8514876B2 | Cited by | United States of America | Search report |
| US10255234B2 | Cited by | United States of America | Search report |
| US2007091891A1 | Cited by | United States of America | Pre-grant |
| US7808993B2 | Cited by | United States of America | Search report |
| US7715329B1 | Cited by | United States of America | Search report |
| US10922288B2 | Cited by | United States of America | Applicant |
| US2011038257A1 | Cited by | United States of America | Pre-grant |
| US2011211578A1 | Cited by | United States of America | Pre-grant |
| US2017060908A1 | Cited by | United States of America | Search report |
| US8099483B2 | Cited by | United States of America | Search report |
| CN111869133A | Cited by | China | Search report |
| US2007058627A1 | Cited by | United States of America | Pre-grant |
| US2002001318A1 | Cites | United States of America | Pre-grant |
| US5128926A | Cites | United States of America | Pre-grant |
| US5687168A | Cites | United States of America | Pre-grant |
| US6823395B1 | Cites | United States of America | Pre-grant |
| US7277383B2 | Cites | United States of America | Pre-grant |
| US7334047B1 | Cites | United States of America | Pre-grant |
5 priority claims, no other members on record
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 2005042577 | Japan | – | |
| 2005042577 | Japan | A | |
| 2005042577 | Japan | A | |
| 2005042577 | – | – | – |
| JP20050042577 | – | – | – |
29 transactions on the USPTO file
Allowed after 1 non-final rejection.
- Non-final rejections
- 1
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Correspondence Address ChangeC.AD | C.AD | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Cleared by L&R (LARS)L128 | L128 | |
| Referred to Level 2 (LARS) by OIPE CSRL198 | L198 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Request for Foreign Priority (Priority Papers May Be Included)RQPR | RQPR | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Initial Exam Team nnIEXX | IEXX |
9 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapsed due to failure to pay maintenance feeLapsedFP | FP | |
| Lapse for failure to pay maintenance feesLapsedPATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYLAPS | LAPS | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Fee payment procedureMAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Fee paymentFPAY | FPAY | |
| Fee paymentFPAY | FPAY | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 20060209826
- Publication, DOCDB
- 2006209826
- Publication, EPODOC
- US2006209826
- Application
- 11155521
- Application, DOCDB
- 15552105
- Application, EPODOC
- US20050155521
Titles
- English
- Multicast routing program, multicast routing method, and multicast router
Classification
- CPC, 2
- H04L45/00
- H04L45/16
- IPC, 4
- H04L12 56
- H04L12 28
- H04L45 16
- H04L45 24
- USPC, 1
- 370390000