throbber
---a..
`c,,
`c.o
`---a..
`c,,
`
`Please type a plus sign(+) inside this box - G
`
`PTO/SB/16 (5-03)
`Approved for use through 4/30/2003. 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 0MB control number.
`PROVISIONAL APPL/CATION FOR PA TENT COVER SHEET
`This is a request for filing a PROVISIONAL APPLICATION FOR PATENT under 37 CFR 1.53(c).
`
`Given Name (first and middle [if any])
`Donn
`Dean
`Paul
`
`Family Name or Surname
`Rochette
`Huffman
`O'Leary
`
`Residence
`(Citv and either State or Foreion Countrv)
`Fenton, Iowa, U.S.A.
`Kanata, Ontario, Canada
`Kanata, Ontario, Canada
`
`INVENTOR(S
`
`~
`
`C')
`0
`0
`C\J
`
`0 ...
`
`:j C\l
`
`VLO
`co~
`~(O
`C\J
`
`□ Additional inventors are being named on th1 __ separately numbered sheets attached hereto
`
`TITLE OF THE INVENTION (280 characters max)
`SYSTEM FOR CONTAINERIZATION OF APPLICATION SETS
`
`CORRESPONDENCE ADDRESS
`
`000293
`
`I
`
`Type Customer Number here
`
`Place Customer Number
`Bar Code Label here
`
`Telephone
`ENCLOSED APPLICATION PARTS (check all that aoo/y)
`I
`I
`
`State
`
`I 27
`I
`
`3
`
`ZIP
`
`Fax
`
`I
`
`I
`
`I
`
`I
`
`□ CD(s), Number
`□
`
`Other (specify)
`
`~ Specification Number of Pages
`~
`□
`
`Drawing(s) Number of Sheets
`
`Application Data Sheet. See 37 CFR 1.76
`
`Direct all correspondence to:
`
`~ Customer Number I
`
`OR
`
`□ Firm or
`
`Individual Name
`
`Address
`"""""·---
`City
`
`Country
`
`l
`I
`
`FILING FEE
`AMOUNT($\
`
`$80.00
`
`I
`
`METHOD OF PAYMENT OF FILING FEES FOR THIS PROVISIONAL APPLICATION FOR PATENT (check one)
`~ Applicant claims small entity status. See 37 CFR 1.27.
`~ A check or money order is enclosed to cover the filing fees
`J
`□ The Director is hereby authorized to charge filing
`fees or credit any overpayment to Deposit Account Numbe
`□ Payment by credit card. Form PT0-2038 is attached.
`The invention was made by an agency of the United States Government or under a contract with an agency of the
`United States Government.
`~ No.
`□ Yes, the name of the U.S. Government agency and the Government contract number are:
`~
`-
`I
`. /
`
`SIGNATURE 7 ~, - /
`Respectfully submitte/ { /
`
`Date I 10/20/03 I
`REGISTRATION NO. I
`26,868
`(if appropriate)
`~ - - - - - - - -~
`/ 4 t.../ J>? /J /l.b
`Docket Number:
`
`TYPED or PRINTED NAME Ralph A. Dowell
`(703) 415-2555
`TELEPHONE
`USE ONLY FOR FILING A PROVISIONAL APPL/CATION FOR PA TENT
`This collection of information is required by 37 CFR 1.51. The information is used by the public to file (and by the PTO to process) a provisional application.
`Confidentiality is governed by 35 U.S.C. 122 and 37 CFR 1.14. This collection is estimated to take 8 hours to complete, including gathering, preparing, and submitting
`the complete provisional application to the PTO. Time will vary depending upon the individual case. Any comments on the amount of lime 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: Mail Stop Provisional Application,
`Commissioner for Patents, P. 0. Box 1450, Alexandria, VA 22313-1450.
`
`If you need asssitance i~ completing the form, call 1-B0O-PTO-9199 and select option 2.
`
`P19SMALUREV05
`
`Amazon Ex. 1014
` IPR Petition - USP 7,519,814
`
`

`

`'50357-5
`
`SYSTEM FOR CONTAINERIZATION OF APPLICATION SETS
`
`Field of the Invention
`
`In
`The invention relates to computer software.
`particular, the invention relates to management and deployment
`5· of server applications.
`
`Background of the Invention
`
`Computer systems are designed in such a way that
`application programs share common resources.
`It is
`traditionally the task of an operating system to provide a
`10 mechanism to safely and effectively control access to shared
`resources. This is the foundation of multi-tasking systems
`that allow multiple disparate applications to co-exist on a
`single computer system.
`
`The current state of the art creates a situation
`15 where a collection of applications each designed for a distinct
`function must be separated with each application installed on
`an individual computer system.
`In some cases this is driven by
`conflict over shared resources, such as network port numbers.
`In other situations the separation is driven by the need to
`securely separate data (files contained on disk-based storage)
`and/or applications between disparate users.
`In yet other
`situations, the separation is driven by the reality that
`certain applications require a specific version of operating
`system facilities and as such will not co-exist with
`25 applications that require another version.
`
`20
`
`As a computer system architecture is applied to
`support specific services it inevitably requires that separate
`systems be deployed for each application set. This fact
`coupled with increased demand for support of additional
`
`30 application sets results in a significant increase in the
`1
`
`

`

`• 50357-5
`
`number of computer systems being deployed. Such deployment
`makes it quite costly to manage the number of systems required
`to support several applications.
`
`Summary of the Invention
`
`5
`
`In accordance with a first broad aspect, the
`invention provides a method of establishing a secure
`environment for executing, on a computer system, a plurality of
`applications that require shared resources. The method
`involves, for each group of ·a plurality of groups, associating
`10 at least one respective application of the plurality of
`applications with the group. A respective resource allocation
`is associated with the group for the at least one respective
`application associated with the group to allow the at least one
`respective application associated with the group to be executed
`15 on the computer system according to the respective resource
`allocation without conflict with the at least one respective
`application associated wi~h other groups of the plurality of
`groups.
`
`In some embodiments of the invention, a group- of
`20 applications having one or more applications resides in a
`container. A container, and therefore the applications within
`the container, are provided with a secure environment from
`which to execute.
`
`In some embodiments of the invention, each group of
`25 applications is provided with a secure storage medium.
`
`In some embodiments of the invention, for each group
`of the plurality of groups, the method involves executing on
`the computer system the at least one respective applications
`associated with the group according to the respective resource
`30 allocation associated with the group.
`
`2
`
`

`

`• 50357-5
`
`In some embodiments of the invention, for each group
`of the plurality of groups, the method involves containerizing
`the at least one respective application associated with the
`group into a respective secure application container for the
`5 group, the respective secure application container being
`storable in a storage medium.
`
`In some embodiments of the invention, for each group
`of the plurality of groups, application files for the at least
`one respective application associated with the group are
`10 containerized into the respective secure application container
`for the group.
`
`In some embodiments of the invention, for each group
`
`of the plurality of groups, application system calls for the at
`least one respective application associated with the group are
`15 containerized into the respective container for the group.
`
`In some embodiments of the invention, for each group
`of the plurality of groups, the at least one respective
`application of the plurality of applications are associated
`with the group according to classes of service.
`
`20
`
`In some embodiments of the invention, for each group
`of the plurality of groups, the at least one respective
`application of the plurality of applications are associated
`with the group according to classes of service comprising
`specific application services.
`
`25
`
`In some embodiments of the invention, the method
`involves exporting one or more of the respective secure
`application containers to a remote computer system.
`
`In some embodiments of the invention, each respective
`secure application container has data files for the at least
`30 one application within the respective secure application
`3
`
`

`

`50357-5
`
`container. The method involves making the data files within
`one of the respective secure application containers
`inaccessible to the at least one respective application within
`another one of the respective secure application containers.
`
`5
`
`In some embodiments of the invention, for each
`respective secure application container, the method involves
`providing the at least one respective application within the
`respective secure application container with a respective root
`file system.
`
`10
`
`In some embodiments of the invention, for each group
`of the plurality of groups, the method involves associating a
`respective IP address for the group.
`
`In some embodiments of the invention, for each group
`of the plurality of groups, the method involves associating
`resource limits for the at least one respective application
`associated with the group.
`
`15
`
`In some embodiments of the invention, for each group
`of the plurality of groups, the method involves associating
`resource limits comprising any one or more of limits on memory,
`20 CPU bandwidth, Disk size and bandwidth and Network bandwidth
`for the at least one respective application associated with the
`group.
`
`In some embodiments of the invention, each group of
`the plurality of groups forms a secure application container
`25 having files related to the at least one respective application
`associated with the group. For each secure application
`container, the method involves determining whether resources
`available on the computer system can accommodate the respective
`resource allocation associated with the group comprising the
`secure application container.
`If the computer system can
`
`30
`
`4
`
`

`

`• 50357-5
`
`accommodate the respective resource allocation associated with
`the group forming the secure application container, the secure
`application container is exported to the computer system.
`
`5
`
`10
`
`In some embodiments of the invention, if one or more
`secure application containers of the secure application
`containers are already installed on the computer system, the
`method involves determining whether the computer system has
`enough resources available to accommodate the one or more
`secure application containers which are already installed and
`the secure application container being exported.
`If there are
`enough resources available, the resources are distributed
`between the one or more secure application containers and the
`secure application container being exported to provide resource
`control.
`
`15
`
`20
`
`In some embodiments of the invention, in determining
`whether resources available on the computer system can
`accommodate the respective resource allocation, the method
`involves verifying whether the computer system supports any
`specific hardware required by the secure application container
`to be exported.
`
`In some embodiments of the invention, for each group
`of the plurality of groups, in associating a respective
`resource allocation with the group, the method involves
`associating resource limits for the at least one respective
`25 application associated with the group. The method also
`involves during execution on the computer system: monitoring
`resource usage of the at least one respective application
`associated with the group; intercepting system calls, made by
`the at least one respective application associated with the
`30 group, from user mode to k~rnel mode; comparing the monitored
`resource usage of the at least one respective application
`
`5
`
`

`

`• 50357-5
`
`associated with the group with the resource limits; and
`forwarding the system calls to a kernel on the basis of the
`comparison between the monitored resource usage and the
`resource limits.
`
`5
`
`In some embodiments of the invention, the method
`involves searching for application specific files associated
`with applications that are installed and working on computer
`
`systems.
`
`10
`
`15
`
`In some embodiments of the invention, the method
`involves extracting the application specific files from the
`computer systems to create application sets ready to install in
`secure application containers on the computer system.
`
`In some embodiments of the invention, the method
`involves converting the application specific files into an
`intermediate format that allows the applications that are
`installed and working on computer systems to be installed in
`secure application containers on the computer system.
`
`In some embodiments of the invention, the method
`involves copying the application specific files, and related
`20 data and configuration information to a file storage medium.
`
`In some embodiments of the invention, the copying is
`achieved with the use of a user interface in which application
`programs are displayed and selected for copying to a storage
`medium.
`
`25
`
`In some embodiments of the invention, the application
`specific files, and related data and configuration information
`are made·available for installation into secure application
`containers on a remote computer system.
`
`6
`
`

`

`' 50357-5
`
`In some embodiments of the invention, the method
`involves installing at least one of the plurality of
`applications in a root file system.
`
`5
`
`10
`
`In accordance with a second broad aspect, the
`invention provides a method of establishing a secure
`environment for executing, on a computer system, a plurality of
`applications that require shared resources.
`The method
`involves, for each secure application container of a plurality
`of secure application containers, containerizing at least one
`respective application of the plurality of applications into
`the secure application container. A respective resource
`allocation is associated with the secure application container
`for the at least one respective application containerized
`within the secure application container to allow the at least
`15 one respective application containerized within the secure
`application container to be executed on the computer system
`according to the respective resource allocation without
`conflict with the at least one respective application
`containerized within other secure application containers of the
`20 plurality of secure application containers.
`
`In accordance with a third broad aspect, the
`invention provides a computer usable medium having computer
`readable program code means embodied therein for establishing a
`secure environment for executing, on a computer system, a
`25 plurality of applications that require shared resources. The
`computer readable code means in the article of manufacture has,
`for each group of a plurality of groups, computer readable code
`means for associating at least one respective application.of
`the plurality of applications with the group; and computer
`readable code means for associating a respective resource
`allocation with the group for the at least one respective
`application associated with the group to allow the at least one
`
`30
`
`7
`
`

`

`• 50357-5
`
`respective application associated with the group to be executed
`on the computer system according to the respective resource
`allocation without confLict with the at least one respective
`application associated with other groups of the plurality of
`5 groups.
`
`10
`
`15
`
`In accordance with a fourth broad aspect, the
`invention provides a memory for storing data for access by an
`application program being executed on a data processing system
`under a secure environment in which a plurality of applications
`require shared resources. The memory has a data structure
`stored in the memory. The data structure includes information
`resident in a database used by the application program and
`includes, for each group of a plurality of groups, a plurality
`of first data objects containing information associating at
`least one respective application of the plurality of
`applications with the group; and a plurality of second data
`objects associating a respective resource allocation with the
`group for the at least one respective application associated
`with the group to allow the at least one respective application
`
`20 associated with the group to be executed on the computer system
`according to the respective resource allocation without
`conflict with the at least one respective application
`associated with other groups of the plurality of groups.
`
`25
`
`30
`
`In accordance with a fifth broad aspect, .the
`invention provides a method for a program to interact with a
`user to establish a secure environment for executing, on a
`computer system, a plurality of applications that require
`shared resources. The method involves displaying the plurality
`of applications and, for each group of a plurality of groups,
`receiving a selection associating at least one respective
`application of the plurality of applications with the group to
`associate a respective resource allocation with the group for
`
`8
`
`

`

`• 50357-5
`
`the at least one respective application associated with the
`group and allow the at least one respective application
`associated with the group to be executed on the computer system
`according the respective resource allocation without conflict
`5 with the at least one respective application associated with
`other groups of the plurality of groups.
`
`In accordance with a sixth broad aspect, the
`invention provides a system adapted to perform any of the above
`method steps.
`
`10
`
`In another aspect, the invention relates to an
`apparatus to automate the process of extracting an application
`set installed on a computer system in such a way as to create
`an entity suitable for use as a secure software application
`container. The process involves parsing the files installed on
`15 an existing system, extracting the application and system
`specific information that is associated with an application set
`and creating a set of files that can be used in a secure
`application set container.
`
`Brief Description of the Drawings
`
`20
`
`Preferred embodiments of the invention will now be
`described with reference to the attached drawings in which:
`
`Figure 1 is a schematic of computing platforms
`operable to interact with containers which are created by
`combining applications and system files, according to an
`embodiment of the invention;
`
`25
`
`Figure 2 is a schematic of the computing platform of
`Figure 1 showing application sets being a collection of one or
`more software applications encompassed in a secure application
`container; and
`
`9
`
`

`

`• 50357-5
`
`Figure 3 is a flow diagram showing how application
`sets are created, according to another embodiment of the
`invention.
`
`Detailed Description of the Preferred Embodiments
`
`5 The following definitions are used herein:
`
`•Computing platform: A computer system with a single instance
`of a fully functional operating system installed is
`referred to as a computing platform.
`
`•Container: An aggregate of all files required to
`successfully execute a set of software applications on a
`computing platform is referred to as a container.
`
`•Secure application container: An environment where each
`application set appears to have individual control of some
`critical system resources and/or where data within each
`application set is insulated from effects of other
`application sets is referred to as a secure application
`·container.
`
`•Consolidation. The ability to support multiple, possibly
`conflicting, sets of software applications on a single
`computing platform is referred to as consolidation.
`
`10
`
`15
`
`20
`
`Containers
`
`Containers are created through the aggregation of
`application specific files.
`
`A container contains application and data files for
`25 applications that provide a specific service. Examples of
`specific services include but are not limited to CRM (Customer
`Relation Management) tools, Accounting, and Inventory.
`10
`
`

`

`• 50357-5
`
`Referring to Figure 1, shown is a schematic of
`computing platforms operable to interact with containers that
`are created by combining applications and system files,
`according to an embodiment of the invention. A container in
`5 Figure 1 combines un-installed application files on a storage
`medium or network,
`application files installed on a computer,
`and system files.
`The container is an aggregate of all files
`required to successfully execute a set of software applications
`on a computing platform.
`
`10
`
`In embodiments of the invention, containers are
`created by combining application files with none or more system
`files. The containers are output to a file storage medium and
`installed on the computing platforms from the file storage
`medium. Each container contains application and data files for
`15 applications that together provide a specific service. The
`containers are created using, for example, Linux, Windows and
`Unix systems and preferably programmed in C and C++; however,
`the invention is not limited to these operating systems and
`programming languages and other operating systems and
`20 programming language may be used.
`
`An application set is a set of one or more software
`applications that support a specific service.
`
`As shown in Figure 1, application files are combined
`with system files to create a composite (or container) of the
`files required to support a fully functional software
`application.
`
`25
`
`Application specific files come from, for example,
`one of two sources:
`
`11
`
`

`

`' 50357-5
`
`•A distribution supplied by the creator of an application.
`These application specific files are often provided on a
`removable storage medium or downloaded in a packaged form.
`
`•A computing platform in which th_e application specific files
`have been installed to support a fully functional software
`application and from which the application specific files
`
`are extracted.
`
`The above two sources are used to categorize the
`applications as applications which have not yet been
`installed and applications which have already been installed
`and containers are created for both types of applications.
`
`In some embodiments of the invention, system files
`are combined with application files as part of the
`aggregation process. These may include but are not limited
`to certain libraries, configuration files, and data sources.
`
`5
`
`10
`
`15
`
`Once a container is created it is placed in a file
`storage medium.
`
`Secure Application Containers
`
`In some cases, Applications from a container which
`20 contains application and data files for a specific service may
`need to share resources with Applications from a container
`which contains application and data files for another specific
`service.
`Some control over the shared resources may be
`required, for example, 1) for security purposes; 2) due to
`25 possible conflict arising from applications from different
`containers requiring a shared system resource, for example, the
`same port number; or 3) possible lack of resources on a system
`to accommodate all of the applications from different
`containers.
`
`12
`
`

`

`• 50357-5
`
`An environment where each application set appears to
`have individual control of critical system resources and/or
`where data from each application set is protected from effects
`of other application sets is referred to as a secure
`5 application container.
`
`A secure application container is created on
`computing platforms for software applications that have been
`containerized. A secure application container creates an
`environment where application sets have unique access to
`10 critical system resources. Aspects of applications that may
`cause contention over shared resources are isolated in the
`secure application container.
`
`In some embodiments of the invention, the secure
`application container is exported on a single instance of an
`15 operating system. This is different than prior art systems in
`which multiple, potentially conflicting application sets, are
`hosted on a single computing platform but with several
`operating systems. Current solutions (commonly called Virtual
`
`technology) enable each application set to run
`(VM)
`Machine
`20 within its own copy of an operating system. The net effect
`being, there are multiple instances of an operating system each
`running above a VM all on a single computing platform. For
`example, if eight application sets were hosted on a single
`computing platform using VM technology there would be eight
`25 operating systems sitting above eight VMs on the computing
`platform. The VM approach does not allow an operating system
`to utilize H/W resources directly, thus changing in significant
`ways the behavior of a system.
`In embodiments of the
`invention, the use of containerization allows an operating
`system to execute in it's native form on a computing platform.
`
`30
`
`13
`
`

`

`50357-5
`
`For security purposes, data files within a secure
`application container are made inaccessible to applications
`from other containers.
`In some embodiments of the invention,
`this is achieved by providing the applications within secure
`5 application container with respective root file systems wherein
`the applications within a secure application container have a
`
`different root file system than those of applications within
`other secure application containers. Furthermore, data files
`and application files are made accessible only to users which
`10 are given permission to access applications within the secure
`application container. There are other security features such
`as: 1) providing each container with its own unique IP address
`that is independent of an IP address assigned to an underlying
`operating system on which the container is installed; 2)
`15 providing each container with a unique copy of a TCP/IP
`protocol stack for use by the container. This is unique copy
`of the protocol stack is used by the underlying operating
`system and application sets are not required to share resources
`associated the unique copy of the protocol stack with other
`20 application sets in other containers; and 3) provisioning each
`container with limits on consumption of hardware resources.
`In
`other words, each container is limited to an amount of CPU
`time, memory consumption, network bandwidth, disk storage and
`disk bandwidth. These limitations prevent an application in a
`25 container from doing harm to any other container or to the
`computing platform itself.
`
`As discussed above, in prior art systems there may be
`conflicts between different applications in that the
`applications require the use of shared system resources. There
`30 are a number of potential resource conflicts within a computing
`platform. These could include, but are not limited to,
`conflicting uses of a common configuration file, conflicts over
`
`14
`
`

`

`- 50357-5
`
`firewall settings, any type of hardware device manipulation.
`
`By way of example, resource conflicts related to the use of
`network port numbers are described in some detail below as this
`is thought to be an easy to understand instance of a conflict
`situation over shared system resources.
`
`5
`
`An example of resource contention involves two
`applications on the same computing platform attempting to use
`In such a case a conflict will result
`the same port number.
`Prior art systems allow for
`and one application will fail.
`10 more than one IP (Internet Protocol) address to be used,
`through what is called aliasing, in conjunction with a single
`computing platform. This allows a computing platform to
`effectively provide more than one port for each service. For
`example, there can be two ports numbered 80 for web services on
`a single computing platform as each port 80 could be bound to a
`unique IP address. However, such services do not guarantee
`that, for example, two applications running on a computing
`As
`platform will always be assigned different IP addresses.
`such, although there may be more than one port available to
`20 provide a service, the two applications may still access the
`same IP address and a collision may still occur.
`To avoid
`
`15
`
`collisions between applications from different containers,
`applications in different containers are given different IP
`(Internet Protocol) addresses. By associating respective IP
`25 addresses with the secure application containers, applications
`within a container are always assigned the same IP address.
`In
`this way, for a particular port number, an application is
`always assigned the same port.
`
`30
`
`Computing platforms have limited resources to
`accommodate different applications. For example, computing
`platforms have limits on their memory, CPU bandwidth, Disk size
`and bandwidth and Network bandwidth. In some embodiment of the
`
`15
`
`

`

`50357-5
`
`invention, provide is a capability to ensure that each
`container is able to use the resources that have been
`provisioned for it.
`In this manner each container is
`guaranteed to have sufficient resources to do work, but is not
`5 allowed to consume more than its allocation at the expense of
`resource guarantees for the other containers.
`
`15
`
`In some embodiments of the invention, workload
`management capabilities are provided that enable management of
`software applications by removing resource and file contention
`10 normally associated with combining multiple application sets on
`a single computing platform. Each secure application container
`contains information on resource requirements for applications
`within the container. Before a secure application container
`for a specific service is exported to a computing platform, the
`resources available on the platform are verified to determine
`whether the computing platform can accommodate applications
`within the secure application container.
`If one or more secure
`application containers are already installed on the computing
`platform, a check is performed to determine whether the
`computing platform has enough resources available to
`accommodate the secure application containers already installed
`and the secure application containers being exported.
`If there
`are enough resources available to accommodate the secure
`application container to be exported, it is exported and the
`resources are distributed between the secure application
`containers. When an application is executing, its resource
`consumption is then monitored and controlled to assure limits
`on consumption are not exceeded.
`
`20
`
`25
`
`As discussed in United States Provisional Application
`30 entitled "USER MODE CRITICAL SYSTEM ELEMENTS AS SHARED
`LIBRARIES", which is incorporated herein by reference, the
`applications in the secure application containers execute in
`
`16
`
`

`

`• 50357-5
`
`10
`
`user mode and a kernel portion of an operating system of a
`computing platform upon which the applications are installed
`executes in kernel mode.
`In conventional systems, there is a
`physical separation enforced by hardware between user mode and
`5 kernel mode and applications cannot run in kernel mode. System
`calls are used by the applications to make a transition from
`user mode to kernel mode.
`In some embodiments of the
`invention, resource usage of the applications within the secure
`application containers is monitored and system calls made by
`the applications are intercepted. When a system call made by
`an application executing in user mode is intercepted, the
`monitored resource usage for the application is compared to
`resource limits allocated to the application.
`If, for example,
`the system call requires the kernel to execute and cause the
`15 application to exceed the allocated resource limits the system
`call is prevented from being forwarded to the kernel, causing
`the application to pend, until the kernel can execute in kernel
`mode without the resource limits allocated to the application
`being exceeded.
`In this way control over shared resources is
`20 performed not only at an operating system level but also at a
`software level allowing further control over the shared
`resources.
`
`The secure application containers assure separation
`between containers by_providing each container with exclusive
`25 access to previously shared resources, such as, for example, a
`TCP/IP protocol stack, IP addresses and a root file system.
`
`In some embodiments of the invention, multiple sec

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