TWI431528B - 經由相減性安裝達成選擇性分配軟體資源的裝置與方法 - Google Patents

經由相減性安裝達成選擇性分配軟體資源的裝置與方法 Download PDF

Info

Publication number
TWI431528B
TWI431528B TW095147423A TW95147423A TWI431528B TW I431528 B TWI431528 B TW I431528B TW 095147423 A TW095147423 A TW 095147423A TW 95147423 A TW95147423 A TW 95147423A TW I431528 B TWI431528 B TW I431528B
Authority
TW
Taiwan
Prior art keywords
storage medium
data
resources
software
software resources
Prior art date
Application number
TW095147423A
Other languages
English (en)
Other versions
TW200809623A (en
Inventor
Joshua Shapiro Alan
Original Assignee
Joshua Shapiro Alan
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Joshua Shapiro Alan filed Critical Joshua Shapiro Alan
Publication of TW200809623A publication Critical patent/TW200809623A/zh
Application granted granted Critical
Publication of TWI431528B publication Critical patent/TWI431528B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/123Shopping for digital content
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Human Computer Interaction (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Description

經由相減性安裝達成選擇性分配軟體資源的裝置與方法
本發明係有關一種數位資料處理之裝置與方法,尤其對刪減性安裝而言,是一種利用移除允許資源中之訂製化子集以外的資源,將收納在數位儲存媒介內之可能資源的建構集合中被選出的數位內容,加以分配且具顯著效率之機器。
泛用電腦在這個產業化社會中幾乎是扮演了全方位的具體角色。電腦擔任了廣大範圍的角色,從家庭娛樂中心到溝通裝置、生意工具、研究勞動力、運作資訊基礎經濟的完全引擎,及其他眾多事務。但電腦是個奇怪的野獸,因為其餘針對大眾推出的昂貴產品離開盒子之後根本毫無用處且設計無法正常運作。
泛用電腦的問題就在於:它們是泛用的。要發揮它們的每個特定作用,必須藉由載入、訂製化、組裝來達到購買電腦者個人或團體的特定目的。這些惱人的任務通常第一步就得由直接終端使用者完成(通常他對電腦感到害怕,甚至根本不具備任何電腦組態的專業知識),必須接二連三安裝一整組軟體資源,這些東西包括以數位、類比或其他形式存在的各種電腦程式、資料、感知表現(視聽資源)之資訊及內容。第二步便是用戶根據問題回答個人特定資料並按下確定鍵,於是軟體輸入就完成了。第三步通常在這些軟體確定安裝後會自行處理。
這裡所使用的「感知表現」是指軟體資源,習慣上相對於資料(data)用來描述數量,它則是用來描述品質。感知表現原則上可表示出固定或非固定期間內簡單或複雜的感知刺激。感知表現通常由自我描述的可選擇物件內容、或是一個或多個檔案的結構集合建構而成。部分實施例中感知表現是以數位資訊表現,在其他實施例中則是使用類比或其他形式的表現。感知表現的例子還包括影像(包括繪圖、製圖、照片)、描述電影和影像的動畫和聲音檔、電子書、廣播節目、音樂、鈴聲音調、虛實模擬、電腦遊戲、及字形。部分實施例中,感知表現可能還包括其他感知表現,如觸覺、味覺、動作、嗅覺、接近、溫度、及方向。
許多因素會造成終端使用者的適度訂製化產生不便且問題叢生。第一,終端使用者的選擇很不幸地已被既存內容分配頻道的特性給限制住了。內容可由實體儲存媒介上傳,如光學儲存碟片(例CD、DVD、HD-DVD或諸如此類),這是一種收縮包裝的盒裝產品,抑或選擇從網路上下載內容。因此可選擇的內容都有高度的限制,像是零售商的店面棚架空間與庫存商品之售價收益性、或是內容總數的巨大性以及上網下載時網路連結的頻寬速度。
第二,像這樣的訂製化勢必得花上大把時間。終端使用者需積上一堆如電腦程式之類的內容物好安裝到電腦裡,好將電腦訂製化,而每份安裝內容的需求集合通常都是附加或獨立於其他的安裝內容。因此用戶需重複購買內容、安裝內容、購買附加內容、安裝附加內容等步驟直到電腦達到期望的機能性。要訂製化一台全新的電腦,光是安裝最基本的程式和內容集合就得讓用戶忙上兩天。即便是特殊用途的電腦如MP3、音頻播放器、數位個人影像錄製器、行動電話、個人數位助理(PDA)、數位手錶或其他,用戶必定要購買內容或甚至購買程式跟其他集合,以便訂製化這種用戶特殊用途電腦的功能性,讓它的效用成為個人專屬。
第三,終端使用者的訂製化可能造成電腦全體運作的不穩定。超過四分之一的適用失敗都是源自安裝及組態問題。大多數的時候,電腦程式安裝包含多種必要資源的安裝,像是字型或程式中共享的必要程式元件。這類必要程式元件通常包含程式庫(code library)(如軟體常式(routine)集合),在作業系統微軟Windows家族裡,這些書庫被稱為動態連結庫(dynamic link libraries,DLLs)。動態連結庫(DLLs)會由業者定期公開各種版本,而這些版本在行為上都有不可預測及沒來由地改變。因此一個新程式的安裝若裝入一個新的動態連結庫(DLL),覆寫並取代了先前安裝之程式所使用的同一個動態連結庫(DLL),那麼對先前安裝之程式的正確功能恐怕會有危險。
如果不仔細注意電腦中的既存資源,新程式的安裝可能會引起先前安裝程式的間歇性不穩定及功能故障,而這狀況幾乎是無法偵測或修復的。這種「缺失」以及惱人的現象在電腦上很常見,因此也被暱稱為「動態連結庫災難」。
最後,終端使用者要將電腦訂製化可說是複雜、困擾、又吃力。除了少數受過特別訓練且獲得認證的人之外,現今的作業系統複雜度超過所有技術層面。電腦程式安裝需要終端使用者從眾多組態和選擇中剔除並提供各式各樣的資料。這些資料可能包括選擇要安裝哪些可用的物件,以及選擇將程式安裝在電腦適當的儲存區域。雖然多數安裝系統都提供指引教導用戶如何做出選擇,但所提供的指令對業餘者來說可能還是顯得模糊或曖昧不清,且錯誤代碼也令人難以理解。
通常安裝過程都會暫停好讓用戶指示選擇。用戶有時會必須閱讀並確認一份冗長的用戶授權同意書。其他時候可能是要分別輸入一長串識別碼、用戶的姓名住址、或其他資訊來合法啟動每個程式。上述對用戶的每個要求動作在安裝過程中除了顯示出過度繁複、不便的延宕及困擾外,還是一項潛在的風險來源。
電腦的問題在於,一旦以使用傾向進行訂製化,對各自的使用者們而言它們就是最優秀的。即便有些電腦製造者會提供選擇給顧客,但那些選擇都是有限且基本的。舉例來說電腦製造者可能會提供顧客一個有限的作業系統選擇:(1)微軟Windows XP家用版(2)微軟Windows XP專業版(3)以上皆非。製造者可能還會提供顧客一個有限的OFFICE配件軟體選擇:(1)微軟OFFICE進階版(2)微軟OFFICE專業版(3)微軟Small Business或是(4)以上皆非。
這種一般的方式無法提供用戶獲得一種他們所實際特定尋求 的產品。電腦製造者現在尚未提供任何改良,甚至是實際生產用途上的訂製化必要改良也未提及。儘管某些服務對顧客而言,受限於大量銷售的可供應最低水準,但電腦訂製化還是經常被視為是購買者無助的負擔。
而即便是慣例性附加在新電腦裡的有限軟體也有了生產瓶頸。主要的Electronic Contract Manufacturing(ECM),Electronics Manufacturing Services(EMS),以及Original Design Manufacturer(ODM)等公司運作著全球的設備.在ECM,像是桌上型電腦的硬體組裝要花上將近15分鐘。接著一台個人電腦要跑完整個軟體讀入作業,如作業系統和其他軟體的讀入,生產作業就要再花上90分鐘甚至更多時間。製造者原則上都會限制可能選項以供選擇,因為不特定多數的軟體資源在經濟上而言會耗費太多時間來安裝。他們讓用戶自行安裝或組裝其他不在這有限選擇內的其他軟體資源。
[訂製化(Build-To-Order,BTO)環境的簡介]
許多專利提到嘗試將電腦上的軟體訂製化,有些還提到了訂製化作業。這種作業基本上是使用附加安裝,從一台磁碟機上連續讀入和/或安裝套件。如於此一併參照2000年6月27日核發給Kroening等人之美國專利6,080,207「作成與傳達軟體的系統與方法」。Kroening等人揭示了一種電腦化方法,用於替電腦系統的硬碟是依據購買顧客之期望作確定的軟體組態生產一種訂製化的軟體組態。此一系統與方法使用了影像建造(image builder)作成期望中的軟體組態的光碟影像,再將影像傳輸至儲存裝置。該儲存裝置連接到一個可在製造或組裝電腦系統的過程中,直接傳輸光碟影像(如基線軟體組態的影像)到硬碟裡的影像伺服器。一旦電腦系統組裝完成,影像伺服器就會透過有限或無線連結廣發附加資料(如對應基線軟體組態與期望軟體組態之變動的資料)到電腦系統上。
在另一例子中,於此一併參照於2002年5月7日核發給Doran.Jr.等人之美國專利6,385,766「在訂製化電腦系統上安裝Windows基準之軟體安裝的方法與裝置」。Doran.Jr.等人揭示了一種自動安裝軟體到電腦系統裡的方法,包括讀入作業系統(OS)。此作業系統備有一起始軟體,在建置作業系統時,用以初始化安裝Windows基準之套件。其中至少有一套指定套件及一對應之Windows基準的套件安裝器讀入至電腦裡,接著執行創造作業系統。最後指定套件在Windows基準下的安裝將於回應起始軟體後初始化,Windows基準的安裝將依據對應之軟體安裝器完成。
[安裝及移除安裝過程之導論]
其他專利提及了安裝及移除的方法,例如於此一併參照1998年6月16日核發給Harikrishnan等人之美國專利5,768,566「移除套裝電腦程式之設備與方法」。Harikrishnan等人揭示了一種具有自行移除之設備的電腦程式製品。此一設備可動態適用於各種可能的安裝,因此只需儲存供特定安裝使用之壓縮備份複製。此一功能設備可運用許多安裝檔案去確定何種檔案該予以備份。當程式被移除後,支援檔案便會嘗試使電腦系統回復到程式安裝前的狀態,於是支援檔案在系統上又再次回復到它們的原始狀態。
於此一併參照1999年12月21日核發給Nabahi之美國專利6,006,035「訂製化電腦軟體的安裝之系統與方法」。Nabahi揭示了一種使用標準規格基準(standard-rule based)之安裝引擎的訂製化電腦軟體(附加)安裝方法。標準安裝參數會由管理系統員譯成簡易語法語言檔,套件被安裝至之用戶端(終端使用者)的電腦上並使用儲存於規格基準指示檔的指令執行安裝引擎。規範基準指示檔(批次檔)是由專用套件的提供者設計,或根據系統管理員的標準安裝參數所生產,用規格基準之安裝引擎來控制軟體安裝。該語法控制了安裝事件(event)的序列,包括(1)檔案複製事件中,來自套件之檔案會被複製到用戶端的電腦上,及(2)作業系統修正事件中,用戶端電腦上的作業系統參數將被修正為允許套件之安裝。
於此一併參照2000年2月15日核發給Chowdhury等人之美國專利6,026,439「使用播放清單的檔案傳輸器」。Chowdhury等人揭示了一種從記憶體傳輸資料到檔案解讀器裡以便進一步作業的方法,例如影像檔就必須送至播放解讀器處理才能顯現。複數的控制功能可供控制使用者或使用系統進行存取時的身分認證、序列及流程,以便將資料傳輸處理之效能作最大化。
於此一併參照2002年8月27日核發給Curtis之美國專利6,442,754「檢查軟體安裝或移除時已安裝軟體元件之相依性的系統、方法與程式」。Curtis揭示了一種安裝程式至裝有作業系統之電腦上的方法。相依性物件指的是程式安裝所需依靠的依賴元件,該程式會在安裝程式前存取相依性物件並確定作業系統之命令,以確認該相依性物件是否已安裝至電腦裡。接著該程式會執行作業系統之命令,指示出被確定為尚未被安裝的相依性物件。
於此一併參照2002年10月4日核發給Cheng,Jr.等人之美國專利10/264,670(申請案號2003-0110241)「移除電腦軟體之系統、方法與電腦程式產品」。Cheng,Jr.等人揭示了一種可將眾多終端使用者之用戶端電腦上已安裝之軟體產品作更新的軟體之方法。該系統可讓包括服務供應者的電腦、一群用戶端電腦、以及軟體販售者的電腦在網路上溝通。服務供應者在更新之更新資料庫上存有關於各個軟體販售者的軟體更新資訊,包括識別軟體產品可取得何種更新、它們在各個軟體販售者的電腦系統上的網路位置、存在用戶端電腦上之識別用軟體產品資訊,及確定何種產品可取得更新之資訊。用戶端電腦連接至服務供應者電腦以獲得資料庫的最新版本部分,用戶端電腦從資料庫中確定何種產品可取得更新。使用者選擇之更新從軟體販售者電腦上下載後安裝至用戶端電腦上,軟體更新費用則由服務供應者電腦居中處理。使用者認證確保只有註冊者才能獲得更新,軟體更新認證則確保軟體更新不帶病毒且未敗壞。安裝中的用戶端電腦變化受到監控並予以存檔,並准許使用者可在之後移除更新。
上述之先前技術,無論個別或合併而論,都無法提供生產者及使用者一個合適的平台作說明並提供一種量產訂製化數位器具。這些專利未能提供一種迅速、經濟、可靠的方法提供特定使用者已依照他們希望在一群可得軟體資源中挑選出所需軟體資源並加以安裝的版本。
目前所需要的是一種能快速、可計量、並自動分配數位軟體或其他內容的訂製化集合到一個資訊處理裝置上的科學技術,並且在一個無壓迫狀態下得以立即使用這些資源。
部分實施例中,本發明提供了一種有助於側載(sideloading)軟體資源到完成裝置上之製品、電腦程式、產品、及/或裝置的方法。側載(與其他像是從網路上下載或從CDROM中上傳的處理過程不同)包括迅速生產一種儲存媒介,其中含有完全訂製化、顧客導向的一組已安裝軟體資源。連結儲存媒介並載入已安裝軟體資源(例如軟體等)至資訊處理裝置(例如硬體等)裡使裝置得以作業(例如軟硬體功能上合併在一起後基本上就可以使用)。側載提供一種專業完備的使用者導向安裝,好處在於用獨特選擇之集合來作業硬體,而不需事先額外花費金錢與時間安裝其他軟體資源。在各種實施例中,不同部分的側載過程會在儲存媒介連結到裝置之前或之後完成。
在部分實施例中,側載可藉由「刪減性安裝」完成。刪減性安裝給予使用者一個可供選擇的軟體資源的大型主動超集合(superset)(最大複雜度的一個集合)。使用者選擇欲保留的資源後,未被選取的資源則被移除。篩選動作(Gryphing)這個字彙在這裡是表示從儲存媒介中移除的處理過程,像是在先前已安裝的大量軟體資源中,移除那些被選為不保留的資源集合(或是移除那些被選為移除的資源集合)。
篩選動作是一種篩選資源,刪除資料和/或從目錄、註冊情報 和/或其他數存取區域中移除安裝程式。有了篩選動作,使用者可選擇軟體資源子集購買。使用者僅需付費購買他/她所需要的軟體資源,至於其他所有資源(未被選取的)則會被篩選動作處理程序刪除。一位傳統使用者可能無法負擔所有包含在超集合裡的軟體資源,因此能讓他或她從廣泛多樣式的資源裡選擇所需資源的能力將會有所幫助。販售商將由廣泛多樣式資源的可得性獲得來自附加販售所達成之利益。
有了刪減性安裝,清除未選擇資源一般而言會比以傳統方式(稱為附加安裝)安裝選擇資源要快。並且先前刪除部分所使用的儲存空間也可用來儲存其他資料。此外,製造者可利用專家創造出資源的初始集合預先安裝在儲存媒介裡,並設計一種可移除未選擇資源的完善方法,那麼相容性問題與組態衝突將大幅減少。
在部分實施例中,本發明提供一種可接受及安裝使用者訂製化訂單所製造的資訊處理器具,其中具有使用者選擇之電腦程式或其他軟體資源,並根據用者訂單從先前用來保存選擇軟體資源之超集合的儲存媒介中刪除未選擇之物件。在部分實施例中,選擇資訊會傳送到中央伺服器再由中央伺服器將篩選動作資訊傳送出去。在部分實施例中,價格是根據選擇資訊來向使用者戶頭請款。
在部分實施例中,側載將使用者訂製化儲存媒介有效連結至資訊處理裝置,以提供一個完全訂製化的作業處理裝置(或稱作資訊處理器具)。此裝置有可能是一台個人電腦、伺服器、MP3播放器、行動電話、數位影碟、個人數位助理(PDA)、遊戲操縱器、交通工具(如汽車就有數個處理器在控制汽車作業,包括提供資料庫給它的GPS導向系統、預先讀取娛樂設備、特定模式維修證據文書與診斷書)、冷凍裝置、產業工具、收銀機、武器或其他等。
在部分實施例中,訂製化儲存媒介是由軟體資源之刪減性安裝構成,其中儲存媒介已事先預載至可購入和/或可分配(可取得內容之總集稱之為泛集(Panoplex))之軟體資源的超集合上,在選動作處理後移除未選擇之軟體資源(創造消去空間以便用於其他資料)並保留選擇資源(因此它實質上可運用,但終端使用者不需實際花費力氣或額外輸入)。泛集器在實質容器裡頭的功用就如同分配器(一種裡面儲有東西且在人為操作時可供應及傳送的自動機器),因此它的設計可用容量都是預設量。
在部分實施例中,本發明提供一種隨即儲有泛集器的儲存媒介。泛集器從可能被選擇的可訂製化子集中提供軟體資源的超集合。在部分實施例中,初始狀態的儲存媒介被認為是一種媒介物,一種根據本發明做部分處理以便複製軟體資源之超集合到儲存媒介上,並以進一步處理將那些未被選擇保留的資源移除及/或使選擇保留的資源得以使用。部分實施例中,對二選一來說這種結合本身就是終極產品。
在部分實施例中,訂製化儲存媒介至少有一部份是由軟體資源(如軟體程式、控制運算法則、音樂、影片、還有圖像、資料之類)的刪減性安裝藉著複製檔案集合,以及修正作業系統參數來構成至儲存媒介上。在部分實施例中,非原始泛集器或使用者特定資訊中所發生的程式或軟體資源,會在上述刪減性安裝之後以附加安裝使用。
在部分實施例中,側載使用刪減性安裝提供從儲存媒介中分配出來的使用者選擇內容到先前所複製的可得內容之超集合裡。可得資源內未被選擇的部分則隨後以篩選動作刪除,只留下選取內容以供利用和/或安裝於儲存媒介上。實際上選擇內容是藉由移除未選擇內容來安裝,當篩選後的儲存媒介與已適當地逐步安裝好選取軟體資源的儲存媒介在功能上劃上等號時,使能使安裝的相容性或訂製化更加完善。
其他的選擇軟體也可選擇性地逐步安裝至可篩選儲存媒介中。可篩選儲存媒介(如:光碟或光碟機(ODD)、磁碟驅動器,或是固態記憶體(solid-state memory)(如:FLASH或手寫記憶體))已合併至裝置裡(如:電腦、音樂播放器、影像播放器、手機或可播放儲存音樂的混合手機(hybrid cell-phone)),故可適合播放或操作這類內容(像是電腦程式、音樂或影像),使終端使用者得以利用這些選擇性內容。這種具有訂製化內容最佳連結的適宜作業裝置,將創造一種屬於易於使用器具的資訊處理器具。
在部分實施例中,本發明提供一種可產生包括可選擇式的獨立安裝軟體資源全集之泛集的方法,將泛集複製到複數的每個可用資訊處理器(information-processor-usable)、終端使用者儲存媒介裡,以獲得一組最初的選擇資料來辨識選用資源(如:保存已安裝複數軟體資源中的第一組子集)與非選用資源(如:不保存已安裝複數軟體資源中的第二組子集),篩選已選擇的第一終端使用者媒介(由選擇資料明確指定從終端使用者媒介中選取、消去和/或移除安裝非選用資源),並傳送這個篩選過的終端使用者媒介(如:傳送至一位終端使用者)。
在部分實施例中,收費機器通常會根據選擇資料,來對使用者帳號的保存內容做收費或記帳(如保存資源的金錢匯兌)。在部分實施例中,篩選行為通常包括檢查特定使用者是否確實收到選擇資源,且篩選行為可能要求明確的授權號碼(或類似物)以確保能打開選擇資源裡的東西。在部分實施例中,除非有提供明確的授權號碼,否則部分資源可能無法出現在身為資源超集合使用者的他/她所能選擇的顯示清單上供其選擇。這在軍事或警察的背景中,若某位官員被提供一種可利用軟體選擇廣泛多功能的武器,但這種背景中在那些功能可供選擇之前,有一部分會要求從上級官員獲得明確的許可或授權(如:關於保留資源的授權交換)。
因此選用資源乃是一種由使用者個別確定的抽象包捆內容。在部分實施例中,第一終端使用者媒介是從複數的不同儲存媒介中,依據符合選擇資料的第一集合來選出(如:來自第一客戶的選擇),其中每一個儲存媒介都存有相異的一個或多個泛集。在部分實施例中,顯示給特定使用者看的選擇清單可能依據銷售者或提供者(如:零售商賣場的特惠價格會剔除某些特定資源,特定機關、階層、領域的雇主必須在泛集,或在有限、要求管理授權的企業下才能利用這些選項)或消費者(如:某些人只想看hip-hop,,藍調,或爵士部分的選擇)的確定基準而有所限制。
部分實施例中,第二儲存媒介是依據由第二客戶的選擇而成之選擇資料的第二集合所選擇出來。接著第二儲存媒介將會被刪除以便替第二客戶的裝置獲得不同的選用資源。本發明便是提供一種可在廣泛多元性的抽象包捆或套件中,靈活並動態地分配使用者所選擇的軟體和/或多媒體的方法,而非只能在使用販售者事先預組好的包捆裡作有限選擇。
部分實施例中,泛集的產生包括提供一個具有作業系統(OS)的電腦系統及一個安裝儲存媒介,並使用作業系統和/或其他軟體安裝複數的軟體資源到安裝儲存媒介上以便初始化創造一個主泛集(master panoplex)。這個先前主泛集創造物可允許製造業者的專家或供應商選擇一個最完善的指定順序及內部儲存配置以供安裝。他們亦可確定、調整、或修改相互依存性(interdependencies)以及其他在為數眾多的可能需要的程式或軟體資源中會有的安裝問題。
泛集可因作業系統或檔案系統,裝置類型或媒介類型而有所不同;儲存媒介與複製方法(如固定、移除、硬碟驅動程式、FLASH和/或光學),每台裝置所安裝的泛集數量,配列及步驟順序,後續步驟的location與party,方法精巧度,眾多泛集的結合,軟體的片段安裝(stub installs)使已複製軟體和/或軟體下載和/或升級的活動化更為容易,服從(compliance)檢查(每個軟體資源是否順一個標準以確保眾多軟體合併的協調性及功能性),和/或軟體資源安裝是否為生產裝置的一部份(如:新的個人電腦、手機或音樂播放器),製造升級服務的(如:光碟機或快閃式記憶體這類可附裝在個人電腦、手機、音樂播放器上以便使能力升級),或在零售商處完成升級(如:現存電腦中儲存媒介的清除、格式化、重新讀取)。
泛集可同時複製一群到儲存媒介裡再加以篩選以使特定終端使用者的選擇獲得使用者選擇的訂製化軟體資源子集。每個裝置(如:電腦硬體)的購買者可挑選軟體資源的任何子集(如:讓硬體可用的需要軟體)購買和/或保留。部分實施例包括在複數儲存媒介中選出一個可能包含最多使用者選擇的泛集。接著這些泛集將依據使用者軟體資源的選擇集被篩選,那麼未選擇資源(即非選用資源)將被清除或移除安裝,選擇資源(即選用資源)將被傳送至使用者當作備用(ready to use)的裝置的一部份。使用此一儲存媒介的結果裝置,將比每個終端使用者隨機選取安裝訂單或慣性安裝對應的軟體資源集更為可靠,並比製造商或終端使用者分別獨立安裝選擇資源子集更快速生產,即便這個內容具有完善的指定。
部分實施例中,兩個或以上的泛集都儲存在主儲存媒介上。第一選取的泛集從主儲存媒介複製到第一終端使用者複數的每個儲存媒介上,而第二選取泛集則複製到第二終端使用者複數的每個儲存媒介上。部分實施例中,選取泛集是在生產及測試過程的最後作業才寫入所選取的複數終端使用者儲存媒介的磁碟機或其他儲存媒介中。一般通常是一組零或其他空白資料行為模式(如:傳統上寫入碟裝置的全資料區域裡的最後資料並不是程式或其他軟體資源),這些最終行為模式經讀取後並將它的資料與計畫寫入的資料作比較。部分實施例中,泛集的寫入和讀取則取代或順應這個最後作業。
部分實施例中,一個或多個的資料符號化、隔離、或其他保護方式都是用於隱藏或防止軟體資源被接近而納入其他終端使用者儲存媒介泛集裡,除非或直到啟動每個終端使用者儲存媒介的篩選程式。部分實施例中,空白的目錄架構是為了終端使用者儲存媒介的目錄而寫入作業系統的初始位置,儲存媒介若被作業系統使用那麼它就會出現在作業系統或使用者面前而成為實質上的空白。部分實施例中,泛集的實際目錄資料是寫在終端使用者儲存媒介的別處或額外儲存裝置上,因此篩選程式可藉由作業系統來為它的目錄存取泛集目錄資料,篩選之並將它寫入初始位置。
部分實施例中,一個選擇程式對使用者呈獻一個可簡化在選擇資源(選用資源)中獲得的軟體資源選擇的互動使用者介面。部分實施例中,價格/利潤最適化/最大化的計畫與選擇程式是有相互關連的,根據特定顧客、選擇購買的其他資源、產品和服務、選擇商品的全體價格和利益性、季節性和/或其它暫時資訊、企畫、銷售、或其他與計畫目標有關之公司現階段獲得成品測量基準,或其他等等這類資訊作為相對「價值」,以便有效提供特定軟體資源相異價格。
相減性安裝「選擇與移除」嘗試呈現一種有別於傳統相加型數位內容安裝方式(就是逐步加入所需內容直到所有需求內容儲存完畢)的重要範例轉換,即本發明的篩選技術,也是一種與米開朗機羅所實踐的傳統雕刻方式-「我看見天使在大理石中,於是我雕刻直到他自由」近似的方式。本發明中,泛集的產生有如提供一個原始大理石塊(它可以藉著移除不想要的大理石片來雕塑成任何期望的形式)。挑出不選擇資源以獲得一個只有所需軟體資源的儲存媒介就像是雕刻去除不需要的大理石部分只留下所需要的天使像。
即便以下詳細說明包含許多說明目標的細節,但本項技藝中的熟練者應當理解下列諸多變化性及替換性都在本發明範疇內。因此下列本發明的提出實施例已包含多數相關發明,但本發明並不限於此一範圍。
下列的優先實施例的詳細說明中,將與一併附上的圖式做參照說明,且這些圖說詳解的實施例都是可以實行的。同理可證其他實施例也是有其效用的,且其結構性、連續性、暫時性的變化可在不脫離本發明的目的之狀況下產生。
圖式中所出現的參照號碼的首要數字通常表示對應該元件首次出現的圖式號碼,出現在多張圖式中的同一元件將會統一以相同的參照號碼標示。附加在參照號碼後的文字通常表示與此元件相關之實施例的變化。符號或連結可能會以相同參照號碼或標籤表示,而其實際用途將會在敘述內容中闡明。
相減性安裝
在個人電腦或其他產業中,便利裝置(如汽車、微塔型PC、或錄放影機(VCRs))都是根據特徵最大化的模型設計,當完全安放於硬體(如:晶片、開關、DVD光碟機、磁碟機、霧燈(fog lights)、收音機、讀取頭、和/或其他部分)上時便可提供該設計的可執行最大功能性。接著可藉由不安裝只有高價模型具備的可使功能活動化的某些按鈕或晶片,而從頂部模型(提供洞與線纜)獲得低成本模型。這些洞所用的可換面版或插頭通常也提供給那些最低價位模型。
相反地,本發明最大特色之相減性安裝乃是在部分實施例中藉由放置一組可選擇軟體資源全集(泛集)在一個彈性基部(部分實施例中的非暫態訊號載體)上而在每個裝置上實際作最大安裝可實行軟體功能性。泛集被設計、訂製化訂製化及除錯為在預定硬體基部上的功能,但軟體資源的泛集隨後可由每個顧客自行減額(在任意的間隔尺寸上)以達到分離獨立的價格和功能性特點。因其具有快速消去儲存媒介裡資料的能力,因而得以實行快速且有效率地減額。
由於寫入資料內容及相加性安裝程序的複雜性及其管理兩者所需要的時間使得硬體/軟體或裝置/數位資源-產品(如:訂製化中可利用選擇成千成百的編號)所包含的特定軟體資源的大規模且深入的訂製化訂製化在本質上無法忍受傳統方法的相加性軟體資源安裝。比方說,使用不同軟體套件所安裝的許多常用檔案,這些要求使用者在不同版本間作選擇的眾多套件間的互動性都倚賴軟體選擇組合以及安裝指定導致軟體毀損或斷斷續續地不可靠。
甚者,使用相加性安裝進行深入訂製化訂製化會因先前安裝的訂製化選擇無法接在後續的訂製化安裝中使用而提供不了任何經濟規模。
優點部分
相反地,本發明的部分實施例中,相減性安裝中的儲存媒介是藉由從預存在儲存媒介裡的超集合中移除未選擇內容來訂製化,儲存媒介的內容移除(如:藉由消去和/或移除安裝)效率佳且快速,不需太多與人的互動,其本身就有良好的自動化。藉著使用相減性安裝,相加性安裝的複雜性基本上都被一個單次程序給隔離開並移交給製造者中的專家,也就是當專家在創造可得內容的全集時才會遇到,即此處所謂的泛集。泛集在多數終端使這儲存媒介上的實證(如:複製),可輕易確認(如:部分實施例中,依據由顧客利用泛集所做出選擇的特定集合的邏輯NAND)來自其他無關內容的相異集合,並自動剔除以便提供簡單、自動、可計測的訂製化訂製化內容。
這裡所使用的剔除包括使非選用資源資料無法使用並清空用來保留非選用資源的儲存位置。部分實施例中,剔除可包括任何合適的方法如消去目錄及其他指向資料之登錄,消去部分或所有保留資料之位置,消去解讀資料所需的解讀鍵,資料符號化,使儲存位置得以使用於儲存資料,將儲存媒介作硬碟重組之類。
這裡使用的「消去」與「移除安裝」是指讓可得的正常作業系統斡旋資料及程式的可利用性轉換為無法利用並獲得相關的儲存空間。這裡使用的「隱藏」與「覆蓋」是指用來作成選擇性不可利用之資料和/或程式的儲存之技術。
這裡使用的消去可能包括對部分或所有位置寫入零或其他資料行為模式,藉此取代和或覆寫先前述具並使得該先前資料無法被讀取及利用;執行一次消去作業(如在某些種類的可拭寫可編輯電子唯讀記憶晶片中會用到)可一次消去一個或多個的完整資料區塊;將作業系統軟體說明及強化過的狀態指標(如設定或清除至少一個登錄下的位元,並/或重組一個或多個登錄或FAT(file-allocation-table)登錄或移除名稱之「空白」狀態指標物群和/或指標資訊和/或明定新資料可利用之登錄)設定為資料或指令,好明示那些不可讀取的資料儲存位置;和/或其他適合之方法。部分實施例中,「消去」可包含作成一個不包含作業系統要存取儲存在儲存媒介中打算清除(如:非選用資源的軟體資源)的某特定資料時所需之目錄資訊的目錄,但該目錄中包含作業系統要存取儲存在儲存媒介中可獲利用的特定其他資料(如:選用資源的軟體資源)。時所需的目錄資訊。
此處所使用的「移除安裝」意指從安裝程式後改變的狀態移轉到程式尚未被安裝前的既有狀態。部分實施例中,移除安裝(即移除註冊情報-如:目錄指標(pointers to directories),資料庫檔案(library file),和/或其他作業系統使用來正確執行程式之資訊)-以及可能或可能不會移除登錄或消去其他資料)與消去(一般而言會移除目錄資訊和/或組態/清除登錄中的狀態指標,但基本上不會改變註冊情報)有所不同。部分實施例中,移除安裝以安裝前就存在的對應檔案程式取代一或多個與移除安裝之程式有關的資料庫檔案,此處所使用的「新裝置」是指尚未被初位終端使用者或消費者使用於預定用途上。然而一個新裝置可能被製造商或其他負責組裝、資料載裝、測試和/或燒入等分配、銷售環節的人使用過。部分實施例中,一個新儲存裝置可能包含一個被重新格式化為全新空白狀態的使用過的儲存裝置。
此處所使用的一個資訊處理器具是任一種類的數位、類比、或兩種混合裝置,用來處理儲存資訊,包括一般用途電腦、特殊用途電腦、內嵌型(embedded)電腦、企業用電腦,伺服器、手機、無線電子信件處理器(如:黑莓型裝置)、聲控開關(telephone switches)、電子排程表裝置、GPS和或跳脫計畫裝置攔截器(trip-planning devices preceptors)、器具(如:冷卻裝置、電視機、洗衣機、烤麵包機或其他包括資訊處理器機能的東西之類)、機械、汽車、或其他之類。部分實施例中,資訊處理器具是一個儲存媒介(如:一個磁碟機或快閃光記憶體),其被設計為可與其他電子儀器連接以提供其預定功能。
此處所使用的物件像處理器、為處理器、控制器、電腦等等都是處理資料或控制裝置作業的電路。每個物件都意指一種裝置,它可能包含一個或多個處理構造的單位和/或一個或多個邏輯電路組態來執行一個或多個功能。在各種實施例中,這些物件包括和網路處理器相同的緊密或鬆散的成對複合處理器,它們可執行一個或多個的全體功能的不同部分。除非有修飾形容詞(如:「電子處理器」就是電子範圍內作業的處理器,當處理器一詞不是那麼完整確定他便有可能包含一個或多個電子、光學、磁力、音響、量子迴旋和或其他種組件)作明確狹義,否則這些物件可以廣泛的意思說明。各種實施例中的一部份提到,其中所提之處理器包含一個或多個電子、光學、磁力、音響、量子迴旋和或其他種組件。
本發明提供一種使用者選擇內容已事先藉由複製一個可利用內容(如:一般消費者可選擇的資源比以前更多)的已安裝超集合到儲存媒介上並剔除可利用內容的未選取部分而留下選取內容來「安裝」至儲存裝置上的器具與方法。這個側載內容的相減性安裝自身可有效率地完全自動化。只要使用這種側載,所有的相加性安裝所需的複雜性只要一次就可執行完成,這樣一來就能從易於移除(手動或自動)的額外內容中創造出可利用資源的最佳化全集,使內容的訂製化選擇便於分配。側載內容得以成為訂製化、備用的裝置。
相減性安裝選擇移除法中看似反本能的部分-也就是在製造過程中初次寫入額外內容只為了在往後移除它-產生出一種傳統方法無法達成的實際且有意義的利益。有了這種內容側載,終端使用者可以快速且便利地接收一個built-to-order(BTO)、經濟且量產的裝置,根據使用者獨特的喜好及備用來訂製化。甚至儲存媒介上來自可利用內容(這裡以泛集代替)之超集合的可利用選擇訂製化規模比一般零售商中常見的選擇要大得多,而且事實上不需額外的庫存搬運成本。舉例來說,傳統零售電腦店由於無法提供專門架位的空間,也無足夠經濟資本維持大量冷門庫存庫存名稱,因此只能存放上百件軟體名稱的庫存名稱。另一方面,一個普通可得的300GB磁碟機便能保留數以千計的名稱在預載泛集中,何況terabyte的機種也即將問世。
此處所使用的「磁碟機」是一種具有一個或多個轉盤用來儲存資料以及一個或多個轉換器用來讀寫資料到一個或多個光碟(使用磁性、光學、磁性光學共用、或其他任何適當科技)上的儲存裝置範例。磁碟機傳統上包含一個機械框架和內部空間(這有時會合併為一個單獨構成單位),一個或多個線路版和/或其上接有表面搭載元件的彈性下層,和構造內部的碟裝置(們)及變換器(們)。傳統上線路版元件包含一個或多個處理器、暫存記憶體(buffer)、鎖碼器/解讀器(CODECs)、轉換器介面(處理來往碟裝置轉換器的訊號)、逆流介面(處理來往額外元件的訊號,像是個人電腦處理器或音樂播放控制器,以及使用通訊協定如IDE、SCSI、SATA、直列SCSI等等)等過去提供磁碟機功能性的東西。此處所述的眾多實施例中,為表簡潔將使用「碟裝置」一詞,且根據內容,本技藝中之一即在於確認碟裝置即其本體,其可用驅動器永久內建碟裝置從所述碟裝置或其他碟裝置(例:插到DVD複寫光碟機中可移除的可複寫式DVD碟片)或其他磁碟機本身上作移除或交換。在實施例中所述之不論磁碟機或是作為儲存媒介的碟裝置兩者之一,經發明者思慮以及技藝中的技術之一確認,其他實施例可取代(代替,或附加上碟裝置或磁碟機)其他所有合適儲存媒介,像是固態記憶組(如:快閃式驅動器)或設計為可插入驅動器內移除的儲存碟裝置本身(如:像是軟碟片、複寫式CD、複寫式DVD之類的可移除旋轉式媒介)。
簡潔起見,此處之敘述在於闡述一種複製或拷貝磁碟機,根據內容,技藝中的技術之一將確認所複製或拷貝的部分為碟裝置上的部分或所有資料。進而在部分實施力中的這份拷貝,資料是經過編輯和/或壓縮的(如:部分實施例中,經由作業系統進行檔案拷貝,可能會將檔案置於目標磁碟機中與來源磁碟機不同的位置),同實在其他實施例中,資料將由「位元對位元bit-by-bit」的方式拷貝來構成一個確實複製完全相同的泛集資料、分割資訊、目錄資訊等到目標磁碟機上且位置與來源磁碟機相同的磁碟機。磁碟機資料複製器在本技藝中廣為所知且得以取得,舉例來說,從ICS(9350 Eton Ave.,Chatsworth,CA 91311),它是製造用於主要電腦製造商還有其他大型和中型商社生產線上的硬碟複製、資料拷貝、電腦升級和硬碟清潔的產業高速多功能硬碟複製器。這種道具提供工業環境中易於使用的多功能硬碟複製器。它可以不同模式複製資料、描繪不同大小和模型的硬碟、清除資料、拷貝隱藏分割、格式化硬碟,使用一種SATA外接器來複製直列ATA驅動程式並對磁碟機複製具有不同的附加選項軟體和硬體特徵。
另一個效益就是從像是碟裝置的儲存媒介中清除內容,大抵上要比寫入相同的內容到相同儲存媒介上來得快速許多。因此要是傳送至可利用內容之超集的儲存所費的時間減少,藉由儲存媒介(為了儲存主要選擇內容)選取的訂製化也會相對的快速且不需相對的附加資料傳輸。這種速度與能力的結合會依剩餘製造程序之比例不按順序準備拷貝泛集,對於緩和使用側載製造BTO裝置時處理能力的瓶頸具有相當重要的成效。
另一項效益就是將內容寫入儲存媒介通常需要人為導引,但傳統上從儲存媒介中清除內容並不需要。因此,清除行為比寫入本身更易於自動化。儲存媒介的內容寫入傳統上跟在儲存裝置內部執行的檔案系統一樣要求選擇,而該內容會被儲存起來。如果內容是電腦程式或其他要求參數組態的內容,通常會要求附加資訊。清除內容的行為傳統上只要求被清除內容的正確認證。由於只有要求的正確資源可在篩選後存留下來因此不會浪費任何儲存空間(最初就存在儲存媒介上但終端使用者不需要或不使用的內容不會消費任何空間)。部分實施例中,各種資源的清除行為也可藉由同時開始的多頭清除完成。
此外還有一項效益就是在剔除內容移除後,保留下來之安裝內容的絕佳作業穩定性使全體系統達到更高品質。在儲存泛集到儲存媒介中時,泛集的創造器有機會控制電腦環境以及安裝指定,並替各種內容要素的協調性做最佳化。最佳化的一種形式就是從軟體資源泛集中排除,有點像是以泛集其他軟體資源的適當運作來干涉之。另一種最佳化形式就是提供使用鄰接分離技術(side-by-side isolation technologies)建構的程式。其他最佳化形式包含清除適當安裝、註冊,以及共用資源的取消註冊。
另一個問題
一個沒有軟體安裝經驗的使用者經過安裝一個與其他既存電腦安裝內容不相容的新程式而學到系統不穩定性。舉例來說,如果使用者安裝一個DLL檔比其他先前加入程式的相同DLL檔的版本還老舊的程式,該使用者勢必得冒著損害先前加入程式運作的風險來選擇覆寫較新的DLL檔,或是冒著損害現在安裝之程式運作的風險來保留較新的DLL。然而,要是泛集內的各種程式都已由作成全套軟體之安裝、組織、內部協調及相容性完善選擇的專家事先適當調整過,並測試移除程序,那麼各種子集將得以相容。當程式從程式測試集合中移除,也就是預定用來使其相容及不造成嚴重失敗的程式測試集合,則當獨立程式從系統中移除後殘留軟體也不會變得不穩定。這樣一來側載的執行也可讓DLL惡夢劃下句點。
其他優點
本發明所提供的協同作用(synergy)是一種提供包括像BTO裝置的量產型電腦裝備細微(fine-grained)訂製化的能力,它是將連結於裝置的儲存媒介變成用來分配適當內容給該裝置的載具。被創造出並最佳化過的泛集可複製許多次(且可能是在很多位置上)以便製造出電腦儲存媒介「空白」的庫存-空白一詞在石雕用語中,一個大型大理石原石在多餘大理石部分尚未被剔除前就叫做空白。在各種實施例中,泛集可由各式各樣的團體來代替裝備製造商設計,包括業界專家、DJ、電影評論家、廚師、公司團體IT部門、學校校長、和軟體評論家。
這個潛在的廣大架空庫存不需花費額外空間或成本,除非需要另外的儲存媒介。同樣地,本庫存永遠不會過期,只要花些許費用就能用新泛集覆寫而再生利用。此外,收到指令後替電腦進行訂製化軟體安裝時,未選擇軟體資源會從泛集空白複製中移除以製造出訂製化記憶體-碟裝置、快閃式、光學式或其他-使裝置上的安裝行為既快速且親切的自動化。
再者因為此處所述之分配系統所發揮的效率和自動化,以移除額外軟體資源來形成可在各種方法和連接下執行的訂製化記憶,好依據實施例影響分配給顧客的訂製化內容。在各種實施例中,移除內容可用組裝硬體事先、事後或同時放入意欲安裝的訂製化碟裝置裡。在各種實施例中,移除內容可由包括硬體原始裝備製造商(OEM)及他們的承包商,或改良販售商、IT企業組織、零售商、顧客等各類實體執行。部分實施例中,內容移除可由獨立電腦進行。部分實施例中,該裝置已完成在已安裝儲存媒介中的選取。內容移除可依據實施例透過網路從遠距或近距控制。同樣地,泛集拷貝可在內容移除前由供應連鎖上的各種團體中擇一製造。
儲存媒介中的泛集裡的未選擇內容之移除可使被分配的儲存媒介本身以相同方法和器具從泛集中分配選擇軟體資源-如:作為透過硬體銷售商和投遞通路賣出的裝置或系統全數,或直接包含在一個適當裝置或系統內透過硬體銷售商和投遞通路賣出一部份,當作是一個新作業系統的升級。實際上,軟體的分配通路多半是搭硬體分配的便車。
能源節約效益
側載的廣泛採用經由大量的資源與能源保存提供了日積月累可見的重大環境優點。收縮包裝軟體的減少使用,也減少包裝的樹木消耗量。少用油原料以及處理能源來生產聚炭酸酯CD-Rom及DVD光碟還有它們的副產品,透明的聚苯乙烯「珠寶箱」容器等,不需要的硬體廢棄物就可丟到垃圾掩埋場。
除此之外,當每年節約跑上許多個別安裝程式的時間就可省下數以千計的百萬瓦特小時(MWH)的電力。這種能約節約用法降低國家石油消耗量且減少溫室氣體和具有危害環境及衝擊健康的微粒子放射線。
側載也比現在使用的網路傳輸至組裝機器的方法來的有能源效益,因為需要啟動的只有儲存媒介而不需整組機器開著。
大量訂製化
傳統上,訂製化產品與低價是互相抵觸的。要量產提供低價的相同產品,自成一格的獨立產品需要工匠和專家而他們的技能工資往往使這類產品只有富人使用得起。時至今日,像是網路之類的科技可提供顧客和公司直接互動以指定他們獨特需要的產品與服務。具有適當彈性的確實規格化設計,使每個有彈性的獨立訂製化讓電腦輔助製造系統可達成量產過程下的低單價。相減性安裝就是一個可用於大量訂製化裝置的完美平台。它提供一種經濟的包裝大小,如:使獨立顧客的獨特個人需求和量產效益、優良品質、價格及多樣化選擇性相符。
使用相減性安裝來替獨立特定需求量身訂製化產品提供製造商許多重要優勢。製造商可拓寬市場並鞏固客戶關係。製造商可與競爭對手的低限度日常用電腦裝置區分出他們的大量訂製化數位用具。製造商可藉由更困難的購物比較以及將客戶注意力從價格轉移至利益上以獲取高利潤。製造商可透過規模經濟以一個破例價格來提供高額度商品。這種價格彈性可平衡並達成高銷售額,網路收入,以及單位成長目標。
這個分配軟體資源大量訂製化選擇的便宜工具尤其對個人電腦製造商而言更是即時性利益。許多類型的大眾消費電子產品按例都以低價售出。產品展示出這種市場行為的包括遊戲操作器、手機、攜帶型傳呼器、有線電視盒、及遊戲販售商提供的印表機、網路使用、或墨水和其他消耗品。因PC製造商售出的硬體沒有資金贊助,因此它們的電腦看起來相對於印表機以及有資金贊助的電子產品而言要昂資的多。然而額外側載可提升平均單位價格及使用軟體及限度升級的潛力以提供硬體銷售的資金。
任何花在不必要的上傳或是軟體資源下載到新裝置上的時間都是一種能源與時間的浪費。硬體沒有軟體就毫無用處。硬體需要儲存媒介和軟體載入該儲存媒介上才能變得有用。因此,使儲存媒介也就是功能性配送集合可用於分配內容給最終使用者並側載軟體至使用者的裝置上正是一個遲未兌現且急需的裝備。
執行效益之一例
本發明能為市場通路帶來的利益,如:對客戶直接銷售的網路訂製化銷售、原始裝備製造商等。個人電腦販售商(如:DELL)訂定有120GB磁碟機的桌上型電腦,包括了從安裝於其上之泛集中選擇資源的選項。
比起舊有的有限選擇,本發明提供一種當電腦運至時已可利用的先行安裝在其中之軟體、遊戲、和/或音樂的廣泛選擇。部分實施例中,販售商處的獨立組裝線平行於硬體組裝線,以便單獨篩選插入控制器中的磁碟機(如:去掉最終裝置硬體以便依據每個消費者的指定進行篩選),接著要給特定使用者的篩選完畢磁碟機稍後將插入個人電腦中完成組裝。部分實施例中,在硬體測試及燒入循環中完成篩選作業。部分實施例中,來自特定使用者的各種軟體資源之選擇都會經過分析好確定出複數可利用的何種預設泛集最符合使用者的選擇,而存有該選擇泛集的磁碟機將為使用者進行篩選並傳送至完成備用裝置。
部分實施例中,各種泛集將提供給不同的顧客群(如:小型商業/家用辦公室、興趣癖好者、遊戲玩家、音樂愛好者、清掃業者、工程師、建築師等等)。部分實施例中,不同的收費公式針對不同的顧客群、不同的時間帶、得自競爭者的不同獻金、國民經濟的全體狀態、和/或不同的公司企業內部財務需求。部分實施例中,要完成顧客獨特訂製化也可插入(在適當儲存位置)終端使用者姓名、住址、時間帶、公司及部門名稱等等。部分實施例中,電腦從送貨箱上卸下時已可以運作。在其他實施例中,部分或全部的篩選程序都可在顧客家中或辦公室自動化運作,只需電腦插入電源而不需顧客輸入資料,那麼只要等篩選程序完成後電腦就能準備運作。
下面是部分實施例之假說流程模範例:比爾已經厭煩手算他的收入稅額。他有一台工作用的電腦,但他並不希望將敏感的財務文件帶到辦公室裡。他瀏覽DELL的網站發現它們的TurboTax(聯邦所得稅稅務程式)售價15美金,對此他很高興,因為該程式在Intuit網站上要這個的兩倍價,而他在Froogle能找到的最低價是5美金多。他又決定要一個簡單辦公室組,因此他選了20美金的StarOfficell辦公室組,算起來比微軟Office省了300美金。他想到應該研究一下他家人的閱覽履歷。DELL提供十三種產品的選擇。看完附帶說明後,他選了最便宜只要15美金的Legacy。感覺不錯後他又繼續散財並買了200美金的Adobe Illustrator的複製版(正版要500美金)給他學美術的女兒使用。他還買了要價500美金預載在DELL Dimension 2900上的軟體並附帶一個15吋平面顯示器、免費噴射印表機、兩天內免費運送。比爾也是個熱切的音樂迷,他可指定一個包含他最喜歡的音樂的附加完整驅動器。當他檢視自己的訂單時,他發現他買整套電腦時在軟體上省的錢可讓他多得一個軟體合輯,這樣比爾就不需花時間去清除不想要的試用軟體。DELL對此感到高興,因為賣一套軟體吸進了750美金,多出原銷售額的一半且利潤比還增為兩倍,還增加他們的顧客經驗。DELL還可以販售適合的軟體升級給比爾。比爾是否該淘汰他的電腦呢,根據比爾的服務契約,DELL將篩選與此相同的泛集並複製比爾原始購買的機器與軟體組態。
側載
第一圖A是分配軟體資源到個人電腦104或類似資訊處理裝置的側載流程189的方塊圖,例如一個被首位使用者買走的新裝置。用來分配軟體資源到個人電腦104的舊有方法通常包括從網路191進行軟體資源下載192。例如網路191可能是製造商用來預載軟體資源到要組裝的裝置中的內部網路。再來軟體與音樂都是一般可從網路191透過「下載」程序來購入(某些狀況下可能是免費的)及直接下載的。部分資源也可從像是以手機載波作業的所有權人的無線網路191下載利用。
舊有方法還包括上載、從物質媒體193(如:CDROM、磁片、快閃記憶體等)中的軟體資源作媒介安裝194,有時候也需要使用者經由互動式輸入裝置195(像是操作鍵盤)作相當數量的作業輸入196。這需要花掉使用者相當可觀的時間及心力(專注於執行各種不熟悉的作業,還有等待各項流程完成的枯燥感都讓使用者疲憊),就像來自電網的動力需從網路191下載及安裝大量軟體資源選擇,或是從媒介193和/或操作輸入裝置195安裝軟體資源。
相反地,本發明的側載程序189的其中一部分就是提供軟體資源的側載198,其中軟體資源的大量選取集合(一個「選用資源」),可在選用資源載入儲存媒介之前或之後完成,一同載入有效連結於電腦104的儲存媒介150。舉例來說,部分實施例中,儲存媒介150包括一個磁碟機和/或快閃儲存卡或晶片(如SanDisk、TransFlash或microSD儲存卡)或其他任何已預載(例如下面第二圖A或第二圖B所述)的合適儲存裝置,接著插入合適的插槽或支架並由合適的訊號和動力纜線連接到電腦104中的其他硬體,最後成為一個可操作的備用裝置104,也就是那「令人敬畏的創意」。
側載198節省了可觀的時間量(才能增加製造生產力和/或減少使用者花在等待他或她的購入品轉變為可以使用的時間)及免去許多或所有的下載、操作和或軟體資源媒介安裝以節省製造商和或終端使用者的電源。部分實施例中,本發明的側載也可藉由不在選用資源內的下載和/或操作式安裝和/或軟體資源安裝媒介來補足。
第一圖B是分配軟體資源到感知器105或類似資訊處理裝置的側載流程190的方塊圖。感知器是處理視聽資源的裝置,包括但不限於,mp3播放器、多功能手機、錄放影機等,以及像這種接收和輸出對使用者有知覺刺激的東西(如影像和聲音,一樣的還有觸覺、嗅覺、溫度等)。程序190與第一圖A的程序189相似,除了通常需要有個像電腦104一樣的中間媒介用來作為已下載之「視聽資源」(像是歌曲或其他聲音和/或影像檔)或其他軟體資源在網路191和感知器105之間的下載中間媒介。像電腦104這樣的中間裝置通常也被當作用於可操作已安裝軟體資源在物質媒介193與感知器105之間的媒介安裝中間媒介(像是將音樂CD上讀取下來的歌曲,經壓縮(或「切割」)而載入mp3播放器)。
相反地,本發明的側載程序190的其中一部分就是提供軟體資源的直接側載198,其中預載儲存媒介150在選用資源選取之前或之後經操作連接於感知器105並可使用。舉例來說,部分實施例中,儲存媒介150預載(例如下面第二圖A或第二圖B所述)後接著插入合適插槽並以合適的訊號和動力線纜連接至感知器105(在部分實施例中例如手機和/或音樂播放器)裡的其他硬體,最後又成為一個操作式備用裝置。部分實施例中,側載到感知器上的東西也可藉由不在選用資源內的下載和/或操作式安裝和/或軟體資源安裝媒介來補足。
經由相減性安裝來分配資源
第一圖C是分配軟體資源到儲存媒介150的程序流程圖130。部分實施例中,程序130包括從獨立軟體販售商(ISV)132獲得一個或多個服從確定131(確定出規格、介面、以及其他需求好讓軟體或其他軟體資源跟程序130協調)。因ISV在製造軟體資源133的過程中與服從確定協調過,故ISV132製造出一組具協調性的軟體資源133(包括如軟體程式、資料、及視聽資源內容)。部分實施例中,泛集創造程式或是程序134從一個或多個ISV132中集合了複數的軟體資源133並安裝軟體資源以創造一個主導泛集135。複製程序136獲得複數的空白儲存媒介235,且在每個空白儲存媒介上存有從主泛集拷貝出來的泛集211而創出中間工作物儲存媒介230。買方或使用者99指向篩選程序140他或她的軟體資源選擇會被保留(選用資源255),且篩選程序140對訂製化儲存媒介230執行選擇性移除安裝便能創造具有訂製化和/或使用者選擇軟體資源組255的儲存媒介150。
第一圖D是使用相減性安裝的篩選程序152來處理一個已預寫好複數安裝軟體資源的第一儲存媒介的流程圖。部分實施例中,篩選程序152包括獲得選擇資料153,及自動調整第一儲存裝置154,根據選擇資料像是取代那些與選擇資源無關的資源,清除空間變為可由其他儲存資料利用,選擇資源安裝後則可利用。部分實施例中,裝置終端使者無法利用那些使用儲存媒介直到最後調整作業啟動的已安裝資源(與舊有系統相反,這可讓使用者消去多個選擇檔案,這些檔案在未選擇消去作業前都是可利用的,且在消去作業執行前還是可以保留利用)。
「選擇資料」或「選擇資訊」一詞與篩選程序和器具組合起來便是指可用來分開選用資源(如保留下來的複數已安裝軟體資源的第一子集,也稱為「已選擇資源」)與非選用資源(如未保留之複數已安裝軟體資源的第二子集,也稱為未選擇資源)的資訊。同樣地部分實施例中,當所有其他資料被圈選為未選擇資源而被剔除、清除、移除安裝、不利用、和/或移除時,選擇資料可以列表或識別保留並讓使用者利用已選擇資源。在其他實施例中,當所有其他資料被圈選為保留或要利用資源時,其他所有資源都會被剔除、清除、移除安裝、不利用、和/或移除時,選擇資料可以列表或識別未選擇資源。選擇資料可包括資源名稱,與資源(如產品辨識(像是世界產品碼)、序號、索引、列表、資料資料庫等)組合之符號資料、資源所在位址、或其他任何有用的適當資訊來辨識欲保留的資源、欲剔除的資源、或欲保留和欲剔除的資源。特定實施例中,選擇資料還可推論出,若有一個共用元件(如拼字檢查程式)且所有可能使用這個元件的程式(如文字處理器、分頁程式、資料資料庫)都未選擇的話,那麼這個共用元件可能也會變成未選擇資源。
部分實施例中,無法使用化使用的是軟體符號化、目錄無效化或隱藏、FAT連接名單紀錄、或其他技術。這類實施例中,儲存媒介上的資源通常不是身為所有權人的使用者可隨時利用的,即便是在執行篩選之前,這是為了預防資源未經授權便公開給公眾。部分與篩選選取作業連結的作業執行(像是創造工作目錄架構、軟體資源符號化、或其他資料處理作業)是在一個或多個資源有效化前就會要求的。這層對泛集的保護稱之為資料保全。
部分實施例中,儲存媒介將保存在上鎖或物質安全位置或載具(也稱為供應鍊隔離區(supply-chain quarantine))上,其中該存有泛集之儲存媒介的所有權公司和/或其他實體在資源篩選執行前將不會公開給使用者。這層對泛集的保護稱之為物體保全。
至於其他實施例中,泛集的餘留物和其上所執行的篩選作業將被留在儲存媒介上(如和該類資料相關的永久序號或符號,或一個或多個隱藏部分或其他泛集曾儲存過的標記,和/或曾剔除過或有效化的資源),以便提供未授權重建或未選擇和/或未付費的資源使用的證據,好對這類未經受權重建或使用的犯人提出法律告訴。部分實施例中,合法契約(像是按壓許可)補足了這類資訊。這些對泛集的保護稱為法庭保全。部分實施例中,終端使用者希望作業的裝置和/或供應鍊就有在儲存媒介中提供資料保全、物體保全和或法庭保全。
第一圖E是活動網路篩選程序流程圖155,用來處理具有預寫複數安裝軟體資源的第一儲存媒介。部分實施例中,活動網路篩選程序155包括跨越網路(其中部分實施例裡是無線的)取得153選擇資料、寄送157篩選指令及選擇資料給篩選程式和自動化篩選158,第一儲存媒介154便根據這類選擇資料取代那些與選擇資源無關的資源,被清除的空間則可用來儲存其他資料,選擇資料則如同安裝完成可供使用。
部分實施例中,一台分配用電腦(請見如:第四圖A或第四圖D中分配用電腦102)稱作或包括篩選器或篩選裝置。部分實施例中,本發明提供一個連接至網路上並具有篩選器的器具,它包括用來分配被選為安裝至特定使用者的裝置上的訂製化軟體資源套件。部分實施例中,軟體資源的分配包括篩選跨越網路控制的泛集。各種實施例中,網路可以是任何適當網路,像是LAN(區域網路)、SAN(儲域網路)、或WAN(廣域網路)等網路。這類的部分或所有網路用在手機、Wi-Fi、Wi-Max網路上可能是無線的,並且由分配用電腦以網際存取回路(請見如:第四圖D的網路存取回路409)存取並透過這類網路收發資料。部分實施例中,網際通路回路包括乙太回路(Ethernet circuitry)並跨過無線網路或區域網路控制篩選程序;而在其他實施例中,區域網路也經由合適的路遊器(router)或數據機(modem)附加到廣域網路如網際網路上。部分實施例中,消費者有效連接新購入或未篩選的裝置到網際網路連結上且當心裝置在使用者持有下,篩選程序會由遙控或中央電腦設備控制。
舉例來說,部分實施例中,消費者在自宅裡或工作室將一台新個人電腦(從販售商如Acer那裡購入)連上網路連結,且在這些地方進行篩選過程。其他實施例中,網際存取回路包括無線連結性。可作為其他例子的還有,部分實施例中,消費者從任何地方(如:當地咖啡店)連接一台具有MP3播放器功能(如:從Sprint販售處購入)的新手機到手機網路上(如:打一通電話給特定電話號碼),就可進行篩選。還有其他例子像在在部分實施例中,消費者從Wi-Fi熱點(如:當地網咖或機場)上連接一台具備Wi-Fi連接功能的新膝上型電腦(如:從HP販售處購入)到Wi-Fi網路上就能進行篩選。因此部分實施例中,剔除額外內容的控制是跨網路執行的。部分實施例中,至少有一部份的網路是無線的。
第二圖A是程序200的方塊圖,用來創造一個具有訂製化和或使用者選擇軟體資源集合255的儲存媒介150。部分實施例中,剛才完成的儲存媒介150是根據上面第一圖A及第一圖B的敘述是可側載的。部分實施例中,程序200包括一個泛集生產程序201和泛集篩選程序202。部分實施例中,一個複數軟體資源297是利用一個或多個安裝程式298安裝至安裝儲存媒介(ISM)210上。部分實施例中,本作業是由連接至一個與最終裝置260(見第二圖B)相似的裝置並控制的ISM210一同執行。安裝的結果泛集211被存於ISM210上。部分實施例中,ISM210是使用一個或多個安裝程式298安裝複數軟體資源(如軟體程式或MP3音樂)之前要先空白、格式化的儲存媒介。部分實施例中,泛集211被拷貝至主儲存媒介(MSM)220(例如大容量磁碟機)且有一個或多個其他泛集存於其上。部分實施例中,ISM210又被重新格式化並再次用於創造具有其他不同軟體資源組的不同泛集。
部分實施例中,至少有一個空白終端使用者儲存媒介235的庫存可藉由拷貝到MSM220給泛集221(如:軟體部份)的資料上而轉為中間媒介230。舉例來說,空白使用者儲存媒介225在部分實施例中,一台磁碟機或快閃記憶卡是要給最終使用者裝置(如:這是一個內建有如第二圖B所述之空白儲存媒介的完整硬體組合260)的完整硬體260的一部份。部分實施例中,他稍後又變成完整硬體260的一部份(例:它是泛集221第一個載入的獨立儲存媒介235(硬體),之後再連接至其他裝置硬體)。中間媒介230之庫存的獨立個體可配合需求供應給篩選泛集程序202。於是空白終端使用者儲存媒介235藉由拷貝泛集221到其上而變成中間媒介230,而在進行篩選以便移除非選用資源資料後又變成一個篩選完畢的儲存媒介150。
部分實施例中,泛集篩選程序202包括從中間媒介230上的泛集211獲得一組篩選源資料232,取得指向特定使用者的軟體資源選擇之選用資源-非選用資源選擇資料(IRSD)233,並使用篩選程式240篩選泛集211以完成相減性安裝。藉由篩選程式240完成的相減性安裝剔除非選用資源(要移除的軟體資源),在已剔除軟體資源的空間留下清除空間258,並保留選用資源255(欲保留之軟體資源)好獲得一個篩選完畢的儲存媒介150。舉例來說在部分實施例中,篩選源資料232包括目錄及註冊情報的資料,篩選程式會將整個目錄和整個註冊情報當作非選用資源移除,接著寫入產生出的目錄與註冊到它們各自在中間媒介(儲存媒介)230上的位置(例:作業系統軟體預期可在儲存媒介上找到這些資料的位置),這樣就形成一個篩選完畢的儲存媒介150。於是空白終端使用者儲存媒介235藉由拷貝泛集221到其上而變成中間媒介230,而在進行篩選以便移除非選用資源資料後又變成一個篩選完畢的儲存媒介150。
部分實施例中,下述是用來閱讀安裝程式及列表驅動移除安裝的範例編碼。
由第一個程式碼顯示出每個實施例中都不需要.ppx清單去確定安裝過什麼程式。第二碼可知一種整理移除安裝非選用資源的方法。文章前的單括號是符號的指令文字。
決定安裝何種軟體資源的程式碼
下述第一個程式碼(列出所有產品)創造一個文字檔列出系統中跟Windows安裝器一同安裝上去的產品。檔案上寫有確認導引及名稱。這種Visual Basic-type的語法運作時會產生輸出一種叫做prods.txt的檔案。從prods.txt的檔案中,使用者可選擇軟體資源保留。
Option Explicit Public installer,fullmsg,comp,prod,a,fso,pname,ploc Set fso=CreateObject("Scripting.FileSystemObject") Set a=fso.CreateTextFile("prods.txt",True) ' Connect to Windows tnstaller object Setinstaller=CreateObject("WindowsInstaller.Installer") on error resume next For Each prod Ininstaller.products pname=installer.productinfo(prod,"InstalledProductName") ploc=installer.productinfo(prod,"InstallLocation") a.writeline(prod &" "& pname) Next
下述第二個程式碼的語法是用來移除安裝test.txt檔案中的產品列表之語法,它是用上述全產品列表語法產生出和prods.txt相同的設計。該語法不應在一台典型個人電腦上運作(如:非設定為篩選用),因在部分實施例中它將移除安裝所有列表檔案。如有人跑了這個語法以及等同於prods.txt的test.txt,他可能會移除安裝所有列在檔案上的東西。甚至選擇為保留之軟體資源都會從prods.txt中移除以創造test.txt。發揮功能的部分乃是安裝器產品組態呼叫(Installer.ConfigureProduct call)。這就是所謂移除安裝,且設定UI等級的前進線可配合顯示需要多或少的使用者介面。
Option Explicit Public installer,fso,a,stream,prod Set fso=CreateObject("Scripting.FileSystemObject") Set a=fso.GetFile("test.txt") set stream=a.OpenAsTextStream(1) 'Connect to Windows Installer object Set installer=CreateObject("WindowsInstaller.Installer") do While Not stream.AtEndOfStream prod=stream.ReadLine() prod=left(prod,38) installer.uilevel=3 installer.ConfigureProduct prod,0,2 loop
部分實施中,剔除包括一個「快速安全消去」用來清除或覆蓋目錄之項目(如:以其他資料歸零或覆寫目錄資訊)使它變得難以辨識名稱、特殊性、和/或已清除資源之位置、和/或歸零或重新指定檔案指定區域(如:在FAT或NTFS資料結構中),好讓任何企圖存取或重建作成資源之資料的行為增加困難度。請見下面第十六圖。
部分實施例中,選用資源-非選用資源資料233是從終端使用者處(如:最終裝置之消費者)以互動方式剔除及接收。部分實施例中,IRSD233不論各自的資源是否被保留或剔除都會明示泛集中的每個軟體資源。部分實施例中,IRSD233只明示非選用資源中的軟體資源,其中未指定資源依照原使組態當成選擇資源而保留下來。部分實施例中,IRSD在希望移除安裝的非選用資源中明定特定指定。
部分實施例中,IRSD233明示出泛集中的何種軟體資源該保留(如:明示選用資源),含蓄地指出非選用資源就是泛集上其他所有軟體資源(如:這些案例中,IRSD233只指定選用資源內的軟體資源,其中未指定資源在原始組態中就採取為未選擇資源)。部分實施例中,篩選程序240或它所使用的一覽表明定希望移除安裝之非選用資源的特定指令。
其他實施例中,IRSD明定部分或所有選擇資源以及部分或所有未選擇資源,還有其他暗示為可能是欲保留之選擇資源或欲剔除之未選擇資源。舉例來說,部分實施例中,消費者之訂單的金額總數暗示部分資源(如:附贈資源)可能需無償提供,除非那些資源是需要另外選擇及付費的。其他實施例中,使用者可明確指示價格限制(如:「將所有歌曲以0.99美金或更低的價格售予我」或是「給我適用於儲存媒介的所有免費歌曲但得空出200GB的可清除或可利用空間給我」)。
部分實施例中,IRSD233明定泛集中的財務收據/收費程式241軟體資源是用來進行收費的,且收取選擇內容費用的財務收據/收費程式241(部分實施例中,是依據收費標準244)可利用開收據或從戶頭扣除(該組資源購入者之戶頭)的任一種方式收費,根據額度,至少有一部份軟體資源會被保留在選用資源255。此處所使用之「收費」包括一個用來傳送、獲取、或要求使用者付費的機器或設備,「收據」包括一個用來要求付費或創造帳單的機器或設備,例如創造一個收據來郵送或電子傳送給購入者並要求日後付費或在信用卡戶頭上記帳;「扣除」包括任何用來從購入者戶頭實質匯入金錢到販售受益者戶頭的機器或設備。
部分實施例中,每個中間媒介230包括像是泛集211的一部份、有效篩選源資料232(如:目錄與註冊情報資料),以提供篩選程式240在IRSD233控制下剔除泛集221的不需要/未選擇之relicta部分時所需要的的資訊。部分實施例中,每個中間媒介230包括獨自或是和額外作業系統輔助一起的篩選程式240的程式碼,而完成篩選行為(藉由最終裝置260,或是篩選專用系統)。
第二圖B是另一個泛集生產以及用來創造具有訂製化和/或使用者選擇軟體資源集合255之儲存媒介150的泛集篩選程式204的方塊圖。部分實施例中,程序204包括一個泛集生產程序205和泛集篩選程序206。在部分實施例中,如上述程序201之描述,複數軟體資源297是利用一個或多個安裝程式298安裝至一個安裝儲存媒介上。部分實施例中,接著將泛集211拷貝成兩份(泛集’226(少掉一部份篩選資料的泛集)及篩選資料組229)給主儲存媒介(MSM)223。部分實施例中,MSM223擁有一個或多個其他泛集(如:泛集’224與泛集’225)與其中儲存的對應篩選資料組(如:篩選資料組227與篩選資料組228)。泛集’226藉著分離篩選資料229,反制其中盜版軟體資源的安全性變得更高。部分實施例中,一個或多個中間媒介231的庫存(都是些如硬體/軟體組合的東西)是藉著從MSM223拷貝資料到空白終端使用者儲存媒介235(硬體部分如:磁碟機或快閃式記憶卡)的一個對應數字上給泛集’226(如:軟體部分)。中間媒介231的其中一個獨立庫存視需要而提供給泛集篩選程序206。篩選資料組229傳輸、運送和/或提供輸入篩選程式240的篩選源資料。
部分實施例中,泛集篩選程序206包括從篩選資料組229中取得一組篩選源資料232,利用使用者介面和/或輸入裝置259來顯示出選擇和/或購入價格,並取出回答和接收購入者所作出的選擇(以及在部分實施例中,接收信用卡號碼、銀行資訊給虛擬匯票,或其他對應選擇而與金融交易有關的資訊)再藉此取得指向特定使用者的軟體資源選擇之選用資源-非選用資源選擇資料(IRSD)233,並利用篩選程式240篩選泛集’226以達成相減性安裝。部分實施例中,篩選程序240在一台具有介面251的電腦上(如:ATA序列、USB2、或其他適當介面)對儲存媒介執行。相減性安裝藉由篩選程式240實行剔除非選用資源(欲移除之軟體資源),剔除軟體資源的位置則留下清除空間258,並保留選用資源255(欲保留軟體資源)好獲得一個篩選完畢的儲存媒介150。部分實施例中,選用資源255集合包括選用資源目錄252、選用資源註冊情報254、及選用資源資源資料256。
部分實施例中,每個中間媒介231是從泛集’226、有效篩選源資料232中省略好讓泛集’226的軟體資源實質上無用化,直到它重新與篩選源資料232重新加入(從不同源頭取得或接收),並被篩選程式240篩選為止。部分實施例中,中間媒介231在篩選程式執行前先經作業連結至終端使用者裝置。部分實施例中,只要篩選程式240完成作業,終端使用裝置260對他的終端使者而言已完全可實際備用並具功能性。部分實施例中,每個中間媒介231包括獨自存在或和額外作業系統碼一起的篩選程式240的程式碼,篩選行為可由最終裝置260在其裡面完成。
第二圖C乃是旋轉媒體儲存媒介260的方塊圖(如:磁碟機261上的實施例),其具有自給式篩選程式240。部分實施例中,程序202的一部份或全部(請見第二圖A)是在儲存裝置260中執行。部分實施例中,磁碟機261擁有一個或多個存有資料的旋轉式碟裝置269,其中資料是由被作動器257移至選擇資料位置的變換器259寫入與讀取。部分實施例中,磁碟機261也包括各種電子儀器包含處理器或控制器263、一個資料/指示構造265、一個或多個緩衝器264、及一個額外裝置介面(也稱為系統介面)262,用來接受來自額外裝置的資料傳輸要求,並透過連結256(如:ATA系列(SATA)、SCSI序列、通用序列埠(USB)、IEEE1394 Firewire連接器、或其他合適介面)從像是個人電腦104(請見第一圖A)或感知器105(請見第一圖B)之類的電子用品的對額外裝置寄出資料和接收資料。部分實施例中,碟裝置269上的資料被分為兩個或更多子集,包括一個使用者資料子集258以及磁碟機的預留區子集268。部分實施例中,磁碟機261也包括各種電子儀器用品像處理器或控制器263、一個資料/指示構造265、一個或多個緩衝器264、及一個額外裝置介面(也稱為系統介面)262,用來接受來自額外裝置的資料傳輸要求,並透過連結256(如:ATA系列(SATA)、SCSI序列、通用序列埠(USB)、IEEE1394 FirewireTM 連接器、或其他合適介面)從像是個人電腦104(請見第一圖A)或感知器105(請見第一圖B)之類的電子用品對額外裝置寄出資料和接收資料。部分實施例中,碟裝置269上的資料被分為兩個或更多子集,包括一個使用者資料子集258和磁碟機預留區子集268。
部分實施例中,當磁碟機261啟動後,儲存265就載入控制程式266以及存取控制程式267裡。部分實施例中,控制程式266和存取控制程式267是用來控制磁碟機261的作業,並翻譯或圖解系統位址(如:額外系統用來存取磁碟機資料之邏輯區塊位址(LBAs))到磁碟機位址內(如:控制器263使用之cylinder-head-sector(CHS)位址來存取磁碟機269上之資料)。由於Windows XP和其他可能的高等作業系統並不允許直接存取硬碟,部分實施例中,本發明使用基本低等作業系統像是MS-DOS這種允許讀寫存許任何碟裝置部位,包括那些高等作業系統用在目錄上的東西(包括NTFS目錄)。請見第十六圖下方的描述。部分實施例中,圖解程序也用於再分配預備區段給那些失敗或有無法搜尋或不正確資料的區段,並預防使用者存取預留區268。第二圖C部分實施例中,泛集211(請見第二圖A)最初是儲存在磁碟機269,但存取泛集211中的資料時得靠由存取控制程式267上鎖的額外裝置,直到篩選程式240啟動來剔除未選擇軟體資源和/或替保留資源(選用資源255)向使用者收費。部分實施例中,控制參數、授權碼和/或解讀鍵都藉由額外裝置(像是訂製化、訂製化和/或選擇性電腦之類)透過系統介面262送到篩選程式240,好讓篩選程式240可實行它的篩選作業以提供可完全存取選用資源255的能力。存取控制程式267可預防讀取篩選前的泛集資料以及篩選後的非選用資源資料。部分實施例中,假如使用磁碟機261(如:嘗試在篩選完成前,從使用者資料區讀取資料),存取控制裝置267可允許這種普通用途,但只要有任何使用者區段在系統對它寫入資料前被讀取,它就會以零或一些其它的資料圖像取代泛集資料。這使得同樣的磁碟機261可用來當作可篩選泛集(如果在第一次使用前先連接至篩選程式控制器)或當作一個普通空白驅動器(如果先以其他任何程式存取),這樣一來既提供了規模經濟,又可減少給系統製造商的庫存需求。
第二圖D是一種具有自給式篩選程式240的固態裝置270的方塊圖(如:快閃式或其他種類固態記憶裝置或驅動器271上的實施例,或在其他實施例中之固態記憶體是為感知器105的一部份)。部分實施例中,裝置270的作業實質上跟第二圖C所闡述之裝置260是一樣的,且多數或全部的程序202(請見第二圖A)是在儲存媒介270中實行的。部分實施例中,固態驅動器271擁有一個或多個存有資料的記憶晶片279(如:利用不揮發性記憶體像是快閃式記憶體、或埋在裝置270中使用薄膜電池的記憶體)。部分實施例中,固態271也包含各種電子儀器包括處理器或控制器263、一個資料/指示儲存265、零個或多個緩衝器264、和一個系統介面262,用來接收資料傳輸要求,以及透過連接器256(如:USB連接器)從電子儀器的個人電腦104(請見第一圖A)或感知器105(請見第一圖B)之類的額外裝置收發資料。部分實施例中,晶片279上的資料被分兩個或更多子集,包括一個使用者資料子集258以及預留區子集268。
部分實施例中,當固態驅動器271啟動後,儲存265就載入控制程式(CP)266以及存取控制程式(ACP)267裡。部分實施例中,部分實施例中,控制程式266和存取控制程式267是用來控制磁碟機271的作業,並翻譯或圖解系統位址(如:額外系統用來存取磁碟機資料之邏輯區塊位址(LBAs))到控制器263所使用之晶片區段位址內以便存取晶片279上的資料。圖解程序也用於再分配預備區段給那些失敗或有無法搜尋或不正確資料的區段,並預防使用者存取預留區268。第二圖D之實施例中,泛集221(請見第二圖A)先儲存在晶片279中,但存取泛集211中的資料時得靠由存取控制程式267上鎖的額外裝置,直到篩選程式240啟動來剔除未選擇軟體資源和/或替保留資源(選用資源255)向使用者收費。部分實施例中,控制參數、授權碼和/或解讀鍵都藉由額外裝置(像是訂製化、訂製化和/或選擇性電腦之類)透過系統介面262送到篩選程式240,好讓篩選程式240可實行它的篩選作業以提供可完全存取選用資源255的能力。存取控制程式267可預防讀取篩選前的泛集資料以及篩選後的非選用資源資料。
第二圖E是儲存裝置231上使用的篩選程序20的方塊圖。部分實施例中,篩選程序280取得具有給泛集’226(如:軟體部份)之資料拷貝的中間媒介231儲存在空白使用者儲存媒介235上(硬體部份,如:磁碟機或快閃式記憶卡)。部分實施例中,選用資源-非選用資源選擇資料(IRSD)233指向特定使用者的軟體資源選擇,且此處所示之部分實施例中,包括指向獨立選用資源成員281(一起來自選用資源中欲保留之軟體資源)的指標,如此一來剔除程序283就移除或清除了非選用資源282(未被選擇的軟體資源和其他與選用資源無關之資料)。部分實施例中,產生出擁有訂製化和/或使用者選擇的軟體資源集合(例如,軟體和/或聲音和/或影像檔之總集)的儲存媒介150是隨時備用。部分實施例中,IRSD233明確指出剔除程序283欲剔除或清除之獨立非選用資源成員。部分實施例中,碟裝置重組程序284也用來替儲存的選用資源255位置作最佳化且該裝置的這個動作將會用到選用資源255和/或提供附加保證非選用資源之後不會再重組或不予清除好在往後使用。部分實施例中,泛集(如泛集’226或其他變體像是泛集221)含括已安裝之可選擇軟體資源的全集。
第二圖F是用於儲存裝置231之非暫態訊號載體290的方塊圖。非暫態訊號載體290可以是任何機器,只要能夠在任何時間遞送軟體資源給裝置即可。相反地,非暫態訊號載體290(像是纜線或光纖上的電波和網路訊號)的傳送,只要訊號通過就完成了。如果非暫態訊號載體的資訊儲存在日後更新或再傳送,那麼資訊就會移至非暫態訊號載體上。此處所使用的軟體資源都是些儲存資料或資訊(包括軟體、程式、聲音、影像或其他資源,不論是數位、類比或其他任何形式)。部分實施例中,非暫態訊號載體290是一個擁有軟體資源儲存在內的儲存媒介150且可與電腦104或感知器105連結。部分實施例中,非暫態訊號載體290可被篩選好移除未選擇資源、可選擇資源,和/或提供可利用空間放置其他資訊來取代移除掉的未選擇資源。
部分實施例中,部分或所有裝置作業系統293雖存在別處,但仍可用程式註冊情報292、目錄294、和/或MSI安裝器資料庫295之類的構造從非暫態訊號載體290上存取資訊。部分實施例中,非暫態訊號載體290中仍完整保有作業系統293。部分實施例中,一組使裝置為特定使用者作訂製化的使用者確定資料,稱為非顯著性296,並儲存在非暫態訊號載體290上。部分實施例中,非顯著性296的一部份被包含在程式註冊器情報292裡。部分實施例中,一個資源安全性程式或裝置297(像是從「“Ultimate Packer for Xecutables」(UPX)得出保護系統)就用來防止未授權使用資源。在部分實施例中泛集226包括一個複數的原子資源(可分別處理的資源-整個保留如選用資源281或整個移除如非選用資源282)。部分實施例中,提供了一個載裝清單298顯示哪個資源在哪個軌道上,並提供喜好指定以供移除。各種實施例中,目錄294、註冊情報292、MSI安裝器資料庫295、非顯著性資料296、載裝清單資料298、篩選API242的部分或所有資料和/或其他儲存在非暫態訊號載體290上的資料,在其他實施例中時這些部分或所有資料都存在別處,等需要時再由非暫態訊號載體一起帶來。
第二圖G是儲存在儲存裝置236上之空集253的處理程序288的方塊圖。上述實施例中至少有一部份的篩選程序需讀取部分程式(像是篩選程式本身)和/或資料(像是目錄資料、註冊情報資料、載裝清單之類)才能執行篩選程序。相反地,在部分實施例中如第二圖G中所示,不需從儲存媒介236中讀取任何資料。甚至目錄構造237(和/或註冊情報資料、分割資料、載裝清單)可存在作業系統期望的位置上,其中這個初始目錄是空白或實質上空白(如:指出所有或實質上所有的儲存空間(除目錄本身)都可用來儲存使用者資料)。如果是這種用途,那麼不需篩選程序243,空集236也可像個空白儲存媒介(如:空白磁碟機或空白固態驅動器)一樣運作。但又假如篩選程序243作業及寫入目錄和/或註冊情報資料和/或其他之類的東西,那麼儲存媒介236將予備用選用資源一起完成。部分實施例中,像是第二圖B的程序204那樣的程序會將泛集211分離至某個篩選資料229以及保留泛集’226裡。
部分實施例中,分離的篩選資料229就是第二圖G中所示全部的泛集目錄和註冊情報(TPDR)資料238(部分實施例中還包括其他資料),並輸入至選擇者收費程序243後,使用者或購入者可從選擇中一併獲得選用資源-非選用資源選擇資料(IRSD)233。部分實施例中,選擇者收費程序243包括一個篩選API(application programming interface應用程式介面)用來在TPDR資料238上作業好產生篩選的選用資源目錄-註冊情報239(只包含與選用資源有關之資料,並指示所有其他儲存媒介可用來儲存其他資料)及一個收費API#xxx用來對使用者顯示價格選項,並可根據使用者所選擇的價格與選擇抽出和接收選擇資料。部分實施例中,選擇者收費程序243會在使用者帳戶245(亦可以直接收取或寄帳單的方式通知使用者)中記帳(根據作成的選擇以及保留的選用資源)。部分實施例中選擇者收費程序243會讓選用資源目錄註冊情報239寫在空白目錄區237最上層,好將空集253轉換為擁有訂製化和/或使用者選擇軟體資源集合255以及清除空間258的備用儲存裝置150(請見第二圖B)。部分實施例中,儲存媒介150在作業篩選程序243後,會連結在一個將要使用它的軟體資源的裝置上,但在其他實施例中,空集236是先連結在裝置上,再來作業篩選程序243。部分實施例中,獨立檔案和泛集’226的資源被分成散塊並零散儲存,好讓重組和資源使用困難,除非有篩選掉的選用資源目錄註冊情報239。
軟體資源
第三圖A是一組各種無形資產如軟體資源300的維恩集合圖。軟體資源集合300可包括數位資源(如:作業系統、程式、資料組、或數位音樂之類),類比資源(把聲音或影像紀錄成類比形式)和/或其他類型的非暫態訊號。部分實施例中,這個可能軟體資源(如:銷售商可能提供的所有軟體資源)的「全集」組300包括一組複數的重複式資源含括程式310、感知器320、互動式遊戲(其中可能還包括感知器320,像是故事與程式310之類的聲音與影像之儲存)、音樂或其他聲音324(如:數位化和壓縮檔的mp3形式,合成音樂說明書檔案像是MIDI形式音樂檔之類的)、影像326(如:數位化和壓縮檔的MPEG形式、電影、動畫、模擬之類)、照片和其他圖像328(如:數位化和壓縮檔的JPEG形式,圖畫、油畫、插圖、字型、符號之類的),和資料資料庫(像是地理學或地質學地圖的資料及向量式資料、工程說明書、建築特色或計畫、自動化建造或製造部分的數值控制資料、統計資料、財務資訊之類)。
第三圖B軟體資源350之全集的維恩集合圖,其中部分是組群整個安裝到一個或多個複數泛集中(第三圖B中是以斜方形代表泛集331、332、333、及334,其他實施例中則可能使用較多或較少的泛集)。部分實施例中,一個或多個泛集被載入複數終端使用者儲存媒介的每一個媒介上(如:部分實施例中,每個庫存或每組一個或多個的儲存媒介335裡都有泛集331,另一組336有泛集332,另一組337有泛集333,另一組338有泛集334,再另一組339則同時擁有泛集332與泛集333)。
部分實施例中,選擇泛集程式XXX會調查每位購入者的資源選擇(如:從購入者訂單或經由網路介面從網際網路傳送之資料)並選擇具有最符合購入者選擇之泛集的儲存媒介。舉例來說,在調查過選擇五個獨立資源標上X的第一使用者X的訂購單後,選擇泛集程式就會選擇儲存媒介338,裡面有從儲存媒介338之庫存挑出的泛集334(泛集334正好具有所有五個標上X的資源)。被選擇的儲存媒介338稍後會被篩選,好移除其他所有資源的安裝只留下五個標上X的獨立資源。
另一個例子中,在調查過選擇九個獨立資源標上Y的第二使用者X的訂購單後,選擇泛集程式就會選擇同時有泛集332與泛集333的儲存媒介339(泛集332正好具有四個標上Y的選擇資源,泛集333則正好有六個標上Y的選擇資源(其中有五個不在泛集332內),而泛集331裡有三個選擇資源Y)。選擇的儲存媒介339稍後會被篩選,好移除其他所有資源的安裝只留下九個標上Y的獨立資源。由於三個選擇資源都在泛集331中,泛集331便不會被選擇,因為泛集332裡已找到四個最適合物件,泛集333裡也找到剩下五個,更好的的是這兩個泛集都儲存在儲存媒介339上。
還有另一個例子,在調查過選擇十一個獨立資源標上Z的第三使用者Z的訂購單後,選擇泛集程式就會選擇同時有泛集332與泛集333的儲存媒介339(泛集332正好具有六個標上Z的選擇資源,泛集333則正好有五個標上Z的選擇資源(其中有三個不在泛集332內),而泛集331裡有四個選擇資源Z)。選擇的儲存媒介339稍後會被篩選,好移除其他所有資源的安裝只留下九個標上Z的獨立資源。由於有兩個選擇資源不在泛集332或泛集333中,部分實施例中,那兩個資源是以傳統附加安裝方式安裝,或經由篩選程式指出該資源無法利用,而另外購入安裝。
更多其他的相減性安裝實例
在同一庫存下的大量拷貝一個或多個泛集到每個儲存媒介上相對地也快,由自動裝備簡單地實行,且可事先連結儲存媒介到裝置上來完成。如上述所示之維恩集合圖,相減性安裝器具(不安裝未選擇軟體資源之作業)提供一種本質上只安裝那些選擇軟體資源的有效平台。儲存媒介提供泛集(如同雕像的大理石原料塊)接著移除某些已安裝軟體資源只留下選擇資源(使用未選擇軟體的「相減性安裝」程序,就像是移除大理石片只留下希望的雕像)好分配選擇資源。實際上,篩選行為花在指定上的時間要比雕刻工作快速且容易得多。
概念上來說相減性安裝就像迴紋針一樣簡單。然而它的形式、材質、及用法可有許多變化,就來檢視一些範例實施例以說明本平台可利用的多樣性及變化性。
其他範例實施例中,筆記型電腦的販售商(如:TOSHIBA)是在低工資國家(如:中國)請原始設計製造者(ODM)(如:仁寶電腦Compal Electronics)來設計並建構它們的電腦,而ODM所組裝的這種筆記電腦沒有記憶體(DRAM)和/或磁碟機。販售商(如:TOSHIBA)接收這批貨運時裡面沒有高價的DRAM與儲存物。根據顧客訂單的收據,TOSHIBA篩選磁碟機,再依據每位個體使用者的訂單在剩餘空間塞入磁碟機,加上DRAM,並配送給使用者。另一實施例中,上海的ODM接收選擇軟體資訊,篩選儲存媒介並替每個特定顧客訂單運送訂製化化裝置。作一點小型新投資,TOSHIBA就能提供顧客專屬訂製化化的筆記電腦。
其他範例實施例還有,比如個人電腦製造商(如:Lenova)可能會有一間製藥廠(如:Pfizer)而組成大型財團企業。在一些這類實施例中,企業顧客的資訊服務(IS)部門(如:Pfizer)就創造出一個主要企業泛集,含括各種授權軟體申請,且另有關於位置、語言、部門、功能、等級資訊有關的授權表在企業顧客中和各種軟體申請包括獨佔權、Pfizer軟體明細和額外軟體商的共通軟體。部分實施例中,個體在連結至個人電腦廠商(如:Lenova)的網際網路上提供其職員編號和或其他非顯著資訊。經營方針確立後,資料會自動確認該組企業軟體組內部的選擇好囊括在選用資源中,並提供結合在選用資源裡的使用者明細的非顯著資訊。Levona選擇了一個保有複製主要Pfizer企業泛集的儲存媒介,解讀資訊,選擇要囊括在選用資源裡的資源,篩選Pfizer泛集,以使用者特定資料將軟體無效化,並運送合適的電腦硬體連結到工廠篩選的儲存媒介上,保留了正確無效化選用資源給Pfizer的員工,並根據先前建立的企業契約在Pfizer的戶頭上記帳。Pfizer便增進IS的生產性。
在其他範例實施例中,電腦販售商(如:HP)運送一個嵌入包含泛集的磁碟機的桌上型電腦給大型零售商(如:COMPUSA或Best Buy)。部分這類型實施例中,桌上型電腦使用BIOS的副檔名來創造一個讓軟體受到保護的環境(如:Phoenix Technologies的核心管理環境(CME))且只允許指定付費來申請運作。部分實施例中,終端使用者購入桌上型電腦,帶回家後連接至網際網路,由另一個遠端電腦提供取出的控制資訊並可從使用者處接收選擇資訊決定何種軟體資源進入選用資源,控制電腦篩選行為,對使用者的戶頭記帳,並回傳符號化資訊(如:解讀符號之類)給使用者家中的桌上型電腦,好解鎖桌上型電腦內的附加功能與儲存內容。買新電腦變成一件輕鬆的事。
在其他範例實施例中,大型零售商和它的顧客支援機構(如:Best Buy的Geek Squad)做為一個經濟替代品而取代整個電腦系統、供應、訂製化化,並安裝升級磁碟機,包括新的OS(如:微軟視窗Vista之類的作業系統)及新OS可用軟體資源。部分這類實施例中,顧客會去電腦現貨賣店並付費購買他所選擇的物件與其他軟體資源。與賣店或網路附屬篩選器連結之磁碟機上的泛集會依據使用者的選擇與付費作篩選。顧客支援機構(如:Geek Squad)從顧客電腦中換出舊磁碟機並安裝新的升級磁碟機與軟體資源到舊電腦裡。部分實施例中,該服務包括傳送顧客獨自資料與檔案給新驅動器。部分實施例中,含有泛集的儲存媒介裡一併存有隱藏資料及保護方法,使顧客可在存檔以外的地方執行升級。Best Buy也獲得一個新收入源。
其他範例實施例中,一台遊戲電腦作業台(如:Sony Playstation)可使用的讀寫式光碟機上的泛集(如:藍光碟片(BD))可由控制器進行篩選和供應(取代另一種將泛集安裝至控制器內部的磁碟機上再從磁碟機上進行篩選的實施例)。部分實施例中,複寫式光碟上的泛集的購買和篩選也可不需靠遊戲用作業台,而是在篩選過的複寫式光碟中併入數位權利管理軟體,允許載入一個作業台或指定作業台,而為避免載入到多個或非指定的作業台上,這時會往前跳到顧客郵送裝置購入處。Sony可在遊戲部門中獲得更多利益。
又如其他範例實施例中,泛集可播放儲存的音樂和/或影像(如:Nokia(採用Symbian OS))音樂手機設計成在有限無線網路上操作)的混合手機上運送到零售店時已在微硬碟機(micro HDD)或快閃式記憶卡裡儲有原裝泛集。部分實施例中,顧客使用一個現貨端選擇一個預定話機,及一個或多個軟體資源(如:鈴聲、音樂、遊戲、影像之類),其中所有資源都無法實際利用除非手機開始啟用。手機最初的這種設計使它只能呼叫限制開關來啟動。接觸過後,開關就會接收到手機的電子序號(ESN),找到使用者選擇與付費資訊後,就會連接該手機號碼到ESN,且無線傳送非選用資源列表給手機使用篩選程式,並在手機內運作。當篩選完成後,手機會寄給開關一個完成碼致意而開關會寄回一個鑰匙或解讀碼解放手機內部功能,使手機網路服務啟動並公開選用資源的軟體資源供使用者利用。篩選與啟動可在有限網路的訊號範圍內的任何地方發生。寄送小型非選用資源檔像是軟體資源選擇不會塞住網路。顧客不會因為啟動後下載他們的音樂時或排隊進入商店下載資源時招來高額連接費用。
其他範例實施例中,教育機構(如:杜克大學)命令每個新入生拿到一台新的個人筆記電腦(如:DELL Latitude)和/或媒體播放器(如:iPod),而這費用就算在他們的學費中。教育機構創造一個或多個泛集給每個學校(例如法律學校、醫護學校、工程學校、基礎教養學院都會有其各自的泛集裝載在每台裝置上)。部分實施例中,軟體資源泛集包含學術上相關的商業、獨佔權、免費軟體程式(如:Corel WordPerfect Office,Wolfram Mathematica,Adobe Photoshop,Macromedia Freehand,Visual Basic,TeX,LaTex之類)部分實施例中,軟體資源泛集包括課程相關物件(如):電子工學參考書(已授權或共用)、教師課程筆記、教授影片、指定閱讀、參考物件、虛擬實驗室實驗、網路連結、考試、演講紀錄(各種實施例中有聲音檔、PowerPoint、及影像介紹)之類)。部分實施例中,泛集包括學校相關物件(如:學校日曆、班級預定表、以及教職員、校務人員、緊急狀況和其他大學服務處的聯絡資訊)。部分實施例中,杜克還可提供(及賣出)其他軟體資源的合法拷貝(如:音樂、電影或影像)減低校園盜版行為。教育機構在每個學生入學時根據他們所選擇的課程和主修建立可創造選用資源和insignation的軟體。每個錄取學生會在入學說明會上收到適合他們選擇之特定課程的篩選(訂製化化)裝置或是直接寄到他們家。部分實施例中,教育機構分出部分或所有工作給電腦販售商或改良商(如:DELL、APPLE之類)。學生獲得的好處在於不必在書店忙亂一天,跟零售商買一堆昂貴、笨重的參考書使他們的房間更加混亂。學生也可藉著讓課程作業電子化而變得有組織好利用,獲得實質上的利益。這種訂製化化、高科技、高接觸度的誘人提議,使杜克得以在高競爭的教育環境中擷取表現優異的學生。
其他範例實施例中,多媒體硬體公司(如:Kalidiscape)或個人影片(PVR)的製造商(如:TIVO)創造出有主體的泛集(如:電影或影像的時代、形式、語言、導演、演員、工作室、兒童年齡比例、適當等級之類)。公司根據顧客指定篩選一個選擇泛集(其中特定泛集可能是從與顧客選擇有關的複數泛集中選出)並將特定電影安裝至指定播放器組件上裝載。本用法如何實現的假設範例將由這個方案佐證:瑞克剛在維吉尼亞州的麥克曼遜購得他11500平方公尺的家。他的內部裝潢設計師建議他安裝一個中央影片伺服器好讓他所有的收藏影片總集可在他房子裡的每個房間中收看。他內建了一個具有45tb的RAID記憶體的Kalidiscape伺服器,其中可收入超過6600片DVD。記憶體在工廠就先做過訂製化化。他購入時另載入從1929到1941之間的71部MGM音樂片、Preston Sturges七部代表作、及Garry Marshall的電影中Hector Elizondo所演出的十二部。由於花費購入這台影片系統,瑞克節省了從每片DVD中灌入影片到系統的45小時。
其他的篩選實施例
第四圖A是程序100的方塊圖,其根據本發明部分實施例,用來在主碟裝置106上創造和複製泛集(來篩選),內容包括根據特定使用者之選擇及安裝到電腦上或其他資訊處理器具。部分實施例中,分配用電腦102至少有效連結到一個主要碟裝置106及至少一個終端使用者碟裝置108。部分實施例中,藉由安裝來自使用分配用電腦102的泛集中的複數數位資源而讓泛集建立在主碟裝置106上,然而另一實施例中,在不同的電腦中創造泛集(如:安裝電腦擁有一個具有安裝大量軟體資源於其上之泛集的安裝儲存媒介),再拷貝到主碟裝置106。部分實施例中,來自主碟裝置106的資料被拷貝到複數終端使用者碟裝置108中(如:使用拷碟程式或其他適合方法)。每個終端使用者碟裝置108都經過訂製化化以便安裝到/連接對應的終端使用者裝置104(如:個人電腦)好傳送給特定終端使用者。部分實施例中,終端使用者碟裝置108在泛集經拷貝和或篩選前已安裝到電腦104中。主碟裝置106包括一個泛集(或複數泛集),其中(每一個)具有所有可利用功能性內容的完整總集讓終端使用者選擇(或像其他實施例,選擇已替終端使用者準備好,像是企業或企業訂製化化電腦給每位員工時)。部分實施例中,終端使用者已選出要安裝在電腦104之泛集的子集且選擇資訊表示選擇內容將送到稍後用來剔除未選擇資源的分配用電腦102上,留下實際需要備用物及功能性終端使用者裝置(一個軟體與硬體的綜合體,稱之為TOTUM)。下面有這類選擇的其中一種實行程序的詳細敘述。
第四圖B是一個說明訂製化化終端使用者碟裝置108之方法410的邏輯流程圖。方塊412中,分配用電腦102從主碟裝置106中複製資料到新碟裝置108上好在碟裝置108裡複製整個泛集。方塊414中,分配用電腦102從終端使用者碟裝置108中移除未選擇的額外內容只留下選擇內容。部分實施例中,終端使用者碟裝置108正由終端使用者說明書行使訂製化。方塊416中,終端使用者碟裝置108根據獨立終端使用者的說明書安裝到電腦104好變成一個訂製化產品。這些方塊所執行的特殊指定在其他實施例中可有各種變化,像是下述之例。
本方法的魅力與效率就在於藉由移除/剔除/清除未選擇資源來分配可利用內容。其特別之處在於部分實施例中,從不揮發性儲存媒介或非暫態訊號載體中清除資料要比寫入甚至是讀取同樣的資料到同樣的儲存媒介中要快速許多。即便多數資料已被清除,它仍可削減清除大量資料來安裝少數軟體資源的時間。寫入檔案需在目錄內設定資訊並寫入檔案的實際數位內容到實體位置上,例如磁碟機的驅動程式叢集或區段或快閃式記憶晶胞。由於儲存媒介和/或記憶體存取相對於典型處理器來說速度較慢,寫入檔案相對於電腦執行的其他任務也就相當耗時。
讀取一個檔案需要讀取這樣的登錄並移動碟裝置臂(disk-drive arm)、旋轉碟裝置、和或橫越(traversing)記憶體好存取檔案實體內容。清除檔案只需修改檔案系統目錄中一個或多個極少數要素,好讓原本邏輯上可由作業系統利用的檔案實體位元與目錄內的檔案資源切斷連結,而將先前實體儲存資料變為不可利用、無功能性、和/或欠缺適當利用環境。因此在讀寫檔案的需要時間上檔案大小佔了很多比例;然而清除檔案的需要時間不僅少也固定,且只佔寫入檔案甚至僅讀取檔案的時間的一部份。因此檔案數量比檔案個別大小對清除多個檔案的時間影響更為密切。
另外,加入內容到儲存媒介上一般都需要一些導引,像是以特定分類目錄構造或多重程式背景來儲存內容。結果加入內容通常都需要人為介入。相反地,一般對從儲存媒介中移除內容的要求要比對儲存媒介內的內容正確性確認來得少。甚至專家可設計一個移除程式自動處理實行檔案好免去用人為介入來移除程式。不論哪種方式,從儲存媒介中移除內容已不太需要人為介入。因此,由移除來進行安裝非常有助於自動化。
下述說明例是關於部分實施例中寫入式安裝與移除式安裝的差別-例如:相加性安裝相對於相減性安裝。假設一家音樂零售店允許購入者將折扣時(如:促銷)選擇的音樂用於填充蘋果iPod或類似硬碟或快閃式數位音樂播放器的存檔。在本說明例中,數位音樂播放器有60GB的容量可透過USB2.0連結來存取,並支援一分鐘480MB的資料傳輸速度(也就是每秒480MB的速度)。然而實際上可到達的維持傳輸率要比理論速率少約三分之一。本說明例中,每個數位音樂播放器都是從數位音樂泛集中預載(如:大量複製設備)的。尤其方塊412(第四圖B)已在如製造設備中實行過。此額外分實施例中,方塊416也已實行過。僅方塊414尚未實行。本例中,方塊414是由一個或多個存檔電腦以高速實行的。
假如購入者希望保留所有預載的60GB數位音樂,數位音樂播放器便不需其他進一步程序即隨時可用。另一方面,若使用相加性安裝,要寫入60GB可能會花上超過60分鐘,在恆常假設上第一個狀況裡只需花10分鐘就能完成一台iPod,也就是在組裝台上零件兜完時即已完成。若購入者不想保留任何預載數位音樂,幾近20000個檔案將被清除-每個檔只需要少少幾位元。因此要清除60G的資料,將數KB資料經過快速USB2.0連結寫入只需花上幾分鐘。
這些極端相對的方案之間有許多不同變化。使用相加性安裝來儲存數位音樂到數位音樂播放器上將花上數分鐘到幾小時。當然數分鐘的話看起來只是輕微不便,這些短短數分鐘對於在繁忙中等待將數位音樂播放器訂製化的人而言卻可累積成大排長龍的時間,且在聖誕節構物季時尤其顯著。相反地,用來儲存相同數位音樂到相同數位音樂播放器上的相減性安裝只需花不超過數分鐘的時間,且在許多場合中對購入者來說只需一瞬間,這對正在排隊要購買的人而言更為重要。
不相稱的效率對於越是大容量的數位音樂播放器越為不利。這個不相稱大半源自於儲存和移除軟體資源時各自寫入的資料量的差異。此外,許多獨立檔案的移除可同時完成-這並不需要一個接一個完成。因此部分實施例中,清除檔案比創造檔案有效率的的優勢就可藉由以程式或程序清除之而擴大,例如同時多頭執行清除檔案。
數位音樂播放器的例子中,每個軟體資源多為3到5MB。在與網路影像伺服器和分配系統(像是從Inc.of Mountain View,California的Kaleidescape處可獲得的KaleidescapeTM 系統)中的訂製化內容之預載有關的例子中,每個獨立可選擇軟體資源(如:長篇電影)都顯示在2到5GB之間或更多。每部獨立的電影DVD光碟需要花上一個半小時上載。因此相加性安裝對於幾百小時的電影來說實際上可能要花上幾天,但使用相減性安裝幾百小時的電影來作訂製化就只需花幾分鐘。部分實施例中,儲存媒介就如它所創造及測試過的,寫入一個或多個測試資料行為模式再回讀測試資料以確認儲存媒介正確作業。在這個程序的最終作業裡,寫入了一個空白行為模式(如:一個原始分割和目錄,儲存媒介剩餘部分歸零)。於是取代掉舊有歸零的空白行為模式後,就以生產過程的最終測試資料寫入泛集資料並留在儲存媒介上,這不需受罪於任何時間或成本。
第四圖C顯示出一個程序430的方塊圖,他是說明第四圖A中訂製化系統的廣角視圖,及第四圖B中的方法。方塊432中,創造了主碟106,如:建在主碟106內的泛集。方塊434中,要包括在訂製化磁碟機的使用者選擇內容像是碟裝置108。一般來說,這類選擇可由使用者以在任何慣用使用者介面機器下進行選擇,包括一個或多個使用者輸入裝置的實質操作。下面所述為一個可用來有效引導使用者作出期望內容之選擇的使用者介面。當然這些期望內容的選擇會默認額外內容。在可替代實施例中,使用者明白地選擇了要移除的額外內容,等於也默認了希望內容。
方塊410中,流程圖410是上述內容與第四圖B之詳細示範,碟裝置106被拷貝到終端使用者碟裝置108上並與方塊434所接收的使用者選擇一致。上述部分與數位音樂播放器內之預載音樂存檔訂製化的說明例連結起來,邏輯流程圖430的功能可用不同於示範和描述的順序實行。實用例之一(請回到參考第四圖B),主碟106上的泛集應該在方塊412的主碟拷貝之前就在方塊402中創造出來,而方塊414要移除的額外內容應該等方塊412的終端使用者碟裝置108上的泛集從主碟106拷貝過來,且使用者確認過期望內容之後再實行,也得以無條件確認額外內容。
方塊432中的創造泛集一般來說都需要一些人為互動。上述將數位音樂播放器存檔訂製化的範例中,某個人選擇將近20000首歌曲預載到數位音樂播放器上。這份資源可組織化成適合的分類制度,例如類型、表演者、和/或專輯、還有其他許多基準。歌曲與特定組織化是由可利用預載內容的提供者來確定,如:藉由泛集的提供者。數位音樂擁有完全自給自足的優勢。特定音樂重播所需的所有資訊與參考都包含在囊括歌曲數位版本的單一檔案中。移除相當於代表某首歌曲的檔案並不影響代表其他歌曲的檔案重複播放的能力。因此,只要使用這種自給式軟體資源,一般而言就不需擔心泛集內容的作業協調性。
在其他場合中,如:當泛集包括共用資源的電腦程式像是DLLs時,泛集之構成要素的軟體資源的作業協調性就值得擔憂了。這個擔憂內容將在下面敘述。
方塊142(請見上面第四圖B)中將主碟106的泛集複製到終端使用者碟裝置108可利用最快速的拷貝方法-磁碟影像(disk-image軟體拷貝,位元對位元,或區段對區段地拷貝,或檔案對檔案拷貝。部分實施例中,這個拷貝泛集資料到終端使用者碟裝置108上的工作是由磁碟機製造商在組裝和測試的最後一個步驟完成(如:當最一個測試資料行為模式已寫入磁碟機並回讀檢查寫入作業有正確執行)。拷貝可由專門化媒介複製機器或正規電腦硬體完成。經由電腦的碟對碟拷貝,在泛集被拷貝到已安裝在電腦中的bare drive這個場合裡,可能會使用像是MicrosoftWinPE之類的工具來輔助並使用碟複製軟體,像是Symantec Ghost來拷貝。由於整個泛集在方塊412就複製完了,方塊412也就可以隨時自動化,不需大量的人為介入就能創造許多主碟106之資料的複製碟裝置的拷貝。事實上,如上述例子所討論過的,這種複製碟裝置可幾近瞬間就被安裝、打包、運送到工廠內、店內、或家中進行如下所述之訂製化。
將磁碟影像拷貝用在主碟108的複製上,其中最顯著的利益就在於磁碟影像可被捕捉並儲存在大一點的碟裝置、或數個架起來的碟裝置、或碟裝置排列中。例如,一個大型300GB碟裝置可儲存數個小容量如:60GB的主碟磁碟影像。此外,虛擬硬碟可取代實體硬碟。這種虛擬硬碟機可代替小型物體驅動器或創造一個容量比實體驅動器還大的泛集。
第四圖D顯示出一個擁有分配用電腦102的系統440的方塊圖部分實施例中,分配用電腦102包括一個或多個處理器402,可從記憶體404顯示輸出資料和或指令並以慣用方式執行顯示輸出指令。記憶體404在各種實施例中,可包括像是磁力和/或光學碟片、ROM、及PROM的永久記憶體,以及像是RAM的揮發性記憶體。一個或多個處理器或微處理器402和記憶體404都透過網際網路406,也就是說明實施例中的匯流排bus連結到另一個上。相互連結406也連結到輸入/輸出控制器及網路存取回路構造409。輸入/輸出控制器408可連結至一個或多個輸入和或輸出裝置像是當作輸入裝置的鍵盤、數字鍵盤、觸控式螢幕、接近式(proximity)感應器、動態感應器、滑鼠、麥克風以及當作輸出裝置的顯示器-像是液晶顯示器(LCD)-及一個或多個擴音器。此外,輸入/輸出控制器408連結至主碟106和終端使用者108(如:泛集要經拷貝和篩選的複數終端使用者之一)。因此,處理器402可使輸入/輸出控制器408實行在主碟106上與終端使用者108上的讀取和寫入作業。如上簡述,主磁碟機106可由竹存在記憶體404中的磁碟影像,又或者是透過電腦網路的另一台可存取電腦取而代之。
部分實施例中,分配用電腦連結至像是LAN,SAN,or WAN的網路,包括如網際網路。部分或所有這類網路可能是無線的,包括手機、Wi-Fi或Wi-Max網路。因此,網路存取回路構造410可透過這類網路收發資料。部分實施例中,網路存取回路構造410包括地網Ethernet 回路構造。
系統訂製化邏輯420是因為記憶體404在處理器402中執行所有或部分的一個或多個電腦程序。並在某實施例中實行邏輯流程圖410(第四圖B)和430(第四圖C)之功能。
電腦軟體-關於共享資源內容
如上簡述,部分主碟106的軟體資源可依靠共有資源的存在而儲存在主碟106上。這點在軟體資源中包含有依靠共有資源的電腦程式時更是如此。部分實施例中,該擔心的是增加當泛集安裝在主碟106上時以及在碟裝置108上訂製化時的穩定性,尤其是在一個或多個未選擇電腦程式被移除後執行泛集之組成電腦程式時的穩定性。部分實施例中,可藉由確認程式在其作業中是處於邏輯上分離而不干擾其他程式作業來增加穩定性,他們所需之資源都包含在主碟106的泛集中,且若他們仍需要其他保留在泛集中的程式,那麼移除程式所使用之該資源在訂製化期間不會從終端使用者磁碟108中移除。關於穩定性的擔憂已在頭兩段提及:第一段是在創造泛集時,第二段則是在方塊414的剝選泛集時。
創造泛集時,要增加穩定性可藉著限制泛集只有某些內容好以符合特定需求,以及藉著確認本內容有適當安裝至主碟108。部分實施例中,要求內容是包括一個安裝語法及移除語法。語法是一種簡易電腦程式,通常是以一種非常高等的手續的描述語言或描述環境。移除語法有時候就是只移除安裝語法。好處是提供的軟體資源之安裝語法和移除語法應可以不需人為介入來執行。然而,用於創造泛集的安裝語法之執行的人為介入是可以接受的,因為只需作成一次泛集就能多次使用於創造訂製化碟裝置如碟裝置108。安裝與移除語法以廣為所知故此處只作簡短描述以茲認識及瞭解本發明中所述之實施例。
電腦程式的安裝通常包括在檔案系統中拷貝許多檔案到適當位置。檔案系統就是儲存媒介內檔案的組織化好讓它們可各自獨立存取。這類安裝之一例,像是原始執行檔(如:微軟作業系統中具有.exe副檔名的)就可被拷貝到檔案系統內的位置好保留set aside至電腦程式。Dedicated資源,像是圖像、樣版等也都近似拷貝至檔案系統內的位置好保留至電腦程式。那些可能被其他電腦程式使用的其他資源像是DLLs及字型,一般來說都拷貝到檔案系統內的共有資源位置以及註冊和公開讓其他程式使用。電腦程式安裝典型來說也包括儲存資料到程式註冊情報裡,包括給圖像使用者介面(GUI)元素的資訊,用來叫出電腦程式讓使用者利用。微軟視窗作業系統的場合中,這種安裝中儲存的資料可在熟知的「Start」選單中加上一個登錄和/或加上一個圖示(icon)到桌面上好叫出以安裝的電腦程式。
安裝語法的執行使得每個與電腦程式安裝相關檔案被拷貝或移動到它們各自在檔案系統中的適當位置。此外,這種執行儲存資料在合適的註冊情報和/或位置裡好給予電腦程式易於啟動及適當執行的能力。
移除語法的執行,在部分實施例中,會移除其名下的電腦程式、Dedicated資源、及其他註冊情報中和其他處的相關資料。此外,移除語法的執行在部分實施例中,會檢查看看其他電腦程式是否有要求任何一個共有資源並移除每個不被其他電腦程式所需要的共有資源。
利用微軟作業系統,安裝和移除功能可由一個MSI套裝軟體執行(微軟視窗軟體安裝器有一個「msi」的副檔名)。MSI套件提供自給式資料資料庫一覽表及電腦程式,還有所有獨佔和共有資源及適當安裝和移除指示。在Unix and Linux及相似作業系統中,安裝和移除語法、資源、及其他電腦程式可在同一套件中來進行安裝和或移除,即利用這種套件管理系統作為「dpkg」Debian套件管理人(GNU一般公用授權或Linux軟體套件可在www.debian.org上取得)和或「rpm」或Red Hat套件管理人(可在www.rpm.org或www.redhat.com上取得)
部分實施例中,主碟106上的泛集藉由(i)安裝作業系統及(ii)執行泛集內所包含的所有每個電腦程式的安裝語法來創造。Debian和Red Hat套件管理人都確認所有每個要求資源的相同安裝語法,一般是指套件屬性為已執行或失敗。此外,安裝套件的不協調屬性所顯示出的衝突已藉由使任何可能產生這類衝突的安裝失敗來偵測及避免。MSI套件包括軟體製造商所明定的要求資源。應小心遵循軟體指示最佳執行,避免任何可能取代任何其他電腦程式所要求的任何資源的安裝行為。
部分實施例中,方塊416中(第四圖B)未選擇之額外電腦程式的移除是以執行明示欲移除之額外電腦程式的移除語法來完成。提供來用於移除套件的Debian和Red Hat套件管理人,包括移除任何倚賴移除套件的套件。典型的MSI套件包括一個移除安裝語法,可執行正確移除MSI套件的電腦程式。安裝和移除語法可由各類電腦程式製作者提供並包含在泛集內。
其他實施例中,安裝與移除語法可由單一實體創造、即創造泛集之實體,好確認泛集的每個電腦程式都有正確安裝和移除。在這類可替代實施例中,泛集的每個電腦程式都安裝到主碟106的乾淨系統上,如:只有作業系統安裝置一個空主碟106上的系統。乾淨系統可以是真實或虛擬的且較晚創造,部分實施例中使用的產品像是VMware Workstation。比較安裝前與剛安裝之後主碟106的所有狀態會發現檔案改變之外註冊情報登錄也改變了。用來安裝與移除電腦程式的MSI套件就是用來正確重現這些改變。
部分實施例中,泛集的作業系統是Windows XP作業系統及其後續版本。部分實施例中,安裝與移除語法不是靠微軟工具創造及管理的(如:Wise Package Studio或Macrovision InstallShield)。部分實施例中,安裝與移除語法是與微軟元件對象範例用法(Component Object Model usage)之導引手冊併用的微軟MSI套裝軟體,用來確認逆向作用的協調性,嵌入和保留正確資源版本資訊,在覆寫該版本資源前先比較資源的各種版本,再安裝資源到共有目錄下並註冊檔案。
第五圖以圖表形式顯示部分實施例中的泛集502。部分實施例中,泛集502儲存於主碟106上。在其邏輯與功能性基礎中,泛集502包括一個作業系統508。作業系統508提供基礎資源及電腦的一般基礎功能性,如:電腦104。應用程式504是提供特殊功能性的電腦程式。應用程式504的範例包括文字處理器程式,分頁程式、資料資料庫程式、圖像處理程式、建立音樂、編輯音樂、及音樂重播程式之類。如眾所知,這些都是電腦的終端用途且由應用程式504提供。共有資源506則提供中等功能性。共有資源506的例子中包括應用程式504所影響的可執行模組的檔案庫,提供一種中間功能性如檔案管理、視窗管理、圖像使用者介面(GUI)工具等,與軟體資源中的字型、圖示、聲音、圖像等一樣。
第六圖是具有(第四圖D的)系統訂製化邏輯420之系統600的詳細方塊圖。系統訂製化邏輯420包括泛集分配邏輯602,泛集複製邏輯604,泛集訂製化邏輯606,和一些應用程式紀錄像是應用程式記錄608A。當泛集分配邏輯602、泛集分配邏輯604、和泛集訂製化邏輯606都顯示為系統一部份-也就是訂製化邏輯420時,它只能在單一電腦系統內執行。但其他範例中的泛集分配邏輯602、泛集複製邏輯604和泛集訂製化邏輯606卻能在不同電腦上各自執行並獨立於其他台作業的這點便能獲得高度評價。此外,應用程式記錄像是應用程式608A可藉由泛集分配邏輯602、泛集複製邏輯604、和泛集訂製化邏輯606儲存在可存取的資料資料庫中。部分實施例中,資料存在泛集502中。部分實施例中,系統訂製化邏輯420包括一個給可由使用者移除的泛集502內的所有應用程式使用的應用程式紀錄。應用程式紀錄608A是部分的系統訂製化邏輯420實施例中的所有應用程式記錄的代表。
部分實施例中,應用程式608A擁有一個在系統訂製化邏輯420的應用程式記錄中獨一無二的名稱610A,且在部分實施例中,這也是應用程式608A的識別符號。應用程式記錄608A包括代表數個屬性的資料,如:屬性612A,也是用來識別系統訂製化邏輯420的另一個應用程式記錄。為了能正確運作,應用程式記錄608A所代表的應用程式要求應用程式識別屬性612A安裝正確。各種屬性中的屬性612A可在下面敘述的安裝語法614A和移除語法616A中表示默認。舉例來說,安裝語法614A可啟動需求資源的安裝並表示註冊情報中的屬性,而移除語法616A則可移除註冊情報中的屬性。
部分實施例中,應用程式記錄608A包括一個安裝語法614A和一個移除語法616A,安裝與移除各自所執行的應用程式分別由應用程式記錄608A表示。部分實施例中,應用程式記錄608A還包括一個必要總數618A來表示應用程式記錄608A中其他的必要應用程式之數量。當作業系統508的其他元件或註冊情報留下相似資訊測定出不再需要特定資源時,在其所有相關應用程式都被移除後必要總數618A就會被消掉。此外,部分實施例中,應用程式記錄608A包含一個計費方針620A,可確定應用程式記錄608A的應用程式價格好收取費用。下面有計費方針620A的完整詳述。
第七圖是說明一種泛集授權邏輯602建造泛集502的方法的流程圖700。方塊702中,泛集授權邏輯602安裝作業系統508。圈出方塊704及其下個的方塊708好確定出一個圈選區表示泛集502的所有可利用應用程式都是依據方塊706處理的。在方塊704-708之圈選區內的所有互動中,已處理之特殊應用程式有時就是指從屬(subject)應用程式。
方塊706中,泛集授權邏輯602利用從屬應用程式的安裝語法安裝從屬應用程式,如:安裝語法614A。部分實施例中,安裝語法614A是一種MSI語法,執行包括所有必要資源的安裝像是DLLs和軟體資源。在可替代實施例中,泛集授權邏輯602在方塊706中重複以相同方式識別並安裝所有必要資源。
透過下個方塊708傳送處理程序到依據方塊706處理下個應用程式的泛集授權邏輯602所在的圈選區方塊。704。當所有可利用應用程式都由泛集授權邏輯602依據圈選區方塊704-708處理過後,依據邏輯流程圖700所進行的處理程序就傳送到方塊710。
方塊710中凡及授權邏輯602存有移除語法,如:移除語法616A,可適用於泛集502所有的應用程式,這是一個良好的實施例。在可替代實施例中,移除語法保留在記憶體404裡的系統訂製化邏輯420中而非存在泛集502中。將移除語法儲存在泛集502中的優勢是在於泛集502包含所有方塊414裡(第四圖B)需要移除的額外、未選擇內容,因此方塊414可在一個與泛集502所創造之環境完全不同的地方執行。
方塊712中,泛集授權邏輯602靠著移除額外安裝的副產品來清理泛集502。這類額外副產品包括例如泛集502不打算用到的 暫存檔和硬碟元件驅動程式。在這類實施例中,已知泛集502所削減的拷貝的最大作業環境之硬體背景如:電腦104。方塊712中額外且欲移除的東西就是不含括在作業環境中的硬體驅動程式元件。
方塊714中,泛集授權邏輯602將泛集502作最大活用以增加成效。方塊714可由人為系統管理員對照手動操作來執行調整泛集502的各種表現設定。手動最佳化是透過此處所述之方法將內容訂製化所達成的驚人優勢之一。當泛集502的所有複製拷貝都照著終端使用者提供的說明作了最大訂製化後,開始利用的所有這類拷貝都是泛集502的直接複製。因此泛集502任何細微的調整和改變都會影響到所有泛集502的訂製化複製。於是最佳化品質就被量產到訂製化產品上。
在方塊716中,泛集授權邏輯602執行復原測試,藉由從泛集502中反覆移除應用程式並測試作業系統及穩定性。方塊716中可由手動操作執行並跨越到延長時間外。因泛集502在訂製化之前先量產,為確保品質而有時枯燥和昂貴的過程就被經濟規模抵銷了。方塊716後,根據邏輯流程圖700的處理程序就完成了。
最後結果就是泛集502存到主碟106上。泛集502表現出作業系統508、共有資源506、及應用程式504的完整功能性安裝。當用在電腦中像是電腦104時,因為所有應用程式504之必要資源的適當版本都有正確安裝好,因此泛集502可以非常穩定。主碟106在方塊412中隨時可以如上所述(請見第四圖B)般進行複製。在某個特別有效的實施例中,方塊412重複許多次好累積大量主碟106的拷貝庫存當作「空白」給電腦中的後續安裝,像是電腦104。「空白」一詞用來指儲存在每個複製碟裝置上的泛集還未根據特定使用者之選擇作訂製化而進行剔除與削減前的狀態。
來考慮一下電腦製造商的部分。在某例中,這個企畫需要訂製化作業。硬碟機是由磁碟機製造商所提供的元件。本發明的方法之一就是與驅動器供應商的契約包括預載選擇泛集到驅動器中,並運送這些東西給電腦製造商。另一種方法就是將驅動器從驅動器供應商處送到載入泛集到碟裝置上的契約製造商手中。又或者是原產裝備製造商(OEN),如:由品牌製造商將泛集載入驅動器中。
當接到顧客訂單,訂單上會有顧客需要內容的選擇指示。在流程作業中,已完成必要訂製化且安裝好期望軟體的機器已送貨。另一例中,建造電腦的製造商會在庫存中放置完成的機器;每台機器都載入選擇好的泛集,之後在送貨前再將裝置視需要進行訂製化。甚至還有可在零售處或家中或辦公處進行訂製化的方式。每個例子中,載入作業的消耗時間在有空時間內已完成,且送至顧客手上的速度比以前要在看完說明書後加入期望內容的方式還要快速。
方塊412的複製中,泛集複製邏輯604可實行磁碟影像拷貝,就是主碟106與終端使用者碟裝置108之間位元對位元、區段對區段、或檔案對檔案的拷貝。部分實施例中,終端使用者碟裝置108變為可啟動且包含電腦程式,它適合方塊412中使用磁碟影像拷貝的泛集複製邏輯604。如上所述,部分實施例中,為使主碟106上的資料磁碟影像(如:泛集)可用而存在記憶體404中使磁碟影像拷貝可在沒有主碟106時作出泛集。
部分實施例中,擁有泛集502完全未經訂製化之拷貝的完整複製的儲存媒介(如:終端使用者磁碟機108)依據顧客的說明而變成製造出來的電腦的一部份存在電腦中,且能累積在目錄裡並隨時利用。部分實施例中,這種終端使用者碟裝置108(主碟106之複製)的訂製化與電腦104的機器語言(assembly)會依照訂製化電腦的販售者提出的訂製化單內容,同時開始進入複製最終安裝處。部分實施例中的訂製化單包括硬體說明,其中包括電腦外殼、處理器種類和速度;RAM的總量和組態;磁碟機種類、速度、容量之類的。部分實施例中,訂製化單也包括用來識別泛集502內的何種可利用內容要移除的資料(或是另一種方法中,包括識別欲保留內容的資料,其餘內容則被默認為移除內容)
要開始泛集502的訂製化,要先將含有泛集502的碟裝置,如:終端使用者碟裝置108,搜尋顯示出來並連結到訂製化電腦上,同時其他訂製化電腦的硬體也被組裝起來。部分實施例中,分配用電腦102就是訂製化電腦。當然首先要瞭解的是訂製化電腦與執行泛集授權邏輯602的電腦,還有執行泛集複製邏輯604的電腦可以是不同一台電腦。泛集訂製化邏輯606就在訂製化電腦中執行。
泛集訂製化邏輯606將複製好的泛集502進行訂製化的方法就由邏輯流程圖800來說明(第八圖)。方塊802中泛集訂製化邏輯606識別要從泛集502中移除的內容。如上所述,部分實施例中的這類資訊都包含在訂製化單裡。圈選區方塊804及下個方塊808確定出一個泛集502的所有額外應用程式的圈選區並將依據方塊806來處理。方塊804-808的圈選區的所有重複步驟裡,處理過的特定額外應用程式有時是指一些從屬應用程式。
方塊806中,泛集泛集訂製化邏輯606利用從屬應用程式的移除語法,如:移除語法616A,來移除從屬應用程式。部分實施例中,移除語法616A是一種MSI語法,用來執行任何必要資源像是DLLs和軟體資源的從屬應用程式利用的不註冊情報。在可替代實施例中,泛集訂製化邏輯606識別並移除掉方塊806中不再被任何保留應用程式所需要的先前必要資源。
透過下個方塊808傳輸處理程序到圈選區方塊804上,其中泛集訂製化邏輯606會根據方塊806處理下一個額外應用程式。當所有額外應用程式都由泛集訂製化邏輯606根據方塊804-808的圈選區處理過後,依據邏輯流程圖800所作的處理程序就傳輸到方塊810。
方塊810中,泛集訂製化邏輯606將泛集502的作業系統508裡的註冊情報進行訂製化。尤其是泛集訂製化邏輯606包括了註冊情報裡的使用者明細資料,用以製造出最完全符合使用者指示之電腦。這類資訊可能含有使用者名稱、使用者縮寫、公司名稱、時間帶、序號、使用者帳號、初始符號、網路明細之類。方塊810代表另一個對訂製化泛集作最佳化的機會。部分實施例中,泛集訂製化邏輯606創造一個獨特初始符號給管理者帳號並創造一個有限帳號給這個終極完備電腦的臨時使用者。
方塊812中,崖訂製化邏輯606清理了註冊情報,移除不必要鑰匙、檔案、檔案聯集和捷徑,並檢查註冊情報的一致性。註冊情報清理就如已知,此處就不作深入說明。
方塊814中,泛集訂製化邏輯606在上述方法完成訂製化之後,會確認泛集502中所有期望檔案的存在。
方塊816中,泛集訂製化邏輯606在註冊情報中修正檔案類型聯集,那麼檔案類型聯集就會指向在額外應用程式移除後依然保留下來的應用程式。某個實施例中,訂製化單包括使用者偏好檔案類型聯集;泛集訂製化邏輯606在方塊816中就在註冊情報中執行那些偏好。
方塊816後,根據邏輯流程圖800的處理程序就完成了。之後,終端使用者碟裝置108(現在其中只有原始泛集211的選用資源255)從訂製化電腦中移除並安裝到電腦104中好提供電腦104訂製化的功能性。在可替代實施例中,將終端使用者碟裝置108安裝到電腦104裡好在電腦104中以電腦104本身進行訂製化。在任何一個實施例中,電腦104在替使用者完全訂製化後會配送到使用者手上。
藉由將終端使用者碟裝置108的泛集與電腦104其他硬體元件組裝過程同時進行訂製化,這個訂製化不會增加電腦104過多的建立時間,又能給電腦104完整的使用者選擇內容訂製化。
第九圖是處理程序的方塊圖,用來處理諸多大型泛集。部分實施例中,泛集502可能比其所要複製的目的地,終端使用者碟裝置108的容量還大。第九圖就是關於主碟106與終端使用者碟裝置108之容量不一致的實施例。泛集複製邏輯604(如第六圖所示)先將主碟106上(如第九圖所示)的泛集502(如第五圖所示)複製到一個有足夠容量儲存整個泛集502的中間媒介碟裝置902上。泛集訂製化邏輯606(如第六圖所示)在中間媒介碟裝置902上,以上述方法中邏輯流程圖800和/或方塊414的方式將泛集502作訂製化。在這訂製化完成後,泛集502就會小到可以存入終端使用者碟裝置108裡。在與上述方塊412近似的方法中,泛集訂製化邏輯606從原始泛集中複製訂製化選用資源到終端使用者碟裝置上。一般而言從大碟拷貝至小碟時不會用磁碟影像拷貝,而資料影像拷貝只拷貝需要資料的區段因此較為常用。檔對檔的拷貝可將終端使用者碟裝置108的容量作最有效的利用,因為它不拷貝那些無用的資料區段部分。在某個實施例中,泛集訂製化邏輯606在拷貝訂製化選用資源到終端使用者碟裝置108上之前,會先將中間媒介碟裝置902的訂製化泛集作一次重組。
只要訂製化選資源被複製到終端使用者磁碟機108上之後,中間媒介磁碟機902就可再利用,在往後泛集502的訂製化中繼續從主碟106資料複製再開始。此外,終端使用者磁碟機108(裡面儲存的原始泛集只剩下選用資源)則安裝到電腦中以形成一個完整、具功能性、且完全訂製化的產品。
其他實施例中,要訂製化及安裝到電腦104上的泛集不只一個。例如,桌上型機器的原始磁碟可能包含一個新技術檔案系統(NTFS)磁碟,其中含括作業系統和訂製化程式,而第二個磁碟(FAT)則保留其他像是音樂、影像或文字檔之類的軟體資源。
使用者的泛集內容選擇
如上所述,泛集是依據使用者提供資訊的指示進行訂製化。簡單說,使用者選擇泛集裡的一些內容,而剩餘的東西就被默認為要從泛集移除。即便是在一個最基本大小的40GB磁碟機中,也能安裝數千個數位軟體資源。上述的音樂播放手機中所提到的20000首歌曲則可存在60GB磁碟機的泛集裡。到現在已經有了更大容量的磁碟機-750GB-它的容量幾乎是以每年兩倍的速度在成長。可輕易從那些大量資訊中找出、操作出、選擇出的問題暴露了現有之選擇與購買的方法論的弱點。尤其是導引功能一定要清楚易懂,即便複雜的聯集也要表現成簡單的方式,長串列表一定要有索引,大量的選擇要讓人易於記憶,搜尋為動態方式且可在當下縮小利用範圍,必要輸入也盡可能減到最少。因此,有一個改良式使用者介面來輔助使用者進行大量資料選擇是很重要的。下面要說的就是這些改良。
與使用者介面環境相關的描述,有助於瞭解及評估前述之內容訂製化系統。在前述實施例中,泛集由電腦製造商進行訂製化,使用者選擇則含括在訂製化單內。部分實施例中,使用者透過慣用網路瀏覽器作出選擇,而使用者介面則由收集資料的伺服器所執行的網上應用程式執行,用來建構訂製化單並交給製造商。期望軟體資源之選擇也可以自動作成來代替企業客戶自行製作。可以根據他或她在企業內部的編制等級和/或能力而分別選配給企業內部每位終端使用者。
在上述說明例中,顧客作出存檔內容的選擇用來存到新購入數位音樂播放器或音樂播放手機上,使用者介面則作為小賣亭的角色在存檔電腦內進行服務。為方便日後讀取使用者選擇以及登錄的數位音樂播放器訂製化內容,便藉由小賣亭存在電子卡片裡。每個使用者都可在小賣店裡手動輸入他或她的名稱,且使用者選擇會透過登錄用的區域性網路和每個使用者名稱連接,好進行後續數位音樂播放器內容的訂製化。
另一個實施例中,電腦可在使用者購入後進行訂製化。在此一實施例中,使用者介面是在電腦本身裡面執行。這裡頭包括了強迫使用者作期望內容選擇的預選啟動程式,因此電腦在作完選擇前對使用者而言是無用的。選擇內容的付費可透過網路連結完成。在另一實施例中,附屬於網路的該裝置提供使用者介面及內容選擇之授權。
在所有這些實施例中,選擇者透過一個或多個輸入裝置的操作所作成的使用者指定選擇來體驗使用者介面。結果就是選擇內容(i)可含括在網路訂單裡;(ii)可用來生產大型企業客戶的終端使用者簡介;(iii)在購買時間內就能送到販售點開始組裝訂製化裝置;或(iv)在終端使用者收到泛集收據後進行局部的改造等例。
第十圖乃是說明泛集的軟體資源使用者選擇介面之範例圖像中視窗1000的各種方框。部分實施例中,視窗1000包括四(4)個方框1002、1004、1006、1008,每個都可獨立捲動。視窗捲動方框就如已知,此處不多作解釋。本說明例中,視窗1000執行一個使用者介面用來選擇泛集的影像內容。方框1002、1004、1006和1008一般狀況下是可以重新編組的,如:根據使用者特殊偏好。然而部分實施例中,方框1002含有一份分類清單;方框1004含有選擇條列的物件指向程式;方框1006包括一個選擇物件指向的事件清單;方框1008則顯示選擇事件的詳細內容。
在選擇影像內容的背景中,方框1002中所列的分類可能就包含這類資訊,像是類型、演員、產品、標題、公開年份等。每個分類會有一個副分類的縮排項目,看似相近於微軟公司所有的Windows作業系統中一般普遍視窗Explorer裡的樹狀資料夾結構。例如,演員分類的副分類可包括男性、女性及獎座。獎座的副分類可以有更進一步的分類包括得獎者、提名、奧斯卡、金球獎等。本說明例中,分類1010顯示為被選擇及強調狀態好代表演員分類。
方框1004包括一個選擇分類的例項(instance)之清單,如:分類1010。在本例中,方框1004包括照字母順排列的演員列表清單。演員1012在本說明例中顯示為被選擇及強調狀態。
方框1006包括已選擇例項之事件清單,如:演員1012。在本例中,方框1006包括選擇演員所出現過的電影和/或電視節目。事件1014在本說明例中顯示為被選擇及強調狀態。
方框1008包括關於選擇事件1014的所有資訊。本例中,方框1008包括有關事件1014所代表之特定電影的所有資訊。這些所有資訊可能包括像是標題、出現演員、製作人、導演、類型、公開年份、代表圖像(如:海報或DVD上的引刷)、一段簡介例如出現在DVD封面上的東西、或是影片回顧。部分實施例中,方框1008或其他方框顯示出每個可能選擇的價格。部分實施例中,價格可能依據其他已購入的選擇而有所改變(如:大量購入則另有折扣)。
使用者在任一方框1002、1004、1006和1008所做的選擇可改變其他方框1002、1004、1006和1008所代表的資訊。然而部分實施例中,使用者選擇則維持原狀。只要充分認識維持選擇的方法,就有助於思考本說明用使用者介面提供給使用者的選擇。
第十一圖顯示的是視窗1100(使用者做過一些選擇之視窗1000的結果)。不同於傳統在兩種狀態間變更的選擇框,也就是對應使用者的行動而出現的選擇狀態與未選擇狀態,視窗1000之選擇框的選擇循環超過兩種狀態,本說明例中即有六種狀態。
第十二圖狀態轉換的狀態圖1200,該狀態是對應使用者在視窗1000之選擇框上所做的行動而得出的結果。在狀態1202中,選擇框是未選擇狀態。這是部分實施例中視窗1000中所有選擇框的初始狀態。狀態1024中,選擇框顯示美金符號表示使用者希望購買這個聯集項目。事件1112(第十一圖)、1114和1116都顯示為使用者選擇購買。狀態1206中,選擇框顯示為選擇檢視符號以指示聯集項目將包含在方框1006中所示之事件的選擇基準裡。在第十一圖的範例中,選擇框1104和1108指示方框1006的事件應包括兩位聯集演員都有出現的電影和/或電視節目。選擇框1102指示方框1006中的事件應和選擇框1102一起隸屬於分類聯集,如:得獎電影和或電視節目。
狀態1208中,選擇框顯示為crossed out 指示聯集項目應以對事件呈否定的選擇基準而包含在方框1006中。在第十一圖的範例中,選擇框1106指示方框1006中的事件應排除出現聯集演員的電影和/或電視節目。狀態1210中,選擇框顯示一個問號是指示尚未決定聯集項目的內容。部分實施例中,會在重選擇前促使使用者回顧所有指定為未決定的項目。本質上而言,當指示一個項目為未決定時,在完成整個選擇程序前會要求使用者回到項目中再次確認需求,就像是說:「請不要讓我在離開該程序前忘記考慮這個項目」。在第十一圖範例中,選擇框1110指示使用者未決定事件1014,並希望在完成選擇前提醒他再次考慮。狀態1212中,選擇框顯示為箭頭指示回顧有所改變。第十圖及第十一圖的使用者介面內部的透視改變有時是指在樞軸上轉動,這在下面將有更詳細的說明。
使用者輕易點擊選擇框就能改變選擇框的狀態。使用者每點擊一下,狀態改變方式就如狀態圖1200所示。另一種替代方式,就是使用者在選擇框上按右鍵就能看到pop-up選單,其中有顯示給使用者作選擇的狀態圖1200之狀態。
部分實施例中,方框1008包括動態文字,像是慣用網頁上的超連結。點擊那個動態連結就會啟動pivoting。想一下使用者在上述狀態中的方框1002,1004,1006 and 1008時點擊方框1008中導演名稱,同時方框1002的演員分類處於被選擇狀態、方框1004列出演員、方框1006則列出那些被選擇演員出現過的電影和/或電視節目。當使用者點擊方框1008中的導演名稱時,導演名稱四周就出現新的視點。「演員」分類未被選擇而「導演」分類則被選擇中。方框1004改為包含一份導演清單。列表項目處於被選擇及強調的狀態也就是方框1008中被點擊過的導演名稱,若有需要也可自動捲軸以顯示方框1004之列表上的導演名稱。方框1006改為包含那些被選擇之導演所導的電影和/或電視節目。方框1008中表示的特定電影或電視節目處於被選擇及強調的狀態,若有需要也可自動捲軸以顯示方框1006之列表上的導演名稱。
使用者也可在方框1008中的動態文字上按右鍵。一個pop-up選單就會回應出現並允許使用者選擇狀態圖1200(第十二圖)的狀態之一。狀態可由狀態圖1200中的圖示代表,和/或由狀態文字敘述,如:「清除有關所有此導演的動作」、「買下所有此導演的作品」、「顯示這個導演的作品」、「隱藏這個導演的作品」、「稍後提醒我再次考慮這個導演」、「將焦點轉到此導演上」好各別重新開始一個新狀態1202、購買狀態1204、選擇狀態1206、不選擇狀態1208、猶豫狀態1210、以及焦點轉換狀態1212。
視窗1100(第十一圖)中的顯示狀態仍然照舊。尤其是狀態圖1200中特定分類、例項、或事件的特定狀態在它們隱形時不會有任何改變,直到他們再次顯示出來為止。
此外,方框1002、1004、1006和1008在任何方框中的項目狀態改變都是動態的,可立即且自動地反應在方框1002、1004、1006和1008的其他部分中。舉例來說,假如使用者先選了(在選擇狀態1206)得獎分類接著又選了(同樣在選擇狀態1206)類型分類,方框1004就會立即自動從得獎與作品類型聯集的作品列表中作改變。假如方框1004包含一份演員列表並選了追加演員(一樣是在選擇狀態1206),方框1006中的作品列表就立即自動被剝除為只剩新追加演員也出現過的作品。假如方框1006選出了不同作品,方框1008也會立即自動更新關於新選擇作品的資訊。
此外為了使其能夠改變獨立項目的狀態,使用者提出圖像使用者介面元素以便允許特定方框中如方框1006中所有項目的狀態作改變。這允許使用者使用上述使用者介面元素來在方框1006裡創造一個所有作品都符合特定基準,如:所有梅格萊恩與湯姆漢克斯出現的浪漫喜劇,的列表。稍後使用者可將方框1006中所有列表作品改變為特定狀態,如:狀態1024指示為購買作品。
當使用者加入欲購買項目(在購買狀態1204下),假如使用者想完成所有選擇的話,合計執行就會更新並反映出價格給使用者看。某個實施例中,會給予一個第二合計,其中包括所有未確定項目(猶豫狀態1210中被選為「未確定」或「未決定」之項目)以及兩種合計之間的差異。這允許使用者比較各種內容的總集。
將例項與滑動控制(sliding control)組成一對來規定界限,好對另外選取的搜尋結果規定動態限制。這個界限可放置在任何訂單規格上,像是公開日期。使用者可滑到最右邊去限制選擇最新公開。滑往其他方向時,她也可以限制選擇經典老片。這個多用途方法可作為價格、受歡迎程度、聽眾、程式長度之類的測定基準。
想在一長串名單中找出希望登錄的位置,單一滑行控制可在一覽表上使用英數字母索引而不需敲鍵盤或按滑鼠。這個定位工具動作起來有如電子字母索引且可與方框控制拉桿併用。
由於預期提供給使用者的選擇相當豐富,因此使用者介面提供了儲存現階段選擇的功能,並可在稍後重新載入當時的選擇。這讓使用者有機會仔細評估及搜尋各種選擇操作。
目標導向、動態計費
硬體和軟體都是經濟性改良品。製作較便宜的軟體可讓運作的硬體更易於銷售。硬體裝置比多數獨立軟體程式或視聽資源都貴,因此利潤比不大。像筆記型電腦之類的硬體裝置操作,就如:花費越高驅動器就越大,外加電池、部分纜線、手提箱及印表機則有限制。然而泛集中的程式和其他軟體資源,比如上面所說明之音樂播放器、手機,其高度利潤比在隨時販售及日後更新的條件下沒有實際上限。
販售附有軟體資源選擇的裝置提供製造商在整個販售上可觀的自由計費之利益。當顧客已購買一部新裝置時自然不想再負擔市場價格的軟體,這也會招來附加利益。當硬體販售矮化了軟體販售,這種規模經濟與其他軟體販售模式相比不論是線上或離線都算高。
計費方法依據成本、理解價值、或市場率而有所不同。計費提供了評估項目品質的符號。比例價格可引導購入者從低界限產品到高界限產品。藉由動態計費,販售商可改變可能性、大小、產品組合、及潛在銷售的收益性。甚至藉由動態累積這些沿著特定特徵銷售的流程,公司可持續操縱以獲得一個複雜且偶有衝突的企業目標。普遍的計費心理偏好是設定一個參考價格並減少相關參考價格,如:「推銷」。因此價格在廣義上包括標籤價、折價、折扣、優待券、禮品、二合一之類。減價可以是用來促使顧客進行期望動作的事件驅動器(event-driven)及時間限制。
總額是依據提出的規範集合來對所有選擇內容作更新(購買狀態1204中顯示為「購買」狀態的項目),如:「計費方針」。每種計費方針,如:計費方針620A(第六圖)或計費規則244(第二圖A)或計費引擎1300(第十三圖),明確指定狀況與聯集之計費。最簡單的計費方針就是固定價格,其中聯集內容的價格為不管選擇四周的狀況條件如何都是固定的。稍複雜些的計費方針就是同捆價,當未選擇其他項目時為單一價,而一併選擇其他項目時則訂為較低價格。可考慮的例子像是微軟Visio這個畫圖程式在未選擇微軟Word文字處理器之前是單一價,而一同選擇微軟Word文字處理器購買就可用較低價格購入。另一個考慮的例子是假如同時購入特定音樂家的所有專輯,那麼這些專輯計費可享有25%的折扣。
另一種計費方針可以計費方針620A為代表,是一種硬體同捆計費方針。舉例來說,假如電腦104包含一台可以寫入碟片的CD/DVD讀取機,則CD/DVD燒錄器應用程式可以用實質折扣提供。同樣地,只要訂單上包括數位相機、擴充記憶體、和/或彩色印表機,圖片瀏覽、圖騙編輯、圖片印刷軟體的價格也可有所折扣。
計費方針的條件傾向於有效率且有彈性的方式,也就是實體設計泛集計費時,在說明各種計費條件上有大幅度的自由。舉例來說,假如辦公室套件的競爭軟體是處於未選擇狀態,或是有可替代的計費方針,且這個辦公室套件的競爭軟體在方框1008中被檢視的時間相當多,這一套辦公室套件可能會有一個原價和超低價。假如內容被選擇(購買狀態1204)之後又被取消選擇(猶豫狀態1210或重新開始狀態1202),這個「請回來」計費方針可設定一個原價及大幅折扣價。
另一例中,訂購服務供應商像是網路公司就會提供其他內容的大量補貼好確保一份長期服務契約-很像是網路公司有時在電腦裝備零售處提供的折扣。訂購服務供應商可提供某種定量(如:兩百美金)的免費軟體來交換一份長期契約(如:兩年)。軟體發行商可針對新公開軟體和自動接收更新給予輔助津貼。
部分方法中,泛集內容是像飛機上的座位或旅館房間之類的有時間限制的資源。配送沒有內容的電腦是一個難以取消的捕捉收入機會喪失。此外由於內容的短暫敏感性,變動費用低的泛集內容,是很易於再販售的庫存,且要求和已知履歷作共同變動(銷售業務會隨學年開始、假期、新作業系統或新等級高速處理器的公開而改變)。因此,航空業與旅館業使用的一些生產管理計費方法也適用於側載。
第十三圖顯示計費引擎1300用來在部分實施例中執行泛集的計費(如:像是第二圖A中所示之計費規則244)。部分實施例中,計費引擎1300包括一個個體經濟計費引擎1302和一個總體經濟計費引擎1304,兩者都會監控訂單狀態並提供計費資訊給訂單管理人工智能引擎1306,再輪到提供計費資訊給使用者介面1308。使用者介面1308就如第十圖、第十一圖、第十二圖所示來控制上述使用者介面。
部分實施例中,個體經濟計費引擎1302會處理特定使用者及該使用者所做之特定選擇的訂單中樞資訊詳細。顧客評估引擎1310確定出某位顧客使用者的特定價格,依照他過去的訂購履歷以及預期未來的訂購履歷。部分實施例中,訂購特徵1312包括目前訂單的大小(如:訂製化電腦的數量、訂製化電腦的價值-最高位對廉價電腦等等)之資訊。顧客關係管理資料庫1314包含顧客評量引擎1310用來確定顧客使用者價值時所使用過的顧客履歷資料。產品定價資料庫1316包括泛集內容明細資訊並包括計費方針像是計費方針620A(請見第六圖)。顧客分割引擎1318將顧客使用者的重要性與使用履歷分別確定-如:利用顧客住址資訊確定出影響力等級,從住址確定使用者是器業客戶或私人客戶等等。當下企畫1320代表當下、短時間的計費方針並在整個計費方針上習慣週期性的fine-tune。
總體經濟計費引擎1304處理獨立於特定訂單之資訊好影響大規模的計費,如:來自作成登錄的所有銷售業務在這裡就是指賣方。企業履歷資料庫1322包括賣方和/或賣方所在產業的各種經濟測定基準的資訊。各季訂單履歷1324代表一段期間上的購買行為模式-鑑識行為模式詳細像是假期、學年開始、會計年度開始/結束、和最簡單的春夏秋冬四季。企業年中結果報告1326包括賣方最近經濟表現履歷。分析家預測1328根據預測的失敗與成功符合度,預測出包括金融市場專家對賣方之期望的相關資訊以及暗示賣方的公平之重要性的最終結果。企業目的1330代表的是藉由投資回本(Return on Invested Capital)之類的東西來衡量賣方大規模的經濟目的,它可能是非常接近又或者極端不同於分析家預測1328。競爭與產業趨勢1332代表競爭對手與業界的傾向及全盤的經濟通例,如:促進收益支出上的成長或促進成長支出上的收益,以及促進其中一個超越另一個所需要的等級。計費方針1334和計費規則與動作1336允許在總體經濟計費引擎1304中作手動調整。
訂單管理人工智能引擎1306結合了資訊、目標、個體經濟計費引擎1302和總體經濟計費引擎1304的調整以提出一個實際供應價格給使用者介面1308好顯示給使用者看,用於回應當下的選擇改變。為求效率起見,所有獨立於使用者配置訂單之特定詳細的標準,都是同時評量與處理而作成基線計費資產,像是基本價格和/或可接受最小限度。因此,為了對使用者所做任何選擇改變作回應,需要一個公平謙虛評量特定選擇內容的計費方針。顯示給使用者的價格相對地可以更快速更新及重新顯示,提供使用者介面所作之即時回應的印象。
軟體資源
第十四圖是有效化程序1400的流程圖。部分實施例中,軟體已安裝且正確安裝而有效化。部分實施例中使用有效化程序,確認軟體資源(像是一個或多個軟體程式)若在泛集生產手續中安裝至儲存媒介上時將正確工作。部分實施例中,安裝套件內容會被測試可能與泛集221中的軟體資源之超集合中的其他應用程式起衝突之項目。這個有效化從打開安裝套件的方塊1410開始(操作v1)。在決定方塊1412上(操作v2)時會有一個衝突(在泛集之超集合中可能與其他應用程式共用的元件物件模型(COM)可能就是會引起衝突的項目)檢查。部分實施例中,這些有效化作業的要求之一就是方塊1414的程式作者,使用相鄰物件改變安裝程式,且等級與本身註冊一覽表不包含任何登錄項目。部分實施例中,決定方塊1420是用來檢查安裝程式的安裝動作是否有要求再啟動或預定啟動登錄的部分,若是有,作者(如:創造軟體資源的軟體公司)就會移除再啟動要求。部分實施例中,不要求再啟動會被踢掉且程式可能會要求再起動成為安裝動作的一部份。在決定方塊1424上,會作一個確認軟體資源安裝是否創造出即使軟體資源被篩選動作移除安裝或移除也不會被消除的「永久元件」檢查。若是如此,在方塊1422中,有效化程式或其使用者會向作者做有效化,不論永久資料是否無可避免地必需是永久的,若非如此,該資料的永久部分就會請作者在軟體資源有效化或認證化而得以於泛集中使用前移除。在決定方塊1428上,會作一個確認軟體資源安裝是否由「訂製動作登錄」所執行之檢查,其中執行過的動作都不是透明的(如:部分實施例中,有效化程序要求所有安裝程式執行之動作是明白可見且可由有效化程序證明的)。假如訂製動作已在方塊1426處理過,那麼有效化程式或其使用者可能會要求作者移除訂製動作並讓所有由安裝程式執行之動作可看見且可認證,好使有效化或認證在泛集中有用。若在方塊1428上,沒有任何有效決定方塊(1412、1420、1424和1428)使作者重建安裝套件,那麼結束方塊就到指出軟體資源和其安裝程序可有效正確運作為止。其他場合中,正確動作是必要的且方塊1416中,作者會重建安裝套件好符合有效化要求,且重建安裝套件會在方塊1410中重新加入程序1400。第十五圖A是方法1501的流程圖。部分實施例中,電腦執行方法包括拷貝1510一個包含複數軟體資源的泛集到一個儲存裝置上;獲得1512顧客特定選擇資料來區別授權軟體資源的選用資源與非授權軟體資源之未選用資源;從泛集中自動剔除1514非授權軟體資源,這樣一來儲存裝置就只剩授權資源及取代非授權資源的可利用儲存空間,其中的複數軟體資源在剔除作業執行前使用者是無法利用的。
第十五圖B是系統1502的方塊圖。部分實施例中,系統1502包括一個或多個數位主泛集影像1520的管理套件220,每個都保有一套軟體資源,複製設備1522連結至管理套件並可操作傳輸選擇主泛集影像之例項到儲存媒介上,資料介面1524減去並接收選擇資料給選擇主泛集影像中之軟體資源的訂製化子集,篩選引擎1526依據選擇資料可操作從儲存媒介中選擇性移除某些資源,而收費機器1528可依據選擇資料操作向選擇帳號收取金額,並授權配送裝置讓消費者可利用儲存媒介上之軟體資源。
第十五圖C是方法1503的流程圖。部分實施例中,方法1503包括一個電腦執行方法1530它可提供一個擁有複數泛集儲存於其上,且可讀取電腦的主儲存媒介,泛集包括含有第一複數安裝軟體資源的第一泛集以及含有相異的第二複數安裝軟體資源的第二泛集,提供1532第一可讀取可寫入電腦之終端使用者儲存媒介,獲得1534明示複數泛集中第一選擇之資料,並寫入1536明示第一選擇之泛集到第一終端使用者儲存媒介上,其中第一複數安裝軟體資源在使用者進一步操作移除安裝軟體資源子集前是無法利用的。部分實施例中,本方法會以相異於已示方法之順序執行,例如提供1532一個第一可讀取可寫入電腦之終端使用者儲存媒介,獲得1534明示複數泛集中第一選擇的資料後以相反於已示方法之順序執行。
部分實施例中,方法1503可任意包括以安裝第一複數軟體資源來創造第一泛集。部分這類實施例中,方法1503可任意包括在寫入第一選擇泛集到第一終端使用者儲存媒介上之前,先從第一選擇泛集上移除安裝1535一套未選擇軟體資源。
第十五圖D是電腦執行方法1504的流程圖。部分實施例中,電腦執行方法1504包括產生1540一個泛集,其中包括可獨立選擇的已安裝軟體資源全集,拷貝1542泛集到複數每個可讀取可寫入電腦的終端使用者儲存媒介,獲得1544區分選用資源(欲保留之複數已安裝軟體資源的第一子集)與非選用資源(不保留之複數已安裝軟體資源的第二子集)的選擇資料,篩選1546一個選擇的第一終端使用者儲存媒介(從終端使用者儲存媒介中照選擇資料之指定,清除和/或移除安裝非選用資源),並配送1548已篩選之終端使用者儲存媒介。
檔案系統結構範例
在一些實施例中,具有FAT32體積的儲存媒體係分割成四個區域:啟動記錄,檔案配置表,根目錄,及資料區。在一些實施例中,啟動記錄係FAT32體積的首三個區段。由其界定體積,以及其他三個區域在何處。若體積可啟動,則啟動記錄第一區段亦包含進入檔案系統及啟動作業系統所需的碼。檔案配置表係一串可存取的檢視表位址,當載入檔案或橫越目錄時,可用以檢視下個叢集是那一個。例如,系統剛載入叢集23,可檢視FAT中的偏置23,以及下個叢集的位置,通常為24。由於FAT係如此重要的資料結構,通常有兩個複製(即FAT1與FAT2),若FAT有損壞,則可加以偵測,可能的話並加以修護。根據目錄係固定長度,通常位於體積的起始處(FAT之後),但FAT32視根目錄如同資料區中的另一個叢集。但即使在FAT32體積中,根據錄通常緊跟於兩個FAT之後。其餘體積則由資料區域填滿,並分割成兩個叢集(其大小視體積或媒體的全部大小而定);此處即為資料儲存之處。子目錄係檔案系統所瞭解的特別結構的檔案,標記為目錄而非檔案,即將“目錄”屬性設定於指向此目錄的目錄登錄中。一個檔案至少有一個,通常三個組件:一界定檔案之目錄登錄,一組FAT中的數值,界定資料叢集,若有的話,及/或無或多個資料叢集,包含實際的資料本身。若檔案有零長度,則此檔案即無結合之資料或FAT登錄。
對比上,Microsoft’s NTFS(new technology file system)包括數個系統檔案,從NTFS體積所見全部隱蔵。系統檔案係檔案系統用來儲存其索引資料及施行檔案系統。系統係由重組公用程式置於體積上。一NTFS目錄索引資料的實施例,如以下儲存於NTFS主檔案表內之索引資料表所示:
在有些實施例中,其他索引資料係用在目錄結構中。其他檔案系統及目錄結構為一般技藝者所公知,技藝人士容易找到及應用這些資訊於任何特別的檔案系統及目錄結構,及使用低階作業系統或程式直接存取區段,叢集,啟始記錄,及其他所需結構,產生,讀,修改,及/或寫所需資料,以便篩選儲存媒體,清除非選擇軟體資源。由於視窗XP及或許其他高階作業系統並不允許對硬體直接存取,在一些實施例中,本發明使用如MS-DOS基本的低階作業系統,該系統允許對任何碟區段讀與寫存取,包括高階作業系統所本身使用之目錄(包括NTFS目錄)。
但此種低階作業系統或程式亦可用來取消清除檔案及重建資料結構(取消清除程式係公知且有各種特點及功能可供使用)。因此,在一些實施例中,本發明係使用一快速-安全之清除。
第十六圖係一快速-安全清除方法1600的流程圖,可加強系統安全及使其難以重建篩選過的清除的非選用資源。方塊1610係一儲存媒體,具有一泛集經篩選後移除非選擇軟體資源。方塊1612,程序1600更充分的塗掉目錄登錄,FAT表叢集鏈,NTFS MFT資料,及/或任何其他目錄中之索引資料,以使其難以重建自泛集篩選過的清除軟體資源。在一些實施例中,此種目錄索引資料係以零覆寫(“歸零”),而在其他實施例中,則使用任何其他適當資料式樣(包括,在一些實施例中,假性-隨機或陏機資料)。在一些實施例中,作業系統(即Windows XP or VISTA)終須執行具有連結之篩選儲存媒體,可能不能或不願直接允許由篩選程式(非選擇)篩選的清除軟體資源,完全塗掉目錄資料,及在一些此種實施例中,一低階程式及/或作業系統,可直接或間接讀及寫至非暫態信號載體或儲存媒體的任何地方,可用來提供施行快速-安全清除所需的功能。
另外,在一些實施例中,方塊1614快速-安全清除功能亦包括一“致能-索引-清除”功能。許多程式,為了要執行,需要特定鍵(致能索引資料)鍵入才能致能一些或所有軟體資料的功能(即Office Suite程式)。在一些實施例中,致能-索引-清除功能操作定位及塗掉可能在目錄索引資料之外的致能索引資料或註冊情報-鍵資料。
另外,在一些實施例中,方塊1616快速-安全清除功能亦包括一“註冊情報-鍵-清除”功能。許多程式,為了要執行,需要特定鍵(註冊情報索引資料)鍵入才能致能一些或所有軟體資料的功能。在一些實施例中,“註冊情報-鍵-清除”功能操作定位及塗掉可能在目錄索引資料之外的此種註冊情報-鍵。在一些實施例中,此種功能亦壓縮殘留註冊情報資料或消去先前非選擇註冊情報資料所使用的空間。
另外,在一些實施例中,方塊1618快速-安全清除功能亦包括一“背景-清除;”一背景執行程式或功能,可系統地定位儲存-媒體區段或資料叢集,這些皆未用來保持選用資源或篩選後加入的資料(即使用者的新資料或程式),且可假設其有保持檔案或其他非選用資源的資料結構,及將一預定資料式樣(即0,1,1及0式樣,及/或假性-隨機或隨機資料)寫至那些檔案區段及叢集上。在一些實施例中,資料結構係在篩選過程中產生,特定識別保持非選用資料的區段及叢集,且該資料結構(結合用來確認此種叢集及區段尚未遭新或使用者資料所覆寫)係用來指引背景清除。
因此,在一些實施例中,快速-安全清除1600塗掉(即以其他資料覆寫)所有或實質全部與識別及定位非選用資源(由篩選程式清除之軟體資源)結合之目錄索引資料。在一些實施例中,快速-安全清除執行一背景-清除程式,在待機或等待處理器的時間執行,及系統地塗掉非選用資源所在之檔案-資料區域(即區段及/或叢集)。在一些實施例中,快速-安全清除包括塗掉目錄索引資料及經由非景-清除塗掉非選用資源檔案-資料區域。
在一些實施例中,由於潛在的衝突,COM類必須安裝成邊邊相鄰(side-by-side)模式,使其成為使用應用程式自用,不與所有應用程共用。此即表示在軟體應用程式的安裝套件中不得有COM類的註冊。類別ID(CLSID)係典型128-位元數,表示軟體應用程式或應用程式組件的獨特識別器。其有效驗證可利用以下範例Visual Basic腳本實施,測試安裝套件中的類別及本身註冊(Class and SelfReg)表的登錄是否存在。
[0300]Database=Installer.OpenDatabase(the MSI installation package) View=Database.Open View('Select CLSID from Class') View.Execute Classdata=View.Fetch If Classdata is Nothing....there are no CLSID entries View2=Database.Open View('Select File from Class') View2.Execute SelfRegData=View2.Fetch If SelfRegData is Nothing there are no entries in the SelfReg table
在決定方塊1420(作業v3),安裝套件的檢查可能造成電腦系統的重新啟動,如此會干擾產生超集合的程序。若在CreateFinalSubset API呼叫中自超集合移除套件的應用程式,並造成重新啟動,如此會延遲最終子集的產生,且在製造程序中使用時會造成停止。
此作業之有效驗證要求係安裝套件執行順序不包含重新啟動(Reboot)或排程重新啟動(ScheduleReboot)登錄。此作業之Visual Basic腳本範例如下:Database=Installer.openDatabase(the MSI installation package) View=Database.Open View('Select Action from InstallExecuteSequence where Action='Reboot') View.Execute RebpotData=View.Fetch If RebootData is not Nothing there are Rebppts View2=Database.OpenView('Select Action from InstallExecuteSequence where Action= 'ScheduleRebpot' View2.Execute SchedData=View2.Fetch If SchedData is not Nothing there are scheduled reboots in the package.
決定方塊1420(作業v4)-永久組件不可在安裝套件安裝時加至電腦系統。永久組件係指應用程式解安裝時並未解安裝者。此表示不需要的檔案或註冊登錄將仍留在電腦系統。這些將佔據碟空間,而在CreateFinalSubset API呼叫之後,應用程式亦不會加以使用。
此作業有效驗證要求係沒有組件會被標記為永久安裝。Visual Basic腳本的有效驗證範例如下:Database=tnstaller.OpenDatabase(the MSI installation package) View=Database.Open View('Select Attributes from Component') View.Execute Do AttributeRecord=View.Fetch AttributeValue=AttributeRecord.IntegerData(1) If AttributeValue and 0x0010 is non zero,the component is permanent Loop until AttributeRecord entries are processed for each component.
決定方塊1420(作業v5)-訂製動作係安裝套件著作在安裝或解安裝應用程式時加進去的訂製碼。此訂製碼可中斷有效驗證,因為此訂製碼可破壞安裝套件未與超集合內其他應用程式衝突的證明。例如,訂製碼在訂製動作中能產生一COM註冊登錄或促使電腦重新啟動。此作業之有效驗證要求係安裝套件不含訂製動作。
Database=Installer.OpenDatabase(the MSI installation package) View=Database.OpenView('Select Action from CustomAction') View.Execute CaData=View.Fetch If CaData is not Nothing there are custom actions
在一些實施例中,會施行另外的次一階段的有效驗證,包括:檢查MSI相對於已存在於超集合中的候選者;檢查現存索引資料中並無產品碼,檢查現存索引資料中並無升級碼,檢查服務名稱,檢查環境變數,及檢查檔案副檔名;並檢查解安裝已完全移除所安裝的。
安全問題SECURITY ISSUES
此處所述數位內容分配系統有一些相關的安全問題。有一個稱為泛集保護選擇與訂製,用以防止使用者未經授權存取非選擇內容的問題已經說明過。另一個安全問題是快速清除數位儲存媒體內容。第三個即為以下說明之偵測失竊泛集。
快速而安全的清除處於一般清除與高安全清除之間。一般清除會留下很多的刪除檔案供重建刪除檔案用,一般稱為“取消刪除”的程序。不安全清除係一種不好的情況,因為使用者可能未選擇有價值內容,但稍後卻要“取消刪除”清除的有價值內容。磁碟重組可以排除簡單的取消刪除/取消清除程式,但非常耗時間。有些高安全清除技術通常包含對先前儲存實質資料及索引資料重複寫入隨機選擇位元值,以防止因仔細檢查儲存於媒體表面之磁性樣式,而顯露先前儲存於媒體上的資料。這些多重重複動作比簡易清除或重組都要耗時間。
在一些實施例中,本發明提供一種清除機構,其受排除的成本較清除內容的成本要高。傳統取消刪除舊式刪除檔案的成本較微不足道。因此,使用高安全機構為佳。排除高安全清除的成本往往數倍於所消除泛集內容,而使用高安全清除可提高工廠或經銷商訂製作業的產出量(機器/小時)。因此需要高效率的清除機構。
在一實施例中,若泛集檔案系統係使用檔案配置表(FAT)系統,安全,快速清除包括在檔案系統目錄結構中所表示的以下的修改:(i)標記檔名第一位元組(改變預定值),(ii)歸零表示檔大小的資料,(iii)橫越(traversing)檔案配置表叢集登錄,並歸零所有橫越的叢集登錄,及(iv)歸零第一檔案配置表叢集位址。在另外的實施例中,若泛集檔案系統係NTFS(New Technology File System)檔案系統,安全,快速清除包括以下修改檔案系統目錄結構所呈現的檔案:(i)歸零檔案清除旗標,(ii)歸零代表檔案大小的資料,(iii)歸零檔案所有資料屬性,及(iv)歸零檔案$Bitmap叢集。其他的實施例尚有其他處理環境及其他檔案系統的可能,例如大型電腦。安全,快速清除破壞目前所使用取消刪除機構的資料,也較高度安全消除機構有時間效率。
此種安全,快速清除施作可為獨立模組,過濾驅動器,或修補程式,附於泛集作業系統所包括之傳統清除常式內。若安全,快速清除係以獨立模組,過濾驅動器施作,其個別安裝,主要是泛集內容各段的移除腳本係經修改為使用安全,快速的清除機構,而非傳統,可回復清除機構。若安全,快速清除係以修補程式施作,即修改傳統清除常式,修補程式最好在完成泛集訂製後加以移除,使傳統,可回復的清除可以回復,符合使用者的傳統期望。
為偵測遭竊或未授權使用泛集,泛集須使用隱密識別。在一實施例中,多餘內容包含在泛集中,在訂製泛集時,不論使用者選擇什麼都不加以移除。將此種多餘內容當作是需要內容為佳,如此,一般複製者會將多餘內容留在原處,以免破壞泛集的工常操作。例如,多餘內容可當作是DLL,而登錄可修改為顯示至少一作業系統模組需要該DLL,以免遭移除。另一種方法係在每一泛集產生一消除移除,假性或片段程式,其MSI表內容記錄泛集的產生及自泛集移除的軟體程式。在一些實施例中,罩覆識別元件係以別號稱呼。
在另外的實施例中,視聽資源,即聲音檔案,影像,視訊等係利用一種如美國專利6,209,094的特效浮水印機構,即Earl Levine發明之“數位信號浮水印方法及器具“。要如此識別視聽資源泛集,作業系統所需之視聽資源及/或對使用者可能選擇的一或多個應用程式有價值的,即以此種方式加上浮水印。例子包括桌上型電腦的壁紙,開關機等系統事件中發生的聲音。在無作業系統的泛集中,即數位音樂播放器,軟體內容(通常為數位音樂檔案)實質部分(若非全部)加上浮水印。
上述選擇性分配數位內容的方法及器具,經由本發明的特別實施例的說明,已成為容易明瞭。雖然這些說明能充分瞭解本發明,但這僅是本發明廣泛範疇的代表而已,而上述實施例的各式各樣的變化,對於一般熟悉技藝人士已變得至為顯然,而這些變化完全屬於本發明之範疇。例如,此處所描述之特定儲存技術,亦含蓋適當檔案系統的此種儲存技術。另外,所提及之各種數位裝置類別,其他的類別亦可適用於本發明之實施例中,包括一般用途電腦,特別用途電腦,嵌入式電腦,企業版電腦,伺服器,視聽感知器,器具,機器,載具,武器等等。
以上說明旨在描述而非限制。另外,本發明無須一一舉例說明各種本發明方明或裝置可解決的問題點,這些將由本發明申請專利範圍所涵蓋。另外,在申請專利範圍明示本發明之元件,組件或方法步驟,並非無償提供公用。申請專利範圍元件中非屬美國專利法35 U.S.C. §112第6節所稱事項,除非該元件係明確表示以“裝置用以”的句子說明,或在專利範圍的方法中,其元件係以“步驟”表示而非“行為”。
雖然上述已說明不同實施例之各種特徵及優點,以及各實施例詳細之構造及功能,熟悉技藝人士在參閱上述說明後,其他的實施例即至為顯然。因此,本發明之範疇應由以下申請專利範圍及其全部等效範圍來界定。在申請專利範圍中,“包括”及“之中”係平常文義所謂之“包含”及“其中”。另外,“第一”,“第二”,及“第三”僅係標識之用,與物品所要求之數量無關。
105...感知器
135...主泛集
150...擁有選用資源的儲存媒介
198...側載軟體資源
210...安裝儲存媒介
220...主儲存媒介
281...選用資源
282...非選用資源
602...泛集授權邏輯
604...泛集複製邏輯
606...泛集訂製化邏輯
614A...安裝語法
616A...移除語法
1302...個體經濟計費引擎
1304...總體經濟計費引擎
1306...訂單管理人工智能引擎
1308...使用者介面
第一圖A係分配軟體資源到個人電腦或類似資訊處理裝置的側載程序189之方塊圖。
第一圖B係分配軟體資源到感知器(percepter)或類似裝置之側載程序190的方塊圖。
第一圖C係分配軟體資源到儲存媒介150之程序130的流程圖。
第一圖D係篩選程序152的流程圖。
第一圖E係活化網路(network-activated)篩選程序155的流程圖。
第二圖A係用來創造具有訂製化和/或使用者選擇軟體資源集合之儲存媒介150的泛集產生及泛集篩選程序200之方塊圖。
第二圖B係用來創造具有訂製化和/或使用者選擇軟體資源集合之儲存媒介150的另一個泛集產生及泛集篩選程序204的方塊圖。
第二圖C係具有獨立篩選程式240之儲存裝置260(如:磁碟機261之實施例)的方塊圖。
第二圖D係具有獨立篩選程式240之儲存裝置270(如固態裝置271之實施例)的方塊圖。
第二圖E係儲存裝置231所使用之篩選程序280的方塊圖。
第二圖F係對儲存裝置231所使用之非暫態(intransient)訊號載體290的方塊圖。
第二圖G係用來處理儲存裝置236所使用之空集253(blankoplex)之程序288的方塊圖。
第三圖A軟體資源300集合的維恩集合圖(Venn diagram)。
第三圖B選擇與篩選的軟體資源350集合的維恩集合圖。
第四圖A係用來複製含有泛集的主碟裝置以供訂製化及安裝至電腦之程序100的方塊圖。
第四圖B係泛集複製之訂製化訂製化410的實施例之一的邏輯流程圖。
第四圖C係包括第四圖B所示之訂製化訂製化方式的內容物分配430的邏輯流程圖。
第四圖D係第四圖A中分配用電腦102的元件400之部分說明的方塊圖。
第五圖係第四圖、第四圖B及第四圖所複製之泛集502在同一個說明實施例中的方塊圖。
第六圖係大為詳細的第四圖D之訂製化訂製化系統邏輯600的方塊圖。
第七圖係說明第五圖之泛集產物700的邏輯流程圖。
第八圖係說明第五圖之泛集訂製化訂製化800的邏輯流程圖。
第九圖係以圖形顯示儲存在無法保存泛集全體的碟裝置裡的泛集訂製化訂製化900。
第十圖及第十一圖說明各種用以選擇泛集之軟體資源的圖像使用者介面的窗框1000和1100。
第十二圖係第十圖及第十一圖所示之圖像使用者介面所支援的各種選擇狀態1200的狀態圖。
第十三圖係用來決定泛集內選擇軟體資源之價格的估價引擎的方塊圖。
第十四圖係有效性檢驗程序1400的流程圖。
第十五圖A係方法1501的流程圖。
第十五圖B係系統1502的流程圖。
第十五圖C係方法1503的流程圖。
第十五圖D係電腦實行方法1504的流程圖。
第十六圖係快速安全消去方法1600的流程圖。

Claims (30)

  1. 一種處理具有預寫之複數個已安裝軟體資源之第一儲存媒體的方法,該方法包含:形成一軟體資源之泛集資料集,其中該泛集資料集包括預寫之複數個已安裝軟體資源,及篩選資料包括索引資料,可供作業系統處理複數軟體資源;將該泛集資料集分離成複數個部分,包括第一部分,具有包括至少一些索引資料之至少一些篩選資料,及第二部分,具有不含至少一些篩選資料之泛集資料集;在連接該第一儲存媒體至一終端使用者裝置之前,於該第一儲存媒體寫入不含至少一些篩選資料之泛集資料集的該第二部分,且不將該第一部分寫入至該第一儲存媒體;在該寫入之後,耦合該第一儲存媒體至該終端使用者裝置,成為第一終端使用者儲存媒體;取得選擇資料,用以區別要保留之第一子集的預寫之複數個已安裝軟體資源及要刪除之第二子集的預寫之複數個已安裝軟體資源;自該第一終端使用者儲存媒體以外的位置取回具有至少一些篩選資料之泛集資料集的第一部分;根據該選擇資料及該取回之泛集資料集的第一部分自動修改該第一儲存媒體;其中該自動修改包括:將至少一些取回之該泛集資料集的第一部分之該篩選資料所包含的該索引資料之修改版本寫至該第一儲存媒體,經篩選後所釋出之可用空間,可供儲存其他資料,以取代所減去之該泛集資料集的第二部分第二子集,及其中保留之該泛集資料集的第二部分第一子集係已安裝, 具有功能性及實質立即使用性。
  2. 根據申請專利範圍第1項之方法,其中該些預寫之已安裝軟體資源在執行自動修改作業之前無法使用。
  3. 根據申請專利範圍第1項之方法,其中提供具有預寫之複數個已安裝軟體資源之第一儲存媒體,包括:提供第二儲存媒體;安裝複數個軟體資源於該第二儲存媒體;提供第一儲存媒體;及將包括複數個已安裝軟體資源之該第二儲存媒體之資料寫至該第一儲存媒體。
  4. 根據申請專利範圍第1項之方法,另包含有效連結該第一儲存媒體至終端用戶尚未使用之裝置,以便在修改作業之後該裝置係在可立即使用之狀態。
  5. 根據申請專利範圍第1項之方法,另包含根據該選擇資料至一預定帳戶收費一金額。
  6. 根據申請專利範圍第1項之方法,另包含根據該選擇資料開立一金額收據。
  7. 根據申請專利範圍第1項之方法,其中修改該第一儲存媒體另包含:自一作業系統目錄位置讀取目錄資訊;修改該目錄資訊,寫入空白的目錄位置;及將該修改之目錄資訊寫至一作業系統目錄的目錄位置。
  8. 根據申請專利範圍第1項之方法,其中修改該第一儲存媒體另包含:自該第一儲存媒體一作業系統目錄位置以外之位置讀取 目錄資訊;及將該修改之目錄資訊寫至該作業系統目錄的初始位置。
  9. 根據申請專利範圍第1項之方法,其中修改該第一儲存媒體另包含:自該第一儲存媒體以外之一位置讀取目錄資訊;及將修改之該目錄資訊寫至該第一儲存媒體上之作業系統目錄位置。
  10. 根據申請專利範圍第1項之方法,其中提供具有預寫之複數個已安裝軟體資源之第一儲存媒體,包括:提供第二儲存媒體;將複數個軟體資源安裝至該第二儲存媒體以產生一主泛集(master panoplex);提供該第一儲存媒體;及複製包括複數個已安裝軟體資源之該主泛集至該第一儲存媒體。
  11. 一種裝置,用以處理具有預寫之複數個已安裝軟體資源之第一儲存媒體,包含:第一儲存媒體;第二儲存媒體一介面設定成連接於該第一儲存媒體,上面儲存有複數個已安裝軟體資源;一功能裝置(means)用以取得選擇資料;一功能裝置,連結於該介面,根據該選擇資料和一篩選資料可修改該第一儲存媒體,於清除非選擇資源之空間處,可供儲存其他資料用,及選擇資源可供作安裝內容;及 其中該篩選資料係從該些已安裝軟體資源的泛集資料集的第一部分取回。
  12. 根據申請專利範圍第11項之裝置,另包含一功能裝置可將包含該些複數個已安裝軟體資源之資料儲存至該第一儲存媒體。
  13. 根據申請專利範圍第11項之裝置,另包含:一功能裝置用以安裝複數個軟體資源至第二儲存媒體;及一功能裝置用以複製包括該些複數個已安裝軟體資源的該第二儲存媒體資料至該第一儲存媒體。
  14. 根據申請專利範圍第11項之裝置,另包含:一終端使用者尚未使用之電腦控制之設備裝置;及一功能裝置用以有效連結該第一儲存媒體至該設備裝置,使得該設備裝置在修改裝置操作之後,處於立即實質可供終端使用者使用之狀態。
  15. 根據申請專利範圍第11項之裝置,另包含:一功能裝置根據該選擇資料內容收費一金額。
  16. 一種裝置,用以處理具有預寫之複數個已安裝軟體資源之第一儲存媒體,包含:一介面設定成連接至該第一儲存媒體;一輸入裝置設定成可接收選擇資料,用以選擇軟體資源;一篩選器,連結至該介面及該輸入裝置,其中該篩選器係設定成可控制該介面,以便根據該選擇資料和一篩選資料修改該第一儲存媒體,清除非選擇之軟體資源位置,清除空 間變成可供其他資料儲存,及該選擇之軟體資源係已安裝可供使用;及其中該篩選資料係從該些已安裝軟體資源的一泛集資料集的第一部分取回。
  17. 根據申請專利範圍第16項之器具,另包含一儲存媒體寫入器,具有安裝在其中之第一組軟體資源,可實質同時操作寫入至第一儲存媒體及至少一其他儲存媒體,實質相同之資料包括第一組已安裝軟體資源。
  18. 根據申請專利範圍第16項之器具,另包含一儲存媒體寫入器,具有第一組安裝之軟體資源及第二組安裝之軟體資源儲存於其中,可實質同時操作寫入至第一儲存媒體及至少一其他儲存媒體,實質相同資料包括第一組已安裝軟體資源,及實質同時寫入至複數個其他儲存媒體,實質相同資料包括第二組已安裝軟體資源。
  19. 根據申請專利範圍第16項之器具,另包含一機構有效連結第一儲存媒體至終端使用者尚未使用之裝置,以便在篩選器操作之後,當裝置連結於該第一儲存媒體時成為立即可使用狀態。
  20. 根據申請專利範圍第16項之器具,另包含一帳單機構,根據選擇內容收費一金額。
  21. 根據申請專利範圍第16項之器具,其中該軟體資源係數位資源。
  22. 一種裝置,用以處理具有預寫之複數個已安裝軟體資源之第一儲存媒體,包含:該第一儲存媒體,其中該第一儲存媒體係設定成可在複數個已安裝軟體資源首次可供使用之前,先予選擇性篩選,以保留一選用資源,包含複數個已安裝軟體資源的第一子集, 及清除未選用資源,包含複數個已安裝軟體資源的第二子集;其中使安裝在該第一儲存媒體上僅有該第一子集可供使用;其中該第二子集之儲存空間係可供儲存其他資料,其中該些複數個已安裝軟體資源在進一步清除未選用資源之前無法使用。
  23. 根據申請專利範圍第22項之裝置,其中該終端使用者儲存媒體另包含儲存於其中之指令,用以促成適當程式化資訊處理器執行一方法,包含:取得選擇資料;及根據該選擇資料修改終端使用者儲存媒體,在非選擇資源位置,空間成為可儲存其他資料,及該選擇資源係已安裝可供使用。
  24. 根據申請專利範圍第22項之裝置,其中該終端使用者儲存媒體另包含儲存於其中之指令,用以促成適當程式化資訊處理器執行一方法,包含:取得選擇資料;及根據該選擇資料修改該終端使用者儲存媒體,在非選擇資源位置,空間成為可儲存其他資料,及該選擇資源係已安裝可供使用;及記錄修改工作狀態,以便對特定帳戶收費一金額。
  25. 根據申請專利範圍第22項之裝置,其中該第一儲存媒體係磁碟驅動,包含:一殼體;一磁碟驅動處理器依附於殼體; 一外部裝置介面有效連結於該磁碟驅動處理器及可操作接受資料轉移要求及往返外部裝置發收資料;及殼體內至少包含一轉動磁碟,有效連結於該磁碟驅動處理器,及其中儲存有泛集與指令,可促成該磁碟驅動處理器執行步驟:取得選擇資料;及根據該選擇資料修改該第一儲存媒體,在非選擇資源位置,消除非選擇資源後之空間成為可儲存其他資料,及該選擇資源係已安裝可供使用。
  26. 根據申請專利範圍第25項之裝置,另包含:一外部裝置有效連結於該第一儲存媒體,該外部裝置具有一資訊處理器可操作發射資料轉移要求至該第一儲存媒體及往返該第一儲存媒體發收資料;其中該第一儲存媒體係磁碟驅動,包含:一殼體;一磁碟驅動處理器依附於殼體;一外部裝置介面有效連結於該磁碟驅動處理器及可操作接受外部裝置資料轉移要求及往返外部裝置發收資料;及該殼體內至少包含一轉動磁碟,有效連結於該磁碟驅動處理器,及其中儲存有泛集與指令,可促成該磁碟驅動處理器執行步驟:取得選擇資料;及根據該選擇資料修改該第一儲存媒體,在非選擇資源位置,其清除空間成為可儲存其他資料,及該選擇資源係已安裝可供使用。
  27. 根據申請專利範圍第22項之裝置,另包含: 一外部裝置有效連結於該第一儲存媒體,該外部裝置具有一資訊處理器可操作發射資料轉移要求至該第一儲存媒體及往返該第一儲存媒體發收資料;其中該第一儲存媒體係磁碟驅動,包含:一殼體;一磁碟驅動處理器依附於該殼體;一外部裝置介面有效連結於該磁碟驅動處理器及可操作接受資料轉移要求及往返外部裝置發收資料;及該殼體內至少包含一轉動磁碟,有效連結於該磁碟驅動處理器,及其中儲存有泛集與指令,可促成該碟驅動處理器執行步驟:取得選擇資料;及根據該選擇資料修改該第一儲存媒體,在非選擇資源位置,其消除空間成為可儲存其他資料,及該選擇資源係已安裝可供使用。
  28. 根據申請專利範圍第22項之裝置,另包含:一外部裝置有效連結於該第一儲存媒體,該外部裝置具有一資訊處理器可操作發射資料轉移要求至該第一儲存媒體及往返該第一儲存媒體發收資料;其中該第一儲存媒體係磁碟驅動,包含:一殼體;一磁碟驅動處理器依附於該殼體;一外部裝置介面有效連結於該磁碟驅動處理器及可操作接受資料轉移要求及往返外部裝置發收資料;及該殼體內至少包含一轉動磁碟,有效連結於該磁碟驅動處理器,及其中儲存有泛集與指令,該外部裝置具有指令, 可促成該外部裝置的資訊處理器執行步驟:取得選擇資料;及根據該選擇資料修改該第一儲存媒體,在非選擇資源位置,其消除空間成為可儲存其他資料,及該選擇資源係已安裝可供使用。
  29. 根據申請專利範圍第22項之裝置,其中該第一儲存媒體係固態驅動包含:一殼體;一固態驅動處理器依附於該殼體;一外部裝置介面有效連結於該固態電子驅動處理器及可操作接受資料轉移要求及往返外部裝置發收資料;及該殼體內至少包含一固態記憶體,有效連結於該固態驅動處理器,及其中儲存有泛集與指令,可促成該固態驅動處理器執行步驟:取得選擇資料;及根據該選擇資料修改該第一儲存媒體,在非選擇資源位置,其消除空間成為可儲存其他資料,及該選擇資源係已安裝可供使用。
  30. 根據申請專利範圍第22項之裝置,另包含:一外部裝置有效連結於該第一儲存媒體,該外部裝置可操作發射資料轉移要求至該第一儲存媒體及往返該第一儲存媒體發收資料;其中該第一儲存媒體係固態驅動,包含:一殼體;一固態驅動處理器依附於該殼體內;一外部裝置介面有效連結於該固態驅動處理器及可操作 接受該外部裝置資料轉移要求及往返外部裝置發收資料;及該殼體內至少包含一固態記憶體,有效連結於該固態驅動處理器,及其中儲存有泛集與指令,可促成該固態驅動處理器執行步驟:取得選擇資料;及根據該選擇資料修改該第一儲存媒體,在非選擇資源位置,清除空間成為可儲存其他資料,及該選擇資源係已安裝可供使用。
TW095147423A 2005-12-22 2006-12-18 經由相減性安裝達成選擇性分配軟體資源的裝置與方法 TWI431528B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US75363505P 2005-12-22 2005-12-22
US74720106P 2006-05-14 2006-05-14

Publications (2)

Publication Number Publication Date
TW200809623A TW200809623A (en) 2008-02-16
TWI431528B true TWI431528B (zh) 2014-03-21

Family

ID=44767204

Family Applications (2)

Application Number Title Priority Date Filing Date
TW103100150A TW201421364A (zh) 2005-12-22 2006-12-18 經由相減性安裝達成選擇性分配軟體資源的裝置與方法
TW095147423A TWI431528B (zh) 2005-12-22 2006-12-18 經由相減性安裝達成選擇性分配軟體資源的裝置與方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW103100150A TW201421364A (zh) 2005-12-22 2006-12-18 經由相減性安裝達成選擇性分配軟體資源的裝置與方法

Country Status (2)

Country Link
US (14) US20070150889A1 (zh)
TW (2) TW201421364A (zh)

Families Citing this family (315)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7290243B1 (en) 2001-02-28 2007-10-30 Apple Inc. Method and apparatus for application building using build styles
US7010779B2 (en) * 2001-08-16 2006-03-07 Knowledge Dynamics, Inc. Parser, code generator, and data calculation and transformation engine for spreadsheet calculations
US7210142B2 (en) * 2001-08-31 2007-04-24 Sony Corporation Client-server bidirectional synchronization via browser plug in for an XM radio system
US7603518B2 (en) 2005-12-19 2009-10-13 Commvault Systems, Inc. System and method for improved media identification in a storage device
US8346733B2 (en) 2006-12-22 2013-01-01 Commvault Systems, Inc. Systems and methods of media management, such as management of media to and from a media storage library
US7885896B2 (en) 2002-07-09 2011-02-08 Avaya Inc. Method for authorizing a substitute software license server
US8041642B2 (en) 2002-07-10 2011-10-18 Avaya Inc. Predictive software license balancing
US7698225B2 (en) * 2002-08-30 2010-04-13 Avaya Inc. License modes in call processing
US7681245B2 (en) 2002-08-30 2010-03-16 Avaya Inc. Remote feature activator feature extraction
US7707116B2 (en) * 2002-08-30 2010-04-27 Avaya Inc. Flexible license file feature controls
US7966520B2 (en) 2002-08-30 2011-06-21 Avaya Inc. Software licensing for spare processors
US6667700B1 (en) * 2002-10-30 2003-12-23 Nbt Technology, Inc. Content-based segmentation scheme for data compression in storage and transmission including hierarchical segment representation
US8176186B2 (en) * 2002-10-30 2012-05-08 Riverbed Technology, Inc. Transaction accelerator for client-server communications systems
US7890997B2 (en) * 2002-12-26 2011-02-15 Avaya Inc. Remote feature activation authentication file system
US7260557B2 (en) * 2003-02-27 2007-08-21 Avaya Technology Corp. Method and apparatus for license distribution
US7174433B2 (en) 2003-04-03 2007-02-06 Commvault Systems, Inc. System and method for dynamically sharing media in a computer network
WO2004090789A2 (en) 2003-04-03 2004-10-21 Commvault Systems, Inc. System and method for extended media retention
US9715678B2 (en) 2003-06-26 2017-07-25 Microsoft Technology Licensing, Llc Side-by-side shared calendars
US7707255B2 (en) 2003-07-01 2010-04-27 Microsoft Corporation Automatic grouping of electronic mail
US8799808B2 (en) 2003-07-01 2014-08-05 Microsoft Corporation Adaptive multi-line view user interface
US20050125524A1 (en) * 2003-12-08 2005-06-09 Chandrasekhar Babu K. Cache system in factory server for software dissemination
US20060010167A1 (en) * 2004-01-21 2006-01-12 Grace James R Apparatus for navigation of multimedia content in a vehicle multimedia system
US7650513B2 (en) * 2004-01-21 2010-01-19 Gm Global Technology Operations, Inc. System and method for vehicle-to-vehicle migration of multimedia content
US7885926B2 (en) * 2004-01-21 2011-02-08 GM Global Technology Operations LLC System and apparatus for wireless synchronization of multimedia content
KR100601667B1 (ko) * 2004-03-02 2006-07-14 삼성전자주식회사 디지털 권한 관리의 상태 보고 장치 및 방법
US8578359B2 (en) * 2004-03-15 2013-11-05 Red Bend Ltd. Method and apparatus for reliable in-place update
US8146016B2 (en) 2004-08-16 2012-03-27 Microsoft Corporation User interface for displaying a gallery of formatting options applicable to a selected object
US7703036B2 (en) 2004-08-16 2010-04-20 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US8255828B2 (en) 2004-08-16 2012-08-28 Microsoft Corporation Command user interface for displaying selectable software functionality controls
US7895531B2 (en) * 2004-08-16 2011-02-22 Microsoft Corporation Floating command object
US8117542B2 (en) 2004-08-16 2012-02-14 Microsoft Corporation User interface for displaying selectable software functionality controls that are contextually relevant to a selected object
US9015621B2 (en) 2004-08-16 2015-04-21 Microsoft Technology Licensing, Llc Command user interface for displaying multiple sections of software functionality controls
US9632665B2 (en) 2004-09-08 2017-04-25 Universal Electronics Inc. System and method for flexible configuration of a controlling device
US11687217B2 (en) 2004-09-08 2023-06-27 Universal Electronics Inc. System and method for flexible configuration of a controlling device
US7941786B2 (en) * 2004-09-08 2011-05-10 Universal Electronics Inc. Configurable controlling device and associated configuration distribution system and method
US7707405B1 (en) 2004-09-21 2010-04-27 Avaya Inc. Secure installation activation
US7747851B1 (en) 2004-09-30 2010-06-29 Avaya Inc. Certificate distribution via license files
US8229858B1 (en) 2004-09-30 2012-07-24 Avaya Inc. Generation of enterprise-wide licenses in a customer environment
US7747966B2 (en) 2004-09-30 2010-06-29 Microsoft Corporation User interface for providing task management and calendar information
US7472238B1 (en) 2004-11-05 2008-12-30 Commvault Systems, Inc. Systems and methods for recovering electronic information from a storage medium
KR20060054980A (ko) * 2004-11-17 2006-05-23 삼성전자주식회사 복수의 마이크로 프로세서들을 구비한 장치의 소프트웨어업그레이드 방법 및 그 장치
US8219807B1 (en) 2004-12-17 2012-07-10 Novell, Inc. Fine grained access control for linux services
US8271785B1 (en) 2004-12-20 2012-09-18 Novell, Inc. Synthesized root privileges
US8214398B1 (en) 2005-02-16 2012-07-03 Emc Corporation Role based access controls
US20080222604A1 (en) * 2005-03-07 2008-09-11 Network Engines, Inc. Methods and apparatus for life-cycle management
US8352935B2 (en) * 2005-05-19 2013-01-08 Novell, Inc. System for creating a customized software distribution based on user requirements
US8074214B2 (en) * 2005-05-19 2011-12-06 Oracle International Corporation System for creating a customized software installation on demand
US8239882B2 (en) 2005-08-30 2012-08-07 Microsoft Corporation Markup based extensibility for user interfaces
US8689137B2 (en) 2005-09-07 2014-04-01 Microsoft Corporation Command user interface for displaying selectable functionality controls in a database application
US7814023B1 (en) * 2005-09-08 2010-10-12 Avaya Inc. Secure download manager
US9542667B2 (en) 2005-09-09 2017-01-10 Microsoft Technology Licensing, Llc Navigating messages within a thread
US8627222B2 (en) 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
US20070061262A1 (en) * 2005-09-13 2007-03-15 Charles Morton System and method for populating information handling system music devices with music
US8347212B2 (en) * 2005-11-10 2013-01-01 Lifereel, Inc. Presentation production system with universal format
US7379325B1 (en) * 2005-12-16 2008-05-27 Maxim Intergrated Products, Inc. Non-imprinting memory with high speed erase
CN101390050B (zh) 2005-12-22 2018-04-24 艾伦·J·薛比洛 通过相减性安装达成选择性分配软件资源的装置与方法
US9286308B2 (en) 2005-12-22 2016-03-15 Alan Joshua Shapiro System and method for metadata modification
US7577686B1 (en) * 2006-02-10 2009-08-18 Ringcube Technologies, Inc. Dynamic table configuration in a virtual machine
US8676973B2 (en) * 2006-03-07 2014-03-18 Novell Intellectual Property Holdings, Inc. Light-weight multi-user browser
US7797670B2 (en) * 2006-04-14 2010-09-14 Apple Inc. Mirrored file system
US7721284B2 (en) * 2006-04-27 2010-05-18 Microsoft Corporation Deployment of multiple embedded operating system components
US20090048860A1 (en) * 2006-05-08 2009-02-19 Corbis Corporation Providing a rating for digital media based on reviews and customer behavior
US9727989B2 (en) 2006-06-01 2017-08-08 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US8605090B2 (en) 2006-06-01 2013-12-10 Microsoft Corporation Modifying and formatting a chart using pictorially provided chart elements
US8707297B2 (en) * 2006-07-26 2014-04-22 Dell Products L.P. Apparatus and methods for updating firmware
US7870128B2 (en) * 2006-07-28 2011-01-11 Diskeeper Corporation Assigning data for storage based on speed with which data may be retrieved
US9052826B2 (en) * 2006-07-28 2015-06-09 Condusiv Technologies Corporation Selecting storage locations for storing data based on storage location attributes and data usage statistics
US20080033882A1 (en) * 2006-08-01 2008-02-07 Computer Associates Think, Inc. System and method for on-site electronic software distribution
US7730480B2 (en) * 2006-08-22 2010-06-01 Novell, Inc. System and method for creating a pattern installation by cloning software installed another computer
US8191060B2 (en) * 2006-08-29 2012-05-29 Adobe Systems Incorporated Software installation using template executables
US20130047150A1 (en) * 2006-08-29 2013-02-21 Adobe Systems Incorporated Software installation and process management support
US8136100B1 (en) 2006-08-29 2012-03-13 Adobe Systems Incorporated Software installation and icon management support
US8171470B2 (en) * 2006-08-29 2012-05-01 Adobe Systems Incorporated Software installation and support
US20080059911A1 (en) * 2006-09-01 2008-03-06 Taneli Kulo Advanced player
US8224930B2 (en) * 2006-09-19 2012-07-17 The Invention Science Fund I, Llc Signaling partial service configuration changes in appnets
US7539783B2 (en) 2006-09-22 2009-05-26 Commvault Systems, Inc. Systems and methods of media management, such as management of media to and from a media storage library, including removable media
US20080127161A1 (en) * 2006-10-16 2008-05-29 Microsoft Corporation Environment state changes to alter functionality
US7664982B2 (en) * 2006-10-26 2010-02-16 Hewlett-Packard Development Company, L.P. Method and system for storing recovery related information on a computer memory
US8190918B2 (en) * 2006-11-13 2012-05-29 Disney Enterprises, Inc. Interoperable digital rights management
US20080113525A1 (en) * 2006-11-15 2008-05-15 Sandisk Il Ltd. Compact solid state drive and processor assembly
US7680554B2 (en) * 2006-12-19 2010-03-16 International Business Machines Corporation Method for associating objects in a manufacturing process
US7831566B2 (en) 2006-12-22 2010-11-09 Commvault Systems, Inc. Systems and methods of hierarchical storage management, such as global management of storage operations
US8560760B2 (en) * 2007-01-31 2013-10-15 Microsoft Corporation Extending flash drive lifespan
US8688584B2 (en) * 2007-03-01 2014-04-01 Wms Gaming Inc. Electronic gaming machine security for software stored in nonvolatile media
US7657572B2 (en) * 2007-03-06 2010-02-02 Microsoft Corporation Selectively utilizing a plurality of disparate solid state storage locations
WO2008121873A1 (en) * 2007-03-29 2008-10-09 Vmware, Inc. Synchronization and customization of a clone computer
US8484637B2 (en) * 2007-04-03 2013-07-09 Microsoft Corporation Parallel installation
JP4277916B2 (ja) * 2007-04-06 2009-06-10 キヤノン株式会社 文書管理システムおよびその制御方法
US8359566B2 (en) * 2007-04-13 2013-01-22 International Business Machines Corporation Software factory
US8010502B2 (en) * 2007-04-13 2011-08-30 Harris Corporation Methods and systems for data recovery
US20080270913A1 (en) * 2007-04-26 2008-10-30 Howard Singer Methods, Media, and Devices for Providing a Package of Assets
US20080279534A1 (en) * 2007-04-26 2008-11-13 Buttars David B Storage device for storing media and a playback device for playing back media
US20080299906A1 (en) * 2007-06-04 2008-12-04 Topway Electrical Appliance Company Emulating playing apparatus of simulating games
WO2009002847A1 (en) * 2007-06-22 2008-12-31 Corbis Corporation Distributed media reviewing for conformance to criteria
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
US8201103B2 (en) 2007-06-29 2012-06-12 Microsoft Corporation Accessing an out-space user interface for a document editor program
US8015546B2 (en) * 2007-08-03 2011-09-06 International Business Machines Corporation Rapidly assembling and deploying selected software solutions
US7970919B1 (en) 2007-08-13 2011-06-28 Duran Paul A Apparatus and system for object-based storage solid-state drive and method for configuring same
US9824006B2 (en) 2007-08-13 2017-11-21 Digital Kiva, Inc. Apparatus and system for object-based storage solid-state device
US11237956B2 (en) 2007-08-13 2022-02-01 Digital Kiva, Inc. Apparatus and system for object-based storage solid-state device
US8706976B2 (en) 2007-08-30 2014-04-22 Commvault Systems, Inc. Parallel access virtual tape library and drives
WO2009036230A1 (en) * 2007-09-13 2009-03-19 Motorola, Inc. Method and apparatus for reading records in a wireless communication device
US8490078B2 (en) * 2007-09-25 2013-07-16 Barclays Capital, Inc. System and method for application management
JP2009087124A (ja) * 2007-10-01 2009-04-23 Buffalo Inc 記憶デバイス及び記憶デバイスアクセス制御方法
KR20090036422A (ko) * 2007-10-09 2009-04-14 엘지전자 주식회사 세탁장치
US7945587B2 (en) * 2007-10-10 2011-05-17 Microsoft Corporation Random allocation of media storage units
JP2011503707A (ja) * 2007-11-08 2011-01-27 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ コンテンツを管理するための方法及び電子回路装置
US9009440B2 (en) * 2007-11-12 2015-04-14 Lsi Corporation Adjustment of data storage capacity provided by a storage system
US8997054B2 (en) * 2007-11-30 2015-03-31 Red Hat, Inc. Software application certification service
US8352939B1 (en) * 2007-12-03 2013-01-08 Mcafee, Inc. System, method and computer program product for performing a security or maintenance operation in association with virtual disk data
US20090150865A1 (en) * 2007-12-07 2009-06-11 Roche Diagnostics Operations, Inc. Method and system for activating features and functions of a consolidated software application
US8092251B2 (en) * 2007-12-29 2012-01-10 Apple Inc. Active electronic media device packaging
US8671271B2 (en) * 2007-12-31 2014-03-11 Safend Ltd. System, apparatus, and method for BIOS level contextual configuration of resources
US8566431B2 (en) * 2008-01-16 2013-10-22 Razer (Asia-Pacific) Pte. Ltd. Identification device and method for device identification
US8839225B2 (en) 2008-01-23 2014-09-16 International Business Machines Corporation Generating and applying patches to a computer program code concurrently with its execution
EP2096509A1 (en) * 2008-02-26 2009-09-02 Fujitsu Microelectronics Europe GmbH Remote handler for off-chip microcontroller peripherals
US8219534B2 (en) * 2008-02-27 2012-07-10 Dell Products L.P. Multiple file compaction for network attached storage
US9588781B2 (en) 2008-03-31 2017-03-07 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
FR2929732B1 (fr) * 2008-04-02 2010-12-17 Alcatel Lucent Dispositif et procede de gestion de l'accessibilite a des objets reels ou virtuels dans des lieux differents.
US20090265703A1 (en) * 2008-04-22 2009-10-22 Electronic Data Systems Corporation System and method for application portability
US20090267909A1 (en) * 2008-04-27 2009-10-29 Htc Corporation Electronic device and user interface display method thereof
US20090276722A1 (en) * 2008-04-30 2009-11-05 Jonathan Segel Method and apparatus for dual mode content searching, selection, delivery, and playout
US20090282398A1 (en) * 2008-05-08 2009-11-12 Microsoft Corporation On-the-fly addition of products to an existing installation
US8595044B2 (en) 2008-05-29 2013-11-26 International Business Machines Corporation Determining competence levels of teams working within a software
US8667469B2 (en) 2008-05-29 2014-03-04 International Business Machines Corporation Staged automated validation of work packets inputs and deliverables in a software factory
US9665850B2 (en) * 2008-06-20 2017-05-30 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US8288976B2 (en) * 2008-06-23 2012-10-16 Sntech, Inc. Optimization of motor operation using a test cycle
CN102105863B (zh) * 2008-06-24 2015-02-11 哈伊姆·布卡伊 用于移动电话应用程序的方法
US8655341B2 (en) * 2008-06-24 2014-02-18 Haim Boukai Methods for mobile phone applications
US8402096B2 (en) 2008-06-24 2013-03-19 Microsoft Corporation Automatic conversation techniques
US8291403B2 (en) * 2008-06-30 2012-10-16 Symantec Operating Corporation Install-unit upgrade using dynamic configuration data manipulation and merging
US8527329B2 (en) 2008-07-15 2013-09-03 International Business Machines Corporation Configuring design centers, assembly lines and job shops of a global delivery network into “on demand” factories
US8452629B2 (en) 2008-07-15 2013-05-28 International Business Machines Corporation Work packet enabled active project schedule maintenance
US8140367B2 (en) 2008-07-22 2012-03-20 International Business Machines Corporation Open marketplace for distributed service arbitrage with integrated risk management
US8375370B2 (en) 2008-07-23 2013-02-12 International Business Machines Corporation Application/service event root cause traceability causal and impact analyzer
US8418126B2 (en) 2008-07-23 2013-04-09 International Business Machines Corporation Software factory semantic reconciliation of data models for work packets
US8336026B2 (en) 2008-07-31 2012-12-18 International Business Machines Corporation Supporting a work packet request with a specifically tailored IDE
US8271949B2 (en) 2008-07-31 2012-09-18 International Business Machines Corporation Self-healing factory processes in a software factory
US8448129B2 (en) 2008-07-31 2013-05-21 International Business Machines Corporation Work packet delegation in a software factory
WO2010016833A1 (en) * 2008-08-05 2010-02-11 Hewlett-Packard Development Company, L.P. Method and device for customizing software
US9317274B2 (en) * 2008-08-06 2016-04-19 Lenovo (Singapore) Pte. Ltd. Apparatus, system and method for integrated customization of multiple disk images independent of operating system type, version or state
US20100070466A1 (en) 2008-09-15 2010-03-18 Anand Prahlad Data transfer techniques within data storage devices, such as network attached storage performing data migration
KR101339869B1 (ko) * 2008-09-22 2013-12-10 삼성전자주식회사 화상형성장치 및 화상형성장치의 저장부에 대한 오버라이트방법
US9911457B2 (en) * 2008-09-24 2018-03-06 Disney Enterprises, Inc. System and method for providing a secure content with revocable access
US20100083244A1 (en) * 2008-09-26 2010-04-01 Nokia Corporation Methods, apparatuses, and computer program products for repurposing computing devices
US9653004B2 (en) * 2008-10-16 2017-05-16 Cypress Semiconductor Corporation Systems and methods for downloading code and data into a secure non-volatile memory
US20100100403A1 (en) * 2008-10-20 2010-04-22 Metafore Method and apparatus for tracking and analyzing environmental impact of producing paper
GB0820427D0 (en) * 2008-11-07 2008-12-17 Inq Entpr Ltd Mobile communication device and method
US8332842B2 (en) * 2008-11-14 2012-12-11 International Business Machines Corporation Application restore points
US20100131683A1 (en) * 2008-11-26 2010-05-27 Moore Clay S System for storing, accessing and automatically updating documents
JP5344588B2 (ja) * 2009-03-27 2013-11-20 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及び制御プログラム
US8402452B2 (en) * 2009-04-02 2013-03-19 International Business Machines Corporation Automatically recommending an upgrade approach for a customizable software product
US9665729B2 (en) * 2009-04-13 2017-05-30 Microsoft Technology Licensing, Llc Revocation of application on mobile device
US9046983B2 (en) 2009-05-12 2015-06-02 Microsoft Technology Licensing, Llc Hierarchically-organized control galleries
US8234583B2 (en) * 2009-06-16 2012-07-31 Microsoft Corporation Media asset pivot navigation
CN101645008B (zh) * 2009-08-03 2012-04-11 石家庄科林电气股份有限公司 一种采用目录式管理、窗口组态显示的电力仪表及方法
WO2011018677A1 (en) * 2009-08-14 2011-02-17 Sandisk Il Ltd. Dual interface card with backward and forward compatibility
US8997077B1 (en) * 2009-09-11 2015-03-31 Symantec Corporation Systems and methods for remediating a defective uninstaller during an upgrade procedure of a product
US8464249B1 (en) * 2009-09-17 2013-06-11 Adobe Systems Incorporated Software installation package with digital signatures
US20110083128A1 (en) * 2009-10-02 2011-04-07 International Truck Intellectual Property Company, Llc Method for selecting software and installing same via a telematic module in a motor vehicle
US8495626B1 (en) * 2009-10-08 2013-07-23 American Megatrends, Inc. Automated operating system installation
US8667605B2 (en) * 2009-11-19 2014-03-04 Adobe Systems Incorporated Method and system for determining the eligibility for deploying protected content
JP2011113401A (ja) * 2009-11-27 2011-06-09 Sony Corp 情報処理装置、情報処理方法、コンピュータプログラム及び情報処理サーバ
US20110145786A1 (en) * 2009-12-15 2011-06-16 Microsoft Corporation Remote commands in a shell environment
US8672427B2 (en) * 2010-01-25 2014-03-18 Pepsico, Inc. Video display for product merchandisers
US9563434B2 (en) * 2010-02-02 2017-02-07 International Business Machines Corporation Mining dependencies from disk images
EP2360583A3 (en) * 2010-02-12 2011-09-28 Samsung Electronics Co., Ltd. Method and system for installing applications
US20110202646A1 (en) * 2010-02-14 2011-08-18 Bhatia Randeep S Policy controlled traffic offload via content smart-loading
CN102782665B (zh) * 2010-03-09 2016-01-13 桑迪士克以色列有限公司 在数据存储设备处组合用户内容与补充内容
US8869138B2 (en) * 2011-11-11 2014-10-21 Wyse Technology L.L.C. Robust firmware update with recovery logic
US8296508B1 (en) * 2010-04-27 2012-10-23 Micron Technology, Inc. Secure memory device erase
US8505003B2 (en) * 2010-04-28 2013-08-06 Novell, Inc. System and method for upgrading kernels in cloud computing environments
US20110282476A1 (en) * 2010-05-07 2011-11-17 Skinit, Inc. Systems and methods of on demand manufacturing of customized products
US8495296B2 (en) 2010-05-18 2013-07-23 International Business Machines Corporation System and method for optimizing data remanence over hubrid disk clusters using various storage technologies
US9367302B2 (en) * 2010-05-27 2016-06-14 Red Hat, Inc. Generating client qualification to execute package update manager
US8739150B2 (en) * 2010-05-28 2014-05-27 Smartshift Gmbh Systems and methods for dynamically replacing code objects via conditional pattern templates
KR101145385B1 (ko) * 2010-05-31 2012-05-15 (주)이앤비소프트 단축 명령을 통한 데이터 업로드 방법
TWI455135B (zh) * 2010-06-10 2014-10-01 Apacer Technology Inc 以快閃記憶體為基礎的儲存裝置及其資料寫入方法
US8930666B1 (en) 2010-06-14 2015-01-06 American Megatrends, Inc. Virtual disk carousel
US8935666B2 (en) * 2010-06-30 2015-01-13 Gordon G. MILLER, III Systems and methods for dynamic mobile applications
US8407073B2 (en) 2010-08-25 2013-03-26 International Business Machines Corporation Scheduling resources from a multi-skill multi-level human resource pool
US9152523B2 (en) 2010-09-15 2015-10-06 Qualcomm Incorporated Batching and forking resource requests in a portable computing device
US8806502B2 (en) 2010-09-15 2014-08-12 Qualcomm Incorporated Batching resource requests in a portable computing device
US9098521B2 (en) * 2010-09-15 2015-08-04 Qualcomm Incorporated System and method for managing resources and threshsold events of a multicore portable computing device
EP2431872A1 (en) * 2010-09-15 2012-03-21 ABB Technology AG A low or medium voltage electric power distribution network
US9244779B2 (en) 2010-09-30 2016-01-26 Commvault Systems, Inc. Data recovery operations, such as recovery from modified network data management protocol data
CN102012826A (zh) * 2010-11-19 2011-04-13 奇智软件(北京)有限公司 一种软件智能安装/升级的方法及系统
US9378007B2 (en) 2010-12-01 2016-06-28 Apple Inc. Pre-heated software installation
KR101760778B1 (ko) * 2011-01-17 2017-07-26 에스프린팅솔루션 주식회사 컴퓨터시스템 및 그 프로그램 업데이트 방법
US9967605B2 (en) * 2011-03-03 2018-05-08 Sony Corporation Method and apparatus for providing customized menus
US8667244B2 (en) * 2011-03-21 2014-03-04 Hewlett-Packard Development Company, L.P. Methods, systems, and apparatus to prevent memory imprinting
CA2773726C (en) * 2011-04-07 2017-06-27 Research In Motion Limited Device for distribution of content
US9298910B2 (en) 2011-06-08 2016-03-29 Mcafee, Inc. System and method for virtual partition monitoring
US9383985B2 (en) * 2011-06-10 2016-07-05 Unisys Corporation Automated modification of pre-generated MSI packaged applications
JP5682467B2 (ja) * 2011-06-14 2015-03-11 富士通株式会社 設定情報管理プログラム、設定情報管理方法及び情報処理装置
US8660878B2 (en) 2011-06-15 2014-02-25 International Business Machines Corporation Model-driven assignment of work to a software factory
CA2744165A1 (en) * 2011-06-23 2012-12-23 Ibm Canada Limited - Ibm Canada Limitee Centrally controlled proximity based software installation
US20130024573A1 (en) * 2011-07-18 2013-01-24 International Business Machines Corporation Scalable and efficient management of virtual appliance in a cloud
US8874935B2 (en) 2011-08-30 2014-10-28 Microsoft Corporation Sector map-based rapid data encryption policy compliance
US8677346B1 (en) * 2011-09-27 2014-03-18 Symantec Corporation Providing installer package information to a user
US8762704B2 (en) 2011-09-29 2014-06-24 Apple Inc. Customized content for electronic devices
US8732690B1 (en) * 2011-10-27 2014-05-20 Crimson Corporation Computing device configured for installing an application
US8756594B2 (en) * 2011-10-28 2014-06-17 Microsoft Corporation Reactive anti-tampering system for protected services in an enterprise computing system
US20130117739A1 (en) * 2011-11-09 2013-05-09 Ford Global Technologies, Llc Electronic Tool for Automatically Programming a Plurality of Control Modules in a Vehicle On-Board Computer System
US8719261B2 (en) * 2011-12-02 2014-05-06 Verizon Patent And Licensing Inc. Dynamic catalog ranking
CN102521031B (zh) * 2011-12-13 2014-11-05 华为终端有限公司 移动终端预置应用程序的管理方法和移动终端
KR20130071850A (ko) * 2011-12-21 2013-07-01 삼성전자주식회사 파일 시스템 및 파일 저장 방법
US9081747B1 (en) 2012-03-06 2015-07-14 Big Bang Llc Computer program deployment to one or more target devices
US8881136B2 (en) * 2012-03-13 2014-11-04 International Business Machines Corporation Identifying optimal upgrade scenarios in a networked computing environment
AU2013202553B2 (en) 2012-03-30 2015-10-01 Commvault Systems, Inc. Information management of mobile device data
WO2013152129A1 (en) * 2012-04-03 2013-10-10 Fourth Wall Studios, Inc. Transmedia story management systems and methods
KR20150027065A (ko) * 2012-05-30 2015-03-11 톰슨 라이센싱 디지털 미디어의 대규모 업데이트를 위한 방법 및 장치
US9892798B2 (en) 2012-09-11 2018-02-13 Seagate Technology Llc Data protection for unexpected power loss
US9001578B2 (en) 2012-09-11 2015-04-07 Seagate Technology Llc Soft erasure of memory cells
GB2520651A (en) * 2012-09-14 2015-05-27 Tangentix Ltd Method and apparatus for delivery of interactive multimedia content over a network
US9794134B2 (en) * 2012-11-16 2017-10-17 Apple Inc. System and method for negotiating control of a shared audio or visual resource
US9928472B2 (en) 2012-12-12 2018-03-27 International Business Machines Corporation System and method for determining optimal asset configurations while minimizing disruption to existing business operations in a service delivery environment
US9069799B2 (en) 2012-12-27 2015-06-30 Commvault Systems, Inc. Restoration of centralized data storage manager, such as data storage manager in a hierarchical data storage system
US9069604B2 (en) * 2013-03-04 2015-06-30 Yagi Corp. Activity interruption management
US9245128B2 (en) 2013-03-06 2016-01-26 Microsoft Technology Licensing, Llc Limiting enterprise applications and settings on devices
US9361083B2 (en) * 2013-03-06 2016-06-07 Microsoft Technology Licensing, Llc Enterprise management for devices
US9342298B2 (en) 2013-03-14 2016-05-17 Microsoft Technology Licensing, Llc Application compatibility checking in a distributed computing environment
US10656800B2 (en) * 2013-03-29 2020-05-19 Microsoft Technology Licensing, Llc Visual configuration and activation
US10613914B2 (en) 2013-04-01 2020-04-07 Oracle International Corporation Orchestration service for a distributed computing system
US20140344570A1 (en) 2013-05-20 2014-11-20 Microsoft Corporation Data Protection For Organizations On Computing Devices
TW201445329A (zh) * 2013-05-28 2014-12-01 Wistron Corp 部署作業系統之方法、伺服器及電子系統
US9710248B2 (en) 2013-05-29 2017-07-18 Microsoft Technology Licensing, Llc Application install and layout syncing
US10452222B2 (en) * 2013-05-29 2019-10-22 Microsoft Technology Licensing, Llc Coordination of system readiness tasks
US8918775B1 (en) * 2013-07-12 2014-12-23 Ca, Inc. Dynamic release control of software application version changes
US9740875B2 (en) 2013-09-30 2017-08-22 Elwha Llc Mobile device sharing facilitation methods and systems featuring exclusive data presentation
US9838536B2 (en) 2013-09-30 2017-12-05 Elwha, Llc Mobile device sharing facilitation methods and systems
US9774728B2 (en) 2013-09-30 2017-09-26 Elwha Llc Mobile device sharing facilitation methods and systems in a context of plural communication records
US9826439B2 (en) 2013-09-30 2017-11-21 Elwha Llc Mobile device sharing facilitation methods and systems operable in network equipment
US9813891B2 (en) 2013-09-30 2017-11-07 Elwha Llc Mobile device sharing facilitation methods and systems featuring a subset-specific source identification
US9805208B2 (en) 2013-09-30 2017-10-31 Elwha Llc Mobile device sharing facilitation methods and systems with recipient-dependent inclusion of a data selection
US9454353B2 (en) 2013-10-01 2016-09-27 International Business Machines Corporation Initiating use of software as part of a messaging window
US9158662B1 (en) * 2013-10-17 2015-10-13 American Megatrends, Inc. Automated operating system installation on multiple drives
EP2887212A1 (en) * 2013-12-17 2015-06-24 StepNexus Ltd System, method and personalizable portable device in which application code libraries are distributed in a compressed form
US9659024B2 (en) * 2014-01-06 2017-05-23 Tuxera Corporation Systems and methods for fail-safe operations of storage devices
US10572451B2 (en) * 2014-01-31 2020-02-25 Hewlett Packard Enterprise Development Lp File system storage
US20150254261A1 (en) * 2014-03-08 2015-09-10 Guerby Rene News Application
US10615967B2 (en) 2014-03-20 2020-04-07 Microsoft Technology Licensing, Llc Rapid data protection for storage devices
KR20150129972A (ko) * 2014-05-12 2015-11-23 에스케이플래닛 주식회사 비콘 펌웨어 업데이트 방법 및 이를 이용하는 비콘 장치, 그리고 시스템
USD736213S1 (en) * 2014-07-01 2015-08-11 Samsung Electronics Co., Ltd. Memory card
USD736212S1 (en) * 2014-07-01 2015-08-11 Samsung Electronics Co., Ltd. Memory card
US9652415B2 (en) 2014-07-09 2017-05-16 Sandisk Technologies Llc Atomic non-volatile memory data transfer
US9904621B2 (en) 2014-07-15 2018-02-27 Sandisk Technologies Llc Methods and systems for flash buffer sizing
US9645744B2 (en) 2014-07-22 2017-05-09 Sandisk Technologies Llc Suspending and resuming non-volatile memory operations
USD739856S1 (en) * 2014-07-30 2015-09-29 Samsung Electronics Co., Ltd. Memory card
USD736216S1 (en) * 2014-07-30 2015-08-11 Samsung Electronics Co., Ltd. Memory card
TWI557576B (zh) * 2014-08-15 2016-11-11 Chunghwa Telecom Co Ltd Method and System for Predicting Calculation of Timing Data
US9825945B2 (en) 2014-09-09 2017-11-21 Microsoft Technology Licensing, Llc Preserving data protection with policy
US9853812B2 (en) 2014-09-17 2017-12-26 Microsoft Technology Licensing, Llc Secure key management for roaming protected content
TW201612529A (en) * 2014-09-29 2016-04-01 Ying Zhang Automatic mouse test equipment and loop transfer mechanism and method
US9952978B2 (en) 2014-10-27 2018-04-24 Sandisk Technologies, Llc Method for improving mixed random performance in low queue depth workloads
US9753649B2 (en) 2014-10-27 2017-09-05 Sandisk Technologies Llc Tracking intermix of writes and un-map commands across power cycles
US9900295B2 (en) 2014-11-05 2018-02-20 Microsoft Technology Licensing, Llc Roaming content wipe actions across devices
US9817752B2 (en) 2014-11-21 2017-11-14 Sandisk Technologies Llc Data integrity enhancement to protect against returning old versions of data
US9824007B2 (en) 2014-11-21 2017-11-21 Sandisk Technologies Llc Data integrity enhancement to protect against returning old versions of data
US9544643B2 (en) * 2014-12-18 2017-01-10 Sling Media Pvt Ltd Management of a sideloaded content
US9928144B2 (en) 2015-03-30 2018-03-27 Commvault Systems, Inc. Storage management of data using an open-archive architecture, including streamlined access to primary data originally stored on network-attached storage and archived to secondary storage
US9645765B2 (en) 2015-04-09 2017-05-09 Sandisk Technologies Llc Reading and writing data at multiple, individual non-volatile memory portions in response to data transfer sent to single relative memory address
US10372529B2 (en) * 2015-04-20 2019-08-06 Sandisk Technologies Llc Iterative soft information correction and decoding
US9778878B2 (en) 2015-04-22 2017-10-03 Sandisk Technologies Llc Method and system for limiting write command execution
US20160353145A1 (en) * 2015-06-01 2016-12-01 Magine Holding AB System and method for incentivizing personalized packages in a digital medium
US9853820B2 (en) 2015-06-30 2017-12-26 Microsoft Technology Licensing, Llc Intelligent deletion of revoked data
US9870149B2 (en) 2015-07-08 2018-01-16 Sandisk Technologies Llc Scheduling operations in non-volatile memory devices using preference values
CN105183545A (zh) * 2015-07-23 2015-12-23 柳州易旺科技有限公司 一种大数据信息压缩方法
US9392471B1 (en) * 2015-07-24 2016-07-12 Viavi Solutions Uk Limited Self-optimizing network (SON) system for mobile networks
US9715939B2 (en) 2015-08-10 2017-07-25 Sandisk Technologies Llc Low read data storage management
USD783622S1 (en) * 2015-08-25 2017-04-11 Samsung Electronics Co., Ltd. Memory card
USD783621S1 (en) * 2015-08-25 2017-04-11 Samsung Electronics Co., Ltd. Memory card
US10101913B2 (en) 2015-09-02 2018-10-16 Commvault Systems, Inc. Migrating data to disk without interrupting running backup operations
US9900325B2 (en) 2015-10-09 2018-02-20 Microsoft Technology Licensing, Llc Passive encryption of organization data
US10228990B2 (en) 2015-11-12 2019-03-12 Sandisk Technologies Llc Variable-term error metrics adjustment
US10126970B2 (en) 2015-12-11 2018-11-13 Sandisk Technologies Llc Paired metablocks in non-volatile storage device
US10032032B2 (en) * 2015-12-18 2018-07-24 Amazon Technologies, Inc. Software container registry inspection
US10261782B2 (en) 2015-12-18 2019-04-16 Amazon Technologies, Inc. Software container registry service
US10002247B2 (en) 2015-12-18 2018-06-19 Amazon Technologies, Inc. Software container registry container image deployment
US9837146B2 (en) 2016-01-08 2017-12-05 Sandisk Technologies Llc Memory system temperature management
US11593342B2 (en) 2016-02-01 2023-02-28 Smartshift Technologies, Inc. Systems and methods for database orientation transformation
US10732856B2 (en) 2016-03-03 2020-08-04 Sandisk Technologies Llc Erase health metric to rank memory portions
US10585655B2 (en) 2016-05-25 2020-03-10 Smartshift Technologies, Inc. Systems and methods for automated retrofitting of customized code objects
US11412053B2 (en) 2016-07-22 2022-08-09 Cisco Technology, Inc. Scaling service discovery in a micro-service environment
US10481830B2 (en) 2016-07-25 2019-11-19 Sandisk Technologies Llc Selectively throttling host reads for read disturbs in non-volatile memory system
US10089103B2 (en) 2016-08-03 2018-10-02 Smartshift Technologies, Inc. Systems and methods for transformation of reporting schema
US10261770B2 (en) 2016-11-17 2019-04-16 Bank Of America Corporation Install file size optimization and installation verification system
WO2018136041A1 (en) * 2017-01-18 2018-07-26 Hewlett-Packard Development Company, L.P. Software package installations with proximity tags
US10564959B2 (en) 2017-03-14 2020-02-18 Google Llc Shared software libraries for computing devices
US10129269B1 (en) * 2017-05-15 2018-11-13 Forcepoint, LLC Managing blockchain access to user profile information
US9882918B1 (en) 2017-05-15 2018-01-30 Forcepoint, LLC User behavior profile in a blockchain
CN109643271B (zh) * 2017-06-13 2022-02-18 微软技术许可有限责任公司 识别不稳定测试
US10318729B2 (en) 2017-07-26 2019-06-11 Forcepoint, LLC Privacy protection during insider threat monitoring
JP7013176B2 (ja) * 2017-09-06 2022-01-31 キヤノン株式会社 プログラム、情報処理装置、及び制御方法
CN108108394B (zh) * 2017-11-28 2020-10-09 厦门市美亚柏科信息股份有限公司 Apfs文件系统的压缩文件恢复方法及存储介质
US10742735B2 (en) 2017-12-12 2020-08-11 Commvault Systems, Inc. Enhanced network attached storage (NAS) services interfacing to cloud storage
US10528343B2 (en) 2018-02-06 2020-01-07 Smartshift Technologies, Inc. Systems and methods for code analysis heat map interfaces
US10740075B2 (en) 2018-02-06 2020-08-11 Smartshift Technologies, Inc. Systems and methods for code clustering analysis and transformation
US10698674B2 (en) 2018-02-06 2020-06-30 Smartshift Technologies, Inc. Systems and methods for entry point-based code analysis and transformation
US20210176520A1 (en) * 2018-06-08 2021-06-10 Gary DeWitt Systems and methods for media storage and retrieval
CN109271175A (zh) * 2018-08-02 2019-01-25 珠海格力电器股份有限公司 一种删除后台中应用的方法及设备
DE102018124330A1 (de) * 2018-10-02 2020-04-02 Endress+Hauser Conducta Gmbh+Co. Kg Verfahren zum Anpassen von Funktionalitäten eines Feldgeräts
US11210717B2 (en) * 2018-10-31 2021-12-28 Dell Products L.P. Customer based real-time autonomous dynamic product creation and recommendation system using AI
EP3871079A4 (en) * 2019-04-15 2022-06-22 Hewlett-Packard Development Company, L.P. IMAGE TRANSFER
US11288007B2 (en) * 2019-05-16 2022-03-29 Western Digital Technologies, Inc. Virtual physical erase of a memory of a data storage device
JP6671055B1 (ja) * 2019-09-03 2020-03-25 パナソニックIpマネジメント株式会社 撮像装置
CN111158645B (zh) * 2019-12-10 2022-09-20 杭州中天微系统有限公司 提供集成开发环境的系统和方法
US11392362B2 (en) * 2020-07-31 2022-07-19 Jpmorgan Chase Bank, N.A. Cross platform configuration domain translation
CN113407465B (zh) * 2021-06-16 2024-02-09 深圳市同泰怡信息技术有限公司 基板管理控制器的开关配置方法、装置、计算机设备
US11809850B2 (en) 2021-08-25 2023-11-07 Microsoft Technology Licensing, Llc Generating and distributing customized embedded operating systems
US11593223B1 (en) 2021-09-02 2023-02-28 Commvault Systems, Inc. Using resource pool administrative entities in a data storage management system to provide shared infrastructure to tenants
TWI836515B (zh) * 2022-07-15 2024-03-21 吳俊彥 電力整合系統及其方法
US20240303303A1 (en) * 2023-03-07 2024-09-12 Zebra Technologies Corporation Method and System for Decommissioning Cloud-Connected Printers
CN116991426A (zh) * 2023-09-26 2023-11-03 杭州实在智能科技有限公司 用于打包oem版软件的通用预处理命令自动编辑方法及系统

Family Cites Families (175)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US516970A (en) * 1894-03-20 Churn
US606035A (en) * 1898-06-21 Half to the g
US686496A (en) * 1901-02-26 1901-11-12 Andrew J West Combined cultivator, planter, and fertilizer-distributer.
US3721946A (en) * 1971-12-02 1973-03-20 Gen Electric High voltage bushing with removable connector and locking plate
JPS5758292A (en) 1980-09-25 1982-04-07 Fanuc Ltd File deleting method for bubble cassette memory
US4418606A (en) * 1983-04-15 1983-12-06 Lee Richard J Powder measuring device for cartridge reloader
KR0144463B1 (ko) 1988-10-26 1998-07-15 오오가 노리오 자기 디스크 장치
US5515524A (en) 1993-03-29 1996-05-07 Trilogy Development Group Method and apparatus for configuring systems
US5842024A (en) 1995-02-27 1998-11-24 Ast Research, Inc. Method of software installation
US5794052A (en) 1995-02-27 1998-08-11 Ast Research, Inc. Method of software installation and setup
US5768566A (en) * 1996-03-01 1998-06-16 Microsoft Corporation Method and facility for uninstalling a computer program package
US5835777A (en) * 1996-03-20 1998-11-10 Hewlett-Packard Company Method of automatically generating a software installation package
US6151643A (en) 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
US6367075B1 (en) 1996-07-24 2002-04-02 Marimba, Inc. Method and apparatus for producing instructions describing the removal of updates to a computer system
US5825651A (en) 1996-09-03 1998-10-20 Trilogy Development Group, Inc. Method and apparatus for maintaining and configuring systems
US6247128B1 (en) * 1997-07-22 2001-06-12 Compaq Computer Corporation Computer manufacturing with smart configuration methods
US5995757A (en) 1997-08-29 1999-11-30 Dell Usa, L.P. Software installation and testing for a build-to order computer system
US5991543A (en) * 1997-08-29 1999-11-23 Dell Usa, L.P. Software installation and testing for a build-to-order computer system
US6117187A (en) * 1997-09-30 2000-09-12 Hewlett-Packard Company Automatic generation of a software installation package
US6621505B1 (en) 1997-09-30 2003-09-16 Journee Software Corp. Dynamic process-based enterprise computing system and method
US6026439A (en) 1997-10-28 2000-02-15 International Business Machines Corporation File transfers using playlists
US6006035A (en) 1997-12-31 1999-12-21 Network Associates Method and system for custom computer software installation
US6182275B1 (en) 1998-01-26 2001-01-30 Dell Usa, L.P. Generation of a compatible order for a computer system
US6088694A (en) * 1998-03-31 2000-07-11 International Business Machines Corporation Continuous availability and efficient backup for externally referenced objects
US6615406B1 (en) * 1998-04-08 2003-09-02 Dell Usa, L.P. Apparatus for use in the manufacture of a computer system
US6327706B1 (en) 1998-04-08 2001-12-04 Dell Usa, L.P. Method of installing software on and/or testing a computer system
US6681266B2 (en) * 1998-04-14 2004-01-20 Dell Usa, L.P. Late binding dynamic software configuration information
US6915307B1 (en) 1998-04-15 2005-07-05 Inktomi Corporation High performance object cache
US6080207A (en) 1998-06-04 2000-06-27 Gateway 2000, Inc. System and method of creating and delivering software
US7062645B2 (en) * 1998-06-04 2006-06-13 Gateway Inc. Build to order personal computer manufacturing fast boot method
US6216175B1 (en) * 1998-06-08 2001-04-10 Microsoft Corporation Method for upgrading copies of an original file with same update data after normalizing differences between copies created during respective original installations
US6131192A (en) * 1998-06-18 2000-10-10 Microsoft Corporation Software installation
US6564369B1 (en) * 1998-08-20 2003-05-13 Pearson Technical Software, Inc. Conflict checking using configuration images
AU5898099A (en) * 1998-08-25 2000-03-14 Accompany Inc. On-line marketing system and method
US6501491B1 (en) 1998-09-21 2002-12-31 Microsoft Corporation Extensible user interface for viewing objects over a network
US6418554B1 (en) 1998-09-21 2002-07-09 Microsoft Corporation Software implementation installer mechanism
US6523166B1 (en) * 1998-09-21 2003-02-18 Microsoft Corporation Method and system for on-demand installation of software implementations
US6247024B1 (en) * 1998-09-25 2001-06-12 International Business Machines Corporation Method and system for performing deferred file removal in a file system
US6301670B1 (en) * 1998-10-06 2001-10-09 Ricoh Corporation Method and apparatus for erasing data when a problem is identified
US6262726B1 (en) * 1998-10-09 2001-07-17 Dell U.S.A., L.P. Factory installing desktop components for an active desktop
US6209094B1 (en) * 1998-10-14 2001-03-27 Liquid Audio Inc. Robust watermark method and apparatus for digital signals
US6405362B1 (en) 1998-11-13 2002-06-11 Microsoft Corporation Automatic software installation and cleanup
JP2000194539A (ja) 1998-12-24 2000-07-14 Nec Corp ソフトウェアインストールシステムおよびソフトウェアインストール方法
US6347371B1 (en) 1999-01-25 2002-02-12 Dell Usa, L.P. System and method for initiating operation of a computer system
US6247126B1 (en) 1999-01-25 2001-06-12 Dell Usa, L.P. Recoverable software installation process and apparatus for a computer system
US6589223B1 (en) * 1999-02-03 2003-07-08 Biotime, Inc. Method and compositions for use in perfusion applications
US7143067B1 (en) 1999-02-09 2006-11-28 Lenovo (Singapore) Pte. Ltd. System and method for installing personal computer software
US6442754B1 (en) 1999-03-29 2002-08-27 International Business Machines Corporation System, method, and program for checking dependencies of installed software components during installation or uninstallation of software
KR20000077034A (ko) * 1999-04-22 2000-12-26 사따께 사또루 입상물의 품질을 평가하기 위한 장치 및 방법
US6823376B1 (en) * 1999-04-26 2004-11-23 International Business Machines Corporation Method and system for capturing and storing system changes for application to multiple users and systems in a heterogeneous server environment
US6550062B2 (en) * 1999-04-30 2003-04-15 Dell Usa, Lp System and method for launching generic download processing in a computer build-to-order environment
US6385766B1 (en) * 1999-05-20 2002-05-07 Dell Usa L.P. Method and apparatus for windows-based installation for installing software on build-to-order computer systems
CA2375701C (en) 1999-06-03 2010-08-10 Anchor Gaming Method and device for implementing a downloadable software delivery system
US6543047B1 (en) * 1999-06-15 2003-04-01 Dell Usa, L.P. Method and apparatus for testing custom-configured software/hardware integration in a computer build-to-order manufacturing process
US6477703B1 (en) 1999-06-29 2002-11-05 Hewlett-Packard Company Software patch selection tool
US6604238B1 (en) * 1999-07-26 2003-08-05 Hewlett-Packard Development Company, L.P. Method and system for installing software
US6687902B1 (en) * 1999-08-05 2004-02-03 International Business Machines Corporation Method, system, and program for deleting user selected file sets of a program
US6745239B1 (en) 1999-08-19 2004-06-01 Dell Products Lp Method and system for migrating configuration settings into a computing system
US6760708B1 (en) 1999-08-19 2004-07-06 Dell Products L.P. Method and system for migrating stored data to a build-to-order computing system
US6425078B1 (en) * 1999-08-30 2002-07-23 Dell Usa, L.P. Method for factory-installation of files and directories with long filenames while maintaining proper reference to their short filename equivalents
US6598223B1 (en) 1999-10-06 2003-07-22 Dell Usa, L.P. Method and system for installing and testing build-to-order components in a defined configuration computer system
WO2001031437A1 (fr) 1999-10-27 2001-05-03 Fujitsu Limited Procede de gestion de programmes pour ordinateur comportant un support d'enregistrement, ordinateur et support d'enregistrement
US6718373B1 (en) 1999-11-30 2004-04-06 Dell Usa L.P. Method and system for installing files in a computing system
US6490723B1 (en) 1999-11-30 2002-12-03 Dell Products L.P. Method and system for installing files in a computing system
US6550061B1 (en) 1999-12-02 2003-04-15 Dell Usa, L.P. System and method for modifying configuration files in a secured operating system
EP1238335A1 (en) 1999-12-07 2002-09-11 Data Foundation, Inc. Scalable storage architecture
US6526166B1 (en) * 1999-12-29 2003-02-25 Intel Corporation Using a reference cube for capture of 3D geometry
US6615405B1 (en) * 2000-01-06 2003-09-02 Power Quest Corporation Method and system for distributing and maintaining software across a computer network
US6711798B2 (en) 2000-01-18 2004-03-30 Dell Products L.P. Method for manufacturing products according to customer orders
US6454572B1 (en) * 2000-02-25 2002-09-24 Seagate Technology Llc Surface mount connector
JP2001243106A (ja) 2000-02-28 2001-09-07 Ricoh Co Ltd 記録媒体及びそのアクセス制御方法
US6772192B1 (en) 2000-02-29 2004-08-03 Hewlett-Packard Development Company, L.P. Software download and distribution via image building and multicast
US6760721B1 (en) 2000-04-14 2004-07-06 Realnetworks, Inc. System and method of managing metadata data
US6904592B1 (en) * 2000-04-28 2005-06-07 Gilbarco Inc. Software download system for automatic retrieval of warranty and commission data
US6691253B1 (en) 2000-05-10 2004-02-10 Dell Usa L.P. System and method for sequencing and performing very high speed software downloads concurrent with system testing in an automated production environment
US6874143B1 (en) * 2000-06-21 2005-03-29 Microsoft Corporation Architectures for and methods of providing network-based software extensions
US6681391B1 (en) * 2000-06-21 2004-01-20 Microsoft Corporation Method and system for installing software on a computer system
JP2002008115A (ja) 2000-06-23 2002-01-11 Sony Corp 情報配信システム、端末装置、サーバ装置、記録媒体、情報配信方法
US6907604B1 (en) * 2000-09-22 2005-06-14 Dell Products L.P. Instant integration model
US6721946B1 (en) 2000-09-28 2004-04-13 Dell Products L.P. Method and system for installing software on a computer
US6918112B2 (en) * 2000-11-29 2005-07-12 Microsoft Corporation System and method to facilitate installation of components across one or more computers
US6996815B2 (en) * 2000-11-29 2006-02-07 Microsoft Corporation Method and software tools for intelligent service pack installation
JP2002236590A (ja) * 2000-12-08 2002-08-23 Seiko Epson Corp ソフトウェアのインストール方法
US20040139430A1 (en) * 2000-12-20 2004-07-15 Eatough David A. Multivendor package management
US20020083430A1 (en) 2000-12-26 2002-06-27 Tadao Kusuda Uninstall control apparatus which controls uninstallation of device control software
TW495698B (en) * 2000-12-27 2002-07-21 Acer Inc Manufacture method for computer system
US7260845B2 (en) * 2001-01-09 2007-08-21 Gabriel Kedma Sensor for detecting and eliminating inter-process memory breaches in multitasking operating systems
US6868496B2 (en) * 2001-01-16 2005-03-15 Gateway, Inc. Host protected area (HPA) duplication process
US6807665B2 (en) * 2001-01-18 2004-10-19 Hewlett-Packard Development Company, L. P. Efficient data transfer during computing system manufacturing and installation
US6961773B2 (en) 2001-01-19 2005-11-01 Esoft, Inc. System and method for managing application service providers
NL1017213C2 (nl) * 2001-01-29 2002-07-30 Stork Screens Bv Werkwijzen voor het vervaardigen van elektrische geleiders, en toepassing van aldus vervaardigde geleiders.
US20020147972A1 (en) * 2001-01-31 2002-10-10 Olmeda Hector M. System and method for configuring an application environment on a computer platform
US6889232B2 (en) * 2001-02-15 2005-05-03 Microsoft Corporation System and method for data migration
US20020129351A1 (en) * 2001-03-07 2002-09-12 Nexusedge Technologies Pty. Ltd. Software engine and method for software application loading
US20030193994A1 (en) * 2001-03-21 2003-10-16 Patrick Stickler Method of managing media components
US6948166B2 (en) * 2001-04-05 2005-09-20 International Business Machines Corporation System and method for automatically de-installing previously installed software based on user defined preferences
US6595223B2 (en) * 2001-04-12 2003-07-22 Maytag Corporation Deflector for rack
JP2002318692A (ja) * 2001-04-19 2002-10-31 Sony Corp インストール支援システム、インストール支援装置、インストール支援方法、インストールを支援するためのプログラムおよびそのプログラムを記録した記録媒体
FR2824646B1 (fr) 2001-05-09 2003-08-15 Canal Plus Technologies Procede de selection d'une image de logiciel executable
US20040025155A1 (en) * 2001-05-18 2004-02-05 Sedlack Derek J. Method, computer program product, and system for configuring a software image for installation into a computer system
US20030055927A1 (en) * 2001-06-06 2003-03-20 Claudius Fischer Framework for a device and a computer system needing synchronization
US20020188941A1 (en) 2001-06-12 2002-12-12 International Business Machines Corporation Efficient installation of software packages
US6993642B2 (en) * 2001-07-24 2006-01-31 Microsoft Corporation Method and system for creating and employing an operating system having selected functionality
US20030037326A1 (en) * 2001-08-06 2003-02-20 Ryan Burkhardt Method and system for installing staged programs on a destination computer using a reference system image
US6765595B2 (en) 2001-08-16 2004-07-20 International Business Machines Corporation Dual mode data field
US7143408B2 (en) 2001-08-27 2006-11-28 Hewlett-Packard Development Company, L.P. Software installation for hardware devices
US6925535B2 (en) * 2001-08-29 2005-08-02 Hewlett-Packard Development Company, L.P. Program control flow conditioned on presence of requested data in cache memory
US20030046678A1 (en) * 2001-08-30 2003-03-06 Robert Boxall Computer hardware and software installation apparatus and method
US7107588B2 (en) * 2001-08-31 2006-09-12 Hewlett-Packard Development Company, L.P. System and method for installing window installer service without rebooting
US7275135B2 (en) 2001-08-31 2007-09-25 Intel Corporation Hardware updated metadata for non-volatile mass storage cache
US20030046372A1 (en) * 2001-08-31 2003-03-06 Traxler Jonathan M. System, apparatus, and method to configure a server in the field
US6944867B2 (en) * 2001-10-04 2005-09-13 Lenovo (Singapore) Pte. Ltd. Method for providing a single preloaded software image with an ability to support multiple hardware configurations and multiple types of computer systems
KR100450080B1 (ko) * 2001-11-13 2004-10-06 (주)지에스텔레텍 유에스비기반의 이동형 저장장치 및 그 제어방법
US20030135851A1 (en) 2002-01-17 2003-07-17 Laura Dickey Method and system for concentration of applications during installation in target devices
US7228326B2 (en) 2002-01-18 2007-06-05 Bea Systems, Inc. Systems and methods for application deployment
US6543166B1 (en) * 2002-02-01 2003-04-08 Griffin Group, Inc. Sign decoration system with flexible holder
US7509342B2 (en) 2002-02-08 2009-03-24 Sanyo Electric Co., Ltd. File data storage management method, file data storage device, program executing processing for storing file data, and storage medium
US20030158926A1 (en) * 2002-02-20 2003-08-21 Gateway, Inc. Network master hard disk drive duplicator
JP2003256210A (ja) 2002-02-27 2003-09-10 Sourcenext Corp インストーラ、外部記録媒体、コンピュータ、アプリケーションインストール方法及びインストールプログラム
US20030163807A1 (en) * 2002-02-27 2003-08-28 International Business Machines Corporation Weighted selection of target systems for distributed software installation
US20030217359A1 (en) 2002-03-11 2003-11-20 Canon Kabushiki Kaisha Image processing apparatus, method of controlling the same and program
JP2003323371A (ja) 2002-05-02 2003-11-14 Ntt Data Corp デジタルコンテンツの利用状況を検出するシステム及び方法
US6938250B2 (en) * 2002-06-12 2005-08-30 Microsoft Corporation Image-based software installation
US7017144B2 (en) 2002-06-17 2006-03-21 Microsoft Corporation Combined image views and method of creating images
US7464176B2 (en) * 2002-06-17 2008-12-09 Microsoft Corporation Multicast system and method for deploying multiple images simultaneously
US6947954B2 (en) * 2002-06-17 2005-09-20 Microsoft Corporation Image server store system and method using combined image views
US7185335B2 (en) 2002-09-19 2007-02-27 International Business Machines Corporation Programmatic application installation diagnosis and cleaning
US20040088697A1 (en) * 2002-10-31 2004-05-06 Schwartz Jeffrey D. Software loading system and method
US7228542B2 (en) * 2002-12-18 2007-06-05 International Business Machines Corporation System and method for dynamically creating a customized multi-product software installation plan as a textual, non-executable plan
JP2004234481A (ja) 2003-01-31 2004-08-19 Canon Inc ソフトウェアのインストール方法および記憶媒体
US7174535B2 (en) * 2003-03-05 2007-02-06 Siemens Communications, Inc. Build and install for software applications
US7823077B2 (en) 2003-03-24 2010-10-26 Microsoft Corporation System and method for user modification of metadata in a shell browser
JP4082256B2 (ja) 2003-03-25 2008-04-30 ブラザー工業株式会社 情報処理装置及びプログラム
US6914486B2 (en) 2003-07-15 2005-07-05 Texas Instruments Incorporated System and method for improved bias matching
US20050055688A1 (en) 2003-09-08 2005-03-10 Barajas Gaston M. Integrated rapid install system for generic software images
US20050125524A1 (en) * 2003-12-08 2005-06-09 Chandrasekhar Babu K. Cache system in factory server for software dissemination
US7363420B2 (en) 2003-12-15 2008-04-22 Nortel Networks Limited Method and file structures for managing data on a flash disk
US7921082B2 (en) 2004-01-23 2011-04-05 Lsi Corporation File recovery under linux operating system
US20050193389A1 (en) * 2004-02-26 2005-09-01 Murphy Robert J. System and method for a user-configurable, removable media-based, multi-package installer
US20050198628A1 (en) * 2004-03-04 2005-09-08 Graham Christoph J. Creating a platform specific software image
JP2005284827A (ja) * 2004-03-30 2005-10-13 Fujitsu Ltd 情報処理装置
US7765541B1 (en) * 2004-05-26 2010-07-27 Oracle America, Inc. Minimization methodology
US20050289513A1 (en) 2004-06-17 2005-12-29 International Business Machines Corporation Matrix pattern match techniques for uninstalling multiple dependent components
US20060069754A1 (en) 2004-06-30 2006-03-30 Keith Buck Enablement of software-controlled services required by installed applications
JP2006065790A (ja) * 2004-08-30 2006-03-09 Fujitsu Ltd アンインストール処理プログラム、及びアンインストール管理プログラム
US7703090B2 (en) 2004-08-31 2010-04-20 Microsoft Corporation Patch un-installation
US20060053419A1 (en) * 2004-09-09 2006-03-09 International Business Machines Corporation Method and system for modifying installation software
US20060059481A1 (en) * 2004-09-16 2006-03-16 Rodney Smith Presenting, delivering and installing electronic downloads with an installed list
US7330967B1 (en) * 2004-12-03 2008-02-12 Symantec Operating Corporation System and method for injecting drivers and setup information into pre-created images for image-based provisioning
US10162618B2 (en) * 2004-12-03 2018-12-25 International Business Machines Corporation Method and apparatus for creation of customized install packages for installation of software
US20070180204A1 (en) 2005-01-31 2007-08-02 Wilson Christopher S Method and system of erasing data pool residing over multiple data storage drives
US20060200656A1 (en) * 2005-03-03 2006-09-07 Cardinell Charles S Apparatus and method to capture data from an embedded device
US7966495B2 (en) 2005-03-21 2011-06-21 Revinetix, Inc. Conserving file system with backup and validation
US7739682B1 (en) * 2005-03-24 2010-06-15 The Weather Channel, Inc. Systems and methods for selectively blocking application installation
US20060224902A1 (en) 2005-03-30 2006-10-05 Bolt Thomas B Data management system for removable storage media
US7849253B2 (en) 2005-04-04 2010-12-07 Standard Microsystems Corporation Method for fast access to flash-memory media
US20060224402A1 (en) * 2005-04-04 2006-10-05 Bellsouth Intellectual Property Corporation Devices and methods for monitoring distributed services
US8074214B2 (en) * 2005-05-19 2011-12-06 Oracle International Corporation System for creating a customized software installation on demand
US20060277183A1 (en) * 2005-06-06 2006-12-07 Tony Nichols System and method for neutralizing locked pestware files
US20070005874A1 (en) 2005-07-01 2007-01-04 Dan Dodge File system storing transaction records in flash-like media
US20070028231A1 (en) * 2005-08-01 2007-02-01 International Business Machines Corporation System and method for start menu and application uninstall synchronization
JP5395434B2 (ja) * 2005-09-09 2014-01-22 セールスフォース ドット コム インコーポレイティッド マルチテナントデータベース環境において、オンデマンドアプリケーションをエクスポートし、公表し、ブラウズし、インストールするためのシステムおよび方法
WO2007072309A1 (en) 2005-12-22 2007-06-28 Shapiro Alan J Apparatus and method for selectively dispensing soft assets via subtractive installation
US8074215B2 (en) * 2006-04-14 2011-12-06 Sap Ag XML-based control and customization of application programs
US7770165B2 (en) * 2006-08-25 2010-08-03 Microsoft Corporation Providing firmware updates to portable media devices
US8601467B2 (en) * 2006-10-03 2013-12-03 Salesforce.Com, Inc. Methods and systems for upgrading and installing application packages to an application platform
US10079912B2 (en) * 2007-07-27 2018-09-18 Blackberry Limited Wireless communication system installation
US20090144727A1 (en) * 2007-12-04 2009-06-04 Bea Systems, Inc. Interpreted multiple product installation
US10248398B2 (en) * 2008-04-07 2019-04-02 Blackberry Limited Method for virtualizing software applications
GB2459682B (en) * 2008-04-30 2012-04-25 Vmware Inc A computer system and a method of deploying an application in a computer system
US8407693B2 (en) * 2008-06-09 2013-03-26 International Business Machines Corporation Managing package dependencies
US8954954B2 (en) * 2010-04-30 2015-02-10 Blackberry Limited Method and device for application installation to multiple memory components
US8806471B2 (en) * 2010-09-28 2014-08-12 Red Hat, Inc. Upgrade and downgrade in package update operations
US20120096453A1 (en) * 2010-10-14 2012-04-19 Meilstrup Jon A Software Package Management Mechanism
US8930899B2 (en) * 2012-08-18 2015-01-06 International Business Machines Corporation Artifact divider for large scale application builds

Also Published As

Publication number Publication date
US8266615B2 (en) 2012-09-11
US20070150889A1 (en) 2007-06-28
US20130067460A1 (en) 2013-03-14
US20070174367A1 (en) 2007-07-26
US9176971B2 (en) 2015-11-03
US7856451B2 (en) 2010-12-21
US20080141242A1 (en) 2008-06-12
US7398524B2 (en) 2008-07-08
TW201421364A (zh) 2014-06-01
US20070150891A1 (en) 2007-06-28
US8521781B2 (en) 2013-08-27
US20070150886A1 (en) 2007-06-28
US7712094B2 (en) 2010-05-04
US20120096456A1 (en) 2012-04-19
US20070150888A1 (en) 2007-06-28
US20130339408A1 (en) 2013-12-19
TW200809623A (en) 2008-02-16
US20110125816A1 (en) 2011-05-26
US8321859B2 (en) 2012-11-27
US20070150890A1 (en) 2007-06-28
US20070150887A1 (en) 2007-06-28
US20090292747A1 (en) 2009-11-26
US8099437B2 (en) 2012-01-17
US8782089B2 (en) 2014-07-15
US20140324798A1 (en) 2014-10-30
US8286159B2 (en) 2012-10-09
US9171005B2 (en) 2015-10-27
US7571176B2 (en) 2009-08-04

Similar Documents

Publication Publication Date Title
TWI431528B (zh) 經由相減性安裝達成選擇性分配軟體資源的裝置與方法
CN101390050B (zh) 通过相减性安装达成选择性分配软件资源的装置与方法
US8065204B2 (en) System and method for software integration and factory deployment
Bouman et al. Pentaho solutions
CN1238494A (zh) 计算机系统的兼容订单的生成
US20070083559A1 (en) Media/data card
US20060293969A1 (en) Method and System for Pre-Loading Media Players
US6308288B1 (en) Testing method of the integrity of the software pre-installed in a computer hard disk
EP1969463A1 (en) Apparatus and method for selectively dispensing soft assets via subtractive installation
KR100754195B1 (ko) 멀티미디어 장치의 데이터 백업 방법
CN102024226A (zh) 下载附加组件扩充软件功能的系统及其方法
Schneider Microsoft SQL Server 2005 express edition for dummies
Mosby et al. Mastering System Center Configuration Manager 2007 R2
Month ORANGE BYTES STAFF
Schneider et al. Microsoft SQL Server 2008 All-in-One Desk Reference For Dummies
Bryla et al. OCP: Oracle 10g New Features for Administrators Study Guide: Exam 1Z0-040
Jang Mastering Red Hat Linux 9
Brisbin Easy iPod and iTunes
GB2345985A (en) Testing the integrity of software pre-installed on a computer hard disk
Out Mac Inside Out: All-in-one guide to optimizing Apple computers
Jerry Ajax programming for the absolute beginner
JP2003030347A (ja) ソフトウェア資産流通サービスシステム

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees