DETAILED ACTION
This action is responsive to Applicant’s reply filed 26 February 2026. This action is made final.
Status of the Claims
Claims 1-2, 4-5, 7-15 and 17-21 are currently amended.
Claim 3 is canceled.
Claim status is currently pending and under examination for claims 1-2, 4-5 and 7-21 of which independent claims are 1, 17 and 20.
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 .
Response to Amendment
Applicant’s amendments to the Claims have overcome each and every objection and 112(b) rejections previously set forth in the Non-Final Office Action mailed November 26th 2025. The claims as amended are no longer interpreted under 35 U.S.C. 112(f).
Applicant’s arguments regarding the art rejections are moot in view of the new grounds of rejection necessitated by applicant’s amendment.
In regards to the rejection of claims 1-2, 4-5 and 7-21 under 35 U.S.C. 101 for being directed towards an abstract idea without significantly more, Applicant argues the claims are not directed to a judicial exception but rather to an improvement in the field of biomedical data analysis (See Applicant’s Response Pages 10-11).
On Page 9, Applicant argues that the “computing” step does not recite a mathematical formula or concept, and is therefore not directed to a mathematical concept. Applicant’s arguments are persuasive, and therefore, the “computing” step is only directed to being a mental process as addressed in the rejection below.
On Page 10, Applicant argues that the “computing” step cannot be practically performed in the human mind and thus is not a mental process. Applicant’s argument is not persuasive because Applicant has not argued how the likelihood score aggregation steps are too complex to be performed entirely in the human mind or with the use of a physical aid.
On Page 10, Applicant argues that the “computing” elements improve the field of biomedical data analysis. However, Applicant’s argument is not persuasive since the improvement is not reflected in the claims. On Page 10, Applicant argues that using “graph data structures that are specifically tailored for biomedical entities” and calculating likelihood scores enable “more rapid iteration through identifying potential patterns in the graph data structure” and therefore improve the field of biomedical data analysis. Applicant’s argument is not persuasive since rapid iteration through identifying potential patterns is not reflected in the claims.
Thus, the rejections of claims 1-2, 4-5 and 7-21 as being directed towards an abstract idea without significantly more are still maintained.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-2, 4-5 and 7-21 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Independent Claims 1, 17 and 20
Step 2A Prong One: Does the claim recite an abstract idea, law of nature, or natural phenomenon?
Yes, independent claim 1, under the broadest reasonable interpretation, recites the following limitations that are abstract ideas:
determining a query node on the graph; (mental process)
identifying one or more target nodes on the graph in relation to the query node based on a set of connectivity patterns; (mental process)
generating graph-based statistics for each target node of the one or more target nodes, wherein the graph-based statistics are extracted for subgraphs associated with each target node and the query node; (mental process)
assessing the graph-based statistics of each target node to determine predicted relationships between the one or more target nodes and the query node (mental process)
and computing a likelihood score to assess the predicted relationships between the query and each target node of the one or more target nodes, wherein the likelihood score is aggregated across various hop node types, (mental process)
The “determining” step involves identifying a query node in a graph which amounts to no more than observations, evaluations, and judgments that can be performed in the human mind or with the use of a physical aid (e.g., pen and paper). The claim recites the step of determining a query node at a high degree of generality, thus the step is not required to have any specific level of complexity that would preclude the step from being mental processes. Therefore, the “determining” step is considered to be mental processes, see MPEP § 2106.04(a)(2)(III).
The “identifying” step involves determining which nodes satisfy a query based on a set of constraints which amounts to no more than observations, evaluations, and judgments that can be performed in the human mind or with the use of a physical aid (e.g., pen and paper). The claim recites the step of identifying target nodes at a high degree of generality, thus the step is not required to have any specific level of complexity that would preclude the step from being mental processes. Therefore, the “identifying” step is considered to be mental processes, see MPEP § 2106.04(a)(2)(III).
The “generating” step involves calculating statistics for each target node in a subgraph which amounts to no more than observations, evaluations, and judgments that can be performed in the human mind or with the use of a physical aid (e.g., pen and paper). The claim recites the step of generating graph-based statistics at a high degree of generality, thus the step is not required to have any specific level of complexity that would preclude the step from being mental processes. Therefore, the “generating” step is considered to be mental processes, see MPEP § 2106.04(a)(2)(III).
The “assessing” step involves determining the strength or likelihood of a relationship based on the generated statistics which amounts to no more than observations, evaluations, and judgments that can be performed in the human mind or with the use of a physical aid (e.g., pen and paper). The claim recites the step of assessing the graph-based statistics at a high degree of generality, thus the step is not required to have any specific level of complexity that would preclude the step from being mental processes. Therefore, the “assessing” step is considered to be mental processes, see MPEP § 2106.04(a)(2)(III).
The “computing” step involves calculating a likelihood score between two nodes in a relationship which amounts to no more than evaluations, observations, and judgments that can be performed in the human mind or with the use of a physical aid (e.g., pen and paper). The claim recites the step of computing a likelihood score at a high degree of generality, thus the step is not required to have any specific level of complexity that would preclude the step from being mental processes. Therefore, the “computing” step is considered to be mental processes, see MPEP § 2106.04(a)(2)(III).
Therefore, the independent claim recites a judicial exception. Independent claims 17 and 20 recite similar limitations corresponding to claim 1, therefore the same subject matter eligibility analysis is applied.
Step 2A Prong Two: Does the claim recite additional elements that integrate the judicial exception into a practical application?
No, the judicial exception recited above is not integrated into a practical application. The claims recite the following additional elements, but these additional elements are not sufficient to integrate the judicial exception into a practical application:
wherein the various hop node types comprise at least one of a pathway, a biological process, a gene, a disease, a protein family, a tissue, a compound, or a symptom (MPEP § 2106.05(f) mere instructions to implement an abstract idea on a computer, or generally links exception to a technological environment)
a processor configured to (claims 17 and 20) (MPEP § 2106.05(f) mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea)
receive the graph, and a query node on the graph and a set of connectivity patterns; (claim 20) (MPEP § 2106.05(g) necessary data gathering and insignificant extra-solution activity to the judicial exception)
The “wherein the various hop node types …” step is recited at a high-level of generality such that the limitation amounts to no more than mere instructions to “apply” the judicial exception on a computer. It can also be viewed as nothing more than an attempt to generally link the use of the judicial exception to the technological environment of computers, see MPEP § 2106.05(f).
The “receive” step amounts to mere data gathering and is recited at a high level of generality, thus adding insignificant extra-solution activity to the judicial exception – see MPEP § 2106.05(g). Under MPEP § 2106.05(d), such additional elements have been found by the courts to not integrate a judicial exception into a practical application.
The remaining additional elements are recited at a high-level of generality such that they amount to no more than mere instructions to “apply” an exception using a generic component. Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea, see MPEP § 2106.05(f).
Therefore, the above limitations do not integrate the judicial exception into a practical application.
Step 2B: Does the claim recite additional elements that amount to significantly more than the judicial exception?
No. The claims do not include additional elements that are sufficient for the claims to amount to significantly more than the judicial exception.
In regards to the “receive” step, this step adds insignificant extra-solution activity. An extra-solution activity is a well-understood, routine and conventional (WURC) activity per MPEP § 2106.05(d)(II), “the courts have recognized the following computer functions as well‐understood, routine, and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity. i. Receiving or transmitting data over a network, e.g., using the Internet to gather data.” The “receive” step does not integrate the judicial exception into a practical application and does not amount to significantly more.
In regards to the “wherein the various hop node types …” step and the remaining additional elements, the limitations are recited so generically such that they amount to no more than mere instructions to “apply” the judicial exception on a computer using generic computer components. Mere instructions to apply a judicial exception cannot provide an inventive concept. See MPEP § 2106.05(f).
Therefore, independent claims 1, 17 and 20 are not patent eligible.
Dependent Claims 2, 4-5, 7-16, 18-19 and 21
The remaining dependent claims being rejected do not recite additional elements, whether considered individually or in combination, that are sufficient to integrate the judicial exception into a practical application or amount to significantly more than a judicial exception.
Claim limitation
Examiner analysis
2. The computer-implemented method of claim 1, wherein assessing the graph-based statistics of each target node to determine predicted relationships between the one or more target nodes and the query node further comprises: inputting the graph-based statistics to one or more models for outputting at least one score associated with the graph-based statistics;
scoring the graph-based statistics using the one or more models in accordance with a set of metrics;
and outputting the at least one corresponding score for each target node of the one or more target nodes with respect to the subgraph.
This is merely additional information about one or more previously identified mental processes.
4. The computer-implemented method of claim 2, wherein the one or more models comprise at least one machine learning model.
This is merely additional information about one or more previously identified mental processes.
5. The computer-implemented method of claim 4, wherein the at least one machine learning model is trained on annotated data comprising known data of related diseases and genes.
This is merely additional information about one or more previously identified mental processes.
7. The computer-implemented method of claim 1, wherein the connectivity patterns comprise one or more hop-length restrictions.
This is merely additional information about one or more previously identified mental processes.
8. The computer-implemented method of claim 1, wherein the connectivity patterns further comprise at least one path with one or more intermediate nodes and/or at least path with a relationship type associated with at least one intermediate node.
This is merely additional information about one or more previously identified mental processes.
9. The computer-implemented method of claim 8, wherein, the one or more intermediate nodes are one of the various hop node types.
This is merely additional information about one or more previously identified mental processes.
10. The computer-implemented method of claim 1, wherein the one or more connectivity patterns are pre-specified based on one or more of the various hop node types and/or one or more relationship types between two hop nodes.
This is merely additional information about one or more previously identified mental processes.
11. The computer-implemented method of claim 1, wherein the query node corresponds to a disease entity.
This is merely additional information about one or more previously identified mental processes.
12. The computer-implemented method of claim 1, wherein the graph-based statistics are extracted in relation to one or more paths associated with the subgraph.
This is merely additional information about one or more previously identified mental processes.
13. The computer-implemented method of claim 12, wherein the one or more paths each comprise a path type specifying one or more relationships between the nodes traversed by each path.
This is merely additional information about one or more previously identified mental processes.
14. The computer-implemented method of claim 12, wherein the one or more paths are associated with at least one hop node and/or hop node types.
This is merely additional information about one or more previously identified mental processes.
15. The computer-implemented method of claim 12, wherein the graph-based statistics are derived using a set of statistical tests.
This is merely additional information about one or more previously identified mental processes.
16. A computer-readable medium storing code that, when executed by a computer, causes the computer to perform the computer-implemented method of claim 1.
This is merely additional information about one or more previously identified mental processes.
18. The system of claim 17, wherein the processor is further configured to score the graph-based statistics for each target node using one or more models.
This is merely additional information about one or more previously identified mental processes.
19 and 21. The system of claim 17, wherein the processor is further configured to query a graph to assess relationships amongst graph nodes by:
determining a query node on the graph;
identifying one or more target nodes on the graph in relation to the query node based on a set of connectivity patterns;
generating graph-based statistics for each target node of the one or more target nodes,
wherein the graph-based statistics are extracted for subgraphs associated with each target node and the query node;
and assessing the graph-based statistics of each target node to determine predicted relationships between the one or more target nodes and the query node,
wherein assessing the graph-based statistics of each target node to determine predicted relationships between the one or more target nodes and the query node further comprises:
inputting the graph-based statistics to one or more models for outputting at least one score associated with the graph-based statistics;
scoring the graph-based statistics using one or more models in accordance with a set of metrics,
and outputting the at least one corresponding score for each target node of the one or more target nodes with respect to the subgraph.
This is merely additional information about one or more previously identified mental processes.
The “determining”, “identifying”, “generating”, and “assessing” steps are mental processes akin to human evaluations/judgements/observations.
Claim Rejections - 35 USC § 103
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 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.
The following are the references relied upon in the rejections below:
Hamilton, William L., et al. "Embedding Logical Queries on Knowledge Graphs." arXiv preprint arXiv:1806.01445v4 (2019).
S. Khemmarat and L. Gao, "Supporting drug prescription via predictive and personalized query system," 2015 9th International Conference on Pervasive Computing Technologies for Healthcare (PervasiveHealth), Istanbul, Turkey, 2015, pp. 9-16, doi: 10.4108/icst.pervasivehealth.2015.259130.
Claims 1-2, 4-5, 7-14, and 16-21 are rejected under 35 U.S.C. 103 as being unpatentable over Hamilton in view of Khemmarat.
With respect to claim 1, Hamilton teaches:
A computer-implemented method of querying a graph to assess relationships amongst graph nodes comprising (Hamilton discloses “we introduce a framework to efficiently make predictions about conjunctive logical queries—a flexible but tractable subset of first-order logic—on incomplete knowledge graphs … predicting logical relationships in a network of drug-gene-disease interactions and in a graph-based representation of social interactions derived from a popular web forum” (P. 1, Abstract).):
determining a query node on the graph (Hamilton discloses query nodes as anchor nodes, “The edges ei in the query can involve these variable nodes as well as anchor nodes, i.e., non-variable/constant nodes that form the input to the query” (P. 4, Sec. 3.1, ¶2). Hamilton further discloses “the answer or denotation of this query
q
is the set of all drug nodes that are likely to be connected to node d on a length-two path following edges that have types TARGET and ASSOC, respectively. Note that d is an anchor node of the query: it is the input that we provide” (P. 4, Sec. 3.1, ¶3). See Figure 1 (reproduced below) on P. 2 depicting a directed acyclic graph with anchor nodes.);
identifying one or more target nodes on the graph in relation to the query node based on a set of connectivity patterns (Hamilton discloses a directed acyclic graph (DAG) can be used to answer a query, “we define the dependency graph of a query q as the graph with edges
ε
q
=
{
e
1
,
.
.
.
,
e
n
}
formed between the anchor nodes
v
1
,
.
.
.
,
v
k
and the variable nodes
V
?
,
V
1
,
.
.
.
,
V
m
(Figure 1). For a query to be valid, its dependency graph must be a directed acyclic graph (DAG), with the anchor nodes as the source nodes of the DAG and the query target as the unique sink node. The DAG structure ensures that there are no contradictions or redundancies” (P. 4, Sec. 3.1, ¶6). Hamilton further discloses “consider the query “return all drug nodes that are likely to target proteins that are associated with a given disease node d.” … we say that the answer or denotation of this query
q
is the set of all drug nodes that are likely to be connected to node d on a length-two path following edges that have types TARGET and ASSOC, respectively” (P. 4, Sec. 3.1, ¶3).
Hamilton discloses Figure 1 (reproduced below) on P. 2 depicting a directed acyclic graph defined for a given query. The DAG contains anchor nodes (‘query nodes’) that are used as a starting point to traverse the graph. The path formed between an anchor node and a variable node (‘target node’) is determined based on the edge types (‘connectivity patterns’) of the edges connecting two nodes.
PNG
media_image1.png
778
933
media_image1.png
Greyscale
);
generating graph-based statistics for each target node of the one or more target nodes, wherein the graph-based statistics are extracted for subgraphs associated with each target node and the query node (The Examiner interprets “graph-based statistics” according to its broadest reasonable interpretation (BRI) in view of the applicant’s specification at Paragraph [0034]. Accordingly, the Examiner interprets this term as encompassing node embeddings as disclosed by Hamilton below. Node embeddings are structural representations of graph nodes in a directed acyclic graph, represented as numerical vectors in an embedding space. Thus, node embeddings are quantitative descriptors of nodes in a graph and therefore are “graph-based statistics”.
Hamilton discloses “Algorithm 1, which maps any conjunctive input query q to an embedding … using two differentiable operators, P and I, described below. The goal is to optimize these operators—along with embeddings for all graph nodes zv …so that the embedding q for any query q can be generated and used to predict the likelihood that a node v satisfies the query q. In particular, we want to generate query embeddings q and node embeddings zv, so that the likelihood or “score” that v ∈
q
is given by the distance between their respective embeddings … To generate the embedding q for a query q using Algorithm 1, we (i) represent the query using its DAG dependency graph, (ii) start with the embeddings zv1 , ..., zvn of its anchor nodes, and then (iii) we apply geometric operators, P and I (defined below) to these embeddings to obtain an embedding q of the query” (P. 5, ¶1-3).
Hamilton discloses subgraphs in a DAG graph are those that satisfy a query, “Two example conjunctive graph queries. In the boxes we show the query, its natural language interpretation, and the DAG that specifies this query’s structure. Below these boxes we show subgraphs that satisfy the query (solid lines) .... Dashed lines denote edges that are irrelevant to the query” (P. 2, Figure 1 Caption). See Figure 1 on P. 2 depicting a subgraph comprised of solid line edges in a DAG graph.
Node embeddings (‘graph-based statistics’) are generated for each variable node v (‘target node’) of a DAG dependency graph. The DAG dependency graph captures the multiple paths from anchor nodes (‘query nodes’) to variable nodes v that satisfy a given query. See also Figure 3 on P. 5 depicting generating node and query embeddings for a subgraph of a DAG dependency graph.);
assessing the graph-based statistics of each target node to determine predicted relationships between the one or more target nodes and the query node (Hamilton discloses “Algorithm 1, which maps any conjunctive input query q to an embedding … using two differentiable operators, P and I, described below. The goal is to optimize these operators—along with embeddings for all graph nodes zv …so that the embedding q for any query q can be generated and used to predict the likelihood that a node v satisfies the query q. In particular, we want to generate query embeddings q and node embeddings zv, so that the likelihood or “score” that v ∈
q
is given by the distance between their respective embeddings … Thus, our goal is to generate an embedding q of a query that implicitly represents its denotation
q
; i.e., we want to generate query embeddings so that
s
c
o
r
e
q
,
z
v
=
1
,
∀
v
∈
q
and
s
c
o
r
e
q
,
z
v
=
0
,
∀
v
∉
q
. At inference time, we take a query q, generate its corresponding embedding q, and then perform nearest neighbor search—e.g., via efficient locality sensitive hashing [21]—in the embedding space to find nodes likely to satisfy this query (Figure 3). To generate the embedding q for a query q using Algorithm 1, we (i) represent the query using its DAG dependency graph, (ii) start with the embeddings zv1 , ..., zvn of its anchor nodes, and then (iii) we apply geometric operators, P and I (defined below) to these embeddings to obtain an embedding q of the query” (P. 5, ¶1-3).
Query embeddings are the transformed anchor nodes (‘query nodes’) after applying geometric operations. The distances between node embeddings (‘graph-based statistics’) and a query embedding can be used to determine (‘assess’) the likelihood that a variable node v (‘target node’) satisfies a query.);
and computing a likelihood score to assess the predicted relationships between the query and each target node of the one or more target nodes (Hamilton discloses “the embedding q for any query q can be generated and used to predict the likelihood that a node v satisfies the query q. In particular, we want to generate query embeddings q and node embeddings zv, so that the likelihood or “score” that v ∈
q
is given by the distance between their respective embeddings … Thus, our goal is to generate an embedding q of a query that implicitly represents its denotation
q
; i.e., we want to generate query embeddings so that
s
c
o
r
e
q
,
z
v
=
1
,
∀
v
∈
q
and
s
c
o
r
e
q
,
z
v
=
0
,
∀
v
∉
q
” (P. 5, ¶1-2).).
However, Hamilton does not teach aggregating likelihood scores across various hop node types, wherein the various hop node types comprise at least one of a pathway, a biological process, a gene, a disease, a protein family, a tissue, a compound, or a symptom, which is taught by Khemmarat:
and computing a likelihood score to assess the predicted relationships between the query and each target node of the one or more target nodes ((P. 11, Sec. III-B, ¶1) “we can divide the query nodes into two groups. (1) Variable node: A variable node represents the information the user wants to find. … (2) Reference node: A reference node serves as a reference for identifying the variable nodes. Each reference node has a keyword specified by a user.”
(P. 11, Sec. IV, ¶3) “For each pair of nodes, our approach quantifies the likelihood of having an edge between the two nodes based on the existing connections between the two nodes”
(P. 12, Sec. IV-B, ¶3) “the candidates of a reference node, qr, are the nodes that have the same type as qr and have at least one keyword that matches with keyQ(qr). The candidates of a variable node, qv, are the nodes that have the same type as qv. We denote the set containing all the candidate matches of a query node qi as
c
a
n
(
q
i
)
.The edge likelihood scores are used for computing the scores of the answers. For each edge in the query graph,
e
q
i
,
q
j
, we compute the edge likelihood between the nodes in
c
a
n
(
q
i
)
and
c
a
n
(
q
j
)
, which requires counting paths of different types among the candidate nodes”
Edge likelihood scores (‘likelihood score’) are computed to quantify the likelihood of an edge (‘predicted relationship’) existing between a candidate reference node (‘query node’) and a candidate variable node (‘target nodes’).),
wherein the likelihood score is aggregated across various hop node types (The Examiner interprets “hop node” according to its BRI in view of the applicant’s specification at Paragraph [0033]. Accordingly, the Examiner interprets this term as encompassing a node that can be reached after traversing a single edge as disclosed by Khemmarat below.
(P. 11, Sec. IV, Last paragraph) “The type of a path is defined from the types of nodes along the path. For example, the path d1(D)-t1(T)-d2(D)-se1(SE) has the path type D-T-D-SE”
(P. 10, Sec. III-A, ¶1) “Drug information is represented by a graph G(VG,EG,typeG,keyG), where VG is a set of nodes and EG is a set of edges. typeG is a function that maps a node to a node type, which is either a drug (D) or a type of drug properties, such as a MeSH pharmacological actions category of drug (C), a pathway associated with a drug (P), a protein that is a target of a drug (T), an indication of a drug (I), and a side effect of a drug (SE)”
(P. 12, Sec. IV, Last Paragraph) “Based on our approach for quantifying the edge likelihood, we now define the score of an answer for a given query. … Our scoring function is defined based on this concept, as follows. For a given query graph Q, let
E
Q
+
and
E
Q
-
denote the set of positive edges and the set of negative edges in the query graph, respectively. Let
w
G
(
v
i
,
v
j
)
be the function indicating whether there is an edge between
v
i
and
v
j
in the drug graph. That is,
w
G
v
i
,
v
j
=
1
if there is an edge in the graph. Otherwise,
w
G
v
i
,
v
j
=
0
. The score of an answer f, denoted by S(f), is defined as … The function
p
'
is used to modify the likelihood score so that the likelihood is equal to 1 if an edge already exists in the graph. The first product in S(f) considers the edge likelihood between the node pairs connected by positive edges. The second product considers the complement of the edge likelihood, … for the node pairs connected by negative edges. The value of S(f) ranges from 0 to 1. An answer f having S(f) equal to 1 is an exact answer.”
Khemmarat discloses Equation 2 on P. 12 (reproduced below) describing an answer score S(f) for a given query is calculated by finding the product of all edge likelihood scores in a query graph, therefore aggregating likelihood scores. To generate a path comprised of various node types, nodes must be traversed, therefore a node traversed after the first node in a path is a hop node. Edge likelihood scores quantify the likelihood of an edge existing between two nodes in a query graph, and paths contain nodes of different node types connected by edges, therefore when calculating S(f), likelihood scores are aggregated across various hop node types.
PNG
media_image2.png
329
1360
media_image2.png
Greyscale
),
wherein the various hop node types comprise at least one of a pathway, a biological process, a gene, a disease, a protein family, a tissue, a compound, or a symptom ((P. 10, Sec. III-A, ¶1) “typeG is a function that maps a node to a node type, which is either a drug (D) or a type of drug properties, … a pathway associated with a drug (P), … and a side effect of a drug (SE)”).
Khemmarat teaches aggregating edge likelihood scores to score an answer for a given query is a known method in the art. Before the effective filing date of the claimed invention, it would have been obvious to a person of ordinary skill in the art to combine the query prediction framework of Hamilton with the edge likelihood scores disclosed by Khemmarat to aggregate edge likelihood scores across various hop node types. By aggregating edge likelihood scores across various hop node types, the likelihood a relationship exists between two nodes can be quantified and then aggregated to score an answer for a query, thereby increasing confidence that an answer to a query accurately captures all the desired node relationships.
With respect to claims 2 and 18, the combined query prediction framework of Hamilton/Khemmarat teaches:
the computer-implemented method of claim 1, wherein assessing the graph-based statistics of each target node to determine predicted relationships between the one or more target nodes and the query node further comprises: inputting the graph-based statistics to one or more models for outputting at least one score associated with the graph-based statistics (Hamilton discloses performing nearest neighbor search (‘one or more models’) using a query embedding and node embeddings (‘graph-based statistics’) as input “Algorithm 1, which maps any conjunctive input query q to an embedding … using two differentiable operators, P and I, described below. The goal is to optimize these operators—along with embeddings for all graph nodes zv …so that the embedding q for any query q can be generated and used to predict the likelihood that a node v satisfies the query q. In particular, we want to generate query embeddings q and node embeddings zv, so that the likelihood or “score” that v ∈
q
is given by the distance between their respective embeddings … At inference time, we take a query q, generate its corresponding embedding q, and then perform nearest neighbor search—e.g., via efficient locality sensitive hashing [21]—in the embedding space to find nodes likely to satisfy this query (Figure 3)” (P. 5, ¶1-2). See Figure 3 on P. 5 depicting using nearest neighbor search to find nodes that satisfy a query.
Hamilton discloses a geometric intersection operator I (‘a model’) is used to generate the query embedding that is used in nearest neighbor search to generate scores, “Algorithm 1 starts with the embeddings of the query’s anchor nodes and iteratively applies geometric operations P and I to generate an embedding q that corresponds to the query. Finally, we can use the generated query embedding to predict the likelihood that a node satisfies the query, e.g., by nearest neighbor search in the embedding space” (P. 5, Figure 3 Caption). Hamilton discloses the geometric intersection operator I is a neural network, “we implement I as: … where NNk is a k-layer feedforward neural network” (P. 5-6, Sec. 4, Last Paragraph).);
scoring the graph-based statistics using the one or more models in accordance with a set of metrics (Hamilton discloses distances (‘set of metrics’) can be used to score the likelihood that node embeddings (‘graph-based statistics’) satisfy the query q, “we want to generate query embeddings q and node embeddings zv, so that the likelihood or “score” that v ∈
q
is given by the distance between their respective embeddings … Thus, our goal is to generate an embedding q of a query that implicitly represents its denotation
q
; i.e., we want to generate query embeddings so that
s
c
o
r
e
q
,
z
v
=
1
,
∀
v
∈
q
and
s
c
o
r
e
q
,
z
v
=
0
,
∀
v
∉
q
” (P. 5, ¶1-2).),
and outputting the at least one corresponding score for each target node of the one or more target nodes with respect to the subgraph (The distances between node embeddings and a query embedding can be used to determine the likelihood that a variable node v (‘target node’) satisfies a query. Node embeddings are generated for each variable node v (‘target node’) of a query’s DAG dependency graph. The DAG dependency graph captures the multiple paths (‘subgraphs’) from anchor nodes to variable nodes v that satisfy a given query. See Figure 3 on P. 5 depicting converting a Query DAG dependency graph into node and query embeddings in an embedding space.
Hamilton discloses the values of scores are used to determine if variable nodes v (‘target nodes’) satisfy a query, “we want to generate query embeddings so that
s
c
o
r
e
q
,
z
v
=
1
,
∀
v
∈
[
q
]
and
s
c
o
r
e
q
,
z
v
=
0
,
∀
v
∉
[
q
]
”. (P. 5, ¶2).).
With respect to claim 4, the combined query prediction framework of Hamilton/Khemmarat teaches:
the computer-implemented method of claim 2, wherein the one or more models comprise at least one machine learning model (Hamilton discloses nearest neighbor search (‘a machine learning model’) is used to generate scores, “we take a query q, generate its corresponding embedding q, and then perform nearest neighbor search” (P. 5, ¶2).
Hamilton discloses the geometric intersection operator I is a neural network, “we implement I as: … where NNk is a k-layer feedforward neural network” (P. 5-6, Sec. 4, Last Paragraph).).
With respect to claim 5, the combined query prediction framework of Hamilton/Khemmarat teaches:
the computer-implemented method of claim 4, wherein the at least one machine learning model is trained on annotated data comprising known data of related diseases and genes (Hamilton discloses “A knowledge graph derived from a number from public biomedical databases (Appendix B). It consists of nodes corresponding to drugs, diseases, proteins, side effects, and biological processes. There are 42 different edge types, including multiple edge types between proteins (e.g., co-expression, binding interactions), edges denoting known drug-disease treatment pairs, and edges denoting experimentally documented side-effects of drugs. In total this dataset contains over 8 million edges between 97,000 nodes” (P. 3, Sec. 3, ¶2).
Hamilton further discloses “We obtained relationships between proteins and diseases from the DisGeNET database [31], which integrates data from expert-curated repositories. Drug-disease links describe diseases that a given drug treats” (P. 14, Appendix B, ¶3).
Hamilton discloses “the geometric projection operator P, intersection operator I, and node embedding parameters can be trained using stochastic gradient descent on a max-margin loss. To compute this loss given a training query q, we uniformly sample a positive example node … and negative example node … from the training data … For example, for the query “return all drugs that are likely to treat disease d1 and d2”, a hard negative example would be diseases that treat d1 but not d2” (P. 7, Sec. 4.4).).
With respect to claim 7, the combined query prediction framework of Hamilton/Khemmarat teaches:
the computer-implemented method of claim 1, wherein the connectivity patterns comprise one or more hop-length restrictions (The Examiner interprets “hop-length” according to its broadest reasonable interpretation (BRI) in view of the applicant’s specification at Paragraph [0035]. Accordingly, the Examiner interprets this term as encompassing the length (the number of edges) of a path between two nodes as disclosed by Hamilton below.
Hamilton discloses an example query, “consider the query “return all drug nodes that are likely to target proteins that are associated with a given disease node d.” … we say that the answer or denotation of this query
q
is the set of all drug nodes that are likely to be connected to node d on a length-two path following edges that have types TARGET and ASSOC, respectively” (P. 4, Sec. 3.1, ¶3).
Hamilton discloses Figure 1 on P. 2 (reproduced below) depicting a directed acyclic graph (DAG) generated for a given query. The query determines the anchor nodes, variable nodes, and edge types of the DAG graph. The number of edges traversed from an anchor node to a variable node are limited based on edge type. The paths of the DAG graph in Figure 1 are limited to the ASSOC and TARGET edge types. Only paths comprised of edges of type ASSOC and TARGET are considered. Since a path needs to have both edge types to answer the query, the length of each path (‘hop-length’) is limited (‘restricted’) to 2 edges – one edge for each type.
PNG
media_image3.png
789
962
media_image3.png
Greyscale
).
With respect to claim 8, the combined query prediction framework of Hamilton/Khemmarat teaches:
the computer-implemented method of claim 1, wherein the connectivity patterns further comprise at least one path with one or more intermediate nodes and/or at least path with a relationship type associated with at least one intermediate node (Hamilton discloses Figure 1 (reproduced above) on P. 2 depicting a directed acyclic graph (DAG) generated for a given query. The DAG graph is comprised of multiple paths that are formed by traversing nodes in the graph. A node connected between an anchor node and a variable node is an intermediate node (labeled p2). The path formed by anchor node d2, intermediate node p2, and variable node c3 contains edges of type ASSOC or TARGET that define the relationship between each node.
Hamilton discloses “consider the query “return all drug nodes that are likely to target proteins that are associated with a given disease node d.” … we say that the answer or denotation of this query
q
is the set of all drug nodes that are likely to be connected to node d on a length-two path following edges that have types TARGET and ASSOC, respectively” (P. 4, Sec. 3.1, ¶3).).
With respect to claim 9, the combined query prediction framework of Hamilton/Khemmarat teaches:
the computer-implemented method of claim 8, wherein, wherein, the one or more intermediate nodes are one of the various hop node types (The Examiner interprets “hop node” according to its broadest reasonable interpretation (BRI) in view of the applicant’s specification at Paragraph [0033]. Accordingly, the Examiner interprets this term as encompassing a node that can be reached after traversing a single edge as disclosed by Hamilton below.
Hamilton discloses “A knowledge graph derived from a number from public biomedical databases (Appendix B). It consists of nodes corresponding to drugs, diseases, proteins, side effects, and biological processes. There are 42 different edge types, including multiple edge types between proteins (e.g., co-expression, binding interactions), edges denoting known drug-disease treatment pairs, and edges denoting experimentally documented side-effects of drugs.” (P. 3, Sec. 3, ¶2).
Hamilton discloses Figure 1 (reproduced above) on P. 2 depicting a node (labeled p2) that can be reached after traversing a single edge from an anchor node. Node p2 is also an intermediate node since it is between an anchor node and a target variable node. Therefore, Node p2 is an “intermediate node” that is a “hop node.”).
With respect to claim 10, the combined query prediction framework of Hamilton/Khemmarat teaches:
the computer-implemented method of claim 1, wherein the one or more connectivity patterns are pre-specified based on one or more of the various hop node types and/or one or more relationship types between two hop nodes (Hamilton discloses “consider the query “return all drug nodes that are likely to target proteins that are associated with a given disease node d.” … we say that the answer or denotation of this query
q
is the set of all drug nodes that are likely to be connected to node d on a length-two path following edges that have types TARGET and ASSOC, respectively … the upper-case nodes C? and P, are variables defined within the query, with the P variable being existentially quantified. In terms of graph structure, Equation (2) corresponds to a path. Figure 1 contains a visual illustration of this idea.” (P. 4, Sec. 3.1, ¶3).
Hamilton discloses Equation 2 on P. 4 (reproduced below) which describes a conjunctive graph query that is used to generate a directed acyclic graph (DAG). The conjunctive graph query writes a query using logical operators, quantifiers and variables. The conjunctive graph query specifies the structure of a path to look for. In equation 2, the conjunctive graph query specifies that variable node P (which corresponds to “hop node” p2 in the DAG graph of Figure 1 as disclosed above) must be connected by a single edge to an anchor node and a target node. Specifically, variable node P is of type “protein” and must be connected to anchor node “disease” (with an edge of type ASSOC) and target node “drug” (with an edge of type TARGET) to answer the query. Therefore, the length of the path to look for in a DAG graph is of length 2 and must contain the specified edge types. Since path length and edge types (‘connectivity patterns’) are dependent on how nodes are connected to “protein” node P, connectivity patterns are “pre-specified” based on “hop node type”.
PNG
media_image4.png
326
1629
media_image4.png
Greyscale
).
With respect to claim 11, the combined query prediction framework of Hamilton/Khemmarat teaches:
the computer-implemented method of claim 1, wherein the query node corresponds to a disease entity (Hamilton discloses query nodes as anchor nodes, “The edges ei in the query can involve these variable nodes as well as anchor nodes, i.e., non-variable/constant nodes that form the input to the query” (P. 4, Sec. 3.1, ¶2).
Hamilton discloses anchor nodes d are of type disease, “consider the query “return all drug nodes that are likely to target proteins that are associated with a given disease node d.” … the answer or denotation of this query
q
is the set of all drug nodes that are likely to be connected to node d on a length-two path following edges that have types TARGET and ASSOC, respectively. Note that d is an anchor node of the query: it is the input that we provide” (P. 4, Sec. 3.1, ¶3).).
With respect to claim 12, the combined query prediction framework of Hamilton/Khemmarat teaches:
the computer-implemented method of claim 1, wherein the graph-based statistics are extracted in relation to one or more paths associated with the subgraph (Hamilton discloses “Algorithm 1, which maps any conjunctive input query q to an embedding … The goal is to optimize these operators—along with embeddings for all graph nodes zv …so that the embedding q for any query q can be generated and used to predict the likelihood that a node v satisfies the query q. In particular, we want to generate query embeddings q and node embeddings zv, … To generate the embedding q for a query q using Algorithm 1, we (i) represent the query using its DAG dependency graph” (P. 5, ¶1-3).
Hamilton discloses subgraphs in a DAG graph are those that satisfy a query, “Two example conjunctive graph queries. In the boxes we show the query, its natural language interpretation, and the DAG that specifies this query’s structure. Below these boxes we show subgraphs that satisfy the query (solid lines) .... Dashed lines denote edges that are irrelevant to the query” (P. 2, Figure 1 Caption). See Figure 1 on P. 2 depicting a subgraph comprised of multiple solid-edged paths in a DAG graph.
Node embeddings (‘graph-based statistics’) are generated (‘extracted’) for each variable node v (target node) of a DAG dependency graph. The DAG dependency graph captures the multiple paths from anchor nodes (query nodes) to variable nodes v that satisfy a given query. See also Figure 3 on P. 5 depicting generating node and query embeddings for a subgraph comprised of multiple paths.).
With respect to claim 13, the combined query prediction framework of Hamilton/Khemmarat teaches:
the computer-implemented method of claim 12, wherein the one or more paths each comprise a path type specifying one or more relationships between the nodes traversed by each path (Hamilton discloses Figure 1 on P. 2 depicting a subgraph comprised of anchor nodes d1 and d2, intermediate node p2 and variable node c3. A path is formed by d1, p2, and c3. d1 is connected to p2 with an edge of type ASSOC and p2 is connected to c3 with an edge of type TARGET. The edge of type ASSOC represents that d1 is associated with p2 and the edge of type TARGET represents that p2 is targeted by c3. The entire path therefore defines (‘specifies’) the relationships between each node and is of type ASSOC and TARGET (‘path type’).
Hamilton discloses “consider the query “return all drug nodes that are likely to target proteins that are associated with a given disease node d.” … we say that the answer or denotation of this query
q
is the set of all drug nodes that are likely to be connected to node d on a length-two path following edges that have types TARGET and ASSOC, respectively” (P. 4, Sec. 3.1, ¶3).).
With respect to claim 14, the combined query prediction framework of Hamilton/Khemmarat teaches:
the computer-implemented method of claim 12, wherein the one or more paths are associated with at least one hop node and/or hop node types (Hamilton discloses Figure 1 on P.2 depicting a subgraph comprised of anchor nodes d1 and d2, intermediate node p2 and variable node c3. As disclosed above, node p2 is a “hop node” since only one edge has to be traversed in order to reach node p2 from anchor node d1 or d2. Therefore, a path comprised of nodes d1, p2, and c3, is comprised (‘associated’) with a “hop node”.).
With respect to claim 16, the combined query prediction framework of Hamilton/Khemmarat teaches:
A computer-readable medium storing code that, when executed by a computer, causes the computer to perform the computer-implemented method of claim 1 (Hamilton discloses “We trained the models on a server with 16 x Intel(R) Xeon(R) CPU E5-2623 v4 @ 2.60GHz processors, 512 GB RAM, and four NVIDIA Titan X Pascal GPUs with 12 GB of memory” (P. 15, ¶2). Training models implies that code is executed by the processors which further implies a 12 GB of memory storing code.).
With respect to claim 17, the rejection of claim 1 is incorporated. The difference in scope being
A system … the system comprising a processor configured to (Hamilton discloses “We trained the models on a server with 16 x Intel(R) Xeon(R) CPU E5-2623 v4 @ 2.60GHz processors” (P. 15, ¶2).).
With respect to claims 19 and 21, the combined query prediction framework of Hamilton/Khemmarat teaches:
The system of claim 17, wherein the processor is further configured to query a graph to assess relationships amongst graph nodes by: determining a query node on the graph (Hamilton discloses query nodes as anchor nodes, “d is an anchor node of the query: it is the input that we provide” (P. 4, Sec. 3.1, ¶3).);
identifying one or more target nodes on the graph in relation to the query node based on a set of connectivity patterns (Hamilton discloses “consider the query “return all drug nodes that are likely to target proteins that are associated with a given disease node d.” … we say that the answer or denotation of this query
q
is the set of all drug nodes that are likely to be connected to node d on a length-two path following edges that have types TARGET and ASSOC, respectively” (P. 4, Sec. 3.1, ¶3).);
generating graph-based statistics for each target node of the one or more target nodes, wherein the graph-based statistics are extracted for subgraphs associated with each target node and the query node (The Examiner interprets “graph-based statistics” according to its broadest reasonable interpretation (BRI) in view of the applicant’s specification at Paragraph [0034]. Accordingly, the Examiner interprets this term as encompassing node embeddings as disclosed by Hamilton below. Node embeddings are structural representations of graph nodes in a directed acyclic graph, represented as numerical vectors in an embedding space. Thus, node embeddings are quantitative descriptors of nodes in a graph and therefore are “graph-based statistics”.
Hamilton discloses “Algorithm 1, which maps any conjunctive input query q to an embedding … using two differentiable operators, P and I, described below. The goal is to optimize these operators—along with embeddings for all graph nodes zv …so that the embedding q for any query q can be generated and used to predict the likelihood that a node v satisfies the query q. In particular, we want to generate query embeddings q and node embeddings zv, so that the likelihood or “score” that v ∈
q
is given by the distance between their respective embeddings … To generate the embedding q for a query q using Algorithm 1, we (i) represent the query using its DAG dependency graph, (ii) start with the embeddings zv1 , ..., zvn of its anchor nodes, and then (iii) we apply geometric operators, P and I (defined below) to these embeddings to obtain an embedding q of the query” (P. 5, ¶1-3).
Hamilton discloses subgraphs in a DAG graph are those that satisfy a query, (see P. 2, Figure 1 Caption). See Figure 1 on P. 2 depicting a subgraph comprised of solid line edges in a DAG graph.
Node embeddings (‘graph-based statistics’) are generated for each variable node v (‘target node’) of a DAG dependency graph. The DAG dependency graph captures the multiple paths from anchor nodes (‘query nodes’) to variable nodes v that satisfy a given query. See also Figure 3 on P. 5 depicting generating node and query embeddings for a subgraph of a DAG dependency graph.);
and assessing the graph-based statistics of each target node to determine predicted relationships between the one or more target nodes and the query node (Hamilton discloses “the embedding q for any query q can be generated and used to predict the likelihood that a node v satisfies the query q. In particular, we want to generate query embeddings q and node embeddings zv, so that the likelihood or “score” that v ∈
q
is given by the distance between their respective embeddings” (P. 5, ¶1-3).
The distances between node embeddings (‘graph-based statistics’) and a query embedding can be used to determine (‘assess’) the likelihood that a variable node v (‘target node’) satisfies a query.),
wherein assessing the graph-based statistics of each target node to determine predicted relationships between the one or more target nodes and the query node further comprises: inputting the graph-based statistics to one or more models for outputting at least one score associated with the graph-based statistics (Hamilton discloses performing nearest neighbor search (‘one or more models’) using a query embedding and node embeddings (‘graph-based statistics’) as input “we want to generate query embeddings q and node embeddings zv, so that the likelihood or “score” that v ∈
q
is given by the distance between their respective embeddings … At inference time, we take a query q, generate its corresponding embedding q, and then perform nearest neighbor search—e.g., via efficient locality sensitive hashing [21]—in the embedding space to find nodes likely to satisfy this query (Figure 3)” (P. 5, ¶1-2). See Figure 3 on P. 5 depicting using nearest neighbor search to find nodes that satisfy a query.);
scoring the graph-based statistics using one or more models in accordance with a set of metrics (Hamilton discloses distances (‘set of metrics’) can be used to score the likelihood that node embeddings (‘graph-based statistics’) satisfy the query q, “we want to generate query embeddings q and node embeddings zv, so that the likelihood or “score” that v ∈
q
is given by the distance between their respective embeddings … Thus, our goal is to generate an embedding q of a query that implicitly represents its denotation
q
; i.e., we want to generate query embeddings so that
s
c
o
r
e
q
,
z
v
=
1
,
∀
v
∈
q
and
s
c
o
r
e
q
,
z
v
=
0
,
∀
v
∉
q
” (P. 5, ¶1-2).),
and outputting the at least one corresponding score for each target node of the one or more target nodes with respect to the subgraph (Distances between node embeddings and a query embedding can be used to determine the likelihood that a variable node v (‘target node’) satisfies a query. Node embeddings are generated for each variable node v (‘target node’) of a query’s DAG dependency graph. The DAG dependency graph captures the multiple paths (‘subgraphs’) from anchor nodes to variable nodes v that satisfy a given query. See Figure 3 on P. 5 depicting converting a Query DAG dependency graph into node and query embeddings in an embedding space.
Hamilton discloses the values of scores are used to determine if variable nodes v (‘target nodes’) satisfy a query, “we want to generate query embeddings so that
s
c
o
r
e
q
,
z
v
=
1
,
∀
v
∈
[
q
]
and
s
c
o
r
e
q
,
z
v
=
0
,
∀
v
∉
[
q
]
”. (P. 5, ¶2).).
With respect to claim 20, the rejection of claim 1 is incorporated. The difference in scope being
A system …, the system comprising a processor configured to: (Hamilton discloses “We trained the models on a server with 16 x Intel(R) Xeon(R) CPU E5-2623 v4 @ 2.60GHz processors” (P. 15, ¶2).):
receive the graph, and a query node on the graph and a set of connectivity patterns (Hamilton discloses “given an incomplete biological knowledge graph—containing known interactions between drugs, diseases, and proteins—one could pose the conjunctive query: “what protein nodes are likely to be associated with diseases that have both symptoms X and Y?” In this query, the disease node is an existentially quantified variable— i.e., we only care that some disease connects the protein node to these symptom nodes X and Y” (P. 1, Sec. 1, Last Paragraph).
Hamilton discloses a “query node” as an “anchor node”, “consider the query “return all drug nodes that are likely to target proteins that are associated with a given disease node d.” … the answer or denotation of this query
q
is the set of all drug nodes that are likely to be connected to node d on a length-two path following edges that have types TARGET and ASSOC, respectively. Note that d is an anchor node of the query: it is the input that we provide” (P. 4, Sec. 3.1, ¶3). A set of connectivity patterns is obtained (‘received’) from the answer to a given query, which includes path length and edge type.);
The following are the references relied upon in the rejections below:
Goodwin, Travis, and Sanda M. Harabagiu. "Automatic generation of a qualified medical knowledge graph and its usage for retrieving patient cohorts from electronic medical records." 2013 IEEE Seventh International Conference on Semantic Computing. IEEE, 2013.
Claim 15 is rejected under 35 U.S.C. 103 as being unpatentable over Hamilton in view of Khemmarat, further in view of Goodwin.
With respect to claim 15, the combined query prediction framework of Hamilton/Khemmarat teaches the computer-implemented method of claim 12, however the combination does not teach generating graph-based statistics using a set of statistical tests, which is taught by Goodwin:
wherein the graph-based statistics are derived using a set of statistical tests (Goodwin discloses Fisher’s exact test (‘a set of statistical tests’) can be used to measure the significance of association (‘graph-based statistics’) between two vertices in a graph, “We investigate Fisher’s exact test which measures the significance of association (contingency) between two vertices in the graph, and given in Equation 3. Fisher’s exact test is commonly used in statistics to evaluate the null hypothesis in situations where the sample size is too small to evaluate using the Chi-squared test. Note that fisher’s exact test measures the difference between the proportions of two events, and thus when used to measure similarity, the least weight edges are the most similar. Continuing our example, the most similar neighbors for heart failure/PRESENT according to Fisher’s exact test are hypertension/PRESENT at −116.57, and congestive heart failure/PRESENT at −92.3” (P. 368, Sec. III-A, ¶2).).
Goodwin teaches using Fisher’s exact test to measure the significance of a relationship between two vertices in a graph is a known method in the art. Before the effective filing date of the claimed invention, it would have been obvious to a person of ordinary skill in the art to modify the combined query prediction framework of Hamilton/Khemmarat with the technique disclosed by Goodwin to measure the relationships of vertices in a graph. By using Fisher’s exact test to measure the relationships of vertices in a graph, graphs with small sample sizes can be accurately evaluated, leading to more accurate relationship predictions.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to PEDRO J MORALES whose telephone number is (571)272-6106. The examiner can normally be reached 8:30 AM - 6:00 PM.
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, MIRANDA M HUANG can be reached at (571)270-7092. 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.
/PEDRO J MORALES/Examiner, Art Unit 2124
/VINCENT GONZALES/Primary Examiner, Art Unit 2124