`
`
`
`
`==� �
`
`0
`
`UTILITY
`
`Attorney Docket No.
`
`\.
`
`11/709477
`02/21/2007 PTO/SB/OS (02-07)
`
`
`
`
`Approved for use through 02/28/2007. 0MB 0651-0032
`
`U.S. Patent and Trademark Office. U.S. DEPARTMENT OF COMMERCE
`
`
`
`Under the Paoerwork Reduction Act of 1995 no oersons are reauired to resoond to a collection of information unless it disolavs a valid 0MB control number
`PNTA-P006.CIP.A "'
`First Inventor KULKARNI, et al.
`
`ROOT IMAGE CACHING AND INDEXING
`PATENT APPLICATION
`TRANSMITTAL Title
`under 37 CFR 1.53(b)) Express Mail Label No. EV943281767US
`�
`
`(Only for new nonprovisional applications
`Commissioner for Patents
`ADDRESS TO: P.O. Box 1450
`
`Alexandria VA 22313-1450
`
`See MPEP chapter
`PTO/SB/17) 1.[?J Fee Transmittal Form (e.g.,
`
`
`
`Applicant claims small entity status.
`2.D (Submit
`See 37 CFR 1.27.
`3.0 Specification [Total
`Pages 25 I
`
`Both the claims and abstract must start on a new page
`4.[Z] Drawing(s} (35 U.S.C. 113) [Total
`5.Oath or Declaration
`Sheets 3 l 10.D 37 CFR 3.73(b) Statement
`owerof
`(when there is an assignee) Attorney
`
`a.8 Newly executed (original or copy)
`
`
`b. A copy from a prior application (37 CFR 1.63(d))
`□ or continuation/divisional
`
`
`Document (if applicable) with Box 18 completed) 11.D English Translation
`i. DELETION OF INVENTOR{S}
`
`
`
`
`Signed statement attached deleting inventor( s)
`
`
`or PT0-1449) 12. D lnfoE1 tion Disclosure Statement (PTO/SB/08
`
`name in the prior application, see 37 CFR
`
`Copies of citations attached
`
`1.63(d)(2) and 1.33(b).
`
`Application Data Sheet. See 37 CFR 1.76
`6.□
`13.D Preliminary
`Amendment
`1.□ CD-ROM or CD-R in duplicate,
`large table or
`14. [Z] Return Receipt Postcard (MPEP 503)
`15puter Program (Appendix)
`
`Landscape Table on CD
`and/or Amino Acid Sequence Submission 15.D Certified Copy of Priority Document(s)
`
`8.Nucleotide
`
`
`a. D Computer Readable Form (CRF)
`
`16.[Z] Nonpublication Request under 35 U.S.C. 122(b)(2)(B)(i).
`b. Specification
`
`Sequence Listing on:
`
`
`Applicant must attach form PTO/SB/35 or equivalent.
`
`
`or i. CD-ROM or CD-R (2 copies);
`17. D 0ther:
`ii.O Paper
`□
`of above copies c.□ Statements verifying identity
`
`
`
`
`18. If a CONTINUING APPLICATION,
`D Continuation □ Divisional 0 Continuation-in-part (CIP) of prior application
`
`No.: 1.1/395,81.6
`IB�
`Art Unit: 2§21;!
`
`
`
`an original and a duplicate for fee processing)
`
`
`
`
`
`ACCOMPANYING APPLICATION PARTS
`
`9.0 Assignment Papers (cover sheet & document(s))
`
`Name of Assignee Panta S:r:stems, Inc.
`
`□P
`
`
`
`(For information on the preferred arrangement, see MPEP 608.01/a))
`
`Sheets 6 l
`
`[Total
`
`
`
`(Should be specifically itemized)
`
`
`
`
`
`(if applicable, items a. -c. are required)
`
`(if foreign priority is claimed)
`
`
`
`
`
`
`
`specification following the title, or in an Application Data Sheet under 37 CFR 1. 76:
`
`
`
`check appropriate box, and supply the requisite information below and in the first sentence of the
`
`
`
`................
`
`
`
`Prior application information: Examiner
`
`
`
`19.CORRESPONDENCE ADDRESS
`
`
`
`41066 IOR D Correspondence
`Number: I [{] The address associated with Customer
`
`address below
`
`
`Name
`Address
`City
`I State
`Zip Code
`Country
`Email '
`,/1 I Telephone
`Signature f·:. �, ry'6C/.
`I Date 02/21/2007
`Name
`
`Registration No. I
`Eri;;-J. Maier/
`59•614
`(Print/Type)
`(Attornev/Aoentl
`
`
`
`
`
`
`
`This collection of information is required by 37 CFR 1.53(b). The information is required to obtain or retain a benefit by the public which is to file (and by the
`
`
`
`
`USPTO to process) an application. Confidentiality is governed by 35 U.S.C. 122 and 37 CFR 1.11 and 1.14. This collection is estimated to take 12 minutes to
`
`
`
`
`
`
`
`
`complete, including gathering, preparing, and submitting the completed application form to the USPTO. Time will vary depending upon the individual case. Any
`
`
`
`
`
`comments on the amount of time you require to complete this form and/or suggestions for reducing this burden, should be sent to the Chief Information Officer,
`
`
`
`
`U.S. Patent and Trademark Office, U.S. Department of Commerce, P.O. Box 1450, Alexandria, VA 22313-1450. DO NOT SEND FEES OR COMPLETED
`
`
`FORMS TO THIS ADDRESS. SEND TO: Commlsslonerfor Patents, P.O. Box 1450, Alexandria, VA 22313-1450.
`
`APPLICATION ELEMENTS
`
`
`
`600 concerning utility patent application contents.
`
`
`
`If you need assistance in completing the form, call 1-800-PT0-9199 and select option 2.
`
`
`
`
`
`
`
`
`
`Docker EX1002
`Page 1 of 322
`
`
`
`PTO/SB/17 (02-07)
`Approved for use through 02/28/2007. 0MB 0651-0032
`U.S. Patent and Trademark Office; U.S. DEPARTMENT OF COMMERCE
`Under the Paperwork Reduction Act of 1995 no persons are required to respond to a collection of information unless it displays a valid OMB control number
`Complete if Known
`
`Effective on 12/08/2004.
`Fees pursuant to the Consolidated Appropriations Act, 2005 (H.R. 4818).
`
`FEE TRANSMITTAL
`For FY 2007
`
`TOTAL AMOUNT OF PAYMENT
`
`($)
`
`1,750.00
`
`METHOD OF PAYMENT (check all that apply)
`
`Application Number
`Filing Date
`02/21/07
`First Named Inventor KULKARNI, etal.
`Examiner Name
`Art Unit
`Attorney Docket No.
`
`PNTA-P006.CIP.A
`
`* Check |___| Credit Card I___IMoney Order
`Deposit Account Deposit Account Number: 23-0085
`Deposit Account Name:
`For the above-identified deposit account, the Director is hereby authorized to: (check all that apply)
`
`None
`
`I
`
`I Other (please identify)!
`
`WARNING: Information on this form may become public. Credit card information should not be included on this form. Provide credit card
`information and authorization on PTO-2038.
`FEE CALCULATION
`1. BASIC FILING, SEARCH, AND EXAMINATION FEES
`FILING FEES
`SEARCH FEES
`Small Entity
`Small Entity
`Fee ($)
`Fee ($)
`Fee ($)
`Fee ($)
`300
`500
`150
`250
`200
`100
`100
`50
`200
`100
`300
`150
`300
`500
`150
`250
`200
`0
`100
`0
`
`Fees Paid ($)
`
`1000,00
`
`EXAMINATION FEES
`Small Entity
`Fee ($)
`Fee ($)
`200
`100
`130
`65
`160
`80
`600
`300
`0
`0
`
`Application Type
`Utility
`Design
`Plant
`Reissue
`Provisional
`2. EXCESS CLAIM FEES
`Fee Description
`Each claim over 20 (including Reissues)
`Each independent claim over 3 (including Reissues)
`Multiple dependent claims
`Fee ($)
`Total Claims
`Extra Claims
`50.Q0
`x
`27
`- 20 or HP =
`7
`HP = highest number of total claims paid for, if greater than 20.
`Indep. Claims
`Extra Claims
`Fee ($)
`x
`5
`- 3 or HP =
`2
`200.00 =
`HP = highest number of independent claims paid for, if greater than 3.
`3. APPLICATION SIZE FEE
`If the specification and drawings exceed 100 sheets of paper (excluding electronically filed sequence or computer
`listings under 37 CFR 1.52(e)), the application size fee due is $250 ($125 for small entity) for each additional 50
`sheets or fraction thereof. See 35 U.S.C. 41(a)(1)(G) and 37 CFR 1.16(s).
`Total Sheets
`Extra Sheets
`Number of each additional 50 or fraction thereof
`33
`(round up to a whole number) x
`0.
`-100 =
`4. OTHER FEE(S)
`Non-English Specification, $130 fee (no small entity discount)
`Other (e.g., late filing surcharge):
`
`Small Entity
`Fee ($)
`Fee ($)
`50
`25
`100
`200
`360
`180
`Multiple Dependent Claims
`Fee ($)
`Fee Paid ($)
`
`Fee Paid ($)
`
`Fee Paid ($)
`400.00
`
`Z50 =
`
`Fee ($)
`0
`
`Fee Paid ($)
`0
`Fees Paid ($)
`
`SUBMITTED BY
`Signature
`
`Registration No.
`(Attomey/Agent) 59,614
`
`Telephone 408-938-9060
`
`Name (Print/Type) ‘eric J. Mai/s
`This collection of information is required by 37 CFR 1.136. The information is required to obtain or retain a benefit by the public which is to file (and by the
`USPTO to process) an application. Confidentiality is governed by 35 U.S.C. 122 and 37 CFR 1.14. This collection is estimated to take 30 minutes to complete,
`including gathering, preparing, and submitting the completed application form to the USPTO. Time will vary depending upon the individual case. Any comments
`on the amount of time you require to complete this form and/or suggestions for reducing this burden, should be sent to the Chief Information Officer, U.S. Patent
`and Trademark Office, U.S. Department of Commerce, P.O. Box 1450, Alexandria, VA 22313-1450. DO NOT SEND FEES OR COMPLETED FORMS TO THIS
`ADDRESS. SEND TO: Commissioner for Patents, P.O. Box 1450, Alexandria, VA 22313-1450.
`If you need assistance in completing the form, call 1-800-PTO-9199 and select option 2.
`
`Date 02/21/2007
`
`Docker EX1002
`Page 2 of 322
`
`
`
`U.S. PTO
`11/709477
`02/2112007
`PTO/SB/05 (02-07)
`Approved for use through 02/28/2007. OMB 0651-0032
`U.S. Patent and Trademark Office. U.S. DEPARTMENT OF COMMERCE
`Under the Paperwork Reduction Act of 1995, no persons are required to respond to a collection of information unless it displays a valid OMB control number.
`PNTA-P006.CIP.A
`
`Attorney Docket No.
`
`First Inventor
`
`Title
`
`KULKARNI, et al.
`
`ROOT IMAGE CACHING AND INDEXING
`
`UTILITY
`PATENT APPLICATION
`TRANSMITTAL
`
`wc
`
`o0
`
`22107
`
`'(/)
`
`O
`
`(Only for new nonprovisional applications under 37 CFR 1.53(b))
`
`Express Mail Label No.
`
`EV943281767US
`
`APPLICATION ELEMENTS
`See MPEP chapter 600 concerning utility patent application contents.
`
`ADDRESS TO:
`
`Commissioner for Patents
`P.O. Box 1450
`Alexandria VA 22313-1450
`
`F e e Transmittal Form (e.g., PTO/SB/17)
`1(cid:127) 0
`_ _
`(Submit an original and a duplicate for fee processing)
`2. 1
`I Applicant claims small entity status.
`See 37 CFR 1.27.
`25
`Specification
`[Total Pages
`Both the claims and abstract must start on a new page
`(For information on the preferred arrangement, see MPEP 608.01(a))
`4. [7] Drawing(s) (35 U.S.C. 113)
`6
`[Total Sheets
`
`3. 0
`
`]
`
`5. Oath or Declaration
`[Total Sheets
`a. p~[ Newly executed (original or copy)
`b. [ I
`A copy from a prior application (37 CFR 1.63(d))
`(for continuation/divisional with Box 18 completed)
`i. |~ | DELETION OF INVENTOR(S)
`Signed statement attached deleting inventor(s)
`name in the prior application, see 37 CFR
`1.63(d)(2) and 1.33(b).
`
`3
`
`]
`
`]
`
`6. |
`
`| Application Data Sheet See 37 CFR 1.76
`
`7. 0
`
`CD-ROM or CD-R in duplicate, large table or
`Computer Program (Appendix)
`| _ _| Landscape Table on CD
`
`8. Nucleotide and/or Amino Acid Sequence Submission
`(if applicable, items a. - c. are required)
`a.
`| Computer Readable Form (CRF)
`b.
`Specification Sequence Listing on:
`
`i.
`ii. |
`
`CD-ROM or CD-R (2 copies); or
`| Paper
`
`ACCOMPANYING APPLICATION PARTS
`
`9. 0
`
`Assignment Papers (cover sheet & document(s))
`
`Name of Assignee Panta Systems, Inc. ______________
`
`10. O 37 CFR 3.73(b) Statement
`(when there is an assignee)
`
`|— |Power of
`Attorney
`
`11. |
`
`| English Translation Document (if applicable)
`
`12. |
`
`| Infonnation Disclosure Statement (PTO/SB/08 or PTO-1449)
`I—J Copies of citations attached
`
`13. 0 I Preliminary Amendment
`
`14. |~/~| Return Receipt Postcard (MPEP 503)
`(Should be specifically itemized)
`
`15. |
`
`| Certified Copy of Priority Document(s)
`(if foreign priority is claimed)
`
`16. |~/~| Nonpublication Request under 35 U.S.C. 122(b)(2)(B)(i).
`Applicant must attach form PTO/SB/35 or equivalent.
`
`17.
`
`Other: ___________________________________________
`
`Statements verifying identity of above copies
`c. 0 ]
`18. If a CONTINUING APPLICATION, check appropriate box, and supp
`oly the requisite information below and in the first sentence of the
`specification following the title, or in an Application Data Sheet under 37
`7 CFR 1.76:
`
`L . I Continuation
`
`I
`
`I Divisional
`
`
`
`I z I Continuattion-in-part (CIP)
`
`of prior application No.: 1.1/395,81.6....................
`
`Prior application information:
`
`Examiner TBD _____________
`_______________
`
`Art Unit: 2628 ______________________________
`
`DENCE ADDRESS
`19. CORRESPOND
`
`ryiL-i—I The address assiociated with Customer Number:
`
`>66
`410l
`
`OR
`
`| Correspondence address below
`
`Name
`
`Address
`City
`Country
`r Signature
`Name
`k (Print/Type)
`
`Eric J. Maiers
`
`I State
`Telephone
`
`Zip Code
`’(cid:127)
`Date 02/21/2007
`Registration No.
`(Attorney/Aqent) 59,614
`This collection of information is required by 37 CFR 1.53(b). The information is required to obtain or retain a benefit by the public which is to file (and by the
`USPTO to process) an application. Confidentiality is governed by 35 U.S.C. 122 and 37 CFR 1.11 and 1.14. This collection is estimated to take 12 minutes to
`complete, including gathering, preparing, and submitting the completed application form to the USPTO. Time will vary depending upon the individual case. Any
`comments on the amount of time you require to complete this form and/or suggestions for reducing this burden, should be sent to the Chief Information Officer,
`U.S. Patent and Trademark Office, U.S. Department of Commerce, P.O. Box 1450, Alexandria, VA 22313-1450. DO NOT SEND FEES OR COMPLETED
`FORMS TO THIS ADDRESS. SEND TO: Commissioner for Patents, P.O. Box 1450, Alexandria, VA 22313-1450.
`If you need assistance in completing the form, call 1-800-PTO-9199 and select option 2.
`
`'
`
`Docker EX1002
`Page 3 of 322
`
`
`
`PTO/SB/17 (02-07)
`Approved for use through 02/28/2007. 0MB 0651-0032
`U.S. Patent and Trademark Office; U.S. DEPARTMENT OF COMMERCE
`Under the Paperwork Reduction Act of 1995 no persons are required to respond to a collection of information unless it displays a valid OMB control number
`Complete if Known
`
`Effective on 12/08/2004.
`Fees pursuant to the Consolidated Appropriations Act, 2005 (H.R. 4818).
`
`FEE TRANSMITTAL
`For FY 2007
`
`TOTAL AMOUNT OF PAYMENT
`
`($)
`
`1,750.00
`
`METHOD OF PAYMENT (check all that apply)
`
`Application Number
`Filing Date
`02/21/07
`First Named Inventor KULKARNI, etal.
`Examiner Name
`Art Unit
`Attorney Docket No.
`
`PNTA-P006.CIP.A
`
`* Check |___| Credit Card I___IMoney Order
`Deposit Account Deposit Account Number: 23-0085
`Deposit Account Name:
`For the above-identified deposit account, the Director is hereby authorized to: (check all that apply)
`
`None
`
`I
`
`I Other (please identify)!
`
`WARNING: Information on this form may become public. Credit card information should not be included on this form. Provide credit card
`information and authorization on PTO-2038.
`FEE CALCULATION
`1. BASIC FILING, SEARCH, AND EXAMINATION FEES
`FILING FEES
`SEARCH FEES
`Small Entity
`Small Entity
`Fee ($)
`Fee ($)
`Fee ($)
`Fee ($)
`300
`500
`150
`250
`200
`100
`100
`50
`200
`100
`300
`150
`300
`500
`150
`250
`200
`0
`100
`0
`
`Fees Paid ($)
`
`1000,00
`
`EXAMINATION FEES
`Small Entity
`Fee ($)
`Fee ($)
`200
`100
`130
`65
`160
`80
`600
`300
`0
`0
`
`Application Type
`Utility
`Design
`Plant
`Reissue
`Provisional
`2. EXCESS CLAIM FEES
`Fee Description
`Each claim over 20 (including Reissues)
`Each independent claim over 3 (including Reissues)
`Multiple dependent claims
`Fee ($)
`Total Claims
`Extra Claims
`50.Q0
`x
`27
`- 20 or HP =
`7
`HP = highest number of total claims paid for, if greater than 20.
`Indep. Claims
`Extra Claims
`Fee ($)
`x
`5
`- 3 or HP =
`2
`200.00 =
`HP = highest number of independent claims paid for, if greater than 3.
`3. APPLICATION SIZE FEE
`If the specification and drawings exceed 100 sheets of paper (excluding electronically filed sequence or computer
`listings under 37 CFR 1.52(e)), the application size fee due is $250 ($125 for small entity) for each additional 50
`sheets or fraction thereof. See 35 U.S.C. 41(a)(1)(G) and 37 CFR 1.16(s).
`Total Sheets
`Extra Sheets
`Number of each additional 50 or fraction thereof
`33
`(round up to a whole number) x
`0.
`-100 =
`4. OTHER FEE(S)
`Non-English Specification, $130 fee (no small entity discount)
`Other (e.g., late filing surcharge):
`
`Small Entity
`Fee ($)
`Fee ($)
`50
`25
`100
`200
`360
`180
`Multiple Dependent Claims
`Fee ($)
`Fee Paid ($)
`
`Fee Paid ($)
`
`Fee Paid ($)
`400.00
`
`Z50 =
`
`Fee ($)
`0
`
`Fee Paid ($)
`0
`Fees Paid ($)
`
`SUBMITTED BY
`Signature
`
`Registration No.
`(Attomey/Agent) 59,614
`
`Telephone 408-938-9060
`
`Name (Print/Type) ‘eric J. Mai/s
`This collection of information is required by 37 CFR 1.136. The information is required to obtain or retain a benefit by the public which is to file (and by the
`USPTO to process) an application. Confidentiality is governed by 35 U.S.C. 122 and 37 CFR 1.14. This collection is estimated to take 30 minutes to complete,
`including gathering, preparing, and submitting the completed application form to the USPTO. Time will vary depending upon the individual case. Any comments
`on the amount of time you require to complete this form and/or suggestions for reducing this burden, should be sent to the Chief Information Officer, U.S. Patent
`and Trademark Office, U.S. Department of Commerce, P.O. Box 1450, Alexandria, VA 22313-1450. DO NOT SEND FEES OR COMPLETED FORMS TO THIS
`ADDRESS. SEND TO: Commissioner for Patents, P.O. Box 1450, Alexandria, VA 22313-1450.
`If you need assistance in completing the form, call 1-800-PTO-9199 and select option 2.
`
`Date 02/21/2007
`
`Docker EX1002
`Page 4 of 322
`
`
`
`PNTA-P006.CIP.A
`
`CONFIDENTIAL
`
`UNITED STATES PATENT APPLICATION FOR
`
`ROOT IMAGE CACHING AND INDEXING FOR BLOCK-LEVEL
`DISTRIBUTED APPLICATION MANAGEMENT
`
`Inventors:
`Pradip Kulkami
`Mukul Kumar
`Adhir Potar
`Richard Au
`Tung Nguyen
`
`PREPARED BY:
`
`WAGNER, MURABITO & HAO, LLP
`
`TWO NORTH MARKET STREET
`
`THIRD FLOOR
`
`SAN JOSE, C A 9 5 1 1 3
`
`(408) 938-9060
`
`Docker EX1002
`Page 5 of 322
`
`
`
`1
`
`ROOT IMAGE CACHING AND INDEXING FOR BLOCK-LEVEL
`DISTRIBUTED APPLICATION MANAGEMENT
`
`[0001]
`
`Claim of Priority under 35 U.S.C. §120
`The present Application for Patent is a continuation-in-part of Patent Serial No.
`11/395,816 entitled “BLOCK-LEVEL I/O SUBSYSTEM FOR DISTRIBUTED
`APPLICATION ENVIRONMENT MANGEMENT” filed March 30, 2006, pending, and
`assigned to the assignee hereof and hereby expressly incorporated by reference herein.
`
`[0002]
`
`Reference to Co-Pending Applications for Patent
`The present Application for Patent is related to the following co-pending U.S.
`Patent Application:
`DISTRIBUTED
`BLOCK-LEVEL
`FOR
`SCANNING
`“VIRUS
`APPLICATION MANAGEMENT” by Kulkami et al, having Attorney Docket No.
`PNTA-P006.CON.B, filed concurrently herewith, assigned to the assignee hereof, and
`expressly incorporated by reference herein.
`
`BACKGROUND
`
`[0003]
`
`Field of the Invention
`Embodiments of the present invention relate to the field of networked computing.
`Specifically, embodiments of the present invention relate to distributed application
`environment deployment in a multi-computer system.
`
`[0004]
`
`Background
`Over the years, as the internet has expanded and computers have multiplied, the
`need for clustered computing such as High Performance Computing (HPC) has increased.
`Clustered computing involves multiple compute nodes, usually a server grid, that work
`together to achieve a common task. For example, several (typically hundreds of)
`compute nodes may be clustered together to share the load of serving a high-traffic
`website.
`In large-scale systems such as this, a trend in software deployment is to
`
`PNTA-P006.CIP.A/EJM/JPH
`
`Docker EX1002
`Page 6 of 322
`
`
`
`2
`
`centralize data management on a globally accessible file system with stateless computing
`nodes. A common example of this is Operating System (OS) software image
`management, where the compute nodes are activated with the distributed application
`environment by either diskless booting protocols or remote software installation to local
`storage. Under this architecture, a boot image is required for each compute node in the
`cluster. The boot image necessarily contains the kernel; it may additionally contain the
`application software that is intended to be run on the compute node.
`
`[0005]
`
`The primary concern in clustered computing is low cluster bring-up time. The
`software that provides the boot images for the cluster typically stores a master boot
`image. It may then either pre-create clones of this master image for each such server, or
`it may create them “on the fly.”
`
`[0006]
`
`Creating a boot image on the fly involves copying the entire contents of the
`master image, which are typically in the range of 5-15 GB. Even with a significant
`amount of bandwidth by today’s standards, this method will result in a large bring-up
`time.
`
`[0007]
`
`Pre-creating a boot image for each server is advantageous from the point of view
`of cluster bring-up time. However, since one often does not know in advance how many
`servers will ever be booted, this scheme may result in wasted disk space.
`
`[0008]
`
`Regardless of which of the preceding methods is used, both suffer from the same
`major problem - updating the boot image(s) for the cluster is cumbersome, as it means
`updating a number of copies of the boot image.
`
`[0009]
`
`Additionally, once some compute nodes have booted, they will often engage in
`redundant activities with respect to each other. For example, assume that a cluster
`involves 20 compute nodes each running the same operating system and using
`substantially similar hardware. The 20 compute nodes will generally need to access
`
`PNTA-P006.CIP.A/EJM/JPH
`
`Docker EX1002
`Page 7 of 322
`
`
`
`3
`
`much of the same data (e.g., drivers, library files, etc.). Moreover, when each of the 20
`compute nodes index their file systems, the index results will only vary slightly to the
`extent that each compute node has developed its own “personality.” Thus, to the extent
`that there is redundancy in the operations of the compute nodes, CPU resources, disk
`space, and data bus bandwidth are wasted.
`
`[0010]
`
`In a branching store file system, a read-only base image (or “root” image) of the
`application environment is created. The root image is accessible by all compute nodes in
`the cluster. Changes made by a compute node to the root image are stored in a “leaf’
`image unique to that compute node. A filter operates between the compute nodes and the
`file system(s), which merges the changes recorded on the leaf images with the root image
`and delivers the result to the appropriate compute node. From the point of view of the
`compute node, it is running its own unique and cohesive instance of the application
`environment. While this system allows for creation of boot images on the fly without
`severely diminishing bring-up time, a separate version of the system must be created for
`each unique operating system because data is stored at the file system level (i.e., on a
`“per file basis”). Thus, migrating a computing cluster from one operating system to
`another is much more complicated than simply installing a new root image containing the
`new OS.
`
`PNTA-P006.CIP.A/EJM/JPH
`
`Docker EX1002
`Page 8 of 322
`
`
`
`4
`
`[0011]
`
`[0012]
`
`SUMMARY
`Described herein is technology for, among other things root image caching and
`indexing for block-level distributed application management. The technology involves
`storing blocks of a root image on a first storage unit and storing blocks of leaf images on
`respective second storage units. The leaf images include additional data blocks not
`previously contained in the root image and changes made by respective compute nodes to
`the blocks of the root image. The technology includes caching blocks of the root image
`that have been accessed by at least one compute node. The technology also includes
`receiving indexing results pertaining to the root image from one compute node and
`providing the results for other compute nodes.
`
`Thus, embodiments of the present invention provide an operating system-
`independent system and method for distributing an application environment to a compute
`node. By utilizing a root-leaf system of application environment storage, embodiments
`of the present invention allow creation of boot images on the fly without significantly
`diminishing bring-up time. This is due to the fact that creating a new boot image does
`not require copying the contents of the root image. Rather it involves registering a new
`UBD with the system, which occurs very quickly. Bring up time, and access time in
`general, can be further improved by caching commonly accessed the portions of the root
`image. Moreover, updating the boot image for the entire cluster simply involves
`updating the root image. Additionally, because of the commonality of the root image and
`the fact that its contents are not directly changed, certain operations performed on the
`root image (e.g., indexing) only need to be performed once by one compute node.
`Thereafter, the results of that operation can be shared with the other compute nodes in the
`cluster, thus saving the other compute nodes valuable time and resources.
`
`PNTA-P006.CIP.A/EJM/JPH
`
`Docker EX1002
`Page 9 of 322
`
`
`
`5
`
`[0013]
`
`[0014]
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 is a diagram of a suitable system on which embodiments may be
`implemented.
`
`FIG. 2 is a diagram of a system for root image caching and indexing in a block-
`level distributed application environment, in accordance with various embodiments of the
`present invention.
`
`[0015]
`
`FIGS. 3A-3B are flowcharts illustrating a process for root image caching and
`indexing in a block-level distributed application environment, in accordance with various
`embodiments of the present invention.
`
`[0016]
`
`FIG. 4 illustrates a flowchart for a process for updating the cache based on a read
`request, in accordance with an embodiment of the present invention.
`
`[0017]
`
`FIG. 5 illustrates a flowchart for a process for indexing a root image, in
`accordance with various embodiments of the present invention.
`
`PNTA-P006.CIP.A/EJM/JPH
`
`Docker EX1002
`Page 10 of 322
`
`
`
`6
`
`DETAILED DESCRIPTION
`
`[0018]
`
`Reference will now be made in detail to the preferred embodiments of the
`invention, examples of which are illustrated in the accompanying drawings. While the
`invention will be described in conjunction with the preferred embodiments, it will be
`understood that they are not intended to limit the invention to these embodiments. On the
`contrary, the invention is intended to cover alternatives, modifications and equivalents,
`which may be included within the spirit and scope of the invention as defined by the
`claims. Furthermore, in the detailed description of the present invention, numerous
`specific details are set forth in order to provide a thorough understanding of the present
`invention. However, it will be obvious to one of ordinary skill in the art that the present
`invention may be practiced without these specific details. In other instances, well known
`methods, procedures, components, and circuits have not been described in detail as not to
`unnecessarily obscure aspects of the present invention.
`
`[0019]
`
`Some portions of the detailed descriptions that follow are presented in terms of
`procedures, logic blocks, processing, and other symbolic representations of operations on
`data bits within a computer or digital system memory. These descriptions and
`representations are the means used by those skilled in the data processing arts to most
`effectively convey the substance of their work to others skilled in the art. A procedure,
`logic block, process, etc., is herein, and generally, conceived to be a self-consistent
`sequence of steps or instructions leading to a desired result. The steps are those requiring
`physical manipulations of physical quantities. Usually, though not necessarily, these
`physical manipulations take the form of electrical or magnetic signals capable of being
`stored, transferred, combined, compared, and otherwise manipulated in a computer
`system or similar electronic computing device. For reasons of convenience, and with
`reference to common usage, these signals are referred to as bits, values, elements,
`symbols, characters, terms, numbers, or the like with reference to the present invention.
`
`PNTA-P006.CIP.A/EJM/JPH
`
`Docker EX1002
`Page 11 of 322
`
`
`
`7
`
`[0020]
`
`It should be borne in mind, however, that all of these terms are to be interpreted as
`referencing physical manipulations and quantities and are merely convenient labels and
`are to be interpreted further in view of terms commonly used in the art. Unless
`specifically stated otherwise as apparent from the discussion herein, it is understood that
`throughout discussions of the present embodiment, discussions utilizing terms such as
`“determining” or “outputting” or “transmitting” or “recording” or “locating” or “storing”
`or “displaying” or “receiving” or “recognizing” or “utilizing” or “generating” or
`“providing” or “accessing” or “checking” or “notifying” or “delivering” or the like, refer
`to the action and processes of a computer system, or similar electronic computing device,
`that manipulates and transforms data. The data is represented as physical (electronic)
`quantities within the computer system’s registers and memories and is transformed into
`other data similarly represented as physical quantities within the computer system
`memories or registers or other such information storage, transmission, or display devices.
`
`[0021]
`
`Briefly stated, described herein is technology for, among other things root image
`caching and indexing for block-level distributed application management.
`The
`technology involves storing blocks of a root image on a first storage unit and storing
`blocks of leaf images on respective second storage units. The leaf images include
`additional data blocks not previously contained in the root image and changes made by
`respective compute nodes to the blocks of the root image. The technology includes
`caching blocks of the root image that have been accessed by at least one compute node.
`The technology also includes receiving indexing results pertaining to the root image from
`one compute node and providing the results for other compute nodes.
`
`[0022]
`
`Example Compute Node Operating Environment
`With reference to FIG. 1, an example system for implementing embodiments
`includes a general purpose computing system environment, such as compute node 100.
`In its most basic configuration, compute node 100 typically includes at least one
`processing unit 102 and memory 104. Depending on the exact configuration and type of
`compute node, memory 104 may be volatile (such as RAM), non-volatile (such as ROM,
`
`PNTA-P006.CIP.A/EJM/JPH
`
`Docker EX1002
`Page 12 of 322
`
`
`
`8
`
`flash memory, etc.) or some combination of the two. This most basic configuration is
`illustrated in Figure 1 by dashed line 105. Additionally, compute node 100 may also
`have additional features/functionality. For example, compute node 100 may also include
`additional storage (removable and/or non-removable) including, but not limited to,
`magnetic or optical disks or tape. Such additional storage is illustrated in FIG. 1 by
`removable storage 108 and non-removable storage 110. Computer storage media
`includes volatile and nonvolatile, removable and non-removable media implemented in
`any method or technology for storage of information such as computer readable
`instructions, data structures, program modules or other data. Memory 104, removable
`storage 108 and nonremovable storage 110 are all examples of computer storage media.
`Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash
`memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other
`optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other
`magnetic storage devices, or any other medium which can be used to store the desired
`information and which can be accessed by compute node 100. Any such computer
`storage media may be part of compute node 100.
`
`[0023]
`
`Compute node 100 may also contain communications connection(s) 112 that
`allow it to communicate with other devices. Communications connection(s) 112 is an
`example of communication media. Communication media typically embodies computer
`readable instructions, data structures, program modules or other data in a modulated data
`signal such as a carrier wave or other transport mechanism and includes any information
`delivery media. The term “modulated data signal” means a signal that has one or more of
`its characteristics set or changed in such a manner as to encode information in the signal.
`By way of example, and not limitation, communication media includes wired media such
`as a wired network or direct-wired connection, and wireless media such as acoustic, RF,
`infrared and other wireless media. The term computer readable media as used herein
`includes both storage media and communication media. Compute node 100 may also
`have input device(s) 114 such as a keyboard, mouse, pen, voice input device, touch input
`device, etc. Output device(s) 116 such as a display, speakers, printer, etc. may also be
`
`PNTA-P006.CIP.A/EJM/JPH
`
`Docker EX1002
`Page 13 of 322
`
`
`
`9
`
`included. All these devices are well known in the art and need not be discussed at length
`here.
`
`[0024]
`
`Example Systems
`FIG. 2 is a diagram of a system 200 for root image caching and indexing in a
`block-level distributed application environment, in accordance with various embodiments
`of the present invention. In one embodiment, system 200 is implemented in a multi-
`computer system, such as an HPC cluster.
`In one embodiment, the application
`environment includes an operating system.
`In other embodiments, the application
`environment may contain other applications. System 200 has a number of compute nodes
`220a-n coupled to first storage unit 240 and a corresponding second storage unit 25



