2010年8月19日 星期四

Oracle告Google - 看專利學專利(About Claims XXXIII)

Oracle公司於美國北卡地方法院提出侵權訴訟,告上Google,認為Android中使用JAVA撰寫的功能
其中專利原本是Sun Microsystems公司所有的:
6,125,447; 6,192,476; 5,966,702; 7,426,720; RE38,104; 6,910,205; 6,061,520

申請日最早的是:5,966,702
專利標的是前置處理與類別包裹的方法與裝置,這看來確實是JAVA程式的處理資訊的形式,透過去除重複無用的類別(class)來減少類別檔案大小,而且類別檔是包裹一個包裹檔內(single package),不會有多餘累贅的檔案。
就以下圖示來看,JAVA原始檔經編譯後形成.class檔案,進到虛擬機器(VM)執行,由web呈現,這可以是幾年前比較流行在網頁上呈現的java applet的運作方式

就權利範圍來看,有多種標的,可以作為軟體專利的參考:
主要範圍包括前置處理類別檔的方法,包括判斷出重複的類別檔、建立這些需要共享的類別檔的表,移除重複的部份,形成一個.class檔:
1. A method of pre-processing class files comprising:
determining plurality of duplicated elements in a plurality of class files;
forming a shared table comprising said plurality of duplicated elements;
removing said duplicated elements from said plurality of class files to obtain a plurality of reduced class files; and
forming a multi-class file comprising said plurality of reduced class files and said shared table.
又寫了一個執行上述程式的產品
7. A computer program product comprising:
a computer usable medium having computer readable program code embodied therein for pre-processing class files, said computer program product comprising:
computer readable program code configured to cause a computer to determine a plurality of duplicated elements in a plurality of class files;
computer readable program code configured to cause a computer to form a shared table comprising said plurality of duplicated elements;
computer readable program code configured to cause a computer to remove said duplicated elements from said plurality of class files to obtain a plurality of reduced class files; and
computer readable program code configured to cause a computer to form a multi-class file comprising said plurality of reduced class files and said shared table.
又寫了一個包括處理器與建立類別檔的裝置
13. An apparatus comprising:
a processor;
a memory coupled to said processor;
a plurality of class files stored in said memory;
a process executing on said processor, said process configured to form a multi-class file comprising:
a plurality of reduced class files obtained from said plurality of class files by removing one or more elements that are duplicated between two or more of said plurality of class files; and
a shared table comprising said duplicated elements.
另有一個儲存資料的記憶體的範圍:
20. A memory configured to store data for access by a virtual machine executing in a computer system, comprising:
a data structure stored in said memory, said data structure comprising:
a plurality of reduced class files associated with a plurality of corresponding classes, said plurality of reduced class files configured to be loaded by the virtual machine for execution of said plurality of classes;
a shared table comprising one or more elements that are duplicated between two or more of said plurality of classes, said shared table configured to be loaded into the virtual machine to be accessed for said duplicated elements; and
a memory requirement value configured to be read by a class loader of the virtual machine to allocate a portion of a runtime data area for loading said plurality of reduced class files and said shared table.

稍近的專利案7,426,720揭露一種透過複製系統程序的方式動態預載類別的方法,這應該是電腦系統先預先執行一個JAVA虛擬機器(JVM)的運作方式,透過複製主執行程序(parent)產生child的程序,其中類別與變數定義皆繼承自parent process,記憶體複製雖然會造成浪費,但對執行多個程序而言卻是十分有效率。


Ron

沒有留言: