throbber
Filed: April 18, 2025
`
`UNITED STATES PATENT AND TRADEMARK OFFICE
`__________________________________
`
`BEFORE THE PATENT TRIAL AND APPEAL BOARD
`__________________________________
`
`MICROSOFT CORP.,
`Petitioner,
`
`v.
`
`VIRTAMOVE, CORP.,
`Patent Owner.
`__________________________________
`
`IPR2025-00854
`Patent No. 7,784,058
`__________________________________
`
`PETITION FOR INTER PARTES REVIEW
`OF CLAIMS 1-16 AND 18 OF U.S. PATENT NO. 7,784,058
`
`1619374531
`
`

`

`Microsoft Corp. v. VirtaMove, Corp.
`IPR Petition – U.S. Patent 7,784,058
`
`TABLE OF CONTENTS
`
`B.
`
`Page
`INTRODUCTION .................................................................................................... 1
`I.
`BACKGROUND ............................................................................................ 2
`A.
`Shared Libraries Were Well Known. ................................................... 2
`1.
`Many Common Operating Systems Supported Shared
`Libraries Dynamically Linked to Applications. ........................ 3
`2.
`Levine Disclosed Shared Libraries and Dynamic Linking. ....... 4
`Storing “Critical System Elements” (“CSEs”) in Shared
`Libraries Was Known. .......................................................................... 5
`1.
`Ely Disclosed Networking in a Shared Library. ........................ 6
`2.
`Thekkath Disclosed Networking in a Shared Library. .............. 8
`3.
`Eggert Disclosed File Systems in a Shared Library. ............... 10
`THE ’058 PATENT ...................................................................................... 11
`A.
`Overview ............................................................................................ 11
`B.
`Prosecution History ............................................................................ 13
`STATEMENT OF RELIEF REQUESTED ................................................. 13
`A.
`Grounds .............................................................................................. 13
`B.
`The References Are Prior Art. ............................................................ 13
`1.
`Ely is Prior Art. ........................................................................ 14
`2.
`Eggert is Prior Art. ................................................................... 15
`3.
`Levine is Prior Art.................................................................... 15
`4.
`Thekkath is Prior Art. .............................................................. 16
`C.
`The Asserted References Are Analogous Art. ................................... 16
`LEVEL OF ORDINARY SKILL ................................................................. 17
`IV.
`CLAIM CONSTRUCTION ......................................................................... 17
`V.
`VI. GROUNDS OF UNPATENTABILITY ....................................................... 19
`A.
`Ground 1: Ely and Levine .................................................................. 19
`1.
`Claim 1 ..................................................................................... 21
`-i-
`
`II.
`
`III.
`
`1619374531
`
`

`

`Microsoft Corp. v. VirtaMove, Corp.
`IPR Petition – U.S. Patent 7,784,058
`
`a.
`b.
`c.
`d.
`
`e.
`
`Preamble ........................................................................ 22
`Processor ........................................................................ 23
`Operating System with Kernel and OSCSEs ................ 23
`Shared Library with SLCSEs ........................................ 24
`i.
`SLCSEs are Functional Replicas of OSCSEs ..... 26
`ii.
`SLCSEs Form a Part of the Application ............. 27
`CSE Provided to First and Second Applications ........... 29
`i.
`First Instance of SLCSE Provided to First
`Application .......................................................... 29
`Unique Instance of Corresponding CSE
`Provided to Second Application .......................... 31
`Two Instances of SLCSE Run Simultaneously ............. 32
`i.
`SLCSE Related to a Predetermined Function ..... 32
`ii.
`Second Instance of SLCSE ................................. 33
`Claim 2 ..................................................................................... 33
`Claim 3 ..................................................................................... 34
`Claim 4 ..................................................................................... 34
`Claim 5 ..................................................................................... 35
`Claim 6 ..................................................................................... 36
`a.
`Kernel Provides Notification of an Event ..................... 37
`b.
`Event is Asynchronous and Outside of the
`Application .................................................................... 37
`7.
`Claim 9 ..................................................................................... 38
`8.
`Claim 10 ................................................................................... 39
`9.
`Claim 11 ................................................................................... 40
`10. Claim 12 ................................................................................... 41
`11. Claim 13 ................................................................................... 41
`12. Claim 14 ................................................................................... 41
`13. Claim 16 ................................................................................... 43
`
`ii.
`
`f.
`
`2.
`3.
`4.
`5.
`6.
`
`1619374531
`
`-ii-
`
`

`

`Microsoft Corp. v. VirtaMove, Corp.
`IPR Petition – U.S. Patent 7,784,058
`
`14. Claim 18 ................................................................................... 43
`Ground 2: Ely, Levine, and Thekkath ................................................ 44
`1.
`Claim 5 ..................................................................................... 46
`2.
`Claim 6 ..................................................................................... 48
`a.
`Kernel Provides Notification of an Event ..................... 48
`b.
`Event is Asynchronous and Outside of the
`Application .................................................................... 48
`Claim 7 ..................................................................................... 49
`Claim 8 ..................................................................................... 49
`Claim 15 ................................................................................... 50
`a.
`Kernel Module Enables Data Exchange ........................ 51
`b.
`Data Exchange Uses Virtual Memory Mapping ........... 51
`Ground 3: Eggert and Levine ............................................................. 52
`1.
`Claim 1 ..................................................................................... 54
`a.
`Preamble ........................................................................ 54
`b.
`Processor ........................................................................ 54
`c.
`Operating System with Kernel and OSCSEs ................ 55
`d.
`Shared Library with SLCSEs ........................................ 55
`i.
`SLCSEs are Functional Replicas of OSCSEs ..... 56
`ii.
`SLCSEs Form a Part of the Application ............. 57
`CSE Provided to First and Second Applications ........... 58
`i.
`First Instance of SLCSE Provided to First
`Application .......................................................... 58
`Unique Instance of Corresponding CSE
`Provided to Second Application .......................... 59
`Two Instances of SLCSE Run Simultaneously ............. 59
`i.
`SLCSE Related to a Predetermined Function ..... 59
`ii.
`Second Instance of SLCSE ................................. 60
`Claim 2 ..................................................................................... 60
`
`e.
`
`f.
`
`ii.
`
`B.
`
`C.
`
`3.
`4.
`5.
`
`2.
`
`1619374531
`
`-iii-
`
`

`

`Microsoft Corp. v. VirtaMove, Corp.
`IPR Petition – U.S. Patent 7,784,058
`
`3.
`Claim 3 ..................................................................................... 61
`4.
`Claim 4 ..................................................................................... 61
`5.
`Claim 9 ..................................................................................... 62
`6.
`Claim 10 ................................................................................... 63
`7.
`Claim 11 ................................................................................... 63
`8.
`Claim 12 ................................................................................... 64
`9.
`Claim 16 ................................................................................... 65
`10. Claim 18 ................................................................................... 65
`VII. NO SECONDARY CONSIDERATIONS OF NONOBVIOUSNESS ........ 65
`VIII. NO BASIS FOR DISCRETIONARY DENIAL .......................................... 66
`IX. MANDATORY NOTICES .......................................................................... 66
`A.
`Real Party-In-Interest (37 C.F.R. §42.8(b)(1)) .................................. 66
`B.
`Related Matters (37 C.F.R. §42.8(b)(2)) ............................................ 66
`C.
`Lead and Backup Counsel (37 C.F.R. §42.8(b)(3)) ........................... 67
`D.
`Pursuant to 37 C.F.R. §42.10(b), a Power of Attorney
`accompanies this Petition. Counsel for Petitioner consents to
`service of all documents via electronic mail. Payment of Fees
`(37 C.F.R. §42.103) ............................................................................ 68
`E.
`Grounds for Standing (37 C.F.R. §42.104(a)) ................................... 68
`CONCLUSION ....................................................................................................... 69
`CERTIFICATE OF COMPLIANCE ...................................................................... 70
`CERTIFICATE OF SERVICE ............................................................................... 71
`
`1619374531
`
`-iv-
`
`

`

`Microsoft Corp. v. VirtaMove, Corp.
`IPR Petition – U.S. Patent 7,784,058
`
`TABLE OF AUTHORITIES
`
`Page(s):
`
`Cases:
`Apple Inc. v. Fintiv, Inc.,
`IPR2020-00019, Paper 11 (P.T.A.B. Mar. 20, 2020) ......................................... 66
`In re GPAC Inc.,
`57 F.3d 1573 (Fed. Cir. 1995) ............................................................................ 17
`Intel Corp. v. Qualcomm Inc.,
`21 F.4th 801 (Fed. Cir. 2021) ....................................................................... 18, 19
`Jazz Pharms., Inc. v. Amneal Pharms., LLC,
`895 F.3d 1347 (Fed. Cir. 2018) .......................................................................... 15
`Juniper Networks, Inc. v. Monarch Networking Solutions LLC,
`IPR2024-00175, 2024 WL 2054958 (PTAB May 8, 2024) ............................... 68
`Leapfrog Enters. v. Fisher-Price, Inc.,
`485 F.3d 1157 (Fed. Cir. 2007) .......................................................................... 65
`M & K Holdings, Inc. v. Samsung Elecs. Co.,
`985 F.3d 1380-83 (Fed. Cir. 2021) ..................................................................... 15
`Mueller Systems, LLC v. Rein Tech, Inc.,
`IPR2020-00098, 2020 WL 2478514 (May 12, 2020) ........................................ 68
`Newell Cos. v. Kenney Mfg. Co.,
`864 F.2d 757 (Fed. Cir. 1988) ............................................................................ 65
`Nidec Motor Corp. v. Zhongshan Broad Ocean Motor Co. Ltd.,
`868 F.3d 1013 (Fed. Cir. 2017) .......................................................................... 17
`Samsung Electronics Co., Ltd. v. Maxell, Ltd.,
`IPR2024-00907, 2024 WL 5079910 (PTAB Dec. 11, 2024) ............................. 68
`Sotera Wireless, Inc. v. Masimo Corp.,
`IPR2020-01019, Paper 12 (P.T.A.B. Dec. 1, 2020) ........................................... 66
`Unwired Planet, LLC v. Google Inc.,
`841 F.3d 995 (Fed. Cir. 2016) ............................................................................ 16
`
`1619374531
`
`-v-
`
`

`

`Microsoft Corp. v. VirtaMove, Corp.
`IPR Petition – U.S. Patent 7,784,058
`
`Vivid Techs., Inc. v. Am. Sci. & Eng’g, Inc.,
`200 F.3d 795 (Fed. Cir. 1999) ............................................................................ 17
`Statutes and Rules:
`35 U.S.C. §102 ............................................................................................. 14, 15, 16
`35 U.S.C. §103 ......................................................................................................... 13
`35 U.S.C. §314 ................................................................................................... 66, 67
`35 U.S.C. §325 ................................................................................................... 67, 68
`37 C.F.R. §42.8 .................................................................................................. 69, 70
`37 C.F.R. §42.10 ...................................................................................................... 70
`37 C.F.R. §42.103 .................................................................................................... 70
`37 C.F.R. §42.104 .................................................................................................... 71
`Miscellaneous:
`Katherine K. Vidal, Interim Procedure for Discretionary Denials in AIA
`Post-Grant Proceedings with Parallel District Court Litigation
`(June 21, 2022).................................................................................................... 66
`
`1619374531
`
`-vi-
`
`

`

`Microsoft Corp. v. VirtaMove, Corp.
`IPR Petition – U.S. Patent 7,784,058
`
`TABLE OF EXHIBITS
`
`Exhibit No.
`1001
`
`Description
`U.S. Patent No. 7,784,058 (“the ’058 patent”)
`
`1002
`
`Declaration of Dr. Darrell Long, EX. 1002 in IPR2025-00561
`
`1003
`
`1004
`
`1005
`
`1006
`
`1007
`
`David Ely et al., Alpine: A User-Level Infrastructure for Network
`Protocol Development, Proc. 3rd USENIX Symposium on
`Internet Technologies and Systems (USITS ’01) (2001) (“Ely”)
`
`Paul R. Eggert & D. Stott Parker, File Systems in User Space,
`Proc. USENIX Winter 1993 Conference (1993) (“Eggert”)
`
`John R. Levine, Linkers & Loaders (2000) (“Levine”)
`
`Chandramohan A. Thekkath, et al., Implementing Network
`Protocols at User Level, 23 ACM SIGCOMM Computer Comm.
`Rev., 64-73 (1993) (“Thekkath”)
`
`David Ely et al., Alpine: A User-Level Infrastructure for Network
`Protocol Development, 3rd USENIX Symposium on Internet
`Technologies and Systems (USITS ’01) (“Ely Presentation”)
`
`1008
`
`Excerpts from the ’058 patent’s file history
`
`1009
`
`1010
`
`1011
`
`1012
`
`1013
`
`1014
`
`1015
`
`Arindam Banerji et al., Protected Shared Libraries – a New
`Approach to Modularity and Sharing, Proc. USENIX Annual
`Technical Conf. (USENIX 1997) 59-75 (“Banerji”)
`
`Excerpts of UNIX System V Release 3 Programmer’s Guide
`
`Excerpts of SunOS 4.1 Release Manual
`
`Excerpts of Solaris and SunOS System Interfaces Guide
`
`Excerpts of Sun Linker and Libraries Guide
`
`Linux Release Notes
`
`FreeBSD 3.3 Linker Information
`
`1619374531
`
`Table of Exhibits, Page 1
`
`

`

`Microsoft Corp. v. VirtaMove, Corp.
`IPR Petition – U.S. Patent 7,784,058
`
`1016
`
`Excerpts of Windows API Guide Reference Volume 3 (1992)
`
`1017
`
`1018
`
`1019
`
`1020
`
`1021
`
`1022
`
`1023
`
`1024
`
`1025
`
`1026
`
`1027
`
`1028
`
`1029
`
`1030
`
`1031
`
`1032
`
`1033
`
`Scheduling order from VirtaMove, Corp. v. Amazon.com, Inc. et
`al., No. 7:24-cv-30-ADA-DTG (W.D. Tex.) (the “Amazon
`Litigation”)
`
`Order cancelling Markman hearing in the Amazon Litigation
`
`Order granting transfer in the Amazon Litigation
`
`Arnold, J. Q., “Shared Libraries on UNIX System V”, Summer
`Conference Proceedings, Atlanta 1986, USENIX Association,
`1986.
`
`FreeBSD 3.0 Release Notes
`
`FreeBSD 3.3 Release Notes
`
`FreeBSD System Calls Manual – “select(2)”
`
`Curriculum Vitae of Dr. Darrell Long
`
`Declaration of Sylvia D. Hall-Ellis
`
`Wayback Machine – USITS ’01 Home Page
`
`Amazon’s Opening Claim Construction Brief in the Amazon
`Litigation
`
`Wayback Machine – USITS ’01 Alpine Abstract
`
`Australian Unix User Group Newsletter, Vol. 8, No. 5 excerpts
`
`Declaration of Rachel J. Watters
`
`Ex Parte Reexamination Request
`
`Order Granting Request for Ex Parte Reexamination
`
`Plaintiff VirtaMove Corp.’s Preliminary Disclosure of Asserted
`Claims and Infringement Contentions, in VirtaMove, Corp. v.
`Microsoft Corp., 7:24-cv-00338 (W.D. Tex.) (Mar. 28, 2025)
`
`1619374531
`
`Table of Exhibits, Page 2
`
`

`

`Microsoft Corp. v. VirtaMove, Corp.
`IPR Petition – U.S. Patent 7,784,058
`
`Petitioner Microsoft Corp. (“Petitioner” or “Microsoft”) requests inter partes
`
`review of claims 1-16 and 18 of U.S. Patent No. 7,784,058 (“the ’058 patent”), which
`
`VirtaMove, Corp. (“Patent Owner” or “PO”) purportedly owns.
`
`INTRODUCTION
`The ’058 patent claims computing systems in which functionality provided
`
`within a computer’s operating system (“OS”) is replicated in another location on the
`
`same computer. The patent’s purported novelty lies in the location where the
`
`replicated functionality is stored: a “shared library.” Although such libraries were
`
`well known, the patent asserts that shared libraries in the prior art did not replicate
`
`functionality that was also present in an operating system on the same computer.
`
`Contrary to the patent’s assertion, replicating OS functionality in a shared
`
`library was not new. Prior art disclosing this use of shared libraries was published at
`
`least a decade before the patent’s priority date. The prior art grounds presented in
`
`this Petition disclose replicating two types of OS functionality in shared libraries:
`
`(1) network functionality, and (2) file-system functionality. Both of these function-
`
`alities are also used as example embodiments in the ’058 patent.
`
`The ’058 patent’s Examiner never considered the prior art presented in this
`
`Petition. Because the prior art demonstrates that the ’058 patent contributed nothing
`
`new to the public store of knowledge, the patentee has no right to exclude the public
`
`from practicing the patent claims.
`
`1619374531
`
`-1-
`
`

`

`Microsoft Corp. v. VirtaMove, Corp.
`IPR Petition – U.S. Patent 7,784,058
`
`I.
`
`BACKGROUND
`A.
`Shared Libraries Were Well Known.
`Shared libraries allow software applications to share common functionality
`
`without wasting memory. (Ex. 1002 ¶40.) Instead of each application having its own
`
`copy of computer code for common functionality, the applications (1) link to a
`
`shared library that contains that functionality and (2) use a single copy of the li-
`
`brary’s contents whenever possible, as explained below. (Ex. 1020, 395.)
`
`Different parts of a shared library may be shared in different ways. One part
`
`of a shared library contains executable code that every linked application can access.
`
`(Ex. 1009, 60-61; Ex. 1002 ¶41.) Because this code does not change from one
`
`application to another, every application shares the same code. (Id.) Sharing this
`
`code avoids duplication and saves space in the computer’s memory. (Ex. 1020, 395.)
`
`For example, if multiple applications need to connect to the Internet, all of the
`
`applications can link to a single shared library that contains code for establishing
`
`such connections. (Ex. 1002 ¶41.) Similarly, the patent admits that it was “common
`
`practice” for all applications that access files on a computer to use shared code for
`
`doing so. (Ex. 1001 at 3:32-37 (“All applications currently share code for common
`
`services, such services include operations such as ... open a file, write to the file,
`
`read from the file, etc.”).)
`
`1619374531
`
`-2-
`
`

`

`Microsoft Corp. v. VirtaMove, Corp.
`IPR Petition – U.S. Patent 7,784,058
`
`Shared libraries also contain data that is accessed by the shared code. (Ex.
`
`1009, 60-61; Ex. 1010, 8-28; Ex. 1002 ¶42.) Each linked application gets its own
`
`copy of the data from the shared library. (Id.; Ex. 1013, 100.) Each application’s
`
`copy of the data is private—i.e., it is unique to that application and can be accessed
`
`only by code running in the context of that application. (Ex. 1005, 169-172.) For
`
`example, multiple applications may share the same library code for connecting to
`
`the Internet, but each application may need to access a different web site. (Ex. 1002
`
`¶42.) Although all applications share the same library code, each application uses its
`
`own private copy of the library data to keep track of the unique Internet address it is
`
`accessing. (Id.) Giving each application its own private copy of the data allows the
`
`applications to share code without interfering with other applications’ differing uses
`
`of the shared code. (Id.)
`
`1. Many Common Operating Systems Supported Shared
`Libraries Dynamically Linked to Applications.
`Popular operating systems such as UNIX included shared libraries by the
`
`1980s. (Ex. 1002 ¶43; Ex. 1010, 3-24 (“Beginning with Release 3.0, shared libraries
`
`are supported.”), Ch. 8 (explaining how to build and use shared libraries).) Shared
`
`libraries were quickly adopted by other operating systems in the late 1980s and early
`
`1990s. (Ex. 1002 ¶43; Ex. 1011, 25 (shared libraries supported in SunOS 4.0 and 4.1
`
`by 1990); Ex. 1012, 2; Ex. 1013, 3, 11-12; Ex. 1014; Ex. 1005, 4.) Thus, shared
`
`1619374531
`
`-3-
`
`

`

`Microsoft Corp. v. VirtaMove, Corp.
`IPR Petition – U.S. Patent 7,784,058
`
`libraries were widely used well before the ’058 patent’s earliest claimed priority date
`
`in 2003. (Ex. 1002 ¶43; Ex. 1009, 60 (“Most commercial operating systems support
`
`shared libraries in one form or another ...”).) The patent admits this. (Ex. 1001, 7:3-
`
`5 (“what is commonly done is to provide an application library in shared code
`
`space”).) PO also admitted this during prosecution. (Ex. 1008, 21 (“It is fully
`
`acknowledged that [prior art from 1995] describe[s] shared libraries”).)
`
`Shared libraries can be linked with applications using “static” linking,
`
`performed when an application is first compiled and installed, or “dynamic” linking,
`
`which delays the linking process until an application starts running. (Ex. 1005, 188;
`
`Ex. 1012, 2-3; Ex. 1010, G-7 (“Dynamic linking refers to the ability to resolve
`
`symbolic references at run time.”), G-18 (“Static linking refers to the requirement that
`
`symbolic references be resolved before run time.”); Ex. 1013, 4.) Dynamic linking
`
`was introduced to UNIX in the late 1980s and was quickly adopted by other popular
`
`operating systems such as SunOS, Solaris, and Windows. (Ex. 1012, 109; Ex. 1013,
`
`3; Ex. 1016, 1.) Thus, many operating systems supported dynamic linking of shared
`
`libraries well before the ’058 patent’s earliest claimed priority date. (Ex. 1002 ¶44.)
`
`Levine Disclosed Shared Libraries and Dynamic Linking.
`2.
`A textbook called Linkers and Loaders, authored by John R. Levine and
`
`published in 2000 (“Levine”), explains that most operating systems included shared
`
`libraries and dynamic linking by the time it published. (Ex. 1005, xi, 4, 187-88, 206
`
`1619374531
`
`-4-
`
`

`

`Microsoft Corp. v. VirtaMove, Corp.
`IPR Petition – U.S. Patent 7,784,058
`
`(Linux and Unix used “ELF” format for shared libraries), 217-18 (Microsoft
`
`Windows used “DLL” format); Ex. 1002 ¶45.) Levine explains how shared libraries
`
`were commonly created and linked to applications using either static or dynamic
`
`linking. (Ex. 1005, xiii-xiv, Ch. 9 (shared libraries and static linking), Ch. 10
`
`(dynamic linking).)
`
`Levine explains that most applications “usually turn out to share a lot of
`
`common code;” therefore, if “all the programs that use a library can share a single
`
`copy of it,” significantly less storage space is needed. (Ex. 1005, 4; Ex. 1002 ¶46.)
`
`Although different shared library formats may vary slightly, the process of linking
`
`them to applications is “nearly the same.” (Ex. 1005, 190; Ex. 1002 ¶46.) When an
`
`application program that is linked to shared libraries starts running, “startup code finds
`
`those [linked] libraries and maps them into the program’s address space before the
`
`program starts.” (Ex. 1005, 188; Ex. 1002 ¶46.) The program’s address space is the
`
`part of the computer’s memory that is allotted to that program. (Ex. 1002 ¶46.)
`
`B.
`
`Storing “Critical System Elements” (“CSEs”) in Shared Libraries
`Was Known.
`The ’058 patent coins the phrase “Critical System Elements” to describe OS
`
`functionality replicated in the shared library. (Ex. 1001, 6:6-10.) Two examples of
`
`CSEs are “Network services including TCP/IP” and “File System services.” (Id.,
`
`6:11-28.) The prior art disclosed replicating both examples in shared libraries.
`
`1619374531
`
`-5-
`
`

`

`Microsoft Corp. v. VirtaMove, Corp.
`IPR Petition – U.S. Patent 7,784,058
`
`Ely Disclosed Networking in a Shared Library.
`1.
`In 2001, David Ely and other researchers at the University of Washington
`
`published a paper titled “Alpine: A User-Level Infrastructure for Network Protocol
`
`Development.” (Ex. 1003 (“Ely”).) They presented their paper at the 3rd USENIX
`
`Symposium on Internet Technologies and Systems. (Ex. 1007.) The paper explains
`
`that traditional networking stacks were difficult for developers to work with because
`
`they were part of a “kernel,” which is the core of an operating system. (Ex. 1003, 171.)
`
`Any changes to a traditional networking stack required rebuilding the entire kernel.
`
`(Id.) To overcome this inconvenience, Ely presented the “Alpine” system, which
`
`copies the networking stack from an operating system’s kernel into a shared library
`
`that is dynamically linked with applications. (Id., 171, 177; Ex. 1002 ¶48.)
`
`Figures 1 and 2 of Ely show, respectively, a “traditional” stack where “all
`
`network processing is performed in the kernel” and Alpine’s library where
`
`“unmodified networking code is placed:”
`
`1619374531
`
`-6-
`
`

`

`Microsoft Corp. v. VirtaMove, Corp.
`IPR Petition – U.S. Patent 7,784,058
`
`(Ex. 1003, Figs. 1, 2; Ex. 1002 ¶49.)1 As these figures show, the traditional stack
`
`implements networking in kernel space. (Ex. 1003, Fig. 1.) But Alpine’s stack
`
`moves the networking to a library in user space. (Id., Fig. 2.) Kernel space is the
`
`1 Figures in this Petition may be colored and annotated for ease of reference.
`
`Additionally, some figures in this Petition come from online copies of the
`
`references because figures in the online copies provide better clarity in some cases
`
`than the scanned paper copies. (See Ex. 1025 ¶33, n.18; ¶40, n.23 (describing
`
`online sources).) The content of the online copies and paper copies is the same.
`
`1619374531
`
`-7-
`
`

`

`Microsoft Corp. v. VirtaMove, Corp.
`IPR Petition – U.S. Patent 7,784,058
`
`part of the computer’s memory in which the kernel resides. (Ex. 1002 ¶49.) User
`
`space is the part of memory in which applications and shared libraries reside. (Id.)
`
`Alpine was implemented in a “dynamic library,” which was a well-known
`
`type of shared library widely used in popular operating systems. (Ex. 1003, 177;
`
`supra §I.A.1; Ex. 1002 ¶50.) Alpine’s library used “dynamic linking” to integrate
`
`with pre-existing applications. (Ex. 1003, 177.)
`
`Alpine was “fully implemented in the FreeBSD 3.3 operating system.” (Id.,
`
`178.) “However, very little of [Alpine’s] code [was] specific to this version of
`
`FreeBSD, and most of it [was] portable to any Unix environment.” (Id.) Thus, Ely
`
`explained that Alpine broadly “support[ed] a FreeBSD networking stack on top of a
`
`Unix operating system.” (Id., 171.)
`
`Presentation slides from the conference where Ely was first presented further
`
`confirm that Alpine was implemented as a shared library. The presentation shows
`
`that applications linked to Alpine using the command “LD_PRELOAD=libAl-
`
`pine.so.” (Ex. 1007, 8; id. at 3, 6-7; Ex. 1002 ¶52.) The “.so” extension of the
`
`libAlpine file shows that it was a shared library. (Ex. 1015, line 326 (“a ‘.so’
`
`extension indicates a shared library.”); Ex. 1002 ¶52.)
`
`Thekkath Disclosed Networking in a Shared Library.
`2.
`In 1993, Chandramohan Thekkath and other researchers published a
`
`conference paper titled “Implementing Network Protocols at User Level.” (Ex. 1006
`
`1619374531
`
`-8-
`
`

`

`Microsoft Corp. v. VirtaMove, Corp.
`IPR Petition – U.S. Patent 7,784,058
`
`(“Thekkath”).) Thekkath, like Ely, described research conducted at the University of
`
`Washington’s Department of Computer Science and Engineering. (Id.; Ex. 1003.)
`
`Thekkath implemented networking protocols outside of the kernel to allow
`
`for “ease of prototyping, debugging, and maintenance.” (Ex. 1006, 64.) Thekkath’s
`
`system allowed for the “co-existence of multiple protocols” that could “exploit
`
`application-specific knowledge,” unlike the traditional networking stack, which was
`
`generalized for the entire OS. (Id.; Ex. 1002 ¶54.) Similar to Ely, Thekkath used a
`
`shared library to store its networking protocols outside the kernel. (Ex. 1006, 64, 67,
`
`68; Ex. 1002 ¶54.) This system, with the “protocol library” linked to an application,
`
`is shown in Figure 2:
`
`(Ex. 1006, Fig. 2.) Because the “protocol library [] is linked into the application”
`
`and “[t]he library contains the code that implements the communication protocol,”
`
`1619374531
`
`-9-
`
`

`

`Microsoft Corp. v. VirtaMove, Corp.
`IPR Petition – U.S. Patent 7,784,058
`
`applications can directly access several different networking protocols stored in the
`
`library. (Id., 67, 68; Ex. 1002 ¶54.)
`
`Because the protocol library is in user space rather than the kernel, it does not
`
`have direct access to networking hardware. (Ex. 1002 ¶55.) Rather, the protocol
`
`library exchanges data with a “Network I/O Module” in the kernel. (Ex. 1006, 69.)
`
`This kernel module acts as an interface between the protocol library and networking
`
`devices. (Id.; Ex. 1002 ¶55.)
`
`Eggert Disclosed File Systems in a Shared Library.
`3.
`Also in 1993, Paul Eggert and another researcher published “File Systems in
`
`User Space” and presented it at the USENIX Winter Conference. (Ex. 1004.) This
`
`paper disclosed “two user-extensible file systems,” collectively called “IFS,” that
`
`extended a computer’s default file system with added capabilities. (Id., 229.) These
`
`file systems were implemented with libraries to which applications could
`
`dynamically link. (Id., 229, 235-237; Ex. 1002 ¶56.) When an application was
`
`dynamically linked to the IFS shared library, that library intercepted the
`
`application’s calls to the operating system, allowing the application to access files
`
`in new ways. (Ex. 1004, 231-32; Ex. 1002 ¶56.)
`
`1619374531
`
`-10-
`
`

`

`Microsoft Corp. v. VirtaMove, Corp.
`IPR Petition – U.S. Patent 7,784,058
`
`II.
`
`THE ’058 PATENT
`A.
`Overview
`The ’058 patent discloses shared libraries containing so-called “critical system
`
`elements” (CSEs), which replicate functionality from an OS kernel. (Ex. 1001, 1:58-
`
`64.) “The term replica used [in the patent] is meant to denote a CSE having similar
`
`attributes to, but not necessarily and preferably not an exact copy of a CSE in the
`
`operating system[.]” (Id., 1:66-2:3.)
`
`Figure 1 shows a “conventional architecture where critical system elements
`
`execute in kernel mode”:
`
`(Ex. 1001, Fig. 1; id., 6:62-63.)
`
`An “important distinction between [the ’058 patent] and [some] prior art
`
`systems and architectures is the ability to allow a CSE to execute in the same context
`
`as an application.” (Id., 1:46-48.) CSEs “are replicated through the use of shared
`
`1619374531
`
`-11-
`
`

`

`Microsoft Corp. v. VirtaMove, Corp.
`IPR Petition – U.S. Patent 7,784,058
`
`libraries” and “replicated CSEs are then able to run in the context of a software
`
`application” like any other shared library. (Id., 5:22-34.)
`
`“By way of example; a Linux based platform provides a TCP/IP [i.e.,
`
`networking protocol] stack in the Linux kernel. [The ’058 patent] provides a TCP/IP
`
`stack in the form of a CSE that is a different implementation of a TCP/IP stack, from
`
`Berkeley Software Distribution (BSD) by way of example. Applications on a Linux
`
`platform may use a BSD [TCP]/IP stack in the form of a CSE. The mechanism for
`
`attaching the BSD TCP/IP stack to an application is in the form of a shared library.”
`
`(Id., 5:41-49; see also Ex. 1002 ¶60 (providing background on TCP/IP).)
`
`Figure 4 of the patent shows “how critical system elements exist in the same
`
`context as an application.” (Ex. 1001, 5:11-12.) In this figure, “the CSE shared
`
`library, 47, provides an implementation of a critical system element.” (Id., 8:23-27.)
`
`(Id., Fig. 4.)
`
`1619374531
`
`-12-
`-12-
`
`

`

`Microsoft Corp. v. VirtaMove, Corp.
`IPR Petition – U.S. Patent 7,784,058
`
`Prosecution History
`B.
`The applicant admitted during prosecution that (1) shared libraries were
`
`known and (2) running CSEs outside of the kernel was known. (Ex. 1008, 21-22.)
`
`But the applicant argued that CSEs in shared libraries that replicate CSEs in the
`
`ker

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