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 .
Claims 1-20 have been examined.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 14-17 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claim 14 recites the limitation "the method" in line 3. There is insufficient antecedent basis for this limitation in the claim. Therefore, this limitation is interpreted as “a method”.
Claims 15-17 are rejected for dependency upon rejected base claim 14 above.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claim(s) 1-6 and 14-17 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Gould (US 9,459,920).
Per Claim 1:
Gould teaches:
- obtaining calling context information of a target function; obtaining encoding values corresponding to creation relationships between a plurality of threads in program code, wherein the program code comprises the target function (“… determining, using said disable bit mask array, for each other code layer that is supported which may possibly issue a create thread call to said first code layer using said interface of said first code layer to create a thread, whether said each other code layer issued said create thread call in said first plurality of calls; and setting a data item to have a value in accordance with said determining, said data item being included in first thread-specific context information for said thread for said first code layer. Issuing the second plurality of calls may include executing second code of said first code layer that determines, using said first thread-specific information for said thread for said first code layer, whether to invoke a birth callback of each other code layer which may possibly issue said create thread call to said first code layer to create a thread. …” in column 3, lines 17-31)
- and encoding, based on the calling context information of the target function and the encoding values corresponding to the creation relationships between the plurality of threads, a context of a thread to which the target function belongs, to obtain an encoding result of the context of the thread to which the target function belongs (“… Referring to FIG. 14A, shown is an example illustrating the thread-specific context information that may be used for the TR1 regime in connection with the third example in an embodiment in accordance with techniques herein. The example 1350 includes fields 1352a thread body, thread body context 1352b, and CSE_API_thread_handle 1352c as described elsewhere herein, such as in connection with the second example and FIG. 11. Additionally, the thread-specific context information for the TR1 regime may also include field 1352d errno_value, which may be an integer field including a value for the error number encoding a status regarding execution of the last TR1 function or routine executed. As known in the art, errno is a well known Unix thread-specific value that may be set to any one of multiple predefined error number values each denoting a different error status regarding execution of the last function or routine for an executing thread. …” in column 36, lines 45-61).
Per Claim 2:
Gould teaches:
- wherein the plurality of threads in the program code comprise a parent thread and a child thread, a thread creation function in the parent thread is used to create the child thread, and an encoding value corresponding to a creation relationship between the parent thread and the child thread corresponds to a function calling context of the thread creation function in the parent thread (column 2, lines 2-15).
Per Claim 3:
Gould teaches:
- wherein the encoding result of the context of the thread to which the target function belongs indicates a thread entry function in the thread to which the target function belongs and an encoding value of the context of the thread to which the target function belongs (column 3, lines 17-31).
Per Claim 4:
Gould teaches:
- obtaining encoding values corresponding to call relationships between a plurality of functions in the plurality of threads in the program code; and encoding, based on the calling context information of the target function and the encoding values corresponding to the call relationships between the plurality of functions in the plurality of threads in the program code, a function calling context of the target function in the thread to which the target function belongs, to obtain an encoding result of the function calling context of the target function in the thread to which the target function belongs (column 36, lines 45-61).
Per Claim 5:
Gould teaches:
- wherein the encoding result of the function calling context of the target function in the thread to which the target function belongs indicates the target function and an encoding value of the function calling context of the target function in the thread to which the target function belongs (column 36, lines 45-61).
Per Claim 6:
Gould teaches:
- wherein the calling context information of the target function comprises a function call string of the target function (column 36, lines 53-61).
Per Claims 14-17:
These are apparatus versions of the claimed method discussed above (claims 1-4, respectively), wherein all claim limitations also have been addressed and/or covered in cited areas as set forth above. Thus, accordingly, these claims are also anticipated by Gould.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 7-9, 11-13 and 18-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Gould (US 9,459,920) in view of Gabor (US 2007/0124736).
Per Claim 7:
Gould teaches obtaining an encoding result of a calling context of a target function; obtaining encoding values corresponding to creation relationships between a plurality of threads in program code, wherein the program code comprises the target function; obtaining encoding values corresponding to call relationships between a plurality of functions in the plurality of threads in the program code (column 3, lines 17-31 and column 36, lines 45-61), and determining the encoding result of the calling context of the target function based on the encoding values corresponding to the creation relationships between the plurality of threads in the program code and the encoding values corresponding to the call relationships between the plurality of functions in the plurality of threads in the program code, to obtain a function call string of the target function (column 21, lines 50-53 and column 36, lines 45-61). Gould does not explicitly teach decoding the result of the calling context of the target function.
However, Gabor teaches decoding the result of the calling context of the target function (par. 0023).
It would have been obvious to one having ordinary skill in the computer art before the effective filing date of the claimed invention to modify the method disclosed by Gould to include decoding the result of the calling context of the target function using the teaching of Gabor. The modification would be obvious because one of ordinary skill in the art would be motivated to utilize idle OS-managed thread execution units to run speculative or non-speculative acceleration threads (par. 0017).
Per Claim 8:
This is another version of the claimed method discussed above (claim 2, respectively), wherein all claim limitations also have been addressed and/or covered in cited areas as set forth above. Thus, accordingly, this claim is also obvious.
Per Claim 9:
This is another version of the claimed method discussed above (claims 3-5, respectively), wherein all claim limitations also have been addressed and/or covered in cited areas as set forth above. Thus, accordingly, this claim is also obvious.
Per Claim 11:
The rejection of claim 7 is incorporated, and Gould further teaches providing an API, wherein an input of the API comprises the encoding result of the calling context of the target function, and an output of the API comprises the function call string of the target function (column 9, lines 36-66).
Per Claim 12:
The rejection of claim 11 is incorporated, and Gould further teaches wherein the input of the API comprises a first element, a second element, a third element, and a fourth element, the first element indicates a thread entry function in a thread to which the target function belongs, the second element indicates the encoding value of a context of the thread to which the target function belongs, the third element indicates the target function, and the fourth element indicates the encoding value of the function calling context of the target function in the thread to which the target function belongs (column 10, lines 27-42).
Per Claim 13:
The rejection of claim 11 is incorporated, and Gould further teaches wherein the input of the API comprises a fifth element, a sixth element, and a seventh element, the fifth element indicates a thread entry function in a thread to which the target function belongs and the encoding value of a context of the thread to which the target function belongs, the sixth element indicates the target function, and the seventh element indicates the encoding value of the function calling context of the target function in the thread to which the target function belongs (column 10, lines 8-42).
Per Claims 18-20:
These are apparatus versions of the claimed method discussed above (claims 7-9, respectively), wherein all claim limitations also have been addressed and/or covered in cited areas as set forth above. Thus, accordingly, these claims are also obvious.
Allowable Subject Matter
Claim 10 is objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Rhee (US 2014/0068351) teaches a method for monitoring a calling context at runtime.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to QAMRUN NAHAR whose telephone number is (571)272-3730. The examiner can normally be reached Monday - Friday 8-4pm.
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, Lewis Bullock can be reached on (571)272-3759. 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.
/QAMRUN NAHAR/Primary Examiner, Art Unit 2199