throbber

`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Paper No. ________
`
`
`
`
`
`UNITED STATES PATENT AND TRADEMARK OFFICE
`_______________
`
`BEFORE THE PATENT TRIAL AND APPEAL BOARD
`_____________
`
`KYOCERA INTERNATIONAL, INC.
`Petitioner
`v.
`
`BLUE SPIKE, LLC
`Patent Owner
`
`Patent No. 8,930,719
`Issue Date: January 6, 2015
`Title: DATA PROTECTION METHOD AND DEVICE
`_______________
`
`Inter Partes Review No. IPR2017-01109
`____________________________________________________________
`
`
`
`PETITION FOR INTER PARTES REVIEW
`UNDER 35 U.S.C. §§ 311-319 AND 37 C.F.R. § 42.100 ET. SEQ.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`Petition For Inter Partes Review
`U.S. Patent No. 8,930,719
`
`
`
`TABLE OF CONTENTS
`
`
`
`
`
`
`NOTICE OF LEAD AND BACKUP COUNSEL ..................................................... 1 
`NOTICE OF EACH REAL-PARTY-IN-INTEREST ............................................... 1 
`NOTICE OF RELATED MATTERS ........................................................................ 1 
`NOTICE OF SERVICE INFORMATION ................................................................ 2 
`GROUNDS FOR STANDING .................................................................................. 2 
`STATEMENT OF MATERIAL FACTS .................................................................. 2 
`STATEMENT OF PRECISE RELIEF REQUESTED .............................................. 4 
`THRESHOLD REQUIREMENT FOR INTER PARTES REVIEW ......................... 4 
`STATEMENT OF REASONS FOR RELIEF REQUESTED ................................... 4 
`I. 
`Introduction to the Technology of the ’719 Patent .......................................... 4 
`II. 
`Representative Independent Claim 1 of the ’719 Patent ................................. 5 
`III.  Construction of the Claims .............................................................................. 6 
`i. 
`“code resources” (Claims 1, 10, 21, 22, 29, 36).................................... 7 
`IV.  Claim-By-Claim Explanation of Grounds for Unpatentability ....................... 7 
`Ground 1.  Claims 1, 10, 21, 22, 29, and 36 of the ’719 Patent are
`unpatentable as anticipated by U.S. Patent No. 5,745,569 (Ex.
`1003). ..................................................................................................... 8 
`The ’569 Patent Is Prior Art Under 35 U.S.C. § 102(e) ........................ 8 
`The ’569 Patent Discloses All Elements of Independent Claims 1, 10,
`21, 22, 29, and 36 .................................................................................. 8 
`Ground 2.  Claims 1, 10, 21, 22, 29, and 36 of the ’719 Patent are
`unpatentable as obvious over the combination of Forrest (Ex.
`1005) and the ’569 Patent (Ex. 1003). ................................................ 19 
`
`i. 
`ii. 
`
`i
`
`
`
`

`

`Petition For Inter Partes Review
`U.S. Patent No. 8,930,719
`
`
`
`
`
`
`i. 
`ii. 
`
`
`Forrest Is Prior Art Under 35 U.S.C. § 102(a) .................................... 19 
`The Combination of Forrest and the ’569 Patent Discloses All
`Elements of Independent Claims 1, 10, 21, 22, 29, and 36 ................ 20 
`CONCLUSION ........................................................................................................ 48 
`
`
`
`ii
`
`
`
`

`

`Petition For Inter Partes Review
`U.S. Patent No. 8,930,719
`
`
`
`
`
`
`
`EXHIBIT LIST
`
`
`
`Exhibit
`Ex. #
`1001 U.S. Patent No. 8,930,719 (“the ’719 Patent”)
`1002
`Image File Wrapper for ’719 Patent
`1003 U.S. Patent No. 5,745,569 (“the ’569 Patent”)
`1004
`Intentionally Omitted
`Stephanie Forrest et al., Building Diverse Computer Systems, The Sixth
`1005
`Workshop on Hot Topics in Operating Systems, 67-71 (IEEE, May
`1997) (“Forrest”)
`1006 Claim Construction Order entered May 16, 2016 in an unrelated
`litigation, Blue Spike, LLC v. Huawei Techs. Co. et al., Case No. 6:13-
`cv-00679, Dkt. 194.
`1007 Curriculum Vitae of Rafail Ostrovsky, Ph.D.
`1008
`Expert Declaration of Rafail Ostrovsky, Ph.D.
`
`
`
`iii
`
`
`
`

`

`Petition For Inter Partes Review
`U.S. Patent No. 8,930,719
`
`
`
`
`
`
`
`
`
`NOTICE OF LEAD AND BACKUP COUNSEL
`
`Lead Counsel: Nicola A. Pisano (Reg. No. 34,408) Tel: 858.847.6877
`
`Backup Counsel: Scott R. Kaspar (Reg. No. 54,583) Tel: 312.832.5113
`
`Address: Foley & Lardner LLP, 3579 Valley Centre Drive, San Diego, CA 92130
`
`Fax: 858.792.6773
`
`NOTICE OF EACH REAL-PARTY-IN-INTEREST
`
`The real-parties-in-interest are: Kyocera International, Inc. is a wholly-owned
`
`subsidiary of Kyocera Corporation, a publicly-traded Japanese entity.
`
`NOTICE OF RELATED MATTERS
`
`Patent Owner asserted the ’719 Patent against Kyocera International, Inc. in the
`
`Eastern District of Texas in a case captioned Blue Spike, LLC v. Archos, Inc. et al.,
`
`Case No. 6:16-cv-1142, filed September 2, 2016. Patent Owner voluntarily dismissed
`
`the action on February 9, 2017. On February 10, 2017, Kyocera International, Inc.
`
`filed a complaint for declaratory judgment of non-infringement only in the Southern
`
`District of California in a case captioned Kyocera International, Inc. v. Blue Spike,
`
`LLC, Case No. 3:17-cv-0262-BTM-JMA, which is now pending before the Hon. Barry
`
`T. Moskowitz.
`
`1
`
`
`
`

`

`Petition For Inter Partes Review
`U.S. Patent No. 8,930,719
`
`
`
`NOTICE OF SERVICE INFORMATION
`
`
`
`
`
`Please address all correspondence to the lead counsel at the address above.
`
`Petitioner consents to electronic service at: npisano@foley.com; and
`
`skaspar@foley.com.
`
`GROUNDS FOR STANDING
`Petitioner hereby certifies that the patent for which review is sought is available for
`
`inter partes review and that the Petitioner is not barred or estopped from requesting an
`
`inter partes review challenging the patent claims on the grounds identified in the
`
`Petition.
`
`STATEMENT OF MATERIAL FACTS
`
`The ’719 Patent matured from U.S. Patent Application No. 13/556,420, filed July
`
`24, 2012, and issued January 6, 2015. The ’719 Patent is a continuation of U.S. Patent
`
`Application No. 11/895,388, filed August 24, 2007, which is a division of U.S. Patent
`
`Application No. 10/602,777, filed June 25, 2003, now U.S. Patent No. 7,664,263,
`
`which is a continuation of U.S. Patent Application No. 09/046,627, filed March 24,
`
`1998, now U.S. Patent No. 6,598,162. The ’719 Patent claims priority to March 24,
`
`1998, which is the earliest effective filing date.
`
`The named inventor of the ’719 Patent, Scott Moskowitz, also is a co-inventor with
`
`Marc Cooperman of U.S. Patent No. 5,745,569 (“the ’569 Patent,” Ex. 1003). The
`
`’569 Patent matured from U.S. Patent Serial No. 587,943, filed January 17, 1996, and
`
`2
`
`
`
`

`

`Petition For Inter Partes Review
`U.S. Patent No. 8,930,719
`
`
`issued April 28, 1998. The ’569 Patent expired January 17, 2016. The ’719 Patent
`
`
`
`
`
`does not include any claim of priority to the’569 Patent.
`
`The ’719 Patent purports to cover a computing device that knows about all the
`
`software code resources in memory and then intentionally shuffles aspects of the code
`
`randomly so that a hacker attempting to take a snap-shot of the code would be foiled
`
`by the shuffled code aspects. See Ex. 1001, 15:36-53.
`
`The ’719 Patent describes the problem of skilled computer hackers, who often copy
`
`code by capturing aspects of the code while it is in the computer’s memory. Ex. 1001,
`
`2:20-37; 15:7-22; 15:54-60.
`
`The ’719 Patent purports to solve the “snapshot” counterfeiting attacks by
`
`randomly shuffling aspects of the code in the memory, such that any “snapshot” taken
`
`by a would-be hacker is meaningless. Ex. 1001, 14:57-64. Claim 1, in particular, is
`
`directed to guard against hacking by shuffling code resources within the memory in
`
`order to safeguard the code.
`
`The ’719 Patent includes in its specification a single paragraph describing the
`
`purported invention of Claim 1. See Ex. 1001, 15:36-53. This paragraph also appears
`
`word for word in the specification of the ’569 Patent. See Ex. 1003, 8:1-19.
`
`The purported invention claimed in the ’719 Patent, which uses software to shuffle
`
`code in the memory to defeat copying attacks, was well known in the art many years
`
`before the priority date of the ’719 Patent.
`
`3
`
`
`
`

`

`Petition For Inter Partes Review
`U.S. Patent No. 8,930,719
`
`
`
`STATEMENT OF PRECISE RELIEF REQUESTED
`Petitioner respectfully requests the Board initiate an inter partes review and cancel
`
`
`
`
`
`Independent Claims 1, 10, 21, 22, 29, and 36 of the ’719 Patent as unpatentable
`
`pursuant to 35 U.S.C. § 311(b) based on the two grounds of unpatentability discussed
`
`in detail herein.
`
`THRESHOLD REQUIREMENT FOR INTER PARTES REVIEW
`A petition for inter partes review must demonstrate “a reasonable likelihood that
`
`the petitioner would prevail with respect to at least one of the claims challenged in the
`
`petition.” (35 U.S.C. § 314(a).) The Petition meets this threshold. All elements of
`
`Claims 1, 10, 21, 22, 29, and 36 of the ’719 Patent are taught in the prior art as
`
`explained below in the proposed grounds of unpatentability. Also, where the claims
`
`are rendered obvious by combinations of prior art, the reasons to combine are
`
`established under 35 U.S.C. § 103(a).
`
`STATEMENT OF REASONS FOR RELIEF REQUESTED
`
`I.
`
`Introduction to the Technology of the ’719 Patent
`
`The ’719 Patent is directed to a computing device that knows about all the software
`
`code resources in memory and then intentionally shuffles aspects of the code randomly
`
`so that a would-be hacker attempting to take a snap-shot of the code would be foiled
`
`by the shuffled code aspects. See Ex. 1001, 15:36-53.
`
`The ’719 Patent teaches two steps to preventing would-be hackers from accessing
`
`the computer code. First, certain parts of the code, called “code resources,” are
`4
`
`
`
`

`

`Petition For Inter Partes Review
`U.S. Patent No. 8,930,719
`
`
`identified and hidden, which the ’719 Patent admits are well known in the art. Ex.
`
`
`
`
`
`1001, 12:25-29; 12:55-60. Second, the code resources are randomly shuffled, to
`
`render any capturing of the code to be meaningless. Ex. 1001, 14:57-64.
`
`The purported invention of the ’719 Patent was well known in the prior art many
`
`years before the priority date of the ’719 Patent. In particular, the claimed methods
`
`were disclosed at least by the prior art identified in this Petition, as detailed in the
`
`claim charts that follow.
`
`II. Representative Independent Claim 1 of the ’719 Patent
`Independent claims 1, 10, 21, 22, 29, and 36 are directed to computing devices that
`
`know about all the software code resources in memory and then intentionally shuffle
`
`aspects of the code randomly so that a would-be hacker attempting to take a snapshot
`
`of the code would be foiled by the shuffled code aspects. See Ex. 1001, 15:36-53.
`
`Representative Independent Claim 1 states and requires:
`
`A computing device for running application software,
`
`comprising:
`
`memory designed to store data in non transitory form;
`
`an operating system;
`
`wherein said memory stores an application software;
`
`5
`
`
`
`

`

`Petition For Inter Partes Review
`U.S. Patent No. 8,930,719
`
`
`
`wherein said application software comprises (1) a
`
`
`
`
`
`memory scheduler code resource and (2) other code
`
`resources;
`
`wherein said application software is designed to call said
`
`memory scheduler code resource;
`
`wherein said memory scheduler code resource, when
`
`called, functions to shuffle said other code resources in said
`
`memory; and
`
`wherein said memory scheduler code resource is designed
`
`to modify a stack frame in said memory.
`
`III. Construction of the Claims
`A claim in inter partes review is given the “broadest reasonable construction in
`
`light of the specification.” (See 37 C.F.R. § 42.100(b).) For the purposes of this
`
`proceeding, claim terms are presumed to take on their broadest reasonable ordinary
`
`meaning. As stated in the case In re ICON Health and Fitness, Inc. at 496 F.3d 1374,
`
`1379 (Fed. Cir. 2007): “the PTO must give claims their broadest reasonable
`
`construction consistent with the specification. Therefore, we look to the specification
`
`to see if it provides a definition for claim terms, but otherwise apply a broad
`
`interpretation.” In addition to this presumption, Petitioner provides a more detailed
`
`explanation of the broadest reasonable meaning of certain claim terms.
`
`6
`
`
`
`

`

`Petition For Inter Partes Review
`U.S. Patent No. 8,930,719
`
`
`
`
`
`
`
`“code resources” (Claims 1, 10, 21, 22, 29, 36)
`
`i.
`
`The specification defines “code resources” in terms of packaged, sub-objects:
`
`“sub-objects can be packaged into what are referred to as ‘code resources’ . . . .” Ex.
`
`1001, 11:62-63. “Sub-objects,” as used in the ’569 patent, refer to discrete executable
`
`segments of a program. Ex. 1003, 3:44-4:17. The specification further explains that
`
`an application may be referred to as an “executable object code from the point of view
`
`of the engineer.” Id., 3:44-47. The specification goes on to teach that “[a] collection
`
`of smaller, atomic (or indivisible) chunks of object code typically comprise the
`
`complete executable object code . . . [t]hose indivisible portions of object code
`
`correspond with the programmers’ function or procedure implementations in higher
`
`level languages.” Id., 3:47-53. These functions or procedures are compiled and make
`
`up an executable object code (or a program). Id., 4:13-17. The object code or program
`
`includes instructions executed by the CPU and data called by the instructions. Ex.
`
`1008 at ¶ 39.
`
`The court in the Huawei Litigation construed “code resources” to be “compiled
`
`functions or procedures”. Ex. 1006, p.12. Accordingly, Petitioner requests that the
`
`Board adopt the same construction in this proceeding.
`
`IV. Claim-By-Claim Explanation of Grounds for Unpatentability
`Unpatentability of Claims 1, 10, 21, 22, 29, and 36 of the ’719 Patent is set forth
`
`below and discussed in the accompanying expert declaration (Ex. 1008).
`
`7
`
`
`
`

`

`Petition For Inter Partes Review
`U.S. Patent No. 8,930,719
`
`
`Ground 1. Claims 1, 10, 21, 22, 29, and 36 of the ’719 Patent are unpatentable as
`anticipated by U.S. Patent No. 5,745,569 (Ex. 1003).
`
`
`
`
`
`Claims 1, 10, 21, 22, 29, and 36 of the ’719 Patent are unpatentable under 35 U.S.C.
`
`§ 102(e) as anticipated by U.S. Patent No. 5,745,569 to Scott Moskowitz et al.
`
`(“the ’569 Patent,” Ex. 1003).
`
`i.
`
`The ’569 Patent Is Prior Art Under 35 U.S.C. § 102(e)
`
`The application that matured into the ’569 Patent was filed on January 17, 1996.
`
`The ’569 Patent issued on April 28, 1998. Because the ’719 Patent does not include
`
`any claim of priority to the ’569 Patent, and the ’569 Patent lists an additional co-
`
`inventor, the ’569 Patent is a prior art patent under Section 102(e).
`
`ii.
`
`The ’569 Patent Discloses All Elements of Independent Claims 1, 10,
`21, 22, 29, and 36
`
`Independent claims 1, 10, 21, 22, 29, and 36 are directed to computing devices that
`
`know about all the software code resources in memory and then intentionally shuffles
`
`aspects of the code randomly so that a would-be hacker attempting to take a snapshot
`
`of the code would be foiled by the shuffled code aspects. See Ex. 1001, 15:36-53.
`
`In addressing the problem of unauthorized copying, the ’569 Patent describes a
`
`device running software having special code resources that intentionally shuffle
`
`aspects of the software code, as set forth in the specification:
`
`Under the present invention, the application contains a
`
`special code resource which knows about all the other code
`
`8
`
`
`
`

`

`Petition For Inter Partes Review
`U.S. Patent No. 8,930,719
`
`
`
`resources in memory. During execution time, this special
`
`
`
`
`
`code resource, called a ‘memory scheduler’ can be called
`
`periodically, or at random or pseudo random intervals, at
`
`which time it intentionally shuffles the other code resources
`
`randomly in memory so that someone trying to analyze
`
`snapshots of memory at various intervals cannot be sure if
`
`they are looking at the same code or organization from one
`
`‘break’ to the next. This adds significant complexity to their
`
`job. The scheduler also randomly relocates itself when it is
`
`finished. In order to do this, the scheduler would have to
`
`first copy itself to a new location, and then specifically
`
`modify the program counter and stack frame, so that it could
`
`then jump into the new copy of the scheduler but return to
`
`the correct calling frame. Finally, the scheduler would need
`
`to maintain a list of all memory addresses which contain the
`
`address of the scheduler and change them to reflect its new
`
`location.
`
`Ex. 1003, 8:1-19. One of ordinary skill would understand that intentionally
`
`shuffling code resources in accordance with the ’569 Patent would be useful for copy
`
`protecting, or guarding against unauthorized copying, as claimed by the ’719 Patent.
`
`9
`
`
`
`

`

`Petition For Inter Partes Review
`U.S. Patent No. 8,930,719
`
`Ex. 1008, ¶ 46.
`
`
`
`
`
`
`
`Each of the elements of Claims 1, 10, 21, 22, 29, and 36 of the ’719 Patent is
`
`disclosed and described by the ’569 Patent, as shown with particularity as follows.
`
`The ’569 Patent (Ex. 1003)
`The ’569 Patent discloses a computing device for
`running software:
`“A preferred embodiment would be implemented
`in an embedded system, with a minimal operating
`system and memory.”
`Exs. 1003, 7:1-3; 1008, p.17.
`The ’569 Patent discloses memory designed to
`store data in a non transitory form:
`“Once the code resources of a program are loaded
`into memory, they typically remain in a fixed
`position, unless the computer operating system
`finds it necessary to rearrange certain portions of
`memory during ‘system time,’ when the operating
`system code, not application code, is running. .”
`Exs. 1003, 7:30-34; 1008, p.17.
`The ’569 Patent discloses a computerized system
`having an operating system:
`“A preferred embodiment would be implemented
`in an embedded system, with a minimal operating
`system and memory.”
`Exs. 1003, 7:1-3; 1008, p.17.
`The ’569 Patent discloses application software
`stored in memory:
`“Moreover, the present invention concerns itself
`with any application software that may be used in
`general computing devices, not chipsets that are
`used in addition to an underlying computer to
`perform encryption.”
`Exs. 1003, 7:59-62; 1008, p.17.
`The ’569 Patent discloses a memory scheduler
`code resource, among other code resources:
`“Under the present invention, the application
`
`10
`
`The ’719 Patent
`1. A computing device for
`running application software,
`comprising:
`
`(a) memory designed to store
`data in non transitory form;
`
`(b) an operating system;
`
`(c) wherein said memory stores
`an application software;
`
`(d) wherein said application
`software comprises (1) a
`memory scheduler code
`
`
`
`

`

`Petition For Inter Partes Review
`U.S. Patent No. 8,930,719
`
`
`The ’719 Patent
`resource and (2) other code
`resources;
`
`(e) wherein said application
`software is designed to call
`said memory scheduler code
`resource;
`
`(f) wherein said memory
`scheduler code resource,
`when called, functions to
`shuffle said other code
`resources in said memory;
`and
`
`(g) wherein said memory
`scheduler code resource is
`designed to modify a stack
`frame in said memory.
`
`
`
`
`
`
`
`The ’569 Patent (Ex. 1003)
`contains a special code resource which knows
`about all the other code resources in memory.
`During execution time, this special code resource,
`called a ‘memory scheduler’ can be called
`periodically, or at random or pseudo random
`intervals, at which time it intentionally shuffles the
`other code resources randomly in memory so that
`someone trying to analyze snapshots of memory at
`various intervals cannot be sure if they are looking
`at the same code or organization from one ‘break’
`to the next.”
`Exs. 1003, 8:1-10; 1008, p.17.
`The ’569 Patent discloses that the application calls
`the memory scheduler code resource:
`“Under the present invention, the application
`contains a special code resource which knows
`about all the other code resources in memory.
`During execution time, this special code resource,
`called a ‘memory scheduler’ can be called
`periodically, or at random or pseudo random
`intervals….”
`Exs. 1003, 8:1-5; 1008, p.18.
`The ’569 Patent discloses that the memory
`scheduler code resource shuffles code resources in
`the memory:
`“During execution time, this special code resource,
`called a ‘memory scheduler’ can be called
`periodically, or at random or pseudo random
`intervals, at which time it intentionally shuffles the
`other code resources randomly in memory...”
`Exs. 1003, 8:3-7; 1008, p.19.
`The ’569 Patent discloses that the memory
`scheduler modifies a stack frame in the memory to
`be able to identify the correct location of the
`shuffled code resources:
`“The scheduler also randomly relocates itself when
`it is finished. In order to do this, the scheduler
`would have to first copy itself to a new location,
`
`11
`
`
`
`

`

`
`
`
`
`
`
`The ’569 Patent (Ex. 1003)
`and then specifically modify the program counter
`and stack frame, so that it could then jump into the
`new copy of the scheduler but return to the correct
`calling frame. Finally, the scheduler would need
`to maintain a list of all memory addresses which
`contain the address of the scheduler and change
`them to reflect its new location.”
`Exs. 1003, 8:11-19; 1008, p.19.
`
`The ’569 Patent discloses a system for running
`software:
`“A preferred embodiment would be implemented
`in an embedded system, with a minimal operating
`system and memory.”
`Exs. 1003, 7:1-3; 1008, p.20.
`The ’569 Patent discloses memory designed to
`store data in a non transitory form:
`“Once the code resources of a program are loaded
`into memory, they typically remain in a fixed
`position, unless the computer operating system
`finds it necessary to rearrange certain portions of
`memory during ‘system time,’ when the operating
`system code, not application code, is running.”
`Exs. 1003, 7:30-34; 1008, p.21.
`The ’569 Patent discloses storing executable code
`resources in the memory:
`“Once the code resources of a program are loaded
`into memory, they typically remain in a fixed
`position, unless the computer operating system
`finds it necessary to rearrange certain portions of
`memory during ‘system time,’ when the operating
`system code, not application code, is running.
`Typically, this is done in low memory systems, to
`maintain optimal memory utilization.”
`Exs. 1003, 7:30-35; 1008, p.21.
`The ’569 Patent discloses a memory scheduler
`code resource, among other code resources:
`“During execution time, this special code resource,
`
`12
`
`Petition For Inter Partes Review
`U.S. Patent No. 8,930,719
`
`
`The ’719 Patent
`
`
`10. A system for executing
`application software code,
`comprising:
`
`(a) a memory designed to store
`data in non transitory form,
`and
`
`(b) storing executable code
`resources;
`
`(c) wherein said executable
`code resources comprise a
`memory scheduler and other
`
`
`
`

`

`Petition For Inter Partes Review
`U.S. Patent No. 8,930,719
`
`
`The ’719 Patent
`executable code resources;
`
`(d) wherein said memory
`scheduler is designed to
`shuffle said other executable
`code resources in said
`memory; and
`
`(e) wherein said memory
`scheduler is designed to
`modify a stack frame in said
`memory.
`
`
`21. A system comprising:
`(a) a processor; a memory
`designed to store data in non
`transitory form; wherein said
`processor is coupled to said
`memory;
`
`
`
`
`
`
`
`The ’569 Patent (Ex. 1003)
`called a ‘memory scheduler’ can be called
`periodically, or at random or pseudo random
`intervals, at which time it intentionally shuffles the
`other code resources randomly in memory so that
`someone trying to analyze snapshots of memory at
`various intervals cannot be sure if they are looking
`at the same code or organization from one ‘break’
`to the next.”
`Exs. 1003, 8:3-10; 1008, p.21.
`The ’569 Patent discloses that the memory
`scheduler code resource shuffles code resources in
`the memory:
`“Under the present invention, the application
`contains a special code resource which knows
`about all the other code resources in memory.
`During execution time, this special code resource,
`called a ‘memory scheduler’ can be called
`periodically, or at random or pseudo random
`intervals….”
`Exs. 1003, 8:1-5; 1008, p.22.
`The ’569 Patent discloses that the memory
`scheduler modifies a stack frame in the memory to
`identify the location of the shuffled code
`resources:
`“During execution time, this special code resource,
`called a ‘memory scheduler’ can be called
`periodically, or at random or pseudo random
`intervals, at which time it intentionally shuffles the
`other code resources randomly in memory…”
`Exs. 1003, 8:3-7; 1008, p.23.
`
`
`The ’569 Patent discloses a computerized system
`having an operating system:
`“A preferred embodiment would be implemented
`in an embedded system, with a minimal operating
`system and memory.”
`Ex. 1003, 7:1-3.
`
`13
`
`
`
`

`

`Petition For Inter Partes Review
`U.S. Patent No. 8,930,719
`
`
`The ’719 Patent
`
`(b) wherein said system is
`configured to load a program
`comprising code resources
`into said memory and to
`shuffle at least one code
`resource into a different
`location in said memory
`after said program has been
`loaded into said memory;
`and
`
`(c) wherein one of said code
`resources is designed to
`modify a stack frame in said
`memory.
`
`
`
`
`
`
`
`The ’569 Patent (Ex. 1003)
`
`
`The ’569 Patent discloses memory designed to
`store data in a non transitory form:
`“Once the code resources of a program are loaded
`into memory, they typically remain in a fixed
`position, unless the computer operating system
`finds it necessary to rearrange certain portions of
`memory during ‘system time,’ when the operating
`system code, not application code, is running.
`Typically, this is done in low memory systems, to
`maintain optimal memory utilization.”
`Exs. 1003, 7:30-35; 1008, p.24.
`The ’569 Patent discloses that the memory
`scheduler code resource shuffles code resources in
`the memory:
`“During execution time, this special code resource,
`called a ‘memory scheduler’ can be called
`periodically, or at random or pseudo random
`intervals, at which time it intentionally shuffles the
`other code resources randomly in memory so that
`someone trying to analyze snapshots of memory at
`various intervals cannot be sure if they are looking
`at the same code or organization from one ‘break’
`to the next.”
`Exs. 1003, 8:3-9; 1008, p.24.
`The ’569 Patent discloses that the memory
`scheduler modifies a stack frame in the memory to
`identify the location of the shuffled code
`resources:
`“During execution time, this special code resource,
`called a ‘memory scheduler’ can be called
`periodically, or at random or pseudo random
`intervals….The scheduler also randomly relocates
`itself when it is finished. In order to do this, the
`scheduler would have to first copy itself to a new
`location, and then specifically modify the program
`counter and stack frame, so that it could then jump
`into the new copy of the scheduler but return to the
`
`14
`
`
`
`

`

`
`
`
`
`
`
`The ’569 Patent (Ex. 1003)
`correct calling frame.”
`Exs. 1003, 8:3-16; 1008, p.25.
`
`
`The ’569 Patent discloses a computerized system
`having an operating system:
`“A preferred embodiment would be implemented
`in an embedded system, with a minimal operating
`system and memory.”
`Ex. 1003, 7:1-3.
`
`The ’569 Patent further discloses memory
`designed to store data in a non transitory form:
`“Once the code resources of a program are loaded
`into memory, they typically remain in a fixed
`position, unless the computer operating system
`finds it necessary to rearrange certain portions of
`memory during ‘system time,’ when the operating
`system code, not application code, is running.
`Typically, this is done in low memory systems, to
`maintain optimal memory utilization.”
`Exs. 1003, 7:30-35; 1008, p.26.
`The ’569 Patent discloses that the memory
`scheduler code resource shuffles code resources in
`the memory:
`“During execution time, this special code resource,
`called a ‘memory scheduler’ can be called
`periodically, or at random or pseudo random
`intervals, at which time it intentionally shuffles the
`other code resources randomly in memory so that
`someone trying to analyze snapshots of memory at
`various intervals cannot be sure if they are looking
`at the same code or organization from one ‘break’
`to the next.”
`Exs. 1003, 8:3-9; 1008, p.26.
`The ’569 Patent discloses that the memory
`scheduler modifies a stack frame in the memory to
`identify the location of the shuffled code
`
`15
`
`Petition For Inter Partes Review
`U.S. Patent No. 8,930,719
`
`
`The ’719 Patent
`
`
`22. A system comprising:
`(a) a processor designed to
`process instructions; a
`memory designed to store
`data in non transitory form;
`wherein said processor is
`coupled to said memory;
`
`(b) wherein said system is
`configured to load an
`executable program
`comprising at least two code
`resources into said memory
`and to randomize the
`location of at least one of the
`at least two code resources in
`the said memory, using said
`processor; and
`
`(c) wherein one of the at least
`two code resources is
`designed to modify a stack
`
`
`
`

`

`
`
`
`
`
`
`The ’569 Patent (Ex. 1003)
`
`resources:
`“During execution time, this special code resource,
`called a ‘memory scheduler’ can be called
`periodically, or at random or pseudo random
`intervals…The scheduler also randomly relocates
`itself when it is finished. In order to do this, the
`scheduler would have to first copy itself to a new
`location, and then specifically modify the program
`counter and stack frame, so that it could then jump
`into the new copy of the scheduler but return to the
`correct calling frame.”
`Exs. 1003, 8:3-15; 1008, p.27.
`
`
`The ’569 Patent discloses a computerized system
`having an operating system and a memory:
`“A preferred embodiment would be implemented
`in an embedded system, with a minimal operating
`system and memory.”
`Exs. 1003, 7:1-3; 1008 at p.28.
`The ’569 Patent discloses that the memory
`scheduler code resource shuffles code resources in
`the memory:
`“During execution time, this special code resource,
`called a ‘memory scheduler’ can be called
`periodically, or at random or pseudo random
`intervals, at which time it intentionally shuffles the
`other code resources randomly in memory so that
`someone trying to analyze snapshots of memory at
`various intervals cannot be sure if they are looking
`at the same code or organization from one ‘break’
`to the next.”
`Exs. 1003, 8:3-9; 1008, p.29.
`The ’569 Patent discloses that the memory
`scheduler modifies a stack frame in the memory to
`identify the ocation of the shuffled code resources:
`“During execution time, this special code resource,
`called a ‘memory scheduler’ can be called
`
`16
`
`Petition For Inter Partes Review
`U.S. Patent No. 8,930,719
`
`
`The ’719 Patent
`frame in said memory.
`
`
`29. A system comprising:
`(a) a processor; a memory
`coupled to said processor;
`wherein said memory is
`designed to store data in non
`transitory form;
`
`(b) wherein said system is
`configured to load a program
`comprising code resources
`into said memory and to
`shuffle at least a subset of
`said code resources into a
`different location in said
`memory after said program
`has been loaded into said
`memory; and
`
`(c) wherein one of said code
`resources is configured to
`modify a stack frame in said
`memory.
`
`
`
`

`

`Petition For Inter Partes Review
`U.S. Patent No. 8,930,719
`
`
`The ’719 Patent
`
`
`36. A system for protecting a
`software application, said
`software application
`comprising a plurality of
`executable code resources,
`said system comprising:
`(a) a processor; memory for
`storing data in non transitory
`form; wherein said processor
`is coupled to said memory
`for transmitting data there
`between; wherein, when
`executing said software
`application, said system is
`configured to store in said
`memory an original plurality
`of code resource addresses;
`(b) wherein, when executing
`said software application,
`said system is configured to
`store a plurality of
`executable code resources
`for executing said software
`application;
`
`
`
`
`
`
`
`The ’569 Patent (Ex. 1003)
`periodically, or at random or pseudo random
`intervals…The scheduler also randomly relocates
`itself when it is finished. In order to do this, the
`scheduler would have to first copy itself to a new
`location, and then specifically modify the program
`counter and stack frame, so that it could then jump
`into the new copy of the scheduler but return to the
`corr

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