DETAILED ACTION
Claims 1, 2, 4, 5, 8, 9, 11, 12, 15, 16, 18, 19, and 21-28 are pending.
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 .
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 1, 2, 4, 5, 8, 9, 11, 12, 15, 16, 18, 19, and 21-28 are rejected under 35 U.S.C. 103 as being unpatentable over Hildebrand et al. (US 2013/0054808 A1) in further view of Mishra et al. (US 7,669,029 B1).
Regarding claim 1, Hildebrand teaches an information processing method performed by a first communication device, comprising:
sending a first query request ([0049] The resource manager (870) functions in response to receipt of a workload by the management server (820) from the client machine (810).; wherein the client machine is the first communication device);
wherein the first query request comprises at least one of the following:
computing power requirement information of a computing power task ([0006] receipt of a workload requiring optimization and based upon both the workload requirements; [0049] Workload requirements include, but are not limited to speed in the form of I/O per second and bandwidth.); and
computing power requirement information of a service ([0036] Examples of workloads and functions which may be provided from this layer includes, but is not limited to: mapping and navigation; software development and lifecycle management; virtual classroom education delivery; data analytics processing; operation processing; and management and performance associated with hybrid workloads within the cloud computing environment.; [0049] Workload requirements include, but are not limited to speed in the form of I/O per second and bandwidth).
While Hildebrand teaches workload requirements such as speed, Hildebrand does not explicitly teach wherein the computing power requirement information comprises at least one of the following:
a required floating point computing amount;
a quantity of required processor cores;
a required multiply accumulate operation;
a quantity of required graphics processor cores;
a required dominant frequency of a processor/graphics processor;
a required multiple frequency of a processor/graphics processor;
a required integer unit of a processor/graphics processor;
a required floating point unit of a processor/graphics processor; and
a required output speed of a computed hash function.
However, in a similar field of endeavor, Mishra discusses a method for automatically load balancing one or more workload groups to a set of available physical resources of a data storage system, and generating a layout planning recommendation of the set of available physical resources that supports the one or more workload groups based on the load balancing (See at least Abstract). Further, Mishra teaches wherein the computing power requirement information comprises (Col. 3, lines 6-12: The workload groups may be input by the user, or alternatively, be input from the calling application program. The workload groups may include, for example, as described herein, a capacity requirement, a performance requirement, a reliability requirement, general configuration requirements, and/or one or more workload entities, such as logs, databases, volumes, files, aggregates, or the like.) at least one of the following:
a required floating point computing amount;
a quantity of required processor cores (Col. 15, lines 41-51: The load balancing of this embodiment is performed using a two-dimensional bin packing process that considers 1) the amount of processing required by each of the workload groups (e.g., processing requirement 505) and the number of storage devices in each workload group (e.g., capacity requirement 506) as the two bin packing parameters. In this particular embodiment, the performance requirement 506 is selected as the more important parameter. The set of available physical resources includes the amount of available processing resources 503 (e.g., number of processors or CPU headroom) on each storage server);
a required multiply accumulate operation;
a quantity of required graphics processor cores;
a required dominant frequency of a processor/graphics processor;
a required multiple frequency of a processor/graphics processor;
a required integer unit of a processor/graphics processor;
a required floating point unit of a processor/graphics processor; and
a required output speed of a computed hash function.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Mishra of further defining the workload requirements as an amount of processors with the workload requirements of Hildebrand as it is well known for workloads definitions to include processing power. The modification would have been motivated by the desire of combining known task scheduling methods to yield predictable results.
Regarding claim 2, Hildebrand teaches an information processing method performed by a second communication device, comprising:
obtaining first information, wherein the first information comprises a first query request ([0049] The resource manager (870) functions in response to receipt of a workload by the management server (820) from the client machine (810). Wherein the workload management server 820 is the second communication device), or the first information comprises the first query request and computing power status information of a server ([0049] Workload requirements include, but are not limited to speed in the form of I/O per second and bandwidth.); and
performing a first operation according to the first information ([0049] The resource manager (870) functions in response to receipt of a workload by the management server (820) from the client machine (810).);
wherein the first operation comprises:
querying a first server according to the first information ([0049] The resource manager (870) functions in response to receipt of a workload by the management server (820) from the client machine (810). More specifically, the resource manager (870) tracks resource utilization across storage servers (830), (840), and (850) to support both serial and parallel workloads.; Fig. 5, Step 504 Send request to each server for load information; wherein the request for load information is the second query, the first query is the received workload); Fig. 5, Step 504 Send request to each server for load information; [0042] the load information is solicited from each individual storage server, and each storage server response to the request with individual load information (506). In one embodiment, the load information may include, but is not limited characteristics associated with the CPU, network, storage network, number of mounted client, etc.; [0049] The resource manager (870) functions in response to receipt of a workload by the management server (820) from the client machine (810).; [0042] In one embodiment, the load information may include, but is not limited characteristics associated with the CPU, network, storage network, number of mounted client, etc.; [0043] As shown, the server receives a layout request from a client workstation (602). In response to the request, load information is ascertained from the stored load results for each server (604). The stored results together with at least one of the optimization algorithms described in either the first or second aspect are employed to calculate a set of data servers to which I/O request can be proportioned in parallel (606).);
wherein the first query request comprises at least one of the following:
computing power requirement information of a computing power task ([0006] receipt of a workload requiring optimization and based upon both the workload requirements; [0049] Workload requirements include, but are not limited to speed in the form of I/O per second and bandwidth.); and
computing power requirement information of a service ([0036] Examples of workloads and functions which may be provided from this layer includes, but is not limited to: mapping and navigation; software development and lifecycle management; virtual classroom education delivery; data analytics processing; operation processing; and management and performance associated with hybrid workloads within the cloud computing environment.; [0049] Workload requirements include, but are not limited to speed in the form of I/O per second and bandwidth).
While Hildebrand teaches workload requirements such as speed, Hildebrand does not explicitly teach wherein the computing power requirement information comprises at least one of the following:
a required floating point computing amount;
a quantity of required processor cores;
a required multiply accumulate operation;
a quantity of required graphics processor cores;
a required dominant frequency of a processor/graphics processor;
a required multiple frequency of a processor/graphics processor;
a required integer unit of a processor/graphics processor;
a required floating point unit of a processor/graphics processor; and
a required output speed of a computed hash function.
However, in a similar field of endeavor, Mishra discusses a method for automatically load balancing one or more workload groups to a set of available physical resources of a data storage system, and generating a layout planning recommendation of the set of available physical resources that supports the one or more workload groups based on the load balancing (See at least Abstract). Further, Mishra teaches wherein the computing power requirement information comprises (Col. 3, lines 6-12: The workload groups may be input by the user, or alternatively, be input from the calling application program. The workload groups may include, for example, as described herein, a capacity requirement, a performance requirement, a reliability requirement, general configuration requirements, and/or one or more workload entities, such as logs, databases, volumes, files, aggregates, or the like.) at least one of the following:
a required floating point computing amount;
a quantity of required processor cores (Col. 15, lines 41-51: The load balancing of this embodiment is performed using a two-dimensional bin packing process that considers 1) the amount of processing required by each of the workload groups (e.g., processing requirement 505) and the number of storage devices in each workload group (e.g., capacity requirement 506) as the two bin packing parameters. In this particular embodiment, the performance requirement 506 is selected as the more important parameter. The set of available physical resources includes the amount of available processing resources 503 (e.g., number of processors or CPU headroom) on each storage server);
a required multiply accumulate operation;
a quantity of required graphics processor cores;
a required dominant frequency of a processor/graphics processor;
a required multiple frequency of a processor/graphics processor;
a required integer unit of a processor/graphics processor;
a required floating point unit of a processor/graphics processor; and
a required output speed of a computed hash function.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Mishra of further defining the workload requirements as an amount of processors with the workload requirements of Hildebrand as it is well known for workloads definitions to include processing power. The modification would have been motivated by the desire of combining known task scheduling methods to yield predictable results.
Regarding claim 4, Hildebrand teaches wherein the computing power status information comprises at least one of the following:
a computing power remaining status or a computing power available status ([0038] The variable Ar.sub.i is a metric employed to represent available resources, such as bandwidth, for storage server i. In addition, a metric C(Ar.sub.i, r) is employed to represent all possible sets of storage servers, n, and their available resources. The variable r represents the quantity of storage servers. [0042] More specifically, the load information is solicited from each individual storage server, and each storage server response to the request with individual load information (506). In one embodiment, the load information may include, but is not limited characteristics associated with the CPU, network, storage network, number of mounted client, etc.; [0049] In one embodiment, the resource manager (870) validates resource availability in a continuous manner and allocates and re-allocates resources based on the validation. Resources include, but are not limited to, available network bandwidth, available storage bandwidth, quantity of current connection, and processing unit resources. In one embodiment, the resources may be expanded to include additional elements.); total computing power;
a computing power use status ([0041]);
a predicted future computing power use status ([0041] If workloads are already deployed in the cluster of storage server nodes, the algorithm accounts for the predicted load of the existing workload. More specifically, the current workload is represented by the array U, which represents the predicted load on storage server i based on one or more existing workloads); and
a computing power use status in a past first period of time.
Regarding claim 5, Hildebrand teaches wherein the first operation further comprises: obtaining the first server, and sending index information of the first server ([0043] As shown, the server receives a layout request from a client workstation (602). In response to the request, load information is ascertained from the stored load results for each server (604). The stored results together with at least one of the optimization algorithms described in either the first or second aspect are employed to calculate a set of data servers to which I/O request can be proportioned in parallel (606). More specifically, the combination of data at step (606) facilitates determining how to apportion the I/O request, e.g. layout, so as to proportionally distribute the associated load. The layout is then returned to the requesting client workstation (608). Accordingly, the layout generated herein pertains to distributing parallel workloads across one or more data servers in a proportional manner.; [0044] As indicated above, the workload to be serviced may include a hybrid workload entailing both a parallel workload aspect and a serial workload aspect.).
Regarding claim 8, it is a system type claim having similar limitations as claim 1 above. Therefore, it is rejected under the same rationale above. Further the additional limitations “A first communication device, comprising: a memory, configured to store a program or an instruction; and a processor, wherein the program or the instruction, when executed by the processor, causes the first communication device to perform the information processing method according to claim 1.” Are taught by Hildebrand in [0059] “Aspects of the present invention are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.”
Regarding claim 9, it is a system type claim having similar limitations as claim 2 above. Therefore, it is rejected under the same rationale above. Further, the additional limitations “a memory, configured to store a program or an instruction, and a processor, wherein the program or the instruction, when executed by the processor, causes the second communication device to” are taught by Hildebrand in [0059]
Regarding claim 11, it is a system type claim having similar limitations as claim 4 above. Therefore, it is rejected under the same rationale above.
Regarding claim 12, it is a system type claim having similar limitations as claim 5 above. Therefore, it is rejected under the same rationale above.
Regarding claim 15, it is a media/product type claim having similar limitations as claim 1 above. Therefore, it is rejected under the same rationale above.
Regarding claim 16, it is a media/product type claim having similar limitations as claim 2 above. Therefore, it is rejected under the same rationale above.
Regarding claim 18, it is a media/product type claim having similar limitations as claim 4 above. Therefore, it is rejected under the same rationale above.
Regarding claim 19, it is a media/product type claim having similar limitations as claim 5 above. Therefore, it is rejected under the same rationale above.
Regarding claim 21, Hildebrand teaches wherein the first operation further comprises at least one of the following:
a second query request (Fig. 5, Step 504 Send request to each server for load information; wherein the request for load information is the second query, the first query is the received workload);
querying the first server according to the second query request(Fig. 5, Step 504 Send request to each server for load information; [0042] the load information is solicited from each individual storage server, and each storage server response to the request with individual load information (506). In one embodiment, the load information may include, but is not limited characteristics associated with the CPU, network, storage network, number of mounted client, etc.; [0049] The resource manager (870) functions in response to receipt of a workload by the management server (820) from the client machine (810).); and
sending the second query request to complete at least one of the following:
determining a computing power resource allocation request ([0042] In one embodiment, the load information may include, but is not limited characteristics associated with the CPU, network, storage network, number of mounted client, etc.); and
sending the computing power resource allocation request ([0043] As shown, the server receives a layout request from a client workstation (602). In response to the request, load information is ascertained from the stored load results for each server (604). The stored results together with at least one of the optimization algorithms described in either the first or second aspect are employed to calculate a set of data servers to which I/O request can be proportioned in parallel (606).).
Regarding claim 22, Hildebrand teaches wherein the second query request comprises at least one of the following:
computing power requirement information of a computing power task ([0049] Workload requirements include, but are not limited to speed in the form of I/O per second and bandwidth) and/or computing power requirement information of a service;
location information of a first communication device;
network-selected user plane information; and
data network access identifier DNAI information.
Regarding claim 23, Hildebrand teaches wherein the first server satisfies at least one of the following:
the first server satisfies the first query request or the second query request ([0005]; [0037]; [0038]; [0043] Accordingly, the layout generated herein pertains to distributing parallel workloads across one or more data servers in a proportional manner.);
the first server satisfies the computing power resource allocation request;
a physical distance between the first server and a first communication device is the shortest;
a routing distance or a delay between the first server and the first communication device is the shortest; and/or
a candidate server satisfies the first query request or the second query request ([0005]; [0037]; [0038]; [0043]).
Regarding claim 24, Hildebrand teaches wherein the computing power resource allocation request comprises at least one of the following:
index information of the candidate server;
a computing power resource allocation request identifier ID;
a computing power resource status occupied in the request;
computing power task completion time and/or service completion time;
computing power task start time and/or service start time; and
computing power task description information and/or service description information ([0049]).
Regarding claims 25-28, they are system type claims having similar limitations as claim 21-24 above. Therefore, it is rejected under the same rationale above.
Response to Arguments
Applicants’ arguments with respect to claims 1, 2, 4, 5, 8, 9, 11, 12, 15, 16, 18, 19, and 21-28 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Conclusion
Applicants’ amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JORGE A CHU JOY-DAVILA whose telephone number is (571)270-0692. The examiner can normally be reached Monday-Friday, 6:00am-5:00pm.
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, Aimee J Li can be reached at (571)272-4169. 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.
/JORGE A CHU JOY-DAVILA/Primary Examiner, Art Unit 2195