throbber
U.S. Patent No. 7,519,814 (“’814 Patent”)
`Accused Instrumentalities: Google’s products and services using user mode critical system elements as shared libraries, including
`without limitation Google Kubernetes Engine, Cloud Run, Migrate to Containers, and all versions and variations thereof since the
`issuance of the asserted patent. To the extent Google contends “Google Cloud Observability” is a separate instrumentality, the
`combination of GKE and Google Cloud Observability and the combination of Cloud Run and Google Cloud Observability are
`Accused Instrumentalities with respect to claim 13.
`Each Accused Instrumentality infringes the claims in substantially the same way, and the evidence shown in this chart is similarly
`applicable to each Accused Instrumentality. Each claim limitation is literally infringed by each Accused Instrumentality. However, to
`the extent any claim limitation is not met literally, it is nonetheless met under the doctrine of equivalents because the differences
`between the claim limitation and each Accused Instrumentality would be insubstantial, and each Accused Instrumentality performs
`substantially the same function, in substantially the same way, to achieve the same result as the claimed invention. Notably, Defendant
`has not yet articulated which, if any, particular claim limitations it believes are not met by the Accused Instrumentalities.
`
`Claim 1
`
`Claim 1
`[1pre] 1. In a system having a
`plurality of servers with
`operating systems that differ,
`operating in disparate
`computing environments,
`wherein each server includes a
`processor and an operating
`system including a kernel a set
`of associated local system files
`compatible with the processor,
`a method of providing at least
`some of the servers in the
`system with secure,
`executable, applications related
`to a service, wherein the
`applications are executed in a
`
`Accused Instrumentalities
`To the extent the preamble is limiting, Google and/or its customer practices, through the Accused
`Instrumentalities, in a system having a plurality of servers with operating systems that differ,
`operating in disparate computing environments, wherein each server includes a processor and an
`operating system including a kernel a set of associated local system files compatible with the
`processor, a method of providing at least some of the servers in the system with secure, executable,
`applications related to a service, wherein the applications are executed in a secure environment,
`wherein the applications each include an object executable by at least some of the different operating
`systems for performing a task related to the service, as claimed.
`For example, Google Kubernetes Engine and Cloud Run, as well as containers produced by Migrate
`to Containers, each runs on individual servers, each of which uses an independent operating system.
`This is also true in the infringing configuration where Migrate to Containers is used to produce a
`container that is run on Google Kubernetes Engine or Cloud Run. Google provides and/or requires
`that each server includes a processor with one or more cores available to the OS kernel. Google
`further provides and/or requires that each server has a supported operating system (e.g., Container-
`Optimized OS, Ubuntu), which includes a kernel and associated local system files, including for
`example libraries such as libc/glibc, configuration files, etc. On information and belief, there exist at
`
`Page 1 of 68
`
`Google Exhibit 1079
`Google v. VirtaMove
`
`

`

`
`
`Claim 1
`secure environment, wherein
`the applications each include
`an object executable by at least
`some of the different operating
`systems for performing a task
`related to the service, the
`method comprising:
`
`Accused Instrumentalities
`least two GKE/Cloud Run servers that have different operating systems, for example Container-
`Optimized OS and Ubuntu. The servers operate in disparate computing environments, including
`because each server is a stand-alone computer and/or each server is unrelated to the other servers due
`to having independent hardware and, in some instances, independent software.
`See claim limitations below.
`See also, e.g.:
`
`https://cloud.google.com/migrate/containers/docs/getting-started
`
`
`
`https://cloud.google.com/kubernetes-engine/docs/concepts/node-images
`
`
`
`Page 2 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://cloud.google.com/kubernetes-engine/docs/concepts/node-images
`
`
`
`Page 3 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://cloud.google.com/migrate/containers/docs/getting-started
`
`
`
`
`https://cloud.google.com/blog/products/containers-kubernetes/how-migrate-for-anthos-improves-vm-
`to-container-migration
`
`
`https://cloud.google.com/migrate/containers/docs/compatible-os-versions, Last accessed on June 05,
`2023
`
`Page 4 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`
`https://cloud.google.com/learn/what-are-containers
`
`https://services.google.com/fh/files/misc/why_container_security_matters.pdf
`
`
`
`Page 5 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`
`https://cloud.google.com/blog/products/application-modernization/shift-your-apps-to-container-
`based-workloads-on-the-command-line
`
`
`https://services.google.com/fh/files/misc/why_container_security_matters.pdf
`
`Page 6 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`
`https://cloud.google.com/learn/what-are-containers
`
`https://cloud.google.com/learn/what-are-containers
`
`
`
`https://services.google.com/fh/files/misc/why_container_security_matters.pdf
`
`https://services.google.com/fh/files/misc/why_container_security_matters.pdf
`
`
`
`
`
`Page 7 of 68
`
`

`

`
`
`Claim 1
`[1a] storing in memory
`accessible to at least some of
`the servers a plurality of secure
`containers of application
`software, each container
`comprising one or more of the
`executable applications and a
`set of associated system files
`required to execute the one or
`more applications, for use with
`a local kernel residing
`permanently on one of the
`servers;
`
`
`Accused Instrumentalities
`The method practiced by Google and/or its customer through the Accused Instrumentalities includes
`a step of storing in memory accessible to at least some of the servers a plurality of secure containers
`of application software, each container comprising one or more of the executable applications and a
`set of associated system files required to execute the one or more applications, for use with a local
`kernel residing permanently on one of the servers.
`For example, GKE and, Cloud Run, and Migrate to Containers each stores application containers,
`sometimes called Docker containers, container images, Kubernetes containers, or Kubernetes pods,
`in persistent storage available to each node running the application. This is also true in the infringing
`configuration where Migrate to Containers is used to produce a container that is run on Google
`Kubernetes Engine or Cloud Run. The terms “node” and “host” are sometimes used to refer to the
`claimed server. The container might be in a format defined by the Open Container Initiative. This
`storage may be physically attached to the server or connected through any supported interconnect,
`including over a network. In addition to Each container includes the application software, each
`container includes associated system files, including as well as a Linux user space required to
`execute the application, for example libc/glibc and other shared libraries, configuration files, etc.
`necessary for the application. For example, the container includes a base OS image, provided by
`Google or by a third party, such as a Debian, Rocky Linux, or Ubuntu base image. The container is
`compatible with the host kernel, for example because the container libraries are linked against the
`Linux kernel, and the supported host operating systems also use the Linux kernel, which has a stable
`binary interface.
`For another example, GKE and Cloud Run each stores files, pertaining to the applications, in
`ephemeral or persistent volumes or in the filesystem represented in the container image, required to
`execute the applications within those containers. Because these volumes are stored and accessible
`within the GKE/Cloud Run environment, it is inferred that they are stored in the memory of the
`server as claimed.
`The containers are secure containers as claimed. For example, the data within an individual container
`is insulated from the effects of other containers except to the extent the container is specifically
`configured to allow other containers to modify its data, for example using a shared volume.
`See, e.g.:
`
`Page 8 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://cloud.google.com/software-supply-chain-security/docs/base-images
`
`
`
`Page 9 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://cloud.google.com/software-supply-chain-security/docs/base-images
`
`
`
`Page 10 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`
`
`
`https://cloud.google.com/kubernetes-engine/docs/concepts/storage-overview
`
`
`https://www.docker.com/blog/the-10-most-common-questions-it-admins-ask-about-docker/
`
`
`
`
`
`https://kubernetes.io/docs/concepts/storage/volumes/
`
`Page 11 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`
`https://cloud.google.com/blog/products/application-modernization/shift-your-apps-to-container-
`based-workloads-on-the-command-line
`
`
`
`
`
`
`
`Page 12 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://services.google.com/fh/files/misc/why_container_security_matters.pdf
`
`https://cloud.google.com/learn/what-are-containers
`
`
`
`
`
`Page 13 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://docs.docker.com/storage/storagedriver/
`
`
`
`Page 14 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://docs.docker.com/storage/storagedriver/
`
`
`
`Page 15 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://docs.docker.com/storage/storagedriver/
`
`
`
`Page 16 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://kubernetes.io/docs/concepts/storage/volumes/
`
`
`
`
`https://kubernetes.io/docs/concepts/containers/container-environment/
`
`Page 17 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://kubernetes.io/docs/concepts/containers/images/
`
`https://kubernetes.io/docs/concepts/storage/volumes/
`
`Page 18 of 68
`
`
`
`
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://github.com/opencontainers/image-
`spec/blob/a6af2b480dcfc001ba975f44de53001c873cb0ef/spec.md
`
`
`
`Page 19 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://github.com/opencontainers/image-
`spec/blob/a6af2b480dcfc001ba975f44de53001c873cb0ef/spec.md
`
`
`
`Page 20 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://github.com/opencontainers/image-
`spec/blob/a6af2b480dcfc001ba975f44de53001c873cb0ef/config.md
`
`
`
`Page 21 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://github.com/opencontainers/image-
`spec/blob/a6af2b480dcfc001ba975f44de53001c873cb0ef/config.md
`
`
`
`Page 22 of 68
`
`

`

`
`
`Claim 1
`
`
`
`Accused Instrumentalities
`
`https://github.com/opencontainers/image-
`spec/blob/a6af2b480dcfc001ba975f44de53001c873cb0ef/config.md
`
`Page 23 of 68
`
`

`

`
`
`Claim 1
`[1b] wherein the set of
`associated system files are
`compatible with a local kernel
`of at least some of the plurality
`of different operating systems,
`
`Accused Instrumentalities
`In the method practiced by Google and/or its customer through the Accused Instrumentalities, the set
`of associated system files are compatible with a local kernel of at least some of the plurality of
`different operating systems.
`The associated system files in the container are compatible with the host kernel, for example because
`they are linked against the Linux kernel and the supported host operating systems also use the Linux
`kernel, which has a stable binary interface.
`See discussion and evidence in element [1a] above.
`See also, e.g.:
`
`
`
`
`
`
`
`https://services.google.com/fh/files/misc/why_container_security_matters.pdf
`
`Page 24 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`
`https://cloud.google.com/learn/what-are-containers
`
`Page 25 of 68
`
`

`

`
`
`Claim 1
`[1c] the containers of
`application software excluding
`a kernel,
`
`Accused Instrumentalities
`In the method practiced by Google and/or its customer through the Accused Instrumentalities, the
`containers of application software exclude a kernel.
`See discussion and evidence in element [1a] above.
`See also, e.g.:
`
`
`https://cloud.google.com/blog/products/containers-kubernetes/how-migrate-for-anthos-improves-vm-
`to-container-migration
`
`
`
`
`https://services.google.com/fh/files/misc/why_container_security_matters.pdf
`
`Page 26 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`
`https://www.docker.com/blog/the-10-most-common-questions-it-admins-ask-about-docker/
`
`Page 27 of 68
`
`

`

`
`
`Claim 1
`[1d] wherein some or all of the
`associated system files within
`a container stored in memory
`are utilized in place of the
`associated local system files
`that remain resident on the
`server,
`
`Accused Instrumentalities
`In the method practiced by Google and/or its customer through the Accused Instrumentalities, some
`or all of the associated system files within a container stored in memory are utilized in place of the
`associated local system files that remain resident on the server.
`For example, each container will utilize its own local associated system files, including libraries such
`as libc/glibc and configuration files, not the corresponding associated local system files (e.g. libraries
`and configuration files of the host OS). As described above and below, in the Accused
`Instrumentalities the associated system files provide at least some of the same functionalities as the
`associated local system files. The host/node’s associated local system files remain resident on the
`host/node, for example for use by system processes or applications outside the container
`environment.
`See discussion and evidence in element [1a] above.
`See also, e.g.:
`
`
`
`
`https://services.google.com/fh/files/misc/why_container_security_matters.pdf
`
`Page 28 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`
`https://cloud.google.com/blog/products/application-modernization/shift-your-apps-to-container-
`based-workloads-on-the-command-line
`
`Page 29 of 68
`
`

`

`
`
`Claim 1
`[1e] wherein said associated
`system files utilized in place of
`the associated local system
`files are copies or modified
`copies of the associated local
`system files that remain
`resident on the server,
`
`Accused Instrumentalities
`In the method practiced by Google and/or its customer through the Accused Instrumentalities, said
`associated system files utilized in place of the associated local system files are copies or modified
`copies of the associated local system files that remain resident on the server.
`For example, in some cases the host OS and container will use one or more identical system files, for
`example when both the host and the container incorporate the same Linux distribution version, or
`when both host and container use the same version of libc. In other cases modified copies are used
`instead, for example when different versions of the same library, or configuration files with different
`parameters, are used by the host and container.
`See discussion and evidence in element [1a] above.
`See also, e.g.:
`
`
`
`
`https://services.google.com/fh/files/misc/why_container_security_matters.pdf
`
`Page 30 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`
`https://medium.com/@swalperen3008/what-is-dockerize-and-dockerize-your-project-a-step-by-step-
`guide-899c48a34df6
`
`https://kubernetes.io/docs/concepts/containers/
`
`
`
`Page 31 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://docs.docker.com/storage/storagedriver/
`
`
`
`Page 32 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://docs.docker.com/storage/storagedriver/
`
`
`
`Page 33 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://docs.docker.com/storage/storagedriver/
`
`
`
`Page 34 of 68
`
`

`

`
`
`Claim 1
`[1f] and wherein the
`application software cannot be
`shared between the plurality of
`secure containers of
`application software,
`
`Accused Instrumentalities
`In the method practiced by Google and/or its customer through the Accused Instrumentalities, the
`application software cannot be shared between the plurality of secure containers of application
`software.
`For example, each container has an isolated runtime environment that cannot be accessed by other
`containers, for example including a per-container writeable layer or other ephemeral per-container
`storage. For another example, when the plurality of secure containers each corresponds to a different
`container image, each container cannot access another container’s image and therefore application
`software.
`See, e.g.:
`
`https://services.google.com/fh/files/misc/why_container_security_matters.pdf
`
`https://services.google.com/fh/files/misc/why_container_security_matters.pdf
`
`https://cloud.google.com/kubernetes-engine/docs/concepts/volumes
`
`
`
`
`
`
`
`Page 35 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://kubernetes.io/docs/concepts/workloads/pods/
`
`
`
`
`
`
`https://cloud.google.com/kubernetes-engine#section-2
`
`Page 36 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://docs.docker.com/storage/storagedriver/
`
`
`
`Page 37 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://docs.docker.com/storage/storagedriver/
`
`
`
`Page 38 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://docs.docker.com/storage/storagedriver/
`
`
`
`Page 39 of 68
`
`

`

`
`
`Claim 1
`[1g] and wherein each of the
`containers has a unique root
`file system that is different
`from an operating system's
`root file system.
`
`Accused Instrumentalities
`In the method practiced by Google and/or its customer through the Accused Instrumentalities, each
`of the containers has a unique root file system that is different from an operating system's root file
`system.
`For example, the container’s root file system comprises the image layer(s), an ephemeral writeable
`layer (e.g., in Docker terminology the container layer), and optionally one or more volumes. This
`root file system is distinct and isolated from the host operating system’s root file system.
`See, e.g.:
`
`“Borg, Omega, and, Kubernetes,”
`https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/44843.pdf
`
`
`
`
`https://opensource.googleblog.com/2023/04/gvisor-improves-performance-with-root-filesystem-
`overlay.html
`
`Page 40 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://kubernetes.io/docs/concepts/storage/volumes/
`
`
`
`Page 41 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://docs.docker.com/storage/storagedriver/
`
`
`
`Page 42 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://docs.docker.com/storage/storagedriver/
`
`
`
`Page 43 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://docs.docker.com/storage/storagedriver/
`
`
`
`Page 44 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://kubernetes.io/docs/concepts/storage/volumes/
`
`
`
`
`https://kubernetes.io/docs/concepts/containers/container-environment/
`
`Page 45 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://kubernetes.io/docs/concepts/containers/images/
`
`https://kubernetes.io/docs/concepts/storage/volumes/
`
`Page 46 of 68
`
`
`
`
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://github.com/opencontainers/image-
`spec/blob/a6af2b480dcfc001ba975f44de53001c873cb0ef/spec.md
`
`
`
`Page 47 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://github.com/opencontainers/image-
`spec/blob/a6af2b480dcfc001ba975f44de53001c873cb0ef/spec.md
`
`
`
`Page 48 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://github.com/opencontainers/image-
`spec/blob/a6af2b480dcfc001ba975f44de53001c873cb0ef/config.md
`
`
`
`Page 49 of 68
`
`

`

`
`
`Claim 1
`
`Accused Instrumentalities
`
`https://github.com/opencontainers/image-
`spec/blob/a6af2b480dcfc001ba975f44de53001c873cb0ef/config.md
`
`
`
`Page 50 of 68
`
`

`

`
`
`Claim 1
`
`
`
`Accused Instrumentalities
`
`https://github.com/opencontainers/image-
`spec/blob/a6af2b480dcfc001ba975f44de53001c873cb0ef/config.md
`
`Claim 2
`
`Claim 2
`2. A method as defined in
`claim 1, wherein each
`container has an execution
`file associated therewith for
`starting the one or more
`applications.
`
`Accused Instrumentalities
`Google and/or its customer practices, through the Accused Instrumentalities, a method as defined in
`claim 1, wherein each container has an execution file associated therewith for starting the one or more
`applications.
`For example, a container image has an associated image configuration comprising information for
`starting the one or more applications. This can be an Open Containers Initiative image configuration.
`See, e.g.:
`
`Page 51 of 68
`
`

`

`
`
`Claim 2
`
`Accused Instrumentalities
`
`
`https://services.google.com/fh/files/misc/why_container_security_matters.pdf
`
`https://github.com/opencontainers/image-
`spec/blob/a6af2b480dcfc001ba975f44de53001c873cb0ef/spec.md
`
`
`
`Page 52 of 68
`
`

`

`
`
`Claim 2
`
`Accused Instrumentalities
`
`https://github.com/opencontainers/image-
`spec/blob/a6af2b480dcfc001ba975f44de53001c873cb0ef/spec.md
`
`
`
`Page 53 of 68
`
`

`

`
`
`Claim 2
`
`Accused Instrumentalities
`
`https://github.com/opencontainers/image-
`spec/blob/a6af2b480dcfc001ba975f44de53001c873cb0ef/config.md
`
`
`
`Page 54 of 68
`
`

`

`
`
`Claim 2
`
`Accused Instrumentalities
`
`
`
`
`
`https://github.com/opencontainers/image-
`spec/blob/a6af2b480dcfc001ba975f44de53001c873cb0ef/config.md
`
`Page 55 of 68
`
`

`

`
`
`Claim 4
`
`Claim 4
`4. A method as defined in
`claim 1 further comprising the
`step of pre-identifying
`applications and system files
`required for association with
`the one or more containers
`prior to said storing step.
`
`Accused Instrumentalities
`Google and/or its customer practices, through the Accused Instrumentalities, a method as defined in
`claim 1 further comprising the step of pre-identifying applications and system files required for
`association with the one or more containers prior to said storing step.
`For example, in the infringing configuration where Google’s Migrate to Containers is used to produce
`a container that is run on Google Kubernetes Engine or Cloud Run, Google’s Migrate to Containers
`feature identifies the application along with its dependencies to be migrated to the target
`cluster/container. This identification step happens before storing the containers having the migrated
`application and files in the target machine, as described above.
`See analysis and evidence for claim 1 above.
`See also, e.g.:
`
`
`https://cloud.google.com/migrate/containers/docs/setting-up-overview
`
`https://cloud.google.com/migrate/containers/docs/m2c-cli/migrate-data
`
`
`
`Page 56 of 68
`
`

`

`
`
`Claim 4
`
`Accused Instrumentalities
`
`https://cloud.google.com/migrate/containers/docs/m2c-cli/copy-file-system
`
`
`
`https://cloud.google.com/migrate/containers/docs/m2c-cli/create-a-migration-plan
`
`
`
`Page 57 of 68
`
`

`

`
`
`Claim 4
`
`Accused Instrumentalities
`
`https://cloud.google.com/migrate/containers/docs/m2c-cli/linux/customizing-a-migration-plan
`
`https://cloud.google.com/migrate/containers/docs/m2c-cli/linux/customizing-a-migration-plan
`
`
`
`
`
`Page 58 of 68
`
`

`

`
`
`Claim 4
`
`Accused Instrumentalities
`
`https://cloud.google.com/migrate/containers/docs/m2c-cli/linux/customizing-a-migration-plan
`
`
`
`Claim 6
`
`Claim 6
`6. A method as defined in
`claim 2, comprising the step
`of assigning a unique
`associated identity to each of
`a plurality of the containers,
`wherein the identity includes
`at least one of IP address, host
`name, and MAC address.
`
`Accused Instrumentalities
`Google and/or its customer practices, through the Accused Instrumentalities, a method as defined in
`claim 2, comprising the step of assigning a unique associated identity to each of a plurality of the
`containers, wherein the identity includes at least one of IP address, host name, and MAC address.
`For example, Kubernetes containers have an associated hostname, which in the case of a single-
`container Pod is the unique identity of that container. For another example, Kubernetes pods have an
`associated hostname, which is unique. For another example, a networked Kubernetes pod has an
`assigned IPv4 and/or IPv6 address. For another example, a Docker container has an IP address and a
`hostname.
`See, e.g.:
`
`Page 59 of 68
`
`

`

`
`
`Claim 6
`
`Accused Instrumentalities
`
`https://kubernetes.io/docs/concepts/containers/container-environment/
`
`
`
`Page 60 of 68
`
`

`

`
`
`Claim 6
`
`Accused Instrumentalities
`
`Claim 9
`
`Claim 9
`9. A method as defined in
`claim 2, wherein server
`information related to
`hardware resource usage
`including at least one of CPU
`memory, network bandwidth,
`and disk allocation is
`associated with at least some
`of the containers prior to the
`
`https://docs.docker.com/network/
`
`
`
`Accused Instrumentalities
`Google and/or its customer practices, through the Accused Instrumentalities, a method as defined in
`claim 2, wherein server information related to hardware resource usage including at least one of CPU
`memory, network bandwidth, and disk allocation is associated with at least some of the containers
`prior to the applications within the containers being executed.
`For example, Kubernetes tracks and limits resource usage, including CPU and memory resources. For
`another example, Docker tracks and limits resource usage, including CPU and memory resources.
`See, e.g.:
`
`Page 61 of 68
`
`

`

`
`
`Claim 9
`applications within the
`containers being executed.
`
`Accused Instrumentalities
`Resource Management for Pods and Containers
`
`When you specify a Pod, you can optionally specify how much of each resource
`a container needs. The most common resources to specify are CPU and memory
`(RAM); there are others.
`
`When you specify the resource request for containers in a Pod, the kube-
`scheduler uses this information to decide which node to place the Pod on. When
`you specify a resource limit for a container, the kubelet enforces those limits so
`that the running container is not allowed to use more of that resource than the
`limit you set. The kubelet also reserves at least the request amount of that system
`resource specifically for that container to use.
`
`Requests and limits
`If the node where a Pod is running has enough of a resource available, it's
`possible (and allowed) for a container to use more resource than its request for
`that resource specifies. However, a container is not allowed to use more than its
`resource limit.
`
`For example, if you set a memory request of 256 MiB for a container, and that
`container is in a Pod scheduled to a Node with 8GiB of memory and no other
`Pods, then the container can try to use more RAM.
`
`If you set a memory limit of 4GiB for that container, the kubelet (and container
`runtime) enforce the limit. The runtime prevents the container from using more
`than the configured resource limit. For example: when a process in the container
`tries to consume more than the allowed amount of memory, the system kernel
`
`Page 62 of 68
`
`

`

`
`
`Claim 9
`
`Accused Instrumentalities
`terminates the process that attempted the allocation, with an out of memory
`(OOM) error.
`
`Limits can be implemented either reactively (the system intervenes once it sees a
`violation) or by enforcement (the system prevents the container from ever
`exceeding the limit). Different runtimes can have different ways to implement the
`same restrictions.
`
`https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
`
`Runtime options with Memory, CPUs, and GPUs
`By default, a container has no resource constraints and can use as much of a given
`resource as the host's kernel scheduler allows. Docker provides ways to control how
`much memory, or CPU a container can use, setting runtime configuration flags of
`the docker run command. This section provides details on when you should set such
`limits and the possible implications of setting them.
`
`Limit a container's access to memory
`Docker can enforce hard or soft memory limits.
`• Hard limits lets the container use no more than a fixed amount of memory.
`• Soft limits lets the container use as much memory as it needs unless certain
`conditions are met, such as when the kernel detects low memory or contention on
`the host machine.
`
`
`https://docs.docker.com/config/containers/resource_constraints/
`
`Page 63 of 68
`
`

`

`
`
`Claim 10
`
`Claim 10
`10. A method as defined in
`claim 2, wherein in operation
`when an application residing
`within a container is executed,
`said application has no access
`to system files or applications
`in other containers or to
`system files within the
`operating system during
`execution thereof.
`
`Accused Instrumentalities
`Google and/or its customer practices, through the Accused Instrumentalities, a method as defined in
`claim 2, wherein in operation when an application residing within a container is executed, said
`application has no access to system files or applications in other containers or to system files within
`the operating system during execution thereof.
`As described in connection with limitations [1a] and [1f] above, containers cannot access the
`host/node’s file system, or the file systems of other containers, unless specifically configured to allow
`such access, for example using a shared volume.
`See, e.g.:
`
`
`
`
`
`
`
`
`
`
`https://services.google.com/fh/files/misc/why_container_security_matters.pdf
`
`Page 64 of 68
`
`

`

`
`
`Claim 10
`
`Accused Instrumentalities
`
`Claim 13
`
`Claim 13
`13. A method as defined in
`claim 1 further comprising the
`step of associating with a
`plurality of containers a
`stored history of when
`processes related to
`applications within the
`container are executed for at
`least one of, tracking
`statistics, resource allocation,
`and for monitoring the status
`of the application.
`
`https://services.google.com/fh/files/misc/why_container_security_matters.pdf
`
`
`
`Accused Instrumentalities
`Google and/or its customer practices, through the Accused Instrumentalities, a method as defined in
`claim 1 further comprising the step of associating with a plurality of containers a stored history of
`when processes related to applications within the container are executed for at least one of, tracking
`statistics, resource allocation, and for monitoring the status of the application.
`See analysis and evidence for claim 1 above.
`See also, e.g.:
`
`https://cloud.google.com/architecture/migrating-containers-kubernetes-gke
`
`
`
`Page 65 of 68
`
`

`

`
`
`Claim 13
`
`Accused Instrumentalities
`
`
`https://cloud.google.com/blog/products/gcp/manage-google-kubernetes-engine-from-cloud-console-
`dashboard-now-generally-available
`
`Claim 14
`
`Claim 14
`14. A method as defined in
`claim 1 comprising the step of
`creating containers prior to
`said step of storing containers
`in memory, wherein
`containers are created by:
`
`Accused Instrumentalities
`Google and/or its customer practices, through the Accused Instrumentalities, a method as defined in
`claim 1 comprising the step of creating containers prior to said step of storing containers in memory,
`wherein containers are created by (a) running an instance of a service on a server; (b) determining
`which files are being used; and, (c) copying applications and associated system files to memory
`without overwriting the associated system files so as to provide a second instance of the applications
`and associated system files.
`
`Page 66 of 68
`
`

`

`
`
`Claim 14
`a) running an instance of a
`service on a server;
`b) determining which files are
`being used; and,
`c) copying applications and
`associated system files to
`memory without overwriting
`the associated system files so
`as to provide a second
`instance of the applications
`and associated system files.
`
`Accused Instrumentalities
`For example, GKE, Cloud Run, and Migrate to Containers support the creation of containers and
`deploying the containers on the server. The containers are first created (e.g., by Migrate to
`Containers) and then later deployed/stored on the server (e.g., by GKE or Cloud Run). The creation
`step involves determining which applications and files are to be migrated, copying these identified
`applications and files to a location in the target server. Based on information and belief, once the files
`are migrated, the earlier stored files (if any) are not deleted/overwritten, rather, the migrated files are
`stored as different instance in memory accessible to containers. Further, an instance of an
`application/service may be te

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket