                   NOTE: Pursuant to Fed. Cir. R. 47.6, this disposition
                     is not citable as precedent. It is a public record.


 United States Court of Appeals for the Federal Circuit

                                     04-1068, -1094

                                 IEX CORPORATION,

                                                        Plaintiff-Appellant,

                                            v.

                         BLUE PUMPKIN SOFTWARE, INC.,

                                                        Defendant-Cross Appellant.

                           __________________________

                           DECIDED: February 2, 2005
                           __________________________


Before NEWMAN, CLEVENGER and BRYSON, Circuit Judges.

CLEVENGER, Circuit Judge.


      Plaintiff-Appellant IEX Corporation ("IEX") appeals the decision of the United

States District Court for the Eastern District of Texas granting summary judgment of

noninfringement of U.S. Patent No. 6,044,355 ("the '355 patent") in favor of Defendant-

Cross Appellant Blue Pumpkin Software, Inc. ("Blue Pumpkin"). See IEX Corp. v. Blue

Pumpkin Software, Inc., No. 4:01-CV-16 (E.D. Tex. Oct. 9, 2003) ("Final Judgment").

Blue Pumpkin cross-appeals the district court's dismissal of Blue Pumpkin's

counterclaims for patent invalidity and unenforceability and for attorney's fees.    It

requests that its claims be reinstated and remanded for consideration if the district

court's summary judgment is reversed. Because the district court improperly construed

the claims of the patent at issue, we vacate the district court's summary judgment of
noninfringement and remand for further consideration. We also reinstate and remand

Blue Pumpkin's invalidity, unenforceability and attorney's fees claims.

                                             I

       IEX is the holder of the '355 patent, entitled "Skills-Based Scheduling For

Telephone Call Centers."        A telephone call center is a collection of agents,

telecommunication equipment, and management software, organized for the sole

purpose of handling customer contact through telephone calls. As calls are received,

they are identified by an automatic call distributor ("ACD") according to type (e.g., sales

calls, service calls) and are either delivered to a waiting agent or are queued pending

agent availability. In a typical "queue/team" model, agents are divided into teams, with

each team handling a particular call type. If the ACD receives a sales call, for example,

that call is directed to the sales call team and is either taken immediately by a sales call

agent or is queued until one becomes available. Because agents within a particular

team are interchangeable for purposes of handling calls, teams are scheduled

independently.

       Skills-based routing systems depart from the "queue/team" model in that each

incoming call is determined to require a particular skill or number of skills (e.g., sales

experience, service experience) and is directed by the ACD to an agent with the

required skill set. Teams are no longer formed around a specific call type, but are

instead comprised of agents having a particular skill set. An agent with both sales and

service experience, for example, is not limited to a sales call team or a service call

team, but instead may be connected to both sales and service queues. Likewise, an

agent with sales and billing experience may be connected to the sales and billing




04-1068, -1094                           2
queues.       Because various combinations of skill sets can overlap in a skills-based

environment, call centers can no longer consider call types in isolation for purposes of

scheduling, thus complicating the task of scheduling call center agents for work.

                                             A

       The invention of the '355 patent is designed to simplify the scheduling process

within a skills-based environment.       The patent claims an iterative approach to

"generating agent schedules for a telephone call center operation based on the 'skill'

profiles of the agent population." '355 patent, col. 1, ll. 9-11. A representative diagram

from the patent illustrating the claimed iteration is shown below.




Id. Fig. 1.

       As claimed, the invention generates net staffing data that generally defines the

total number of additional agents needed to handle a call type during a particular time

interval. See id. col. 5, ll. 46-56. The invention also generates skills group availability



04-1068, -1094                           3
data, which is a percentage estimate of the number of agents available to handle a call

type during a particular time interval. See id. col. 5, l. 66-col. 6, l. 8. Using these

numbers, the invention utilizes a commercially available "scheduler" to generate an

agent work schedule. See id. col. 6, ll. 16-23. The invention then runs a call handling

simulation on the schedule based on a call distribution algorithm and historic call data.

If variables such as the average speed of answer, the number of calls abandoned by

the caller and the idle time logged for each agent, fall below pre-determined

expectations, the invention adjusts the net staffing data and skills group availability data,

and uses the modified values to create a new schedule. See id. col. 6, l. 37-col. 7, l. 38.

The method repeats this iteration until it reaches the desired scheduling results.

                                              B

       IEX sued Blue Pumpkin on January 12, 2001, claiming that two Blue Pumpkin

products—Director Essential and Director Enterprise1—infringed the '355 patent. Two

of the claims in suit, and the only two at issue on appeal, are independent claims 1 and

19. They recite:

               1. A method, using a computer, of determining an efficient
       schedule for a plurality of scheduled agents in a telephone call center,
       each of the plurality of scheduled agents having a combination of defined
       skills and wherein the plurality of scheduled agents may be organized into
       skill groups each including all scheduled agents having a particular
       combination of skills, comprising the steps of:

           (a) generating net staffing data per call type defining, for each time
               interval to be scheduled, an estimate of a difference between a
               given staffing level and a staffing level needed to meet a current
               call handling requirement;




       1
               The differences between these products are immaterial for purposes of
this appeal.


04-1068, -1094                            4
           (b) generating skills group availability data per call type defining, for
               each combination of skill group and time interval to be scheduled,
               an estimate of a percentage of scheduled agents from each skill
               group that are available to handle a call;

           (c) using the net staffing data and the skills group availability data to
               generate a schedule for each of the plurality of scheduled agents;

           (d) running a call handling simulation against the schedule;

           (e) adjusting the net staffing data and the skills availability data as a
               result of the call handling simulation, and

           (f) repeating steps (c)-(e) until an output schedule occurs.
                                               ...
                19. A computer program product in a computer-readable medium
       for use in a computer for determining an efficient schedule for a plurality of
       scheduled agents in a telephone call center, each of the plurality of
       scheduled agents having a combination of defined skills and wherein the
       plurality of scheduled agents may be organized into skill groups each
       including all scheduled agents having a particular combination of skills, the
       computer program product comprising:

           first means for generating net staffing data per call type defining, for
                each time interval to be scheduled, an estimate of a difference
                between a given staffing level and a staffing level needed to meet a
                current call handling requirement;

           second means for generating skills group availability data per call type
              defining, for each combination of skill group and time interval to be
              scheduled, an estimate of a percentage of scheduled agents from
              each skill group that are available to handle a call;

           third means responsive to the first and second means for generating a
               schedule for each of the plurality of scheduled agents;

           fourth means for running a call handling simulation against the
              schedule; and

           fifth means responsive to the fourth means for refining the net staffing
                array and the skills availability data as a result of the call handling
                simulation for a subsequent iteration.

Id. col. 11, ll. 15-40; col. 12, l. 66-col. 13, l. 26.




04-1068, -1094                                5
       The district court referred the case to a Magistrate Judge for a recommendation

regarding claim construction.       After a hearing on March 19, 2002, pursuant to

Markman v. Westview Instruments, Inc., 52 F.3d 967 (Fed. Cir. 1995), aff'd, 517 U.S.

370 (1996), the Magistrate Judge recommended, inter alia, that "skill group" be

construed as "one or more agents, each agent having a particular sub-combination of

skills," and "skills group availability data" as "a current estimate for the availability a call

type should expect for scheduled agents in a skill group." IEX Corp. v. Blue Pumpkin

Software, Inc., No. 4:01-CV-16, at 4 (E.D. Tex. May 29, 2002) ("Claim Construction

R&R").    On March 12, 2003, the district court adopted the Magistrate Judge's

construction of "skills group availability data" but found "after an examination of all of the

intrinsic evidence, that a more appropriate construction [for 'skill group'] is 'a group of

agents with each agent having a particular sub-combination of skills.'" IEX Corp. v. Blue

Pumpkin Software, Inc., No. 4:01-CV-16, at 3 (E.D. Tex. Mar. 12, 2003) ("First Order").

       On April 8, 2003, Blue Pumpkin filed a motion for summary judgment of

noninfringement, which the district court again referred to a Magistrate Judge. IEX

responded to the motion with what it characterizes as evidence of infringement,

including a declaration and reports by IEX's expert Joseph McAlexander. On July 8,

2003, the Magistrate Judge stated that "the process [claimed in the '355 patent] does

not identify skill groups after application, but only before application" and that "each

agent within the skill group [must] possess the same skills." IEX Corp. v. Blue Pumpkin

Software, Inc., No. 4:01-CV-16, at 8, 11 (E.D. Tex. July 8, 2003) ("Infringement R&R").

The Magistrate Judge then agreed with Blue Pumpkin that its products do not calculate

skills group availability data or maintain any variable separately for each combination of




04-1068, -1094                             6
skill group, call type, and time interval. See id. at 13. The Magistrate Judge finally

observed that Blue Pumpkin's products are "agent focused not skill group focused," id.

at 9-10, and concluded that Blue Pumpkin's products do not infringe the '355 patent,

either literally or pursuant to the doctrine of equivalents.     The Magistrate Judge

recommended that Blue Pumpkin's motion for summary judgment of noninfringement be

granted. See id. at 14.

      On July 10, 2003, Blue Pumpkin filed a notice of newly discovered evidence.

The evidence consisted of deposition testimony by Mr. McAlexander, Michael Tanner,

another IEX expert, and Paul Leamon, a named inventor of the '355 patent. On July 21,

2003, IEX filed an objection to the Magistrate Judge's summary judgment

recommendation, pursuant to Fed. R. Civ. P. 72. In the exchange of motions and

subsequent responses, IEX submitted additional declarations and an "infringement

claim chart" prepared by Mr. McAlexander. On September 17, 2003, the district court

held a hearing regarding IEX's objections. In a memorandum dated October 10, 2003,

the district court adopted the Magistrate Judge's recommendations in their entirety but

did not discuss IEX's most recent expert evidence submissions. See IEX Corp. v. Blue

Pumpkin Software, Inc., No. 4:01-CV-16, at 3 (E.D. Tex. Oct. 9, 2003) ("Second

Order").

      IEX appeals from the district court's final judgment granting summary judgment of

noninfringement in favor of Blue Pumpkin.       See Final Judgment at 1.     We have

jurisdiction over the appeal pursuant to 28 U.S.C. § 1295(a)(1) (2000).




04-1068, -1094                          7
                                               II

       We review without deference the district court's grant of summary judgment. See

Merck & Co., Inc. v. Mylan Pharms., Inc., 190 F.3d 1335, 1338 (Fed. Cir. 1999).

Summary judgment is proper if after drawing all reasonable factual inferences in favor of

the nonmoving party, see Anderson v. Liberty Lobby, Inc., 477 U.S. 242, 255 (1986),

"the pleadings, depositions, answers to interrogatories, and admissions on file, together

with the affidavits, if any, show that there is no genuine issue as to any material fact and

that the moving party is entitled to a judgment as a matter of law," Fed. R. Civ. P. 56(c).

Summary judgment is not proper where "the evidence is such that a reasonable jury

could return a verdict for the non-moving party." Anderson, 477 U.S. at 248.

       "An infringement analysis is a two-step process in which the court first

determines, as a matter of law, the correct claim scope, and then the fact-finder

compares the properly construed claim to the accused device to determine, as a matter

of fact, whether all of the claim limitations are present, either literally or by a substantial

equivalent in the accused device." Rexnord Corp. v. Laitram Corp., 274 F.3d 1336,

1341 (Fed. Cir. 2001); see also Johnson Worldwide Assoc., Inc. v. Zebco Corp.,

175 F.3d 985, 988 (Fed. Cir. 1999). We thus will decide without deference whether the

district court was correct in its judgment that no reasonable jury could find, either literally

or by application of the doctrine of equivalents, each and every limitation recited in the

properly construed claims in the accused device. See Middleton, Inc. v. Minn. Mining

and Mfg. Co., 311 F.3d 1384, 1387 (Fed. Cir. 2002).




04-1068, -1094                             8
                                               III

       On appeal, IEX argues that the district court relied on incorrect claim

constructions in granting summary judgment of noninfringement, and that it failed to

recognize that IEX's expert testimony creates a genuine issue of material fact regarding

infringement. We address each contention in turn.

                                               A

       IEX disputes the district court's actual Markman conclusions as well as the

court's apparent reliance on additional limitations pertaining to "skill group" at the

summary judgment stage of the proceedings. In addition, Blue Pumpkin now asserts

several additional limitations applicable to "skills group availability data" that it initially

advanced in summary judgment briefing but that were not expressly relied upon by the

Magistrate Judge in recommending summary judgment.

       Because "it is the claims of the patent which define the invention," Altoona Publix

Theatres v. Am. Tri-Ergon Corp., 294 U.S. 477, 487 (1935), in construing the claims we

look first and foremost to the claim language, see Rexnord, 274 F.3d at 1341. While the

terms of the patent claims are generally accorded their ordinary and accustomed

meaning to one of ordinary skill in the relevant art, see Innova/Pure Water, Inc. v. Safari

Water Filtration Sys., Inc., 381 F.3d 1111, 1116 (Fed. Cir. 2004), we must also examine

the remaining intrinsic evidence—the rest of the specification and the prosecution

history—"to determine whether the patentee has set forth an explicit definition of a term

contrary to its ordinary meaning, has disclaimed subject matter, or has otherwise limited

the scope of the claims," Day Int'l, Inc. v. Reeves Bros., Inc., 260 F.3d 1343, 1348 (Fed.




04-1068, -1094                             9
Cir. 2001). With these claim construction principles in mind, we begin with the district

court's treatment of "skill group."

                                         Skill Group

       Despite a rather clear statement in the patent's written description that "[o]ne or

more agents are . . . organized into 'skill groups,'" '355 patent, col. 5, ll. 7-9, the district

court declined to accept the Magistrate Judge's "one or more" construction and instead

determined that "skill group" referred to "a group of agents." First Order at 3. An

interpretation that excludes a preferred embodiment is rarely, if ever, correct.           See

Vitronics Corp. v. Conceptronic, Inc., 90 F.3d 1576, 1583 (Fed. Cir. 1996). But while

IEX asserts in briefing to this court that the patent does not rule out the possibility that a

particular skill group might contain only one member depending on the circumstances, it

represented to the district court that "[a]t no time . . . has IEX ever accused the Blue

Pumpkin products of infringing based on such a theory." (J.A. at 1645.) Rather, IEX

now contends that its theory of infringement has always been that Blue Pumpkin

organizes agents into skill groups typically containing many members. It comes as no

surprise, then, that IEX does not expressly challenge the district court's "group of

agents" construction on appeal.2         Nonetheless, "skill group" correctly interpreted

includes a group of one or more agents, and the district court erred when it construed

"skill group" to require more than one agent.




       2
              Counsel for IEX went so far as to assert at oral argument that "[w]ithin the
scope of this appeal, the consequences of that single versus multiple agent really aren't
relevant because we've produced infringement proof showing that the skill groups in
Blue Pumpkin's product are comprised of multiple agents. So it doesn't matter, we're
not relying on saying that a group is a single agent."


04-1068, -1094                            10
       Next, IEX disputes two additional limitations that it alleges were read into the

phrase "skill group" by the Magistrate Judge upon recommending summary judgment.

First, the Magistrate Judge stated that "each agent within the skill group [must] possess

the same skills." Infringement R&R at 11. In reviewing this construction, we note at the

outset that both parties at various times throughout the litigation have framed the

question as whether skill groups can overlap, but this perspective is unhelpful. There is

no doubt that skill groups can overlap insomuch as group A can include, for hypothetical

purposes, agents with skills 1, 2 and 3, and group B can include agents with skills 2, 3

and 5. The patent expressly says as much. See '355 patent, col. 5, ll. 9-12. The

question instead is whether the patent requires that each skill group include only agents

having identical skills, e.g., whether the patent precludes the inclusion of an agent with

skills 1, 2, 3 and 4 within our hypothetical group A. We think that it does not.

       Claims 1 and 19 both specify that each skill group includes "all scheduled agents

having a particular combination of skills." Id. col. 11, ll. 20-21; col. 13, ll. 5-6. The

written description explains that a skill group includes all agents with a particular

combination, or a particular subcombination, of skills. See id. col. 2, ll. 43-44 ("All

agents having a particular combination of skills may be deemed a 'skill group.'"); col. 3,

ll. 32-35 ("The plurality of scheduled agents are organized into 'skill groups' with each

group including all scheduled agents having a particular combination of skills."); col. 5,

ll. 7-9 ("One or more agents are then organized into 'skill groups,' each including all

scheduled agents having a particular sub-combination of skills."). If accorded their plain

meaning, these statements require only that all agents within a skill group have a




04-1068, -1094                           11
particular combination of skills in common, not that they each have identical skills.3 In

other words, an agent with skills 1, 2, 3 and 4 has the same combination of skills as

those within our hypothetical group A, that combination being skills 1, 2 and 3.

       To be sure, the patent's written description specifies that "[i]n the preferred

embodiment, skill priorities are included when organizing agents into skill groups; in a

particular skill group, all agents have the same skills at the same priority levels." Id. col.

5, ll. 15-18 (emphasis added).         But patent scope is not confined to preferred

embodiments disclosed in the patent's written description, Cordis Corp. v. Medtronic

AVE, Inc., 339 F.3d 1352, 1365 (Fed. Cir. 2003), and in any event, the patent makes

clear that the claimed method "requires only that the skill group divisions in the agent

population be understood and available to the method," '355 patent, col. 9, ll. 8-10. A

call center using the claimed method thus has some flexibility in defining a "skill group"

to include all agents having a particular combination of skills or all agents having

identical skills, so long as that definition is made known to the claimed method.

       Second, the Magistrate Judge stated in his summary judgment recommendation

that the "[k]ey to the success of the program is that there be some identification of

agents with skills before the process can work. In another [sic] words, the process does

not identify skill groups after application, but only before application." Infringement R&R

at 8. Though this statement is somewhat ambiguous, IEX suggests that it was made in

response to Blue Pumpkin's summary judgment argument that the '355 patent claims

require that "the skill group availability data for each skill group must be calculated



       3
             Despite Blue Pumpkin's argument to the contrary, we find nothing in the
prosecution history that requires the "identical skills" construction adopted by the district
court.


04-1068, -1094                            12
before agents are placed into the schedule." (J.A. at 1383.) We cannot be certain from

the Magistrate Judge's statement that he intended to imply that the '355 patent

precluded the input of an initial schedule into the method prior to the creation of skills

group availability data. We nonetheless address the issue to clarify the district court's

task upon remand.

       It is true that the method claimed in the patent generates net staffing data and

skills group availability data, which it ultimately uses as inputs into the generation of a

work schedule. It is also true that skills group availability data is an estimate of a

percentage of scheduled agents from each skill group that are available to handle a call.

It therefore seems logical to assume that in order for the claimed invention to compile

skills group availability data, skill groups must exist in some form. This assumption,

however, begs a rather large question reminiscent of the famed chicken and egg

controversy. How can the invention of the '355 patent generate net staffing data based

in part on the given staffing level for a particular time period, and skills group availability

data that define a skill group's availability for that time period, without first having agents

actually scheduled during the relevant time period? In other words, which comes first,

the skill groups used to generate skills group availability data and thus a schedule, or

some form of the schedule itself, which implicitly defines certain parameters needed to

develop net staffing data and skills group availability data?

       The patent solves this problem in the preferred embodiment by allowing rough

estimates for the net staffing data and skills group availability data. '355 patent, col. 5,

ll. 51-53 ("The initial estimates for net staff values need not be extremely accurate, as

they are refined in later iterations of the method as will be described."); col. 6, ll. 8-12




04-1068, -1094                            13
("The initial estimates for values in this array need not be extremely accurate, as they

are refined in later iterations of the method as will be described. Thus, for example, the

initial estimate may be '0' for any skill group that is not eligible at all for a call type, and

'1/2' otherwise."). But nothing in the claims themselves or in the written description

precludes the use of an initial schedule as an input into the iteration.            In fact, by

referencing "scheduled agents" in the preamble, claims 1 and 19 seem to contemplate

this very thing. See id. col. 11, ll. 15-21; col. 12, l. 66-col. 13, l. 6. We thus hold that the

'355 patent does not preclude the method's use of an initial schedule prior to the

creation of skills group availability data.

                                Skills Group Availability Data

       We next address the parties' contentions regarding "skills group availability data."

The Magistrate Judge construed the phrase to mean "a current estimate for the

availability a call type should expect for scheduled agents in a skill group."           Claim

Construction R&R at 4. The district court adopted this construction, First Order at 4,

and neither the Magistrate Judge nor the district court expressly modified it during the

summary judgment stage of the proceedings. Nevertheless, Blue Pumpkin advances

three additional "skills group availability data" limitations that it contends are required by

the '355 patent claims.

       Blue Pumpkin first argues that the claim limitations "generating skills group

availability data per call type, defining for each combination of skill group and time

interval . . . a percentage" and "using . . . the skills group availability data to generate a

schedule for each of the plurality of scheduled agents" requires that for a given call type

and time interval, the claimed method calculates a single percentage value for each skill




04-1068, -1094                                14
group, which it then uses in scheduling calculations for every agent in the group. Blue

Pumpkin highlights the word "a" in the language as evidence that its proposed

construction embodies the ordinary meaning of the language.                To the contrary, an

indefinite article, such as "a," in patent parlance means "one or more" in open-ended

claims containing the transitional phrase "comprising." KCJ Corp. v. Kinetic Concepts,

Inc., 223 F.3d 1351, 1356 (Fed. Cir. 2000). "Unless the claim is specific as to the

number of elements, the article 'a' receives a singular interpretation only in rare

circumstances when the patentee evinces a clear intent to so limit the article." Id. An

estimate, as is set forth in the claims, is thus presumed to mean one or more estimates.

       Blue Pumpkin argues that the specification supports a single value but points to

only two particular sentences in the patent's written description. See '355 patent, col. 6,

ll. 11-12 ("the initial estimate may be '0' for any skill group that is not eligible at all for a

call type, and '1/2' otherwise"); col. 8, ll. 5-9 ("With respect to skill group availability . . .

[t]he simulator . . . . increments a counter for the call type the agent is handling and the

agent's skill group."). Neither necessarily limits the claimed invention to a single value

or provides a context from which the court could find a clear intent on the part of the

patentee to limit the article "a" to singular form.

       Blue Pumpkin next argues that the skills group availability data must remain

constant throughout scheduling. IEX offers little argument to the contrary and instead

contends that changes to the skills group availability data after scheduling but before

simulation are irrelevant because the data will be modified after the simulation. We

agree with both parties. The patent contemplates that skills group availability data will

remain constant in a given iteration until after generation of a schedule.




04-1068, -1094                             15
      Blue Pumpkin finally argues somewhat vaguely that the patent claims require

that separate values of skills group availability data be generated for each combination

of skill group, call type, and time interval. We agree: the claims are susceptible to no

other reasonable interpretation.

                                             B

      IEX contends that in addition to the claim construction errors, the district court

also erred in failing to recognize that IEX's expert testimony, particularly that from

Mr. McAlexander, creates a genuine issue of material fact regarding infringement that

precludes summary judgment.

      According to Mr. McAlexander, Blue Pumpkin's products utilize a function called

"DoSBSchedule," which is located in a file called "sbsched.cpp" and which generally

performs skills based scheduling by scheduling available agents into queues

corresponding to particular call types, depending on the skills that each agent

possesses.    (J.A. at 1307, 1592.)      Mr. McAlexander conceded that skills group

information in Blue Pumpkin's software code does not exist in arrays (J.A. at 1592), as

is disclosed by the patent as a preferred technique. See '355 patent, col. 5, l. 66-col. 6,

l. 26. Mr. McAlexander opined, however, that Blue Pumpkin's products instead organize

skills group information into complex data structures called "object attributes."       He

stated:

      To locate the associated "object attributes" which together define a skill
      group, the Blue Pumpkin code explicitly calls the function
      "GetBestSlotAndPerson( )" in the file "sbsched.cpp" at line 1693. . . . This
      function modifies an object "gSchedule" to reflect the new employee
      added to the schedule. The combination of the "gSchedule" object and
      the employee object attributes of scheduled employees define a skill
      group. Each skill group thus defined comprises those employees (agents)
      having a particular sub-combination of skills (attributes).



04-1068, -1094                          16
(J.A. at 1592.)

       Mr. McAlexander further described how Blue Pumpkin's products generate net

staffing data and skills group availability data:

       The preprocessing portion of the code in "DoSBSchedule()" generates
       both the "net staffing data" and "skills group availability data" per call type
       and       interval   in     respectively     "schedAddEmployee()"           and
       "AddShftToScoring()". . . . In "schedAddEmployee()," the method calls
       "AddDude()" to operate on and change attribute "e_need," giving an
       estimate of the difference between a given staffing level and the staffing
       level needed to meet a call handling requirement.                             In
       "AddShftToScoring()," the method generates in "AddDude()" an estimate
       of the percentage of time available for an agent to handle a call,
       calculating a "score" during the "While loop" for each individual agent,
       calling "CalculateCurrentGuess," and keeping a running sum of the data
       values in an attribute named, "m_dCurrentGuess" for each call type and
       interval.

(J.A. at 1593.)

       Mr. McAlexander also stated that Blue Pumpkin's products review and score

each agent to be scheduled one at a time. Each agent's score

       is compared to the best previous score and either is discarded if not as
       good as the previous score or replaces the previous score if better. After
       all individual agents are scored, the best score is selected and only that
       individual agent scheduled and added to the group. After all agents are
       scored and the best selected and added, a simulation is run against the
       schedule in DoSBSchedule, and the "net staffing data" "e_need" and
       "skills group availability data" "m_dCurrentGuess["] are adjusted. The
       process . . . is repeated, again selecting from an array of names only that
       individual agent having the best score for addition to the group.

Id. According to Mr. McAlexander, upon satisfying predetermined criteria the iteration

stops and Blue Pumpkin's products generate a final output schedule. Id.

       While Mr. McAlexander's description of Blue Pumpkin's products is no model of

clarity, Blue Pumpkin itself has never advanced a particularly straightforward




04-1068, -1094                            17
explanation of how its products generate a work schedule from start to finish.4

According to Blue Pumpkin and its expert, Dr. Illah R. Nourbakhsh, Blue Pumpkin's

products "schedule each agent on an individual basis, without organizing agents into

skill groups for calculation or any other purposes." (J.A. at 561.) When considering a

particular agent for scheduling, Blue Pumpkin's products score various scheduling

options for each agent to be scheduled. The score depends in part on a variable called

m_dCurrentGuess, which is calculated for each call type and time interval. The variable

m_dCurrentGuess is based on a combination of other variables, including MINIMUM

and MAXIMUM. When Blue Pumpkin's products consider a new agent for inclusion into

the schedule, the MINIMUM and MAXIMUM variables are incremented and in turn

modify m_dCurrentGuess. A separate m_dCurrentGuess value is thus generated for

each instance of a candidate schedule, such that no two agents share an identical

m_dCurrentGuess value, and multiple m_dCurrentGuess values are calculated to

determine a single agent's schedule. (J.A. at 562-63.) As each new agent is added to

the   schedule,   the   m_dCurrentGuess      variable   grows   incrementally.      The

m_dCurrentGuess variable thus shows at any given time the amount of work directed



      4
             Blue Pumpkin was asked at oral argument to describe how its products
function. Counsel replied:

      What Blue Pumpkin's software does is it determines which agents should
      work at what time in the call center. A separate piece of equipment called
      the ACD, an automatic call distributor, which is different from what's
      claimed here, the automatic call distributor is what routes the calls, and
      routes the calls to particular agents depending on what skills they have.
      What the scheduler does is it figures up which agents should be working
      at what time.

Counsel's explanation does little to distinguish Blue Pumpkin's products from the
invention claimed in the '355 patent.


04-1068, -1094                         18
towards a particular call type and time interval. A large value for the m_dCurrentGuess

variable signifies a large number of agents utilized by that call type during the pertinent

time interval.

       Contrary     to   IEX's   assertions,    Dr.   Nourbakhsh      stated    that   the

GetBestSlotAndPerson function places agents into the schedule. (J.A. at 1751.) The

G_Schedule object identifies all of the agents placed and provides nothing more than

the times that agents will begin their shifts. Id. Neither the G_Schedule object nor the

Employee object identifies agents by the call type served during a particular time

interval.   Id.   No information in Blue Pumpkin's source code is ever used during

scheduling to identify the agents serving a particular call type and time interval

combination. Id.

       From this confusing exchange of explanations as to how Blue Pumpkin's

products function, the district court adopted the conclusion reached by the Magistrate

Judge—"Blue Pumpkin's products are agent focused not skill group focused."

Infringement R&R at 9-10; see also Second Order at 3 ("The Court has concluded that

the findings and conclusions of the Magistrate Judge are correct . . . ."). But neither the

Magistrate Judge nor the district court explained in greater detail why IEX's evidence

from Mr. McAlexander did not create a genuine dispute of material fact. We have

recognized in the past that "to know the reasoning a district court used in deciding to

grant summary judgment facilitates the task of a reviewing court." Cable Elec. Prods.,

Inc. v. Genmark, Inc., 770 F.2d 1015, 1020 (Fed. Cir. 1985), overruled on other grounds

by Midwest Indus., Inc. v. Karavan Trailers, Inc., 175 F.3d 1356, 1358-61 (Fed. Cir.

1999) (en banc). That principle is equally applicable here.




04-1068, -1094                          19
       It may very well be that even after accepting Mr. McAlexander's testimony as true

and drawing all reasonable inferences in IEX's favor, see Anderson, 477 U.S. at 255,

IEX's evidence from Mr. McAlexander still falls short of establishing a genuine dispute of

material fact regarding infringement. We cannot be certain that this is so, however, and

think it better to remand the case back to the district court for further consideration in

light of the claim constructions set forth in this opinion.

                                               IV

       In conclusion, the district court erred in relying on incorrect claim constructions in

granting Blue Pumpkin's motion for summary judgment, though the extent to which it did

so is not entirely clear from the Magistrate Judge's recommendation or the district

court's memorandum adopting that recommendation. The district court also did not fully

articulate its reasons for rejecting IEX's expert evidence, particularly that from

Mr. McAlexander.      Accordingly, we vacate the district court's grant of summary

judgment in favor of Blue Pumpkin and remand for further consideration in light of the

claim constructions set forth in this opinion.       We also reinstate and remand Blue

Pumpkin's invalidity, unenforceability and attorney's fees claims.

                                           COSTS

       No costs.




04-1068, -1094                            20
