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 .
Information Disclosure Statement
The IDS filed 1/9/2026 has been considered by examiner.
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.
Claim 15-20 rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. The claim(s) does/do not fall within at least one of the four categories of patent eligible subject matter because claim 15 is directed towards “A computer program product comprising instructions that are stored on a computer-readable medium[…]”, however, the medium is not specified to be non-transitory. Accordingly, the broadest reasonable interpretation of the claim does not exclude embodiments that are composed of signals per se, which does not fall into one of the four statutory categories, and accordingly the claim is rejected under 35 U.S.C. 101. Dependent claims 16-20 are further rejected by virtue of their dependency, and by failing to add limitations which limit the broadest reasonable interpretation of the claims to one of the four statutory categories.
Claim Interpretation
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph:
An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitation(s) is/are: “a data consumption cluster is configured to…” and “a data production cluster configured to…” in claim 9; [Examiner’s note: This limitation is being interpreted as corresponding to the hardware processor, as shown in Fig. 6 and described in paragraph 0106 and 0114, executing the algorithm shown in Fig 4 and described in paragraphs 0059 to 0087]
“the data consumption cluster is further configured to […]” in claim 10; [Examiner’s note: This limitation is being interpreted as corresponding to the hardware processor, as shown in Fig. 6 and described in paragraph 0106 and 0114, executing the algorithm shown in Fig 4 and described in paragraphs 0059 to 0087]
“a coordinator node configured to formulate […]” in claim 11; [Examiner’s note: This limitation is being interpreted as corresponding to the hardware processor, as shown in Fig. 6 and described in paragraph 0106 and 0114, executing the algorithm shown in Fig 4 and described in paragraphs 0059 to 0087]
“the data consumption cluster is further configured to […]” and “the data production cluster is further configured to […] in claim 12; [Examiner’s note: This limitation is being interpreted as corresponding to the hardware processor, as shown in Fig. 6 and described in paragraph 0106 and 0114, executing the algorithm shown in Fig 4 and described in paragraphs 0059 to 0087]
“the data consumption cluster is further configured to […]” and “the data production cluster is further configured to […] in claim 13; [Examiner’s note: This limitation is being interpreted as corresponding to the hardware processor, as shown in Fig. 6 and described in paragraph 0106 and 0114, executing the algorithm shown in Fig 4 and described in paragraphs 0059 to 0087]
“the data production cluster is further configured to […] in claim 14; [Examiner’s note: This limitation is being interpreted as corresponding to the hardware processor, as shown in Fig. 6 and described in paragraph 0106 and 0114, executing the algorithm shown in Fig 4 and described in paragraphs 0059 to 0087]
Because this/these claim limitation(s) is/are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, it/they is/are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof.
If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph.
Claim Rejections - 35 USC § 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.
Claim(s) 1-7, 9- is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Becker in US Patent Application Publication № 2007/0156650, hereinafter called Becker.
In regard to claim 1, Becker teaches a method comprising:
generating, by a data production cluster, metadata of shared data that comprise target shared data (i.e. metadata in a data dictionary, “That is, when a data structure is added to provider database 212, an entry for that data structure is added to data dictionary 216 along with attributes describing that data structure” paragraph 0068);
storing, by the data production cluster, the shared data into a shared storage (i.e. shared data structures, paragraph 0053) shared by the data production cluster and a data consumption cluster comprising data nodes that use the shared data (using the data is taught in at least paragraph 0061);
receiving, by the data production cluster, a metadata operation instruction (i.e. deployment of a new tenant, paragraph 0088);
determining, by the data production cluster and based on the metadata operation instruction, target metadata of the target shared data (“provider 110 may use process 900 to determine which data structures associated with a new tenant are to be shared data structures 214 or tenant data structures 215” paragraph 0088; alternatively or additionally, “The shared data structures 214, although not stored at tenant server 114A, may be accessed by tenant server 114A by referencing the shared-data structure 214.” Paragraph 0079);
sending, by the data production cluster and to the data consumption cluster, the target metadata (i.e. by generating data structure indicating shared and tenant-specific data, paragraph 0072, which is encoded into reference data, paragraph 0075, and then stored at the tenant server and database, paragraph 0076);
and reading, by the data consumption cluster, the target shared data from the shared storage based on the target metadata (i.e. reading shared data using the ‘shared-data structure’, paragraph 0079; note that this is the structure which contains references to the shared data described in paragraphs 0075 and 0076, and not the data structure itself).
In regard to claim 15, it is substantially similar to claim 1 and accordingly is rejected under similar reasoning.
In regard to claim 2, Becker further teaches receiving, by the data consumption cluster, a data processing instruction for the target shared data (“Further, in one exemplary embodiment, as also described below, a tenant application or tenant server 820 may use table links 225 to query, retrieve, view, process, or join data from shared data structures 214.” Paragraph 0099; alternatively or additionally, “Based on lookup table 1150, tenant database 222 may transmit another query to provider database 212 (S. 1320). The query to provider database 212 may use table link 225 to retrieve data from the shared data structure requested by tenant server 114.” Paragraph 0113; note that table links are not required, as described in paragraph 0061).
In regard to claim 3, Becker further teaches processing, by the data consumption cluster, the target shared data based on the data processing instruction (i.e. server request, “In accordance with the determination, tenant server 114 request may retrieve the data structure from the appropriate location as identified in the shared-metadata 217, and provides the requested data to tenant station 130.” Paragraph 0061).
In regard to claim 4, Becker further teaches formulating, by a coordinator node, a global execution plan (i.e. plan for the execution of the tenant database, see paragraph 0078) for the data production cluster and the data consumption cluster based on a query request from a user (i.e. user request, “Subsequently, when the hosted application software is executed, tenant server 114Amay receive a data query from user 134A at tenant terminal 132A associated with tenant station 130A (S. 722).” Paragraph 0078; alternatively or additionally, deploying a new tenant, as in paragraph 0088, for the purpose of calculating tax, as described in paragraph 0087, or for purpose of deploying tenant), wherein the global execution plan comprises the metadata operation instruction (i.e.process as in paragraph 0087, note that although this process only need be done once, it is taught to be done at least once, which meets the broadest reasonable interpretation of this limitation) and the data processing instruction (i.e. server request as in paragraph 0061, wherein the request of data is taught to expressly involve the set-up in at least paragraph 0087)
In regard to claim 17, it is substantially similar to claim 4 and accordingly is rejected under similar reasoning.
In regard to claim 5, Becker further teaches scanning, by the data production cluster, a first index of the shared data (“Data dictionary 216 may index shared data structures 214 with other data describing provider data structures 213. In addition, data dictionary 216 may include data defining an association between provider data structures 213 and a tenant-specific identifier, thereby identifying each such data structure as a tenant data structure” paragraph 0055) based on the metadata operation instruction to obtain a second index of the target shared data (i.e. shared-metadata, paragraph 0064, which is generated from the work of the data dictionary in at least paragraph 0072).
In regard to claim 6, Becker further teaches further determining, by the data production cluster and based on the second index, the target metadata (i.e. the location of desired data, “In accordance with the determination, tenant server 114 request may retrieve the data structure from the appropriate location as identified in the shared-metadata 217, and provides the requested data to tenant station 130.” Paragraph 0061”).
In regard to claim 7, Becker further teaches sending, by the data production cluster and to the data consumption cluster, the second index (i.e. shared-metadata, paragraph 0064, which is generated and transmitted from the work of the data dictionary in at least paragraph 0072); and further reading, by the data consumption cluster, the target shared data from the shared storage based on the target metadata and the second index (“In accordance with the determination, tenant server 114 request may retrieve the data structure from the appropriate location as identified in the shared-metadata 217, and provides the requested data to tenant station 130.” Paragraph 0061).
In regard to claim 19, it is substantially similar to claim 7 and accordingly is rejected under similar reasoning.
In regard to claim 9, Becker teaches a system comprising:
a data consumption cluster (i.e. tenant server, paragraph 0088);
and a data production cluster configured to: generate metadata of shared data that comprise target shared data (i.e. metadata in a data dictionary, “That is, when a data structure is added to provider database 212, an entry for that data structure is added to data dictionary 216 along with attributes describing that data structure” paragraph 0068); [Examiner’s note: This limitation is being interpreted as corresponding to the hardware processor, as shown in Fig. 6 and described in paragraph 0106 and 0114, executing the algorithm shown in Fig 4 and described in paragraphs 0059 to 0087]
store the shared data into a shared storage (i.e. shared data structures, paragraph 0053) shared by the data production cluster and the data consumption cluster comprising data nodes that use the shared data (using the data is taught in at least paragraph 0061);
receive a metadata operation instruction (i.e. deployment of a new tenant, paragraph 0088);
determine, based on the metadata operation instruction, target metadata of the target shared data (“provider 110 may use process 900 to determine which data structures associated with a new tenant are to be shared data structures 214 or tenant data structures 215” paragraph 0088; alternatively or additionally, “The shared data structures 214, although not stored at tenant server 114A, may be accessed by tenant server 114A by referencing the shared-data structure 214.” Paragraph 0079);
and send, to the data consumption cluster, the target metadata (i.e. by generating data structure indicating shared and tenant-specific data, paragraph 0072, which is encoded into reference data, paragraph 0075, and then stored at the tenant server and database, paragraph 0076), wherein the data consumption cluster is configured to read the target shared data from the shared storage based on the target metadata (i.e. reading shared data using the ‘shared-data structure’, paragraph 0079; note that this is the structure which contains references to the shared data described in paragraphs 0075 and 0076, and not the data structure itself). [Examiner’s note: This limitation is being interpreted as corresponding to the hardware processor, as shown in Fig. 6 and described in paragraph 0106 and 0114, executing the algorithm shown in Fig 4 and described in paragraphs 0059 to 0087]
In regard to claim 10, Becker further teaches that the data consumption cluster is further configured to receive a data processing instruction for the target shared data (“Further, in one exemplary embodiment, as also described below, a tenant application or tenant server 820 may use table links 225 to query, retrieve, view, process, or join data from shared data structures 214.” Paragraph 0099; alternatively or additionally, “Based on lookup table 1150, tenant database 222 may transmit another query to provider database 212 (S. 1320). The query to provider database 212 may use table link 225 to retrieve data from the shared data structure requested by tenant server 114.” Paragraph 0113; note that table links are not required, as described in paragraph 0061), and wherein the data consumption cluster is further configured to process the target shared data based on the data processing instruction (i.e. server request, “In accordance with the determination, tenant server 114 request may retrieve the data structure from the appropriate location as identified in the shared-metadata 217, and provides the requested data to tenant station 130.” Paragraph 0061). [Examiner’s note: This limitation is being interpreted as corresponding to the hardware processor, as shown in Fig. 6 and described in paragraph 0106 and 0114, executing the algorithm shown in Fig 4 and described in paragraphs 0059 to 0087]
In regard to claim 11, Becker further teaches a coordinator node configured to formulate a global execution plan (i.e. plan for the execution of the tenant database, see paragraph 0078) for the data production cluster and the data consumption cluster based on a query request from a user (i.e. user request, “Subsequently, when the hosted application software is executed, tenant server 114Amay receive a data query from user 134A at tenant terminal 132A associated with tenant station 130A (S. 722).” Paragraph 0078; alternatively or additionally, deploying a new tenant, as in paragraph 0088, for the purpose of calculating tax, as described in paragraph 0087, or for purpose of deploying tenant), wherein the global execution plan comprises the metadata operation instruction (i.e.process as in paragraph 0087, note that although this process only need be done once, it is taught to be done at least once, which meets the broadest reasonable interpretation of this limitation) and the data processing instruction (i.e. server request as in paragraph 0061, wherein the request of data is taught to expressly involve the set-up in at least paragraph 0087). [Examiner’s note: This limitation is being interpreted as corresponding to the hardware processor, as shown in Fig. 6 and described in paragraph 0106 and 0114, executing the algorithm shown in Fig 4 and described in paragraphs 0059 to 0087]
In regard to claim 12, Becker further teaches that the data consumption cluster is further configured to scan a first index of the shared data (“Data dictionary 216 may index shared data structures 214 with other data describing provider data structures 213. In addition, data dictionary 216 may include data defining an association between provider data structures 213 and a tenant-specific identifier, thereby identifying each such data structure as a tenant data structure” paragraph 0055) based on the metadata operation instruction to obtain a second index of the target shared data (i.e. shared-metadata, paragraph 0064, which is generated from the work of the data dictionary in at least paragraph 0072)., and wherein the data production cluster is further configured to determine the target metadata based on the second index (i.e. the location of desired data, “In accordance with the determination, tenant server 114 request may retrieve the data structure from the appropriate location as identified in the shared-metadata 217, and provides the requested data to tenant station 130.” Paragraph 0061”). [Examiner’s note: This limitation is being interpreted as corresponding to the hardware processor, as shown in Fig. 6 and described in paragraph 0106 and 0114, executing the algorithm shown in Fig 4 and described in paragraphs 0059 to 0087]
In regard to claim 13, Becker further teaches that the data production cluster is further configured to send, to the data consumption cluster, the second index ( i.e. shared-metadata, paragraph 0064, which is generated and transmitted from the work of the data dictionary in at least paragraph 0072 ), and wherein the data consumption cluster is further configured to further read the target shared data from the shared storage based on the target metadata and the second index (“In accordance with the determination, tenant server 114 request may retrieve the data structure from the appropriate location as identified in the shared-metadata 217, and provides the requested data to tenant station 130.” Paragraph 0061). [Examiner’s note: This limitation is being interpreted as corresponding to the hardware processor, as shown in Fig. 6 and described in paragraph 0106 and 0114, executing the algorithm shown in Fig 4 and described in paragraphs 0059 to 0087]
In regard to claim 16, Becker further teaches to: receive a data processing instruction for the target shared data (“Further, in one exemplary embodiment, as also described below, a tenant application or tenant server 820 may use table links 225 to query, retrieve, view, process, or join data from shared data structures 214.” Paragraph 0099; alternatively or additionally, “Based on lookup table 1150, tenant database 222 may transmit another query to provider database 212 (S. 1320). The query to provider database 212 may use table link 225 to retrieve data from the shared data structure requested by tenant server 114.” Paragraph 0113; note that table links are not required, as described in paragraph 0061); and process the target shared data based on the data processing instruction (i.e. server request, “In accordance with the determination, tenant server 114 request may retrieve the data structure from the appropriate location as identified in the shared-metadata 217, and provides the requested data to tenant station 130.” Paragraph 0061).
In regard to claim 18, Becker further teaches that the instructions, when executed by the system, further cause the system to: scan a first index of the shared data (“Data dictionary 216 may index shared data structures 214 with other data describing provider data structures 213. In addition, data dictionary 216 may include data defining an association between provider data structures 213 and a tenant-specific identifier, thereby identifying each such data structure as a tenant data structure” paragraph 0055) based on the metadata operation instruction to obtain a second index of the target shared data (i.e. shared-metadata, paragraph 0064, which is generated from the work of the data dictionary in at least paragraph 0072); and determine the target metadata based on the second index (i.e. the location of desired data, “In accordance with the determination, tenant server 114 request may retrieve the data structure from the appropriate location as identified in the shared-metadata 217, and provides the requested data to tenant station 130.” Paragraph 0061”).
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 8, 14, and 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Becker as applied to claim 1, 9, or 15 above, as applicable, and further in view of Anwar et al. in US Patent № 11,416,465, hereinafter called Anwar.
In regard to claim 8, Becker teaches the method of claim 1, as above. However, he fails to expressly teach further comprising: determining, by the data production cluster, one or more destination data nodes of the data nodes based on a correspondence between the data nodes and data shards corresponding to the one or more destination data nodes, wherein the shared data belongs to the data shards; and further sending, by the data production cluster and to the one or more destination data nodes, the target metadata.
Anwar teaches determining, by the data production cluster, one or more destination data nodes of the data nodes based on a correspondence between the data nodes and data shards corresponding to the one or more destination data nodes, wherein the shared data belongs to the data shards (“Each stream of data can be separated into shards and/or other partitions or types of organization of data. In certain cases, each shard can include data from multiple tenants, indexes, etc. For example, one shard can include records from Tenants A, B, and C, and a second shard can include records from Tenants B, C, and D.” column 42 line 52, additionally, “In some cases, each shard can correspond to data associated with a particular tenant, index, source, sourcetype, etc. Accordingly, in some embodiments, the indexing system 212 can include a partition manager 408 for individual tenants, indexes, sources, sourcetypes, etc.” column 42, line 58); and further sending, by the data production cluster and to the one or more destination data nodes, the target metadata (“In some embodiments, the partition manager 408 can determine which indexing node 404 to process the data based on an indexing node assignment. In certain embodiments, the partition manager 408 can determine the indexing node assignment itself or receive the indexing node assignment from another component of the data intake and query system 108 or indexing system 212, such as the resource catalog 420 or resource monitor 418.” Column 42 line 30).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the instant invention to modify the multi-tenant database system taught by Becker to use processing shards per tenant, as taught by Anwar. It would have been obvious because it represents the application of a known technique (using processing shards per tenant, as taught by Anwar in at least column 42 line 58) to improve similar systems (i.e. the multitenant data processing system taught by Anwar in at least column 17 line 15, and the multitenant data processing system taught by Becker in at least paragraph 0052) in the same way (i.e. sharding allows different types of data to be processed separately, as taught by Anwar in at least column 35 line 48)
In regard to claim 20, it is substantially similar to claim 8 and accordingly is rejected under similar reasoning.
In regard to claim 14, Becker teaches the method of claim 9, as above. However, he fails to expressly teach further comprising: determining, by the data production cluster, one or more destination data nodes of the data nodes based on a correspondence between the data nodes and data shards corresponding to the one or more destination data nodes, wherein the shared data belongs to the data shards; and further sending, by the data production cluster and to the one or more destination data nodes, the target metadata.
Anwar teaches determining, by the data production cluster, one or more destination data nodes of the data nodes based on a correspondence between the data nodes and data shards corresponding to the one or more destination data nodes, wherein the shared data belongs to the data shards (“Each stream of data can be separated into shards and/or other partitions or types of organization of data. In certain cases, each shard can include data from multiple tenants, indexes, etc. For example, one shard can include records from Tenants A, B, and C, and a second shard can include records from Tenants B, C, and D.” column 42 line 52, additionally, “In some cases, each shard can correspond to data associated with a particular tenant, index, source, sourcetype, etc. Accordingly, in some embodiments, the indexing system 212 can include a partition manager 408 for individual tenants, indexes, sources, sourcetypes, etc.” column 42, line 58); and further sending, by the data production cluster and to the one or more destination data nodes, the target metadata (“In some embodiments, the partition manager 408 can determine which indexing node 404 to process the data based on an indexing node assignment. In certain embodiments, the partition manager 408 can determine the indexing node assignment itself or receive the indexing node assignment from another component of the data intake and query system 108 or indexing system 212, such as the resource catalog 420 or resource monitor 418.” Column 42 line 30). [Examiner’s note: This limitation is being interpreted as corresponding to the hardware processor, as shown in Fig. 6 and described in paragraph 0106 and 0114, executing the algorithm shown in Fig 4 and described in paragraphs 0059 to 0087]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the instant invention to modify the multi-tenant database system taught by Becker to use processing shards per tenant, as taught by Anwar. It would have been obvious because it represents the application of a known technique (using processing shards per tenant, as taught by Anwar in at least column 42 line 58) to improve similar systems (i.e. the multitenant data processing system taught by Anwar in at least column 17 line 15, and the multitenant data processing system taught by Becker in at least paragraph 0052) in the same way (i.e. sharding allows different types of data to be processed separately, as taught by Anwar in at least column 35 line 48)
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure..
US Patent № 11,822,547 teaches a system which creates shared materialized views.
US Patent № 11,663,212 teaches a system which generates queries dynamically with a metadata catalog, and which mentions query plan generation
US Patent № 11,768,848 teaches a system which queries local and remote data using a metadata query
US Patent Application Publication № 2024/0354314 teaches a system which uses a main node to generate a distributed query plan
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Lauren Z Ganger whose telephone number is (571)272-0270. The examiner can normally be reached 10:00 AM - 7:30 PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Ajay Bhatia can be reached at (571) 272-3906. 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.
/AJAY M BHATIA/Supervisory Patent Examiner, Art Unit 2156