DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This is in response to a Request for Continued Examination filed on 12/22/2025.
Claims 1-3, 5-9, 12, 19-23, and 26 have been amended.
No claims have been cancelled. Claims 4 and 13-18 were cancelled previously.
No new claims have been added.
Claims 1-3, 5-12, and 19-26 remain pending in the application.
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 12/22/2025 has been entered.
Response to Arguments
Applicant's arguments filed 12/22/2025 have been fully considered but they are not persuasive. Regarding 35 U.S.C. 112(f), Applicant argues that the claims have been amended to avoid interpretation under 35 U.S.C. 112(f). The Examiner would like to note that the claims still recite the terms “host interface” and “network interface.” The Examiner would also like to note that an interpretation under 35 U.S.C. 112(f) is not a rejection under 35 U.S.C. 112(f). The Examiner is required to interpret the terms “host interface” and “network interface” under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) use a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Regarding the 35 U.S.C. 112(b) rejections of claims 1-3, 5-12, and 19-26, Applicant argues that the amendments to the claims overcome the rejections. The Examiner respectfully disagrees. Such claims as amended and also in light of the independent claims as amended still contain issues the render the claims indefinite, largely due to antecedent basis conflicts. Please see the detailed 35 U.S.C. 112(b) rejections of such claims below for a detailed discussion of such issues. Regarding the 35 U.S.C. 102(a)(2) rejection of claims 1 and 19, Applicant argues that Chandra does not disclose copying identifiers of packets scheduled in the second timing wheel to the first timing wheel prior to transmission. Applicant asserts that the hierarchical timing wheels of Chandra are separate and independent and packet identifiers are not moved between the timing wheels. The Examiner respectfully disagrees with Applicant’s interpretation of the prior art. A person having ordinary skill in the art would understand hierarchical data structures such as hierarchical timing wheels to be implemented in a hierarchy (i.e., not separate and independent). Use of hierarchical data structures such as timing wheels is common in the art, which is even admitted by Applicant’s own specification in paragraphs [001]-[002]. For instance, paragraph [002] states “[a] known approach to precise packet shaping is to use hierarchical timing wheels to schedule packets for a flow at precise time intervals using packet timestamps along with packet shaping using single or hierarchical aggregation of rates.” Paragraph [0013] also appears to characterize such hierarchical timing wheels as “a hierarchical tree-based scheduler.” Paragraph [0045] of Applicant’s specification also discusses “a hierarchical link list” with a parent link list and a child link list. The Examiner’s interpretation of “hierarchical” thus also appears to be in line with Applicant’s specification. Furthermore, although the Examiner is not rejecting the claims using Applicant’s Admitted Prior Art, the Examiner would like to note that a rejection of the independent claims in view of paragraph [002] is theoretically possible given that paragraph [002] may be broadly reasonably interpreted as stating that the subject matter of the independent claims is “a known approach.” With regard to the teachings of the prior art, Chandra teaches that more than one timing wheel may be used, and such timing wheels are described as potentially being configured to have a different number of time-slots, different timing wheel granularities, and different time horizons (Chandra; Figs. 3-4C; [0044]-[0054]). Such use of potentially multiple timing wheels to schedule packets for transmission may be broadly reasonably interpreted as causing transmission of packets based on transmission times and use of at least one of multiple timing wheels. Chandra further teaches that the method includes storing identifiers associated with communications in a time-indexed data structure and a set of pointers associated with the communication in the network interface card memory (Chandra; Figs. 3-4C; [0044]-[0054]). The scheduler can store the identifier in the time-indexed data structure, such as the timing wheel(s) (Chandra; Figs. 3-4C; [0044]-[0054]). When more than one timing wheels are used (i.e., at least a first timing wheel and a second timing wheel), such timing wheels are described as being used hierarchically and also potentially in a first-in, first-out (FIFO) queuing manner (Chandra; Figs. 3-4C; [0044]-[0054]). A person having ordinary skill in the art would therefore understand that storing identifiers associated with communications in a time-indexed data structure comprising hierarchical timing wheels (e.g., in a FIFO queuing manner) would include copying identifiers of packets from one timing wheel to another timing wheel (e.g., from the second timing wheel to the first timing wheel). Chandra may thus be broadly reasonably interpreted as teaching copying identifiers of packets scheduled in the second timing wheel to the first timing wheel prior to transmission.
Claim Interpretation
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph:
An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is invoked.
As explained in MPEP § 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph:
(A) the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function;
(B) the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and
(C) the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function.
Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function.
Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function.
Claim limitations in this application that use the word “means” (or “step”) are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action. Conversely, claim limitations in this application that do not use the word “means” (or “step”) are not being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action.
This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitation(s) is/are: “a host interface” and “a network interface” in claim 1. The corresponding structure for such limitations appears to be disclosed in at least Figs. 8-9 of Applicant’s specification and their corresponding description in paragraphs [0055]-[0074].
Because this/these claim limitation(s) is/are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, it/they is/are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof.
If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph.
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-3, 5-12, and 19-26 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention. Regarding claim 1, the claim has been amended to recite “second circuitry to cause transmission of packets based on transmission times” and “the second circuitry is to copy identifiers of packets scheduled in the second timing wheel to the first timing wheel prior to transmission of the packets.” However, “packets scheduled in the second timing wheel” has conflicting antecedent basis with “packets.” It is therefore unclear if “packets scheduled in the second timing wheel” are intended to be the same or different from “packets.” Claim 1 is thus indefinite. For the purpose of this examination, the Examiner will interpret “packets scheduled in the second timing wheel” as potentially being the same or different from “packets.” Regarding claim 2, the claim has been amended to recite “wherein a minimum delay value of the second time slot duration corresponds to a maximum delay value of the first time slot duration.” However, it is unclear what effect such delay values are intended to have. For instance, it is unclear if such minimum and maximum delay values are some kind of hard limits that are required to be enforced, if such delay values are intended to be incidental based on packets experiencing a required delay in the second timing wheel prior to the first timing wheel, or if some other interpretation is intended. Furthermore, if such delays are requirements to be enforced, it is unclear why the first timing wheel would be necessary at all given that it would never have more than one packet in it. Claim 2 is thus indefinite. For the purpose of this examination, the Examiner will interpret the claimed delays as possibly being incidental and not as requirements to be enforced. Regarding claim 3, the claim has been amended to recite “the circuitry is to allocate a packet to a slot in the second timing wheel based on a transmit time associated with the packet being outside of a time duration associated with the first timing wheel.” However, it is unclear if the newly recited “a packet” is intended to be the same or different from “packets scheduled in the second timing wheel” recited in claim 1. Claim 3 is thus indefinite. For the purpose of this examination, the Examiner will interpret “a packet” as potentially being one of the “packets scheduled in the second timing wheel” recited in claim 1. Regarding claim 5, the claim has been amended to recite “the circuitry is to schedule a second packet for transmission by access from the first timing wheel by re-assignment of the second packet from the second timing wheel to the first timing wheel and the circuitry is to re-assign the second packet from the second timing wheel to the first timing wheel based on a transmission time stamp of the second packet and a current packet transmission time stamp.” However, it is unclear if “a second packet” recited in claim 5 is intended to be the same or different from “packets scheduled in the second timing wheel” recited in claim 1. Claim 5 is thus indefinite. For the purpose of this examination, the Examiner will interpret “a second packet” as potentially being included in “packets scheduled in the second timing wheel” recited in claim 1. Regarding claim 9, the claim has been amended to recite “the circuitry is to store packet metadata into a cache and based on a depth of the cache, and evict the packet metadata from the cache based on an associated transmit timestamp of the packet and a timestamp of a packet to be egressed.” However, the claim limitation “the packet” lacks antecedent basis and it is unclear if “the packet” is intended to refer to one of the “packets scheduled in the second timing wheel” recited in claim 1 or if “the packet” is intended to refer to some other packet. It is also unclear if the later recited “a packet to be egressed” is intended to be the same or different from “the packet.” Claim 9 is thus indefinite. Regarding claim 12, the claim recites “use of the use of at least one of multiple timing wheels is to reduce memory utilization in the datacenter.” Such claim language appears to recite an intended use or result of using “at least one of multiple timing wheels” (i.e., “to reduce memory utilization in the datacenter”), and such an intended use or result of claimed functionality is not typically required to be taught by the prior art. It is therefore unclear if such claim language is intended to require any additional functionality to facilitate the reduction of memory utilization, or if such a reduction of memory utilization is simply an intended use or result. Claim 12 is thus indefinite. For the purpose of this examination, the Examiner will interpret the claim reasonably broadly wherein no unrecited functionality is required by the claim language “to reduce memory utilization in the datacenter.” The Examiner will still attempt to provide relevant teachings of the prior art in the interest of compact prosecution. Regarding claim 19, the claim has been amended to recite “managing, by a network interface device, transmission of packets at transmission times” and “copying identifiers of packets scheduled in the second timing wheel to the first timing wheel for egress from the first timing wheel.” However, “packets scheduled in the second timing wheel” has conflicting antecedent basis with “packets.” It is therefore unclear if “packets scheduled in the second timing wheel” are intended to be the same or different from “packets.” Claim 19 is thus indefinite. For the purpose of this examination, the Examiner will interpret “packets scheduled in the second timing wheel” as potentially being the same or different from “packets.” Regarding claim 20, the claim has been amended to recite “copying, by the network interface device, identifiers of packets scheduled in the second timing wheel to the first timing wheel based on a transmit time window corresponding to a transmit time window associated with the first timing wheel.” However, “identifiers of packets scheduled in the second timing wheel” has conflicting antecedent basis with “identifiers of packets scheduled in the second timing wheel” in claim 19. It is therefore unclear if “identifiers of packets scheduled in the second timing wheel” recited in claim 20 are intended to be the same or different from “identifiers of packets scheduled in the second timing wheel” in claim 19. Claim 20 is thus indefinite. For the purpose of this examination, the Examiner will interpret “identifiers of packets scheduled in the second timing wheel” recited in claim 20 as potentially being the same or different from “identifiers of packets scheduled in the second timing wheel” in claim 19. Regarding claim 21, the claim has been amended to recite “wherein the first timing wheel a transmit time window that is within X seconds of a current packet transmit time and the second timing wheel a transmit time window that is outside of X seconds of the current transmit time.” However, such language appears to be grammatically incorrect and it is unclear what effect such claim language is intended to have. Claim 21 is thus indefinite. For the purpose of this examination, the Examiner will interpret the first timing wheel as potentially having a transmit time window that is within X seconds of a current packet transmit time and the second timing wheel as potentially having a transmit time window that is outside of X seconds of the current transmit time. Regarding claim 22, the claim has been amended to recite “scheduling, by the network interface device, a packet of the packets for transmission,” but the claim limitation “the packets for transmission” lacks antecedent basis. It is therefore unclear if “the packets for transmission” are intended to be the same or different from “packets” recited in claim 19 or from “identifiers of packets scheduled in the second timing wheel” recited in claim 19. Claim 22 is thus indefinite. For the purpose of this examination, the Examiner will interpret “the packets for transmission” as potentially being the same or different from “packets” recited in claim 19 and from “identifiers of packets scheduled in the second timing wheel” recited in claim 19. Regarding claim 26, the claim has been amended to recite “the circuitry is to copy identifiers of packets scheduled in the second timing wheel to the first timing wheel based on time stamps of the packets scheduled in the second timing wheel and a then-current packet transmit time stamp.” Such claim language appears to recite copying multiple identifiers of multiple packets each having respective “time stamps” based on the singular “a then-current packet transmit time stamp.” It is unclear if all of such packets are intended to be copied based on such a single “a then-current packet transmit time stamp” value, or if each of such multiple packets is intended to have a different “then-current packet transmit time stamp” consistent with their previous respective time stamp values. Furthermore, “identifiers of packets scheduled in the second timing wheel” has conflicting antecedent basis with “identifiers of packets scheduled in the second timing wheel” recited in claim 1. It is thus also unclear if “identifiers of packets scheduled in the second timing wheel” recited in claim 26 are intended to be the same or different from “identifiers of packets scheduled in the second timing wheel” recited in claim 1. Claim 26 is thus indefinite. For the purpose of this examination, the Examiner will interpret “identifiers of packets scheduled in the second timing wheel” recited in claim 26 as potentially being the same or different from “identifiers of packets scheduled in the second timing wheel” recited in claim 1. Regarding claims 2-3, 5-12, and 20-26, the claims are rejected because they depend from rejected claims.
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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)(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.
Claim(s) 1-3, 5-12 and 19-26 is/are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Chandra et al. (US 2022/0124039, Chandra hereinafter). Regarding claim 1, Chandra teaches an apparatus (Network device or network interface card; Chandra; Fig. 1; [0023], [0044]-[0054]) comprising: a network interface device (Network device or network interface card; Chandra; Fig. 1; [0023], [0044]-[0054]) comprising: a host interface (The network device or network interface card maybe comprised of at least one interface that may be broadly reasonably interpreted as a host interface; Chandra; Fig. 1; [0023], [0044]-[0054]); a network interface (The network device or network interface card maybe comprised of at least one interface that may be broadly reasonably interpreted as a network interface; Chandra; Fig. 1; [0023], [0044]-[0054]); direct memory access (DMA) circuitry (The network device or network interface card maybe comprised of circuitry that may be broadly reasonably interpreted as directly accessing memory; Chandra; Fig. 1; [0023], [0044]-[0054]); and second circuitry (As can be seen in at least Fig. 1 and its corresponding description, the network device and/or network interface card may be comprised of a network interface device comprising circuitry; Chandra; Fig. 1; [0023]) to cause transmission of packets based on transmission times and use of at least one of multiple timing wheels (As can be seen in at least Figs. 3-4C and their corresponding descriptions, packets may be scheduled for transmission (e.g., using one or more timing wheels). Such use of potentially multiple timing wheels to schedule packets for transmission may be broadly reasonably interpreted as causing transmission of packets based on transmission times and use of at least one of multiple timing wheels; Chandra; Figs. 3-4C; [0044]-[0054]), wherein: the multiple timing wheels comprise a first timing wheel having a first time slot duration and a second timing wheel having a second time slot duration (When more than one timing wheel are used, such timing wheels are described as potentially being configured to have a different number of time-slots, different timing wheel granularities, and different time horizons. The multiple timing wheels may thus be broadly reasonably interpreted as comprising a first timing wheel having a first time slot duration and a second timing wheel having a second time slot duration; Chandra; Figs. 3-4C; [0044]-[0054]), the first time slot duration is shorter than the second time slot duration (When more than one timing wheel are used, such timing wheels are described as potentially being configured to have a different number of time-slots, different timing wheel granularities, and different time horizons. Each time-slot in each of such timing wheels is described as representing the minimum time granularity between two events. If the time-indexed data structure including 50 slots was configured such that each time-slot represented a granularity of 2 microseconds. A person having ordinary skill in the art would therefore understand that time-slots in different timing wheels having at least different granularities would represent different (e.g., shorter or longer) durations of time. The first time slot duration may thus be broadly reasonably interpreted as being shorter than the second time slot duration; Chandra; Figs. 3-4C; [0044]-[0054]), and the second circuitry is to copy identifiers of packets scheduled in the second timing wheel to the first timing wheel (The method includes storing identifiers associated with communications in a time-indexed data structure and a set of pointers associated with the communication in the network interface card memory. The scheduler can store the identifier in the time-indexed data structure, such as the timing wheel(s). When more than one timing wheels are used (i.e., at least a first timing wheel and a second timing wheel), such timing wheels are described as being used hierarchically and also potentially in a first-in, first-out (FIFO) queuing manner. A person having ordinary skill in the art would therefore understand that storing identifiers associated with communications in a time-indexed data structure comprising hierarchical timing wheels (e.g., in a FIFO queuing manner) would include copying identifiers of packets from one timing wheel to another timing wheel (e.g., from the second timing wheel to the first timing wheel); Chandra; Figs. 3-4C; [0044]-[0054]). Regarding claim 19, Chandra teaches a method comprising: managing, by a network interface device, transmission of packets at transmission times based on use of at least one of multiple timing wheels (As can be seen in at least Figs. 3-4C and their corresponding descriptions, packets may be scheduled for transmission (e.g., using one or more timing wheels). Such use of potentially multiple timing wheels to schedule packets for transmission may be broadly reasonably interpreted as causing transmission of packets based on transmission times and use of at least one of multiple timing wheels; Chandra; Figs. 3-4C; [0044]-[0054]), wherein the multiple timing wheels comprise at least a first timing wheel of a first time slot duration and a second timing wheel of a second time slot duration (When more than one timing wheel are used, such timing wheels are described as potentially being configured to have a different number of time-slots, different timing wheel granularities, and different time horizons. Each time-slot in each of such timing wheels is described as representing the minimum time granularity between two events. If the time-indexed data structure including 50 slots was configured such that each time-slot represented a granularity of 2 microseconds. The multiple timing wheels may thus be broadly reasonably interpreted as comprising at least a first timing wheel of a first time slot duration and a second timing wheel of a second time slot duration; Chandra; Figs. 3-4C; [0044]-[0054]), the first time slot duration is less than the second time slot duration (When more than one timing wheel are used, such timing wheels are described as potentially being configured to have a different number of time-slots, different timing wheel granularities, and different time horizons. Each time-slot in each of such timing wheels is described as representing the minimum time granularity between two events. If the time-indexed data structure including 50 slots was configured such that each time-slot represented a granularity of 2 microseconds. A person having ordinary skill in the art would therefore understand that time-slots in different timing wheels having at least different granularities would represent different (e.g., shorter or longer) durations of time. The first time slot duration may thus be broadly reasonably interpreted as being shorter than the second time slot duration; Chandra; Figs. 3-4C; [0044]-[0054]), and the managing transmission of packets at transmission times based on use of at least one of multiple timing wheels comprises copying identifiers of packets scheduled in the second timing wheel to the first timing wheel for egress from the first timing wheel (The method includes storing identifiers associated with communications in a time-indexed data structure and a set of pointers associated with the communication in the network interface card memory. The scheduler can store the identifier in the time-indexed data structure, such as the timing wheel(s). When more than one timing wheels are used (i.e., at least a first timing wheel and a second timing wheel), such timing wheels are described as being used hierarchically and also potentially in a first-in, first-out (FIFO) queuing manner. A person having ordinary skill in the art would therefore understand that storing identifiers associated with communications in a time-indexed data structure comprising hierarchical timing wheels (e.g., in a FIFO queuing manner) would include copying identifiers of packets from one timing wheel to another timing wheel (e.g., from the second timing wheel to the first timing wheel for egress from the first timing wheel); Chandra; Figs. 3-4C; [0044]-[0054]). Regarding claim 2, Chandra teaches the limitations of claim 1. Chandra further teaches a minimum delay value of the second time slot duration corresponds to a maximum delay value of the first time slot duration (The timing wheels discussed in connection with at least Figs. 3-4C are described as potentially being used to delay, pace, or rate limit packets. Such timing wheels may thus be broadly reasonably interpreted as each having an associated delay. Timing wheels implemented hierarchically may also be broadly reasonably interpreted as having corresponding delay values given that communication identifiers may be broadly reasonably interpreted as being copied from one hierarchical timing wheel to the next hierarchical timing wheel. Furthermore, because the identifier of the packet begins in the second timing wheel, the delay experienced in the second timing wheel may also be broadly reasonably interpreted as a minimum delay whereas the time spent in the next timing wheel prior to transmission (i.e., the claimed first timing wheel) may be broadly reasonably interpreted as a maximum delay value. A minimum delay value of the second time slot duration may thus be broadly reasonably interpreted as corresponding to a maximum delay value of the first time slot duration; Chandra; Figs. 3-4C; [0017]-[0018], [0044]-[0054]). Regarding claim 3, Chandra teaches the limitations of claim 1. Chandra further teaches the second circuitry is to allocate a packet to a slot in the second timing wheel based on a transmit time associated with the packet being outside of a time duration associated with the first timing wheel (As can be seen in at least Figs. 3-4C and their corresponding descriptions, packets may be scheduled for transmission (e.g., using one or more timing wheels) based on a transmit time. The timing wheels discussed in connection with at least Figs. 3-4C are described as potentially being used to delay, pace, or rate limit packets. Different classes of packets are also discussed as potentially having different rate limit policies. A packet may thus be broadly reasonably interpreted as being allocated to a slot in the second timing wheel based on a transmit time associated with the packet being outside of a time duration associated with the first timing wheel; Chandra; Figs. 3-4C; [0017]-[0018], [0044]-[0054]). Regarding claim 5, Chandra teaches the limitations of claim 1. Chandra further teaches the second circuitry is to schedule a second packet for transmission by access from the first timing wheel by re-assignment of the second packet from the second timing wheel to the first timing wheel (The method includes storing identifiers associated with communications in a time-indexed data structure and a set of pointers associated with the communication in the network interface card memory. The scheduler can store the identifier in the time-indexed data structure, such as the timing wheel(s). When more than one timing wheels are used (i.e., at least a first timing wheel and a second timing wheel), such timing wheels are described as being used hierarchically. A person having ordinary skill in the art would therefore understand that storing identifiers associated with communications in a time-indexed data structure comprising hierarchical timing wheels would include copying identifiers of packets from one timing wheel to another timing wheel (e.g., from the second timing wheel to the first timing wheel); Chandra; Figs. 3-4C; [0044]-[0054]) and the second circuitry is to re-assign the second packet from the second timing wheel to the first timing wheel based on a transmission time stamp of the second packet and a current packet transmission time stamp (Packets stored in scheduling wheels are described as having associated transmission time stamps (e.g., a transmission time stamp of the second packet) that may be adjusted based on determination(s), e.g., by the scheduler (e.g., a current packet transmission time stamp). Packets may thus be broadly reasonably interpreted as being re-assigned from the second timing wheel to the first timing wheel based on a transmission time stamp of the second packet and a current packet transmission time stamp; Chandra; Figs. 3-4C; [0044]-[0054]). Regarding claims 6 and 23, Chandra teaches the limitations of claims 1 and 19 respectively. Chandra further teaches the second circuitry is to associate packet metadata with a time slot of the multiple timing wheels (Packets scheduled for transmission (e.g., in timing wheels) are described as having at least associated time stamps and associated classes, which may be broadly reasonably interpreted as packet metadata that is associated with a time slot of the multiple timing wheels; Chandra; Figs. 3-4C; [0044]-[0054]) and wherein the associated packet metadata comprises one or more of: packet transmission timestamp, port identifier (ID), host identifier (HostID), Traffic Class, Function, virtual server instance (VSI) identifier, virtual machine (VM) identifier, cryptography related information, or scatter gather list (SGL) pointers in host memory (Packets scheduled for transmission (e.g., in timing wheels) are described as having at least associated time stamps (i.e., a packet transmission time stamp). Such packets are also described at least as having an associated class. The Examiner would also like to note that the claim(s) contains alternative language, and not all of such alternatives are required to be shown are required to be shown by the prior art when at least one of such alternatives is shown; Chandra; Figs. 3-4C; [0044]-[0054]). Regarding claim 7, Chandra teaches the limitations of claim 1. Chandra further teaches a memory device to store the multiple timing wheels (The network device may be comprised of memory to store timing wheels; Chandra; Fig. 1; [0023], [0044]-[0054]). Regarding claim 8, Chandra teaches the limitations of claim 1. Chandra further teaches the second circuitry is to associate packet metadata for multiple, different time windows with a time slot of the first timing wheel (Packets scheduled for transmission (e.g., in timing wheels) are described as having at least associated time stamps and associated classes. A person having ordinary skill in the art would also understand that a particular time slot in a timing wheel may be used multiple times (i.e., different times) over time. Packet metadata for multiple, different time windows may thus be broadly reasonably interpreted as being associated with a time slot of the first timing wheel; Chandra; Figs. 3-4C; [0044]-[0054]). Regarding claim 9, Chandra teaches the limitations of claim 1. Chandra further teaches the second circuitry is to store packet metadata into a cache and based on a depth of the cache, and evict the packet metadata from the cache based on an associated transmit timestamp of the packet and a timestamp of a packet to be egressed (Timing wheels are described as behaving in a first-in first-out (FIFO) manner wherein packets are stored with a transmission time stamp and other associated metadata such as an associated class. Transmission of a packet comprising metadata in such a FIFO manner may be broadly reasonably interpreted as including storing packet metadata into a cache and evicting packet metadata from the cache based on associated transmit timestamp; Chandra; Figs. 3-4C; [0044]-[0054]). Regarding claims 10 and 24, Chandra teaches the limitations of claims 1 and 19 respectively. Chandra further teaches the network interface device comprises one or more of: network interface controller (NIC), a remote direct memory access (RDMA)- enabled NIC, SmartNIC, router, switch, forwarding element, infrastructure processing unit (IPU), or data processing unit (DPU) (As can be seen for instance in at least Fig. 1 and its corresponding description, the network interface device may comprise at least a network interface card/controller. The Examiner would also like to note that the claim(s) contains alternative language, and not all of such alternatives are required to be shown are required to be shown by the prior art when at least one of such alternatives is shown; Chandra; Fig. 1; [0023]). Regarding claim 11, Chandra teaches the limitations of claim 1. Chandra further teaches a server communicatively coupled to the network interface device (Device(s) that may be broadly reasonably interpreted as servers are described as being coupled to the network device and/or the network interface card. For example, the network device is described as potentially being a host or server that uses at least the network interface card for packet scheduling; Chandra; Figs. 1 and 3-4C; [0023], [0044]-[0054]), wherein the server is to request packet transmission and offload packet scheduling to the network interface device (Device(s) that may be broadly reasonably interpreted as servers are described as being coupled to the network device and/or the network interface card. For example, the network device is described as potentially being a host or server that uses at least the network interface card for packet scheduling (i.e., the server is to request packet transmission and offload packet scheduling to the network interface device); Chandra; Figs. 1 and 3-4C; [0023], [0044]-[0054]). Regarding claim 12, Chandra teaches the limitations of claim 11. Chandra further teaches a datacenter, wherein the datacenter comprises the server (At least the network device interpreted as a server or host may also be broadly reasonably interpreted as a datacenter; Chandra; Figs. 1 and 3-4C; [0023], [0040]-[0054]) and use of the use of at least one of multiple timing wheels is to reduce memory utilization in the datacenter (The scheduling/transmission method described in at least Fig. 3 and its corresponding description may be broadly reasonably interpreted as using the at least one multiple timing wheels to reduce memory utilization in the datacenter. As was also discussed in the 35 U.S.C. 112(b) rejection above, the Examiner would also like to note that such claim language appears to be directed to an intended use or result and thus it is also not necessary for the prior art to provide such teachings; Chandra; Figs. 1 and 3-4C; [0023], [0040]-[0054]). Regarding claim 20, Chandra teaches the limitations of claim 19. Chandra further teaches copying, by the network interface device, identifiers of packets scheduled in the second timing wheel to the first timing wheel based on a transmit time window corresponding to a transmit time window associated with the first timing wheel (The different time wheels are described as potentially being hierarchical, and thus identifiers of packets scheduled in an earlier timing wheel (e.g., the second timing wheel) may be broadly reasonably interpreted as being copied to another timing wheel (e.g., the first timing wheel) based on a transmission time (e.g., a transmit time window corresponding to a transmit time window associated with the at least one first timing wheel); Chandra; Figs. 3-4C; [0044]-[0054]). Regarding claim 21, Chandra teaches the limitations of claim 19. Chandra further teaches the first timing wheel a transmit time window that is within X seconds of a current transmit time (A timing wheel comprising packets with transmission time stamps (e.g., the first timing wheel) may be broadly reasonably interpreted as having a transmit time window that is within X seconds of a current transmit time; Chandra; Figs. 3-4C; [0044]-[0054]) and the second timing wheel a transmit time window that is outside of X seconds of the current transmit time (At least because the packets appear to be transmitted from the first timing wheel and not the second timing wheel, the second timing wheel may be broadly reasonably interpreted as having a transmit time window that is within X seconds of a current transmit time; Chandra; Figs. 3-4C; [0044]-[0054]). Regarding claim 22, Chandra teaches the limitations of claim 19. Chandra further teaches scheduling, by the network interface device, a packet of the packets for transmission by access from the first timing wheel by re-assigning of the packet of the packets from the second timing wheel to the first timing wheel (The method includes storing identifiers associated with communications in a time-indexed data structure and a set of pointers associated with the communication in the network interface card memory. The scheduler can store the identifier in the time-indexed data structure, such as the timing wheel(s). When more than one timing wheels are used (i.e., at least a first timing wheel and a second timing wheel), such timing wheels are described as being used hierarchically. A person having ordinary skill in the art would therefore understand that storing identifiers associated with communications in a time-indexed data structure comprising hierarchical timing wheels would include copying identifiers of packets from one timing wheel to another timing wheel (e.g., from the second timing wheel to the first timing wheel); Chandra; Figs. 3-4C; [0044]-[0054]), wherein the re-assigning the packet of the packets from the second timing wheel to the first timing wheel is based on a transmission time stamp of the second packet and a current packet transmission time stamp (Packets stored in timing wheels are described as having associated transmission time stamps (e.g., a transmission time stamp of the second packet) that may be adjusted based on determination(s), e.g., by the scheduler (e.g., a current packet transmission time stamp). The re-assigning the packet of the packets from the second timing wheel to the first timing wheel may thus be broadly reasonably interpreted as being based on a transmission time stamp of the second packet and a current packet transmission time stamp; Chandra; Figs. 3-4C; [0044]-[0054]). Regarding claim 25, Chandra teaches the limitations of claim 19. Chandra further teaches the packets include media data for an on-demand media streaming service (Scheduled/transmitted packets are described as belonging to traffic streams. Example applications providing such packets are also described as including for instance database servers, data warehousing programs, stock market transaction software, online banking applications, content publishing and management systems, hosted video games, hosted desktops, e-mail servers, travel reservation systems, customer relationship management applications, inventory control management databases, enterprise resource management systems, and other kinds of applications as well. Such packets may be broadly reasonably interpreted as including media data that is accessed in an on-demand streaming manner. The Examiner would also like to note that such claim limitations may be alternatively interpreted as reciting an intended use (i.e., “for an on-demand media streaming service”) and thus as not required to be taught by the prior art; Chandra; Figs. 3-4C; [0014], [0044]-[0054]). Regarding claim 26, Chandra teaches the limitations of claim 1. Chandra further teaches the second circuitry is to copy identifiers of packets scheduled in the second timing wheel to the first timing wheel based on time stamps of the packets scheduled in the second timing wheel and a then-current packet transmit time stamp (The method includes storing identifiers associated with communications in a time-indexed data structure and a set of pointers associated with the communication in the network interface card memory. The scheduler can store the identifier in the time-indexed data structure, such as the timing wheel(s). When more than one timing wheels are used (i.e., at least a first timing wheel and a second timing wheel), such timing wheels are described as being used hierarchically. A person having ordinary skill in the art would therefore understand that storing identifiers associated with communications in a time-indexed data structure comprising hierarchical timing wheels would include copying identifiers of packets from one timing wheel to another timing wheel (e.g., from the second timing wheel to the first timing wheel). Packets stored in scheduling wheels are described as having associated transmission time stamps (e.g., time stamps of the packets scheduled in the second timing wheel) that may be adjusted based on determination(s), e.g., by the scheduler (e.g., a then-current packet transmit time stamp); Chandra; Figs. 3-4C; [0044]-[0054]).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ERIC A MYERS whose telephone number is (571)272-0997. The examiner can normally be reached Monday - Friday 10:30am to 7:00pm.
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, Michael Thier can be reached on 5712722832. 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.
/ERIC MYERS/Primary Examiner, Art Unit 2474