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 .
DETAILED ACTION
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 02/11/2026 has been entered.
The instant application having Application No. 17/625,276 has claims 26-45 pending filed on 01/06/2022; there are 4 independent claim and 16 dependent claims, all of which are ready for examination by the examiner.
Response to Arguments
This Office Action is in response to applicant’s communication filed on February 11, 2026 in response to PTO Office Action dated October 28, 2025 and Advisory Action dated January 30, 2026. The Applicant’s remarks and amendments to the claims and/or specification were considered with the results that follow.
Claim Rejections
Claim Rejections - 35 USC § 103
35 USC § 103 Rejection of claims 26-45
Applicant's arguments filed on 02/11/2026 with respect to the claims 26-45 have been fully considered but are moot because the arguments do not apply to any of the references being used in the current rejection.
OBJECTIONS
Claim Objection
Claim 45
The independent Claim 45 is objected to because of the following informality:
The amended Claim 45 indicates “… and (iii) is not an address or header field used for ordinary packet routing; transmits processed the data portion back to the logical routing layer; …”. The words “processed the” should be corrected to “the processed”. For this office action, the examiner assumes that the claim 45 indicates “… and (iii) is not an address or header field used for ordinary packet routing; transmits the processed data portion back to the logical routing layer; …”. Please make appropriate correction.
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.
Claims 26, 27, 29-35 and 38-45 are rejected under 35 U.S.C. 103 as being unpatentable over Shribman et al (US PGPUB 20220345546) in view of Merriman et al (US PGPUB 20180314750) and in further view of Dhanabalan Praveen (US PGPUB 20220318198) and Kumarasamy et al (US PGPUB 20220121635) .
As per claim 26:
Shribman teaches:
“A method for storing customer data in a distributed database, the method comprising” (Paragraph [0245] and Paragraph [0704] (a method may be used with a database stored in a server associating IP addresses to geographical locations and using a distributed computing environment))
“the routing the plurality of different data type portions to the at least two different servers is performed by a logical routing layer by determining which specific server of the at least two different servers is to be used to store what specific portion of the received customer’s data” (Paragraph [0006] and Paragraph [0020] (a message or data file is divided into for efficient routing through the network, the TCP software layer (logical routing layer) of that server divides the sequence of octets of the file into segments and forwards them individually to the IP software layer where a server is commonly a host that has an IP address and executes a ‘server program’, and typically operates as a socket listener and many servers have dedicated functionality such as web server, database server etc)).
Shribman does not EXPLICITLY disclose: dividing a customer's data into a plurality of different semantically distinct data type portions; routing the plurality of different data type portions to at least two different servers, wherein at least one of the plurality of different data type portions are routed to one of the at least two different servers and at least another of the plurality of different data portions are routed to another of the at least two different servers; a first server of the at least two different servers determines that a second server of the at least two different servers is to process only a particular one of the data portion received by the first server and forwards that particular data portion to the second server; the second server after processing the particular data portion; generates a processed data portion including a tag that (i) is generated by the second server based on the processing of the particular data portion, (ii) is associated with both a specific customer and a specific one of the different data types, and (iii) is not an address or header field used for ordinary packet routing; transmits the processed data portion back to the logical routing layer; and the processed data portion includes a tag for future routing use associated with this customer and type of data; and storing the plurality of different data type portions at the server to which they are routed; wherein each data type is associated with at least one of the at least two different servers based at least in part on access requirements of the customer's data for each data type.
However, in an analogous art, Merriman teaches:
“dividing a customer's data into a plurality of different semantically distinct data type portions” (Paragraph [0005] (methods are provided to enable control and placement of data repositories, a zone (data type portions) may comprise a segment of data in a database, where a zone may comprise a segment of data associated with a particular application, application feature, or other characteristics))
“routing the plurality of different data type portions to at least two different servers, wherein at least one of the plurality of different data type portions are routed to one of the at least two different servers and at least another of the plurality of different data portions are routed to another of the at least two different servers” (Paragraph [0011], Paragraph [0014], Paragraph [0016] and Paragraph [0064] (comprises routing a new data item for storage to the first shard in response to mapping the new data item to the first zone, generating the plurality of zones which comprises mapping the first zone to a first range of key values, mapping the second zone to a second range of key values, associate the first zone with a first application (data type) and the second zone (data type) with a second application, the database system that employs zone sharding, the managed database system is specially configured as a shard cluster where the shard cluster is the grouping of shards that collectively represent the data within the database and typically comprises multiple shard servers hosting multiple partitions or shards of data))
“and storing the plurality of different data type portions at the server to which they are routed” (Paragraph [0015] (method of storing data in a database is provided which includes storing a plurality of data items in a plurality of shards, generating a plurality of zones including a first zone and a second zone, the generating comprising: associating a first of the plurality of shards with the first zone and associating a second one of the plurality of shards with the second zone))
“wherein each data type is associated with at least one of the at least two different servers based at least in part on access requirements of the customer's data for each data type” (Paragraph [0067] and Paragraph [0203] (a zone can be used to group data according to a shared attribute where zones may be used to isolate a subset of data to a specific set of shards, a server can be configured to store data in one or more specific shards based on association of the shard(s) with particular zones, one or more zones can be used to store data on one or more shards based on a hardware and/or performance of the shards (access type) where data that is accessed more frequently can be stored in the first zone that offers a higher level of performance (access type) while data that is accessed less frequently (access type) can be stored in the second zone that offers a lower level of performance, the system can be configured to route one or more operations to a target shard based on a level of performance (access type), shards can be stored using particular types of hardware like a first shard can be stored on one or more solid state drives while a second shard can be stored on one or more spinning disks and various examples of monitoring processes and database analysis are described in co-pending U.S. application Ser. No. 14/992,225 entitled “DISTRIBUTED DATABASE SYSTEMS AND METHODS WITH PLUGGABLE ENGINES” filed Jan. 11, 2017 incorporated herein by reference, and can be used to capture operation data)).
It would have been obvious to one of ordinary skill in the art before the effective filing date to take the teachings of Merriman and apply them on teachings of Shribman for the method “dividing a customer's data into a plurality of different semantically distinct data type portions; routing the plurality of different data type portions to at least two different servers, wherein at least one of the plurality of different data type portions are routed to one of the at least two different servers and at least another of the plurality of different data portions are routed to another of the at least two different servers; and storing the plurality of different data type portions at the server to which they are routed; wherein each data type is associated with at least one of the at least two different servers based at least in part on access requirements of the customer's data for each data type”. One would be motivated as the zone sharding provides the ability for users to define specific rules governing data placement in a sharded cluster and zones accommodate a range of deployment scenarios including locating data by application features and tiered storage architectures defined by performance or access type requirements (Merriman, Paragraph [0046]).
Shribman and Merriman do not EXPLICITLY disclose: a first server of the at least two different servers determines that a second server of the at least two different servers is to process only a particular one of the data portion received by the first server and forwards that particular data portion to the second server; the second server after processing the particular data portion; generates a processed data portion including a tag that (i) is generated by the second server based on the processing of the particular data portion, (ii) is associated with both a specific customer and a specific one of the different data types, and (iii) is not an address or header field used for ordinary packet routing; transmits the processed data portion back to the logical routing layer; and the processed data portion includes a tag for future routing use associated with this customer and type of data.
However, in an analogous art, Dhanabalan teaches:
“a first server of the at least two different servers determines that a second server of the at least two different servers is to process only a particular one of the data portion received by the first server and forwards that particular data portion to the second server” (Paragraph [0043] (it includes a first server that receives requests (to process only a particular one of the data portion) from a client machine, forwards the request (that particular data portion) to a second server, and responds to the request generated by the client machine with a response from the second server))
“the second server after processing the data portion” (Paragraph [0043] (a response from the second server is presented to the client's request using a web interface via the first server))
“transmits the processed data portion back to the logical routing layer” (Paragraph [0039] (the server uses a remote presentation protocol or other program (logical routing layer) to send processed data to a thin-client or remote-display application executing on the client to present display output generated by an application executing on the second server)).
It would have been obvious to one of ordinary skill in the art before the effective filing date to take the teachings of Dhanabalan and apply them on teachings of Shribman and Merriman for the method “a first server of the at least two different servers determines that a second server of the at least two different servers is to process only a particular one of the data portion received by the first server and forwards that particular data portion to the second server; the second server after processing the particular data portion; transmits the processed data portion back to the logical routing layer”. One would be motivated as a server farm may include servers that execute a substantially similar type of operating system platform or it may be used having a substantially similar type of data type and may include a first group of one or more servers that execute a first type of data type, and a second group of one or more servers that execute a second type of data type (Dhanabalan, Paragraph [0041]).
Shribman, Merriman and Dhanabalan do not EXPLICITLY disclose: generates a processed data portion including a tag that (i) is generated by the second server based on the processing of the particular data portion, (ii) is associated with both a specific customer and a specific one of the different data types, and (iii) is not an address or header field used for ordinary packet routing; and the processed data portion includes a tag for future routing use associated with this customer and type of data.
However, in an analogous art, Kumarasamy teaches:
“generates a processed data portion including a tag that (i) is generated by the second server based on the processing of the particular data portion, (ii) is associated with both a specific customer and a specific one of the different data types, and (iii) is not an address or header field used for ordinary packet routing” (Paragraph [0269], Paragraph [0270] and Paragraph [0271] (a classification policy defines a taxonomy of classification terms or tags relevant to a compliance task and/or business objective, a classification policy may also associate a defined tag with a classification rule where a classification rule defines a particular combination of criteria, such as users who have created, accessed or modified a document or a specific data object or a specific file or specific application types, content or metadata keywords, specific clients or storage locations, review status or other status within a workflow, modification times or types of modifications, and/or any other data attributes in any combination without limitation, one specific type of classification tag, which may be added to an index at the time of indexing, is an entity tag (is associated with both a specific customer and a specific one of the different data types) and the storage devices may be cloud storage devices, and the storage manager may execute cloud service provider API over a network to classify data stored on cloud storage devices ( is not an address or header field used for ordinary packet routing)))
“and the processed data portion includes a tag for future routing use associated with this customer and type of data” (Paragraph [0204] and Paragraph [0220] (the metabase(s) may be stored along with primary data and/or secondary copies so that the files or other data objects can be associated with tag entries in the media agent or other indices to facilitate searches of stored data objects in the future for a specific entity (associated with this customer and type of data) and a portion of data may be given a label and the association is stored as a static entity in an index, database or other storage location)).
It would have been obvious to one of ordinary skill in the art before the effective filing date to take the teachings of Kumarasamy and apply them on teachings of Shribman, Merriman and Dhanabalan for the method “generates a processed data portion including a tag that (i) is generated by the second server based on the processing of the particular data portion, (ii) is associated with both a specific customer and a specific one of the different data types, and (iii) is not an address or header field used for ordinary packet routing; and the processed data portion includes a tag for future routing use associated with this customer and type of data”. One would be motivated as the distributed architecture provides both scalability and efficient component utilization where the information management system includes a plurality of client computing devices and associated data agents as well as a plurality of secondary storage computing devices and associated media agents (Kumarasamy, Paragraph [0154]).
As per claim 27:
Shribman, Merriman, Dhanabalan and Kumarasamy teach the method as specified in the parent claim 26 above.
Merriman further teaches:
“wherein access requirements include access frequency, access speed, latency, and/or security requirements associated with the plurality of different data type portions” (Paragraph [0051] and Paragraph [0209] (access to data in the zone may be limited by local access requirements, by associating data to shards based on user location, administrators are able to maintain low latency access, the system can be configured to store data using different types of storage hardware which provide different levels of performance, the system can be configured to analyze operations and/or data stored by the system to store data across different types of storage hardware to optimize performance of the system and the system can be configured to determine a set of data that is accessed by a client more frequently)).
As per claim 29:
Shribman, Merriman, Dhanabalan and Kumarasamy teach the method as specified in the parent claim 26 above.
Merriman further teaches:
“wherein schedule data, index data, and real-time data are stored together on a first server of the at least two different servers; and wherein historical data is stored on a second server of the at least two different servers” (Paragraph [0067] (one or more zones can be used to store data on shards to one or more servers of an application that uses the data, one or more zones can be used to store data on one or more shards based on a hardware and/or performance of the shards. one set of data may require a first level of performance (schedule data, index data, and real-time) and a second set of data my require a second level of performance (historical data))).
As per claim 30:
Shribman, Merriman, Dhanabalan and Kumarasamy teach the method as specified in the parent claim 26 above.
Merriman further teaches:
“wherein the logical routing layer includes a client-side element and a server-side element” (Paragraph [0074] (the shard router processes (a logical routing layer) handle incoming requests from clients (client side) and route the database requests to the appropriate shard(s) on shard servers)).
As per claim 31:
Shribman, Merriman, Dhanabalan and Kumarasamy teach the method as specified in the parent claim 30 above.
Shribman further teaches:
“wherein the client-side element is configured to forward a data query for a customer; and wherein the client-side element is configured to forward customer data to be stored” (Paragraph [0178] and Paragraph [0456] (a client device, which may be requesting a content from a data server, first communicates with the acceleration server to receive a list of the available tunnel devices, select one (or more) tunnel device, executes a pre-connection process with the selected tunnel device, upon determining the need for a content to be fetched from the data server, the client device sends a request to the tunnel device, which in turn fetches the required content from the data server, sends the fetched content to the client device and the fetched content may be stored in the client device)).
As per claim 32:
Shribman, Merriman, Dhanabalan and Kumarasamy teach the method as specified in the parent claim 31 above.
Merriman further teaches:
“wherein the server-side element of the logical routing layer determines which data type of the plurality of different data types is applicable for both the data query for the customer and the customer data to be stored” (Paragraph [0074] (the shard router processes handle incoming requests from clients and the shard router processes route the database requests to the appropriate shard(s) on shard servers 102-108)).
As per claim 33:
Shribman, Merriman, Dhanabalan and Kumarasamy teach the method as specified in the parent claim 30 above.
Merriman further teaches:
“when receiving customer's data from the client-side of the logical routing layer, the server-side element of the logical routing layer determines what type of data is received from the client side element of the logical routing layer and which server of the at least two different servers is to be used to store the received customer's data” (Paragraph [0074] and Paragraph [0077] (the shard router processes handle incoming requests from clients (applications, web services, user initiated requests, application protocol interfaces, etc) and the shard router processes route the database requests to the appropriate shard(s) on shard servers 102-108, the router processes can be run on application servers associated with the managed database and can permit the managed database to route greater number of requests to the appropriate shards of data)).
As per claim 34:
Shribman teaches:
“A system for storing customer data in a distributed database, the system comprising” (Paragraph [0410] and Paragraph [0704] (a system including two client devices, that may access the data servers using one or more of a tunnel devices, under the management and control of an acceleration server where the network elements communicates with each other using the Internet and using a distributed computing environment))
“wherein the routing the plurality of different data type portions to the at least two different servers is performed by a logical routing layer by determining which specific server of the at least two different servers is to be used to store what specific portion of the received customer’s data” (Paragraph [0006] and Paragraph [0020] (a message or data file is divided into for efficient routing through the network, the TCP software layer (logical routing layer) of that server divides the sequence of octets of the file into segments and forwards them individually to the IP software layer where a server is commonly a host that has an IP address and executes a ‘server program’, and typically operates as a socket listener and many servers have dedicated functionality such as web server, database server etc)).
Shribman does not EXPLICITLY disclose: a logical routing layer configured to divide a customer's data into a plurality of different semantically distinct data type portions; wherein the logical routing layer is further configured to route the plurality of different data type portions to at least two different servers; at least one of the plurality of different data type portions are routed to one of the at least two different servers and at least another of the plurality of different data portions are routed to another of the at least two different servers; the logical routing layer exists at least on the two different servers and on at least one client device; a first server of the at least two different servers determines that a second server of the at least two different servers is to process only a particular one of the data portion received by the first server and forwards that particular data portion to the second server; the second server after processing the particular data portion; generates a processed data portion including a tag that (i) is generated by the second server based on the processing of the particular data portion, (ii) is associated with both a specific customer and a specific one of the different data types, and (iii) is not an address or header field used for ordinary packet routing; transmits the processed data portion back to the logical routing layer; and the processed data portion includes a tag for future routing use associated with this customer and type of data; and the servers to which the plurality of different data type portions are routed, the servers configured to store the plurality of different data type portions; wherein each type of data is associated with at least one of the at least two different servers based at least in part on access requirements of the customer's data for each data type.
However, in an analogous art, Merriman teaches:
“a logical routing layer configured to divide a customer's data into a plurality of different semantically distinct data type portions” (Paragraph [0007] (the system can be configured to use zones to route data and/or operations to shards where data and/or operations can be routed to one or more shards of a particular zone based on a required level of performance))
“wherein the logical routing layer is further configured to route the plurality of different data type portions to at least two different servers; at least one of the plurality of different data type portions are routed to one of the at least two different servers and at least another of the plurality of different data portions are routed to another of the at least two different servers” (Paragraph [0011], Paragraph [0014], Paragraph [0016] and Paragraph [0064] (comprises routing a new data item for storage to the first shard in response to mapping the new data item to the first zone, generating the plurality of zones which comprises mapping the first zone to a first range of key values, mapping the second zone to a second range of key values, associate the first zone with a first application (data type) and the second zone (data type) with a second application, the database system that employs zone sharding, the managed database system is specially configured as a shard cluster where the shard cluster is the grouping of shards that collectively represent the data within the database and typically comprises multiple shard servers hosting multiple partitions or shards of data))
“the logical routing layer exists at least on the two different servers and on at least one client device” (Paragraph [0074] (the shard router processes (a logical routing layer) handle incoming requests from clients (client side) and route the database requests to the appropriate shard(s) on shard servers 102-108))
“and the servers to which the plurality of different data type portions are routed, the servers configured to store the plurality of different data type portions” (Paragraph [0015] (method of storing data in a database is provided which includes storing a plurality of data items in a plurality of shards, generating a plurality of zones including a first zone and a second zone, the generating comprising: associating a first of the plurality of shards with the first zone and associating a second one of the plurality of shards with the second zone))
“wherein each type of data is associated with at least one of the at least two different servers based at least in part on access requirements of the customer's data for each data type” (Paragraph [0067] and Paragraph [0203] (a zone can be used to group data according to a shared attribute where zones may be used to isolate a subset of data to a specific set of shards, a server can be configured to store data in one or more specific shards based on association of the shard(s) with particular zones, one or more zones can be used to store data on one or more shards based on a hardware and/or performance of the shards (access type) where data that is accessed more frequently can be stored in the first zone that offers a higher level of performance (access type) while data that is accessed less frequently (access type) can be stored in the second zone that offers a lower level of performance, the system can be configured to route one or more operations to a target shard based on a level of performance (access type), shards can be stored using particular types of hardware like a first shard can be stored on one or more solid state drives while a second shard can be stored on one or more spinning disks and various examples of monitoring processes and database analysis are described in co-pending U.S. application Ser. No. 14/992,225 entitled “DISTRIBUTED DATABASE SYSTEMS AND METHODS WITH PLUGGABLE ENGINES” filed Jan. 11, 2017 incorporated herein by reference, and can be used to capture operation data)).
It would have been obvious to one of ordinary skill in the art before the effective filing date to take the teachings of Merriman and apply them on teachings of Shribman for the system “a logical routing layer configured to divide a customer's data into a plurality of different semantically distinct data type portions; wherein the logical routing layer is further configured to route the plurality of different data type portions to at least two different servers; at least one of the plurality of different data type portions are routed to one of the at least two different servers and at least another of the plurality of different data portions are routed to another of the at least two different servers; the logical routing layer exists at least on the two different servers and on at least one client device; and the servers to which the plurality of different data type portions are routed, the servers configured to store the plurality of different data type portions; wherein each type of data is associated with at least one of the at least two different servers based at least in part on access requirements of the customer's data for each data type”. One would be motivated as the zone sharding provides the ability for users to define specific rules governing data placement in a sharded cluster and zones accommodate a range of deployment scenarios including locating data by application features and tiered storage architectures defined by performance or access type requirements (Merriman, Paragraph [0046]).
Shribman and Merriman do not EXPLICITLY disclose: a first server of the at least two different servers determines that a second server of the at least two different servers is to process only a particular one of the data portion received by the first server and forwards that particular data portion to the second server; the second server after processing the particular data portion; generates a processed data portion including a tag that (i) is generated by the second server based on the processing of the particular data portion, (ii) is associated with both a specific customer and a specific one of the different data types, and (iii) is not an address or header field used for ordinary packet routing; transmits the processed data portion back to the logical routing layer; and the processed data portion includes a tag for future routing use associated with this customer and type of data.
However, in an analogous art, Dhanabalan teaches:
“a first server of the at least two different servers determines that a second server of the at least two different servers is to process only a particular one of the data portion received by the first server and forwards that particular data portion to the second server” (Paragraph [0043] (it includes a first server that receives requests from a client machine, forwards the request to a second server, and responds to the request generated by the client machine with a response from the second server))
“the second server after processing the data portion” (Paragraph [0043] (a response from the second server is presented to the client's request using a web interface via the first server))
“transmits the processed data portion back to the logical routing layer” (Paragraph [0039] (the server uses a remote presentation protocol or other program (logical routing layer) to send processed data to a thin-client or remote-display application executing on the client to present display output generated by an application executing on the second server)).
It would have been obvious to one of ordinary skill in the art before the effective filing date to take the teachings of Dhanabalan and apply them on teachings of Shribman and Merriman for the system “a first server of the at least two different servers determines that a second server of the at least two different servers is to process only a particular one of the data portion received by the first server and forwards that particular data portion to the second server; the second server after processing the particular data portion; transmits the processed data portion back to the logical routing layer”. One would be motivated as a server farm may include servers that execute a substantially similar type of operating system platform or it may be used having a substantially similar type of data type and may include a first group of one or more servers that execute a first type of data type, and a second group of one or more servers that execute a second type of data type (Dhanabalan, Paragraph [0041]).
Shribman, Merriman and Dhanabalan do not EXPLICITLY disclose: generates a processed data portion including a tag that (i) is generated by the second server based on the processing of the particular data portion, (ii) is associated with both a specific customer and a specific one of the different data types, and (iii) is not an address or header field used for ordinary packet routing; and the processed data portion includes a tag for future routing use associated with this customer and type of data.
However, in an analogous art, Kumarasamy teaches:
“generates a processed data portion including a tag that (i) is generated by the second server based on the processing of the particular data portion, (ii) is associated with both a specific customer and a specific one of the different data types, and (iii) is not an address or header field used for ordinary packet routing” (Paragraph [0269], Paragraph [0270] and Paragraph [0271] (a classification policy defines a taxonomy of classification terms or tags relevant to a compliance task and/or business objective, a classification policy may also associate a defined tag with a classification rule where a classification rule defines a particular combination of criteria, such as users who have created, accessed or modified a document or a specific data object or a specific file or specific application types, content or metadata keywords, specific clients or storage locations, review status or other status within a workflow, modification times or types of modifications, and/or any other data attributes in any combination without limitation, one specific type of classification tag, which may be added to an index at the time of indexing, is an entity tag (is associated with both a specific customer and a specific one of the different data types) and the storage devices may be cloud storage devices, and the storage manager may execute cloud service provider API over a network to classify data stored on cloud storage devices ( is not an address or header field used for ordinary packet routing)))
“and the processed data portion includes a tag for future routing use associated with this customer and type of data” (Paragraph [0204] and Paragraph [0220] (the metabase(s) may be stored along with primary data and/or secondary copies so that the files or other data objects can be associated with tag entries in the media agent or other indices to facilitate searches of stored data objects in the future for a specific entity (associated with this customer and type of data) and a portion of data may be given a label and the association is stored as a static entity in an index, database or other storage location)).
It would have been obvious to one of ordinary skill in the art before the effective filing date to take the teachings of Kumarasamy and apply them on teachings of Shribman, Merriman and Dhanabalan for the system “generates a processed data portion including a tag that (i) is generated by the second server based on the processing of the particular data portion, (ii) is associated with both a specific customer and a specific one of the different data types, and (iii) is not an address or header field used for ordinary packet routing; and the processed data portion includes a tag for future routing use associated with this customer and type of data”. One would be motivated as the distributed architecture provides both scalability and efficient component utilization where the information management system includes a plurality of client computing devices and associated data agents as well as a plurality of secondary storage computing devices and associated media agents (Kumarasamy, Paragraph [0154]).
As per claim 35, the claim is rejected based upon the same rationale given for the parent claim 34 and the claim 27 above.
As per claim 38:
Shribman, Merriman, Dhanabalan and Kumarasamy teach the system as specified in the parent claim 34 above.
Merriman further teaches:
“wherein, for infrequent access of the customer's data, the customer's data is stored on spinning disks” (Paragraph [0203] (data accessed less frequently (e.g., data stored for a longer period of time) can be stored on the spinning disks)).
As per claim 39:
Shribman, Merriman and Dhanabalan teach the system as specified in the parent claim 34 above.
Merriman further teaches:
“wherein, for frequent access of the customer's data, the customer's data is stored on a solid-state drive” (Paragraph [0203] (data that is accessed more frequently (e.g., recently generated data) can be stored on the solid state drives)).
As per claim 40, the claim is rejected based upon the same rationale given for the parent claim 34 and the claim 30 above.
As per claim 41, the claim is rejected based upon the same rationale given for the parent claim 40 and the claim 31 above.
As per claim 42, the claim is rejected based upon the same rationale given for the parent claim 41 and the claim 32 above.
As per claim 43, the claim is rejected based upon the same rationale given for the parent claim 40 and the claim 33 above.
As per claim 44:
Shribman teaches:
“A non-transitory computer readable recording medium storing a computer program product for controlling the storing of customer data in a distributed database, the computer program product comprising program instructions which, when run on processing circuitry of a system, causes the system to” (Paragraph [0079] (the methods and techniques are performed by the computer system in response to the processor executing one or more sequences of one or more instructions contained in a main memory where such instructions may be read into the main memory from another computer-readable medium))
“the routing the plurality of different data type portions to the at least two different servers is performed by a logical routing layer by determining which specific server of the at least two different servers is to be used to store what specific portion of the received customer’s data” (Paragraph [0006] and Paragraph [0020] (a message or data file is divided into for efficient routing through the network, the TCP software layer (logical routing layer) of that server divides the sequence of octets of the file into segments and forwards them individually to the IP software layer where a server is commonly a host that has an IP address and executes a ‘server program’, and typically operates as a socket listener and many servers have dedicated functionality such as web server, database server etc)).
Shribman does not EXPLICITLY disclose: divide a customer's data into a plurality of different semantically distinct data type portions; route the plurality of different data type portions to at least two different servers, wherein at least one of the plurality of different data type portions are routed to one of the at least two different servers and at least another of the plurality of different data portions are routed to another of the at least two different servers; a first server of the at least two different servers determines that a second server of the at least two different servers is to process only a particular one of the data portion received by the first server and forwards that particular data portion to the second server; the second server after processing the particular data portion; generates a processed data portion including a tag that (i) is generated by the second server based on the processing of the particular data portion, (ii) is associated with both a specific customer and a specific one of the different data types, and (iii) is not an address or header field used for ordinary packet routing; transmits the processed data portion back to the logical routing layer; and the processed data portion includes a tag for future routing use associated with this customer and type of data; and storing the plurality of different data type portions at the server to which they are routed; wherein each data type is associated with at least one of the at least two different servers based at least in part on access requirements of the customer's data for each data type.
However, in an analogous art, Merriman teaches:
“divide a customer's data into a plurality of different semantically distinct data type portions” (Paragraph [0005] (methods are provided to enable control and placement of data repositories, a zone (data type portions) may comprise a segment of data in a database, where a zone may comprise a segment of data associated with a particular application, application feature, or other characteristics))
“route the plurality of different data type portions to at least two different servers, wherein at least one of the plurality of different data type portions are routed to one of the at least two different servers and at least another of the plurality of different data portions are routed to another of the at least two different servers” (Paragraph [0011], Paragraph [0014], Paragraph [0016] and Paragraph [0064] (comprises routing a new data item for storage to the first shard in response to mapping the new data item to the first zone, generating the plurality of zones which comprises mapping the first zone to a first range of key values, mapping the second zone to a second range of key values, associate the first zone with a first application (data type) and the second zone (data type) with a second application, the database system that employs zone sharding, the managed database system is specially configured as a shard cluster where the shard cluster is the grouping of shards that collectively represent the data within the database and typically comprises multiple shard servers hosting multiple partitions or shards of data))
“and store the plurality of different data type portions at the server to which they are routed” (Paragraph [0015] (method of storing data in a database is provided which includes storing a plurality of data items in a plurality of shards, generating a plurality of zones including a first zone and a second zone, the generating comprising: associating a first of the plurality of shards with the first zone and associating a second one of the plurality of shards with the second zone))
“wherein each data type is associated with at least one of the at least two different servers based at least in part on access requirements of the customer's data for each data type” (Paragraph [0067] and Paragraph [0203] (a zone can be used to group data according to a shared attribute where zones may be used to isolate a subset of data to a specific set of shards, a server can be configured to store data in one or more specific shards based on association of the shard(s) with particular zones, one or more zones can be used to store data on one or more shards based on a hardware and/or performance of the shards (access type) where data that is accessed more frequently can be stored in the first zone that offers a higher level of performance (access type) while data that is accessed less frequently (access type) can be stored in the second zone that offers a lower level of performance, the system can be configured to route one or more operations to a target shard based on a level of performance (access type), shards can be stored using particular types of hardware like a first shard can be stored on one or more solid state drives while a second shard can be stored on one or more spinning disks and various examples of monitoring processes and database analysis are described in co-pending U.S. application Ser. No. 14/992,225 entitled “DISTRIBUTED DATABASE SYSTEMS AND METHODS WITH PLUGGABLE ENGINES” filed Jan. 11, 2017 incorporated herein by reference, and can be used to capture operation data)).
It would have been obvious to one of ordinary skill in the art before the effective filing date to take the teachings of Merriman and apply them on teachings of Shribman for a non-transitory computer readable recoding medium “divide a customer's data into a plurality of different semantically distinct data type portions; route the plurality of different data type portions to at least two different servers, wherein at least one of the plurality of different data type portions are routed to one of the at least two different servers and at least another of the plurality of different data portions are routed to another of the at least two different servers; and store the plurality of different data type portions at the server to which they are routed; wherein each data type is associated with at least one of the at least two different servers based at least in part on access requirements of the customer's data for each data type”. One would be motivated as the zone sharding provides the ability for users to define specific rules governing data placement in a sharded cluster and zones accommodate a range of deployment scenarios including locating data by application features and tiered storage architectures defined by performance or access type requirements (Merriman, Paragraph [0046]).
Shribman and Merriman do not EXPLICITLY disclose: a first server of the at least two different servers determines that a second server of the at least two different servers is to process only a particular one of the data portion received by the first server and forwards that particular data portion to the second server; the second server after processing the particular data portion; generates a processed data portion including a tag that (i) is generated by the second server based on the processing of the particular data portion, (ii) is associated with both a specific customer and a specific one of the different data types, and (iii) is not an address or header field used for ordinary packet routing; transmits the processed data portion back to the logical routing layer; and the processed data portion includes a tag for future routing use associated with this customer and type of data.
However, in an analogous art, Dhanabalan teaches:
“a first server of the at least two different servers determines that a second server of the at least two different servers is to process only a particular one of the data portion received by the first server and forwards that particular data portion to the second server” (Paragraph [0043] (it includes a first server that receives requests from a client machine, forwards the request to a second server, and responds to the request generated by the client machine with a response from the second server))
“the second server after processing the data portion” (Paragraph [0043] (a response from the second server is presented to the client's request using a web interface via the first server))
“transmits the processed data portion back to the logical routing layer” (Paragraph [0039] (the server uses a remote presentation protocol or other program (logical routing layer) to send processed data to a thin-client or remote-display application executing on the client to present display output generated by an application executing on the second server)).
It would have been obvious to one of ordinary skill in the art before the effective filing date to take the teachings of Dhanabalan and apply them on teachings of Shribman and Merriman for a non-transitory computer readable recoding medium “: a first server of the at least two different servers determines that a second server of the at least two different servers is to process only a particular one of the data portion received by the first server and forwards that particular data portion to the second server; the second server after processing the particular data portion; transmits the processed data portion back to the logical routing layer”. One would be motivated as a server farm may include servers that execute a substantially similar type of operating system platform or it may be used having a substantially similar type of data type and may include a first group of one or more servers that execute a first type of data type, and a second group of one or more servers that execute a second type of data type (Dhanabalan, Paragraph [0041]).
Shribman, Merriman and Dhanabalan do not EXPLICITLY disclose: generates a processed data portion including a tag that (i) is generated by the second server based on the processing of the particular data portion, (ii) is associated with both a specific customer and a specific one of the different data types, and (iii) is not an address or header field used for ordinary packet routing; and the processed data portion includes a tag for future routing use associated with this customer and type of data.
However, in an analogous art, Kumarasamy teaches:
“generates a processed data portion including a tag that (i) is generated by the second server based on the processing of the particular data portion, (ii) is associated with both a specific customer and a specific one of the different data types, and (iii) is not an address or header field used for ordinary packet routing” (Paragraph [0269], Paragraph [0270] and Paragraph [0271] (a classification policy defines a taxonomy of classification terms or tags relevant to a compliance task and/or business objective, a classification policy may also associate a defined tag with a classification rule where a classification rule defines a particular combination of criteria, such as users who have created, accessed or modified a document or a specific data object or a specific file or specific application types, content or metadata keywords, specific clients or storage locations, review status or other status within a workflow, modification times or types of modifications, and/or any other data attributes in any combination without limitation, one specific type of classification tag, which may be added to an index at the time of indexing, is an entity tag (is associated with both a specific customer and a specific one of the different data types) and the storage devices may be cloud storage devices, and the storage manager may execute cloud service provider API over a network to classify data stored on cloud storage devices ( is not an address or header field used for ordinary packet routing)))
“and the processed data portion includes a tag for future routing use associated with this customer and type of data” (Paragraph [0204] and Paragraph [0220] (the metabase(s) may be stored along with primary data and/or secondary copies so that the files or other data objects can be associated with tag entries in the media agent or other indices to facilitate searches of stored data objects in the future for a specific entity (associated with this customer and type of data) and a portion of data may be given a label and the association is stored as a static entity in an index, database or other storage location)).
It would have been obvious to one of ordinary skill in the art before the effective filing date to take the teachings of Kumarasamy and apply them on teachings of Shribman, Merriman and Dhanabalan for a non-transitory computer readable recoding medium “generates a processed data portion including a tag that (i) is generated by the second server based on the processing of the particular data portion, (ii) is associated with both a specific customer and a specific one of the different data types, and (iii) is not an address or header field used for ordinary packet routing; and the processed data portion includes a tag for future routing use associated with this customer and type of data”. One would be motivated as the distributed architecture provides both scalability and efficient component utilization where the information management system includes a plurality of client computing devices and associated data agents as well as a plurality of secondary storage computing devices and associated media agents (Kumarasamy, Paragraph [0154]).
As per claim 45:
Shribman teaches:
“An apparatus, comprising” (Paragraph [0082] (The computer system commonly includes))
“processing circuitry” (Paragraph [0053] (the processor accessing the hardware devices and peripherals))
“memory containing instructions executable by the processing circuitry whereby the apparatus is operative to” (Paragraph [0079] (the processor executing one or more sequences of one or more instructions contained in a main memory))
“wherein the routing the plurality of different data type portions to the at least two different servers is performed by a logical routing layer by determining which specific server of the at least two different servers is to be used to store what specific portion of the received customer’s data” (Paragraph [0006] and Paragraph [0020] (a message or data file is divided into for efficient routing through the network, the TCP software layer (logical routing layer) of that server divides the sequence of octets of the file into segments and forwards them individually to the IP software layer where a server is commonly a host that has an IP address and executes a ‘server program’, and typically operates as a socket listener and many servers have dedicated functionality such as web server, database server etc)).
Shribman does not EXPLICITLY disclose: divide a customer's data into a plurality of different semantically distinct data type portions; route the plurality of different data type portions to at least two different servers; wherein at least one of the plurality of different data type portions are routed to one of the at least two different servers and at least another of the plurality of different data portions are routed to another of the at least two different servers; a first server of the at least two different servers determines that a second server of the at least two different servers is to process only a particular one of the data portion received by the first server and forwards that particular data portion to the second server; the second server after processing the particular data portion; generates a processed data portion including a tag that (i) is generated by the second server based on the processing of the particular data portion, (ii) is associated with both a specific customer and a specific one of the different data types, and (iii) is not an address or header field used for ordinary packet routing; transmits the processed data portion back to the logical routing layer; and the processed data portion includes a tag for future routing use associated with this customer and type of data; and store the plurality of different data type portions at the server to which they are routed; wherein each type of data is associated with at least one of the at least two different servers based at least in part on access requirements of the customer's data for each data type.
However, in an analogous art, Merriman teaches:
“divide a customer's data into a plurality of different semantically distinct data type portions” (Paragraph [0005] (methods are provided to enable control and placement of data repositories, a zone (data type portions) may comprise a segment of data in a database, where a zone may comprise a segment of data associated with a particular application, application feature, or other characteristics))
“route the plurality of different data type portions to at least two different servers; wherein at least one of the plurality of different data type portions are routed to one of the at least two different servers and at least another of the plurality of different data portions are routed to another of the at least two different servers” (Paragraph [0011], Paragraph [0014], Paragraph [0016] and Paragraph [0064] (comprises routing a new data item for storage to the first shard in response to mapping the new data item to the first zone, generating the plurality of zones which comprises mapping the first zone to a first range of key values, mapping the second zone to a second range of key values, associate the first zone with a first application (data type) and the second zone (data type) with a second application, the database system that employs zone sharding, the managed database system is specially configured as a shard cluster where the shard cluster is the grouping of shards that collectively represent the data within the database and typically comprises multiple shard servers hosting multiple partitions or shards of data))
“and store the plurality of different data type portions at the server to which they are routed” (Paragraph [0015] (method of storing data in a database is provided which includes storing a plurality of data items in a plurality of shards, generating a plurality of zones including a first zone and a second zone, the generating comprising: associating a first of the plurality of shards with the first zone and associating a second one of the plurality of shards with the second zone))
“wherein each data type is associated with at least one of the at least two different servers based at least in part on access requirements of the customer's data for each data type” (Paragraph [0067] and Paragraph [0203] (a zone can be used to group data according to a shared attribute where zones may be used to isolate a subset of data to a specific set of shards, a server can be configured to store data in one or more specific shards based on association of the shard(s) with particular zones, one or more zones can be used to store data on one or more shards based on a hardware and/or performance of the shards (access type) where data that is accessed more frequently can be stored in the first zone that offers a higher level of performance (access type) while data that is accessed less frequently (access type) can be stored in the second zone that offers a lower level of performance, the system can be configured to route one or more operations to a target shard based on a level of performance (access type), shards can be stored using particular types of hardware like a first shard can be stored on one or more solid state drives while a second shard can be stored on one or more spinning disks and various examples of monitoring processes and database analysis are described in co-pending U.S. application Ser. No. 14/992,225 entitled “DISTRIBUTED DATABASE SYSTEMS AND METHODS WITH PLUGGABLE ENGINES” filed Jan. 11, 2017 incorporated herein by reference, and can be used to capture operation data)).
It would have been obvious to one of ordinary skill in the art before the effective filing date to take the teachings of Merriman and apply them on teachings of Shribman for the apparatus “divide a customer's data into a plurality of different semantically distinct data type portions; route the plurality of different data type portions to at least two different servers, wherein at least one of the plurality of different data type portions are routed to one of the at least two different servers and at least another of the plurality of different data portions are routed to another of the at least two different servers; and store the plurality of different data type portions at the server to which they are routed; wherein each data type is associated with at least one of the at least two different servers based at least in part on access requirements of the customer's data for each data type”. One would be motivated as the zone sharding provides the ability for users to define specific rules governing data placement in a sharded cluster and zones accommodate a range of deployment scenarios including locating data by application features and tiered storage architectures defined by performance or access type requirements (Merriman, Paragraph [0046]).
Shribman and Merriman do not EXPLICITLY disclose: a first server of the at least two different servers determines that a second server of the at least two different servers is to process only a particular one of the data portion received by the first server and forwards that particular data portion to the second server; the second server after processing the particular data portion; generates a processed data portion including a tag that (i) is generated by the second server based on the processing of the particular data portion, (ii) is associated with both a specific customer and a specific one of the different data types, and (iii) is not an address or header field used for ordinary packet routing; transmits the processed data portion back to the logical routing layer; and the processed data portion includes a tag for future routing use associated with this customer and type of data.
However, in an analogous art, Dhanabalan teaches:
“a first server of the at least two different servers determines that a second server of the at least two different servers is to process only a particular one of the data portion received by the first server and forwards that particular data portion to the second server” (Paragraph [0043] (it includes a first server that receives requests from a client machine, forwards the request to a second server, and responds to the request generated by the client machine with a response from the second server))
“the second server after processing the particular data portion” (Paragraph [0043] (a response from the second server is presented to the client's request using a web interface via the first server))
“transmits the processed data portion back to the logical routing layer” (Paragraph [0039] (the server uses a remote presentation protocol or other program (logical routing layer) to send processed data to a thin-client or remote-display application executing on the client to present display output generated by an application executing on the second server)).
It would have been obvious to one of ordinary skill in the art before the effective filing date to take the teachings of Dhanabalan and apply them on teachings of Shribman and Merriman for the apparatus “a first server of the at least two different servers determines that a second server of the at least two different servers is to process only a particular one of the data portion received by the first server and forwards that particular data portion to the second server; the second server after processing the particular data portion; transmits the processed data portion back to the logical routing layer”. One would be motivated as a a server farm may include servers that execute a substantially similar type of operating system platform or it may be used having a substantially similar type of data type and may include a first group of one or more servers that execute a first type of data type, and a second group of one or more servers that execute a second type of data type (Dhanabalan, Paragraph [0041]).
Shribman, Merriman and Dhanabalan do not EXPLICITLY disclose: generates a processed data portion including a tag that (i) is generated by the second server based on the processing of the particular data portion, (ii) is associated with both a specific customer and a specific one of the different data types, and (iii) is not an address or header field used for ordinary packet routing; and the processed data portion includes a tag for future routing use associated with this customer and type of data.
However, in an analogous art, Kumarasamy teaches:
“generates a processed data portion including a tag that (i) is generated by the second server based on the processing of the particular data portion, (ii) is associated with both a specific customer and a specific one of the different data types, and (iii) is not an address or header field used for ordinary packet routing” (Paragraph [0269], Paragraph [0270] and Paragraph [0271] (a classification policy defines a taxonomy of classification terms or tags relevant to a compliance task and/or business objective, a classification policy may also associate a defined tag with a classification rule where a classification rule defines a particular combination of criteria, such as users who have created, accessed or modified a document or a specific data object or a specific file or specific application types, content or metadata keywords, specific clients or storage locations, review status or other status within a workflow, modification times or types of modifications, and/or any other data attributes in any combination without limitation, one specific type of classification tag, which may be added to an index at the time of indexing, is an entity tag (is associated with both a specific customer and a specific one of the different data types) and the storage devices may be cloud storage devices, and the storage manager may execute cloud service provider API over a network to classify data stored on cloud storage devices ( is not an address or header field used for ordinary packet routing)))
“and the processed data portion includes a tag for future routing use associated with this customer and type of data” (Paragraph [0204] and Paragraph [0220] (the metabase(s) may be stored along with primary data and/or secondary copies so that the files or other data objects can be associated with tag entries in the media agent or other indices to facilitate searches of stored data objects in the future for a specific entity (associated with this customer and type of data) and a portion of data may be given a label and the association is stored as a static entity in an index, database or other storage location)).
It would have been obvious to one of ordinary skill in the art before the effective filing date to take the teachings of Kumarasamy and apply them on teachings of Shribman, Merriman and Dhanabalan for the apparatus “generates a processed data portion including a tag that (i) is generated by the second server based on the processing of the particular data portion, (ii) is associated with both a specific customer and a specific one of the different data types, and (iii) is not an address or header field used for ordinary packet routing; and the processed data portion includes a tag for future routing use associated with this customer and type of data”. One would be motivated as the distributed architecture provides both scalability and efficient component utilization where the information management system includes a plurality of client computing devices and associated data agents as well as a plurality of secondary storage computing devices and associated media agents (Kumarasamy, Paragraph [0154]).
Claims 28, 36 and 37 are rejected under 35 U.S.C. 103 as being unpatentable over Shribman et al (US PGPUB 20220345546) in view of Merriman et al (US PGPUB 20180314750) and in further view of Dhanabalan Praveen (US PGPUB 20220318198), Kumarasamy et al (US PGPUB 20220121635) and Anzalone Joseph (US PGPUB 20060271507).
As per claim 28:
Shribman, Merriman, Dhanabalan and Kumarasamy teach the method as specified in the parent claim 26 above.
Merriman further teaches:
“wherein the plurality of different data type portions includes index data, real-time data and historical data” (Paragraph [0007] and Paragraph [0064] (the system can be configured to use zones to isolate data and/or operations, the system can be configured to use zones to route data and/or operations to shards based on hardware and/or performance like the system can be configured to use zones to designate shards that meet a first level of performance (real time data for higher speed data reas/writes), shards that meet a second level of performance (historical data or lower speed data of reads/writes) which may be lower than the first level of performance and index data information)).
Shribman, Merriman, Dhanabalan and Kumarasamy do not EXPLICITLY disclose: wherein the plurality of different data type portions includes schedule data and sensitive data.
However, in an analogous art, Anzalone teaches:
“wherein the plurality of different data type portions includes schedule data and sensitive data” (Paragraph [0011], Paragraph [0074], Paragraph [0081] and Paragraph [0130] (decisions may be made of the basis of actual data analysis and segmentation, one or more data repositories (or databases) contains public data, private data, survey data, limited access data, synthetic data, response data, intermediate result data, retained relationships (sets) data and one or more private repositories (such as for client data or other types of private or privileged data, with a separate private repository implemented for each client), one or more data warehouses)).
It would have been obvious to one of ordinary skill in the art before the effective filing date to take the teachings of Anzalone and apply them on teachings of Shribman, Merriman, Dhanabalan and Kumarasamy for the method “wherein the plurality of different data type portions includes schedule data and sensitive data”. One would be motivated as the partitioned database storage may be embodied as one or more databases, and includes without limitation a general information and attribute data repository, a linkage repository, a retained relationship linkage repository, a metadata repository such as for parameterized metadata (as may be specified or selected by a client or other data user), one or more private repositories (such as for client data or other types of private or privileged data, with a separate private repository implemented for each client), one or more data warehouses, and one or more data marts (Anzalone, Paragraph [0081]).
As per claim 36, the claim is rejected based upon the same rationale given for the parent claim 34 and the claim 28 above.
As per claim 37, the claim is rejected based upon the same rationale given for the parent claim 36 and the claim 29 above.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Mishra et al, (US PGPUB 20160342655), this application discloses a server for handling data reporting requests in a system that also comprises storage managers, primary storage devices, and secondary storage devices connected over one or more networks. The server receives, from each storage manager, a copy of data associated with the storage manager, and stores the received copies in one or more local databases. The server builds offline one or more indices for part or all of the received copies to improve query processing against the one or more local databases. Next, the server receives a request over a network from one of the storage managers or a standalone console, which received the request from a user for a report of data associated with the storage managers.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to KAMAL K DEWAN whose telephone number is (571)272-2196. The examiner can normally be reached on Mon-Fri 8:00 AM – 5:00 PM (EST). If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, TONY MAHMOUDI can be reached on 571-272-4078. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from Patent Center. Status information for published applications may be obtained from Patent Center. Status information for unpublished applications is available through Patent Center to authorized users only. Should you have questions about access to Patent Center, 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.
/Kamal K Dewan/
Examiner, Art Unit 2163
/TONY MAHMOUDI/Supervisory Patent Examiner, Art Unit 2163