DETAILED ACTION
Claims 1-6, 8-14, 16-19, 21-26 and 29-30 are pending in the current application.
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 .
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114 was filed in this application after appeal to the Patent Trial and Appeal Board, but prior to a decision on the appeal. 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 appeal has been withdrawn pursuant to 37 CFR 1.114 and prosecution in this application has been reopened pursuant to 37 CFR 1.114. Applicant’s submission filed on 11/17/25 has been entered.
Response to Arguments
Applicant’s arguments, see Remarks, filed 11/17/25, with respect to the rejection of claim 1 under 103 have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground of rejection is made in view of Hossain et al. (Pub. No. US 2011/0276610 A1) [0008] lines 15-19, [0049] lines 1-12, [0051] lines 1-13, [0052] lines 4-8, [0055] lines 62-66 [0058] lines 3-7, [0059] lines 1-9 and [0074] lines 12-23 which shows that after a software crash, viewed as a type of termination of a run time process, being able to view and analyze heap dump file, thus being type of persistent heap dump file, by being able to load and thus viewed as access the raw heap dump file that was a snapshot of the heap of working memory, heap memory, associated with the running software application run time process and being able to parse, analyze and extract information from the heap dump to recreate the associated objects from the heap dump file where the extracted raw heap dump data that is extracted can include at least class information
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 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, 3, 5, 10-11, 16, 19 and 25 are rejected under 35 U.S), in view of Prashanth (Pub. No. US 2013/0263133 A1), in view of Goertz (Patent No. US 7,958,501 B2), and further in view of Vick et al. (Pub. No. US 2015/0046912 A1)
As to claim 1, Hossain discloses one or more non-transitory computer-readable media having executable instructions embodied thereon that, when executed by a processor of a computing device, perform a method, the method comprising:
accessing, after termination of a runtime process, a persisted heap dump file comprising a set of raw heap dump data corresponding to a heap dump from heap memory of the terminated runtime process (Hossain [0008] lines 15-19, [0049] lines 1-12, [0051] lines 1-13, [0052] lines 4-8, [0055] lines 62-66 [0058] lines 3-7, [0059] lines 1-9; which shows that after a software crash, viewed as a type of termination of a run time process, being able to view and analyze heap dump file, thus being type of persistent heap dump file, by being able to load and thus viewed as access the raw heap dump file that was a snapshot of the heap of working memory, heap memory, associated with the running software application run time process and being able to parse, analyze and extract information from the heap dump);
extracting, from the persisted heap dump file, raw heap dump data, representing an object that correspond to at least one of a particular object class, a particular field, or a particular value, from the set of raw heap dump data corresponding to the heap dump (Hossain [0008] lines 15-19, [0049] lines 1-12, [0051] lines 1-13, [0052] lines 4-8, [0055] lines 62-66 [0058] lines 3-7, [0059] lines 1-9 and [0074] lines 12-23; which shows being able to view and analyze heap dump file after a crash, thus being type of persistent heap dump file, by being able to load and thus viewed as access the raw heap dump file that was a snapshot of the heap of working memory, heap memory, associated with the running software application run time process and being able to parse, analyze and extract information from the heap dump to recreate the associated objects from the heap dump file where the extracted raw heap dump data that is extracted can include at least class information for the associated object).
Hossain does not specifically disclose generating, within a virtual machine, the object from the raw heap dump data by transforming content in the raw heap dump data into the object; executing a call or a method on the object generated; executing a call or a method on the object generated
However, Prashanth discloses generating, within a virtual machine, the object from the raw heap dump data by transforming content in the raw heap dump data into the object (Prashanth [0014] lines 1-11, [0016] lines 1-4 and [0019] lines 1-8; which shows the ability to recreate/reconstruct on a local virtual machine an instance of the object based on previous data information about the runtime state of the object, this can be viewed as related to the raw heap dump data that reflects the state of the object at a particular time of the creation of the heap dump data file where the specifics of the heap dump data including that specific object information is seen specifically disclose in teachings below of Hossain above);
executing a call or a method on the object generated (Prashanth [0020] lines 1-5; which shows that the call for the object is fulfilled and directed to the local/recreated instance of the object that has been generated)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Prashanth creating an object on a virtual machine by reconstruction of the object from information on that object into the object information in the heap dump of Hossain for the purpose of improving communication of information by allowing for reconstructions of objects on different virtual machines as taught by Prashanth [0014] lines 1-11.
Hossain as modified by Prashanth does not specifically show identifying an internal structure of the object generated.
However, Goertz discloses, identifying an internal structure of the object generated (Goertz Col. 2 lines 38-46; which shows being able to provide knowledge of the internal structure of the classes associated with the objects thus viewed as having the internal structure of those objects identified so as to provide that information where the specifics of the object being generated are seen specifically discloses above in the teachings of Hossain).
Therefore, it would have neem obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Goertz showing the internal structure of an object, into the object generation of Hossain as modified by Prashanth for the purpose of increasing detail provided for use on the class information to include use stored internal structure to create future instances and thus generate more accurate information based on more details provided for use, as taught by Goertz Col. 2 lines 41-46.
Hossain as modified by Prashanth, and Goertz do not specifically disclose the executed call or method to print the object to a string, wherein the string provides the internal structure of the object.
However, Vick discloses the executed call or method to print the object to a string, wherein the string provides the internal structure of the object (Vick [0052] lines 1-9; which shows the ability to execute a call that is able to convert the object to the string and print the object as a string and since the information of the object is viewed as converted to a string then viewed as would provide the internal structure of the converted object as it is the object information in string from, where it is seen the specifics of the internal structure of the object disclosed specifically above in the teaching of Goertz).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Vick showing the printing string into the transforming object data to string of Hossain as modified by Prashanth and Goertz for the purpose of increasing ease of user understanding by being able to visually output/display desired usability by providing print output of the object information for later use, as taught by Vick [0052] lines 1-9.
As to claim 3, Hossain discloses wherein the virtual machine is a Java virtual machine (Hossain [0050] lines 2-9; which shows the specifics of the VM being a java virtual machine).
As to claim 5, Hossain discloses wherein the raw heap dump data represents the content of the object (Hossain [0008] lines 15-19, [0049] lines 1-12 and [0051] lines 1-13; which shows the data of the heap dump includes information about the object in the heap dump such as dependencies, referential data, type of class, amount or memory, memory address of associated objects, viewed as information representing the content of the objects)
As to claim 10, Hossain discloses one or more non-transitory computer-readable media having executable instructions embodied thereon that, when executed by a processor of a computing device, perform a method, the method comprising:
accessing, after termination of a runtime process, a persisted heap dump file comprising a set of raw heap dump data corresponding to a heap dump from heap memory of the terminated runtime process (Hossain [0008] lines 15-19, [0049] lines 1-12, [0051] lines 1-13, [0052] lines 4-8, [0055] lines 62-66 [0058] lines 3-7, [0059] lines 1-13; which shows that after a software crash, viewed as a type of termination of a run time process, being able to view and analyze heap dump file, thus being type of persistent heap dump file, by being able to load and thus viewed as access the raw heap dump file that was a snapshot of the heap of working memory, heap memory, associated with the running software application run time process and being able to parse, analyze and extract information from the heap dump);
receiving an indication of an object identifier corresponding to an object represented in the persisted heap dump file (Hossain [0008] lines 15-19, [0049] lines 1-12, [0051] lines 1-13, [0052] lines 4-8, [0055] lines 62-66 [0058] lines 3-7, [0059] lines 1-25, [0062] lines 1-10, [0063] lines 1-8 and [0106] lines 1-6; which shows the ability process and analyze the heap dump with the ability to receive object queries/input associated with objects in the heap dump, where queries are based on object query language and is able to select target specific object based on data/parameters about the objects seen from examples, where the data/parameters of the objects are viewed as the information about the object in the heap dump file that can include information such as type or memory address of each object or specific object selection viewed as a type of object identifier corresponding to an object represented in persisted heap dump file);
identifying, based on the object identifier, raw heap dump data that represents the object that corresponds to at least one of a particular class, a particular field, or a particular value, from the set of raw heap dump data corresponding to the heap dump (Hossain [0008] lines 15-19, [0049] lines 1-12, [0051] lines 1-13, [0052] lines 4-8, [0055] lines 62-66 [0058] lines 3-7, [0059] lines 1-25, [0062] lines 1-10, [0063] lines 1-8, [0074] lines 12-23 and [0106] lines 1-6; which shows being able to retrieve and access the raw heap dump data, from the heap dump file, viewed as persistent as it remains for parsing and analysis after system crash/termination, where the raw heap dump data is processed, parsed analyzed and associated object information can be extracted/retrieved/determined from the heap dump data based on associated object queries of the heap dump data, where a specific/individual object can be selected for the analysis/query viewed as a type of associated object identifier based on query input/selection, where the other object information in the raw heap dump data that can determined/identified from the selection/query can include object data that includes at least data class type information associated with that object that).
Hossain does not specifically disclose loading the raw heap dump data that represents the object into a virtual machine; generating, within the virtual machine the object from the raw heap dump data by transforming content in the raw heap dump data into the object; executing a call or a method on the object generated.
However, Prashanth discloses loading the raw heap dump data that represent the object into a virtual machine (Prashanth [0014] lines 1-11, [0016] lines 1-4 and [0019] lines 1-8; which shows that transfer of data from one heap to another heap, where the data represents the object information that can be used in the recreation of the object on its new host/destination virtual machine)
generating, within a virtual machine, an object from the raw heap dump data by transforming content in the raw heap dump data into the object (Prashanth [0014] lines 1-11, [0016] lines 1-4 and [0019] lines 1-8; which shows the ability to recreate/reconstruct on a local virtual machine an instance of the object based on previous data information about the runtime state of the object, this can be viewed as related to the raw heap dump data that reflects the state of the object in its current execution environment at the time of the creation of the heap dump data file where the specifics of the heap dump data including that specific object information is seen specifically disclose in teachings Hossain above);
executing a call or a method on the object generated (Prashanth [0020] lines 1-5; which shows that the call for the object is fulfilled and directed to the local/recreated instance of the object that has been generated)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Prashanth creating an object on a virtual machine by reconstruction of the object from information on that object into the object information in the heap dump of Hossain for the purpose of improving communication of information by allowing for reconstructions of objects on different virtual machines as taught by Prashanth [0014] lines 1-11.
Hossain as modified by Prashanth does not specifically show identifying an internal structure of the object generated.
However, Goertz discloses, identifying an internal structure of the object generated (Goertz Col. 2 lines 38-46; which shows being able to provide knowledge of the internal structure of the classes associated with the objects thus viewed as having the internal structure of those objects identified so as to provide that information where the specifics of the object being generated are seen specifically discloses above).
Therefore, it would have neem obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Goertz showing the internal structure of an object, into the object generation of Hossain as modified by Prashanth for the purpose of increasing detail provided for use on the class information to include use stored internal structure to create future instances and thus generate more accurate information based on more details provided for use, as taught by Goertz Col. 2 lines 41-46.
Hossain as modified by Prashanth and Goertz do not specifically disclose the executing call or method to print the object to a string, wherein the string provides the internal structure of the object.
However, Vick discloses the executing call or method to print the object to a string, wherein the string provides the internal structure of the object (Vick [0052] lines 1-9; which shows the ability to execute a call that is able to convert the object to the string and print the object as a string and since the information of the object is viewed as converted to a string then viewed as would provide the internal structure of the converted object as it is the object information in string from, where it is seen the specifics of the internal structure of the object disclosed specifically above).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Vick showing the printing string into the transforming object data to string of Hossain as modified by Prashanth and Goertz for the purpose of increasing ease of user understanding by being able to visually output/display desired usability by providing print output of the object information for later use, as taught by Vick [0052] lines 1-9.
As to claim 11, Hossain discloses wherein the object identifier is an object name, an object address, a class, or a field (Hossain [0049] lines 1-12, [0051] lines 1-13, [0052] lines 4-8, [ [0059] lines 1-25, [0062] lines 1-10, [0063] lines 1-8 and [0106] lines 1-6; which shows that a query of the heap dump based on object query language can include data type such as class intensifier based query associated with the object).
As to claim 16, Hossain as modified by Prashanth and Goertz does not specifically disclose, however, Vick discloses wherein the string specifies a value for the object (Vick [0052] lines 1-9; which shows the printing of the string object thus having a specific value/information associated with the string for it to be printed).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Vick showing the printing string into the transforming object data to string of Hossain as modified by Prashanth and Goertz for the purpose of increasing ease of user understanding by being able to visually output/display desired usability by providing print output of the object information for later use, as taught by Vick [0052] lines 1-9.
As to claim 19, Hossain discloses a system comprising: one or more processors configured to (Hossain [0111] lines 1-8):
access, after termination of a runtime process, a persisted heap dump file comprising a set of raw heap dump data corresponding to a heap dump from heap memory of the terminated runtime process (Hossain [0008] lines 15-19, [0049] lines 1-12, [0051] lines 1-13, [0052] lines 4-8, [0055] lines 62-66 [0058] lines 3-7, [0059] lines 1-13; which shows that after a software crash, viewed as a type of termination of a run time process, being able to view and analyze heap dump file, thus being type of persistent heap dump file, by being able to load and thus viewed as access the raw heap dump file that was a snapshot of the heap of working memory, heap memory, associated with the running software application run time process and being able to parse, analyze and extract information from the heap dump)
receive input that identifies an object corresponding to an object identifier within the persisted heap dump file (Hossain [0008] lines 15-19, [0049] lines 1-12, [0051] lines 1-13, [0052] lines 4-8, [0055] lines 62-66 [0058] lines 3-7, [0059] lines 1-25, [0062] lines 1-10, [0063] lines 1-8 and [0106] lines 1-6; which shows the ability process and analyze the heap dump with the ability to receive object queries/input associated with objects in the heap dump, where queries are based on object query language and is able to select/identify target specific object based on data/parameters about the objects viewed as type of input that identifies/target object within the persisted heap dump file);
locate raw heap dump data from the set of raw heap dump data that represents the object identified from the input (Hossain [0008] lines 15-19, [0049] lines 1-12, [0051] lines 1-13, [0052] lines 4-8, [0055] lines 62-66 [0058] lines 3-7, [0059] lines 1-25, [0062] lines 1-10, [0063] lines 1-8, [0074] lines 12-23 and [0106] lines 1-6; which shows being able to retrieve and access and thus locate the raw heap dump data, from the heap dump file, where the raw heap dump data is processed, parsed analyzed and associated object information can be extracted/retrieved/determined from the heap dump data based on associated object queries of the heap dump data, where a specific/individual object can be selected for the analysis/query based on specific identifier variable selection associated with the query/selection viewed as the object input identifier used to locate and retrieve object data from the heap dump);
retrieve the raw heap dump data that represents the object from the persisted heap dump file (Hossain [0008] lines 15-19, [0049] lines 1-12, [0051] lines 1-13, [0052] lines 4-8, [0055] lines 62-66 [0058] lines 3-7, [0059] lines 1-25, [0062] lines 1-10, [0063] lines 1-8, [0074] lines 12-23 and [0106] lines 1-6; which shows being able to retrieve and access the raw heap dump data, from the persisted heap dump file, where the raw heap dump data is processed, parsed analyzed and associated object information can be extracted/retrieved/determined from the heap dump data based on associated object queries of the heap dump data, where a specific/individual object can be selected for the analysis/query based on specific identifier variable selection associated with the query/selection viewed as the object input identifier used to locate and retrieve object data from the heap dump).
Hossain does not specifically disclose load the raw heap dump data that represents the object into a virtual machine; generate, within the virtual machine, the object from the raw heap dump data by transforming content in the raw heap dump data into the object within the virtual machine; and execute a call or a method on the object generated.
However, Prashanth discloses load the raw heap dump data that represent the object into a virtual machine (Prashanth [0014] lines 1-11, [0016] lines 1-4 and [0019] lines 1-8; which shows that transfer of data from one heap to another heap, where the data represents the object information that can be used in the recreation of the object on its new host/destination virtual machine)
generating, within the virtual machine, the object from the raw heap dump data by transforming content in the raw heap dump data into the object (Prashanth [0014] lines 1-11, [0016] lines 1-4 and [0019] lines 1-8; which shows the ability to recreate/reconstruct on a local virtual machine an instance of the object based on previous data information about the runtime state of the object, this can be viewed as related to the raw heap dump data that reflects the state of the object in its current execution environment at the time of the creation of the heap dump data file where the specifics of the heap dump data including that specific object information is seen specifically disclose in teachings of Hossain above);
executing a call or a method on the object generated (Prashanth [0020] lines 1-5; which shows that the call for the object is fulfilled and directed to the local/recreated instance of the object that has been generated)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Prashanth creating an object on a virtual machine by reconstruction of the object from information on that object into the object information in the heap dump of Hossain for the purpose of improving communication of information by allowing for reconstructions of objects on different virtual machines as taught by Prashanth [0014] lines 1-11.
Hossain as modified by Prashanth does not specifically show identifying an internal structure of the object generated.
However, Goertz discloses, identifying an internal structure of the object generated (Goertz Col. 2 lines 38-46; which shows being able to provide knowledge of the internal structure of the classes associated with the objects thus viewed as having the internal structure of those objects identified so as to provide that information where the specifics of the object being generated are seen specifically discloses above).
Therefore, it would have neem obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Goertz showing the internal structure of an object, into the object generation of Hossain as modified by Prashanth for the purpose of increasing detail provided for use on the class information to include use stored internal structure to create future instances and thus generate more accurate information based on more details provided for use, as taught by Goertz Col. 2 lines 41-46.
Hossain as modified by Prashanth and Goertz do not specifically disclose the executing call or method to print the object to a string, wherein the string provides the internal structure of the object.
However, Vick discloses the executing call or method to print the object to a string, wherein the string provides the internal structure of the object (Vick [0052] lines 1-9; which shows the ability to execute a call that is able to convert the object to the string and print the object as a string and since the information of the object is viewed as converted to a string then viewed as would provide the internal structure of the converted object as it is the object information in string from, where it is seen the specifics of the internal structure of the object disclosed specifically above).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Vick showing the printing string into the transforming object data to string of Hossain as modified by Prashanth and Goertz for the purpose of increasing ease of user understanding by being able to visually output/display desired usability by providing print output of the object information for later use, as taught by Vick [0052] lines 1-9.
As to claim 25, Hossain discloses parsing the heap dump (Hossain [0049] lines 1-12, [0051] lines 1-13, [0052] lines 4-8, [0055] lines 62-66 [0058] lines 3-7, [0059] lines 1-9; which shows that the raw heap dump data is analyzed and parsed).
Hossain does not specifically disclose that discloses passing the raw heap dump data representing the object to the virtual machine.
However, Prashanth discloses passing the raw heap dump data representing the object to the virtual machine (Prashanth [0014] lines 1-11, [0016] lines 1-4 and [0019] lines 1-8; which shows the ability to recreate/reconstruct on a local virtual machine an instance of the object based on previous raw data information about the runtime state of the object viewed as being based to the target virtual machine and this can be viewed as related to the raw heap dump data that reflects the state of the object in its current execution environment at the time of the creation of the heap dump data file where the specifics of the heap dump data including that specific object information is seen specifically disclose in teachings above of Hossain).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Prashanth creating an object on a virtual machine by reconstruction of the object from information on that object into the object information in the heap dump of Hossain for the purpose of improving communication of information by allowing for reconstructions of objects on different virtual machines as taught by Prashanth [0014] lines 1-11
Claims 2 and 12 are rejected under 35 U.S.C. 103 as being unpatentable over Hossain, Prashanth, Goertz and Vick as applied to claims 1 and 10 above, and further in view of Chikabelapur et al. (Pub. No. US 2016/0055043 A1)
As to claim 2, Hossain as modified by Prashanth and Goertz and Vick does not specifically disclose wherein the heap dump is a Java-formatted heap dump.
However, Chikabelapur discloses wherein the heap dump is a Java-formatted heap dump (Chikabelapur [0023] lines 13-19; which shows the specific format of a JVM memory dump/heap dump can be a JVM heap .hprof file viewed as a type of java formatted heap dump).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Chikabelapur showing the specifics of the generated heap dump being a java formatted heap dump into the heap dump generation into a specific format of Hossain as modified by Prashanth and Goertz and Vick for the purpose of being able to increase the adaptability of the heap so can be formatted for different uses, as taught by Chikabelapur [0023] lines 13-19
As to claim 12, Hossain as modified by Prashanth and Goertz and Vick does not specifically disclose, however, Chikabelapur discloses wherein the heap dump is a Java-formatted heap dump that stores the raw heap dump data, and wherein the virtual machine is a Java virtual machine (Chikabelapur [0023] lines 13-19; which shows the specific format of a JVM memory dump/heap dump can be a JVM heap .hprof file viewed as a type of java formatted heap dump for the heap dump data and that the virtual machine is a java virtual machine).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Chikabelapur showing the specifics of the generated heap dump being a java formatted heap dump into the heap dump generation into a specific format of Hossain as modified by Prashanth, Goertz and Vick for the purpose of being able to increase the adaptability of the heap so can be formatted for different uses, as taught by Chikabelapur [0023] lines 13-19
Claims 4 and 13 are rejected under 35 U.S.C. 103 as being unpatentable over Hossain, Prashanth, Goertz and Vick as applied to claims 1 and 10 above, and further in view of Lebert (Pub. No. US 2012/0266149 A1).
As to claim 4, Hossain as modified by Prashanth, Goertz and Vick does not specifically disclose wherein the object in the virtual machine is an instance of a class, wherein the object exhibits a behavior of the class in the virtual machine.
However, Lebert discloses wherein the object in the virtual machine is an instance of a class, wherein the object exhibits a behavior of the class in the virtual machine (Lebert [0028] lines 4-11 and [0064] lines 1-3; which shows the VM can have a class instance of an object where the object can have behaviors that is defined by the object class thus viewed as the object exhibits the behavior of the class in the VM).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Lebert showing the specifics of the VM having class instance of an object into the VM object creation of Hossain as modified by Prashanth, Goertz and Vick for the purpose of increasing detail used in defining the class by making sure class further define the object to include attribute, fields, behaviors and function and thus increasing the details available for use as taught by Lebert [0028] lines 1-11.
As to claim 13, Hossain discloses wherein the raw heap dump data represents the content of the object (Hossain [0049] lines 1-12 and [0051] lines 1-13; which shows the raw heap dump data includes object data/details such as dependencies, referential data, type of class, amount of memory, memory address etc. of each object viewed as data that represents the content of each object).
Hossain as modified by Prashanth, Goertz and Vick does not specifically disclose wherein the object generated within the virtual machine is an instance of a class, and wherein the object exhibits a behavior of the class within the virtual machine.
However, Lebert discloses wherein the object generated within the virtual machine is an instance of a class, and wherein the object exhibits a behavior of the class within the virtual machine (Lebert [0028] lines 4-11 and [0064] lines 1-3; which shows the VM can have a class instance of an object where the object can have behaviors that is defined by the object class thus viewed as the object exhibits the behavior of the class in the VM, where the specifics of the generated object can be seen specifically disclosed above).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Lebert showing the specifics of the VM having class instance of an object into the VM object creation of Hossain as modified by Prashanth, Goertz and Vick for the purpose of increasing detail used in defining the class by making sure class further define the object to include attribute, fields, behaviors and function and thus increasing the details available for use as taught by Lebert [0028] lines 1-11.
Claim 6 is rejected under 35 U.S.C. 103 as being unpatentable over Hossain, Prashanth, Goertz and Vick as applied to claim 5 above, and further in view of Grouzdev (Pub. No. US 2010/0162242 A1).
As to claim 6, Hossain as modified by Prashanth, Goertz and Vick does not specifically disclose generating, from the raw heap dump data that represents content of the object, a string that represents the content of the object.
However, Grouzdev discloses wherein transforming the raw data into the object comprises generating, from the raw heap dump data that represents content of the object, a string that represents the content of the object (Grouzdev [0028] lines 10-14; which shows the ability for to transform raw data byte stream information of an object into a data object such as a string that represents the object, where it is seen specifically disclosed above the specifics of raw heap dump object data in the teachings of Hossain).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Grouzdev showing the transforming raw data into a string representation of an object, into the raw data transformation of Hossain as modified by Prashanth, Goertz and Vick, for the purpose of increasing adaptability of the data by providing for further options for the transformation to object data thus providing for more transformation options for a user to put to use, as taught by Grouzdev [0029] lines 10-14.
Claim 8 is rejected under 35 U.S.C. 103 as being unpatentable over Hossain, Prashanth, Goertz and Vick as applied to claim 1 above, and further in view of Brady (Pub. No. US 2008/0209404 A1)
As to claim 8, Hossain as modified by Prashanth, Goertz and Vick do not specifically disclose receiving a query that specifies a particular object identifier to be retrieved from the heap dump, wherein the particular object identifier is an object name or a memory address; and in response to the query, extracting the raw heap dump data that represents the object that corresponds to the particular object identifier from the heap dump.
However, Brady discloses receiving a query that specifies a particular object identifier to be retrieved from the heap dump, wherein the particular object identifier is an object name or a memory address (Brady [0013] lines 12-24; which shows the ability to receive information, viewed as a form a query/request, that includes objectID, viewed as type of object name, to find/retrieve the object information from the heap dump); and
in response to the query, extracting the raw heap dump data that represents the object that corresponds to the particular object identifier from the heap dump (Brady [0013] lines 12-24 and [0017] lines 3-8; which shows the ability to retrieve/extract the objectID and object type information, viewed as the raw heap dump data of the object from the heap dump based on object identifier information).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Brady showing the specifics of the ability to process and query heap dump to retrieve information based on specific object identification information into the heap dump processing and analysis of Hossain as modified by Prashanth and Goertz and Vick for the purpose of being able to improve targeting of heap dump processing to target specific objects of the heap dump for retrieval and processing, as taught by Brady [0013] lines 12-24.
Claim 9 is rejected under 35 U.S.C. 103 as being unpatentable over Hossain, Prashanth, Goertz and Vick as applied to claim 1 above, and further in view of Griffith et al. (Pub. No. US 2009/0276660 A1).
As to claim 9, Hossain discloses extracting the raw heap dump data comprises searching for objects that correspond to the at least one of the particular object class, the particular field, or the particular value that have been identified via executing the reflection application programming interface (Hossain [0008] lines 15-19, [0049] lines 1-12, [0051] lines 1-13, [0052] lines 4-8, [0055] lines 62-66 [0058] lines 3-7, [0059] lines 1-25, [0062] lines 1-10, [0063] lines 1-8, [0074] lines 12-23 and [0106] lines 1-6; which shows being able to search and extract object information that includes at least object class data information as object information from the class dump of the heap dump data that includes particular object class attribute information is extracted).
Hossain as modified by Prashanth, Goertz and Vick does not specifically disclose executing a reflection application programming interface that identifies at least one of a particular object class, a particular field, or a particular value.
However, Griffith discloses executing a reflection application programming interface that identifies at least one of a particular object class, a particular field, or a particular value (Griffith [0190] lines 5-11; which shows the execution of a call as part of a reflection API where information about the class of an object can be obtained thus viewed as including identification information).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Griffith showing the execution of a reflection API tied to class of object, into the objects of Hossain as modified by Prashanth, Goertz and Vick for the purpose of increasing adaptability by being able to obtain further information about an object class in different ways and thus help recreate an object more accurately with more details for use, as taught by Griffith [0190] lines 5-11.
Claim 14 is rejected under 35 U.S.C. 103 as being unpatentable over Hossain, Prashanth, Goertz, Vick and Lebert as applied to claim 13 above, and further in view of Grouzdev (Pub. No. US 2010/0162242 A1).
As to claim 14, Hossain as modified by Prashanth, Goertz, Vick and Lebert does not specifically disclose generating, from the raw heap dump data that represents the content of the object, the string representing of the content of the object.
However, Grouzdev discloses generating, from the raw heap dump data that represents the content of the object, the string representing of the content of the object (Grouzdev [0028] lines 10-14; which shows the ability for to transform raw data representing an object into a data object such as a string that represents the object, where it is seen specifically disclosed above the specifics of raw heap dump data).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Grouzdev showing the transforming raw data into a string representation of an object, into the raw data transformation of Hossain as modified by Prashanth, Goertz, Vick and Lebert, for the purpose of providing for further options for the transformation to object data thus providing for more transformation options for a user to put to use and thus generate user desired results, as taught by Grouzdev [0029] lines 10-14.
Claims 17 and 21 and rejected under 35 U.S.C. 103 as being unpatentable over Hossain, Prashanth, Goertz and Vick as applied to claims 1 and 10 above, and further in view of Hu et al. (Pub. No. US 2019/0272178 A1).
As to claims 17, Hossain as modified by Prashanth, Goertz and Vick does not specifically disclose wherein loading the raw heap dump data into the virtual machine comprises placing the raw heap dump data into a running computer application.
However, Hu discloses wherein loading the raw heap dump data into the virtual machine comprises placing the raw heap dump data into a running computer application (Hu [0066] lines 10-16; which shows the raw data is loaded/accessed by the running application, thus viewed as placed into the running application, where it is seen specifically disclosed above the specifics of raw heap dump data).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Hu loading raw data for use in a n executing application, into the raw data usage of Hossain as modified by Prashanth, Goertz and Vick, for the purpose of increasing details in the raw heap dump data and thus providing additional further details information to the execution of the application that can be used , as taught by Hu [0066] lines 10-16.
As to claim 21, Hossain as modified by Prashanth, Goertz and Vick does not specifically disclose, however, Hu discloses wherein generating the raw heap dump data includes loading the raw heap dump data into a running computer application (Hu [0066] lines 10-16; which shows the raw data is loaded/accessed by the running application, thus viewed as placed into the running application, where it is seen specifically disclosed above the specifics of raw heap dump data, where it is seen specifically disclosed above the specifics of using the raw heap dump data to generate the object).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Hu loading raw data for use in a n executing application, into the raw data usage of Hossain as modified by Prashanth, Goertz and Vick, for the purpose of increasing details in the raw heap dump data and thus providing additional further details information to the execution of the application that can be used , as taught by Hu [0066] lines 10-16.
Claim 18 and 22 is rejected under 35 U.S.C. 103 as being unpatentable over Hossain, Prashanth, Goertz, Vick and Hu as applied to claims 17 and 21 above, and further in view of Citeau et al. (Pub. No. US 2014/0195473 A1).
As to claim 18, Hossain does not specifically disclosed, however, Prashanth, discloses wherein the running computer application, within the virtual machine transforms the raw heap dump data into the object (Prashanth [0014] lines 1-11, [0016] lines 1-4 and [0019] lines 1-8; which shows the ability to recreate/reconstruct on a local virtual machine an instance of the object based on previous data information about the runtime state of the object, this can be viewed as related to the raw heap dump data that reflects the state of the object in its current execution environment at the time of the creation of the heap dump data file).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Prashanth creating an object on a virtual machine by reconstruction of the object from information on that object into the object information in the heap dump of Hossain for the purpose of improving communication of information by allowing for reconstructions of objects on different virtual machines as taught by Prashanth [0014] lines 1-11.
Hossain as modified by Prashanth and Goertz do not specifically disclose wherein when the call is made on the object to print the object to the string representation, the string further provides a value of the object
However, Vick discloses wherein when the call is made on the object to print the object to the string representation, the string further provides a value of the object (Vick [0052] lines 1-9; which shows the execution of a call to a string type object that comprises printing the string representation of the object as output and associated object information with the string, which in light of below disclosed information can be viewed as including value and internal structure of the object from utilized class information).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Vick showing the printing string into the transforming object data to string of Hossain as modified by Prashanth, and Goertz for the purpose of increasing ease of user understanding by being able to visually output/display desired usability by providing print output of the object information for later use, as taught by Vick [0052] lines 1-9.
Hossain as modified by Prashanth, Goertz, Vick and Hu does not specifically disclose wherein the running computer application utilizes class information to identify the internal structure of the object.
However, Citeau discloses wherein the running computer application utilizes class information to automatically identify an internal structure of the object (Citeau [0006] lines 2-6 and [0007] lines 16-21; which shows using the class of the objects to identify/expose the internal structure of the object).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Citeau showing the identification of internal structure of the object into the object information of Hossain as modified by Prashanth, Goertz, Vick and Hu, for the purpose of having an adaptable identification that can further identify internal structure of the object and thus helping to insure that the internal structure is currently identified, as taught by Citeau [0006] lines 2-6.
As to claim 22, Hossain as modified by Prashanth, Goertz, Vick and Hu, do not specifically disclose, however, Citeau discloses wherein the running computer application utilizes class information to identify the internal structure of the object (Citeau [0006] lines 2-6 and [0007] lines 16-21; which shows using the class of the objects to identify/expose the internal structure of the object).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Citeau showing the identification of internal structure of the object into the object information of Hossain as modified by Prashanth, Goertz, Vick and Hu, for the purpose of having an adaptable identification that can further identify internal structure of the object and thus helping to insure that the internal structure is currently identified, as taught by Citeau [0006] lines 2-6.
Claims 23-24 and rejected under 35 U.S.C. 103 as being unpatentable over Hossain, Prashanth, Goertz and Vick as applied to claim 1 above, and further in view of Vennam et al. (Pub. No. US 2011/0161956 A1).
As to claim 23, Hossain as modified by Prashanth, Goertz and Vick do not specifically disclose generating the heap dump using a command line utility.
However, Vennam discloses generating the heap dump using a command line utility (Vennam [0006] lines 10-13 and [0018] lines 9-14; which shows the generation of the heap dump responsive to a command line directive, viewed as using a command line utility).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Vennam showing the generating of heap dump information responsive to a command line utility, into the heap dump generation of Hossain as modified by Prashanth, Goertz and Vick for the purpose of increasing control over heap dump generation by being able to generate the heap dump responsive to command line trigger conditions as taught by Vennam [0018] lines 9-14.
As to claim 24, Hossain as modified by Prashanth, Goertz and Vick do not specifically disclose, however, Vennam discloses where the command line utility is “jmap” (Vennam [0006] lines 10-13 and [0018] lines 9-14; which shows that the jmap tool/utility can be used to generate the heap dump )
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Vennam showing the generating of heap dump information responsive to a command line utility, into the heap dump generation of Hossain as modified by Prashanth, Goertz and Vick for the purpose of increasing control over heap dump generation by being able to generate the heap dump responsive to command line trigger conditions as taught by Vennam [0018] lines 9-14.
Claim 26 and rejected under 35 U.S.C. 103 as being unpatentable over Hossain, Prashanth, Goertz and Vick as applied to claim 1 above, and further in view of Toub et al. (Pub. No. US 2018/0349267 A1).
As to claim 26, Hossain as modified by Prashanth, Goertz and Vick do not specifically disclose wherein a utility API is used to parse the heap dump.
However, Toub discloses wherein a utility API is used to parse the heap dump (Toub [0025] lines 1-14; which shows the use of APIs to inspect/parse heap dump).
Therefore, it would have been obvious to one of ordinary skill in the art to incorporate the teachings of Toub showing the use of APIs to identify information from the heap dump into the information extraction from heap dump of Hossain as modified by Prashanth, Goertz and Vick for the purpose of being able to determine additional information for objects of a heap based machine, as taught by Toub [0024] lines 1-7.
Claim 29-30 and rejected under 35 U.S.C. 103 as being unpatentable over Hossain, Prashanth, Goertz and Vick as applied to claim 1 above, and further in view of Dantam et al. (Pub. No. US 2014/0109065 A1)
As to claim 29 Hossain as modified by Prashanth, Goertz and Vick do not specifically disclose wherein accessing the persisted heap dump file is in response to termination of the runtime process.
However, Dantam discloses wherein accessing the persisted heap dump file is in response to termination of the runtime process (Dantam [0005] lines 1-5, [0026] lines 1-4, [0029] lines 4-15 and [0034] lines 1-10; which shows responsive to the termination being able create a heap dump and access and analyze the heap dump to identify program code suspected of causing error, where the specifics of termination/crash/error issue is seen specifically disclosed in the teachings of Hossain above)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Dantam showing the specifics of the heap dump being accessed/used in response to error issue detection into the heap dump file analysis of Hossain as modified by Prashanth, Goertz and Vick for the purpose of providing additional context details for use in the analysis of the heap to detect issues as taught by Dantam [0005] lines 5-11 and [0006] lines 1-4
As to claim 30 Hossain as modified by Prashanth, Goertz and Vick do not specifically disclose wherein accessing the persisted heap dump file is in response to detecting an error in programming logic of the runtime process (Dantam [0005] lines 1-5, [0026] lines 1-4 and [0029] lines 4-15; which shows being able to access and analyze the heap dump to identify program code suspected of causing error thus accessing the heap dump in response to detected error issue of a plurality of type of errors associated with the program thus viewed as including program logic errors being able to trigger accessing/using the heap dump).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Dantam showing the specifics of the heap dump being accessed/used in response to error issue detection into the heap dump file analysis of Hossain as modified by Prashanth, Goertz and Vick for the purpose of providing additional context details for use in the analysis of the heap to detect issues as taught by Dantam [0005] lines 5-11 and [0006] lines 1-4
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BRADFORD F WHEATON whose telephone number is (571)270-1779. The examiner can normally be reached Monday-Friday 8:00-5:00 EST.
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, Chat Do can be reached at 571-272-3721. 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.
/BRADFORD F WHEATON/Examiner, Art Unit 2193