Prosecution Insights
Last updated: April 19, 2026
Application No. 16/809,430

SELECTING DIGITAL MEDIA ASSETS BASED ON TRANSITIONS ACROSS CATEGORIES

Non-Final OA §101§103
Filed
Mar 04, 2020
Examiner
AUSTIN, JAMIE H
Art Unit
3625
Tech Center
3600 — Transportation & Electronic Commerce
Assignee
Iris Tv Inc.
OA Round
13 (Non-Final)
25%
Grant Probability
At Risk
13-14
OA Rounds
4y 10m
To Grant
58%
With Interview

Examiner Intelligence

Grants only 25% of cases
25%
Career Allow Rate
104 granted / 417 resolved
-27.1% vs TC avg
Strong +34% interview lift
Without
With
+33.5%
Interview Lift
resolved cases with interview
Typical timeline
4y 10m
Avg Prosecution
40 currently pending
Career history
457
Total Applications
across all art units

Statute-Specific Performance

§101
34.3%
-5.7% vs TC avg
§103
35.2%
-4.8% vs TC avg
§102
7.5%
-32.5% vs TC avg
§112
19.8%
-20.2% vs TC avg
Black line = Tech Center average estimate • Based on career data from 417 resolved cases

Office Action

§101 §103
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 . 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 2/27/2026 has been entered. Status This action is in response to the amendment filed on 2/27/2026. Claims 21-40 are pending. No claims are amended. Claims 21-40 have been added. Claims 1-20 have been cancelled. Response to Arguments Applicant's arguments filed 2/27/2026 have been fully considered but they are not persuasive. Although the applicant has filed claims with additional limitations the claims are still directed to an abstract idea. The claims contain mathematical concepts (determining a set of weights, computing a composite score), certain methods of organizing human activities (recommending assets to a user), and a mental process (a process that can be done in a human mind). The claims do not integrate the abstract idea into a practical application. The claims do not improve a computer functionality and do not improve another technology. The claims merely use general purpose technology as a tool to perform the steps of the invention. Applicant’s arguments are not found persuasive. The previous rejections have been updated in view of applicant’s amendments. 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 21-40 are rejected under 35 USC 101 because the claimed invention is directed to a judicial exception (i.e. abstract idea) without anything significantly more. Step 1: Regarding Step 1 of the Subject Matter Eligibility Test for Products and Processes (from the January 2019 §101 Examination Guidelines), claim(s) (21-27) is/are directed to a method, claim(s) (35-40) is/ are directed to a non-transitory computer readable medium, and claims(s) (28-34) is/are directed to a system. Therefore, claims 21-40 are directed to patent eligible categories of invention. Step 2A Prong 1: The claimed invention is directed to an abstract idea without significantly more. The claim(s) recite(s) (mathematical relationships/formulas, mental process or certain methods of organizing human activity). Specifically the independent claims recite: (a) mental process: as drafted, the claim recites the limitations of receiving, determining, calculating, storing, and generating data which is a process that, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components. That is, other than reciting “processor”, “a computer,” nothing in the claim precludes the determining step from practically being performed in the human mind. For example, but for the “processor to perform” language, the claim encompasses a user manually determining the recommended assets based on score. The mere nominal recitation of a generic computing device does not take the claim limitation out of the mental processes grouping. This limitation is a mental process. With regard to the instant application the Examiner has reviewed the disclosure and determined that the underlying claimed invention is described as a concept that is performed in the human mind and/or with the aid of a pen and paper, and thus it is viewed that the applicant is merely claiming that concept performed 1) on a generic computer, 2) in a computer environment or 3) is merely using a computer as a tool to perform the concept, and therefore is considered to recite a mental process. Claims can recite a mental process even if they are claimed as being performed on a computer. The courts have found claims requiring a generic computer or nominally reciting a generic computer may still recite a mental process even though the clam limitations are not performed entirely in the human mind. (b) mathematical formula: The claim recites a mathematical concept (which can include mathematical relationships, mathematical formulas or equations, and mathematical calculations). Thus, the claim recites a mathematical concept specifically determining a set of weights, calculating a traversal cost, a computed composite score. “Mathematical Calculations” A claim that recites a mathematical calculation will be considered as falling within the “mathematical concepts” grouping. A mathematical calculation is a mathematical operation (such as multiplication) or an act of calculating using mathematical methods to determine a variable or number, e.g., performing an arithmetic operation such as exponentiation. There is no particular word or set of words that indicates a claim recites a mathematical calculation. That is, a claim does not have to recite the word “calculating” in order to be considered a mathematical calculation. For example, a step of “determining” a variable or number using mathematical methods or “performing” a mathematical operation may also be considered mathematical calculations when the broadest reasonable interpretation (c) certain methods of organizing human activity: The claim as a whole recites a method of organizing human activity. The claimed invention is a method that allows for taking data related to users for determining a recommended set of assets which is a method of managing interactions between people. Thus, the claim recites an abstract idea. Dependent claims 22-27, 29-34, 36-40 further narrow the abstract idea identified in the independent claims and do not introduce further additional elements for consideration. Step 2A, Prong 2: Independent claims 21, 28, and 35 do not integrate the judicial exception into a practical application. Claim 21 is a computer implemented method comprising “user devices… a database.” Claim 28 is a system comprising “one or more computing processors; one or more non-transitory computer readable media… user devices… a database.” Claim 35 is a non-transitory computer-readable storage media “storing one or more sequences of instructions, which when executed by one or more processors cause performance of… user devices… a database.” These additional elements are mere instructions to implement an abstract idea using a computer in its ordinary capacity, or merely uses the computer as a tool to perform the identified abstract idea. Use of a computer or other machinery in its ordinary capacity for performing the steps of the abstract idea or other tasks (e.g., to receive, store, or generate data) or simply adding a general purpose computer or computer components after the fact to an abstract idea (e.g., certain methods of organizing human activity, mathematical concept) does not integrate a judicial exception into a practical application. See MPEP 2106.05(f). Therefore, the additional elements of the independent claims, when considered both individually and in combination, are not sufficient to prove integration into a practical application. Dependent claims 22-27, 29-34, 36-40 further narrow the abstract idea identified in the independent claims and do not introduce further additional elements for consideration, which does not integrate the judicial exception into a practical application. Step 2B: Independent claims 21, 28, and 35 do not comprise anything significantly more than the judicial exception. As can be seen above with respect to Step 2A, Prong 2, Claim 21 is a computer implemented method comprising “user devices… a database.” Claim 28 is a system comprising “one or more computing processors; one or more non-transitory computer readable media… user devices… a database.” Claim 35 is a non-transitory computer-readable storage media “storing one or more sequences of instructions, which when executed by one or more processors cause performance of… user devices… a database.” These additional elements are mere instructions to implement an abstract idea using a computer in its ordinary capacity, or merely uses the computer as a tool to perform the identified abstract idea. Use of a computer or other machinery in its ordinary capacity for performing the steps of the abstract idea or other tasks (e.g., to receive, store, or generate data) or simply adding a general purpose computer or computer components after the fact to an abstract idea (e.g., certain methods of organizing human activity or mathematical concept) is not anything significantly more than the judicial exception. See MPEP 2106.05(f). The additional elements of the independent claims, when considered both individually and in combination, do not comprise anything significantly more than the judicial exception. Dependent claims 22-27, 29-34, 36-40 further narrow the abstract idea identified in the independent claims and do not introduce further additional elements for consideration, which is not anything significantly more than the judicial exception. Therefore based on the above analysis as conducted based on the January 2019 Guidance from the United States Patent and Trademark Office the claims are viewed as a court recognized abstract idea, are viewed as a judicial exception, does not integrate the claims into a practical application, and does not provide an inventive concept, therefore the claims are ineligible. Accordingly, claims 21-40 are rejected under 35 USC 101. 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 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. Claims 21-24, 27-31, 34-38, 40, is/are rejected under 35 U.S.C. 103 as being unpatentable over Aryan (US 20180081968 A1) in view of Harboe et al. (US 20080091721 A1) in view of Coupe et al. (US 20190287018 A1). Regarding claim 21, Aryan teaches receiving a category taxonomy associated with an asset portfolio (Fig. 3-7, ¶ 56-58, In at least one embodiment, the system 110 is configured to assign a weight attribute to each edge of the plurality of edges… The value of the weight attribute, in turn, is a weighted summation of a set of similarity factors between the two nodes (i.e., two songs) being connected via the associated edge. ¶ 109, 113-114, disclose a list of suggested songs. ¶ 60-61, 63, 84); the category taxonomy having categories expressed as nodes in a directed graph (Fig. 3, 4, 7, 8, ¶ 96, FIG. 7 shows a simplified representation of a directed graph 700 formed using a plurality of nodes and a plurality of edges, in accordance with an example embodiment of the present disclosure. In at least one embodiment, the system 110 is configured to form the directed graph 700 for arranging the plurality of songs based on a specific order. As shown, the directed graph 700 includes a plurality of nodes such as S4, S5, S6 and S7 representing corresponding songs and a plurality of directed edges such as E8, E9, E10 and E11 connecting the pair of nodes. It is noted that a directed edge between two nodes (songs) represents that the two songs were played and liked during a predefined time interval and the direction of the edge indicates the node that the edge originates from is the song that was played before the second node/second song. For example, edge E8 represents song S4 was played before song S6, edge E9 represents song S4 was played before song S5, edge E10 represents song S6 was played before song S7 and edge E11 represents song S4 was played before song S7. The system 110 is also configured to associate a weight attribute with each of the plurality of edges E8-E11 based on the time lapse between the two songs. In one example embodiment, the weight is a value between 0 and 1. The weight associated with each edge is utilized by the system 110 to determine a successive score for each song to measure successiveness to a song listened to at a preceding time step based on the directed graph. This is explained in detail hereinafter with reference to FIG. 8. ¶ 98-100, At 802, a directed graph is formed using a plurality of nodes and a plurality of directed edges. Each node represents an audio file and a directed edge from the plurality of directed edges originating from a first node to a second node represents a first audio file corresponding to the first node being played before a second audio file corresponding to the second node. In an embodiment, all the nodes that form the directed graph, represent audio files (songs) that are liked by the user. The system (e.g. the system 110) is configured to form a directed graph such as the directed graph 700 of the plurality of nodes (S4-S8) and the plurality of directed edges (E8-E11) as explained with reference to FIG. 7. ¶ 55, 59), the nodes having a plurality of levels, wherein a traversal cost between nodes is determined based on traversing the directed graph (¶ 96, FIG. 7 shows a simplified representation of a directed graph 700 formed using a plurality of nodes and a plurality of edges, in accordance with an example embodiment of the present disclosure. In at least one embodiment, the system 110 is configured to form the directed graph 700 for arranging the plurality of songs based on a specific order. As shown, the directed graph 700 includes a plurality of nodes such as S4, S5, S6 and S7 representing corresponding songs and a plurality of directed edges such as E8, E9, E10 and E11 connecting the pair of nodes. It is noted that a directed edge between two nodes (songs) represents that the two songs were played and liked during a predefined time interval and the direction of the edge indicates the node that the edge originates from is the song that was played before the second node/second song. For example, edge E8 represents song S4 was played before song S6, edge E9 represents song S4 was played before song S5, edge E10 represents song S6 was played before song S7 and edge E11 represents song S4 was played before song S7. The system 110 is also configured to associate a weight attribute with each of the plurality of edges E8-E11 based on the time lapse between the two songs. In one example embodiment, the weight is a value between 0 and 1. The weight associated with each edge is utilized by the system 110 to determine a successive score for each song to measure successiveness to a song listened to at a preceding time step based on the directed graph. This is explained in detail hereinafter with reference to FIG. 8. ¶ 98-102, At 808, at the time step ‘i’, a path score for each node is computed based on the successive score determined at the time step ‘i’ and a preceding path score computed at the preceding time step ‘i-1’. The system 110 is configured to initialize each song's path score ‘r.sub.n’, where ‘n’ corresponds to the song's node, to zero. A path score for the node ‘n’ at the time step ‘i’ is determined based on the following equation: r.sub.n.sub.(i)=(αu.sub.n.sub.(i-1)+((1−α)r.sub.n.sub.(i-1)  (5)), wherein each node represents a category, and wherein each asset in the asset portfolio is associated with a category ( Fig. 3, 4, 7, 8, ¶ 59, FIG. 4 shows a simplified representation 400 of a set of overlapping communities determined for a network of plurality of nodes and edges (such as the network 300 of FIG. 3), in accordance with an example embodiment of the present disclosure. The representation 400 is depicted to include an undirected graph including a plurality of nodes, such as the nodes A1, A2, A3, A4, A5, A6, A7 and A8, where each node represents a corresponding song. The graph also includes a plurality of edges, where each edge connects a pair of nodes. For example, Nodes A1 and A3 are connected by edge B1, nodes A1 and A2 are connected by edge B2, nodes A2 and A4 are connected by edge B3, nodes A3 and A4 are connected by edge B4, nodes A1 and A4 are connected by edge B5, nodes A5 and A6 are connected by edge B6, nodes A6 and A7 are connected by edge B7, nodes A7 and A8 are connected by edge B8, nodes A8 and A4 are connected by edge B9, nodes A4 and A5 are connected by edge B10, nodes A7 and A4 are connected by edge B11, and nodes A5 and A7 are connected by edge B12. As explained with reference to FIG. 2, the weight of each edge can be determined by the system 110 using equation (1) based on considering various similarity factors. ¶ 95-101); determining a set of weights associated with the plurality of levels in of nodes, wherein each weight includes a directionality of traversal between the plurality of levels (¶ 63, At 502, the method 500 includes forming a graph using a plurality of nodes and a plurality of edges. Each node represents an audio file and an edge of the plurality of edges represents a weighted summation of a set of similarity factors between a pair of audio files connected by the edge. The system is configured to determine the weight associated with each edge of the two connecting nodes based on various similarity factors using the equation (1) as explained with reference to FIG. 3. These weights are utilized by the system to determine the set of overlapping communities. ¶ 96-100, The system 110 is also configured to associate a weight attribute with each of the plurality of edges E8-E11 based on the time lapse between the two songs. In one example embodiment, the weight is a value between 0 and 1. The weight associated with each edge is utilized by the system 110 to determine a successive score for each song to measure successiveness to a song listened to at a preceding time step based on the directed graph. This is explained in detail hereinafter with reference to FIG. 8. ¶ 56-59); for each pair of nodes of nodes, calculating the traversal cost between the pair of nodes (¶ 32, For example, a successive score for each audio file is determined to measure successiveness to the song/audio file listened to at the previous/preceding time step. Further, an updated path score is computed for each audio file based on the succession score. Thereafter, a probability distribution of the audio files is computed by the system based on their respective path scores. ¶ 96-102, The weight associated with each edge is utilized by the system 110 to determine a successive score for each song to measure successiveness to a song listened to at a preceding time step based on the directed graph. This is explained in detail hereinafter with reference to FIG. 8.); storing a traversal data value based on the traversal cost associated with each pair of nodes in a database (¶ 5, the system categorizes the songs in a database into different moods/feels. The user will then choose a category that the user thinks matches closely to the user's feeling or desires, and the system plays the songs in that category in some given fashion. Note that there are a limited number of categories for the user to choose from, and the same songs in each category are recommended to any user that chooses a particular category. ¶ 45, The past music listening patterns and the information of specific feedback/user actions may be stored in a database accessible to the system (such as the system 110 of FIG. 1) in form of data samples. ¶ 96-100, 105, 111); responsive to receiving a request for a recommended asset based on a first viewed asset in the asset portfolio at a user device, generating a set of recommended assets from the asset portfolio ranked by a composite score, the composite score computed using a weighted linear combination comprising a taxonomy traversal data value associated with a pair of nodes of the nodes retrieved from the database, wherein the first viewed asset includes a category comprising a node in the pair of nodes, a category transition historical data value, and a randomized data value (Fig. 3-7, ¶ 124, More particularly, a music recommendation system is disclosed that makes its inference from the contextual information of a user as well as information known about the user's past music listening patterns to determine the best songs to be played according to the user's current context. Existing methods for song recommendation require a manual input from the user to recommend/play a song for the user at any given time. For example, a seed song for a radio station may be requested from the user to initiate searching of similar songs that match with the seed song for recommending songs. ¶ 32-33, Ultimately, the plurality of audio files are ranked based on the various probability distributions computed for the plurality of audio files. Thereafter, one or more audio files from the ranking of the plurality of audio files are recommended by the system to the user through the UI of the user device in the application. ¶ 42-43, In some cases, the processing system 110 may be embodied within each of the user devices 108a-c for making the song recommendations locally, and in such cases, there is no need of receiving recommendations over the network 120. Alternatively, songs may be recommended from both sources for example, locally as well as over the network from the external processing system 110. ¶ 29, The data samples include the user's current contextual features and the user's past music listening patterns. The system is configured to compute a ranking of the plurality of audio files based on one or more probability distributions over the plurality of audio files. A brief explanation of the probability distributions is provided herein below, and is described in detail with respect to corresponding Figures. ¶ 45, The past music listening patterns and the information of specific feedback/user actions may be stored in a database accessible to the system (such as the system 110 of FIG. 1) in form of data samples. ¶ 48, At 208, one or more audio files from the ranking of the plurality of audio files are recommended to the user through a User Interface (UI) of the user device in the application. In one embodiment, based on the ranking, the processing system either recommends the song that is ranked first/highest, or it selects another song to add diversity and randomness to the recommendation process. In an alternate embodiment, the system may follow a set of rules for recommending songs from the ranking of the plurality of audio files, where the set of rules may even be customized by the user. ¶ 95-101, 112). Aryan teaches a direct graph but does not specifically teach a hierarchy of nodes. However, Harboe teaches a hierarchy of nodes (¶ 36, The graph structure may be any structure for illustrating a hierarchy, such as a tree structure., ¶ 51, Note that while in a tree structure, different branches never join together, and there are no loops. These restrictions should not limit the scope of this invention. Although the discussion herein concerns "trees" specifically, the invention encompasses the more general case of any directed graph with or without a designated starting node.) It would have been obvious to one of ordinary skill in the art at the time of Applicant’s invention to modify Aryan to include/perform a hierarchy of nodes, as taught/suggested by Harboe. This known technique is applicable to the system of Aryan as they both share characteristics and capabilities, namely, they are directed to generating music playlists. One of ordinary skill in the art would have recognized that applying the known technique of Harboe would have yielded predictable results and resulted in an improved system. It would have been recognized that applying the technique of Harboe to the teachings of Aryan would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate such hierarchy structures into similar systems. Further, applying a hierarchy of nodes would have been recognized by those of ordinary skill in the art as resulting in an improved system that would allow the user an easier visual and a greater ease of adding or modifying data. Aryan teaches a direct graph and a category of moods but does not specifically teach a plurality of categories. However, Harboe teaches a plurality of categories (¶ 46-48, The graph structure may be any structure for illustrating a hierarchy, such as a tree structure., ¶ 51-53, As shown in FIG. 7, the options are assigned different categories according to different types of music, for example.). It would have been obvious to one of ordinary skill in the art at the time of Applicant’s invention to modify Aryan to include/perform a plurality of categories, as taught/suggested by Harboe. This known technique is applicable to the system of Aryan as they both share characteristics and capabilities, namely, they are directed to generating music playlists. One of ordinary skill in the art would have recognized that applying the known technique of Harboe would have yielded predictable results and resulted in an improved system. It would have been recognized that applying the technique of Harboe to the teachings of Aryan would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate such category features into similar systems. Further, applying a plurality of categories would have been recognized by those of ordinary skill in the art as resulting in an improved system that would allow the user a system with additional data and a greater chance of finding a perfect recommendation. Aryan teaches traversing nodes in a directed graph but does not specifically teach a that the traversing is done prior to the request. However, Coupe teaches prior to receiving one or more requests at one or more user devices for one or more recommended assets in the asset portfolio, for each pair of nodes in the hierarchy of nodes, calculating the traversal cost between the pair of nodes (¶ 34, discloses generating a relevance score of a candidate path. ¶ 41-43, disclose generating a relevance score of a candidate path. ¶ 63-65, 69, 71-73); wherein the traversal data value is retrieved, without traversing the directed graph in response to the request, using a database lookup indexed by the pair of nodes (¶ 34, discloses generating a relevance score of a candidate path. ¶ 41-43, disclose generating a relevance score of a candidate path. The data is stored in a data store. ¶ 51, 63-65, 69, 71-73). It would have been obvious to one of ordinary skill in the art at the time of Applicant’s invention to modify Aryan to include/perform a traversal data value prior to a traversal or a request, as taught/suggested by Coupe. This known technique is applicable to the system of Aryan as they both share characteristics and capabilities, namely, they are directed to using nodes to label and link information. One of ordinary skill in the art would have recognized that applying the known technique of Coupe would have yielded predictable results and resulted in an improved system. It would have been recognized that applying the technique of Coupe to the teachings of Aryan would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate such traversal data features into similar systems. Further, applying traversal data prior to traversing would have been recognized by those of ordinary skill in the art as resulting in an improved system that would allow for a system with fewer required steps. Regarding claims 22, 29, 36, Aryan teaches wherein calculating the traversal cost comprises accumulating one or more costs of traversing the nodes including one or more directional weights between the plurality of levels of nodes (¶ 46, 47, 56, 58, 96). Aryan teaches a direct graph but does not specifically teach a hierarchy of nodes. However, Harboe teaches a hierarchy of nodes (¶ 36, The graph structure may be any structure for illustrating a hierarchy, such as a tree structure., ¶ 51, Note that while in a tree structure, different branches never join together, and there are no loops. These restrictions should not limit the scope of this invention. Although the discussion herein concerns "trees" specifically, the invention encompasses the more general case of any directed graph with or without a designated starting node.) It would have been obvious to one of ordinary skill in the art at the time of Applicant’s invention to modify Aryan to include/perform a hierarchy of nodes, as taught/suggested by Harboe. This known technique is applicable to the system of Aryan as they both share characteristics and capabilities, namely, they are directed to generating music playlists. One of ordinary skill in the art would have recognized that applying the known technique of Harboe would have yielded predictable results and resulted in an improved system. It would have been recognized that applying the technique of Harboe to the teachings of Aryan would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate such hierarchy structures into similar systems. Further, applying a hierarchy of nodes would have been recognized by those of ordinary skill in the art as resulting in an improved system that would allow the user an easier visual and a greater ease of adding or modifying data. Regarding claims 23, 30, 37, Aryan teaches wherein a traversal data value comprises a normalized traversal cost (¶ 46, 70, 71, 99-100, disclose a normalized traversal cost). Regarding claims 24, 31, 38, Aryan teaches wherein the category transition historical data value comprises an observed data metric of success from transitioning from one category to another category (¶ 29, 45, 66-68, 112, 115, 124, discloses the use of past music listening patterns to select a category). Also taught by Coupe (¶ 7). Regarding claims 27, 34, 40, Aryan teaches wherein the composite score is normalized to a range between zero and one (¶ 67, 81, 96, 99, disclose normalized data). Also taught by Coupe (¶ 42, 51, 52). Regarding claim 28, Aryan teaches one or more computing processors; one or more non-transitory computer readable media storing a program of instructions that is executable by the one or more computing processors to perform (Fig. 1, 12, ¶ 36, 97); receiving a category taxonomy associated with an asset portfolio (Fig. 3-7, ¶ 56-58, In at least one embodiment, the system 110 is configured to assign a weight attribute to each edge of the plurality of edges… The value of the weight attribute, in turn, is a weighted summation of a set of similarity factors between the two nodes (i.e., two songs) being connected via the associated edge. ¶ 109, 113-114, disclose a list of suggested songs. ¶ 60-61, 63, 84); the category taxonomy having categories expressed as nodes in a directed graph (Fig. 3, 4, 7, 8, ¶ 96, FIG. 7 shows a simplified representation of a directed graph 700 formed using a plurality of nodes and a plurality of edges, in accordance with an example embodiment of the present disclosure. In at least one embodiment, the system 110 is configured to form the directed graph 700 for arranging the plurality of songs based on a specific order. As shown, the directed graph 700 includes a plurality of nodes such as S4, S5, S6 and S7 representing corresponding songs and a plurality of directed edges such as E8, E9, E10 and E11 connecting the pair of nodes. It is noted that a directed edge between two nodes (songs) represents that the two songs were played and liked during a predefined time interval and the direction of the edge indicates the node that the edge originates from is the song that was played before the second node/second song. For example, edge E8 represents song S4 was played before song S6, edge E9 represents song S4 was played before song S5, edge E10 represents song S6 was played before song S7 and edge E11 represents song S4 was played before song S7. The system 110 is also configured to associate a weight attribute with each of the plurality of edges E8-E11 based on the time lapse between the two songs. In one example embodiment, the weight is a value between 0 and 1. The weight associated with each edge is utilized by the system 110 to determine a successive score for each song to measure successiveness to a song listened to at a preceding time step based on the directed graph. This is explained in detail hereinafter with reference to FIG. 8. ¶ 98-100, At 802, a directed graph is formed using a plurality of nodes and a plurality of directed edges. Each node represents an audio file and a directed edge from the plurality of directed edges originating from a first node to a second node represents a first audio file corresponding to the first node being played before a second audio file corresponding to the second node. In an embodiment, all the nodes that form the directed graph, represent audio files (songs) that are liked by the user. The system (e.g. the system 110) is configured to form a directed graph such as the directed graph 700 of the plurality of nodes (S4-S8) and the plurality of directed edges (E8-E11) as explained with reference to FIG. 7. ¶ 55, 59), the nodes having a plurality of levels, wherein a traversal cost between nodes is determined based on traversing the directed graph (¶ 96, FIG. 7 shows a simplified representation of a directed graph 700 formed using a plurality of nodes and a plurality of edges, in accordance with an example embodiment of the present disclosure. In at least one embodiment, the system 110 is configured to form the directed graph 700 for arranging the plurality of songs based on a specific order. As shown, the directed graph 700 includes a plurality of nodes such as S4, S5, S6 and S7 representing corresponding songs and a plurality of directed edges such as E8, E9, E10 and E11 connecting the pair of nodes. It is noted that a directed edge between two nodes (songs) represents that the two songs were played and liked during a predefined time interval and the direction of the edge indicates the node that the edge originates from is the song that was played before the second node/second song. For example, edge E8 represents song S4 was played before song S6, edge E9 represents song S4 was played before song S5, edge E10 represents song S6 was played before song S7 and edge E11 represents song S4 was played before song S7. The system 110 is also configured to associate a weight attribute with each of the plurality of edges E8-E11 based on the time lapse between the two songs. In one example embodiment, the weight is a value between 0 and 1. The weight associated with each edge is utilized by the system 110 to determine a successive score for each song to measure successiveness to a song listened to at a preceding time step based on the directed graph. This is explained in detail hereinafter with reference to FIG. 8. ¶ 98-102, At 808, at the time step ‘i’, a path score for each node is computed based on the successive score determined at the time step ‘i’ and a preceding path score computed at the preceding time step ‘i-1’. The system 110 is configured to initialize each song's path score ‘r.sub.n’, where ‘n’ corresponds to the song's node, to zero. A path score for the node ‘n’ at the time step ‘i’ is determined based on the following equation: r.sub.n.sub.(i)=(αu.sub.n.sub.(i-1)+((1−α)r.sub.n.sub.(i-1)(5)), wherein each node represents a category, and wherein each asset in the asset portfolio is associated with a category ( Fig. 3, 4, 7, 8, ¶ 59, FIG. 4 shows a simplified representation 400 of a set of overlapping communities determined for a network of plurality of nodes and edges (such as the network 300 of FIG. 3), in accordance with an example embodiment of the present disclosure. The representation 400 is depicted to include an undirected graph including a plurality of nodes, such as the nodes A1, A2, A3, A4, A5, A6, A7 and A8, where each node represents a corresponding song. The graph also includes a plurality of edges, where each edge connects a pair of nodes. For example, Nodes A1 and A3 are connected by edge B1, nodes A1 and A2 are connected by edge B2, nodes A2 and A4 are connected by edge B3, nodes A3 and A4 are connected by edge B4, nodes A1 and A4 are connected by edge B5, nodes A5 and A6 are connected by edge B6, nodes A6 and A7 are connected by edge B7, nodes A7 and A8 are connected by edge B8, nodes A8 and A4 are connected by edge B9, nodes A4 and A5 are connected by edge B10, nodes A7 and A4 are connected by edge B11, and nodes A5 and A7 are connected by edge B12. As explained with reference to FIG. 2, the weight of each edge can be determined by the system 110 using equation (1) based on considering various similarity factors. ¶ 95-101); determining a set of weights associated with the plurality of levels in of nodes, wherein each weight includes a directionality of traversal between the plurality of levels (¶ 63, At 502, the method 500 includes forming a graph using a plurality of nodes and a plurality of edges. Each node represents an audio file and an edge of the plurality of edges represents a weighted summation of a set of similarity factors between a pair of audio files connected by the edge. The system is configured to determine the weight associated with each edge of the two connecting nodes based on various similarity factors using the equation (1) as explained with reference to FIG. 3. These weights are utilized by the system to determine the set of overlapping communities. ¶ 96-100, The system 110 is also configured to associate a weight attribute with each of the plurality of edges E8-E11 based on the time lapse between the two songs. In one example embodiment, the weight is a value between 0 and 1. The weight associated with each edge is utilized by the system 110 to determine a successive score for each song to measure successiveness to a song listened to at a preceding time step based on the directed graph. This is explained in detail hereinafter with reference to FIG. 8. ¶ 56-59); for each pair of nodes of nodes, calculating the traversal cost between the pair of nodes (¶ 32, For example, a successive score for each audio file is determined to measure successiveness to the song/audio file listened to at the previous/preceding time step. Further, an updated path score is computed for each audio file based on the succession score. Thereafter, a probability distribution of the audio files is computed by the system based on their respective path scores. ¶ 96-102, The weight associated with each edge is utilized by the system 110 to determine a successive score for each song to measure successiveness to a song listened to at a preceding time step based on the directed graph. This is explained in detail hereinafter with reference to FIG. 8.); storing a traversal data value based on the traversal cost associated with each pair of nodes in a database (¶ 5, the system categorizes the songs in a database into different moods/feels. The user will then choose a category that the user thinks matches closely to the user's feeling or desires, and the system plays the songs in that category in some given fashion. Note that there are a limited number of categories for the user to choose from, and the same songs in each category are recommended to any user that chooses a particular category. ¶ 45, The past music listening patterns and the information of specific feedback/user actions may be stored in a database accessible to the system (such as the system 110 of FIG. 1) in form of data samples. ¶ 96-100, 105, 111); responsive to receiving a request for a recommended asset based on a first viewed asset in the asset portfolio at a user device, generating a set of recommended assets from the asset portfolio ranked by a composite score, the composite score computed using a weighted linear combination comprising a taxonomy traversal data value associated with a pair of nodes of the nodes retrieved from the database, wherein the first viewed asset includes a category comprising a node in the pair of nodes, a category transition historical data value, and a randomized data value (Fig. 3-7, ¶ 124, More particularly, a music recommendation system is disclosed that makes its inference from the contextual information of a user as well as information known about the user's past music listening patterns to determine the best songs to be played according to the user's current context. Existing methods for song recommendation require a manual input from the user to recommend/play a song for the user at any given time. For example, a seed song for a radio station may be requested from the user to initiate searching of similar songs that match with the seed song for recommending songs. ¶ 32-33, Ultimately, the plurality of audio files are ranked based on the various probability distributions computed for the plurality of audio files. Thereafter, one or more audio files from the ranking of the plurality of audio files are recommended by the system to the user through the UI of the user device in the application. ¶ 42-43, In some cases, the processing system 110 may be embodied within each of the user devices 108a-c for making the song recommendations locally, and in such cases, there is no need of receiving recommendations over the network 120. Alternatively, songs may be recommended from both sources for example, locally as well as over the network from the external processing system 110. ¶ 29, The data samples include the user's current contextual features and the user's past music listening patterns. The system is configured to compute a ranking of the plurality of audio files based on one or more probability distributions over the plurality of audio files. A brief explanation of the probability distributions is provided herein below, and is described in detail with respect to corresponding Figures. ¶ 45, The past music listening patterns and the information of specific feedback/user actions may be stored in a database accessible to the system (such as the system 110 of FIG. 1) in form of data samples. ¶ 48, At 208, one or more audio files from the ranking of the plurality of audio files are recommended to the user through a User Interface (UI) of the user device in the application. In one embodiment, based on the ranking, the processing system either recommends the song that is ranked first/highest, or it selects another song to add diversity and randomness to the recommendation process. In an alternate embodiment, the system may follow a set of rules for recommending songs from the ranking of the plurality of audio files, where the set of rules may even be customized by the user. ¶ 95-101, 112). Aryan teaches a direct graph but does not specifically teach a hierarchy of nodes. However, Harboe teaches a hierarchy of nodes (¶ 36, The graph structure may be any structure for illustrating a hierarchy, such as a tree structure., ¶ 51, Note that while in a tree structure, different branches never join together, and there are no loops. These restrictions should not limit the scope of this invention. Although the discussion herein concerns "trees" specifically, the invention encompasses the more general case of any directed graph with or without a designated starting node.) It would have been obvious to one of ordinary skill in the art at the time of Applicant’s invention to modify Aryan to include/perform a hierarchy of nodes, as taught/suggested by Harboe. This known technique is applicable to the system of Aryan as they both share characteristics and capabilities, namely, they are directed to generating music playlists. One of ordinary skill in the art would have recognized that applying the known technique of Harboe would have yielded predictable results and resulted in an improved system. It would have been recognized that applying the technique of Harboe to the teachings of Aryan would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate such hierarchy structures into similar systems. Further, applying a hierarchy of nodes would have been recognized by those of ordinary skill in the art as resulting in an improved system that would allow the user an easier visual and a greater ease of adding or modifying data. Aryan teaches a direct graph but does not specifically teach a plurality of categories. However, Harboe teaches a plurality of categories (¶ 46-48, The graph structure may be any structure for illustrating a hierarchy, such as a tree structure., ¶ 51-53, As shown in FIG. 7, the options are assigned different categories according to different types of music, for example.). It would have been obvious to one of ordinary skill in the art at the time of Applicant’s invention to modify Aryan to include/perform a plurality of categories, as taught/suggested by Harboe. This known technique is applicable to the system of Aryan as they both share characteristics and capabilities, namely, they are directed to generating music playlists. One of ordinary skill in the art would have recognized that applying the known technique of Harboe would have yielded predictable results and resulted in an improved system. It would have been recognized that applying the technique of Harboe to the teachings of Aryan would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate such category features into similar systems. Further, applying a plurality of categories would have been recognized by those of ordinary skill in the art as resulting in an improved system that would allow the user a system with additional data and a greater chance of finding a perfect recommendation. Aryan teaches traversing nodes in a directed graph but does not specifically teach a that the traversing is done prior to the request. However, Coupe teaches prior to receiving one or more requests at one or more user devices for one or more recommended assets in the asset portfolio, for each pair of nodes in the hierarchy of nodes, calculating the traversal cost between the pair of nodes, (¶ 34, discloses generating a relevance score of a candidate path. ¶ 41-43, disclose generating a relevance score of a candidate path. ¶ 63-65, 69, 71-73); wherein the traversal data value is retrieved, without traversing the directed graph in response to the request, using a database lookup indexed by the pair of nodes (¶ 34, discloses generating a relevance score of a candidate path. ¶ 41-43, disclose generating a relevance score of a candidate path. The data is stored in a data store. ¶ 51, 63-65, 69, 71-73). It would have been obvious to one of ordinary skill in the art at the time of Applicant’s invention to modify Aryan to include/perform a traversal data value prior to a traversal or a request, as taught/suggested by Coupe. This known technique is applicable to the system of Aryan as they both share characteristics and capabilities, namely, they are directed to using nodes to label and link information. One of ordinary skill in the art would have recognized that applying the known technique of Coupe would have yielded predictable results and resulted in an improved system. It would have been recognized that applying the technique of Coupe to the teachings of Aryan would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate such traversal data features into similar systems. Further, applying traversal data prior to traversing would have been recognized by those of ordinary skill in the art as resulting in an improved system that would allow for a system with fewer required steps. Regarding claim 35, Aryan teaches one or more non-transitory computer-readable storage media, storing one or more sequences of instructions, which when executed by one or more processors cause performance (Fig. 1, 12, ¶ 36, 97, 125, 126); receiving a category taxonomy associated with an asset portfolio (Fig. 3-7, ¶ 56-58, In at least one embodiment, the system 110 is configured to assign a weight attribute to each edge of the plurality of edges… The value of the weight attribute, in turn, is a weighted summation of a set of similarity factors between the two nodes (i.e., two songs) being connected via the associated edge. ¶ 109, 113-114, disclose a list of suggested songs. ¶ 60-61, 63, 84); the category taxonomy having categories expressed as nodes in a directed graph (Fig. 3, 4, 7, 8, ¶ 96, FIG. 7 shows a simplified representation of a directed graph 700 formed using a plurality of nodes and a plurality of edges, in accordance with an example embodiment of the present disclosure. In at least one embodiment, the system 110 is configured to form the directed graph 700 for arranging the plurality of songs based on a specific order. As shown, the directed graph 700 includes a plurality of nodes such as S4, S5, S6 and S7 representing corresponding songs and a plurality of directed edges such as E8, E9, E10 and E11 connecting the pair of nodes. It is noted that a directed edge between two nodes (songs) represents that the two songs were played and liked during a predefined time interval and the direction of the edge indicates the node that the edge originates from is the song that was played before the second node/second song. For example, edge E8 represents song S4 was played before song S6, edge E9 represents song S4 was played before song S5, edge E10 represents song S6 was played before song S7 and edge E11 represents song S4 was played before song S7. The system 110 is also configured to associate a weight attribute with each of the plurality of edges E8-E11 based on the time lapse between the two songs. In one example embodiment, the weight is a value between 0 and 1. The weight associated with each edge is utilized by the system 110 to determine a successive score for each song to measure successiveness to a song listened to at a preceding time step based on the directed graph. This is explained in detail hereinafter with reference to FIG. 8. ¶ 98-100, At 802, a directed graph is formed using a plurality of nodes and a plurality of directed edges. Each node represents an audio file and a directed edge from the plurality of directed edges originating from a first node to a second node represents a first audio file corresponding to the first node being played before a second audio file corresponding to the second node. In an embodiment, all the nodes that form the directed graph, represent audio files (songs) that are liked by the user. The system (e.g. the system 110) is configured to form a directed graph such as the directed graph 700 of the plurality of nodes (S4-S8) and the plurality of directed edges (E8-E11) as explained with reference to FIG. 7. ¶ 55, 59), the nodes having a plurality of levels, wherein a traversal cost between nodes is determined based on traversing the directed graph (¶ 96, FIG. 7 shows a simplified representation of a directed graph 700 formed using a plurality of nodes and a plurality of edges, in accordance with an example embodiment of the present disclosure. In at least one embodiment, the system 110 is configured to form the directed graph 700 for arranging the plurality of songs based on a specific order. As shown, the directed graph 700 includes a plurality of nodes such as S4, S5, S6 and S7 representing corresponding songs and a plurality of directed edges such as E8, E9, E10 and E11 connecting the pair of nodes. It is noted that a directed edge between two nodes (songs) represents that the two songs were played and liked during a predefined time interval and the direction of the edge indicates the node that the edge originates from is the song that was played before the second node/second song. For example, edge E8 represents song S4 was played before song S6, edge E9 represents song S4 was played before song S5, edge E10 represents song S6 was played before song S7 and edge E11 represents song S4 was played before song S7. The system 110 is also configured to associate a weight attribute with each of the plurality of edges E8-E11 based on the time lapse between the two songs. In one example embodiment, the weight is a value between 0 and 1. The weight associated with each edge is utilized by the system 110 to determine a successive score for each song to measure successiveness to a song listened to at a preceding time step based on the directed graph. This is explained in detail hereinafter with reference to FIG. 8. ¶ 98-102, At 808, at the time step ‘i’, a path score for each node is computed based on the successive score determined at the time step ‘i’ and a preceding path score computed at the preceding time step ‘i-1’. The system 110 is configured to initialize each song's path score ‘r.sub.n’, where ‘n’ corresponds to the song's node, to zero. A path score for the node ‘n’ at the time step ‘i’ is determined based on the following equation: r.sub.n.sub.(i)=(αu.sub.n.sub.(i-1)+((1−α)r.sub.n.sub.(i-1)  (5)), wherein each node represents a category, and wherein each asset in the asset portfolio is associated with a category ( Fig. 3, 4, 7, 8, ¶ 59, FIG. 4 shows a simplified representation 400 of a set of overlapping communities determined for a network of plurality of nodes and edges (such as the network 300 of FIG. 3), in accordance with an example embodiment of the present disclosure. The representation 400 is depicted to include an undirected graph including a plurality of nodes, such as the nodes A1, A2, A3, A4, A5, A6, A7 and A8, where each node represents a corresponding song. The graph also includes a plurality of edges, where each edge connects a pair of nodes. For example, Nodes A1 and A3 are connected by edge B1, nodes A1 and A2 are connected by edge B2, nodes A2 and A4 are connected by edge B3, nodes A3 and A4 are connected by edge B4, nodes A1 and A4 are connected by edge B5, nodes A5 and A6 are connected by edge B6, nodes A6 and A7 are connected by edge B7, nodes A7 and A8 are connected by edge B8, nodes A8 and A4 are connected by edge B9, nodes A4 and A5 are connected by edge B10, nodes A7 and A4 are connected by edge B11, and nodes A5 and A7 are connected by edge B12. As explained with reference to FIG. 2, the weight of each edge can be determined by the system 110 using equation (1) based on considering various similarity factors. ¶ 95-101); determining a set of weights associated with the plurality of levels in of nodes, wherein each weight includes a directionality of traversal between the plurality of levels (¶ 63, At 502, the method 500 includes forming a graph using a plurality of nodes and a plurality of edges. Each node represents an audio file and an edge of the plurality of edges represents a weighted summation of a set of similarity factors between a pair of audio files connected by the edge. The system is configured to determine the weight associated with each edge of the two connecting nodes based on various similarity factors using the equation (1) as explained with reference to FIG. 3. These weights are utilized by the system to determine the set of overlapping communities. ¶ 96-100, The system 110 is also configured to associate a weight attribute with each of the plurality of edges E8-E11 based on the time lapse between the two songs. In one example embodiment, the weight is a value between 0 and 1. The weight associated with each edge is utilized by the system 110 to determine a successive score for each song to measure successiveness to a song listened to at a preceding time step based on the directed graph. This is explained in detail hereinafter with reference to FIG. 8. ¶ 56-59); for each pair of nodes of nodes, calculating the traversal cost between the pair of nodes (¶ 32, For example, a successive score for each audio file is determined to measure successiveness to the song/audio file listened to at the previous/preceding time step. Further, an updated path score is computed for each audio file based on the succession score. Thereafter, a probability distribution of the audio files is computed by the system based on their respective path scores. ¶ 96-102, The weight associated with each edge is utilized by the system 110 to determine a successive score for each song to measure successiveness to a song listened to at a preceding time step based on the directed graph. This is explained in detail hereinafter with reference to FIG. 8.); storing a traversal data value based on the traversal cost associated with each pair of nodes in a database (¶ 5, the system categorizes the songs in a database into different moods/feels. The user will then choose a category that the user thinks matches closely to the user's feeling or desires, and the system plays the songs in that category in some given fashion. Note that there are a limited number of categories for the user to choose from, and the same songs in each category are recommended to any user that chooses a particular category. ¶ 45, The past music listening patterns and the information of specific feedback/user actions may be stored in a database accessible to the system (such as the system 110 of FIG. 1) in form of data samples. ¶ 96-100, 105, 111); responsive to receiving a request for a recommended asset based on a first viewed asset in the asset portfolio at a user device, generating a set of recommended assets from the asset portfolio ranked by a composite score, the composite score computed using a weighted linear combination comprising a taxonomy traversal data value associated with a pair of nodes of the nodes retrieved from the database, wherein the first viewed asset includes a category comprising a node in the pair of nodes, a category transition historical data value, and a randomized data value (Fig. 3-7, ¶ 124, More particularly, a music recommendation system is disclosed that makes its inference from the contextual information of a user as well as information known about the user's past music listening patterns to determine the best songs to be played according to the user's current context. Existing methods for song recommendation require a manual input from the user to recommend/play a song for the user at any given time. For example, a seed song for a radio station may be requested from the user to initiate searching of similar songs that match with the seed song for recommending songs. ¶ 32-33, Ultimately, the plurality of audio files are ranked based on the various probability distributions computed for the plurality of audio files. Thereafter, one or more audio files from the ranking of the plurality of audio files are recommended by the system to the user through the UI of the user device in the application. ¶ 42-43, In some cases, the processing system 110 may be embodied within each of the user devices 108a-c for making the song recommendations locally, and in such cases, there is no need of receiving recommendations over the network 120. Alternatively, songs may be recommended from both sources for example, locally as well as over the network from the external processing system 110. ¶ 29, The data samples include the user's current contextual features and the user's past music listening patterns. The system is configured to compute a ranking of the plurality of audio files based on one or more probability distributions over the plurality of audio files. A brief explanation of the probability distributions is provided herein below, and is described in detail with respect to corresponding Figures. ¶ 45, The past music listening patterns and the information of specific feedback/user actions may be stored in a database accessible to the system (such as the system 110 of FIG. 1) in form of data samples. ¶ 48, At 208, one or more audio files from the ranking of the plurality of audio files are recommended to the user through a User Interface (UI) of the user device in the application. In one embodiment, based on the ranking, the processing system either recommends the song that is ranked first/highest, or it selects another song to add diversity and randomness to the recommendation process. In an alternate embodiment, the system may follow a set of rules for recommending songs from the ranking of the plurality of audio files, where the set of rules may even be customized by the user. ¶ 95-101, 112). Aryan teaches a direct graph but does not specifically teach a hierarchy of nodes. However, Harboe teaches a hierarchy of nodes (¶ 36, The graph structure may be any structure for illustrating a hierarchy, such as a tree structure., ¶ 51, Note that while in a tree structure, different branches never join together, and there are no loops. These restrictions should not limit the scope of this invention. Although the discussion herein concerns "trees" specifically, the invention encompasses the more general case of any directed graph with or without a designated starting node.) It would have been obvious to one of ordinary skill in the art at the time of Applicant’s invention to modify Aryan to include/perform a hierarchy of nodes, as taught/suggested by Harboe. This known technique is applicable to the system of Aryan as they both share characteristics and capabilities, namely, they are directed to generating music playlists. One of ordinary skill in the art would have recognized that applying the known technique of Harboe would have yielded predictable results and resulted in an improved system. It would have been recognized that applying the technique of Harboe to the teachings of Aryan would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate such hierarchy structures into similar systems. Further, applying a hierarchy of nodes would have been recognized by those of ordinary skill in the art as resulting in an improved system that would allow the user an easier visual and a greater ease of adding or modifying data. Aryan teaches a direct graph but does not specifically teach a plurality of categories. However, Harboe teaches a plurality of categories (¶ 46-48, The graph structure may be any structure for illustrating a hierarchy, such as a tree structure., ¶ 51-53, As shown in FIG. 7, the options are assigned different categories according to different types of music, for example.). It would have been obvious to one of ordinary skill in the art at the time of Applicant’s invention to modify Aryan to include/perform a plurality of categories, as taught/suggested by Harboe. This known technique is applicable to the system of Aryan as they both share characteristics and capabilities, namely, they are directed to generating music playlists. One of ordinary skill in the art would have recognized that applying the known technique of Harboe would have yielded predictable results and resulted in an improved system. It would have been recognized that applying the technique of Harboe to the teachings of Aryan would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate such category features into similar systems. Further, applying a plurality of categories would have been recognized by those of ordinary skill in the art as resulting in an improved system that would allow the user a system with additional data and a greater chance of finding a perfect recommendation. Aryan teaches traversing nodes in a directed graph but does not specifically teach a that the traversing is done prior to the request. However, Coupe teaches prior to receiving one or more requests at one or more user devices for one or more recommended assets in the asset portfolio, for each pair of nodes in the hierarchy of nodes, calculating the traversal cost between the pair of nodes (¶ 34, discloses generating a relevance score of a candidate path. ¶ 41-43, disclose generating a relevance score of a candidate path. ¶ 63-65, 69, 71-73); wherein the traversal data value is retrieved, without traversing the directed graph in response to the request, using a database lookup indexed by the pair of nodes (¶ 34, discloses generating a relevance score of a candidate path. ¶ 41-43, disclose generating a relevance score of a candidate path. The data is stored in a data store. ¶ 51, 63-65, 69, 71-73). It would have been obvious to one of ordinary skill in the art at the time of Applicant’s invention to modify Aryan to include/perform a traversal data value prior to a traversal or a request, as taught/suggested by Coupe. This known technique is applicable to the system of Aryan as they both share characteristics and capabilities, namely, they are directed to using nodes to label and link information. One of ordinary skill in the art would have recognized that applying the known technique of Coupe would have yielded predictable results and resulted in an improved system. It would have been recognized that applying the technique of Coupe to the teachings of Aryan would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate such traversal data features into similar systems. Further, applying traversal data prior to traversing would have been recognized by those of ordinary skill in the art as resulting in an improved system that would allow for a system with fewer required steps. Claims 25, 26, 32, 33, 39, is/are rejected under 35 U.S.C. 103 as being unpatentable over Aryan (US 20180081968 A1) in view of Harboe et al. (US 20080091721 A1) in view of Coupe et al. (US 20190287018 A1) in further view of Narvaez-Guarnier et al. (US 6098107 A). Regarding claims 25, 32, Aryan teaches a traversal path between a specified pair of nodes by setting the traversal cost between the specified pair of nodes to a very large number (¶ 32, 55, 101-102). Aryan does not specifically teach severing a traversal path. However, Narvaez-Guarnier teaches severing a traversal path between a specified pair of nodes by setting the traversal cost between the specified pair of nodes to a very large number (col. 5, lines 37-65, Specifically, in initialization step 125b, when an edge e increases its weight represented by a variable .DELTA., e.g., the cost of forwarding a packet via edge increases, or the link (edge) is severed and its distance goes to infinity .infin., then the weight of that edge, W(e), is assigned the value of the old weight W(e) plus the weight change .DELTA.. If that edge e is already in the data structure T , i e., the previous existing shortest path tree structure, then a set of selected descendent nodes from the end node connected to that edge is identified and are herein referred to as germinal nodes, i.e.,…). It would have been obvious to one of ordinary skill in the art at the time of Applicant’s invention to modify Aryan to include/perform severing a traversal path, as taught/suggested by Narvaez-Guarnier. This known technique is applicable to the system of Aryan as they both share characteristics and capabilities, namely, they are directed to generating directed graphs for manipulating data. One of ordinary skill in the art would have recognized that applying the known technique of Narvaez-Guarnier would have yielded predictable results and resulted in an improved system. It would have been recognized that applying the technique of Narvaez-Guarnier to the teachings of Aryan would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate such severing a traversal path features into similar systems. Further, applying severing a traversal path would have been recognized by those of ordinary skill in the art as resulting in an improved system that would allow the user the ability to stop determining the value or cost of a certain feature when the cost is too high (not worth it to the user). Regarding claims 26, 33, the combination of Aryan and Narvaez-Guarnier teaches a traversal path between a specified pair of nodes by setting the traversal cost between the specified pair of nodes to a very large number. Aryan does not specifically teach wherein the very large number is infinity. However, Narvaez-Guarnier teaches wherein the very large number is infinity (col. 5, lines 37-65, Specifically, in initialization step 125b, when an edge e increases its weight represented by a variable .DELTA., e.g., the cost of forwarding a packet via edge increases, or the link (edge) is severed and its distance goes to infinity .infin., then the weight of that edge, W(e), is assigned the value of the old weight W(e) plus the weight change .DELTA.. If that edge e is already in the data structure T , i e., the previous existing shortest path tree structure, then a set of selected descendent nodes from the end node connected to that edge is identified and are herein referred to as germinal nodes, i.e.,… col. 4, lines 44-50, col. 7, lines 19-32). It would have been obvious to one of ordinary skill in the art at the time of Applicant’s invention to modify Aryan to include/perform wherein the very large number is infinity, as taught/suggested by Narvaez-Guarnier. This known technique is applicable to the system of Aryan as they both share characteristics and capabilities, namely, they are directed to generating directed graphs for manipulating data. One of ordinary skill in the art would have recognized that applying the known technique of Narvaez-Guarnier would have yielded predictable results and resulted in an improved system. It would have been recognized that applying the technique of Narvaez-Guarnier to the teachings of Aryan would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate such wherein the very large number is infinity features into similar systems. Further, applying wherein the very large number is infinity would have been recognized by those of ordinary skill in the art as resulting in an improved system that would allow the user the ability to stop determining the value or cost of a certain feature when the cost is too high (not worth it to the user). Regarding claim 39, Aryan teaches a traversal path between a specified pair of nodes by setting the traversal cost between the specified pair of nodes to a very large number (¶ 32, 101, 102). Aryan does not specifically teach severing a traversal path between a specified pair of nodes by setting the traversal cost between the specified pair of nodes to an infinite value. However, Narvaez-Guarnier teaches severing a traversal path between a specified pair of nodes by setting the traversal cost between the specified pair of nodes to an infinite value (col. 5, lines 37-65, Specifically, in initialization step 125b, when an edge e increases its weight represented by a variable .DELTA., e.g., the cost of forwarding a packet via edge increases, or the link (edge) is severed and its distance goes to infinity .infin., then the weight of that edge, W(e), is assigned the value of the old weight W(e) plus the weight change .DELTA.. If that edge e is already in the data structure T , i e., the previous existing shortest path tree structure, then a set of selected descendent nodes from the end node connected to that edge is identified and are herein referred to as germinal nodes, i.e.,…). It would have been obvious to one of ordinary skill in the art at the time of Applicant’s invention to modify Aryan to include/perform severing a traversal path, as taught/suggested by Narvaez-Guarnier. This known technique is applicable to the system of Aryan as they both share characteristics and capabilities, namely, they are directed to generating directed graphs for manipulating data. One of ordinary skill in the art would have recognized that applying the known technique of Narvaez-Guarnier would have yielded predictable results and resulted in an improved system. It would have been recognized that applying the technique of Narvaez-Guarnier to the teachings of Aryan would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate such severing a traversal path features into similar systems. Further, applying severing a traversal path would have been recognized by those of ordinary skill in the art as resulting in an improved system that would allow the user the ability to stop determining the value or cost of a certain feature when the cost is too high (not worth it to the user, … col. 4, lines 44-50, col. 7, lines 19-32). Other pertinent prior art includes Nair et al. (US 20110161409 A1), which discloses directed graph hierarchies. Mukhopadhyay et al. (US 11106728 B2) which discloses playlist ordering. Eksombatchai et al. (US 20230385338 A1) discloses facilitating the generation of recommendations by traversing a graph. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to JAMIE H AUSTIN whose telephone number is (571)272-7363. The examiner can normally be reached Monday, Tuesday, Thursday, Friday 7am-2pm. 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, Brian Epstein can be reached at (571) 270 5389. 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. JAMIE H. AUSTIN Examiner Art Unit 3625 /JAMIE H AUSTIN/Primary Examiner, Art Unit 3625
Read full office action

Prosecution Timeline

Mar 04, 2020
Application Filed
Sep 12, 2021
Non-Final Rejection — §101, §103
Mar 16, 2022
Response Filed
May 04, 2022
Final Rejection — §101, §103
May 24, 2022
Examiner Interview Summary
May 24, 2022
Applicant Interview (Telephonic)
May 31, 2022
Request for Continued Examination
Jun 02, 2022
Response after Non-Final Action
Dec 11, 2022
Non-Final Rejection — §101, §103
Jan 19, 2023
Examiner Interview Summary
Jan 19, 2023
Applicant Interview (Telephonic)
Jan 23, 2023
Response Filed
Feb 24, 2023
Final Rejection — §101, §103
May 11, 2023
Request for Continued Examination
May 17, 2023
Response after Non-Final Action
Jun 15, 2023
Non-Final Rejection — §101, §103
Sep 20, 2023
Response Filed
Nov 02, 2023
Final Rejection — §101, §103
Jan 25, 2024
Request for Continued Examination
Jan 30, 2024
Response after Non-Final Action
Mar 18, 2024
Non-Final Rejection — §101, §103
Jun 18, 2024
Response Filed
Jul 18, 2024
Final Rejection — §101, §103
Oct 22, 2024
Request for Continued Examination
Oct 23, 2024
Response after Non-Final Action
Dec 05, 2024
Non-Final Rejection — §101, §103
Mar 06, 2025
Response Filed
May 11, 2025
Final Rejection — §101, §103
Jul 29, 2025
Request for Continued Examination
Aug 01, 2025
Response after Non-Final Action
Sep 05, 2025
Non-Final Rejection — §101, §103
Dec 04, 2025
Response Filed
Dec 26, 2025
Final Rejection — §101, §103
Feb 27, 2026
Request for Continued Examination
Mar 17, 2026
Response after Non-Final Action
Mar 21, 2026
Non-Final Rejection — §101, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12567079
MACHINE-LEARNING (ML)-BASED SYSTEM AND METHOD FOR GENERATING DSO IMPACT SCORE FOR FINANCIAL TRANSACTION
2y 5m to grant Granted Mar 03, 2026
Patent 12511601
SYSTEMS AND METHODS FOR PROVIDING A MARKETPLACE FOR ACCESSORIES OF A BUSINESS AUTOMATION SYSTEM
2y 5m to grant Granted Dec 30, 2025
Patent 12475474
SYSTEMS AND METHODS FOR DETERMINING AND ANALYZING CHARACTERISTICS OF DEVICES USED IN PAYMENT TRANSACTIONS
2y 5m to grant Granted Nov 18, 2025
Patent 12462266
METHODS AND SYSTEMS FOR EVALUATING CONTENT
2y 5m to grant Granted Nov 04, 2025
Patent 12444009
SYSTEMS AND METHODS FOR GENERATING AND TRAINING A MODULE SELECTION ENGINE FOR DISTRIBUTION ALLOCATION IN A NETWORK ENVIRONMENT
2y 5m to grant Granted Oct 14, 2025
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

13-14
Expected OA Rounds
25%
Grant Probability
58%
With Interview (+33.5%)
4y 10m
Median Time to Grant
High
PTA Risk
Based on 417 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month