Prosecution Insights
Last updated: October 27, 2026
Application No. 18/885,186

SYNCHRONIZING LIBRARY VIRTUAL ENVIRONMENTS IN A SERVERLESS SETTING

Non-Final OA §103
Filed
Sep 13, 2024
Examiner
ABSHER, LUCAS DONALD
Art Unit
2194
Tech Center
2100 — Computer Architecture & Software
Assignee
Databricks Inc.
OA Round
1 (Non-Final)
Grant Probability
Favorable
1-2
OA Rounds

Examiner Intelligence

Grants only 0% of cases
0%
Career Allowance Rate
0 granted / 0 resolved
-55.0% vs TC avg
Minimal +0% lift
Without
With
+0.0%
Interview Lift
resolved cases with interview
Typical timeline
Avg Prosecution
13 currently pending
Career history
18
Total Applications
across all art units
This examiner has no resolved cases yet (career too new); statute-level performance unavailable. The Grant Probability card shows Tech Center averages instead.

Office Action

§103
Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claim(s) 1,9,17 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 20220334857 A1, Microsoft, 2021-04-07. In view of CN 112486942 A, Li, 2021-03-12. 1. A method comprising: receiving a request from a user to execute, in a notebook code comprised of one or more pre-defined functions; [0071] In some embodiments, the method includes transitioning 1112 a notebook content 828 from an HTML format 830 to an editable text format 830 and transparently swapping in 1114 an editor 832 in response to receiving 1122 a user request 1124 to edit 306 the notebook content. In some embodiments, the method includes transparently provisioning 1120 a notebook kernel 220 in response to receiving 1122 a user request 1124 to execute 308 the notebook content. In some, transitioning 1112, swapping 1114, and provisioning 1120 each occur. In one scenario view is initially in HTML, then edit is added when user starts to edit, then compute is added when user says to execute. initiating a virtual machine (VM) configured with a virtual environment for execution of the code in the notebook; [0107] FIG. 6 illustrates an implementation architecture in detail. A host management piece 606 gets notebook content from storage 408, gets compute information from a virtual machine 604 (compute node), and provides notebook content and compute details to a notebook [0039] The host system 212 communicates, e.g., over a network, with a notebook back end 214 that runs one or more microservices 216. The microservices 216 may be tailored to the host application, e.g., to provide autocompletion of source code within a notebook that is hosted in an integrated development environment, or to provide natural language translation services for translating notebook text. Execution (or interpretation, which may be treated as a form of execution) of notebook script or source code content may be done by a microservice 216. Code execution and other computationally demanding microservices may be performed on a compute node 218, e.g., one or more virtual machines 604, with the support of a notebook kernel 220. One skilled in the art would identify that virtual environments are inherent to Virtual Machines (VMs). A VM fundamentally creates an isolated, simulated software environment. accessing a computer cluster for execution of the one or more pre-defined functions, [0027] With reference to FIG. 1, an operating environment 100 for an embodiment includes at least one computer system 102. The computer system 102 may be a multiprocessor computer system, or not. An operating environment may include one or more machines in a given computer system, which may be clustered, client-server networked, and/or peer-to-peer networked within a cloud. An individual machine is a computer system, and a network or other group of cooperating machines is also a computer system. A given computer system 102 may be configured for end-users, e.g., with applications, for administrators, as a server, as a distributed processing node, and/or in other ways. [0039] The host system 212 communicates, e.g., over a network, with a notebook back end 214 that runs one or more microservices 216. The microservices 216 may be tailored to the host application, e.g., to provide autocompletion of source code within a notebook that is hosted in an integrated development environment, or to provide natural language translation services for translating notebook text. Execution (or interpretation, which may be treated as a form of execution) of notebook script or source code content may be done by a microservice 216. Code execution and other computationally demanding microservices may be performed on a compute node 218, e.g., one or more virtual machines 604, with the support of a notebook kernel 220. the computer cluster configured with (…) one or more worker nodes; [0107] FIG. 6 illustrates an implementation architecture in detail. A host management piece 606 gets notebook content from storage 408, gets compute information from a virtual machine 604 (compute node), and provides notebook content and compute details to a notebook storing, at a data store, the virtual environment configured for execution of the code in the notebook; [0107] FIG. 6 illustrates an implementation architecture in detail. A host management piece 606 gets notebook content from storage 408, gets compute information from a virtual machine 604 (compute node), and provides notebook content and compute details to a notebook For the compute information from a virtual machine (virtual environment) to be received it is implicit that it was retained I.E. stored. downloading, (…) the stored virtual environment using the metadata; [0107] FIG. 6 illustrates an implementation architecture in detail. A host management piece 606 gets notebook content from storage 408, gets compute information from a virtual machine 604 (compute node), and provides notebook content and compute details to a notebook initiating, at the one or more worker nodes, an environment using the downloaded virtual environment; and executing, by the one or more worker nodes, the one or more pre-defined functions in the initialized environment. [0039] The host system 212 communicates, e.g., over a network, with a notebook back end 214 that runs one or more microservices 216. The microservices 216 may be tailored to the host application, e.g., to provide autocompletion of source code within a notebook that is hosted in an integrated development environment, or to provide natural language translation services for translating notebook text. Execution (or interpretation, which may be treated as a form of execution) of notebook script or source code content may be done by a microservice 216. Code execution and other computationally demanding microservices may be performed on a compute node 218, e.g., one or more virtual machines 604, with the support of a notebook kernel 220. Microsoft does not explicitly teach the following limitation. providing metadata to the driver node, the metadata specifying a storage location of the virtual environment in the data store; LI does however. Contents of the Invention, Paragraph 6: sending the storage result information to the control node, so that the control node updates the metadata information corresponding to the target file based on the storage result information. It would have been obvious to one skilled in the art at the time of this application’s filing to introduce a driver node into the Microsoft’s design capable of gathering metadata pertinent to the virtual environments of the system. The metadata could be used to direct the notebook operations to be performed toward these environments. Claim 9 corresponds to claim 1 and therefore inherits the same rejections. 9. A non-transitory computer readable storage medium comprising stored instructions, the instructions when executed cause a processor system to: receive a request from a user to execute code in a notebook, code comprising one or more pre-defined functions; initialize a virtual machine (VM) configured with a virtual environment for execution of the code in the notebook; access a computer cluster for execution of the one or more pre-defined functions, the computer cluster configured with a driver node and one or more worker nodes; store, at a data store, the virtual environment configured for execution of the code in the notebook; provide metadata to the driver node, the metadata specifying a storage location of the virtual environment in the data store; download, at the driver node, the stored virtual environment using the metadata; initialize, at the one or more worker nodes, an environment using the downloaded virtual environment; and execute, by the one or more worker nodes, the one or more pre-defined functions in the initialized environment. Claim 17 corresponds to claim 1 and therefore inherits the same rejections. 17. A system comprising: one or more computer processors; and one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the system to: receive a request from a user to execute code in a notebook, the code comprising one or more pre-defined functions; initialize a virtual machine (VM) configured with a virtual environment for execution of the code in the notebook; access a computer cluster for execution of the one or more pre-defined functions, the computer cluster configured with a driver node and one or more worker nodes; store, at a data store, the virtual environment configured for execution of the code in the notebook; provide metadata to the driver node, the metadata specifying a storage location of the virtual environment in the data store; download, at the driver node, the stored virtual environment using the metadata; initialize, at the one or more worker nodes, an environment using the downloaded virtual environment; and execute, by the one or more worker nodes, the one or more pre-defined functions in the initialized environment. Claim(s) 2,10,18 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 20220334857 A1, Microsoft, 2021-04-07. In view of CN 112486942 A, Li, 2021-03-12. as well as in further view of CN 118233479 A, Fu, 2024-06-21. Microsoft does not teach the following, 2. The method of claim 1, wherein the metadata comprises a pre-determined download uniform resource locator (URL) to download the virtual environment from the data store. Fu does however. Page 3, Paragraph 8: sending an identification application request containing the URL of the storage node to the control node, It would have been obvious to one skilled in the art at the time of this application’s filing to introduce a driver node into the Microsoft’s design capable of gathering metadata comprising a URL to download virtual environments for the system. The metadata could be used to direct the notebook operations to be performed toward these environments. Claim 10 corresponds to claim 2 and therefore inherits the same rejections. 10. The non-transitory computer readable storage medium of claim 9, wherein the metadata comprises a pre-determined download uniform resource locator (URL) to download the virtual environment from the data store. Claim 18 corresponds to claim 2 and therefore inherits the same rejections. 18. The system of claim 17, wherein the metadata comprises a pre-determined download uniform resource locator (URL) for downloading the virtual environment from the data store. Claim(s) 3,11,19 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 20220334857 A1, Microsoft, 2021-04-07. In view of CN 112486942 A, Li, 2021-03-12. as well as in further view of CN 101106567 A, KY, 2008-01-16. Microsoft teaches the following. 3. The method of claim 1, wherein initiating, at the one or more worker nodes, an environment using the downloaded virtual environment comprises: establishing a shared file system [0077] In some embodiments, the method further includes at least one of the following: utilizing 1132 a host machine storage device for holding a notebook content during execution of the notebook content while avoiding use of cloud storage of the notebook content, or utilizing 1134 cloud storage of the notebook content during execution of the notebook content. Some embodiments allow loading the content from the compute file system where the notebooks content could be, or allow notebook content to be downloaded and saved to a file cloud storage via APIs Microsoft does not teach the following, that permits the one or more worker nodes to share the environment downloaded by the driver node in a same computing cluster but prevents the one or more worker nodes accessing an environment downloaded by a different driver node in a different computing cluster. Ky does however. Summary of the invention, Paragraph 1: The file system firewall may include program code that enables access rules associated with rule keywords formed by application-based attributes in file system requests based on access rule sets, allowing or denying the file system request. It would have been obvious to one skilled in the art at the time of this application’s filing to modify Microsoft design to only permit only desired nodes access to virtual environments. Doing so would reduce the attack surface, preventing malicious activity. Claim 11 corresponds to claim 3 and therefore inherits the same rejections. 11. The non-transitory computer readable storage medium of claim 9, wherein the instruction to initialize an environment using the downloaded virtual environment, when executed cause a processor system to: establish a shared file system that permits the one or more worker nodes to share the environment downloaded by the driver node in a same computing cluster but prevents the one or more worker nodes accessing an environment downloaded by a different driver node in a different computing cluster. Claim 19 corresponds to claim 3 and therefore inherits the same rejections. 19. The system of claim 17, wherein the instruction to initialize an environment using the downloaded virtual environment, when executed by the one or more computer processors, cause the system to: establish a shared file system that permits the one or more worker nodes to share the environment downloaded by the driver node in a same computing cluster but prevents the one or more worker nodes accessing an environment downloaded by a different driver node in a different computing cluster. Claim(s) 4,12 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 20220334857 A1, Microsoft, 2021-04-07. In view of CN 112486942 A, Li, 2021-03-12. as well as in further view of In view of US 20230168918 A1, Bregman, 2021-11-29. Microsoft does not teach the following, 4. The method of claim 1, wherein each environment is configured for execution of code in a corresponding notebook, the method further comprises: configuring a connection protocol that permits execution of the one or more pre-defined functions in the environment initialized for the corresponding notebook but prevents execution of the one or more pre-defined functions in an environment initialized for a different notebook. Bregman does however. [0031] In some embodiments, the rules may include a system-based access list that indicates which communication protocols are allowed and/or restricted for all jobs executing on system 200 (e.g., executing on computing nodes 222A-222C) It would have been obvious to one skilled in the art at the time of this application’s filing to modify Microsoft design to configure communication protocols to be specific to virtual environments/nodes as doing so would reduce the attack surface, preventing malicious activity. Claim 12 corresponds to claim 4 and therefore inherits the same rejections. 12. The non-transitory computer readable storage medium of claim 9, wherein each environment is configured for execution of code in a corresponding notebook, the instructions when executed cause a processor system to: configure a connection protocol that permits execution of the one or more pre-defined functions in the environment initialized for the corresponding notebook but prevents execution of the one or more pre-defined functions in an environment initialized for a different notebook. Claim(s) 5,13,20 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 20220334857 A1, Microsoft, 2021-04-07. In view of CN 112486942 A, Li, 2021-03-12. as well as in further view US 12289305 B1 , Amazon Technologies, Inc. 2023-06-12. Microsoft does not teach the following, 5. The method of claim 1, wherein the metadata comprises an expiration condition for removing the stored virtual environment from the data store. Amazon does however Example 12. The computer-implemented method of example 8, wherein the metadata comprises an expiration attribute and an issued-at time attribute for the first request from the end customer application. It would have been obvious to one skilled in the art at the time of this application’s filing to modify Microsoft design to convey metadata containing an expiration condition as part of establishing a virtual environment as removing lingering excess data would free up additional storage, at scale this would reduce costs and improve system performance Claim 13 corresponds to claim 5 and therefore inherits the same rejections. 13. The non-transitory computer readable storage medium of claim 9, wherein the metadata comprises an expiration condition for removing the stored virtual environment from the data store. Claim 20 corresponds to claim 5 and therefore inherits the same rejections. 20. The system of claim 17, wherein the metadata comprises an expiration condition for removing the stored virtual environment from the data store. Claim(s) 6,14 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 20220334857 A1, Microsoft, 2021-04-07. In view of CN 112486942 A, Li, 2021-03-12. as well as in further view of US 20240403313 A1, Chen, 2023-06-05. and US20100114825, SIDDEGOWDA, 2008-10-27. Microsoft does not teach the following 6. The method of claim 1, further comprising: automatically monitoring a change to the code in the notebook; Chen does however. [0172] At operation 1535, the system renders analysis thread visualization. In some cases, the operations of this step refer to, or may be performed by, a graph component as described with reference to FIG. 2. The analysis thread visualization is implemented using the d3.tree( ) function and is updated in real-time with React's useEffect hook which monitors changes of the notebook cells. Microsoft does not teach the following incrementally updating, in the data store, the stored virtual environment based on the change; and updating the metadata to indicate the update to the stored virtual environment. SIDDEGOWDA, does however. [0004] In another embodiment, a method of maintaining update history of a virtual machine (VM) is disclosed. The VM includes a version number. The method includes continuously monitoring a state of the VM. The monitoring of the state including detecting updates in configurations and applications of the VM. The changes in a status of the applications and the configuration are captured and metadata of the VM is updated when a change in the configurations or in the applications is detected. The version number of the VM is then incremented. Chen provides the monitoring of changes to the notebook. Siddegowda provides updating the virtual environment in response to changes from associated configurations and applications . It would have been obvious to one skilled in the art at the time of this application’s filing to modify Microsoft design to update virtual environment on changes to associated notebooks as this would allow for continuity of functionality of the system Claim 14 corresponds to claim 6 and therefore inherits the same rejections. 14. The non-transitory computer readable storage medium of claim 9, wherein the instructions when executed cause a processor system to: automatically monitor a change to the code in the notebook; incrementally update, in the data store, the stored virtual environment based on the change; and update the metadata to indicate the update to the stored virtual environment. Claim(s) 7,8,15,16 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 20220334857 A1, Microsoft, 2021-04-07. In view of CN 112486942 A, Li, 2021-03-12. as well as in further view of US20100114825, SIDDEGOWDA, 2008-10-27. Microsoft does not teach the following. 7. The method of claim 1, wherein the metadata comprises a version number indicating a version of the stored virtual environment in the data store. Siddegowda does however. [0004] In another embodiment, a method of maintaining update history of a virtual machine (VM) is disclosed. The VM includes a version number. The method includes continuously monitoring a state of the VM. The monitoring of the state including detecting updates in configurations and applications of the VM. The changes in a status of the applications and the configuration are captured and metadata of the VM is updated when a change in the configurations or in the applications is detected. The version number of the VM is then incremented. It would have been obvious to one skilled in the art at the time of this application’s filing to modify Microsoft design to update virtual environments, including a version number, on changes to associated notebooks as this would allow for continuity of functionality of the system Microsoft does not teach the following. 8. The method of claim 7, wherein downloading, at the driver node, the stored virtual environment using the metadata comprises: determining whether a current version number of the virtual environment is different from a previous version number of the virtual environment that was previously downloaded; and responsive to the current version number being different from the previous version number, downloading, from the data store, the stored virtual environment with the current version number. Siddegowda does however. [0004] In another embodiment, a method of maintaining update history of a virtual machine (VM) is disclosed. The VM includes a version number. The method includes continuously monitoring a state of the VM. The monitoring of the state including detecting updates in configurations and applications of the VM. The changes in a status of the applications and the configuration are captured and metadata of the VM is updated when a change in the configurations or in the applications is detected. The version number of the VM is then incremented. [0022] In one or more embodiments, Metadata file 100 includes inventory of applications in the current version of a VM and information about the incremental updates in the VM. In one or more embodiments, Metadata file 100 also includes one or more pointers to file system 102 where various versions of the VM file are stored. In one embodiment, after the VM is updated, a snapshot is taken and the output file is stored file system 102. The version number of the current VM file is then incremented. The process of taking snapshots of virtual machines is a well known art. It would have been obvious to one skilled in the art at the time of this application’s filing to modify Microsoft design to update virtual environments, on detection of newer version being made available as this would allow for continuity of functionality of the system Claim 15 corresponds to claim 7 and therefore inherits the same rejections. 15. The non-transitory computer readable storage medium of claim 9, wherein the metadata comprises a version number indicating a version of the stored virtual environment in the data store. Claim 16 corresponds to claim 8 and therefore inherits the same rejections. 16. The non-transitory computer readable storage medium of claim 15, wherein the instruction to download the stored virtual environment using the metadata, when executed cause a processor system to: determine whether a current version number of the virtual environment is different from a previous version number of the virtual environment that was previously downloaded; and download, from the data store, the stored virtual environment with the current version number when the current version number is different from the previous version number. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to Luke Absher whose telephone number is (571) 270-1057. The examiner can normally be reached M-F: 8:00 am - 4:00 pm. 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 US PTO Automated Interview Request (AIR) at http:/ /www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner's supervisor, Kevin Young can be reached at 571-270-3180. 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. /LUCAS DONALD ABSHER/ Examiner, Art Unit 2194 /KEVIN L YOUNG/ Supervisory Patent Examiner, Art Unit 2194
Read full office action

Prosecution Timeline

Sep 13, 2024
Application Filed
Aug 13, 2026
Non-Final Rejection mailed — §103 (current)

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
Grant Probability
Low
PTA Risk
Based on 0 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month