Vertical Computer Systems, Inc. v. Interwoven, Inc. et al

Filing 31

MOTION to Dismiss Stay or Transfer by Samsung Electronic America Inc, Samsung Electronics Co LTD. (Attachments: # 1 Affidavit of Seo-won Kwon, # 2 Affidavit of Steven ONeill, # 3 Exhibit A to Declaration of Steven ONeill, # 4 Exhibit B to Declaration of Steven ONeill, # 5 Affidavit of Julian Moore, # 6 Exhibit A to Declaration of Julian Moore, # 7 Exhibit B to Declaration of Julian Moore, # 8 Exhibit C to Declaration of Julian Moore, # 9 Exhibit D to Declaration of Julian Moore, # 10 Exhibit E to Declaration of Julian Moore, # 11 Exhibit F to Declaration of Julian Moore, # 12 Exhibit G to Declaration of Julian Moore, # 13 Exhibit H to Declaration of Julian Moore, # 14 Text of Proposed Order)(Findlay, Eric)

Download PDF
Patent # 7,716,629 Claim Chart for the Android Framework Infringement of United States Patent number 7,716,629 by the Samsung's Android-Powered Smartphones FIGURE 1 (List Samsung's Android-Powered Smartphones from the SAMSUNG.COM Website) The Samsung Android-Powered Smartphone on Figure 1 infringe claims of U.S. Patent number 7,716,629 because they include "A system for generating a computer application on a host system in an arbitrary object framework that separates a content of said computer application, a form of said computer application, and a functionality of said computer application." Samsung imports these Smartphones into the United States. A user of these Samsung Android-Powered Smartphones can generate a computer application within the Android framework on Samsung's Android-Powered Smartphones themselves by using text editors or other text manipulation techniques provided on the Smartphones. After compiling the application, the executable can be put back on the Smartphone and run. 1 Patent # 7,716,629 Claim Chart for the Android Framework Infringement of United States Patent number 7,716,629 by the Samsung's Android-Powered Tablet Computers All those are Android Powered Tablet Computers. FIGURE 2 (List Samsung's Android-Powered Tablet Computers from the SAMSUNG.COM Website) The Samsung Android-Powered Tablet Computers on Figure 2 infringe claims of U.S. Patent number 7,716,629 because they include "A system for generating a computer application on a host system in an arbitrary object framework that separates a content of said computer application, a form of said computer application, and a functionality of said computer application." Samsung imports these Tablet Computers into the United States. A user of these Samsung Android-Powered Tablet Computers can generate a computer application within the Android framework on Samsung's Android-Powered Tablet Computers themselves by using text editors or other text manipulation techniques provided on the Tablet Computers. After compiling the application, the executable can be put back on the Tablet Computer and run. We will refer from now on to both Samsung's Android-Powered Smartphones and Samsung's Android-Powered Tablet Computers as "Android Devices". In order to explain this, and how the Android Framework infringes, the book "Professional Android 2 Application Development", ISBN 978-0-470-5656552-0 written by Reto Meier will be used. "Reto Meier is a software developer who has been involved in Android since its initial release in 2007. He is an Android Developer Advocate at Google". This book will be referred to as the "Meier Book". 2 Patent # 7,716,629 Claim Chart for the Android Framework GENERATION OF AN ANDROID APPLICATION ON THE ANDROID DEVICES The Android Devices are all Android-Powered. The Android Framework includes the Linux Operating System. As per the Meier Book, Page 14, in the lowermost block, it shows that the Linux is the lowest part of the Android Framework: FIGURE 3 (Meier Book, Page 14) The Linux Portion of the Android Framework includes built-in command line commands such as CAT, VI, CP, MV and RM. (Cat Can create text files, VI can modify them, CP, MV and RM can Copy , Move, Rename and Delete files). 3 Patent # 7,716,629 Claim Chart for the Android Framework In The Meier Book, Page 19, 4th paragraph, it shows that to create Android Applications , all that its needed is a Text Editor, or anything that can create text files: FIGURE 4 (Meier Book, Page 19) Using the Linux Portion of the Android Framework which includes built-in command line commands such as CAT, VI, CP, MV and RM, One can Create Arbitrary Objects, Manage Arbitrary Objects and Deploy these Arbitrary Objects. 4 Patent # 7,716,629 Claim Chart for the Android Framework We will use the book "Professional Android 2 Application Development", ISBN 978-0-470-5656552-0 written by Reto Meier, who described has "Reto Meier is a software developer who has been involved in Android since its initial release in 2007. He is an Android Developer Advocate at Google", we will refer to this book from now on as "Meier Book". Claim 1: "A system for generating a computer application on a host system in an arbitrary object framework that separates a content of said computer application, a form of said computer application, and a functionality of said computer application, said system including a computer comprising a processor and a memory operably coupled to said processor, said memory being configured for storing a computer program executable by said processor, said computer program comprising: " "a first set of executable instructions for creating arbitrary objects with corresponding arbitrary names of content objects" "used in generating said content of said computer application, " "form objects used in defining said form of said computer application," "and function objects used in executing said functionality of said computer application each arbitrary object being separate from each other arbitrary object;" "a second set of executable instructions for managing said arbitrary objects in an arbitrary object library; " "and a third set of executable instructions for deploying said arbitrary objects from said arbitrary object library into a design framework to create said computer application." 5 Patent # 7,716,629 Claim Chart for the Android Framework Claim 1 Preamble "A system for generating a computer application on a host system in an arbitrary object framework that separates a content of said computer application, a form of said computer application, and a functionality of said computer application, said system including a computer comprising a processor and a memory operably coupled to said processor, said memory being configured for storing a computer program executable by said processor, said computer program comprising: " -Android is a framework of arbitrary objects which separates form, function and content of a computer application, which runs on a host, either a smart phone , a tablet PC or even a virtual machine on a PC. Meier Book, Page xvii (more specifically 4th paragraph) and Page 4 (more specifically 7th bullet) essentially describes what is known in the industry as a framework. FIGURE 5 (Meier Book, Page XVII) 6 Patent # 7,716,629 Claim Chart for the Android Framework FIGURE 6 (Meier Book, Page 4) 7 Patent # 7,716,629 Claim Chart for the Android Framework Meier Book, Page 28 explains how the UI (Form) "decouples" the application logic (function) from your UI design (form) on its first paragraph. FIGURE 7 (Meier Book, Page 28) 8 Patent # 7,716,629 Claim Chart for the Android Framework Meier Book, Page 209 defines how the "Content Providers" "decouples" data storage (content) from your application logic (function) on its third paragraph. FIGURE 8 (Meier Book, Page 209) 9 Patent # 7,716,629 Claim Chart for the Android Framework Android's objects can be arbitrary objects. We created a sample application using the Android Software Developers' Kit (Android SDK). In the following example: <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/textview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="@string/hello"/> The Arbitrary Object "textview" is being called by its name (android:id="@+id/textview"), and additionally has three parameters. When compiling and running the application, the compilation goes fine, and the application runs fine (it prints "Alo mundo,Hello Android!) on the Android device as seen in here" FIGURE 9 (Arbitrary Objects called with parameters) 10 Patent # 7,716,629 Claim Chart for the Android Framework However, when we modify the call to "textview" to include just the name of the Arbitrary Object, the call will look this way: <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/textview" /> When making the above modification, the program compiles fine and the application runs normally, as can be seen on this screen print (We will refer to this later as "Sample Application") FIGURE 10 (Arbitrary Objects called by name only) 11 Patent # 7,716,629 Claim Chart for the Android Framework Claim 1 Element 1 "a first set of executable instructions for creating arbitrary objects with corresponding arbitrary names of content objects" The creation of those Arbitrary objects can be using command line tools, such as a text editor, or using the recommended tool , which is named Eclipse. Using a text editor is a lot more work because all of the files needed to create the object need to be edited correctly and placed on the correct location (folders), in order for the compiler to work. Using Eclipse facilitates the process but it is not necessary to create the Arbitrary Objects. The steps for generating a Computer application on the Android Framework when not using Eclipse are: -Creation of the application either by manually creating each source file with a text editor -Compiling of the application using a Java Compiler -Creating a "package" (A file which's extension is .APK", using the Android SDK named apkbuilder.bat , which is distributed with the Android SDK. -Moving that package file to the Android device, either by using Google's "Android Market" application (in the case of a SmartPhone), or using the buil tin android application named "File Manager", clicking on the file, and Android will then install it on the device. When using eclipse, all is necessary is to click on the "Run" menu ­ that is what was done on the application described earlier. 12 Patent # 7,716,629 Claim Chart for the Android Framework Claim 1 Element 2 " used in generating said content of said computer application, " The content can be generated by the "Content Provider" feature of Android. Meier Book, Pages 209-211 is a description of how it works. The title of the chapter, and throughout the whole text, it clarifies that the Android Framework can be used for generating the content: FIGURE 11 (Meier Book, Page 209) 13 Patent # 7,716,629 Claim Chart for the Android Framework FIGURE 12 (Meier Book, Page 210) 14 Patent # 7,716,629 Claim Chart for the Android Framework FIGURE 13 (Meier Book, Page 211) 15 Patent # 7,716,629 Claim Chart for the Android Framework Claim 1 Element 3 "used in generating said content of said computer application, " Form in the Android Framework normally is defined on the Resource folder, referred to as "R" or "Layouts", having the default "layout.xml" as the Form, but this name can be changed. On Meier Book, Page 63 and 64 describes how they work. More specifically , the last three paragraphs of Page 63 define Layouts as your "Presentation Layer" and "User Interface", which is Form. FIGURE 14 (Meier Book, Page 63) 16 Patent # 7,716,629 Claim Chart for the Android Framework FIGURE 15 (Meier Book, Page 64) 17 Patent # 7,716,629 Claim Chart for the Android Framework Also on Meier Book, Page 50, it describes "Activities" as Presentation Layer (which can be Form) of Android Applications. FIGURE 16 (Meier Book, Page 50) 18 Patent # 7,716,629 Claim Chart for the Android Framework Claim 1 Element 4 "and function objects used in executing said functionality of said computer application each arbitrary object being separate from each other arbitrary object;" Meier Book, Page 50, second bullet, describes "Services" as "The invisible workers of the application", (Which can be Functionality): FIGURE 17 (Meier Book, Page 50) 19 Patent # 7,716,629 Claim Chart for the Android Framework Claim 1 Element 5 "a second set of executable instructions for managing said arbitrary objects in an arbitrary object library; " The object library, when using eclipse is described as the "Workspace" of the Android Applications. If not using Eclipse, the management of these objects can be done manually by using normal command-line commands , such as "Copy", "Rename" , "Delete" or "Move", inside of a folder structure which is mandated by the Android SDK so the Computer Application can be built properly. 20 Patent # 7,716,629 Claim Chart for the Android Framework Claim 1 Element 6 "and a third set of executable instructions for deploying said arbitrary objects from said arbitrary object library into a design framework to create said computer application." These Arbitrary objects are deployed by building the complete application as described earlier : -Moving that package file to the Android device, either by using Google's "Android Market" application (in the case of a SmartPhone), or using the buil tin android application named "File Manager", clicking on the file, and Android will then install it on the device. The Meier Book, page XVII, on its 5th Paragraph, describes that the Android Market can be used for distribution, or Deployment: FIGURE 18 (Meier Book, Page XVII) 21 Patent # 7,716,629 Claim Chart for the Android Framework Claim 4 "The system of claim 1, wherein the third set of executable instructions are for deploying arbitrary objects locally." The Sample Application demonstrated on Claim 1, Element 1, makes use of arbitrary objects locally. Claim 8 "The system of claim 1, wherein the third set of executable instructions include instructions to access and deploy arbitrary objects into said design framework using said corresponding arbitrary names" The Android Framework enables access and deployment of said arbitrary names into said design framework. 22 Patent # 7,716,629 Claim Chart for the Android Framework Claim 10 "The system of claim 1, further comprising executable instructions for caching objects." The Android Framework caches objects. In this picture showing the Android terminal emulation application, the response to the command "ls" shows a subdirectory named "cache": FIGURE 19 (use cache) 23 Patent # 7,716,629 Claim Chart for the Android Framework Claim 12 "The system of claim 1, further comprising executable instructions for generating arbitrary objects in a programming language that is compatible and supported by said host system" The Android Framework allows such arbitrary objects to be developed in Java, which is a programming language supported by the host system. 24 Patent # 7,716,629 Claim Chart for the Android Framework Claim 21 "A system for generating a computer application on a host system in an arbitrary object framework that separates a content of said computer application, a form of said computer application, and a functionality of said computer application, said system including a computer comprising a processor and a memory operably coupled to said processor, said memory being configured for storing a computer program executable by said processor, said computer program comprising:" "a first set of executable instructions for creating arbitrary objects with corresponding arbitrary names" "of content objects used in generating said content of said computer application," "form objects used in defining said form of said computer application," "and function objects used in executing said functionality of said computer application," "each arbitrary object being callable by name only," "each arbitrary object being independently modifiable without corresponding modifications being made to any other arbitrary object, " "and each arbitrary object further being interchangeable with other arbitrary objects;" 25 Patent # 7,716,629 Claim Chart for the Android Framework Claim 21 Preamble "A system for generating a computer application on a host system in an arbitrary object framework that separates a content of said computer application, a form of said computer application, and a functionality of said computer application, said system including a computer comprising a processor and a memory operably coupled to said processor, said memory being configured for storing a computer program executable by said processor, said computer program comprising:" -Android is a framework of arbitrary objects which separates form, function and content of a computer application, which runs on a host, either a smart phone , a tablet PC or even a virtual machine on a PC. Meier Book, Page xvii (more specifically 4th paragraph) and Page 4 (more specifically 7th bullet) essentially describes what is known in the industry as a framework. FIGURE 20 (Meier Book, Page XVII) 26 Patent # 7,716,629 Claim Chart for the Android Framework FIGURE 21 (Meier Book, Page 4) 27 Patent # 7,716,629 Claim Chart for the Android Framework Meier Book, Page 28 explains how the UI (Form) "decouples" the application logic (function) from your UI design (form) on its first paragraph. FIGURE 22 (Meier Book, Page 28) 28 Patent # 7,716,629 Claim Chart for the Android Framework Meier Book, Page 209 defines how the "Content Providers" "decouples" data storage (content) from your application logic (function) on its third paragraph. FIGURE 23 (Meier Book, Page 209) 29 Patent # 7,716,629 Claim Chart for the Android Framework Android's objects can be arbitrary objects. We created a sample application using the Android Software Developers' Kit (Android SDK). In the following example: <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/textview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="@string/hello"/> The Arbitrary Object "textview" is being called by its name (android:id="@+id/textview"), and additionally has three parameters. When compiling and running the application, the compilation goes fine, and the application runs fine (it prints "Alo mundo,Hello Android!) on the Android device as seen in here" FIGURE 24 (Arbitrary Objects called with parameters) 30 Patent # 7,716,629 Claim Chart for the Android Framework However, when we modify the call to "textview" to include just the name of the Arbitrary Object, the call will look this way: <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/textview" /> When making the above modification, the program compiles fine and the application runs normally, as can be seen on this screen print, we will call it "Sample Application": FIGURE 25 (Arbitrary Objects called by name only) 31 Patent # 7,716,629 Claim Chart for the Android Framework Claim 21, Element 1 "a first set of executable instructions for creating arbitrary objects with corresponding arbitrary names" The creation of those Arbitrary objects can be using command line tools, such as a text editor, or using the recommended tool , which is named Eclipse. Using a text editor is a lot more work because all of the files needed to create the object need to be edited correctly and placed on the correct location (folders), in order for the compiler to work. Using Eclipse facilitates the process but it is not necessary to create the Arbitrary Objects. The steps for generating a Computer application on the Android Framework when not using Eclipse are: -Creation of the application either by manually creating each source file with a text editor -Compiling of the application using a Java Compiler -Creating a "package" (A file which's extension is .APK", using the Android SDK named apkbuilder.bat , which is distributed with the Android SDK. -Moving that package file to the Android device, either by using Google's "Android Market" application (in the case of a SmartPhone), or using the buil tin android application named "File Manager", clicking on the file, and Android will then install it on the device. When using eclipse, all is necessary is to click on the "Run" menu ­ that is what was done on the application described earlier. Claim 21, Element 2 "of content objects used in generating said content of said computer application," The content can be generated by the "Content Provider" feature of Android. Meier Book, Pages 209-211 is a description of how it works. The title of the chapter, and throughout the whole text, it clarifies that the Android Framework can be used for generating the content: 32 Patent # 7,716,629 Claim Chart for the Android Framework FIGURE 26 (Meier Book, Page 209) 33 Patent # 7,716,629 Claim Chart for the Android Framework FIGURE 27 (Meier Book, Page 210) 34 Patent # 7,716,629 Claim Chart for the Android Framework FIGURE 28 (Meier Book, Page 211) 35 Patent # 7,716,629 Claim Chart for the Android Framework Claim 21, Element 3 "form objects used in defining said form of said computer application," Form in the Android Framework normally is defined on the Resource folder, referred to as "R" or "Layouts", having the default "layout.xml" as the Form, but this name can be changed. On Meier Book, Page 63 and 64 describes how they work. More specifically , the last three paragraphs of Page 63 define Layouts as your "Presentation Layer" and "User Interface", which is Form. FIGURE 29 (Meier Book, Page 63) 36 Patent # 7,716,629 Claim Chart for the Android Framework FIGURE 30 (Meier Book, Page 64) 37 Patent # 7,716,629 Claim Chart for the Android Framework Also on Meier Book, Page 50, it describes "Activities" as Presentation Layer (which can be Form) of Android Applications. FIGURE 31 (Meier Book, Page 50) 38 Patent # 7,716,629 Claim Chart for the Android Framework Claim 21, Element 4 "and function objects used in executing said functionality of said computer application," Meier Book, Page 50, second bullet, describes "Services" as "The invisible workers of the application", (Which can be Functionality): FIGURE 32 (Meier Book, Page 50) 39 Patent # 7,716,629 Claim Chart for the Android Framework Claim 21, Element 5 "each arbitrary object being callable by name only," The Sample Application demonstrated in Claim 21, Element 1, calls the arbitrary object by name only. Claim 21, Element 6 "each arbitrary object being independently modifiable without corresponding modifications being made to any other arbitrary object, " In the Meier Book, there are many references of "decoupling" form from content, and from form, as a way of showing how these objects can be independently modified without changes to the other arbitrary objects. The Meier book, on page 209, defines how the "Content Providers" decouples data storage from your application logic on its third paragraph: FIGURE 33 (Meier Book, Page 209) 40 Patent # 7,716,629 Claim Chart for the Android Framework The Meier Book, Page 63, under the headline named "Layouts", defines how layouts decouple your user interface from your code: FIGURE 34 (Meier Book, Page 63) 41 Patent # 7,716,629 Claim Chart for the Android Framework Claim 21, Element 7 "and each arbitrary object further being interchangeable with other arbitrary objects;" Again in the Meier Book, Page 63 in the last paragraph it explains how these arbitrary objects are interchangeable, for the benefit of having the application support Android devices of varying screen sizes, keyboards and such: FIGURE 35 (Meier Book, Page 63) 42 Patent # 7,716,629 Claim Chart for the Android Framework Claim 24 "The system of claim 21, wherein the third set of executable instructions are for deploying arbitrary objects locally" The Sample Application demonstrated on Claim 21, Element 1, makes use of arbitrary objects locally. Claim 28 "The system of claim 21, wherein the third set of executable instructions include instructions to access and deploy arbitrary objects into said design framework using said corresponding arbitrary names." The Android Framework enables access and deployment of said arbitrary names into said design framework. 43 Patent # 7,716,629 Claim Chart for the Android Framework Claim 30 "The system of claim 21, further comprising executable instructions for caching objects." The Android Framework caches objects. In this picture showing the Android terminal emulation application, the response to the command "ls" shows a subdirectory named "cache": FIGURE 36 (use of cache) 44 Patent # 7,716,629 Claim Chart for the Android Framework Claim 32 "The system of claim 21, further comprising executable instructions for generating arbitrary objects in a programming language that is compatible and supported by said host system" The Android Framework allows such arbitrary objects to be developed in Java, which is a programming language supported by the host system. 45

Disclaimer: Justia Dockets & Filings provides public litigation records from the federal appellate and district courts. These filings and docket sheets should not be considered findings of fact or liability, nor do they necessarily reflect the view of Justia.


Why Is My Information Online?