Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
DETAILED ACTION
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1, 2, 3, 6, 8, 9, 10 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e., a law of nature, a natural phenomenon, or an abstract idea) without significantly more.
Regarding independent claims the limitation that converts a message from a format to another format, as drafted, recites functions that, under its broadest reasonable interpretation, covers a function that could reasonably be performed in the mind, including with the aid of pen and paper, but for the recitation of generic computer components. That is, the limitations as cited above as drafted, are functions that, under its broadest reasonable interpretation, recite the abstract idea of a mental process.
Thus, these limitation falls within the “Mental Processes” grouping of abstract ideas under Prong 1.
Under Prong 2, this judicial exception is not integrated into a practical application. The claim recites the following additional limitations: processor circuit, host operating system, container, application software, data channel, logging service. The additional elements are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using generic computer, and/or mere computer components, MPEP 2106.05(f), and step of transferring and outputting a message do nothing more than add insignificant extra solution activity to the judicial exception of merely gathering data. Accordingly, the additional elements do not integrate the recited judicial exception into a practical application and the claim is therefore directed to the judicial exception. See MPEP 2106.05(g).
Under Step 2B, the claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements of processor circuit, host operating system, container, application software, data channel, logging service, amount to no more than mere instructions, or generic computer/computer components to carry out the exception. Furthermore, the limitations directed to transferring and outputting a message the courts have identified mere data gathering is well-understood, routine and conventional activity. See MPEP 2106.05(d).
The recitation of generic computer instruction and computer components to apply the judicial exception, and mere data gathering do not amount to significantly more, thus, cannot provide an inventive concept. Accordingly, the claims are not patent eligible under 35 USC 101.
Regarding claim 2, 3, 6, 8 the limitation of what a data channel includes, what a message comprises, what a logging service performs, what the environment comprises such as additional components are considered mere instructions, or generic computer/computer components to carry out the exception. Accordingly, the additional element recited in the claims fails to provide a practical application under prong 2, or amount to significantly more under step 2B.
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.
Claim 9 is 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 pre-AIA the applicant regards as the invention.
Claim 9 recites “the controller” and is unclear if the controller is a new instance of a controller of the motor vehicle controller recited prior. For the purposes of prosecution, the limitation will be interpreted as “a controller”.
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 1, 5, 6, 8 9, 10 is/are rejected under 35 U.S.C. 103 as being unpatentable over Stupachenko (Pat. No. US 10,740,217) in view of Agtneeswaran (Pub. No. US 2011/0029672).
Claim 1, 9, 10, Stupachenko teaches “a method of container virtualization in a processor circuit, the method comprising: operating, by the processor circuit, a host operating system ([Fig. 1] host OS 145); and operating, by the processor circuit, at least one container in which application software is implemented ([Fig. 1] VM 150 with applications guest OS, Agent, Application 155); and wherein the processor circuit operates a logging service of the host operating system independently of the at least one container ([Fig. 1] debugging component 147), wherein the at least one container or the application software implemented in the container is coupled by a data channel to the host operating system ([Fig. 1] agent connection to host OS), wherein the application software outputs at least one message regarding an operation event of the application software in a first format into the data channel ([Col. 3, Lines 30-36] The agent may be a computer application that operates as a server to the debugger (e.g., client) and may allow connections from the debugger into the virtual machine. The agent may provide basic information (e.g., raw values from memory and processor registers) to the debugger upon the occurrence of trigger events in the guest operating system. [Col. 8, Lines 36-45] The agent 156 may identify and/or detect certain triggering events of the guest OS 157 and send the information pertaining to the guest OS 157 to the debugger 148. The triggering events may include breakpoints in computer instructions executed by the guest OS 157, watchpoints in data of the guest OS 157, single steps of the guest OS 157, and so forth. The triggering events that are monitored by the agent 156 may be configurable, and the initial triggering events detected by the agent 156 may be configured by a developer of the agent 156. [Col. 2, Lines 34-41] Using virtual machines, it may be possible to utilize more than one operating system on the same computing device. A first operating system may be running on a computing device and a virtual machine may be instantiated on that computing device to run a second operating system where the first and second operating systems have differing kernel types. Alternatively, a user may use two separate computing devices that are running operating systems having differing kernel types to achieve their desired goals.), wherein a conversion unit is operated in the host operating system, wherein the conversion unit receives the at least one message from the data channel and converts the at least one message from the first format into at least one converted message having a host-specific second format ([Col. 3, Lines 32-53] (15) Additionally, one or more scripts and/or plugin additions may be used by the debugger on the first operating system to interpret incoming information related to the second operating system from the agent and convert the incoming information into user friendly output or perform certain debugging operations. For example, to support non-native system level debugging of the guest operating system, the scripts for the debugger may access the symbolic information from a symbol server associated with the kernel type of the guest operating system. The scripts may use the information received from the agent to obtain the symbolic information and convert the symbolic information into symbolic names for any labels, variables and addresses, etc. Accordingly, the scripts may enable the debugger that is not native to the guest operating system to perform one or more debugging operations for the guest operating system using the symbolic names.), and transfers the at least one converted message to the logging service, and wherein the logging service logs the operation event ([Col. 2, Lines 2-8] Example debugging operations may include listing a current stack (backtrace) for an operating system, enumerating threads for a current process of the operating system, displaying information about any processor, writing internal system structures (e.g., interrupt tables, memory paging, etc.) of the operating system to memory, among other operations discussed below.)”.
However, Stupachenko may not explicitly teach a VM is a container.
Agtneeswaran teaches “container ([0005] Virtual machines (VMs) often form the basis for executing various user applications (providing services to end users) in such environments. As is well known, a virtual machine is a container in which user applications are executed.)”.
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to apply the teachings of Agtneeswaran with the teachings of Stupachenko in order to provide a system that teaches a VM is a container. The motivation for applying Agtneeswaran teaching with Stupachenko teaching is to provide a system that allows for evidence Stupachenko VM is a container that executes applications. Stupachenko, Agtneeswaran are analogous art directed towards virtualized environments. Together Stupachenko, Agtneeswaran teach every limitation of the claimed invention. Since the teachings were analogous art known at the filing time of invention, one of ordinary skill could have applied the teachings of Agtneeswaran with the teachings of Stupachenko by known methods and gained expected results.
Claim 5, the combination teaches the claim, wherein Stupachenko teaches “the method according to claim 1, wherein the conversion unit is provided as a plugin for operating software of the at least one container, and wherein the operating software routes data received from the at least one container via the data channel through the plugin ([Col. 3, Lines 37-53](15) Additionally, one or more scripts and/or plugin additions may be used by the debugger on the first operating system to interpret incoming information related to the second operating system from the agent and convert the incoming information into user friendly output or perform certain debugging operations. For example, to support non-native system level debugging of the guest operating system, the scripts for the debugger may access the symbolic information from a symbol server associated with the kernel type of the guest operating system. The scripts may use the information received from the agent to obtain the symbolic information and convert the symbolic information into symbolic names for any labels, variables and addresses, etc. Accordingly, the scripts may enable the debugger that is not native to the guest operating system to perform one or more debugging operations for the guest operating system using the symbolic names.).
Claim 6, the combination teaches the claim, wherein Stupachenko teaches “the method according to claim 1, wherein the logging service performs at least one of: logging ([Col. 2, Lines 2-8] Example debugging operations may include listing a current stack (backtrace) for an operating system, enumerating threads for a current process of the operating system, displaying information about any processor, writing internal system structures (e.g., interrupt tables, memory paging, etc.) of the operating system to memory, among other operations discussed below.), diagnostics, status monitoring, or privacy management”.
Claim 8, the combination teaches the claim, wherein Stupachenko teaches “the method according to claim 1, further comprising: operating, by the processor circuit or a further processor circuit, a further host operating system, wherein the further host operating system operates a further container with further application software and receives one or more messages of the further application software by a further data channel, wherein the further host operating system operates a further logging service for one or more messages in a third format, and wherein the further host operating system operates a further conversion unit that converts messages from the further data channel into the third format ([Col. 11, Lines 20-25] Further, while only a single example computer system is illustrated, the term “computer” shall also be taken to include any collection of computers that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methods discussed herein. [Claim 1] 1. A method comprising: establishing a connection between a debugger native to a host operating system and an agent of a virtual machine executing a guest operating system, wherein the host operating system and the guest operating system are of different kernel types. Examiner notes, this claim is interpreted as a second computer and would be obvious to one ordinarily skilled in the art, the teachings of Stupachenko is applied to another computing system)”.
Claim/s 2 is/are rejected under 35 U.S.C. 103 as being unpatentable over Stupachenko, Agtneeswaran in further view of Gladkikh (Pub. No. US 2020/0125533).
Claim 2, the combination may not explicitly teach the limitation.
Gladkikh teaches “the method according to claim 1, wherein the data channel includes one or more of: a standard output, STDOUT, of the host operating system, a standard error output, STDERR, of the host operating system ([0029] For the purposes of this disclosure, “standout error” (stderr) and “standard output” (stdout) are standard output streams created by the operating system between a main process running in a container and the main processes' execution environment (e.g., a container runtime). ), a port of a network interface of the host operating system, Socket, a system call, Syscall, of the host operating system, or an interprocess communication, IPC, of the host operating system that transfers the at least one message using a Shared Memory or a Pipe”.
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to apply the teachings of Gladkikh with the teachings of Stupachenko, Agtneeswaran in order to provide a system that teaches stderr. The motivation for applying Gladkikh teaching with Stupachenko, Agtneeswaran teaching is to provide a system that allows for design choice of capturing logs. Stupachenko, Agtneeswaran, Gladkikh are analogous art directed towards virtualized environments. Together Stupachenko, Agtneeswaran, Gladkikh teach every limitation of the claimed invention. Since the teachings were analogous art known at the filing time of invention, one of ordinary skill could have applied the teachings of Gladkikh with the teachings of Stupachenko, Agtneeswaran by known methods and gained expected results.
Claim/s 3 is/are rejected under 35 U.S.C. 103 as being unpatentable over Stupachenko, Agtneeswaran in further view of Chadrasekaran (Pub. No. US 2022/0261306).
Claim 3, the combination may not explicitly teach a plurality of applications.
Chadrasekaran teaches “the method according to claim 1, wherein the application software is for a plurality of applications operated in the at least one container, wherein the at least one message includes a plurality of messages respectively generated by the plurality of applications ([0119] Log files 704 may be, for example, one or more system level log files, such as a syslog, event log, authentication log, kernel log, boot log, scheduled job (e.g., cron) log and so on. Alternatively or additionally, log files 704 may include application-level log files for mail services, web services, database services, and so on. These files may be stored in main memory or written to persistent storage. Generally, each of log files 704 consists of a time-ordered series of entries (e.g., text strings) written in accordance to a pre-established format. These entries may identify one or more of a timestamp, the source application of applications 702, a user of the source application, a severity, and a message. Not all entries explicitly indicate errors, but some may (e.g., when a source application is experiencing an error, it may write a message indicating the error to a log file). Further, error conditions may be inferred from a series of entries (e.g., a series of repeated log entries from a source application may indicate that the source application is unable to operate in an expected or desirable manner). Advantageously, the pre-established format for log entries may facilitate pattern matching and parsing of these entries (e.g., by way of regular expressions or finite state machines). Thus, proactive error identifier 602 may be able to programmatically determine errors from log files 704.), wherein each of the plurality of messages is generated in the first format as a host- independent standard format, and wherein the conversion unit converts the plurality of messages into the host-specific second format (Stupachenko [Col. 3, Lines 32-53] (15) Additionally, one or more scripts and/or plugin additions may be used by the debugger on the first operating system to interpret incoming information related to the second operating system from the agent and convert the incoming information into user friendly output or perform certain debugging operations. For example, to support non-native system level debugging of the guest operating system, the scripts for the debugger may access the symbolic information from a symbol server associated with the kernel type of the guest operating system. The scripts may use the information received from the agent to obtain the symbolic information and convert the symbolic information into symbolic names for any labels, variables and addresses, etc. Accordingly, the scripts may enable the debugger that is not native to the guest operating system to perform one or more debugging operations for the guest operating system using the symbolic names.)”.
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to apply the teachings of Chadrasekaran with the teachings of Stupachenko, Agtneeswaran in order to provide a system that teaches details of capturing log data of Stupachenko. The motivation for applying Chadrasekaran teaching with Stupachenko, Agtneeswaran teaching is to provide a system that allows for design choice. Stupachenko, Agtneeswaran, Chadrasekaran are analogous art directed towards virtualized environments. Together Stupachenko, Agtneeswaran, Chadrasekaran teach every limitation of the claimed invention. Since the teachings were analogous art known at the filing time of invention, one of ordinary skill could have applied the teachings of Chadrasekaran with the teachings of Stupachenko, Agtneeswaran by known methods and gained expected results.
Claim/s 4 is/are rejected under 35 U.S.C. 103 as being unpatentable over Stupachenko, Agtneeswaran in further view of Xu (Pub. No. US 2020/0174870).
Claim 4, the combination may not explicitly teach a plurality of applications.
Xu teaches “the method according to claim 1, wherein the conversion unit includes a parser which parses data transferred in the data channel by a message pattern that is characteristic of the at least one message in the first format, and wherein the parser ignores data without the message pattern in the data channel and converts data with the message pattern as the at least one converted message ([0031] The subcomponent 1023 is configured to extract all relevant string content from the logs by parsing the logs against the log syntactic patterns, and transform the unstructured logs into structured tokens by analyzing the logs through regular expression matching. The string content can include data including, but not limited to, time stamp information, numbers, words, etc. Given the list of existing log patterns, the subcomponent 1023 can match the logs against the list of regular expressions one-by-one. Illustratively, Logstash can be used to parse an input log given a regular expression as the log pattern model. Logstash is an open source software package which is a general log parsing engine. Any input log can be either matched to any of the existing log patterns (regular expressions), or not matched at all.)”.
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to apply the teachings of Xu with the teachings of Stupachenko, Agtneeswaran in order to provide a system that teaches details of capturing log data of Stupachenko. The motivation for applying Xu teaching with Stupachenko, Agtneeswaran teaching is to provide a system that allows for design choice. Stupachenko, Agtneeswaran, Xu are analogous art directed towards virtualized environments. Together Stupachenko, Agtneeswaran, Xu teach every limitation of the claimed invention. Since the teachings were analogous art known at the filing time of invention, one of ordinary skill could have applied the teachings of Xu with the teachings of Stupachenko, Agtneeswaran by known methods and gained expected results.
Claim/s 7 is/are rejected under 35 U.S.C. 103 as being unpatentable over Stupachenko, Agtneeswaran in further view of Twist (Pub. No. US 2019/0012217).
Claim 7, the combination may not explicitly teach the claim.
Twist teaches “teaches “the method according to claim 1, wherein the logging service includes a plurality of logging services ([Fig. 7] logging serves myAnalytics, Acme stats), wherein the conversion unit includes a plurality of conversion units respectively corresponding to the plurality of logging services ([0059] App 714 begins execution on Mobile Device 712, and at 758, an indication of App 714 executing is provided to Adapters Module 716. In response to this indication, Adapters Module 716 obtains a list of adapters mapped to App 714 by sending request 760, for the mappings, to Adapter Mappings Server 706 and receiving the mappings and corresponding configuration data at 762. Adapters Module 716 then obtains all the adapters specified in the received mappings by activating, at 764, the links in each adapter mapping, and in response receiving the adapters at 766. While example 700 shows only a single adapter repository, the links in the mappings can link to different adapter repositories.), wherein the at least one message includes a plurality of messages, and wherein each of the plurality of conversion units converts one of the plurality of messages addressed to one of the logging services into a particular host-specific and service-specific format required by the one of the logging services ([0012] For example, a logging adapter can be an interface that aggregates user actions identified in events into a profile and sends the profile to a log server to store or generate reports on the data. As another example, a logging adapter can be an interface to a third party analytics system such as Google Analytics®. Such a third party interface can format the event data for the third party system and transmit the formatted data. Adapters can be created, e.g., by an entity that produced the application or a third party such as an analytics provider, the open source community, etc. Where an application produces standardized events, the adapter can be a generic interface that multiple applications can use to interface with an analytics service. [0058] Example 700 begins at 750 with Client 702 making a request to Web Server 708 for an adapter management utility, in this case a web interface that provides inputs to manage the mappings in App-To-Adapter Mappings 710. Web Server 708 responds to the request by providing, at 752, Adapter Management Utility 704. Adapter Management Utility 704 includes several dropdowns that include applications the current user has specified he is the administrator of. Upon selecting an application from the dropdown, a wizard is presented allowing the user to establish mappings between that application and adapters that will work for that application. In example 700, the user has selected app1 from a first dropdown and added two mappings for app1, one to an adapter for an analytics service called myAnalytics and a second for a service called Acme Stats. The user has selected app2 from a second dropdown and has also added two mappings for app2, one for the Acme Stats service and another called Numerals. While not shown, upon selection of each mapping, a meta-descriptor for the selected adapter is obtained and the user is prompted to enter configuration data specified in the meta-descriptor. This configuration data is saved with each mapping. At 754, the four selected mappings are send to the Web Server 708. At 756, Web Server 708 stores these mappings in the App-to-Adapter Mappings 710.)”.
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to apply the teachings of Twist with the teachings of Stupachenko, Agtneeswaran in order to provide a system that teaches adadpters. The motivation for applying Twist teaching with Stupachenko, Agtneeswaran teaching is to provide a system that allows for configuring logs for third part services. Stupachenko, Agtneeswaran, Twist are analogous art directed towards logging information. Together Stupachenko, Agtneeswaran, Twist teaches every limitation of the claimed invention. Since the teachings were analogous art known at the filing time of invention, one of ordinary skill could have applied the teachings of Twist with the teachings of Stupachenko, Agtneeswaran by known methods and gained expected results.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to WYNUEL S AQUINO whose telephone number is (571)272-7478. The examiner can normally be reached 9AM-5PM EST M-F.
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 at 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.
/WYNUEL S AQUINO/Primary Examiner, Art Unit 2199