`
`
`
`
`
`
`
`
`
`
`
`UNITED STATES PATENT AND TRADEMARK OFFICE
`
`____________________
`
`BEFORE THE PATENT TRIAL AND APPEAL BOARD
`
`____________________
`
`GOOGLE LLC,
`Petitioner
`
`v.
`
`EXPRESS MOBILE, INC.,
`Patent Owner
`
`____________________
`
`Patent No. 9,471,287
`____________________
`
`DECLARATION OF SANDEEP CHATTERJEE, PH.D.
`
`
`
`
`
`Page 1 of 157
`
`GOOGLE EXHIBIT 1002
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`
`TABLE OF CONTENTS
`
`
`INTRODUCTION .......................................................................................... 5
`I.
`BACKGROUND AND QUALIFICATIONS ................................................ 6
`II.
`SUMMARY OF OPINIONS ........................................................................ 10
`III.
`IV. PERSON OF ORDINARY SKILL IN THE ART ....................................... 13
`V.
`TECHNICAL BACKGROUND .................................................................. 14
`A. Websites ............................................................................................. 14
`B. Web Services ...................................................................................... 16
`C.
`Graphical User Interface .................................................................... 19
`D.
`Code Portability .................................................................................. 23
`VI. OVERVIEW OF THE ’287 PATENT ......................................................... 28
`VII. CLAIM CONSTRUCTION ......................................................................... 32
`VIII. OVERVIEW OF THE PRIOR ART ............................................................ 34
`A. Huang ................................................................................................. 34
`B.
`Angelov ............................................................................................... 44
`IX. THE PRIOR ART DISCLOSES OR SUGGESTS ALL OF THE
`FEATURES OF CLAIMS 1, 2, 7, and 11 OF THE ’287 PATENT ............ 48
`A. Huang and Angelov Disclose or Suggest the Features of Claims
`1, 2, 7, and 11 ..................................................................................... 48
`1.
`Claim 1 ..................................................................................... 48
`i)
`[1.pre] “A system for generating code to
`provide content on a display of a device, said
`system comprising:” .................................................... 48
`
`
`
`
`
`i
`
`
`
`Page 2 of 157
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`[1.a] “computer memory storing a registry of:
`a) symbolic names required for evoking one or
`more web components each related to a set of
`inputs and outputs of a web service obtainable
`over a network, where the symbolic names are
`character strings that do not contain either a
`persistent address or pointer to an output value
`accessible to the web service, where each
`symbolic name has an associated data format
`class type corresponding to a subclass of User
`Interface (UI) objects that support the data
`format type of the symbolic name, and has a
`preferred UI object, and b) an address of the
`web service;” ................................................................ 59
`[1.b] “an authoring tool configured to: define a
`(UI) object for presentation on the display,
`where said defined UI object corresponds to a
`web component
`included
`in said registry
`selected from a group consisting of an input of
`the web service and an output of the web
`service, where each defined UI object is either:
`1) selected by a user of the authoring tool; or 2)
`automatically selected by the system as the
`preferred UI object corresponding to the
`symbolic name of the web component selected
`by the user of the authoring tool,” ............................. 93
`[1.c] “[the authoring tool configured to:] access
`said computer memory to select the symbolic
`name corresponding to the web component of
`the defined UI object,” .............................................. 105
`[1.d] “[the authoring tool configured to:]
`associate the selected symbolic name with the
`defined UI object, where the selected symbolic
`name is only available to UI objects that
`support the defined data format associated with
`that symbolic name, and” ......................................... 106
`ii
`
`
`
`
`ii)
`
`iii)
`
`iv)
`
`v)
`
`
`
`
`
`Page 3 of 157
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`vi)
`
`vii)
`
`[1.e] “[the authoring tool configured to:]
`produce an Application including the selected
`symbolic name of the defined UI object, where
`said Application is a device-independent code;
`and a Player, where said Player is a device-
`dependent code,” ........................................................ 113
`[1.f] “wherein, when the Application and Player
`are provided to the device and executed on the
`device, and when the user of the device provides
`one or more input values associated with an
`input symbolic name to an input of the defined
`UI object, 1) the dvice provides the user
`provided one or more
`input values and
`corresponding input symbolic name to the web
`service, 2) the web service utilizes the input
`symbolic name and the user provided one or
`more input values for generating one or more
`output values having an associated output
`symbolic name, 3) said Player receives the
`output symbolic name and corresponding one
`or more output values and provides instructions
`for the display of the device to present an
`output value in the defined UI object.” ................... 127
`Claim 2 ................................................................................... 146
`i)
`“The system of claim 1, where said registry
`includes definitions of input and output related
`to said web service.” .................................................. 146
`Claim 7 ................................................................................... 150
`i)
`“The system of claim 1, where said web
`component is an output of a web service, is the
`text provided by one or more simultaneous chat
`sessions, is the video of a video chat session, is a
`video, an image, a slideshow, an RSS display, or
`an advertisement.” ..................................................... 150
`Claim 11 ................................................................................. 151
`iii
`
`
`
`
`
`
`
`
`2.
`
`3.
`
`4.
`
`Page 4 of 157
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`i)
`
`“The system of claim 1, where said code is
`provided over said network.” ................................... 151
`CONCLUSION ........................................................................................... 156
`
`
`
`X.
`
`
`
`
`
`
`
`iv
`
`
`
`Page 5 of 157
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`I, Sandeep Chatterjee, Ph.D., declare as follows:
`
`INTRODUCTION
`I have been retained on behalf of Google LLC (“Petitioner”) as an
`1.
`
`
`
`I.
`
`independent expert consultant in this proceeding before the United States Patent
`
`and Trademark Office (“PTO”) regarding U.S. Patent No. 9,471,287 (“the ’287
`
`patent”) (Ex. 1001). I have been asked to consider whether certain references
`
`discloses or suggests the features recited in claims 1, 2, 7, and 11 (“the challenged
`
`claims”) of the ’287 patent. My opinions are set forth below.
`
`2.
`
`Experantis LLC (“Experantis”) is being compensated at my standard
`
`rate of $825 per hour for the time I spend on this matter. This compensation is in
`
`no way contingent on the nature of my findings, the presentation of my findings in
`
`testimony, or the outcome of this or any other proceeding. Neither Experantis nor
`
`I have any personal or financial stake or interest in this proceeding.
`
`
`
`
`
`
`
`
`
`5
`
`
`
`Page 6 of 157
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`
`II. BACKGROUND AND QUALIFICATIONS
`3. My qualifications for forming the opinions in this report are
`
`summarized here and explained in more detail in my curriculum vitae (Exhibit
`
`1003), which also includes a list of my publications.
`
`4.
`
`I am the Chief Executive Officer of Experantis LLC, a technology
`
`consulting company. Previously, I was the Executive Vice President and Chief
`
`Technology Officer of SourceTrace Systems, Inc., a technology and services
`
`company enabling the delivery of secure remote electronic services over landline
`
`and wireless telecommunications networks.
`
`5.
`
`I received my bachelor’s degree in Electrical Engineering and
`
`Computer Science from the University of California, Berkeley in 1995. I received
`
`my master’s degree in Computer Science from the Massachusetts Institute of
`
`Technology (MIT) in 1997, and my doctorate in Computer Science from MIT in
`
`2001. I received a certificate of completion for an executive education program on
`
`global leadership from Harvard University in 2011. My doctoral dissertation at
`
`MIT, entitled “Composable System Resources for Networked Systems,” which
`
`involved networked client architectures and systems, was selected as one of the top
`
`inventions in the history of MIT’s Laboratory for Computer Science. This
`
`
`
`
`
`6
`
`
`
`Page 7 of 157
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`
`invention is showcased in a time capsule at the Museum of Science in Boston,
`
`Massachusetts.
`
`6.
`
`In 2011, I was named a Young Global Leader. This honor, bestowed
`
`each year by the World Economic Forum, recognizes and acknowledges the top
`
`leaders—all below the age of 40—from around the world for their professional
`
`accomplishments, commitment to society, and potential to contribute to shaping
`
`the future of the world. In 2016, I was appointed to the World Economic Forum’s
`
`expert network as an expert in technology and innovation, and I advise world
`
`leaders on issues related to technology and innovation.
`
`7.
`
`From
`
`1997,
`
`I was
`
`the
`
`Entrepreneur-in-Residence
`
`at
`
`FidelityCAPITAL, the venture capital arm of Fidelity Investments. In 1999, I
`
`founded and served as President and Chief Technology Officer (CTO) of Satora
`
`Networks, which developed tools and technologies for building appliances and
`
`services for the Internet using wireless and other technologies to extend computing
`
`beyond the desktop.
`
`8.
`
`In 2001, I joined Bluestone Software’s Mobile Middleware Labs as a
`
`Senior Engineer developing applications and systems infrastructure for enterprise
`
`Java/J2EE, Web services, and enterprise mobile solutions. After the completion of
`
`Hewlett-Packard’s (“HP”) acquisition of Bluestone, I became a Senior Member of
`
`
`
`
`
`7
`
`
`
`Page 8 of 157
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`
`the Technical Staff at HP’s Middleware Division. I was responsible for
`
`architecting and developing the company’s next-generation Web services platform
`
`for enterprise as well as mobile environments, known as the Web Services
`
`Mediator. I also worked with HP’s worldwide software operations to add
`
`extensions into the Java 2 Enterprise Edition (J2EE) application server to easily
`
`support mobile applications and content, as well as flexible integration with other
`
`software systems using the eXtensible Markup Language (XML) and web services
`
`technologies. Service oriented architectures and systems use web services
`
`technologies.
`
`9.
`
`I am the co-author, with James Webber, of the book Developing
`
`Enterprise Web Services: An Architect’s Guide, which is listed in my curriculum
`
`vitae. (Ex. 1003, 18). This book discusses Web services, which implement
`
`capabilities that are available to other applications over the Web via industry
`
`standard network and application interfaces and protocols. An application can use
`
`the capabilities of a web service by simply invoking it across a network without
`
`having to integrate it. As such, web services represent reusable software
`
`components that are URL addressable. This book has been adopted by over 100
`
`universities and colleges around the world, and has been translated or reprinted in a
`
`number of countries. I was also part of the Expert Group that developed the JSR-
`
`
`
`
`
`8
`
`
`
`Page 9 of 157
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`
`00172 J2ME (Java 2 Platform, Micro Edition) Web Services Specification, the
`
`worldwide industry standard for mobile web services.
`
`10.
`
`I have extensive experience in architecting, developing, optimizing,
`
`deploying and managing web-based computing systems,
`
`including web
`
`applications, web services and web sites, and I explained these concepts
`
`extensively in my above-identified book. I also have experience in many other
`
`computing technologies, including in the areas of programming and networking
`
`(e.g., using or designed for the Internet and Web, including with related
`
`technologies such as web browsers, applets, and virtual machines) to name a few,
`
`and have developed computer systems implementing these and numerous other
`
`technologies in the course of my academic and professional work.
`
`
`
`
`
`
`
`9
`
`
`
`Page 10 of 157
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`
`III. SUMMARY OF OPINIONS1
`11. The opinions contained in this Declaration are based on the
`
`documents I reviewed, my professional judgment, as well as my education,
`
`experience, and knowledge regarding graphical user interfaces.
`
`12.
`
`In forming my opinions expressed in this Declaration, I reviewed the
`
`’287 patent (Ex. 1001); the prosecution file history for the ’287 patent (Ex. 1004);
`
`U.S. Patent No. 9,063,755 (Ex. 1005); Prosecution History of U.S. Patent No.
`
`9,063,755 (Ex. 1006); U.S. Patent Publication No. 2007/0118844 (“Huang”) (Ex.
`
`1007); U.S. Patent Publication No. 2007/0067421 (“Angelov”) (Ex. 1008); U.S.
`
`Patent Publication No. 2007/0079282 (“Nachnani”) (Ex. 1009); U.S. Patent
`
`Publication No. 2006/0129972 (“Tyburski”) (Ex. 1011); U.S. Patent Publication
`
`No. 2006/0271537 (“Chandrasekharan”) (Ex. 1012); U.S. Patent Publication No.
`
`2004/0143645 (“Cheenath”) (Ex. 1014); Stroustrup, B., The C++ Programming
`
`Language, Third Edition (1998) (“Stroustrup”) (Ex. 1015); U.S. Patent Publication
`
`No. 2007/0094609 (“Gilboa”) (Ex. 1016); U.S. Patent No. 7,873,625 (“Mourra”)
`
`
`1 My citations to non-patent publications are to the original page numbers of such
`
`publications, and my citations to U.S. Patents are to the column:line number or
`
`paragraph number of the patents or published patent applications, as applicable.
`
`
`
`
`
`10
`
`
`
`Page 11 of 157
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`
`(Ex. 1017); U.S. Patent Publication No. 2006/0230462 (“Prabakar”) (Ex. 1018);
`
`U.S. Patent Publication No. 2009/0055345 (“Mehta”) (Ex. 1019); U.S. Patent No.
`
`7,549,153 (“Butterworth”) (Ex. 1020); U.S. Patent No. 8,117,233 (“Liu”) (Ex.
`
`1021); U.S. Patent No. 7,191,160 (“Hoeft”) (Ex. 1022); U.S. Patent No. 8,548,939
`
`(“Enenkiel”) (Ex. 1023); U.S. Patent Publication No. 2004/0006765 (“Goldman”)
`
`(Ex. 1024); Lindholm et al., The Java Virtual Machine Specification, Addison-
`
`Wesley (1997) (“Lindholm”) (Ex. 1025); U.S. Patent No. 6,677,965 (“Ullmann”)
`
`(Ex. 1026); Chatterjee, S. et al., Developing Enterprise Web Services: An
`
`Architect’s Guide, Prentice Hall PTR Pearson Education, Inc. (2004) (“Chatterjee-
`
`2004”) (Ex. 1027); U.S. Patent No. 8,595,186 (“Mandyam”) (Ex. 1028); U.S.
`
`Patent No. 6,779,153 (“Kagle”) (Ex. 1029); U.S. Patent No. 6,571,389 (“Spyker”)
`
`(Ex. 1030); U.S. Patent No. 6,549,932 (“McNally”) (Ex. 1031); U.S. Patent No.
`
`7,814,423 (“Musson”) (Ex. 1032); and any other materials I refer to in this
`
`Declaration in support of my opinions.
`
`13. My opinions have also been guided by my appreciation of how a
`
`person of ordinary skill in the art would have understood the challenged claims and
`
`the specification of the ’287 patent at the time of the alleged invention. I have
`
`been asked to initially consider the time of the alleged invention as the 2008 time
`
`frame, including and up to April 7, 2008, which I understand is the filing date of a
`
`
`
`
`
`11
`
`
`
`Page 12 of 157
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`
`provisional application to which the ’287 patent claims priority (Ex. 1001, Cover).
`
`My opinions reflect how one of ordinary skill in the art would have understood the
`
`’287 patent, the prior art to the patent, and the state of the art at the time of the
`
`alleged invention.
`
`14. As I discuss in detail below, it is my opinion that certain references
`
`disclose or suggest all the features recited in the challenged claims of the ’287
`
`patent.
`
`
`
`
`
`
`
`
`
`12
`
`
`
`Page 13 of 157
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`
`IV. PERSON OF ORDINARY SKILL IN THE ART
`15. Based on my knowledge and experience, I understand what a person
`
`of ordinary skill in the art would have known at the time of the alleged invention.
`
`My opinions herein are, where appropriate, based on my understandings as to a
`
`person of ordinary skill in the art at that time. In my opinion, based on the
`
`materials and information I have reviewed, and based on my experience in the
`
`technical areas relevant to the ’287 patent, a person of ordinary skill in the art at
`
`the time of the alleged invention of the ’287 patent would have had at a bachelor’s
`
`degree in electrical engineering, computer science, or the equivalent thereof, and at
`
`least two years of experience with programming relating to websites. More
`
`education can substitute for practical experience and vice versa. I apply this
`
`understanding in my analysis herein.
`
`16. My analysis of the ’287 patent and my opinions in this declaration are
`
`from the perspective of one of ordinary skill in the art, as I have defined it above,
`
`during the relevant time frame stated above. During this time frame, I possessed at
`
`least the qualifications of a person of ordinary skill in the art, as defined above.
`
`
`
`
`
`
`
`
`
`13
`
`
`
`Page 14 of 157
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`
`V. TECHNICAL BACKGROUND
`In this section, I discuss the state of the art with respect to certain
`17.
`
`technologies relevant to the subject matter of the ’287 patent. In particular, during
`
`the time preceding April 2008, a person of ordinary skill in the art would have
`
`been aware of various developments in the areas of computing, including regarding
`
`websites, web services, graphical user interface and portable code, as I discuss
`
`below.
`
`A. Websites
`18. A person of ordinary skill would have known in the relevant time
`
`frame about computer networks, including the Internet, which was known to be a
`
`distributed network formed from interconnected computer networks, including the
`
`World Wide Web (“Web” or “web”). A person of ordinary skill would have
`
`known that the Web includes websites provided by web servers, which are
`
`computers that store and retrieve computer files representing web pages that are
`
`requested by and displayed to users of the Internet. (Ex. 1029, 1:19-24.) It was
`
`known that web pages generally include text, images, animation, audio and other
`
`multimedia forms for presentation to viewers or users of the websites. (Id., 1:24-
`
`26.) It was further known that “[i]n the Web environment, client machines
`
`communicate with Web servers using Hypertext Transfer Protocol (HTTP), which
`
`
`
`
`
`14
`
`
`
`Page 15 of 157
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`
`uses a standard page description language known as Hypertext Markup Language
`
`(HTML)” and that “HTML provides basic document formatting and allows the
`
`developer to specify ‘links’ to other servers and files.” (Id., 1:26-32.)
`
`19. A person of ordinary skill would have known that web browsers may,
`
`for example, reside on a client computer, and are used to display the web pages.
`
`(Ex. 1030, 1:48.) It was known in the relevant time frame that software programs,
`
`such as programs implemented in the Java programming language, “have found
`
`extensive use on the World Wide Web,” as “[t]hese programs include full-featured
`
`interactive, standalone applications, as well as smaller programs, known as applets,
`
`that run in a Java-enabled Web browser.” (Ex. 1031, 9:1-6.)
`
`
`
`
`
`
`
`
`
`15
`
`
`
`Page 16 of 157
`
`
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`B. Web Services
`20. As I discussed above in Section V.A, in the relevant time frame a
`
`person of ordinary skill in the art would have been familiar with the Web and
`
`websites. (See above at Section V.A.) A person of ordinary skill would also have
`
`known that the Web was commonly used for providing various services remotely.
`
`Indeed, a person of ordinary skill would have known that web services represent a
`
`new architectural paradigm for implementing software. Such a skilled person
`
`would have known of web services since at least as early as the late 1990s. (Ex.
`
`1027, xvii.)2 Web services implement capabilities that are available to other
`
`applications (or even other web services) via network/application interfaces and
`
`protocols, extending the capabilities of a computing system beyond those of a
`
`single computer. (Id., 1-14.) A person of ordinary skill would have known that a
`
`computer program can use the capabilities of a web service by simply invoking it
`
`across a network without having to implement such capabilities with locally
`
`situated computing resources. As such, a person of ordinary skill would have
`
`known that web services represent reusable software building blocks that are
`
`
`2 My citations to Chatterjee-2004 (Exhibit 1027) are with respect to the book’s
`
`internal pagination.
`
`
`
`
`
`16
`
`
`
`Page 17 of 157
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`
`addressable by a uniform resource locator (URL), as I explained in my book that I
`
`mentioned above in Section II. (Id., 2; see also above at Section II.) In other
`
`words, a person of ordinary skill would have known that knowing a service’s
`
`address made it possible to access and use the web service via a Web connection.
`
`21. A person of ordinary skill would have known that web services
`
`expose their capabilities to client applications, not their implementations. This
`
`allows web services to be implemented in any programming language and on any
`
`computing platform and still be compatible with all client applications. A web
`
`service typically describes its own capabilities, publishes its own programmatic
`
`interface and implements its own functionality that is available as a hosted service.
`
`(Ex. 1027, 4.) A client software program invokes the functionality of a web
`
`service by sending it messages as input, and receiving return messages as output
`
`from the web service so that the results can be used with the client software
`
`program. In other words, a person of ordinary skill would have known that a web
`
`service receives input from a client software program (that invokes the web
`
`service), process the input in some manner, and provides output, e.g., as shown in
`
`Figure 1-2 of my book:
`
`
`
`
`
`17
`
`
`
`Page 18 of 157
`
`
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`
`
`(Ex. 1027, 5 (FIG. 1-2); see also id., 1-14.)
`
`22. A person of ordinary skill would have known that a key enabler for
`
`Web services is XML, which stands for “eXtensible Markup Language.” (Id., 15;
`
`see also id., 16-70 (discussion of XML in my book).) Although HTML and XML
`
`are similar in that both are human-readable markup languages, HTML is for
`
`presentation markup while XML is for semantic markup. This attribute of XML
`
`supports expressing application and functional semantics
`
`in a platform-
`
`independent manner that enables any-to-any information exchange. (Id., 10; see
`
`also id. 15-70.) A person of ordinary skill would have known that other core
`
`technologies of web services are Simple Object Access Protocol (SOAP), Web
`
`18
`
`
`
`
`Page 19 of 157
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`
`Services Description Language (WSDL), and UDDI (Universal Description,
`
`Discovery and Integration). (See id., 71-143.) These were well-known
`
`technologies that a person of ordinary skill would have known about and known
`
`how to implement in various computing contexts for implementing web services.
`
`C. Graphical User Interface
`It was well known in the relevant time frame that a computer program
`23.
`
`typically includes a user interface to enable a user of the program to interface with
`
`the program, e.g., by providing input to the program or receiving output from the
`
`program. Indeed, it would have been expected for a program to include a user
`
`interface if the program is to be used by a user. A person of ordinary skill would
`
`have known of many types of user interfaces for displaying information to a user,
`
`including graphical user interfaces that show information visually to the user.
`
`Mandyam, which “relates to applications and user interfaces for mobile computing
`
`devices, and particularly to methods and systems for creating, publishing, sharing,
`
`and delivering mobile software applications,” discloses some examples of a user
`
`graphical user interface. (Ex. 1028, 1:14-17.)
`
`24. For example, Mandyam discloses:
`
`FIG. 37 shows various embodiments of web user
`interface displays that a user may be presented with to
`create a mobile widget. In some embodiments, an end-
`
`
`
`
`
`19
`
`
`
`Page 20 of 157
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`
`
`user is not required to do any programming that generates
`the mobile widget. As such, anyone capable of using a
`web browser and filling web forms can use such a user
`interface to publish a mobile widget. As an example, a
`topical expert, a blogger, a website owner or a content
`publisher can use this user interface to publish a mobile
`widget. Though not mentioned, the same user interface
`may also be presented via mobile web browser so that
`mobile users may also create and publish new mobile
`widgets and share them with others.
`(Ex. 1028, 52:20-31; see also id., FIGS. 37A-37F (reproduced below).)
`
`
`
`(Id., FIGS. 37A-37B.)
`
`25. Mandyam describes Figure 37A as follows:
`
`As in FIG. 37(a), the widget publisher may be asked to
`enter a few keywords on the topic on which he wants to
`create a widget. Text may be presented to the user,
`20
`
`
`
`
`
`
`Page 21 of 157
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`
`
`such as “Use this wizard to publish your own mobile
`widget. At this time, you may create a mash-up widget
`which aggregates content around a topic from several
`content sources. Star by entering a few keywords. … The
`user may enter the information in a text box 3705 and
`submit it by selecting the ‘Start’ key 3710 or an
`equivalent. The query may be transmitted back to a
`central server and parsed. A next control 3750 can be
`provided to enter the inputted data and proceed to the
`screen of FIG. 27(c).
`(Id., 52:41-55.)
`
`(Id., FIGS. 37C-37D.) Mandyam’s description of Figure 37D includes:
`
`The display in FIG. 37(d) allows the widget publisher to
`pick information sources 3735 to aggregate into his
`
`
`
`
`
`
`
`21
`
`
`
`Page 22 of 157
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`
`
`widget. The user can select one or more sources to add
`to the widget. Several information source choices 3735
`may be presented to the publisher. … An information
`source may be the result of running the query on any of
`these search engines. The publisher can select this by
`selecting the checkbox next to any of these provided
`choices. The sources may also include data repositories,
`news sites, and so forth.
`(Id., 52:64-53:9; see also id., FIGS. 37E-37F (below).)
`
`(Id., FIGS. 37E-37F.)
`26. Thus, various
`
`types of graphical user
`
`interface controls and
`
`components were known, including text boxes, check boxes, buttons, and many
`
`others. A person of ordinary skill would have been skilled at programming and
`
`
`
`
`
`
`
`22
`
`
`
`Page 23 of 157
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`
`configuring software systems and would have known how to implement user
`
`interface controls to achieve successful and operable software systems.
`
`D. Code Portability
`27. A person of ordinary skill would have known in the relevant time
`
`frame that one way to develop software code was to develop code specific to a
`
`given computing device on which the code is to be executed, and another way is to
`
`develop code that is portable across various types of computing devices without
`
`having to rewrite the code for each intended device. For example, Gilboa
`
`demonstrates that it was well known to develop device-specific code which
`
`contains instructions for a computing device and takes into account the runtime
`
`environment of the device:
`
`As part of 306, one or more runtime tools may generate
`one or more runtime environment platform-specific
`representations based upon the abstract representation
`generated in 304. For example, a runtime representation
`may be created for a particular device or for a particular
`runtime programming
`language environment. For
`example, for a target device supporting a runtime
`Java environment, a XGL-to-Java compiler may be
`used to generate Java code based upon the abstract
`representation. The generated Java code may then be
`
`
`
`
`
`23
`
`
`
`Page 24 of 157
`
`
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`executed by the Java runtime to display a GUI on the
`target device. For a device supporting a runtime Flash
`environment, a XGL-to-Flash compiler may be used
`to generate Flash code based upon
`the abstract
`representation. The generated Flash code may then be
`executed by the Flash runtime to display a GUI on the
`device. … Various
`other
`runtime
`target
`representations and for other runtime platforms may
`also be generated. Customized runtime tools may be
`developed
`to
`facilitate
`generation
`of
`runtime
`representations and GUIs for different GUI platforms. In
`some embodiments, the same device may support
`different runtime environment platforms and different
`runtime representations and GUIs may be generated for
`the different platforms for the same device. One or more
`runtime tools (e.g., compilers, interpreters, source coded
`generators, etc.) may be used in the runtime environment.
`
`(Ex. 1016, ¶[0054]; see also id., ¶[0043] (“Flash runtime 122 may execute Flash
`
`code 120 to generate/display a GUI 124 on a target device comprising a Flash
`
`platform.”); Ex. 1011, ¶[0033] (“Computing device 110 … generates device-
`
`specific application 180[, which] is communicated to a respective mobile device
`
`200 for subsequent execution on the device.”).)
`
`
`
`
`
`24
`
`
`
`Page 25 of 157
`
`
`
`Declaration of Sandeep Chatterjee, Ph.D.
`U.S. Patent No. 9,471,287
`
`
`28. Tyburski explains that “[t]he proliferation of mobile consumer
`
`
`
`electronic devices” has “created a need for specialized computing skills to produce
`
`device specific applications” and that “[t]he variety in device architectures,
`
`functions, and data transfer methods coupled with limited application storage
`
`capacity has created an ever-increasing number of device specific applications
`
`across many different mobile-device types.” (Ex. 1011, ¶[0019]; see also id.,
`
`¶[0008] (“[T]oday’s more powerful computing platforms do not address problems
`
`for developing mobile-device application software caused by the widely varying
`
`operating systems, application interfaces, user input interfaces, data display types
`
`and sizes, memory sizes, etc. across many different mobile-device types.”).)
`
`29. Tyburski describes one known way (among many) for implementing
`
`portable code, which can be used to streamline software development so that code
`
`does not have to be rewritten for each computing device on which execution is
`
`desired. Tyburski discloses with reference to Figure 1 (below) that instruction set
`
`155 (shown above in Figure 1) “is [an] abstraction of an application program that
`
`is intended to be executed on a designated mobile device 200,” and “[a] software
`
`developer…enters the individual instructions that comprise the instruction set
`
`155.” (Id