UNITED STATES PATENT AND TRADEMARK OFFICE

______

BEFORE THE PATENT TRIAL AND APPEAL BOARD

______

UBISOFT, INC. AND SQUARE ENIX, INC., Petitioners,

v.

UNILOC USA, INC. AND UNILOC LUXEMBOURG S.A., Patent Owners.

______

Case No. IPR2017-01839 U.S. Patent No. 6,324,578 ______

PETITION FOR INTER PARTES REVIEW

OF U.S. PATENT NO. 6,324,578

I. 37 C.F.R. §42.104 REQUIREMENTS ...... 1 A. Grounds for Standing (37 C.F.R. §42.104(a)) ...... 1 B. Identification of Challenge and Relief Requested (37 C.F.R. §42.104(b)) ...... 1 1. Level of Ordinary Skill in the Art ...... 1 2. Claim Construction ...... 2 II. OVERVIEW OF THE ‘578 PATENT ...... 13 A. Description ...... 13 B. Prosecution History ...... 14 III. THERE IS A REASONABLE LIKELIHOOD THAT THE CHALLENGED CLAIMS ARE UNPATENTABLE ...... 15 A. Kasso in view of JavaStation Renders Claims 1, 6-9, 11-17, 22-25, 27-32, 37-40, 42-46 Obvious Under §103(a) ...... 15 B. Kasso in view of JavaStation in further view of Sanders Renders Claims 2-5, 10, 18, 20-21, 26, 33, 35-36, 41 Obvious Under §103(a) ...... 59 IV. MANDATORY NOTICES UNDER 37 C.F.R. §42.8(A)(1) ...... 68 A. Real Party-In-Interest and Related Matters ...... 68 B. Lead and Back-Up Counsel Under 37 C.F.R. §42.8(b)(3) ...... 68 C. Payment of Fees Under 37 C.F.R. §42.103 ...... 69 V. CONCLUSION ...... 69 CERTIFICATE OF COMPLIANCE ...... 2

I. 37 C.F.R. §42.104 REQUIREMENTS

A. Grounds for Standing (37 C.F.R. §42.104(a))

Petitioners certify that U.S. Patent No. 6,324,578 (“‘578”) is available for

IPR and that no Petitioner is barred or estopped. Petitioners (1) do not own the

‘578; (2) have not filed a civil action challenging the validity of any claim of the

‘578; and timely file this Petition (3) less than one year after service of a complaint and (4) more than nine months after the ‘578 issued.

B. Identification of Challenge and Relief Requested (37 C.F.R. §42.104(b))

Claims 1-18, 20-33, and 35-46 of the ‘578 (“the Challenged Claims”) are unpatentable and should be cancelled. 37 C.F.R. §42.104(b)(1). This review is governed by pre-AIA §§102 and 103.

Claims 1, 6-9, 11-17, 22-25, 27-32, 37-40, 42-46: Obvious over Kasso [EX1002] in view of JavaStation [EX1003] under §103(a)

Claims 2-5, 10, 18, 20-21, 26, 33, 35-36, 41: Obvious over Kasso in view of

JavaStation in further view of Sanders [EX1004] under §103(a)

1. Level of Ordinary Skill in the Art

A person of ordinary skill in the field of computer networking at the time of the alleged invention, December 14, 1998, (“POSITA”) would have at least (1) an undergraduate degree in computer science, computer engineering, or related field or equivalent years working experience, and (2) 1-2 years’ experience in

1 networking environments, including management of application programs in a network environment. EX1005, Declaration of Dr. Vijay K. Madisetti

(“Madisetti”) ¶¶27-29.

2. Claim Construction

The ‘578 will expire December 14, 2018, within 18 months of entry of any

Notice of Filing Date. 37 C.F.R. §42.100(b). Thus, the claims are construed under

Phillips v. AWH Corp., 415 F.3d 1303, 1327 (Fed. Cir. 2005), and are “generally given their ordinary and customary meaning” as understood by a POSITA.

Petitioners do not waive positions regarding the scope, validity, or patentability of any claim term in litigation.

a. Means for Installing (Claims 16, 17, 30, 32, 45)

Functions: “installing an application program having a plurality of configurable preferences and a plurality of authorized users on the server” (Claim

16); “installing an application program having a plurality of configurable preferences and a plurality of authorized users on a server coupled to the network”

(Claims 17, 32); “installing a second application program having a second plurality of configurable preferences and a second plurality of authorized users on the server”

(Claims 30, 45). This is described at 7:55-65 by 1) placing an application CD in a drive of a server or 2) providing the application program to the server as referred to in Figs. 5-7 of U.S. Patent No. 6,510,466 (“‘466”). EX1001 7:55-65, Fig. 2 (block

2 50). The ‘466 includes instructions for performing installation/configuration of application programs, including defining authorized users of such application programs. EX1006, ‘466 at 13:1-23, Fig. 5.

Structure: A server (Claims 16, 17, 30) or code/software (Claims 32, 45) programmed to execute steps depicted in Fig. 5 and described at 13:1-23 of the

‘466, and equivalents thereof. The ‘578 discloses that the license use management aspects of the invention are optional; thus, block 254 of Fig. 5 (inputting license policy information for an application program) is not required to perform the function. EX1001 4:62-67, 11:32-38, 4:3-5. The programming is: 1) accept definitions of the application that describe the location and description of the application (path directory and file name for the application) (EX1006, ‘466 block

250, 13:2-7); 2) accept definitions of users and groups that will access the system and the specific application (block 252); 3) accept control specifications defining which user/group authorization to access the new/updated application (block 256); and 4) update a database to maintain input definitions and specifications for the new/ updated application in a format accessible to the server (block 258).

b. Means for Distributing an Application Launcher Program (Claims 16-17, 21, 28-30, 32, 36, 43-45)

Functions: “distributing an application launcher program associated with the application program to the client” (Claim 16); “distributing an application launcher program associated with the application program to a client coupled to the network”

3 (Claims 17, 32); “distributing the application launcher program associated with the application program to a second client coupled to the network” (Claims 28-29, 43-

44); “distributing a second application launcher program associated with the second application program to the client coupled to the network” (Claims 30, 45).

Structure: A server (Claims 16, 17, 28, 29, 30) or code/software (Claims 32,

43, 44, 45) programmed to distribute an application launcher program to a client and equivalents thereof. EX1001 Fig. 2 (block 52), 8:21-22; also 9:63-64, Fig. 3

(block 74).

Where the “means for distributing” includes “means for displaying an icon associated with the application program on a screen of the client and wherein the one of the plurality of authorized users executes the application launcher program by selecting the displayed icon,” client (Claim 21) or code/software (Claim 36) is programmed to: 1) display an icon associated with the application program on the client screen and 2) receive a selection of the displayed application launcher program icon. EX1001 10:46-11:1, Fig. 4 (blocks 92, 94).

c. Means for Obtaining a User Set of Configurable Preferences (Claims 16-17, 27-30, 32, 42-45)

Functions: “obtaining a user set of the plurality of configurable preferences from one of the plurality of authorized users executing the application launcher program” (Claims 16-17, 32); “obtaining a second user set of the plurality of configurable preferences from a second one of the plurality of authorized users

4 executing the application launcher program” (Claims 27, 42); “obtaining a second user set of the second plurality of configurable preferences from one of the second plurality of authorized users executing the second application launcher program”

(Claims 30, 45).

Structure: A server (Claims 16, 17, 27, 30) or code/software (claims 32, 42,

45) programmed to obtain preferences, which are associated with the user executing the application launcher applet at one of the client stations (8:55-60, Fig.

2 (block 56)). For Claims 17, 27, 30, 32, 42, and 45, the structure additionally includes a client station (Claims 17, 27, 30) or code/software (Claims 32, 42, 45) programmed with an application launcher program to obtain preferences from the user and provide them to the server, and equivalents thereof. EX1001 Fig. 4

(blocks 98, 100), 11:9-14; also 12:6-7, 11:14-22, 9:5-13, 10:16-29, Fig. 3 (blocks

82, 84).

Where the means for obtaining a second user set comprises “means for obtaining a second user set of the plurality of configurable preferences from a second one of the plurality of authorized users executing the application launcher program on the second client,” second client (Claim 28) or code/software (Claim

43) is programmed with an application launcher program to obtain preferences from the second user and provide them to the server. Id.

5 Where the means for obtaining a user set comprises “means for obtaining the user set of the plurality of configurable preferences from one of the plurality of authorized users executing the application launcher program on the second client,” second client (Claim 29) or code/software (Claim 44) is programmed with an application launcher program to obtain preferences from the user and provide them to the server. Id.

d. Means for Obtaining an Administrator Set of Configurable Preferences (Claims 16-18, 30, 32-33, 45)

Functions: “obtaining an administrator set of the plurality of configurable preferences from an administrator” (Claims 16-17, 32); “obtaining a second administrator set of the second plurality of configurable preferences from an administrator” (Claims 30, 45).

Structure: A server or client (Claims 16-17, 30) or code/software (Claims 32,

45) programmed to provide an interface to establish configurable preferences of the application program designated as administrator only settable to be stored at the server, and equivalents thereof. EX1001 3:55-61, 9:66-10:1, Fig. 3 (block 76);

8:49-54, 8:61-9:25.

Where means for obtaining an administrator set comprises “means for obtaining an administrator set of the plurality of configurable preferences from an administrator executing the configuration manager program,” server or client

(Claim 18) or code/software (Claim 33) is programmed to provide a configuration

6 manager program to establish configurable preferences of the application program designated as administrator only settable to be stored at the server. EX1001 8:49-

54; also 8:61-9:25, 3:55-61 9:66-10:1.

e. Means for Providing an Instance (Claims 16-17, 20, 22-24, 32, 35, 37-39)

Functions: “providing an instance of the application program and a stored user set and the administrator set of the plurality of configurable preferences for use in executing the application program responsive to a request from the one of the plurality of authorized users” (claims 16, 17, and 32).

Structure: One or more servers (Claims 16, 17) or code/software (Claim 32) programmed to execute steps 78 and 84 of Fig. 31 and to provide an instance of the application program. The structure includes a client station (Claims 16, 17) or code/software (Claim 32) programmed to execute step 86 of Fig. 3. The servers

(Claims 16, 17) or code/software (Claim 32) are programmed to: 1) receive a request to initiate execution of the application program, including an identification

1 New user preference settings are not required structure for performing the claimed function. EX1001 10:16-29, Fig. 3 (blocks 80, 82). Obtaining new user preference settings are separately claimed (Elements 16(a)(iii), 16(b)(ii), 17(c),

32(c)).

7 of the user initiating the request; 2) obtain the correct user specified preferences from storage and provide the stored set of user and administrator preferences for the application program for the user; 3) provide instance of application program, such a applet accessible through a URL (EX1001 Fig. 3 (blocks 78, 84),

10:6-29, 8:11-20; also 11:32-12:12, 8:35-42, 11:55-12:11, 12:31-37); and the client station (Claims 16, 17) or code/software (Claim 32) is programmed to 4) execute a selected application program using the retrieved user set and administrator set of configurable preferences. Id. Fig. 3 (block 86), 10:30-37, 11:14-16, Fig. 4 (block

102).

Where the means for executing the application program comprises “means for executing the application program using the obtained user set and the administrator set of the plurality of configurable preferences responsive to a request from the one of the plurality of authorized users through the application launcher program,” client station (Claim 20) or code/software (Claim 35) is programmed with an application launcher program to: 1) receive a request from a user, such as selection of a displayed icon associated with the application program;

2) obtain a user identifier and provide a request for initiation of execution of the application program with the user identifier to the server; and 3) allow the selected application program to be executed using retrieved user set and administrator set of

8 configurable preferences, and equivalents thereof. Id. Fig. 4 (blocks 94, 96, 102),

10:58-11:21; also 10:30-37, Fig. 3.

Where the means for initiating execution includes “means for retrieving the stored user set and the stored administrator set from the storage device,” one or more servers (Claim 22) or code/software (Claim 37) is programmed to obtain from memory stored user preference values associated with the authorized user as well as stored administrator values, and equivalents thereof. EX1001 10:25-29,

Fig. 3 (block 84).

Where the means for executing includes “means for determining if a user requesting execution of the application program is one of the plurality of authorized users,” one or more servers (Claim 23) or code/software (Claim 38) is programmed to determine if the requesting user is authorized for the application program using the identification of the user provided in the request. Id. 10:9-12,

11:3-8.

Where the means for initiating execution includes “means for obtaining default preference values for any of the plurality of configurable preferences which are not specified by the user set or the administrator set,” one or more servers and/or client (Claim 24) or code/software (Claim 39) is programmed to: 1) determine if default values are required to execute the application program that are not specified by the user set or the administrator set; and 2) if default values are

9 required, obtain them from memory, and equivalents thereof. Id. Fig. 2 (blocks 60,

62), 9:30-46; also 10:25-29, 4:57-61, Fig. 3 (block 84).

f. Means for Executing (Claims 27, 30, 42, 45)

Functions: “executing the application program using the obtained second user set and the administrator set of the plurality of configurable preferences responsive to a request from the second one of the plurality of authorized users”

(Claims 27, 42); “executing the second application program using the obtained second user set and the second administrator set of the second plurality of configurable preferences responsive to a request from the one of the second plurality of authorized users” (Claims 30, 45).

Structure: A client station (Claims 27, 30) or code/software (Claims 42, 45) programmed with an application launcher program to: 1) receive a request from a user, such as selection of a displayed icon associated with the application program;

2) obtain a user identifier and provide a request for initiation of execution of the application program with the user identifier to the server; and 3) allow the selected application program to be executed using the retrieved user set and administrator set of configurable preferences. Id. Fig. 4 (blocks 94, 96, 102), 10:58-11:21; also

10:30-37, Fig. 3.

10 g. Means for Distributing a Configuration Manager Program (Claims 18, 33)

Function: “distributing a configuration manager program associated with the application program to a second client coupled to the network.”

Structure: A server (Claim 18) or code/software (Claim 33) programmed to distribute a configuration manager program to a client, and equivalents thereof.

EX1001 Fig. 2 (block 54), 8:50-51; also 9:63-64, Fig. 3 (block 74).

h. Means for Storing (Claims 22, 37)

Function: “storing the obtained user set and the obtained administrator set on a storage device coupled to the server.”

Structure: A storage device or database of one or more servers (Claim 22) or code/software for storing the user set and administrator set of preferences (Claim

37), and equivalents thereof. EX1001 9:66-10:1, 10:19-22, 10:37-46.

i. Means for Receiving (Claims 16, 31, 46)

Functions: “receiving an application launcher program associated with the application program from the server” (Claim 16); “receiving an application launcher program associated with an application program having a plurality of configurable preferences from a server coupled to the network” (Claims 31, 46).

Structure: A client (Claims 16, 31) or code/software (Claims 46) programmed to receive an application launcher program, and equivalents thereof.

EX1001 Fig. 4 (block 90), 10:50-51.

11 j. Means for Providing a User Set of Preferences (Claims 16, 31, 46)

Functions: “providing to the server a user set of the plurality of configurable preferences from one of the plurality of authorized users executing the application launcher program” (Claim 16); “providing a user set of the plurality of configurable preferences from one of a plurality of authorized users executing the application launcher program to the server” (Claims 31, 46).

Structure: A client (Claims 16, 31) or code/software (Claims 46) programmed with an application launcher program to obtain preferences from the user and provide the obtained preferences to the server, and equivalents thereof.

EX1001 Fig. 4 (blocks 98, 100), 11:9-14; also 12:6-7, 11:14-22, 9:5-13, 10:16-29,

Fig. 3 (blocks 82 and 84).

k. Means for Requesting (Claims 16, 31, 46)

Functions: “requesting that the server initiate execution of the application program using the obtained user set and the administrator set of the plurality of configurable preferences responsive to a request from the one of the plurality of authorized users” (Claim 16); “requesting that the server provide an[] instance of the application program and a stored user set and an administrator set of the plurality of configurable preferences for use in executing the application program responsive to a request from the one of the plurality of authorized users” (Claims

31, 46).

12 Structure: A client station (Claims 16, 31) or code/software (Claims 46) programmed with an application launcher program to: 1) receive request from a user, such as selection of a displayed icon associated with the application program; and 2) obtain user identifier and provide a request for initiation of execution of the application program with the user identifier to the server. EX1001 Fig. 4 (blocks

94, 96), 10:58-11:8; also 10:30-37, Fig. 3.

II. OVERVIEW OF THE ‘578 PATENT

A. Description

The ‘578 describes management of configurable application programs on a network. EX1001 1:22-24, 3:40-45. An application program having configurable preferences and authorized users is installed on a server. Id. 4:24-26. An application launcher program associated with the application program is distributed to a client. Id. 4:26-28. A user set of preferences associated with an authorized user executing the application launcher program and an administrator set of preferences is obtained. Id. 4:28-33. The application program is then executed using obtained user set and administrator set of preferences. Id. 4:33-39. This process is generally depicted in Figures 3 and 4:

13

Id. Figs. 3-4.

B. Prosecution History

The ‘578 Patent was filed 12/14/1998 with 25 claims. EX1007, ‘578 FH As-

Filed Claims.

14 In a telephone interview, the Examiner indicated that the claims were subject to a restriction requirement. Id. 3/6/01 Telephone Interview; 3/7/01 Amendment, p.

4.

Applicant elected claims 1-18 and 23-24, cancelled claims 19-22 and 25, and added new claims 26-51. Id. 3/7/01 Amendment.

A Notice of Allowability issued. Id. 3/9/01 Notice of Allowability, pp. 2-3;

7/2/01 Notice of Allowability, pp. 2-3. The ‘578 issued 11/27/2001.

III. THERE IS A REASONABLE LIKELIHOOD THAT THE CHALLENGED CLAIMS ARE UNPATENTABLE

The following prior art references disclose each limitation of the Challenged

Claims. Included below are exemplary citations to the prior art references.

A. Kasso in view of JavaStation Renders Claims 1, 6-9, 11-17, 22-25, 27-32, 37-40, 42-46 Obvious Under §103(a)

Kasso was filed 4/2/1997, issued 11/3/1998, and is prior art under at least

§102(e). JavaStation is dated June 1997 on its face, and appears in the Internet

Archive’s Wayback Machine as being publicly available online by August 1997

15 (EX1003; see also EX1008, Declaration of Scott Bennett, Ph.D. (“Bennett Dec.”

¶26)), and is therefore prior art under §102(b).2

The ‘578 field of endeavor is “network management in general and in particular…application program management on a computer network.” EX1001

1:21-21. Kasso and JavaStation are in the same field of endeavor. EX1002, Kasso

1:8-11, Abstract; EX1003, JavaStation pp.27-29; EX1001 1:22-24; EX1005,

Madisetti ¶37. Kasso and JavaStation are each reasonably pertinent to problems of providing configurable application program preferences settable by users and administrators, and controlling access for mobile users. EX1002, Kasso 1:8-2:56,

16:7-29; EX1003, JavaStation pp.40-41, 60-61; EX1001 2:11-3:23, 3:40-45;

EX1005, Madisetti ¶37. Thus, Kasso and JavaStation are analogous art to each other and to the ‘578. EX1005, Madisetti ¶37.

Kasso and JavaStation both describe HotJava Views software, including Selector application launcher, and configuration of user and administrator property lists. Compare, EX1002, Kasso 5:60-6:12, 7:63-8:19,

11:44-13:65, Tables 1, 2, 5, Fig. 5, with EX1003, JavaStation pp.27-49; see also

2 IPR2015-01460, Paper 14, at 12 (Internet Archive printout is printed publication under §102(b) because it is “facially [] authentic and is authenticated further by accessing the website”); IPR2013-00465, Paper 40 at 13-16.

16 EX1005, Madisetti ¶¶38-48. Adding elements from JavaStation to Kasso, which describe the same system, does not introduce additional complexity or unpredictability. EX1005, Madisetti ¶49-52. The similarities in structure, function, and purpose of the disclosed systems make it easy, and intuitive, for a POSITA to successfully combine aspects of these references with each other. Id.

Claim 1. A method for management of configurable application programs on a network comprising the steps of:

See Claim 17, Preamble.

[1(a)] installing an application program having a plurality of configurable preferences and a plurality of authorized users on a server coupled to the network;

See Element 17(a).

[1(b)] distributing an application launcher program associated with the application program to a client coupled to the network;

See Element 17(b).

[1(c)] obtaining a user set of the plurality of configurable preferences associated with one of the plurality of authorized users executing the application launcher program;

See Element 17(c).

[1(d)] obtaining an administrator set of the plurality of configurable preferences from an administrator; and

See Element 17(d).

17 [1(e)] executing the application program using the obtained user set and the obtained administrator set of the plurality of configurable preferences responsive to a request from the one of the plurality of authorized users.

See Kasso applied to Claim 20 in Section IV.B.

Claim 6. A method according to claim 1

[6(a)] wherein the step of executing is preceded by the step of storing the obtained user set and the obtained administrator set on a storage device coupled to the server and

Kasso discloses storing obtained user-specific application program property list 218 (user set) and final application-specific property list 226 (administrator set).

See Element 22(a). Kasso discloses that the step of executing (see Element 17(e)) is preceded by the step of storing the user and administrator sets. EX1002 6:20-44,

7:63-8:29, 11:44-13:65, 14:6-13.

[6(b)] wherein the initiating execution step includes the step of retrieving the stored user set and the stored administrator set from the storage device.

See Element 22(b).

Claims 7-9, 11:

Method claims 7-9 and 11 correspond to system claims 23-25 and 27. As discussed for the limitations of claims 23-25 and 27, Kasso in view of JavaStation teaches the corresponding limitations of claims 7-9 and 11.

18 Claim 12. A method according to claim 11

[12(a)] wherein the step of installing an application program is followed by the step of distributing the application launcher program associated with the application program to a second client coupled to the network and

Kasso discloses distributing Selector to a second client coupled to the network. See Element 28(a). The step of installing an application program (see

Element 17(a)) is followed by the step of distributing Selector – the application programs that appear in Selector for a logged-in user are dependent on an administrator first installing and configuring such application programs. EX1003,

JavaStation pp.29-41; Element 17(a). As discussed in Element 17(a), it would have been obvious to combine Kasso and JavaStation and a POSITA would have been motivated to do so. EX1005, Madisetti ¶¶38-52, 54-62.

[12(b)] wherein the step of obtaining a second user set comprises the step of obtaining a second user set of the plurality of configurable preferences from a second one of the plurality of authorized users executing the application launcher program on the second client.

See Element 28(b).

Claim 13. A method according to claim 1

[13(a)] wherein the step of installing an application program is followed by the step of distributing the application launcher program associated with the application program to a second client coupled to the network and

See Element 12(a).

19 [13(b)] wherein the obtaining a user set step comprises the step of obtaining the user set of the plurality of configurable preferences from one of the plurality of authorized users executing the application launcher program on the second client.

See Element 28(b).

Claims 14-15:

Method claims 14-15 correspond to system claims 30-31. As discussed for the limitations of claims 30-31, Kasso in view of JavaStation teaches claims 14-15.

Claim 16. An application management system for a network including a server and a client,

See Claim 17, Preamble.

[16(a)] the server comprising:

[16(a)(i)] means for installing an application program having a plurality of configurable preferences and a plurality of authorized users on the server;

See Element 17(a).

[16(a)(ii)] means for distributing an application launcher program associated with the application program to the client;

See Element 17(b).

[16(a)(iii)] means for obtaining a user set of the plurality of configurable preferences from one of the plurality of authorized users executing the application launcher program;

See Element 17(c).

[16(a)(iv)] means for obtaining an administrator set of the plurality of configurable preferences from an administrator; and

See Element 17(d).

20 [16(a)(v)] means for providing an instance of the application program and a stored user set and the administrator set of the plurality of configurable preferences for use in executing the application program responsive to a request from the one of the plurality of authorized users; and

See Element 17(e).

[16(b)] the client comprising:

[16(b)(i)] means for receiving an application launcher program associated with the application program from the server;

See Element 17(b). Kasso discloses a client programmed with code/software to receive Selector (application launcher) from a JavaOS Boot Server (JBS) 206.

EX1002 4:54-61, 5:21-33, Fig. 2. JavaStation discloses: “The boot server and webtop server can be the same physical machine, but this is not a requirement.”

EX1003 p.9.

It would have been obvious to implement the boot server and webtop server of Kasso on the same physical machine as disclosed in JavaStation. EX1005,

Madisetti ¶¶52-53. Kasso and JavaStation each describe implementation and configuration of the HotJava Views software and a POSITA would have been motivated to look to such documentation when implementing the system. Id.

Implementing boot server and webtop server software on the same physical machine would have been well within the skill of an ordinary artisan at the time.

Id. A POSITA would have also recognized that such a combination is nothing more than combining prior art elements according to known methods to yield the

21 predictable result of an operable HotJava Views boot and webtop server in the same machine. Id.

[16(b)(ii)] means for providing to the server a user set of the plurality of configurable preferences from one of the plurality of authorized users executing the application launcher program; and

Kasso discloses providing to the remote files server 323 user property values

(user set) obtained from a user that has logged into the host computer 200 and is executing Selector (authorized user executing the application launcher). See

Element 17(c). As structure, Kasso discloses a client programmed with Selector to obtain preferences from the user and provide those preferences to the server. See

Element 17(c).

[16(b)(iii)] means for requesting that the server initiate execution of the application program using the obtained user set and the administrator set of the plurality of configurable preferences responsive to a request from the one of the plurality of authorized users.

Kasso discloses the function and the structure for performing this function is a client programmed with Selector to: 1) receive a request from a user, such as selection of a displayed icon associated with the application program; and 2) obtain a user identifier and provide a request for initiation of execution of the application program with the user identifier to the server. See Element 17(e), structural steps 1 and 2.

22 Claim 17. An application management system for a network comprising:

Kasso discloses a system and method for managing and configuring properties of application programs in a networked environment:

“The present invention relates generally to computer systems, and more particularly relates to managing and configuring properties of computer program applications in a context-sensitive way.”

EX1002 1:8-11, 4:46-53 (“A plurality of network computers 200, 202 each is coupled using a conventional network communication link 210 to a local area network 204…The term ‘host’ is also used herein to refer to the network computers. A host is used by one or more human users.”).

23 Id. Fig. 2.

[17(a)] means for installing an application program having a plurality of configurable preferences and a plurality of authorized users on a server coupled to the network;

Kasso discloses managing and configuring application program properties.

EX1002 Abstract. The administrator may assign users to specific groups through

“group definition files,” and application program properties may be assigned to defined groups:

“Another feature of the invention is the ability to organize users into groups, in combination with group property list files which establish the same properties for each user in a particular group…when Selector starts, it first loads a file designated . This file identifies groups, identifies which users are in each group, and determines which set of configuration files is to be loaded for each user. Unless explicitly assigned to another group, users are in the group named "default".

For example, suppose that users "jsmith" and "fjones" are in the engineering group (all other users are in the default group). The group file would contain the following:

24 Each group has a corresponding sub-directory in the "props" directory….[such as] "default" and "engineering". Each directory contains a complete set of the property files identified above. However, using this type of group definition file, a system administrator can easily and rapidly apply pre-defined properties to large numbers of users without having to copy a set of special property definition files into each user's home directory.”

Id. 9:44-10:8; Table 2 (“exemplary group definition file”); 10:64-11:39, Table 4,

Table 5, 13:3-15.

Kasso is implemented through HotJava Views software. Id. Fig. 5 (HotJava

Views user interface), Table 1 (“HotJava Views host specific properties file”),

Table 2 (“HotJava Views group definition file”). While Kasso does not specifically disclose the mechanism used for setting up the users, groups, and software to be managed, JavaStation does.

JavaStation discloses the Element 17(a) function as the Views Manager administrative tool enables an administrator to configure the HotJava Views software, set up and manage users and applications, and make an application recognized and available to users at JavaStation clients served by a Webtop/HTTP server.

“HotJava Views enables the zero client-administration of the webtop model and also attempts to minimize server-side administration. Users (who have a Solaris account) are organized into groups in HotJava Views, and each

25 group has its own profile, or set of properties….each group can have a different set of applications that appear on the JavaStation webtop. Through the use of Views Manager (or manually editing the property files), a group’s environment can be customized and users added or deleted from the group.”

EX1003 pp.27-28, 27-49, 9-10.

JavaStation discloses the structure for Element 17(a) defined in Section

I.B.2.a. Structural Step 1: JavaStation discloses a server programmed with Views

Manager to allow an administrator to provide the path directory (location) and file name (description) of an application program (the server is programmed to accept definitions that describe the location and description of the application). The administrator can provide a URL for the Welcome and WebView application, including the path directory (/html/welcome/) and file name

(welcome.html); can include new applications (“Other Client Applications”) for a group of users and similarly provide a URL for the new applications; and can define the location and names of the relevant servers, proxies, and databases to use for the MailView, CalendarView, and NameView applications.

“To Modify Group Applications

For each application there is a list of properties that can be administered. See “Property Files” on page 64 for information on selected properties.

1. In the Group Properties window, choose Edit > Group Applications.

The Welcome application window is displayed.

26

The left side of the window simulates the Selector with the applets as seen in HotJava Views.

2. Select the application you want to access and modify the application properties:

If you choose to make a property "final," then that property will override whatever the user has set that property to be.

Welcome § Modify the URL to be used for the Welcome screen, if necessary. …

MailView § Define the location of the IMAP and SMTP server.

CalendarView § Type the host name of the webtop (HTTP) server to be used. § Type the port number of the webtop (HTTP) server.

27 § Type the proxy to be used to make requests.

*** WebView § Modify the URL to be used for the WebView screen. …

Other Client Applications

Additional buttons can be added to the selector to accommodate other client applications, such as NTRIGUE. See “selector.desktop” on page 63 for instructions on adding and configuring client applications. § Type the URL to be used to display the application screen.” Id. pp.40-41; p.35 (NTRIGUE).

Structural Step 2: An administrator can use the Group Administration window to create, modify, or delete a group of users. Id. pp.36-42. An administrator can also create a new user and assign the new user to a group (server programmed to accept definitions of users and groups that will access the system and the specific application).

“To Create a User

1. In the Group Administration window, choose Edit > Users.

The system displays the User Administration window.

2. Type the name of the new user in the blank entry field.

Each user “created” in HotJava Views must have a Solaris account as well, and also be entered into NIS. … A user cannot be a member of more than one HotJava Views group. …

3. Click the Assign button.

28 The system displays the Assign User window, from which you can associate a new user with a selected group. In this example, “steven” is being added to the “custservice” group.

4. Select the desired group.

5. Click OK.”

Id. pp.43-44.

Structural Step 3: Through Views Manager, the administrator may define the application programs that can be accessed by users of a group (server programmed to accept control specifications defining which users and groups are authorized to access the application):

“To Modify Group Properties

1. In the Group Administration window, select the desired group name.

2. Click the Select button.

The Group Properties window[] is displayed.

29

From this window, you can select the applications that will be accessed through the group’s webtop. Each application will be represented by an icon on the Selector bar. …

3. Check the desired application(s) for this group.

4. Choose File > Save Changes to save the changes.”

Id. p.39.

Structural Step 4: Kasso and JavaStation disclose that the Webtop/HTTP

Server (EX1003, JavaStation pp. 10, 13-14, 17-18; EX1002, Kasso 6:34, 8:1-24) is programmed, through Views Manager, to allow an administrator to update configuration and property files (located within the http://webserver/jdt/props/ directory) to maintain the inputted definitions and specifications for the application

30 programs in a format accessible to the server. EX1003, JavaStation pp.27-49.

Kasso discloses the format of an exemplary Group Definition File and Property

List File that is accessible to the HTTP Server. EX1002 Table 2, 9:43-11:16,

Table 1, 8:33-9:40. Kasso and JavaStation disclose the resulting organization of the main “props” directory and group sub-directories after definitions and specifications for applications have been inputted. Id. Tables 3, 4, 10:48-11:40; see also EX1003, JavaStation pp.27-49.

A POSITA would recognize that the configuration and property files that are created and/or updated through Views Manager as disclosed in JavaStation, and organized as discussed in Kasso, constitute a “database” within the meaning of the

‘578 and ‘466 Patents. The ‘466 discloses: “Database 208 acts as a central repository of application management information, such as user, software, device, preference and access control information.” EX1006 7:62-65. The ‘466 further discloses that the “database” for maintaining application management information can be maintained through a network registry, such as the Lightweight Directory

Access Protocol (LDAP) for a multiple-server environment. Id. 10:16-22. A

POSITA recognizes that LDAP provides a mechanism for connecting to, searching, and modifying an Internet directory. EX1005, Madisetti ¶¶54-57; EX1009, ‘188

Patent 1:38-53; EX1010, Lightweight Directory Access Protocol: X.500 Lite at 5.

Similarly, Kasso and JavaStation maintain application management information in

31 a central “props” directory that can be connected to, searched, and modified using

Views Manager, and therefore constitutes the “database” contemplated by the ‘578 and ‘466 Patents.

It would have been obvious to a POSITA to implement the Kasso system and method using View Manager as taught by JavaStation. EX1005, Madisetti

¶¶38-52. A POSITA would have been motivated to look to JavaStation for administrative guidance on how to set up users and groups, and how to configure application programs for HotJava Views software using Views Manager. Id. ¶¶38-

52; EX1003, JavaStation at Preface vii (the Manual “also describes how to configure JavaStation clients and the HotJava Views software”); p.27

(“Through the use of Views Manager (or manually editing the property files), a group’s environment can be customized and users added or deleted from the group.”); pp.27-49. A POSITA would have recognized that such a combination is nothing more than combining prior art elements according to known methods to yield the predictable result of an operable HotJava Views application management system. EX1005, Madisetti ¶¶38-52.

See also Elements 17(c), 17(d) (disclosing teachings of Kasso and

JavaStation relating to application programs having configurable preferences).

32 [17(b)] means for distributing an application launcher program associated with the application program to a client coupled to the network;

Kasso discloses the function, distributing Selector (launcher) to a host (client) coupled to the network. Selector allows a user to access a set of applications and displays an application icon for each authorized program.

Kasso discloses the structure for distributing the launcher is a JavaOS boot server programmed to distribute Selector to the host.

“A JavaOS boot server (JBS) 206 is also coupled to the local area network. The JBS 206 provides or distributes an operating system program, such as the JavaOS operating system available from Sun Microsystems, Inc., to a client that is logically remote from the JBS 206, such as an NC 200.”

EX1002 4:54-59.

“When a user applies power to a host, such as 200, the host executes a bootstrap loader routine stored in its read-only memory. During the boot procedure the host searches for the JBS 206, establishes a network connection to the JBS 206, and downloads the JavaOS operating system from the JBS 206 into the RAM of the host. The host also downloads an application program, such as Selector, available from Sun Microsystems, Inc….The host then begins executing JavaOS. JavaOS next displays a login screen requesting a user to log in. The user logs in by entering his or her username and password….

JavaOS is designed to execute a single application program. Accordingly, JavaOS next passes program control to the designated application program, such as Selector, and the host begins executing that application

33 program….Selector can access a set of application programs 240, each of which is implemented as a Java applet stored in association with an HTML page on the HTTP server 208. Selector displays a main screen 402, shown in FIG. [5]. Each application program 240 is represented in the main screen by an icon 404, 406 in the application icon pane 410 of the Selector main screen 402. Each icon is associated with a URL identifying the HTML page that contains the applet represented by the icon.”

Id. 5:21-6:12 (including “MailView” applet example); also 6:31-43.

Figs. 5, 2.

34 [17(c)] means for obtaining a user set of the plurality of configurable preferences from one of the plurality of authorized users executing the application launcher program;

Kasso discloses the function – obtaining user-specific application program properties from an authorized user executing Selector (launcher). As structure,

Kasso discloses user properties are stored on remote file server in a home directory exclusively assigned to a user. Selector loads application-specific user properties onto the user’s host both upon initialization and each time any other application starts, is loaded, or iotherwise invoked.

“The appearance and behavior of the user's host and the currently executing application are governed by configuration files or property lists. … A user property list 218 is stored on a logically remote file server 232. During the boot process, the remote file server 232 is mounted using the NFS protocol so that the file server 232 is accessible by to the local host such as NC 200. The user property list can be stored in a home directory exclusively assigned to a particular user and located on the NFS-mounted file server 232.

The term "properties" refers broadly to application program attributes, parameters, preferences, and environmental variables, e.g., any aspect of an application program that an end user may configure or adjust.”

EX1002 6:44-52 (examples of properties include “display fonts,” “window location and size,” and “language used by an application”).

“The property list files are loaded both when Selector initializes and each time any other NC application starts, is loaded, or is invoked. When Selector

35 initializes and the property list files are loaded, Selector builds a merged property list in the memory of the host that is executing Selector, for example, in the process memory space of the application currently executing in the host.

[I]f a user changes property values after the merged property list is constructed, the file <.props> in the user's home directory (where "" refers to the particular application then in use) is updated and overwritten with changed property values for only those properties which were earlier loaded from that user's home directory, and for any new properties or values created by the application which was used to change the property values. For example, in the embodiment previously discussed with reference to Table 5, in which Selector is the application program, the process would update the file only with changes to properties listed in the property lists pre-pended with the designation "$HOME" (which translates into the user's home directory path in most UNIX-based operating systems).”

14:6-31. With respect to application attributes for particular users/hosts/groups:

“The invention is flexible as it allows the user to override properties on a system-wide basis, affecting all applications used by the user, or on only particular applications. It also allows a system administrator to override user properties on a system, group or host-wide basis….[T]he user could specify a particular type-font for their e-mail application that would follow the user from one host to the next, but would be different from all the other users in the receptionist group.”

16:8-30; also 7:63-8:19, 13:16-21, Fig. 4B (step 373a).

36 Kasso discloses a program implementing the invention loads property files by “Selector or another application program calling methods in the JDTProperties class.” Id. 7:9-27. The JDTProperties class includes two methods that allow for saving user-modified properties to the user’s home directory on the file server:

Id. col. 23-24.

Id. col. 25-26.

Accordingly, Kasso discloses the structure for performing the claimed function – a remote file server programmed to store preferences, which are associated with the user executing the Selector (launcher) at a host, and the host

(client) is programmed with Selector to obtain preferences from the user and to call userPut and userSave methods of JDTProperties to provide the obtained preferences to the server.

37 [17(d)] means for obtaining an administrator set of the plurality of configurable preferences from an administrator; and

Kasso discloses the function – final properties lists (system-wide, host- specific, and application-specific) that are only settable by the administrator and cannot be overridden by user-defined property values. As to the structure, the administrator can set such properties by preparing and storing a final application- specific property list on mass storage device associated with an HTTP server.

“[T]he properties lists comprise a plurality of files….One file has a list of default properties. The second is a list of specific properties. The third is a list of final properties. [In FIG. 2], a default properties list 214 and two exemplary specific properties lists (host properties list 216, and application properties list 224) are each stored on a mass storage device 212 associated with the HTTP server 208….The mass storage device 212 also stores a final system-wide properties list 220, a final host-specific properties list 222, and a final application-specific properties list 226.”

Id. 6:53-7:2; also 6:44-52.

“The default property list and the final property list are prepared by a system administrator and stored in a location or manner which prevents a user from editing or changing the contents of the lists. The specific property list values may be defined or written by a user. In this way, the system administrator is assured that values in the final property list always override any conflicting values in the user-defined specific property list, and that the final property list values cannot be changed or overridden.”

Id. 7:49-57; also 7:9-48, 13:26-65, Figs. 3, 4.

38 “[T]he HTTP server can store an application-specific property list file 224 for Selector or another application. If the system administrator wishes to establish final properties for that application, the system administrator can prepare and store on the server a final application-specific property list file 226….[and] property list files can be provided for particular application programs other than Selector. For example, in one embodiment, the server stores a file named/props//.props where is the name of an application program. Such a file contains a list of properties governing the named application program, and such properties would apply to all users in the group ….There is a final application-specific property list file called "/props//.final" which contains properties that override the user-defined application-specific properties. The pathname given for this final file is relative to the system install area.”

Id. 8:1-24; 7:63-8:29.

Kasso doesn’t specifically disclose the interface through which the administrator establishes final properties lists, but JavaStation discloses the Views

Manager through which an administrator can establish “final” application properties. JavaStation further discloses final application properties that may include the display mode used for the WebView application window, the location of the IMAP and SMTP servers for the MailView application, and the host name, port number, and proxy to use for the CalendarView application. EX1003,

JavaStation pp. 40-41 (reproduced in Element 17(a): “If you choose to make a

39 property ‘final,’ then that property will override whatever the user has set that property to be.”).

“For each button, the following configurations must be specified: § The URL to load when the button is pressed. § The display mode to use when displaying the page: § PAGE: Displays the page with no navigation controls. Typically used when an applet will occupy the entire display area. § SIMPLE: Display the page with constrained navigation controls. In this mode, the user cannot type in a URL directly. § NORMAL: Display the page with simple navigation controls. Enables the user to type a URL. § FULLBROWSER: Display the page with full navigation controls, plus some menus for more advanced features. § EXIT: Causes Selector to exit when the button is pressed. § Three separate icons for the button when it is unselected, pressed, and active. § An optional notification class that is loaded when Selector starts and can perform button animation to notify the user of state changes (as used by MailView to signal new mail). § An optional memory priority to control which entries are discarded first when memory is low (from 0 to 5; priority 0 is discarded first).”

Id. p.63; p.64 (“The following is an index of the property files that Views Manager manipulates.”); pp.60-66.

Views Manager is run by an administrator from the command line as root on the Webtop server. Id. pp.13-14, 36-41. Accordingly, Kasso in view of

40 JavaStation teach a Webtop/HTTP server programmed to provide an interface through which to establish configurable preferences of the application, which have been designated as administrator only settable to be stored on a mass storage device associated with the Webtop server. The ‘578 contemplates such a direct interface to the server. EX1001 3:55-61.

As discussed in Element 17(a), it would have been obvious to a POSITA to implement Views Manager as disclosed in JavaStation to allow Kasso administrators to establish final properties lists, and a POSITA would have been motivated to implement Views Manager for the reasons previously noted. See generally EX1005, Madisetti ¶¶38-52.

[17(e)] means for providing an instance of the application program and a stored user set and the administrator set of the plurality of configurable preferences for use in executing the application program responsive to a request from the one of the plurality of authorized users.

Kasso discloses the claimed function – in response to a request from an authorized user, an instance of a selected application program is provided to the client, in addition to the stored user-specific application program properties (user set) and final application-specific properties (administrator set) for use in executing the application program.

Kasso discloses the structure of a server programmed with code/software to receive a request to initiate execution of the application program, as identified in

Section I.B.2.e.

41 Structural Step 1: Kasso discloses a Network Information System (NIS) programmed to receive a request to initiate execution of the Selector application launcher program, including an identification of the user who initiated the request.

NIS determines if the user is authorized, and provides the name of the user’s home directory from which to obtain the correct user-specified properties for the authorized application programs.

“The host then begins executing JavaOS. JavaOS next displays a login screen requesting a user to log in. The user logs in by entering his or her username and password. JavaOS requests the Network Information System (NIS) 230 to verify the validity of the username and password, by connecting to NIS 230 over the local area network 204 and presenting the usemame and password for approval. If the username or password is incorrect or invalid, access to the system is denied. If they are correct or valid, then JavaOS requests the name of the user's home directory from an "auto.home" table mounted on the NIS server 230.”

EX1002 5:34-55, 13:16-25. When user selects an application icon from Selector

(e.g., mailbox icon 406 of Fig. 5), Selector provides a request to initiate execution of the selected program and the user’s login information to the server to identify the group to which the user is assigned and to access the correct application properties assigned for the user, as stored in the assigned directory of the

HTTP server.

“To assign a user to a group add a line of the form:

42 jdt.group.=

To place Joe Smith who has a login of jsmith into the engineering group you would add the following line:

jdt.group.jsmith=engineering”

Id. Table 2; see also 5:60-6:12.

“[T]he server stores a file named/props//.props where is the name of an application program. Such a file contains a list of properties governing the named application program, and such properties would apply to all users in the group .”

Id. 8:10-15; see generally 9:44-11:39, 16:16-30, Tables 2-3, 5.

Structural Step 2: Kasso discloses the client programmed with code/software to obtain the correct user-specific application program property list (user preferences) from storage in that user’s home directory of NFS-mounted file server, and code/software to obtain the final application-specific property list 226

(administrator preferences) stored in the HTTP server 208 for the application program for the user. The client loads the relevant property lists (including the user and administrator sets) by reading each property list file and writing each property string to a merged property list, where each list overrides conflicting properties in all previously loaded lists. For example, the user-specific application program property values override the default property values for the application

43 program running on the host, and the final application-specific property values override any conflicting previously loaded values.

“[T]he property lists are implemented as text files 214, 216, 220, 222 that reside on the HTTP server 208. A user property list 218 is stored on a logically remote file server 232. During the boot process, the remote file server 232 is mounted using the NFS protocol so that the file server 232 is accessible by to the local host such as NC 200. The user property list can be stored in a home directory exclusively assigned to a particular user and located on the NFS-mounted file server 232.

When the bootstrap loader program of the host is running, it receives from the JBS 206 a URL representing an initial Selector configuration file. For example, the URL may be:

http://webserver/jdt/props/selector.init

where "webserver" refers to an HTTP server such as HTTP server 208. The file is used to rendezvous with the HTTP server where a set of properties lists are installed. For example, the file can contain a text string that specifies the HTTP server where properties files are installed, such as HTTP server 208. Selector establishes an HTTP connection to that server, and loads the properties files. These files are assumed to be in the same location as the file.”

Id. 6:23-43; also 5:49-59.

“As shown in step 302 of FIG. 3, when a computer program or process implementing the invention…loads property files, it begins by loading a first list of default properties, such as the default properties list 214. The term

44 "load" refers, by way of example, to reading a property list file and writing each property string found in the file to a merged property list.”

Id. 7:9-22 (also disclosing storage of the merged property list); 7:3-8:29, Fig. 3.

“[P]roperty lists are used for default system-wide properties, host-specific properties, user-specific properties, default application-specific properties, user-specific properties for an application such as Selector, … and final application-specific properties. In this embodiment, an application program such as Selector loads the property files identified in Table 5 below in the order given in Table 5….

This loading sequence provides the flexibility of assigning properties by user, group, and host. Each list overrides conflicting properties in all previously

45 loaded lists. It also enables the System Administrator to enforce specific property settings by using the ".final" property files. It is logically arranged so that more general properties are loaded first, followed by properties for more specific facilities.

As shown in FIG. 4A and 4B, a process according to this embodiment loads default system-wide property values at step 350, such as the default property list file 214. The values in the file 214 are loaded into the merged property list stored in the memory of a host such as NC 200….

[C]ontrol is passed to step 366 in which the process loads a list of default property values for the particular application program then running on the host. This list may be the application-specific property list file 224 stored on the HTTP server 208. If the server contains files for applications other than the currently executing application program, the process ignores them; the property filename must include the current application name. As property values are read, the process tests whether any of the application-specific values conflict with any previously loaded value, as shown in step 370. If so, the conflicting prior value is overridden by the corresponding value in the application-specific file 224, as shown in step 372.

In step 373a, the process reads application-specific property values from a user-created list, such as the file <$HOME/jdt/props/selector.props> identified in Table 5, item 5. This file generally contains property values for a particular application, such as Selector, which the user desires to set. In step 373b the process tests whether any values in the user-defined application-specific property list conflict with any previously loaded values. If so, in step 373c the process overrides such conflicting values with those in the file.

46 …Another rule of precedence is that properties in properties lists designated "final" shall override any conflicting earlier loaded property value, and such final properties may not be over-ridden by any user-selected property value. By following this rule, the process enables the system administrator to establish policies and properties with the assurance that a user cannot override them….

In step 390 the process reads final application-specific property values from a list such as the final application-specific property list file 226. Values in the file 226 override any conflicting previously loaded value. Therefore, in step 392 the process tests whether any value in the file 226 conflicts with any previously loaded value. If so, in step 394 the process overrides such conflicting values with values from file 226. Control is then passed to step 396, at which point the property file load sequence is complete.”

Id. 11:44-13:65; 11:44-13:65, 15:24-16:2, Figs. 4A, 4B.

“The property list files are loaded both when Selector initializes and each time any other NC application starts, is loaded, or is invoked. When Selector initializes and the property list files are loaded, Selector builds a merged property list in the memory of the host that is executing Selector, for example, in the process memory space of the application currently executing in the host.”

Id. 14:6-13; 8:9-10 (“property list files can be provided for particular application programs other than Selector”).

This disclosure from Kasso (a client programmed to perform step 2) is equivalent to the ‘578 disclosed structure (a server programmed to perform step 2)

47 in that Kasso’s structure performs the identical function, in substantially the same way, with substantially the same result. EX1005, Madisetti ¶¶58-63.

Structural Step 3: Kasso discloses a server programmed with code/software to provide an instance of a selected application program:

“Each application program 240 is represented in the main screen by an icon 404, 406 in the application icon pane 410 of the Selector main screen 402. Each icon is associated with a URL identifying the HTML page that contains the applet represented by the icon. For example, the mailbox icon 404 is associated with a URL identifying an HTML page on the HTTP server that contains a MailView applet. The MailView applet implements an electronic mail program. Thus, when a user clicks the mailbox icon 406, from HTTP server 208 Selector loads the HTML, page associated with the icon and which contains the MailView Java applet. The associated HTML page is loaded and graphically displayed in the display pane 420 of the main screen 402. The application icon pane 410 remains visible at all times. The applet loads itself into RAM of the host, and then executes and runs on the user's host.”

EX1002 6:10-12; also 6:13-15.

Structural Step 4: Kasso discloses the client programmed with code/software to execute a selected application using the retrieved user property values (user set) and final application property values (administrator set) of the merged property list. For example, when executed, Selector appears and behaves as designated by an application and user-specific merged properties list. When an

48 application is selected through Selector for execution (e.g., MailView Java applet), the program is run on the host and appears and behaves as designated by a newly built application and user-specific merged properties list.

“Once the merged property list has been constructed using the foregoing method, the properties represented in the merged property list are communicated to the application programs 240 to cause the application programs 240 to appear and behave as designated by the properties.”

Id. 15:19-24.

“Properties are written into a merged property list that is stored in association with the then-current host. The merged property list is applied to the then-executing application program. Attributes of the application program are modified in accordance with the properties.”

Id. 3:23-27; 6:10-12 (“applet loads itself into RAM of the host, and then executes and runs on the user’s host.”), 14:7-13, Abstract, 16:8-29. Like the ‘578, Kasso discloses application programs that are Java applets accessible through a URL.

Compare id. 5:60-6:12 with EX1001 10:47-63, 11:55-12:9.

Claim 22. An apparatus according to claim 17 further comprising

[22(a)] means for storing the obtained user set and the obtained administer set on a storage device coupled to the server and

Kasso discloses storing obtained user-specific application program property list 218 (user set), final application-specific property list 226 (administrator set), and a storage device of remote file server 232 and an HTTP server 208, programmed with code/software for storing the respective properties.

49 “[A] default properties list 214 and two exemplary specific properties lists (host properties list 216, and application properties list 224) are each stored on a mass storage device 212 associated with the HTTP server 208. Another exemplary specific properties list, user properties list 218, is stored on a remote file server 232. The mass storage device 212 also stores a final system-wide properties list 220, a final host-specific properties list 222, and a final application-specific properties list 226.”

EX1002 6:61-7:2; 6:20-30, Fig. 2.

[22(b)] wherein the means for initiating execution includes means for retrieving the stored user set and the stored administrator set from the storage device.

Kasso discloses the function, initiating execution (see Element 17(e)) includes retrieving the stored user-specific application program property list (user set) and final application-specific property list (administrator set) from the respective storage device. Structurally, Kasso discloses a client programmed with code/software to obtain from memory of the remote file server, the stored property values associated with the authorized user, and from memory of the HTTP server, the stored final application-specific property values. Id. 6:22-43, 11:45-13:65,

Table 5; see also Element 17(e). This disclosure (a client programmed to perform the disclosed steps) is equivalent to the ‘578 disclosed structure (a server programmed to perform the disclosed steps) in that Kasso’s structure performs the identical function, in substantially the same way, with substantially the same result.

EX1005, Madisetti ¶¶58-63.

50 Claim 23. An apparatus according to claim 17 wherein the means for executing includes means for determining if a user requesting execution of the application program is one of the plurality of authorized users.

Kasso discloses that a user may select the MailView applet for execution.

EX1002 5:60-6:12. JavaStation discloses that when the user requests execution of

MailView, the user is prompted to enter a password.

“The Solstice Internet Mail IMAP server should be installed on a Solaris server that is accessible by MailView….If an IMAP server is set in mail.props (or through Views Manager), this field will be filled in by default and the user need only enter his or her password.”

EX1003 pp.30-31. A POSITA would recognize that the purpose of requiring the user to enter a password prior to allowing execution of MailView is to allow the server to confirm that the user is authorized. EX1005, Madisetti ¶53.

Accordingly, Kasso in view of JavaStation discloses the function and structure – a server programmed with code/software to determine if the requesting user is an authorized user for the application using the user identification provided in the request (password).

It would have been obvious to combine Kasso and JavaStation as described above. Id. A POSITA would have been motivated to confirm the authorized status of the user before allowing the user to access sensitive information, such as through MailView. A POSITA would have recognized that the combination is nothing more than combining prior art elements according to known methods to

51 yield the predictable result of an operable system that confirms user authorization before allowing execution of an application. Id.

Claim 24. An apparatus according to claim 17 wherein the means for initiating execution includes means for obtaining default preference values for any of the plurality of configurable preferences which are not specified by the user set or the administrator set.

Kasso discloses that initiating execution (see Element 17(e)) includes obtaining default application-specific property values that are not specified by the user-specific application properties (user set) or final application-specific properties (administrator set). Structurally, Kasso discloses the client programmed with code/software to perform this function, as explained in Element 17(e), above.

EX1002 11:44-13:65 (reproduced in Element 17(e)); also Figs. 2, 4. Kasso’s disclosure (client programmed to perform the disclosed steps) is equivalent to the

‘578 disclosure (server programmed to perform the disclosed steps) as Kasso performs the identical function, in substantially the same way, with substantially the same result. EX1005, Madisetti ¶¶58-63.

Claim 25. An apparatus according to claim 17 wherein the default preference values are stored on a storage device coupled to the server.

The Kasso default application-specific property values are stored in the application-specific property list 224 of the mass storage device 212 associated with the HTTP server.

52 “[A] default properties list 214 and two exemplary specific properties lists (host properties list 216, and application properties list 224) are each stored on a mass storage device 212 associated with the HTTP server 208.”

EX1002 6:61-65; 8:1-3, 13:3-15, Fig. 2.

Claim 27. An apparatus according to claim 17 further comprising:

[27(a)] means for obtaining a second user set of the plurality of configurable preferences from a second one of the plurality of authorized users executing the application launcher program; and

Kasso discloses a system capable of supporting multiple users, where each user, regardless of the device used to connect to the system, can set their own user- specific preferences.

“[T]he user could specify a particular type-font for their e-mail application that would follow the user from one host to the next, but would be different from all the other users in the receptionist group.”

EX1002 16:27-30; also 9:53-10:46, Table 2 (disclosing users “jsmith,” “fjones,”

“kasso,” etc.); 8:15-19, 6:24-30, 11:16-23, 14:17-32 (describing storing user- defined application-specific property values in a home directory exclusively assigned to a user). Multiple users can login to the same client device. Id. 4:46-53.

Each user accesses Selector (launcher) and provides application-specific preferences in the same way. See generally id. 4:49-6:12, 14:6-32. As discussed in Element 17(c), Kasso discloses the function and required structure of Element

27(a), whether the system is accessed by a first/second authorized user executing

Selector, and provides a respective first/second user set of preferences.

53 [27(b)] means for executing the application program using the obtained second user set and the administrator set of the plurality of configurable preferences responsive to a request from the second one of the plurality of authorized users.

See Element 27(a). Additionally, Kasso discloses that, whether a first/ second authorized user accesses the system, the client is programmed to execute a requested application program using a merged property list that is specific to the requesting user and requested application program. In response to a request from a user through Selector, an application program (such a MailView) is executed using obtained user-specific application program properties (user set) and final application-specific properties (administrator set). See Element 17(e) and EX1002

Table 2, 5:34-44, 8:10-15, Table 5 (all reproduced in Element 17(e)); see also

9:44-11:39, 16:16-30, Table 3. Additionally, JavaStation discloses that when the user requests execution of MailView, the user is prompted to enter a password.

See Claim 23. Once the merged property list is created for the application program and user, the program is executed using the merged property list (the retrieved user and administrator set of preferences). Id. 15:19-24, 3:23-27, 6:10-12 (all reproduced in Element 17(e)); see generally 14:7-13, Abstract, 16:8-29.

Accordingly, Kasso discloses the structure for performing this function. See generally Element 17(e), Claim 23.

54 Claim 28. An apparatus according to claim 27 further comprising

[28(a)] means for distributing the application launcher program associated with the application program to a second client coupled to the network and

Kasso contemplates a system with multiple network computers or “hosts”

(clients).

“A plurality of network computers 200, 202 each is coupled using a conventional network communication link 210 to a local area network 204. Each of the network computers may be configured in the form of computer system 100, except without data storage device 107. The term "host" is also used herein to refer to the network computers. A host is used by one or more human users.”

EX1002 4:46-53; also Fig. 2. Kasso discloses distributing Selector (launcher) to any host (first or second) to which a user applies power. Id. 5:21-6:12 (“When a user applies power to a host, such as network computer 200, the host executes a bootstrap loader routine stored in its read-only memory …”). Accordingly, as discussed in Element 17(b), Kasso discloses the function and required structure of

Element 28(a), whether Selector is distributed to a first or second client coupled to the network.

[28(b)] wherein the means for obtaining a second user set comprises means for obtaining a second user set of the plurality of configurable preferences from a second one of the plurality of authorized users executing the application launcher program on the second client.

See Element 28(a). Additionally, as discussed in Element 27(a), the manner in which each user accesses Selector (launcher) and provides application-specific

55 preferences is the same, regardless of whether the user uses a first or second client.

See generally EX1002 4:49-6:12, 14:6-32; Element 27(a). Accordingly, as discussed in Element 17(c), Kasso discloses the function and required structure of

Element 28(b), whether the system is accessed by a first or second authorized user executing Selector from a first or second client and providing a respective first or second user set of preferences.

Claim 29. An apparatus according to claim 17 further comprising

[29(a)] means for distributing the application launcher program associated with the application program to a second client coupled to the network and

See Element 28(a).

[29(b)] wherein the means for obtaining a user set comprises means for obtaining the user set of the plurality of configurable preferences from one of the plurality of authorized users executing the application launcher program on the second client.

See Element 28(b).

Claim 30. An apparatus according to claim 17 further comprising:

[30(a)] means for installing a second application program having a second plurality of configurable preferences and a second plurality of authorized users on the server;

Kasso and JavaStation disclose an administrator can install multiple application programs, each having configurable preferences and each having a set of authorized users. EX1002, Kasso 5:60-6:15, 7:63-8:29, 10:66-11:23 (where

” and ” are the names of particular application programs), 9:44-

10:45, 14:6-32, Fig. 5; EX1003, JavaStation pp.29-41. As discussed in Element

56 17(a), Kasso in view of JavaStation discloses the function and required structure of

Element 30(a), whether a first or second application program is being installed.

[30(b)] means for distributing a second application launcher program associated with the second application program to the client coupled to the network;

Kasso discloses multiple users can login to the same client device. EX1002

4:46-53. When a second user applies power to the client, Selector is downloaded to the client (second application launcher). Id. 5:21-33. As discussed in Element

17(b), Kasso discloses the function and structure of Element 30(b), whether a first or second Selector is distributed.

[30(c)] means for obtaining a second user set of the second plurality of configurable preferences from one of the second plurality of authorized users executing the second application launcher program;

See Element 27(a).

[30(d)] means for obtaining a second administrator set of the second plurality of configurable preferences from the administrator; and

Kasso discloses an administrator can set application-specific properties for a first application program and second (second set). EX1002 8:25-29, 10:66-11:16,

Table 5, Table 4 (including final application properties for app1 and app2

(“.final” and “.final”)). As discussed in Element 17(d), Kasso in view of JavaStation disclose the function and structure of Element 30(d), whether a first or second administrator set of preferences are obtained.

[30(e)] means for executing the second application program using the obtained second user set and the second administrator set of the second plurality of

57 configurable preferences responsive to a request from the one of the second plurality of authorized users.

See Elements 27(b), 30(d).

Claim 31. An application management system for a network comprising:

See Claim 17, Preamble.

[31(a)] means for receiving an application launcher program associated with an application program having a plurality of configurable preferences from a server coupled to the network;

See Elements 16(b)(i), 17(b).

[31(b)] means for providing a user set of the plurality of configurable preferences from one of a plurality of authorized users executing the application launcher program to the server; and

See Element 16(b)(ii).

[31(c)] means for requesting that the server provide an instance of the application program and a stored user set and an administrator set of the plurality of configurable preferences for use in executing the application program responsive to a request from the one of the plurality of authorized users.

See Element 16(b)(iii).

Claims 32, 37-40, 42-46:

Claims 32, 37-40, and 42-46 are identical to claims 17, 22-25, and 27-31 except that the former recite “a computer readable storage medium having computer-readable program code means embodied in said medium, said computer- readable program code means comprising” various “computer readable program code means” for performing the recited functions of claims 17, 22-25, and 27-31,

58 respectively. Kasso teaches computer readable storage medium having computer- readable program code means.

“The present invention is related to the use of computer system 100 to manage and configure application program properties. According to one embodiment, the management and configuration of application program properties is performed by computer system 100 in response to processor 102 executing sequences of instructions contained in memory 104. Such instructions may be read into memory 104 from another computer-readable medium, such as data storage device 107. Execution of the sequences of instructions contained in memory 104 causes processor 102 to perform the process steps that will be described hereafter.”

EX1002 4:28-38. JavaStation discloses the same. EX1003 p.14 (“JRE is required to run the Views Manager application. JRE is provided with the Solaris 2.6 CD-

ROM”).

As discussed for Claims 17, 22-25, and 27-31, Kasso in view of JavaStation teaches code/software for performing the claimed functions of each limitation of claims 32, 37-40, and 42-46.

B. Kasso in view of JavaStation in further view of Sanders Renders Claims 2-5, 10, 18, 20-21, 26, 33, 35-36, 41 Obvious Under §103(a)

Kasso is prior art under at least §102(e) and JavaStation is prior art under

§102(b). See Section IV.A. Sanders was filed April 26, 1996, issued March 31,

1998, and is prior art under at least §§102(a) and (e). Kasso, JavaStation, and

Sanders each relate to the field of “network management,” generally, and also

59 application program management, and are in the same field of endeavor as the ‘578.

EX1002, Kasso 1:8-11, Abstract; EX1003, JavaStation pp.27-29; EX1001 1:22-24;

EX1004, Sanders 1:8-11, 5:47-65, 10:34-58; EX1005, Madisetti ¶64.

Claim 2. A method according to claim 1

[2(a)] wherein the step of obtaining an administrator set is preceded by the step of distributing a configuration manager program associated with the application program to a second client coupled to the network and

Kasso in view of JavaStation renders Claim 1 obvious. See Claim 1 in

Section IV.A. The combination of Kasso, JavaStation, and Sanders teach the step of distributing a configuration manager program (Views Manager) remotely through distribution of a GUI browser-capable page. See Element 18(a). The step of obtaining an administrator set (see Element 2(b)) is preceded by the step of distributing in that the administrator first accesses the GUI browser Views

Manager before inputting preferences.

[2(b)] wherein the step of obtaining an administrator set comprises the step of obtaining an administrator set of the plurality of configurable preferences from an administrator executing the configuration manager program.

See Element 18(b).

Claim 3. A method according to claim 2 wherein one of the plurality of authorized users is an administrator authorized to execute the configuration manager program.

Kasso discloses a system administrator authorized to prepare a final properties list. EX1002 7:3-8, 7:49-52, 10:3-13. JavaStation discloses the Views

Manager interface through which administrator can set up users and establish final

60 application properties. See Elements 17(a), 17(d). Sanders further discloses that an administrator must provide valid login information in order to access the GUI administrative pages. EX1004 4:62-64 (“In step 1100, the user enters an appropriate login and password to access server xyz's HTML-based administrative forms and pages.”), 10:34-48.

As discussed in Element 18(a), it would have been obvious to combine the teachings of Kasso, JavaStation, and Sanders and a POSITA would have been motivated to do so. See generally EX1005, Madisetti ¶¶65-67. A POSITA would have further been motivated to provide a secure method for allowing an administrator to remotely configure the Webtop server. Id.

Claims 4-5, 10:

Method claims 4-5 and 10 correspond to system claims 20-21 and 26. As discussed for the limitations of claims 20-21 and 26, Kasso, JavaStation and

Sanders teach the corresponding limitations of claims 4-5 and 10.

Claim 18. An apparatus according to claim 17 further comprising

[18(a)] means for of distributing a configuration manager program associated with the application program to a second client coupled to the network and

Kasso in view of JavaStation renders Claim 17 obvious. See Claim 17 in

Section IV.A. Kasso in view of JavaStation teach a Views Manager that can be used by a system administrator to configure the HotJava Views software. See

61 Element 17(a). JavaStation discloses that the Views Manager is accessible to the administrator when run on the JavaStation Webtop server. EX1003 pp.13-14.

Sanders, similarly assigned to Sun Microsystems, discloses a system and method for configuration and administration of a network server from a remote location. EX1004 Abstract, 1:60-64, 1:7-11. In Sanders, the administrator is able access the network server through a GUI, such as a browser-capable page, which is distributed to a remote client.

“The administration can be handled by a Graphical User Interface (GUI) 60 such as forms accessed through WWW "browsers" such as Netscape Navigator™ (a product of Netscape Communications Corp.). The server 10 will be HTTP capable and translate commands or requests issued over the network 30 by the remote interfacing computer 40 employing its GUI 60. When GUI 60 establishes a "link" (successful network connection) with server 10, the GUI 60 becomes a browser interface for sending commands and receiving information from the server 10. An operator can, by the use of a monitor 50 which displays the GUI 60 and a keyboard or input device 70, run administrative tasks by inputting information through menus or simple selections on the GUI. The input from the GUI is "submitted" (transmitted) to the server which then translates the input into a form utilized by commands native to the server 10.”

Id. 3:9-24; 4:51-5:1, 3:51-65, 10:33-11:16, Fig. 8. Sanders discloses that through the remote configuration/administration tool, the administrator can set up new user accounts, and manage services/users/ hosts. Id. 3:28-44, 10:33-11:16. Because the

62 remote configuration/administration tool can be accessed from any remote interfacing computer (browser), the server is programmed to distribute the tool to a second client, which is not the same client to which the application launcher was distributed.

It would have been obvious to a POSITA to implement the Views Manager disclosed in JavaStation remotely through distribution of a GUI browser-capable page, as disclosed in Sanders, for remote administration of the HotJava Views

Webtop server. EX1005, Madisetti ¶¶65-67. Kasso and Sanders are each assigned to Sun Microsystems and JavaStation describes administration of the Sun

Microsystems HotJava Views Webtop server. JavaStation contemplates a Solaris

Webtop server, which is a Unix operating system. Id.; EX1003, JavaStation p.9,

13-14, Preface; EX1004, Sanders 11:17-21. Sanders expressly discloses use of the disclosed remote administration interface with a UNIX-based network server, including SOLARIS. EX1004 1:60-64, 2:51-59, 1:14-57, 5:38-43, 11:17-21. A

POSITA would have also recognized that combining the teachings of Kasso,

JavaStation, and Sanders in the manner described above is nothing more than combining prior art elements according to known methods to yield the predictable result of providing remote administration/configuration of a HotJava Views

Webtop server through the Views Manager interface. EX1005, Madisetti ¶¶65-67.

63 [18(b)] wherein the means for obtaining an administrator set comprises means for obtaining an administrator set of the plurality of configurable preferences from an administrator executing the configuration manager program.

Kasso in view of JavaStation teach a Views Manager interface

(configuration manager) through which an administrator can establish final application properties (administrator set) that are stored on mass storage device associated with an HTTP (Webtop) server. See Element 17(d). The combination of

Kasso, JavaStation, and Sanders disclose the structure for performing the function is a client programmed to provide a GUI Views Manager browser interface through which to establish configurable administrator-only settable preferences of the application program (final application properties) to be stored at the Webtop server. Elements 17(d), 18(a); EX1005, Madisetti ¶¶65-67. As discussed in

Element 17(d) and 18(a), it would have been obvious to combine the teachings of

Kasso, JavaStation, and Sanders and a POSITA would have been motivated to do so. Id.

Claim 20. An apparatus according to claim 18 wherein the means for executing the application program comprises means for executing the application program using the obtained user set and the administrator set of the plurality of configurable preferences responsive to a request from the one of the plurality of authorized users through the application launcher program.

Kasso discloses that in response to a user request through Selector, the application program (such as MailView) is executed using user-specific application program properties (user set) and final application-specific properties

64 (administrator set). See Element 17(e); EX1002 Table 2, 5:34-44, 8:10-15, Table 5

(all reproduced in Element 17(e)); see generally 9:44-11:39, 16:16-30, Table 3.

Additionally, JavaStation discloses that when the user requests execution of ., the user is prompted to enter a password. See Claim 23. Once the merged property list is created for the application program and user, the program is executed using the merged property list (the retrieved user and administrator set of preferences).

Id. 15:19-24, 3:23-27, 6:10-12 (all reproduced in Element 17(e)); see generally

14:7-13, Abstract, 16:8-29. Accordingly, Kasso discloses that the structure for performing this function. See generally Element 17(e), Claim 23.

Claim 21. An apparatus according to claim 20 wherein the means for distributing an application launcher program includes means for displaying an icon associated with the application program on a screen of the client and wherein the one of the plurality of authorized users executes the application launcher program by selecting the displayed icon.

Kasso teaches means for distributing an application launcher. See Element

17(b). Kasso also discloses displaying an icon associated with an application program on a Selector screen, so a user who has logged in (an authorized user) executes the application launcher program by selecting the displayed icon.

65

EX1002 Fig. 5.

“Selector can access a set of application programs 240, …. Selector displays a main screen 402, shown in FIG. [5]. Each application program 240 is represented in the main screen by an icon 404, 406 in the application icon pane 410 of the Selector main screen 402. Each icon is associated with a URL identifying the HTML page that contains the applet represented by the icon....Thus, when a user clicks the mailbox icon 406, from HTTP server 208 Selector loads the HTML, page associated with the icon and which contains the MailView Java applet. The associated HTML page is loaded and graphically displayed in the display pane 420 of the main screen 402. The application icon pane 410 remains visible at all times. The applet loads itself into RAM of the host, and then executes and runs on the user's host.”

66 Id. 5:60-6:12; also 6:31-43, 5:21-59. Kasso thus discloses a client programmed with code/software to 1) display an icon associated with the application program on the Selector screen of the client and 2) receive a selection of the displayed application launcher program icon.

Claim 26. An apparatus according to claim 17 wherein one of the plurality of authorized users is an administrator and is authorized to define the administrator set of the plurality of configurable preferences.

Kasso in view of JavaStation renders Claim 17 obvious. See Claim 17 in

Section IV.A. The combination of Kasso, JavaStation, and Sanders teaches the additional limitation of Claim 26. See Claim 3.

Claims 33, 35-36, 41:

Claims 33, 35-36, and 41 are identical to claims 18, 20-21, and 26 except that the former recite “a computer readable storage medium having computer- readable program code means embodied in said medium, said computer-readable program code means comprising” various “computer readable program code means” for performing the recited functions of claims 18, 20-21, and 26 respectively. Kasso and JavaStation teach computer readable storage medium having computer-readable program code means. EX1002, Kasso 4:28-38, EX1003,

JavaStation p.14. Sanders discloses the same. EX1004 3:5-13, 2:60-3:4.

67 As discussed for each of the limitations of claims 18, 20-21, and 26 Kasso,

JavaStation and Sanders teach code/software for performing the claimed functions of each limitation of claims 33, 35-36, and 41. See Claims 18, 20-21, 26.

IV. MANDATORY NOTICES UNDER 37 C.F.R. §42.8(A)(1)

A. Real Party-In-Interest and Related Matters

Petitioners are the real parties-in-interest. 37 C.F.R. §42.8(b)(1). Additional real parties in interest may include Ubisoft Entertainment, S.A., Square Enix of

America Holdings, Inc., and Square Enix Holdings Co., Ltd. The ‘578 is the subject of a lawsuit filed by Patent Owners against Petitioners in the U.S. District

Court for the Eastern District of Texas. EX1011, EX1012; 37 C.F.R. §42.8(b)(2).

The ‘578 is also the subject of a number of pending lawsuit and terminated lawsuits. See EX1013; 37 C.F.R. §42.8(b)(2). Petitioners also filed IPRs on patents related to the ‘578 Patent. See IPR2017-01290, IPR2017-01291. A third- party also filed an IPR on related U.S. Patent No. 7,069,293. IPR2017-00184.

B. Lead and Back-Up Counsel Under 37 C.F.R. §42.8(b)(3)

Petitioners provide the following designation and service information for lead and back-up counsel.

Eric A. Buresh (Reg. No. 50,394) (LEAD) [email protected] Mark C. Lang (Reg. No. 55,356) (Back-Up) [email protected] Kathleen D. Fitterling (Reg. No. 62,950) (Back-Up) [email protected] 6201 College Blvd., Suite 300

68 Overland Park, Kansas 66211 Telephone: (913) 777-5600 Fax: (913) 777-5601

C. Payment of Fees Under 37 C.F.R. §42.103

The undersigned submitted payment by deposit account with the filing of this Petition authorizing the Office to charge fees required under 37 C.F.R.

§§42.103(a) and 42.15(a).

V. CONCLUSION

Petitioners respectfully request that claims 1-18, 20-32, and 35-46 of the

‘578 be canceled.

Date: July 21, 2017 Respectfully submitted, ERISE IP, P.A.

BY: /s/ Eric A. Buresh/ Eric A. Buresh, Reg. No. 50,394 Mark C. Lang, Reg. No. 55,356 Kathleen D. Fitterling, Reg. No. 62,950 6201 College Blvd., Suite 300 Overland Park, KS 66211 P: (913) 777-5600 F: (913) 777-5601 [email protected] [email protected] [email protected]

ATTORNEYS FOR PETITIONERS

69 APPENDIX OF EXHIBITS

EX1001 U.S. Patent No. 6,324,578 to Cox, et al. EX1002 U.S. Patent No. 5,832,505 to Kasso, et al. (“Kasso”), entitled “Computer System for Managing and Configuring Application Properties and Enabling System Administrator to Override Certain User-Set or Host Properties,” filed April 2, 1997 and issued November 3, 1998 EX1003 JavaStationTM Software Environment for Developers (JSE 1.0.2), Sun Microsystems Computer Computer Company (June 1997), Mountain View, California

EX1004 U.S. patent No. 5,734,831 to Sanders (“Sanders”), entitled “System for Configuring and Remotely Administering a Unix Computer over a Network,” filed April 26, 1996 and issued March 31, 1998 EX1005 Declaration of Dr. Vijay K. Madisetti (“Madisetti”) EX1006 U.S Patent No. 6,510,466 to Cox, et al. (“the ‘466 Patent”) EX1007 ‘578 Patent File History EX1008 Declaration of Scott Bennett, Ph.D. EX1009 U.S. Patent No. 6,085,188 to Bachmann, et al., entitled “Method of Hierarchical LDAP Searching with Relational Tables, filed on March 30, 1998, and issued on July 4, 2000 EX1010 Timothy A. Howes, The Lightweight Directory Access Protocol: X.500 Lite, CITI Technical Report 95-8 (July 27, 1995) EX1011 Ubisoft Complaint EX1012 Square Enix Complaint EX1013 List of Cases EX1014 U.S. Patent No. 5,692,129 to Sonderegger, et al. (“Sonderegger”), entitled “Managing Application Programs in a Computer Network by Using a Database of Application Objects,” filed July 7, 1995 and issued November 25, 1997

CERTIFICATE OF COMPLIANCE

Pursuant to 37 C.F.R. § 42.24(d), I hereby certify that this Petition complies with the type-volume limitation of 37 C.F.R. § 42.24(a)(1)(i) because it contains

13,794 words as determined by the Microsoft® Office Word word-processing system used to prepare the brief, excluding the parts of the brief exempted by 37

C.F.R. § 42.24(a)(1).

/s/Eric A. Buresh/ Eric A. Buresh

CERTIFICATE OF SERVICE ON PATENT OWNER UNDER 37 C.F.R. § 42.105(a)

Pursuant to 37 C.F.R. §§ 42.6(e) and 42.105(b), the undersigned certifies that on July 21, 2017, a complete and entire copy of this Petition for Inter Partes Review was provided via Federal Express and/or Express Mail to the Patent Owner by serving the correspondence address of record for the ‘578 Patent and Patent Owner’s litigation counsel:

UNILOC USA, INC. Legacy Town Center 7160 Dallas Parkway, Suite 380 Plano, TX 75024

Kevin Gannon Prince Lobel Tye LLP One International Place, Suite 3700 Boston, MA 02110

ERISE IP, P.A.

BY: /s/ Mark C. Lang/ Mark C. Lang, Reg. No. 55,356