DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the. Claims 1-21 are pending.
Specification
The title of the invention is not descriptive. A new title is required that is clearly indicative of the invention to which the claims are directed.
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the claims at issue are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); and In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on a nonstatutory double patenting ground provided the reference application or patent either is shown to be commonly owned with this application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The USPTO internet Web site contains terminal disclaimer forms which may be used. Please visit http://www.uspto.gov/forms/. The filing date of the application will determine what form should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to http://www.uspto.gov/patents/process/file/efs/guidance/eTD-info-I.jsp.
Claims 1, 10, 15 and 19 are rejected on the ground of nonstatutory obviousness-type double patenting as being unpatentable over claims 1 of U.S. Pat. 11789773. Although the claims at issue are not identical, they are not patentably distinct from each other because it is a broader version of the claims of the U.S. Patent 11789773.
U.S. Pat. 11789773
Instant application (18/243477)
1. A computing device comprising:
a multi-core processor comprising a plurality of individual cores;
a task classifying module provided separately from the multi-core processor, the task classifying module being configured to classify each task of tasks to be processed by the individual cores of the multi-core processor into one of an expectable task for which a future execution is predictable based on a current execution pattern, and a normal task for which the future execution is not predictable;
a task allocating and managing module provided separately from the multi-core processor and configured to:
receive a new task, of the tasks to be processed, that has been classified;
select a first core of the individual cores of the multi-core processor;
compare a priority of the new task that is classified as a normal task with a priority of an expectable task previously inserted into an expectable task list queue specific to the first core,
insert the new task into a normal task list queue specific to a second core of the individual cores of the multi-core processor when, based on the comparison, allocation of the new task to the first core will change the future execution of the expectable task previously inserted into the expectable task list queue specific to the first core, and
insert the new task into a normal task list queue specific to the first core when, based on the comparison, the allocation of the new task will not change the future execution.
1. A computing device comprising: a multi-core processor which includes at least two cores, each having a significant task list queue and a normal task list queue; and a scheduler which allocates a task to each of the at least two cores, wherein the scheduler is configured to: following allocation of the tasks, receive a new task, select one core among the at least two cores based on task information of the new task, and allocate the new task to the selected core, when the allocation of the new task to the selected core will not change an execution schedule of a significant task in the significant task list queue of the selected core.
U.S. Pat. 11789773
Instant application (18/243477)
1. A computing device comprising:
a multi-core processor comprising a plurality of individual cores;
a task classifying module provided separately from the multi-core processor, the task classifying module being configured to classify each task of tasks to be processed by the individual cores of the multi-core processor into one of an expectable task for which a future execution is predictable based on a current execution pattern, and a normal task for which the future execution is not predictable;
a task allocating and managing module provided separately from the multi-core processor and configured to:
receive a new task, of the tasks to be processed, that has been classified;
select a first core of the individual cores of the multi-core processor;
compare a priority of the new task that is classified as a normal task with a priority of an expectable task previously inserted into an expectable task list queue specific to the first core,
insert the new task into a normal task list queue specific to a second core of the individual cores of the multi-core processor when, based on the comparison, allocation of the new task to the first core will change the future execution of the expectable task previously inserted into the expectable task list queue specific to the first core, and
insert the new task into a normal task list queue specific to the first core when, based on the comparison, the allocation of the new task will not change the future execution.
10. A computing device comprising: a multi-core processor which includes a first core and a second core; and a task allocating and managing module configured to: check task information of a new task to determine whether the new task disturbs an execution of at least one of previous significant tasks in the second core, and allocate the new task to the first core when the new task disturbs the execution of the at least one of previous significant tasks in the second core.
U.S. Pat. 11789773
Instant application (18/243477)
1. A computing device comprising:
a multi-core processor comprising a plurality of individual cores;
a task classifying module provided separately from the multi-core processor, the task classifying module being configured to classify each task of tasks to be processed by the individual cores of the multi-core processor into one of an expectable task for which a future execution is predictable based on a current execution pattern, and a normal task for which the future execution is not predictable;
a task allocating and managing module provided separately from the multi-core processor and configured to:
receive a new task, of the tasks to be processed, that has been classified;
select a first core of the individual cores of the multi-core processor;
compare a priority of the new task that is classified as a normal task with a priority of an expectable task previously inserted into an expectable task list queue specific to the first core,
insert the new task into a normal task list queue specific to a second core of the individual cores of the multi-core processor when, based on the comparison, allocation of the new task to the first core will change the future execution of the expectable task previously inserted into the expectable task list queue specific to the first core, and
insert the new task into a normal task list queue specific to the first core when, based on the comparison, the allocation of the new task will not change the future execution.
15. A method for operating a computing device, the method comprising: receiving a new task by the computing device which includes a multi-core processor including a plurality of cores; classifying the new task into a user driven task and a normal task based on task information including task attributes and priority values of the new task; and allocating the new task to one core among the plurality of cores depending on a classifying result.
U.S. Pat. 11789773
Instant application (18/243477)
1. A computing device comprising:
a multi-core processor comprising a plurality of individual cores;
a task classifying module provided separately from the multi-core processor, the task classifying module being configured to classify each task of tasks to be processed by the individual cores of the multi-core processor into one of an expectable task for which a future execution is predictable based on a current execution pattern, and a normal task for which the future execution is not predictable;
a task allocating and managing module provided separately from the multi-core processor and configured to:
receive a new task, of the tasks to be processed, that has been classified;
select a first core of the individual cores of the multi-core processor;
compare a priority of the new task that is classified as a normal task with a priority of an expectable task previously inserted into an expectable task list queue specific to the first core,
insert the new task into a normal task list queue specific to a second core of the individual cores of the multi-core processor when, based on the comparison, allocation of the new task to the first core will change the future execution of the expectable task previously inserted into the expectable task list queue specific to the first core, and
insert the new task into a normal task list queue specific to the first core when, based on the comparison, the allocation of the new task will not change the future execution.
19. A computing device comprising: a multi-core processor which includes a plurality of cores; and a scheduler configured to: receive a new task; select a first core of the plurality of cores; allocate the new task to the first core when task information of the new task indicates that allocating the new task to the first core will not change the execution schedule of a task previously allocated to the first core; when the task information of the new task indicates that allocating the new task to the first core will change the execution schedule of the task previously allocated to the first core, select a second core of the plurality of cores other than the first core, and allocate the new task to the second core based on the task information of the new task and an execution schedule of a task previously allocated to the second core.
Claim 1 of the U.S. Pat. 11789773 discloses substantially every element of claims 1, 10, 15 and 19 of the instant application in greater detail.
In particular, the instant application, as mapped out in corresponding bolded sections above, claims 1, 10, 15 and 19 of the instant application covers different aspects of claim 1 of U.S. Pat. 11789773. The only difference is that the instant application refers to “expectable task” of the U.S. Pat. as “significant task.” However by applicant’s own admission in the specification of the instant application these two types of tasks are the same thing ([0043]).
Therefore, claims 1, 10, 15 and 19 are rejected.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-21 are rejected under 35 U.S.C. 112(b) as being indefinite for failing to particularly point out and distinctly claim the subject matter which applicant regards as the invention.
The following claim languages are not clear and indefinite:
As per claim 1, 10, 15 and 19 it is not clear what is a “significant task” (e.g. a task that requires a lot of resources; or a task that takes a lot of time to complete). As such it is not clear what aspect of scheduling that the invention is trying to improve.
As per claim 1, it is not clear if the “at least two cores” share the same “significant task list queue and normal task list queue” or they all have their own set of “significant task list queue and normal task list queue”.
The dependent claims do not cure the 112(b) issues of their respective parent claims. Therefore, they are rejected for the same reasons as those presented for their respective parent claims.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 10-21 are rejected under 102(a)(1)(2) as being unpatentable over Dong et al (U.S. Pat. 8397235).
Dong reference has been previously presented.
As per claim 10 Dong teaches the invention as claimed including a computing device comprising: a multi-core processor which includes a first core and a second core (Fig. 1); and a task allocating and managing module (Fig. 1 Kernel and scheduler) configured to:
check task information of a new task to determine whether the new task disturbs an execution of at least one of previous significant tasks in the second core, and allocate the new task to the first core when the new task disturbs the execution of the at least one of previous significant tasks in the second core (col 3 lines 55-57; col 3 lines 10-15, 24-29; 42-54 when a task of Fig. 1 is determined to be a NRT task or aperiodic task, then it can be scheduled to run on a core when no expiration is imminent for another higher privilege level task, such as an already scheduled periodic task; this ensures that the already scheduled periodic task won’t have its schedule abruptly terminated since expiration of a task means that the task has failed to execute by its latest execution start time or the task has its completion preempted; otherwise the NRT task or aperiodic cannot be scheduled on the same core as the already scheduled periodic task but it can be scheduled for execution on another core).
As per claim 11 Dong teaches wherein the task information comprises task attributes and priority values (col 3 lines 16-22, 30-38, col 4 lines 45-53).
As per claim 12 Dong teaches wherein the at least one of previous significant tasks are tasks whose execution is not interrupted by another task (col 3 lines 1-26, col 4 lines 45-54, col 3 lines 55-58: cores that are already scheduled to have a periodic task assigned will not be interrupted, since it has the highest privilege, and other tasks will have to move to other cores if scheduling them would cause the scheduled periodic task to miss its imminent expiration time, which is the time by which the task must begin to run).
As per claim 13 Dong wherein the task attributes comprise a plurality of sub-attributes, including a top application attribute, and when a task attribute of the new task has the top application attribute, the task allocating and managing module is configured to: check task list queues of the first core and the second core, select the first core that has only tasks with lower priority among previously allocated tasks in the task list queues, and allocate the new task to the selected the first core (col 4 lines 45-59, col 3 lines 1-8, 22-24 if a received task is determined to be a periodic task then it has the highest privilege, thus making it a top task, which allows it to be placed in any run queue with tasks with lower privilege).
As per claim 14 Dong teaches wherein the task attributes comprise a plurality of sub-attributes, including a top application attribute, and when a task attribute of the new task has the top application attribute, the task allocating and managing module is configured to: move a task that is previously allocated to the first core, to the second core, and allocate the new task to the first core (col 4 lines 45-59, col 3 lines 1-8 a task can be determined to have the attribute of being periodic, which makes it a top application; periodic task have sub-attribute of various time constraints, when it is scheduled on a run queue of a core, it will preempt a task of lower privilege, and that task of lower privilege can be scheduled on another core over time: Fig. 5, col 3 lines 63-67, col 4 lines 31-37).
As per claim 15 Dong teaches method for operating a computing device, the method comprising: receiving a new task by the computing device which includes a multi-core processor including a plurality of cores (Fig. 1, col 2 lines 50-57); classifying the new task into a user driven task and a normal task based on task information including task attributes and priority values of the new task (col 3 lines 1-5, 18-20, 30-33, col 4 lines 51-52 scheduler classify tasks into categories, such as non-real-time tasks (NRTs), aperiodic tasks and periodic tasks, where the NRT has the lowest privilege, and periodic tasks have the highest privilege); and allocating the new task to one core among the plurality of cores depending on a classifying result (col 3 lines 3-8 based on categories received tasks are placed in order into Run Queue A and B).
As per claim 16 Dong teaches wherein the classifying comprises: classifying the new task as the user driven task when the task attributes of the new task include top application attributes and the priority values of the new task include a priority value that is smaller than a reference value (col 3 lines 1-8, col 4 lines 51-54 a task can be classified as periodic tasks, which means it would have the highest privilege level; in computer science a task of high privilege or priority level is one that has a priority value lower than some set value, such as 100 for Linux kernel: https://askubuntu.com/questions/656771/process-niceness-vs-priority).
As per claims 17 and 18 they are broader reworded versions of claims 13 and 14, respectively. Therefore, they are rejected for the same reasons, mutatis mutandis, as those presented for claims 13 and 14, respectively.
As per claim 19 Dong teaches computing device comprising: a multi-core processor which includes a plurality of cores; and a scheduler (Fig. 1) configured to:
receive a new task (col 2 lines 50-57);
select a first core of the plurality of cores; allocate the new task to the first core when task information of the new task indicates that allocating the new task to the first core will not change the execution schedule of a task previously allocated to the first core; when the task information of the new task indicates that allocating the new task to the first core will change the execution schedule of the task previously allocated to the first core, select a second core of the plurality of cores other than the first core, and allocate the new task to the second core based on the task information of the new task and an execution schedule of a task previously allocated to the second core (col 3 lines 55-57; col 3 lines 10-15, 24-29; 42-54 when a task of Fig. 1 is determined to be a NRT task or aperiodic task, then, based on category specific properties of the task, it can be scheduled to run on a core when no expiration is imminent for another higher privilege level task, such as an already scheduled periodic task; this ensures that the already scheduled periodic task won’t have its schedule abruptly terminated since expiration of a task means that the task has failed to execute by its latest execution start time or the task has its completion preempted; otherwise the NRT task or aperiodic cannot be scheduled on the same core as the already scheduled periodic task but it can be scheduled for execution on another core).
As per claim 20 Dong teaches wherein the scheduler is configured to compare the task information of the new task with the execution schedule of the task previously allocated to the first core to determine whether allocating the new task to the first core will change the execution schedule of the task previously allocated to the first core (col 3 lines 1-37, 55-57, col 4 lines 51-53 category of a new task is compared with category of tasks that are already in run queues in order to determine whether or not they can be placed on a run queue for a core, so that execution of tasks already on the run queue would not be affected; or if they will preempt execution of tasks that are already placed on a run queue).
As per claim 21 Dong teaches wherein the scheduler is configured to compare execution attributes included in the task information of the new task with the execution schedule of the task previously allocated to the first core to determine whether allocating the new task to the first core will change the execution schedule of the first core (col 3 lines 1-37, 55-57, col 4 lines 51-53 category of a new task is compared with category of tasks that are already in run queues in order to determine whether or not they can be placed on a run queue for a core, so that execution of tasks already on the run queue would not be affected; or if they will preempt execution of tasks that are already placed on a run queue).
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-3 and 6-9 are rejected under 103 over Dong et al (U.S. Pat. 8397235) in view of Kuo et al (Scheduling Algorithm Considering Response Time for Mixed Tasks on Multiprocessor Systems, ACM 2016).
Dong and Kuo references have been previously presented.
As per claim 1 Dong a computing device comprising: a multi-core processor which includes at least two cores, each having assess to two or more run queues (Fig. 1, col 2 lines 58-67); and a scheduler which allocates a task to each of the at least two cores, wherein the scheduler is configured to: following allocation of the tasks, receive a new task (Fig. 1, col 2 lines 63-67, col 3 lines 55-64, col 5 line 66 – col 6 lines 28 run queues already have tasks that a scheduler has previously placed, and these already placed tasks will be part of the reason for deciding where to place a received task), select one core among the at least two cores based on task information of the new task, and allocate the new task to the selected core, when the allocation of the new task to the selected core will not change an execution schedule of a significant task in the run queue of the selected core (col 3 lines 1-29, col 5 line 66 – col 6 lines 28; col 3 lines 55-57; col 3 lines 10-15, 24-29; 42-54 when received task classified to be a NRT task or aperiodic task, then it can be scheduled to run on a core when no expiration is imminent for another higher privilege level task, such as an already scheduled periodic task; this ensures that the already scheduled periodic task won’t have its schedule abruptly terminated since expiration of a task means that the task has failed to execute by its latest execution start time or the task has its completion preempted).
Dong does not explicitly teach that the two or more run queues can be a significant task list queue and a normal task list queue; and that the significant task list queue of a selected core can be selected for a received task.
.
However, Kuo explicitly teach that the two or more run queues can be a significant task list queue and a normal task list queue; and that the significant task list queue of a selected core can be selected for a received task (pg. 1768 right col, section 3, pg. 1769 left col last 4 lines, right col lines 1-8).
It would have been obvious to one with ordinary skill in the art prior to the effective filling date of the invention to combine the teachings of Dong and Kuo since both are directed towards scheduling of periodic and non-periodic tasks on multiple processors. One with ordinary skill in the art would be motivated to incorporate the teachings of Kuo into that of Dong because Kuo further improves the efficiency of scheduling of periodic and non-periodic tasks on multiple processors (pg. 1767 abstract, right col 2nd to last paragraph).
As per claim 2 Dong teaches wherein the task information comprises task attributes and priority values (col 3 lines 16-22, 30-38, col 4 lines 45-53).
As per claim 3 Dong teaches wherein the task attributes comprise attributes indicating whether there is a top application to which the new task belongs (col 4 lines 45-59, col 3 lines 1-8 a task can be determined to have the attribute of being periodic, which makes it a top application; periodic task have sub-attribute of various time constraints, when it is scheduled on a run queue of a core, it will preempt a task of lower privilege, and that task of lower privilege can be scheduled on another core over time: Fig. 5, col 3 lines 63-67, col 4 lines 31-37).
As per claim 6 Dong teaches wherein the significant task is a task whose execution is not disturbed by another task (col 4 lines 51-53).
As per claim 7 Dong teaches wherein the task information comprises: task create information on an initial create operation of the task, task create time information, task enqueue information, task load update information, task dequeue information, task dead information, and user specified parameter information, wherein the scheduler determines whether the new task is a significant task, based on the task information, and wherein the significant task is performed with a certain execution pattern (col 3 lines 30-54, col 4 lines 45-59, col 5 lines 24-40 tasks have their associated start time, duration, end time, frequency, various time constraints, privilege level).
As per claim 8 Dong as modified by Kuo teaches wherein, when the new task belongs to the top application, the scheduler checks the significant task list queue and the normal task list queue of each of the at least two cores, the scheduler selects, as the one core, a core having only tasks with lower priority among tasks previously allocated to the at least two cores, based on the significant task list queues and the normal task list queues (Dong col 4 lines 45-59, col 3 lines 1-8, 22-24 if a received task is determined to be a periodic task then it has the highest privilege, thus making it a top task, which allows it to be placed in any run queue with tasks with lower privilege; Kuo pg. 1768 right col, section 3, pg. 1769 left col last 4 lines, right col lines 1-8 periodic tasks are placed only in queues for periodic tasks).
As per claim 9 Dong teaches wherein, when the new task belongs to the top application, the scheduler moves the task previously allocated to the one core of the at least two cores to a second core of the at least two cores, and the new task is allocated to the one core (col 4 lines 45-59, col 3 lines 1-8 a task can be determined to have the attribute of being periodic, which makes it a top application; periodic task have sub-attribute of various time constraints, when it is scheduled on a run queue of a core, it will preempt a task of lower privilege, and that task of lower privilege can be scheduled on another core over time: Fig. 5, col 3 lines 63-67, col 4 lines 31-37).
Claims 4 and 5 are rejected under 103 over Dong et al (U.S. Pat. 8397235) in view of Kuo et al (Scheduling Algorithm Considering Response Time for Mixed Tasks on Multiprocessor Systems, ACM 2016); and in further view of Brenner et al (U.S. Pat. 7448036).
Dong and Kuo references have been previously presented.
As per claim 4 Dong teaches wherein the scheduler compares a priority value of the priority values with a reference value, when the priority value of the new task is less than the reference value, the scheduler classifies the new task as a significant task (col 3 lines 1-8, col 4 lines 51-54 a task can be classified as periodic tasks, which means it would have the highest privilege level; in computer science a task of high privilege or priority level is one that has a priority value lower than some set value, such as 100 for Linux kernel: https://askubuntu.com/questions/656771/process-niceness-vs-priority).
Don as modified by Kuo does not explicitly teach that the schedule inserts a task that is classified as significant task into the significant task list queue, and when the priority value of the new task is greater than or equal to the reference value, the scheduler inserts the new task into the normal task list queue.
However, Brenner explicitly that the schedule inserts a task that is classified as significant task into the significant task list queue, and when the priority value of the new task is greater than or equal to the reference value, the scheduler inserts the new task into the normal task list queue (col 4 lines 18-29, 40-48, 52-65; col 5 lines 1-9 a high priority job with high enough priority, such as thread H2, is placed into High Priority Queue, but if it doesn’t have high enough priority, i.e. it is not at least two priority levels higher, then it is placed in a favorable position in a queue with “normal” priority jobs; note that higher priority levels corresponds to lower priority values: col 3 lines 5-18).
It would have been obvious to one with ordinary skill in the art prior to the effective filling date of the invention to combine the teachings of Brenner and Dong as modified by Kuo since both are directed towards scheduling of tasks based on the priority in a computing system. One with ordinary skill in the art would be motivated to incorporate the teachings of Brenner into that of Dong as modified by Kuo because Brenner further improves the performance of scheduling of tasks based on the priority in a computing system (col 2 lines 27-41).
As per claim 5 Brenner teaches wherein when the scheduler inserts the new task into the normal task list queue, the scheduler adjusts an execution order of the new task in the normal task list queue based on the priority value (col 4 lines 44-49 high priority job is placed in a favorable position in a queue containing other normal priority jobs).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BING ZHAO whose telephone number is (571)270-1745. The examiner can normally be reached 9:30am - 6pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, James Trujillo can be reached on (571) 272-3677. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/BING ZHAO/Primary Examiner, Art Unit 2151