An information processing apparatus obtains an ip address from a dhcp server, and in the case where the obtainment of an ip address from the dhcp server has failed, determines whether or not to continue to use an ip address used previously, on the basis of a setting in the information processing apparatus.
|
8. A method of controlling an information processing apparatus that uses an ip address obtained from a dhcp server and includes a network interface, the method comprising:
setting whether or not to release an ip address, as an operation setting of the information processing apparatus, in accordance with a user operation, wherein the operation setting is used when the ip address cannot be obtained from the dhcp server;
obtaining an ip address from the dhcp server;
determining, in a case where the obtaining of the ip address from the dhcp server fails to currently obtain the ip address from the dhcp server, whether or not to continue to use an ip address that was previously obtained by the obtaining of the ip address from the dhcp server and previously used, on the basis of the operation setting in the information processing apparatus; and
releasing the previously obtained ip address and assigned to the network interface in response to the determining of whether or not to continue to use the ip address determining not to continue using the previously obtained ip address, in a case where the obtaining of the ip address from the dhcp server fails to currently obtain an ip address from the dhcp server.
1. An information processing apparatus that uses an ip address obtained from a dhcp server, the apparatus comprising:
a network interface;
a memory storing instructions;
a processor configured to implement the instructions and execute a plurality of tasks, including:
a setting task that sets whether or not to release an ip address, as an operation setting of the information processing apparatus, in accordance with a user operation, wherein the operation setting is used when the ip address cannot be obtained from the dhcp server;
an obtaining task that obtains an ip address from the dhcp server;
a determination task that, in a case where the obtaining task fails to currently obtain an ip address from the dhcp server, determines whether or not to continue using an ip address that was previously obtained by the obtaining task and previously used, on the basis of the operation setting in the information processing apparatus; and
an interface control task that releases the previously obtained ip address and assigned to the network interface in response to the determination task determining not to continue using the previously obtained ip address, in a case where the obtaining task fails to currently obtain an ip address from the dhcp server.
15. A non-transitory computer-readable storage medium storing a computer program executable by a computer to execute a method of controlling an information processing apparatus that uses an ip address obtained from a dhcp server and includes the network interface, the method comprising:
setting whether or not to release an ip address, as an operation setting of the information processing apparatus, in accordance with a user operation, wherein the operation setting is used when the ip address cannot be obtained from the dhcp server;
obtaining an ip address from the dhcp server;
determining, in a case where the obtaining of the ip address from the dhcp server fails to currently obtain the ip address from the dhcp server, whether or not to continue using an ip address that was previously obtained by the obtaining of the ip address from the dhcp server and previously used, on the basis of the operation setting in the information processing apparatus; and
releasing the previously obtained ip address and assigned to the network interface in response to the determining of whether or not to continue to use the ip address determining not to continue using the previously obtained ip address, in a case where the obtaining of the ip address fails to currently obtain an ip address from the dhcp server.
2. The information processing apparatus according to
3. The information processing apparatus according to
4. The information processing apparatus according to
5. The information processing apparatus according to
6. The information processing apparatus according to
the information processing apparatus is a printing apparatus having at least a copy function,
the information processing apparatus displays a menu screen including at least a copy icon for a user to utilize the copy function, and
the message is displayed in at least a predetermined area of the menu screen.
7. The information processing apparatus according to
9. The method according to
10. The method according to
11. The method according to
12. The method according to
13. The method according to
the information processing apparatus is a printing apparatus having at least a copy function,
the information processing apparatus displays a menu screen including at least a copy icon for a user to utilize the copy function, and
the message is displayed in at least a predetermined area of the menu screen.
14. The method according to
|
The present invention relates to an information processing apparatus that obtains an IP address through DHCP, a control method thereof, and a storage medium.
An information processing apparatus making an Internet Protocol (IP) connection to a network requires an IP address to be set. Manually setting IP addresses for individual information processing apparatuses is burdensome, and thus a method that uses the Dynamic Host Configuration Protocol (DHCP) to dynamically assign IP addresses from a DHCP server is used. The DHCP server manages which IP addresses are assigned to the information processing apparatuses. Sometimes the number of information processing apparatuses requesting an IP address to be assigned is greater than the number of IP addresses that the DHCP server is able to assign. In such a case, the DHCP server may reassign the same IP address to a different information processing apparatus, depending on the state of assignment requests from the information processing apparatuses. The DHCP server may also reject an assignment in the case where many information processing apparatuses have requested assignments simultaneously.
As such, an information processing apparatus basically can only use an IP address assigned by the DHCP server for a permitted period. If an information processing apparatus continues to use an IP address for longer than the permitted period despite that same IP address being reassigned to another information processing apparatus, the other information processing apparatus will ultimately operate using that same IP address. Proper communication cannot be carried out if IP addresses overlap within the same network in this manner. Japanese Patent Laid-Open No. 2015-186257 proposes a technique that, in the case where IP addresses overlap after being assigned using DHCP, displays an indication that the IP addresses overlap in an operating unit.
However, this conventional technique poses the following problem. There are cases where the DHCP server operations are unstable, the connection with the DHCP server is unstable, and so on. For example, if a cheap access point is simply being used as a DHCP server as well, the device operating as the DHCP server may degrade over time and malfunction, or a problem with the network configuration may result in an unstable connection with the DHCP server. Even if the environment is one in which the DHCP server operations are unstable, it is still necessary for devices, such as office printers that lose their opportunities to print when connection problems arise, to be able to connect to the network to the greatest extent possible.
Accordingly, a configuration is conceivable in which, when there is a problem with the DHCP server, the IP address previously assigned by the DHCP server is reused rather than being released. However, this is problematic in the case where the DHCP server has assigned the same IP address to another information device, and thus such operations cannot be carried out in such a case.
The present invention enables realization of a system in which a favorable connection to a network can be made even in an environment in which the operations of a DHCP server are unstable.
One aspect of the present invention provides an information processing apparatus that uses an IP address obtained from a DHCP server, the apparatus comprising: an obtainment unit configured to obtain an IP address from the DHCP server; and a determination unit configured to, in the case where the obtainment of an IP address from the DHCP server has failed, determine whether or not to continue using an IP address used previously, on the basis of a setting in the information processing apparatus.
Another aspect of the present invention provides a method of controlling an information processing apparatus that uses an IP address obtained from a DHCP server, the method comprising: obtaining an IP address from the DHCP server; and in the case where the obtainment of an IP address from the DHCP server has failed, determining whether or not to continue to use an IP address used previously, on the basis of a setting in the information processing apparatus.
Still another aspect of the present invention provides a non-transitory computer-readable storage medium storing a computer program for causing a computer to execute a method of controlling an information processing apparatus that uses an IP address obtained from a DHCP server, the method comprising: obtaining an IP address from the DHCP server; and in the case where the obtainment of an IP address from the DHCP server has failed, determining whether or not to continue to use an IP address used previously, on the basis of a setting in the information processing apparatus.
Further features of the present invention will be apparent from the following description of an exemplary embodiment with reference to the attached drawings.
Embodiments of the present invention will now be described in detail with reference to the drawings. It should be noted that the relative arrangement of the components, the numerical expressions, and numerical values set forth in the embodiments do not limit the scope of the present invention unless it is specifically stated otherwise.
System Configuration
Hereinafter, a first embodiment of the present invention will be described. Although the present embodiment describes a multifunction peripheral (MFP) as an example of an information processing apparatus, the present invention provides a technique that can be applied in any information processing apparatus, even aside from a multifunction peripheral. Additionally, although an example of the present invention being applied in an office will be described, the present invention provides a technique that can be applied in a system of any scale located on the internet. The state of connections between an MFP, a DHCP server, and a client PC according to the present embodiment will be described first with reference to
This system is configured including an MFP 100, a DHCP server 110, and a client PC 120. These devices are connected over a local area network (LAN) 150. The MFP 100 includes a controller unit 101, an operating unit 102, a printer unit 103, and a scanner unit 104.
The operating unit 102 is an interface that controls inputs and outputs from and to a user. The printer unit 103 outputs electronic data to a recording medium such as paper or a sheet. The scanner unit 104 reads and converts a recording medium into electronic data. The operating unit 102, the printer unit 103, and the scanner unit 104 are connected to the controller unit 101, and realize the functionality of a multifunction peripheral under the control of the controller unit 101. In other words, the controller unit 101 controls the MFP 100 as a whole.
The DHCP server 110 assigns IP addresses to the MFP 100 and the client PC 120 over the LAN 150. The client PC 120 transmits a print job to the MFP 100 over the LAN 150. Note that the present invention is not limited to the configuration illustrated in
Configuration of Controller Unit
Next, the configuration of the controller unit 101 of the MFP 100 will be described in detail with reference to
The CPU 201 carries out the primary computational processes within the controller. The CPU 201 is connected to the DRAM 202 by a bus. The DRAM 202 is used by the CPU 201 as a working memory for temporarily storing program data expressing computational commands as the CPU 201 carries out computations, data to be processed, and so on.
Furthermore, the CPU 201 is connected to the I/O controller 203 by the bus. The I/O controller 203 makes inputs and outputs to various devices in response to instructions from the CPU 201. The I/O controller 203 is connected to the IDE I/F 204, and the HDD 205 is connected to the IDE I/F 204. The CPU 201 uses the HDD 205 for the long-term storage of programs for realizing the functions of the MFP 100 and document data that has been read.
The network I/F 206 is connected to the I/O controller 203, and the CPU 201 controls communication over the LAN 150 via the network I/F 206. The panel I/F 207 is connected to the I/O controller 203, and via the panel I/F 207, the CPU 201 controls inputs from and outputs to the user made through the operating unit 102. The printer I/F 208 is connected to the I/O controller 203, and via the printer I/F 208, the CPU 201 controls a process for outputting a recording medium utilizing the printer unit 103. The scanner I/F 209 is connected to the I/O controller 203, and via the scanner I/F 209, the CPU 201 controls a process for reading an original utilizing the scanner unit 104.
Control carried out when implementing a copy function will be described here. First, the CPU 201 loads program data from the HDD 205 into the DRAM 202 via the IDE I/F 204. In accordance with the program loaded into the DRAM 202, the CPU 201 detects, via the panel I/F 207, a copy instruction made by the user through the operating unit 102. Upon detecting the copy instruction, the CPU 201 receives the original from the scanner unit 104 as electronic data via the scanner I/F 209, and stores that electronic data in the DRAM 202. The CPU 201 executes image processing, such as color conversion processing, suited to output on the image data stored in the DRAM 202. The CPU 201 transfers the image data stored in the DRAM 202 to the printer unit 103 via the printer I/F 208, and carries out a process for outputting that data onto the recording medium.
Next, control performed when carrying out PDL printing will be described. First, the client PC 120 issues a print instruction over the LAN 150. The CPU 201 loads program data from the HDD 205 into the DRAM 202 via the IDE I/F 204, and detects the print instruction via the network I/F 206 in accordance with the program loaded into the DRAM 202. Upon detecting a PDL transmission instruction, the CPU 201 receives print data via the network I/F 206 and stores the print data in the HDD 205 via the IDE I/F 204. When the print data has been successfully stored, the CPU 201 expands the print data stored in the HDD 205 as image data in the DRAM 202. The CPU 201 executes image processing, such as color conversion processing, suited to output on the image data stored in the DRAM 202. The CPU 201 transfers the image data stored in the DRAM 202 to the printer unit 103 via the printer I/F 208, and carries out a process for outputting that data onto the recording medium.
Software Configuration
Next, the configuration of software (software components) executed by the controller unit 101 of the MFP 100 will be described with reference to
As a software configuration, the MFP 100 includes an operation control unit 301, a data storage unit 302, a DHCP control unit 303, a TCP/IP control unit 304, a job control unit 305, an image processing unit 306, a printing processing unit 307, and a reading processing unit 308. The operation control unit 301 displays screen images for the user in the operating unit 102, and detects user operations and executes processes associated with screen components such as buttons displayed in the screen. The data storage unit 302 stores data in and reads data out from the HDD 205 in response to requests from other software components. For example, in the case where the user wishes to change a device setting, the operation control unit 301 detects content input by the user into the operating unit 102, and the data storage unit 302 stores that content as a setting value in the HDD 205 in response to a request from the operation control unit 301.
The DHCP control unit 303 controls processing pertaining to the obtainment of IP addresses in accordance with the protocol defined as DHCP in RFC 2131. The TCP/IP control unit 304 carries out processing for transmitting and receiving network packets via the network I/F 206, in response to instructions from the other software components. For example, after determining a packet to be transmitted in accordance with the protocol, the DHCP control unit 303 requests the TCP/IP control unit 304 to carry out the actual process of transmitting the packet.
The job control unit 305 controls the execution of jobs in response to instructions from other software components. The image processing unit 306 processes the image data into a format suited to the application thereof in accordance with instructions from the job control unit 305. The printing processing unit 307 prints and outputs an image onto the recording medium via the printer I/F 208 in response to instructions from the job control unit 305. The reading processing unit 308 reads a provided original via the scanner I/F 209 in response to instructions from the job control unit 305.
For example, in the case where a copy function is executed, the operation control unit 301 detects a request to start the copy function, and instructs the job control unit 305 to make a copy. The job control unit 305 instructs the reading processing unit 308 to read an original, thus obtaining a scanned image. The job control unit 305 instructs the image processing unit 306 to convert the scanned image into a format suited to printing. The job control unit 305 instructs the printing processing unit 307 to carry out the print, and the resulting copy is outputted by the printer unit 103.
Screen Examples
Next, examples of screens displayed in the operating unit 102 of the MFP 100 will be described with reference to
The network settings screen 401 is configured to include a setting item 402. The setting item 402 is an item for the user to input a setting for, in the case where the obtainment of an IP address through DHCP has failed, whether or not to release the previously-obtained IP address. This setting can be made using a check box indicated by 403, for example. Checking the check box makes a setting for releasing IP address, and removing the checkmark makes a setting for not releasing the IP address.
Next, a menu screen 501 will be described with reference to
The information notification area 502 is an area for communicating information about events in the MFP 100 to the user. For example, in
Obtainment Process
Next, a processing sequence according to the present embodiment, carried out by the MFP 100 in the case where an IP address is obtained utilizing DHCP, will be described with reference to
In S1001, the CPU 201 detects that a network initialization process has been started, and starts the process for obtaining an IP address through DHCP. The network initialization process is carried out in a variety of circumstances, such as when the power is turned on, network settings have been changed by the user, the lease period of an IP address assigned through DHCP ends, and so on. Additionally, although other methods for assigning an IP address exist, such as setting a static IP address or using another protocol such as Auto IP (Automatic Private IP Addressing), it is assumed here that a process for obtaining an IP address through DHCP has been selected.
In S1002, the CPU 201 transmits DHCPDISCOVER as a process for searching for a DHCP server. This is a request, made over the LAN 150, for a response from a reachable DHCP server. Next, in S1003, the CPU 201 determines whether or not DHCPOFFER has been received as a proposed IP address. If the DHCPOFFER is received, the process moves to S1004, whereas if the DHCPOFFER is not received, the process moves to S1008. The DHCPOFFER being received indicates that the DHCP server 110 has notified the MFP 100 of a potential IP address to be assigned in response to the DHCPDISCOVER from the MFP 100. The DHCPOFFER not being received indicates that a pre-set standby time has passed after the MFP 100 has transmitted the DHCPDISCOVER.
In S1004, the CPU 201 transmits a DHCPREQUEST as an IP address assignment request. This is a request for permission for the MFP 100 to utilize the IP address communicated by the DHCP server 110 through the DHCPOFFER. Next, in S1005, the CPU 201 determines whether or not a DHCPACK has been received from the DHCP server 110 as a notification that the utilization is permitted. If the DHCPACK is received, the process moves to S1006, whereas if the DHCPACK has not been received, the process moves to S1008. The DHCPACK being received indicates that the DHCP server 110 has assigned the IP address to the MFP 100. The DHCPACK not being received indicates that the DHCP server 110 has rejected the MFP 100 and transmitted a DHCPNAK, or that a pre-set standby time has passed after the MFP 100 has transmitted the DHCPREQUEST.
In S1006, the CPU 201 obtains the IP address assigned by the DHCP server 110 and stores the IP address in the HDD 205. Furthermore, the CPU 201 stores a lease period included in the DHCPACK in the HDD 205. The “lease period” indicates a period for which the assigned IP address can be used. Next, in S1007, the CPU 201 sets the IP address assigned by the DHCP server 110 in the network I/F 206.
Meanwhile, in S1008, the CPU 201 obtains, from the HDD 205, a setting value corresponding to the setting item 402, which is a setting made in the case where the IP address obtainment has failed. The CPU 201 then determines whether or not the setting is a setting for releasing the previously-obtained IP address. In the case where the setting is for releasing, the process moves to S1012, whereas in the case where the setting is not for releasing, the process moves to S1009.
In S1009, the CPU 201 confirms whether or not the IP address stored during the previous successful obtainment is present in the HDD 205. In the case where the IP address is not present, the process moves to S1012, whereas in the case where the IP address is present, the process moves to S1010. Here, a memory address in the HDD 205 corresponding to the storage location of the confirmed IP address information is the same as the memory address in the HDD 205 corresponding to the storage location of the IP address information stored in S1006.
In S1010, the CPU 201 sets the IP address stored during the previous successful obtainment and read out from the HDD 205 in S1009 in the network I/F 206. Furthermore, in S1011, the CPU 201 functions as a reporting unit, and displays an indication, in the information notification area 502 of the menu screen 501, that the address obtainment through DHCP failed and the IP address from the previous successful obtainment will be used. The process then ends. Note that the reporting method is not limited to a method of displaying information in a display unit of the operating unit 102, and a method that transmits an email to a pre-registered email address of an administrator may be used instead.
On the other hand, in S1012, the CPU 201 determines that the IP address assignment has failed, interrupts the process of obtaining an IP address, releases the previously-obtained IP address, and ends the process.
Extension Process
Next, a processing sequence carried out by the MFP 100 in the case of executing a process for extending the lease period of an IP address obtained from the DHCP server 110, according to the present embodiment, will be described with reference to
In S1101, the CPU 201 starts the process for extending the lease period of the IP address. Specifically, the DHCP control unit 303 starts the process for extending the lease period by detecting that a pre-set time has been reached, on the basis of the lease period of the IP address stored in S1006. In the case where the lease period is 6,000 seconds, for example, the pre-set time may be set to a percentage corresponding to 0.875 of the lease period, or in other words, 5,250 seconds from the start of the lease. In other words, the pre-set time is set to a time before the stored lease period ends.
Next, in S1102, the CPU 201 transmits a DHCPREQUEST to the DHCP server 110 as a lease period update request. Then, in S1103, the CPU 201 determines whether or not a DHCPACK has been received as a notification that the extension is permitted. In the case where the DHCPACK is received, the process moves to step S1104, whereas in the case where the DHCPACK is not received, the process moves to step S1105. Here, the DHCPACK not being received indicates that the lease period has ended before the DHCPACK serving as the permission notification has been received.
In S1104, the CPU 201 stores the new lease period included in the DHCPACK in the HDD 205, and ends the lease period extension process. When the pre-set time for the lease period is reached again, the process is started again from S1101, and the lease period can therefore continue to be extended as long as permitted by the DHCP server 110.
On the other hand, in S1105, the CPU 201 detects that the lease period extension has failed. In the case where the lease period extension has failed, the lease period is assumed to have ended, and the process for obtaining an IP address through DHCP is executed from S1001 in
As described thus far, in the case where the obtainment of an IP address assigned by a server device has failed, the information processing apparatus according to the present embodiment switches control depending on whether or not a setting for releasing the previously-obtained IP address is set. Specifically, if the stated setting is set, the information processing apparatus releases the previously-obtained IP address and ends the processing in a state where the network initialization has failed. On the other hand, if the stated setting is not set, the previously-obtained IP address continues to be used, and thus that IP address is set in the network I/F. The stated setting is carried out in response to a user operation made through the network settings screen 401 illustrated in
Hereinafter, a second embodiment of the present invention will be described. The present embodiment will describe control for switching whether to continue using an IP address or release the IP address in accordance with the reason for failing to obtain an IP address from the DHCP server 110. The configuration described in the foregoing first embodiment with reference to
Obtainment Process
A processing sequence according to the present embodiment, carried out by the MFP 100 in the case where an IP address is obtained utilizing DHCP, will be described with reference to
Upon determining that the DHCPACK could not be received in S1005, the process advances to S2001, where the CPU 201 determines whether or not a DHCPNAK has been received as a rejection notification in response to the DHCPREQUEST. In the case where the DHCPNAK has been received, the process moves to step S1012, whereas in the case where the DHCPNAK has not been received, the process moves to step S1008. In the case where the DHCPNAK has been received, communication with the DHCP server 110 can be carried out normally, and thus the CPU 201 does not continue to use the IP address successfully obtained the previous time. However, the DHCPNAK not being received indicates that a pre-set standby time has passed, and thus the CPU 201 can confirm that communication cannot be carried out with the DHCP server 110 normally. The CPU 201 therefore continues to use the IP address.
Accordingly, in S1012, the CPU 201 determines that the IP address assignment has failed, interrupts the process of obtaining an IP address, releases the previously-obtained IP address, and ends the process. Meanwhile, in S1008, the CPU 201 obtains, from the HDD 205, a setting value corresponding to the setting item 402, which is a setting made in the case where the IP address obtainment has failed. The CPU 201 then determines whether or not the setting is a setting for releasing the previously-obtained IP address. The processing following thereafter is the same as in the flowchart of
As described thus far, with the MFP 100 according to the present embodiment, the user can set whether or not to reuse an IP address successfully obtained the previous time having taken into consideration the connection state with the DHCP server 110. By operating in accordance with this setting, print jobs can continue to be accepted successfully even in the case where the IP address obtainment has failed. Furthermore, according to the present embodiment, whether or not normal communication is possible is determined on the basis of whether or not the rejection notification has been received from the DHCP server 110. The use of the previously-obtained IP address is limited regardless of the stated setting in the case where communication is successfully being carried out normally. A situation in which a plurality of devices operate with overlapping and identical IP addresses can be effectively avoided as a result.
Embodiments of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiments and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiments, and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiments and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiments. The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2016-154024 filed on Aug. 4, 2016, which is hereby incorporated by reference herein in its entirety.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
7103648, | Jul 31 2001 | Gateway Inc. | Method and system for assigning an IP address to a host based on features of the host |
20050198344, | |||
20120023220, | |||
20170019546, | |||
JP2015186257, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jul 12 2017 | ISHIKAWA, AKIRA | Canon Kabushiki Kaisha | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 044313 | /0808 | |
Jul 25 2017 | Canon Kabushiki Kaisha | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Oct 19 2023 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
May 05 2023 | 4 years fee payment window open |
Nov 05 2023 | 6 months grace period start (w surcharge) |
May 05 2024 | patent expiry (for year 4) |
May 05 2026 | 2 years to revive unintentionally abandoned end. (for year 4) |
May 05 2027 | 8 years fee payment window open |
Nov 05 2027 | 6 months grace period start (w surcharge) |
May 05 2028 | patent expiry (for year 8) |
May 05 2030 | 2 years to revive unintentionally abandoned end. (for year 8) |
May 05 2031 | 12 years fee payment window open |
Nov 05 2031 | 6 months grace period start (w surcharge) |
May 05 2032 | patent expiry (for year 12) |
May 05 2034 | 2 years to revive unintentionally abandoned end. (for year 12) |