DETAILED ACTION
This action is in response to an amendment to application 18/428673, filed on 1/2/2026. Claims 1-25 and 27-30 are pending; claim 26 is cancelled. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1-25 and 27-30 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by USPGPUB 2018/0183855, hereinafter “Sabella.”
Regarding claim 1, Sabella anticipates “An apparatus for graphics processing at a user equipment (UE), (see, e.g., Sabella, para. 4; “application computation offloading using Mobile Edge Computing (MEC) technology.”; para. 40; “the UE 101 renders reconstituted browser graphics on its display.”) comprising: a memory; and a processor coupled to the memory and, based on information stored in the memory, (see, e.g., Sabella, para. 137, 217) the processor is configured to:
obtain an executable associated with tasks for an application; (see, e.g., Sabella, fig. 1 & associated text; para. 38; “In system 100A, mobile edge hosts (MEHs) 200 (including MEH 200-1, MEH 200-2, and MEH 200-3) may execute compute-intensive functionalities of applications (e.g., including App1, App2, and App3), namely application part(s) y (e.g., application part y1 of App1, application part y2 of App2, and application part y3 of App3) improving user experience. The MEHs 200 may execute the tasks of application parts y since MEHs 200 may have high performance capabilities as compared to user equipment (UE) 101 (e.g., including UE 101-1, UE 101-2, and UE 101-3). Additionally, less computationally intensive functionalities, namely application part(s) x (e.g., application part x1 of App1, application part x2 of App2, and application part x3 of App3) of the applications, may be executed by the UE 101.”)
obtain an estimated quality of a link between the UE and a computing device that is different from the UE; (see, e.g., Sabella, para. 145; “Table 1 shows an example of radio link characteristics, including average data rate and latency from the UE 101 to (e.g., AN 111 and AP 106 in FIG. 8), for each RAT (e.g., AN 111 co-located with MEH 200-1 and AP 106 co-located with 200-3). Table 1 also shows the type of RAT associated with each MEH 200.”)
obtain, based on the estimated quality of the link, a split-compute configuration from a set of split-compute configurations, wherein each split-compute configuration in the set of split-compute configurations is associated with a different partitioning of tasks between the UE and the computing device; (see, e.g., Sabella, para. 143, 149; Based on the inputs of tables 1, 2, and 3, the offloader 732 may evaluate tradeoffs and determine an optimal offloading candidate (e.g., a target MEH 200). In embodiments, the characteristic detector 731 and the offloader 732 of the UE 101 may collect measurements of MEH 200 candidates and related APs/ANs for each application task to be offloaded in order to build the above input tables 1, 2, and 3. The offloader 732 of the UE 101 may then generate an output table (e.g., table 4 infra) using the inputs of the tables 1, 2, and 3.”; para. 150; The policies/configurations may emphasize or prioritize different outputs and/or for different applications. For example, a policy/configuration may indicate to select offloading hosts based on latency budget minimization (e.g., selecting based on latency performance over energy consumption); based on energy consumption minimization (e.g., selecting based on energy consumption over latency performance); based on a latency budget threshold; based on an energy consumption threshold; minimizing energy consumption and being within a latency threshold; minimizing latency and being within an energy consumption threshold; and/or the like.”) and
output an indication of the split-compute configuration.” (see, e.g., Sabella, fig. 8 & associated text; para. 151; “the offloader 732 of the UE 101 has selected the MEH 200-1, and at operation 822, the offloader 732 of the UE 101 may control transfer of application tasks to the MEH 200-1 for execution.”).
Regarding claim 2, Sabella anticipates “The apparatus of claim 1, wherein to obtain the estimated quality of the link, the processor is configured to estimate a quality of the link between the UE and the computing device, and wherein to obtain the split-compute configuration, the processor is configured to select, based on the estimated quality of the link, the split-compute configuration.” (see, e.g., Sabella, para. 145; “Table 1 shows an example of radio link characteristics, including average data rate and latency from the UE 101 to (e.g., AN 111 and AP 106 in FIG. 8), for each RAT (e.g., AN 111 co-located with MEH 200-1 and AP 106 co-located with 200-3). Table 1 also shows the type of RAT associated with each MEH 200.”; para. 149; “Based on the inputs of tables 1, 2, and 3, the offloader 732 may evaluate tradeoffs and determine an optimal offloading candidate (e.g., a target MEH 200). In embodiments, the characteristic detector 731 and the offloader 732 of the UE 101 may collect measurements of MEH 200 candidates and related APs/ANs for each application task to be offloaded in order to build the above input tables 1, 2, and 3.).
Regarding claim 3, Sabella anticipates “The apparatus of claim 1, wherein to obtain the estimated quality of the link, the processor is configured to receive, from the computing device, an additional indication of the estimated quality of the link, and wherein to obtain the split-compute configuration, the processor is configured to select, based on the additional indication of the estimated quality of the link, the split-compute configuration.” (see, e.g., Sabella, para. 79, 136-137, 149).
Regarding claim 4, Sabella anticipates “The apparatus of claim 1, wherein to obtain the estimated quality of the link, the processor is configured to estimate a quality of the link between the UE and the computing device, and wherein to obtain the split-compute configuration, the processor is configured to: transmit, for the computing device, an additional indication of the estimated quality of the link; and receive, from the computing device and based on the additional indication of the estimated quality of the link, the split-compute configuration.” (see, e.g., Sabella, para. 79, 136-137, 152-157).
Regarding claim 5, Sabella anticipates “The apparatus of claim 1, wherein the processor is further configured to: execute the executable based on the split-compute configuration.” (see, e.g., Sabella, para. 151).
Regarding claim 6, Sabella anticipates “The apparatus of claim 1, wherein the processor is further configured to: receive, from the computing device, an additional indication of an updated quality of the link between the UE and the computing device; and select, based on the additional indication of the updated quality of the link between the UE and the computing device, a second split-compute configuration between the first set of application functions and the second set of application functions.” (see, e.g., Sabella, para. 47, 78-79, 89, 147).
Regarding claim 7, Sabella anticipates “The apparatus of claim 1, wherein the processor is further configured to: determine a corresponding, wherein at least two split-compute configurations in the set of split-compute configurations are associated with different sets of at least one task for the computing device, and wherein to obtain the split-compute configuration, the processor is configured to obtain the split-compute configuration further based on the corresponding quality of the link for each of the set of split-compute configurations.” (see, e.g., Sabella, para. 145-149; paras. 159-202 disclose numerous examples of determining optimal split-compute configurations based on sets of tasks and link qualities).
Regarding claim 8, Sabella anticipates “The apparatus of claim 1, wherein the estimated quality of the link between the UE and the computing device is based on: power consumed by the UE during execution of the application, a set of power consumption characteristics of at least one of a transceiver or an antenna of the UE, a time period to understand a channel associated with the link, a current channel capacity associated with the link, or a future channel capacity associated with the link.” (see, e.g., Sabella, para. 145-147).
Regarding claim 9, Sabella anticipates “The apparatus of claim 1, wherein the link comprises at least one of a radio access network (RAN) link or a wireless local area network (WLAN) link.” (see, e.g., Sabella, para. 145-147).
Regarding claim 10, Sabella anticipates “The apparatus of claim 1, wherein the processor is further configured to: identify a set of performance metrics associated with the application, wherein to obtain the split-compute configuration, the processor is configured to obtain the split-compute configuration further based on the set of performance metrics.” (see, e.g., Sabella, para. 43, 147-149).
Regarding claim 11, Sabella anticipates “The apparatus of claim 10, wherein the split-compute configuration maintains the set of performance metrics while minimizing a power consumption of the UE.” (see, e.g., Sabella, para. 150).
Regarding claim 12, Sabella anticipates “The apparatus of claim 11, wherein the set of performance metrics comprises at least one of a frame rate of the application, a display resolution of the application, or an operational state of the application.” (see, e.g., Sabella, para. 40, 43, 147).
Regarding claim 13, Sabella anticipates “The apparatus of claim 1, wherein the processor is further configured to: estimate, at a first time instance, a future quality of the link at a second time instance after the first time instance, wherein to obtain the split-compute configuration, the processor is configured to obtain the split-compute configuration further based on the future quality of the link at the second time instance.” (see, e.g., Sabella, para. 160-162).
Regarding claim 14, Sabella anticipates “The apparatus of claim 13, wherein the processor is further configured to: estimate, at the first time instance, a confidence level of the future quality of the link at the second time instance after the first time instance, wherein to obtain the split-compute configuration, the processor is configured to obtain the split-compute configuration further based on the confidence level of the future quality of the link at the second time instance.” (see, e.g., Sabella, para. 160-162).
Regarding claim 15, Sabella anticipates “The apparatus of claim 1, wherein to output the indication of the split-compute configuration, the processor is configured to: transmit the indication of the split-compute configuration to the computing device or store the indication of the split-compute configuration in at least one of the memory or a cache.” (see, e.g., Sabella, para. 97, 134, 149).
Regarding claim 16, Sabella anticipates “The apparatus of claim 15, wherein the processor is configured to transmit the indication of the split-compute configuration to the computing device, and wherein the processor is further configured to: determine, based on the split-compute configuration, that server-rendered media is to be utilized by the application; transmit, to the computing device, a request for the server-rendered media; and receive, from the computing device and based on the request, the server-rendered media.” (see, e.g., Sabella, para. 40, 97, 134, 149).
Regarding claim 17, Sabella anticipates “The apparatus of claim 15, wherein the processor is configured to transmit the indication of the split-compute configuration to the computing device, and wherein the processor is further configured to: compute UE-rendered media associated with the application; receive, from the computing device, server-rendered media; and select one of the UE-rendered media or the server-rendered media based on a swapchain.” (see, e.g., Sabella, para. 40, 43, 140, 147).
Regarding claim 18, Sabella anticipates “The apparatus of claim 1, wherein the UE includes a first type of graphics processor and the computing device includes a second type of graphics processor, wherein at least one performance attribute of the second type of graphics processor is greater than the first type of graphics processor.” (see, e.g., Sabella, para. 40, 43, 140, 147).
Regarding claim 19, Sabella anticipates “The apparatus of claim 1, wherein the application is associated with a the first set of application functions that includes at least one of a first game engine, first media codecs, first metadata, or first game state transfer information between the UE and the computing device, and wherein a second set of application functions includes at least one of a second game engine, second media codes, second metadata, and second game state transfer information between the computing device and the UE.” (see, e.g., Sabella, para. 40-43, 140, 147).
Regarding claim 20, Sabella anticipates “The apparatus of claim 1, wherein the processor is further configured to: determine an updated quality of the link between the UE and the computing device; and transmit, for the computing device and based on the updated quality of the link, a first indication that indicates that the computing device is to select a second split-compute configuration or that the computing device is to rate-adapt first information associated with the application.” (see, e.g., Sabella, para. 47, 78-79, 89, 147).
Regarding claim 21, Sabella anticipates “The apparatus of claim 1, wherein the processor is further configured to: establish a session with an application server for the application; obtain, from the application server and during the session, at least one of state information for the application or media information for the application; and synchronize with the computing device based on at least one of the state information for the application or the media information for the application.” (see, e.g., Sabella, para. 39-41, 137, 147).
Regarding claim 22, Sabella anticipates “The apparatus of claim 1, wherein the processor is further configured to: receive, from the computing device, a first indication that indicates that the UE is to select a second split-compute configuration or that the UE is to rate-adapt first information associated with the application.” (see, e.g., Sabella, para. 40, 97, 134, 149).
Regarding claim 23, Sabella anticipates “The apparatus of claim 1, wherein the apparatus is a wireless communications device comprising at least one of a transceiver or an antenna coupled to the processor, and wherein to output the indication of the split-compute configuration, the processor is configured to output the indication of the split-compute configuration via at least one of the transceiver or the antenna.” (see, e.g., Sabella, para. 120, 149).
Regarding claim 24, Sabella anticipates “The apparatus of claim 1, wherein the processor is further configured to: display a frame generated based on the split-compute configuration.” (see, e.g., Sabella, para. 40, 97, 134, 149).
Regarding claim 25, Sabella anticipates “The apparatus of claim 1, wherein the computing device comprises at least one server.” (see, e.g., Sabella, para. 45-49).
Regarding claim 27, Sabella anticipates “An apparatus for graphics processing at a server, (see, e.g., Sabella, para. 4; “application computation offloading using Mobile Edge Computing (MEC) technology.”; para. 40; “the UE 101 renders reconstituted browser graphics on its display.”) comprising: a memory; and a processor coupled to the memory and, based on information stored in the memory, (see, e.g., Sabella, para. 137, 217) the processor is configured to:
obtain an executable associated with tasks for an application; (see, e.g., Sabella, fig. 1 & associated text; para. 38; “In system 100A, mobile edge hosts (MEHs) 200 (including MEH 200-1, MEH 200-2, and MEH 200-3) may execute compute-intensive functionalities of applications (e.g., including App1, App2, and App3), namely application part(s) y (e.g., application part y1 of App1, application part y2 of App2, and application part y3 of App3) improving user experience. The MEHs 200 may execute the tasks of application parts y since MEHs 200 may have high performance capabilities as compared to user equipment (UE) 101 (e.g., including UE 101-1, UE 101-2, and UE 101-3). Additionally, less computationally intensive functionalities, namely application part(s) x (e.g., application part x1 of App1, application part x2 of App2, and application part x3 of App3) of the applications, may be executed by the UE 101.”)
obtain an estimated quality of a link between a user equipment (UE) and the server; (see, e.g., Sabella, para. 45-49, 145; “Table 1 shows an example of radio link characteristics, including average data rate and latency from the UE 101 to (e.g., AN 111 and AP 106 in FIG. 8), for each RAT (e.g., AN 111 co-located with MEH 200-1 and AP 106 co-located with 200-3). Table 1 also shows the type of RAT associated with each MEH 200.”)
obtain, based on the estimated quality of the link, a split-compute configuration from a set of split-compute configurations, wherein each split-compute configuration in the set of split-compute configurations is associated with a different partitioning of the tasks between the UE and the server; (see, e.g., Sabella, para. 143, 149; “Based on the inputs of tables 1, 2, and 3, the offloader 732 may evaluate tradeoffs and determine an optimal offloading candidate (e.g., a target MEH 200). In embodiments, the characteristic detector 731 and the offloader 732 of the UE 101 may collect measurements of MEH 200 candidates and related APs/ANs for each application task to be offloaded in order to build the above input tables 1, 2, and 3. The offloader 732 of the UE 101 may then generate an output table (e.g., table 4 infra) using the inputs of the tables 1, 2, and 3.”; para. 150; The policies/configurations may emphasize or prioritize different outputs and/or for different applications. For example, a policy/configuration may indicate to select offloading hosts based on latency budget minimization (e.g., selecting based on latency performance over energy consumption); based on energy consumption minimization (e.g., selecting based on energy consumption over latency performance); based on a latency budget threshold; based on an energy consumption threshold; minimizing energy consumption and being within a latency threshold; minimizing latency and being within an energy consumption threshold; and/or the like.”) and
output an indication of the split-compute configuration.” (see, e.g., Sabella, fig. 8 & associated text; para. 151; “the offloader 732 of the UE 101 has selected the MEH 200-1, and at operation 822, the offloader 732 of the UE 101 may control transfer of application tasks to the MEH 200-1 for execution.”).
Regarding claim 28, Sabella anticipates “The apparatus of claim 27, wherein the apparatus is a wireless communications device comprising at least one of a transceiver or an antenna coupled to the processor, and wherein to output the indication of the split-compute configuration, the processor is configured to output the indication of the split-compute configuration via at least one of the transceiver or the antenna.” (see, e.g., Sabella, para. 120, 149).
Regarding claim 29, Sabella anticipates “The apparatus of claim 27, wherein to obtain the estimated quality of the link, the processor is configured to estimate a quality of the link between the UE and the server, and wherein to obtain the split-compute configuration, the processor is configured to select, based on the estimated quality of the link, the split-compute configuration.” (see, e.g., Sabella, para. 145; “Table 1 shows an example of radio link characteristics, including average data rate and latency from the UE 101 to (e.g., AN 111 and AP 106 in FIG. 8), for each RAT (e.g., AN 111 co-located with MEH 200-1 and AP 106 co-located with 200-3). Table 1 also shows the type of RAT associated with each MEH 200.”; para. 149; “Based on the inputs of tables 1, 2, and 3, the offloader 732 may evaluate tradeoffs and determine an optimal offloading candidate (e.g., a target MEH 200). In embodiments, the characteristic detector 731 and the offloader 732 of the UE 101 may collect measurements of MEH 200 candidates and related APs/ANs for each application task to be offloaded in order to build the above input tables 1, 2, and 3.).
Regarding claim 30, Sabella anticipates “A method of graphics processing at a user equipment (UE), (see, e.g., Sabella, para. 4; “application computation offloading using Mobile Edge Computing (MEC) technology.”; para. 40; “the UE 101 renders reconstituted browser graphics on its display.”) comprising:
obtaining an executable associated with tasks for an application; (see, e.g., Sabella, fig. 1 & associated text; para. 38; “In system 100A, mobile edge hosts (MEHs) 200 (including MEH 200-1, MEH 200-2, and MEH 200-3) may execute compute-intensive functionalities of applications (e.g., including App1, App2, and App3), namely application part(s) y (e.g., application part y1 of App1, application part y2 of App2, and application part y3 of App3) improving user experience. The MEHs 200 may execute the tasks of application parts y since MEHs 200 may have high performance capabilities as compared to user equipment (UE) 101 (e.g., including UE 101-1, UE 101-2, and UE 101-3). Additionally, less computationally intensive functionalities, namely application part(s) x (e.g., application part x1 of App1, application part x2 of App2, and application part x3 of App3) of the applications, may be executed by the UE 101.”)
obtaining an estimated quality of a link between the UE and a computing device that is different from the UE; (see, e.g., Sabella, para. 145; “Table 1 shows an example of radio link characteristics, including average data rate and latency from the UE 101 to (e.g., AN 111 and AP 106 in FIG. 8), for each RAT (e.g., AN 111 co-located with MEH 200-1 and AP 106 co-located with 200-3). Table 1 also shows the type of RAT associated with each MEH 200.”)
obtaining, based on the estimated quality of the link, a split-compute configuration from a set of split-compute configurations, wherein each split-compute configuration in the set of split-compute configurations is associated with a different partitioning of the tasks between the UE and the computing device; (see, e.g., Sabella, para. 143, 149; “Based on the inputs of tables 1, 2, and 3, the offloader 732 may evaluate tradeoffs and determine an optimal offloading candidate (e.g., a target MEH 200). In embodiments, the characteristic detector 731 and the offloader 732 of the UE 101 may collect measurements of MEH 200 candidates and related APs/ANs for each application task to be offloaded in order to build the above input tables 1, 2, and 3. The offloader 732 of the UE 101 may then generate an output table (e.g., table 4 infra) using the inputs of the tables 1, 2, and 3.”; para. 150; The policies/configurations may emphasize or prioritize different outputs and/or for different applications. For example, a policy/configuration may indicate to select offloading hosts based on latency budget minimization (e.g., selecting based on latency performance over energy consumption); based on energy consumption minimization (e.g., selecting based on energy consumption over latency performance); based on a latency budget threshold; based on an energy consumption threshold; minimizing energy consumption and being within a latency threshold; minimizing latency and being within an energy consumption threshold; and/or the like.”) and
outputting an indication of the split-compute configuration.” (see, e.g., Sabella, fig. 8 & associated text; para. 151; “the offloader 732 of the UE 101 has selected the MEH 200-1, and at operation 822, the offloader 732 of the UE 101 may control transfer of application tasks to the MEH 200-1 for execution.”).
Response to Arguments
Applicant cancelled claim 26 and the rejection of claim 26 under 35 U.S.C. 103 therefore is withdrawn as moot. Regarding the rejections of claims 1-25 and 27-30 under 35 U.S.C. 102, Applicant’s arguments in traversal of those rejections have been carefully reviewed but are not found to be persuasive.
At pages 10-11 of the Remarks filed 1/2/2026, Applicant argues:
PNG
media_image1.png
715
749
media_image1.png
Greyscale
PNG
media_image2.png
158
716
media_image2.png
Greyscale
PNG
media_image3.png
637
732
media_image3.png
Greyscale
PNG
media_image4.png
90
705
media_image4.png
Greyscale
PNG
media_image5.png
185
724
media_image5.png
Greyscale
Examiner respectfully disagrees. Firstly, the “the UE 101 may derive different metrics and tradeoffs based on the specific use cases (e.g., tasks) that the UE 101 wishes to offload.” (Para. 143). “The different metrics/tradeoffs may be application parameters related to computational needs, input/output characteristics, and/or volume of exchanged data with the edge server(s).” (Id.) In other words, an optimal split-configuration is computed for all tasks. Also, for all tasks, the cited “tables 1, 2, and 3” are used “to evaluate tradeoffs and determine an optimal offloading candidate.” (Para. 149). Moreover, “[a]t least some of the values in table 3 may be partially based on the inputs of tables 1 and 2.” (Para. 148). Still further, Table 4 is “based on tables 1, 2, and 3” and “[i]n the example of table 4, MEH 200-1 may provide better energy efficiency than MEH 200-3, and MEH 200-1 may have a slightly worse latency performance than MEH 200-3. Different policies or configurations may be used by the offloader 732 to select an optimal offloading target MEH 200 based on the output.” (Para. 150).
At pg. 12 of the Remarks filed 1/2/2026, Applicant argues:
PNG
media_image6.png
90
731
media_image6.png
Greyscale
PNG
media_image7.png
393
711
media_image7.png
Greyscale
Examiner respectfully disagrees. As stated on the previous page, an optimal split-configuration is computed for all tasks. Also, for all tasks, numerous potential offloading arrangements, i.e., many sets of split-compute configurations are computed and those sets contain differing subsets of offloaded tasks and different optimal target choices for offloading. Accordingly, Applicant’s arguments in traversal of the standing rejections under 35 U.S.C. 102 are not persuasive, and the traversed rejections are maintained.
Conclusion
Applicant's amendment necessitated any new grounds 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 RYAN D COYER whose telephone number is (571) 270-5306. The examiner can normally be reached Monday-Friday 12pm-10pm Eastern Time. 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, Wei Mui, can be reached on 571-272-3708. 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.
/Ryan D. Coyer/Primary Examiner, Art Unit 2191