`
`(12) United States Patent
`FranketaL
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 8,387,132 B2
`*Feb.26,2013
`
`(54)
`
`(75)
`
`INFORMATION PACKET COMMUNICATION
`WITH VIRTUAL OBJECTS
`
`(56)
`
`Inventors: Charles William Frank, Irvine, CA
`(US); Thomas Earl Ludwig, San
`Clemente, CA (US); William R.
`Babbitt, Jr., Perris, CA (US); Mark
`Adams, Los Angeles, CA (US);
`Nicholas James Witchey, Laguna Hills,
`CA (US)
`
`(73)
`
`Assignee: Rateze Remote Mgmt. L.L.C.,
`Wilmington, DE (US)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`4,422,171 A 12/1983 Wortley
`4,890,227 A 12/1989 Watanabe
`5,129,088 A
`7/1992 Auslander
`5,193,171 A
`3/1993 Shinmura
`5,444,709 A
`8/1995 Riddle
`5,506,969 A
`4/1996 Wall
`5,546,541 A
`8/1996 Drew
`5,590,124 A 12/1996 Robins
`5,590,276 A 12/1996 Andrews
`5,634,111 A
`5/1997 Oeda
`5,742,604 A
`4/1998 Edsall
`(Continued)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 70 days.
`This patent is subject to a terminal dis
`claimer.
`
`CN
`EP
`
`FOREIGN PATENT DOCUMENTS
`1359214
`7/2002
`0485110
`5/1992
`(Continued)
`
`OTHER PUBLICATIONS
`
`(21)
`
`App1.No.: 12/574,622
`
`(22)
`
`Filed:
`
`Oct. 6, 2009
`
`(65)
`
`Prior Publication Data
`
`US 2010/0095023 A1
`
`Apr. 15, 2010
`
`Related US. Application Data
`
`(63)
`
`Continuation of application No. 11/139,206, ?led on
`May 26, 2005, now Pat. No. 7,620,981.
`
`(51)
`
`(52)
`(58)
`
`Int. Cl.
`(2006.01)
`G06F 9/00
`(2006.01)
`G06F 15/16
`(2006.01)
`G06F 17/00
`US. Cl. ....................................................... .. 726/15
`
`Field of Classi?cation Search ................... .. 726/ 15
`See application ?le for complete search history.
`
`Anderson, et 211., “Serverless Network File Systems,” In Proceedings
`of the 15th Symposium on Operating Systems Principles, Dec. 1995.
`
`(Continued)
`
`Primary Examiner * William Powers
`Assistant Examiner * Dant Shaifer Harriman
`(74) Attorney, Agent, or Firm * Schwabe, Williamson &
`Wyatt, RC.
`
`ABSTRACT
`(57)
`Modules and methods that provide virtual device communi
`cation via information packets addressed to the virtual
`devices. Virtual devices aggregate capabilities of target
`devices and represent the aggregate as an operational device
`to remote systems. Physical device elements and virtual
`devices contained Within modules are able to communicate
`and cooperate over extended distances in a peer-to-peer fash
`ion via a virtual bus tunnel offering addressing and data
`transport functionality. Such modules and methods can be
`combined With disk drives to form RAID-like storage struc
`tures.
`
`21 Claims, 8 Drawing Sheets
`
`Computer :00
`
`lg 5°:
`
`Application
`
`Operaling Syslem
`
`am
`
`Translorm Module
`
`Bus
`
`IISA
`
`825
`
`Interns!
`
`530
`
`840
`
`I
`
`TransformModule
`‘
`é
`IF Mum-u Gmup é
`’i‘_.
`DIM 5
`(Mimi. SMOO- 595‘) Drive 1
`Drive 2
`Drive 3
`Drive 4
`Q ~
`51°
`i m g A m A
`5
`
`\PL 5555 m L: as: Ji 4:, 855 v v
`V
`34
`838 34274
`5527-4 8547)
`o
`
`Drive 5
`
`832
`
`935
`
`LENOVO ET AL. EXHIBIT 1001
`Page 1 of 24
`
`
`
`U.S. PATENT DOCUMENTS
`5758 050 A
`5/1998 Brady
`5,771,354 A
`6/1998 Crawford
`5,850,449 A 12/1998 McManis
`5,867,686 A
`2/1999 Conner
`5884 038 A
`3/1999 K
`528892935 A
`3/1999 O§Plf°r
`529302786 A
`M999 Cafino Jr
`5,937,169 A
`8/1999 Connery
`5948 062 A
`9/1999 TZelnic
`5,949,977 A
`9/1999 Hernandez
`5983 024 A 11/1999 F
`529912891 A 11/1999 H?n
`6,018,779 A
`1/2000 Blumenau
`6/2000 Arnott
`6081879 A
`621012559 A
`80000 S hl
`621052122 A
`80000 Azu?etrz
`6,128,664 A 10/2000 Yanagidate
`6157 935 A 120000 T
`621572955 A 00000 laid
`6,181,927 B1
`1/2001 Welling
`6202 060 B1
`3/2001 Tran
`6,246,683 B1
`6/2001 Connery
`6253 273 B1
`6/2001 B1
`622592448 B1
`7/2001
`
`
`6,275,898 B1 6,288,716 B1
`8/2001 DeKoning 9/2001 Humpleman
`828882282 8}
`12,588} giggta
`
`B1 6,330,616 B1
`
`6377 990 B1
`623852638 B1
`6,389,448 B1
`6396 480 B1
`6,401,183 B1
`6434 683 B1
`6,449,607 B1
`6,466,571 B1
`6470 342 B1
`6,473,774 B1
`6 480 934 B1
`6,487,555 B1
`6 549 983 B1
`625532028 B1
`625672863 B1
`6,597,680 B1
`6 601 101 B1
`6,601,135 B1
`6618 743 B1
`626292162 B1
`626292178 B1
`
`12/2001 Gioquindo
`4/2002 Slemmer
`5/2002 Baker_HaWey
`5/2002 Primak
`5/2002 Schindler
`6/2002 Ra?zadeh
`80002 West
`9/2002 Tomita
`10/2002 Dynarski
`10/2002 Gondi
`10/2002 Cellis
`11/2002 Hino
`11/2002 Bharat
`4/2003 H
`4/2003 Tan t 1
`5/2003 Lirf‘l‘figa'
`7/2003 Lindskog
`7/2003 Lee
`7/2003 McBrearty
`9/2003 B
`H
`9/2003 Afngf
`9/2003 Sn?th
`
`9/2003 Sicola 6,629,264 B1 82888222? 8% 18,5882 ébb‘md
`
`
`626812244 B1
`1/2004 Cal
`626832883 B1
`1/2004 Cr°§s
`626932912 B1
`2/2004 Jagger
`6,701,431 B2
`3/2004 Subrarnanian
`3/2004 Den
`6701432 B1
`627102786 B1
`3/2004 J
`gb
`627112164 B1
`3/2004 La“) S
`627282210 B1
`4/2004
`627322171 B2
`5/2004 H' doury
`627322230 B1
`5/2004 Dgzisen
`6,741,554 B2
`5/2004 D’Amico
`627422034 B1
`5/2004 S h b H
`627542662 B1
`6/2004 L? ‘1 e
`627572845 B2
`6/2004 B1
`627722161 B2
`8/2004 Mrg?lin am
`627752672 B2
`8,2004 Mahalingam
`
`6’795’534 B2
`637993244 B2
`6,799,255 B1
`6,826,613 B1
`6,834,326 B1
`6,853,382 B1
`6,854,021 B1
`
`9/2004 Noguchi
`9/2004 Tanaka
`9/2004 Blumenau
`11/2004 Wang etal,
`12/2004 Wang
`2/2005 Van Dyke
`2/2005 Schmidt
`
`US 8,387,132 B2
`Page2
`
`6,862,606 B1
`6,876,657 B1
`82888288; 8;
`628942976 B1
`2
`2
`6,895,461 B1
`6,895,511 B1
`6,901,497 B2
`6,904,470 B1
`6,907,473 B2
`629122622 B2
`6,917,616 B1
`6,922,688 B1
`823828;; g;
`2
`2
`6,941,555 B2
`6,947,430 B2
`629772927 B1
`6,983,326 B1
`6,985,956 B2
`629932587 B1
`7,039,934 B2
`720512087 B1
`7,065,579 B2
`7,069,295 B2
`
`328352888 8% 7’073’090 B2
`7,111,303 B2
`
`3/2005 Major
`4/2005 Palmer
`3,5882 8801K
`5/2005 Ban a
`g
`5/2005 Thompson
`5/2005 Borsato
`5/2005 Tashiro
`6/2005 0fer_
`6/2005 Schmldt
`600% M111“
`7/2005 Norrnand
`7/2005 Frey, Jr.
`8,588; iuidmm
`c “ya
`9/2005 Jacobs
`9/2005 Bilic
`12/2005 Bates
`1/2006 Vlgue
`1/2006 Luke
`820% Basam
`5/2006 Terakado
`500% Bahl
`6/2006 Traversat
`6/2006 Sutherland
`
`85888 700% Yanai
`9/2006 Macchiano etal. ........ .. 719/313
`
`
`22222222 22 22/2222 22-22222 2 2 ‘nge 3' """""""""" '2
`
`
`721462427 B2 12/2006 Delaney
`7,149,769 B2 12/2006 Lubbers
`721522069 B1
`12/2006 gantry
`7,181,521 B2
`2/2007 Knauerhase
`721842424 B2
`2/2007 Frank
`7,188,194 B1
`3/2007 Kulk
`325882888 3%
`3888; {jump
`.
`eyer
`2
`2
`7,206,805 B1
`4/2007 Mclaughlln
`722252243 B1
`500‘” Wllson
`7,237,036 B2
`6/2007 Bonoher
`722432144 B2
`7/2007 M‘yake
`7,254,620 B2
`8/2007 Iwamura
`7,260,638 B2
`8/2007 Crosbie
`7,263,108 B2
`8/2007 Kizhepat
`722782142 B2 10/2007 Bandh‘?e
`7,296,050 B2 11/2007 Vroard
`723332451 B1
`2/2008 Khahl
`7,353,266 B2
`4/2008 Bracewell
`7,389,358 B1
`6/2008 Matthews et al.
`7,404,000 B2
`7/2008 Lolayekar
`
`$888 9/2008 Mukherjee etal. ........... .. 726/15
`
`323882888 8; 7,421,736 B2
`
`9/2008 Yamamoto
`7,428,584 B2
`7,436,789 B2 10/2008 Caliskan
`7,447,209 B2 11/2008 Jeffay
`3238828242, 8% 185888 §eny
`Ifmg
`2
`2
`7,526,577 B2
`4/2009 Prnkenon
`7,535,913 B2
`5/2009 Minarni
`7,536,525 B2
`5/2009 Chandrasekaran etal. .. 711/165
`7,558,264 B1
`7/2009 Lolayekar
`7,707,304 B1
`4/2010 Lolayekar
`729122059 B1
`300“ Squ‘re
`2001/0020273 A1
`9/2001 Mnrakawa
`2001/0026550 A1 10/2001 Kobayashi
`2001/0034758 A1 10/2001 Kikinis
`2001/0049739 A1 12/2001 Wakayama
`2002/0016811 A1
`2/2002 Gall
`
`2002/0029256 A1
`2002/0029286 A1
`2002/0031086 A1
`2002/0035621 A1
`2002/0039196 A1
`2002/0052962 A1
`2002/0062387 A1
`
`3/2002 Zintel
`3/2002 Gioquindo et a1.
`3/2002 Welin
`3/2002 Zintel
`4/2002 Chiarabini
`5/2002 Cherkasova
`5/2002 Yatziv
`
`LENOVO ET AL. EXHIBIT 1001
`Page 2 of 24
`
`
`
`US 8,387,132 B2
`Page 3
`
`5/2002 Bracewell
`2002/0065875 A1
`7/2002 Khare
`2002/0087811 A1
`7/2002 Muramatsu
`2002/0091830 A1
`9/2002 Yamashita
`2002/0126658 A1
`9/2002 Monday
`2002/0133539 A1
`9/2002 Tingley et al.
`2002/0138628 A1
`2002/0165978 A1 11/2002 Chui
`2003/0018784 A1
`1/2003 Lette
`2003/0023811 A1
`1/2003 Kim
`2003/0026246 A1
`2/2003 Huang
`2003/0041138 A1
`2/2003 Kampe
`2003/0065733 A1
`4/2003 Pecone
`2003/0069995 A1
`4/2003 Fayette
`2003/0070144 A1
`4/2003 Schnelle
`2003/0079018 A1
`4/2003 Lolayekar et al.
`2003/0081592 A1
`5/2003 Krishnarajah
`2003/0093567 A1
`5/2003 Lolayekar
`2003/0101239 A1
`5/2003 Ishizaki
`2003/ 01 18053 A1
`6/ 2003 Edsall
`2003/0130986 A1
`7/2003 Tamer
`gigglet a1
`900% Wright
`'
`2003/0172157 A1
`9/2003 Leon
`2003/0182349 A1
`2003/ 02025 10 A1 10/ 2003 Witkfwski
`2003/0204611 A1 10/2003 MCCOSh
`2004/0047367 A1
`3/2004 Mammen
`goates
`5/2004 Bg?g?gr
`2004/0100952 A1
`7/2004 Meyer et a1
`2004/0148380 A1
`8/2004 Frank
`'
`2004/0160975 A1
`8/2004 St, Pierre et 31‘
`2004/0162914 A1
`9/2004 Frank
`2004/0170175 A1
`9/2004 Smith
`2004/0181476 A1
`9/ 2004 Lin
`2004/ 0184455 A1
`2004/0213226 A1 10/2004 Frank
`2005/0033740 A1
`2/2005 Cap
`2005/0044199 A1
`200% Shlga et al~
`23;
`Isiamgzls
`2005/0144199 A2
`6/2005 Hinden
`Zoos/0166022 A1
`700% Wailanabe
`2005/0175005 A1
`800% Brown
`Zoos/0198371 A1
`9/2005 Smith
`2005/0246401 A1 11/2005 Edwards
`2005/0259646 A1 11/2005 Smith et 31,
`2005/0267929 A1 12/2005 Kitamura
`2005/0270856 A1 12/2005 Earhart
`2005/0286517 A1 12/2005 Babbar
`2006/0029068 A1
`2/2006 Frank
`2006/0029069 A1
`2/2006 Frank
`5882;8852239 2}
`Z5882
`st
`2006/0045089 A1
`3/2006 B hg
`ac er et al.
`2006/0077902 A1
`4/2006 Kannan
`2006/0101130 A1
`5/2006 Adams
`2006/0126666 A1
`6/2006 Frank
`2006/0133365 A1
`6/2006 Manjunatha
`2006/ 0168345 A1
`7/ 2006 Siles
`2006/ 0176903 A1
`8/2006 Coulier
`2006/0182107 A1
`55/2006 Frank
`2006/0206662 A1
`9/2006 Ludw1g
`2006/0253543 A1 11/2006 Frank
`l
`
`ég?ggsm
`5/2007 Kim
`2007/01 10047 A1
`6/2007 sttock
`2007/0147347 A1
`7/2007 Adams
`2007/0168396 A1
`2007/0237157 A1 10/2007 Frank
`zoos/0181158 A1
`7/2008 BouaZiZi
`2008/0279106 A1 11/2008 Goodfellow
`
`EP
`EP
`EP
`
`FOREIGN PATENT DOCUMENTS
`0654736
`5/1995
`0700231
`3/1996
`0706113
`4/1996
`
`JP
`JP
`JP
`JP
`JP
`JP
`JP
`JP
`JP
`TW
`WO
`WO
`WO
`WO
`
`63090942
`09149060
`10-333839
`2000267979
`2001-094987
`2002-252880
`2001359200
`2002318725
`2004056728
`223167
`W00101270
`WOO215018
`WOO2071775
`WO2004025477
`
`4/1988
`6/1997
`12/1998
`9/2000
`4/2001
`12/2001
`12/2001
`10/2002
`2/2004
`11/2004
`4/2001
`2/2002
`9/2002
`3/2004
`
`OTHER PUBLICATIONS
`_
`_
`_
`_
`_
`Bruschr, et al., “Secure mult1cast 1n w1reless networks of mobrle
`hosts: protocols and issues”, Mobile Networks and Applications, vol.
`'7, issue 6 (Dec‘ 2002), pp, 503_511‘
`Chavez, A Multi-Agent System for Distributed Resource Allocation,
`MIT Media Lab, XP-002092534, Int’l Conference on Autonomous
`Agents, Proceedings of the First Int’l Conference on Autonomous
`Agents, Marina del Rey, California, US, Year of Publication: 1997.
`IBM Technical Disclosure Bulletin, V0. 35, No. 4a, pp. 404-405,
`Xpooo3l4813, Armonk, NY, USA, Sep‘ 1992‘
`International Search Report and Written Opinion re PCTUS05/
`01542 gated Aug' 25’ 2008'
`.
`.
`Internatronal Search Report for Applrcatron No. PCT/US02/40205
`dated May 12’ 2003
`Internatronal Search Report re PCT/USZOOS/018907 dated Jan. 11,
`2006
`Kim et al., “Internet Multicast Provisioning Issues for Hierarchical
`Architecture”, Dept of Computer Science, Chung-Nam National
`University, Daejeon, Korea, Ninth IEEE International Conference,
`pp. 401-404., IEEE, published Oct. 12, 2001.
`Lee et al. “A Comparison of Two Distributed Desk Systems” Digital
`Systems Research CenteriResearch Report SRC-155, Apr. 30,
`1998’ XP002368118'
`Lee, et al. “Petal: Distributed Virtual Disks”, 7th International Con
`ference on Arch1tectural Support for Programmrng Languages and
`Operatron Systems. Cambr1dge, MA., Oct. 1-5, 1996. Internatronal
`Conference on Architectural Support for Programming Languages
`and Operation Systems (ASPLOS), New, vol. Conf. 7, pp. 84-92,
`XP000681711, ISBN: 0-89791-767-7, Oct. 1, 1996.
`Lin, et al., “RMTP: A Reliable Multicast Transport Protocol,” Pro
`ceedings of IEEE INFOCOM ’96, vol. 3, pp. 1414-1424, 1996.
`Of?ce Action re U.S. Appl. No. 11/139,206 dated Dec. 9, 2008.
`Quinn et al., “IP Multicast Applications: Challenges and Solutions,”
`Network Working Group, RFC 3170, Sep. 2001.
`Satran et al. “Internet Small Computer Systems Interface (iSCSI)”
`.
`.
`IETF Standard, Internet Eng1neer1ng Task Force, IETF, CH,
`XP015009500, ISSN: 000-0003, Apr. 2004. I
`VMWare Workstatrons User’s Manual, Versron 3.2, VMWare, Inc.,
`Copyright 19984002
`Beck, Micah, et al., An End-to-End Approach for Globally Scalable
`network Storage, ACM SIGCOMM Computer Communication
`Review; vol. 32, Issue 4, Proceedings ofthe 2002 SIGCOMM Con
`ference; pp‘ 339346; Oct‘ 2002‘
`Gibson, Garth; A Cost Effective High-Bandwidth Storage Architec
`ture; ACM SIGOPS Operating Systems Review, col. 32, issue 5, pp.
`92-103; 1998.
`Gibson, Garth;,File Server Scaling with Network-Attached Secure
`D1sks; Jornt Int 1 Conference on Measurement & Modelrng of Com
`puter Systems Proceed1ngs of the 1997 ACM SIGMETRICS Int’l
`Conference on Measurement & Modelrng of Computer Systems; pp.
`272-284; 1997~
`Robinson, Chad; The Guide to Virtual Services; Linux Journal, vol.
`1997 Issue 35; Man 1997~
`Virtual Web mini-HOWTO; Parag Mehta; www.faqs.or/docs/Linux
`mini/Virtual-Webhtml; Jun. 6, 2001.
`VMWare Workstation User’s Manual, VMWare, Inc., p. 1-420,
`XP002443319;
`www.vmware.com/pdf/ms3 2imanual.pdf;
`p.
`18-21; p. 214-216; p. 273-282; copyright 1998-2002.
`
`LENOVO ET AL. EXHIBIT 1001
`Page 3 of 24
`
`
`
`US 8,387,132 B2
`Page 4
`
`WebTen User’s Guide; Version 3.0, Jan. 2000; http://wwwtenan.
`com/products/Webten/WebTenUserGuide/ liIntroduction.html;
`Jan. 2000.
`WebTen User’ s Guide; Version 7.0; http://WWW.tenon.com/products/
`webten/WebTenUserGuide/8iVirtualHosts.html, Chapter 8; Mar.
`2008.
`Satran et al., “Internet Small Computer Systems Interface (iSCSI)”
`Internet Draft draft-ietf-ips-iscsi-19.txt, Nov. 3, 2002.
`
`Notice of Allowance re U.S. Appl. No. 11/139,206 dated Jul. 13,
`2009.
`International Search Report/Written Opinion re PCT/U S05/ 18907
`dated Jan. 11,2006.
`Notice of Allowance re Taiwan Application No. 94127547 dated Sep.
`4, 2007.
`
`* cited by examiner
`
`LENOVO ET AL. EXHIBIT 1001
`Page 4 of 24
`
`
`
`US. Patent
`
`Feb. 26, 2013
`
`Sheet 1 0f8
`
`US 8,387,132 B2
`
`Host
`110
`Address /
`
`Information Packex 100
`
`Figure 1A
`
`(
`
`Framin Packet
`9 M 150
`
`w
`
`155
`Frame
`Address /
`
`110
`Host
`Address /
`
`Y
`\ 100
`Information Packet
`
`Figure 1B
`
`LENOVO ET AL. EXHIBIT 1001
`Page 5 of 24
`
`
`
`US. Patent
`
`Feb. 26, 2013
`
`Sheet 2 0f8
`
`US 8,387,132 B2
`
`Control Portion 1
`
`220
`
`230
`
`K Encapsulated Packet
`
`Split-ID / m
`
`Data Portion
`
`2l5
`/
`
`Information Packet K 200
`
`Figure 2A
`
`Control Portion X
`
`/
`
`220A
`
`230A
`
`/ Encapsulated Packet
`
`/ m
`
`.
`
`w
`ml
`
`m
`
`[
`
`Split-ID
`
`/ 210A
`
`Split-ID
`2
`
`/2108 O O O
`
`Split-ID
`N
`
`/210N
`
`Y
`Information Packet \
`2003
`Figure 2B
`
`LENOVO ET AL. EXHIBIT 1001
`Page 6 of 24
`
`
`
`US. Patent
`
`Feb. 26, 2013
`
`Sheet 3 0f8
`
`US 8,387,132 B2
`
`i
`
`<
`
`320
`Control Portion
`i
`
`310
`Conliguous-ID /
`
`Data Portion
`
`/ 315
`
`information Packet K see
`
`Figure 3
`
`400
`
`Module
`
`Virtual Device
`
`/ 420
`
`424
`
`Capability 1 /
`
`426
`
`m
`
`Capability 2
`
`Capability 3
`
`Figure 4
`
`LENOVO ET AL. EXHIBIT 1001
`Page 7 of 24
`
`
`
`US. Patent
`
`Feb. 26, 2013
`
`Sheet 4 0f 8
`
`US 8,387,132 B2
`
`545A
`540A
`/
`Device 1
`
`a Device 2 I
`
`5408
`
`5455
`0
`O
`O
`
`Device M
`
`500 /
`
`/ 510
`
`Transform Module / 520
`
`/ sao
`
`Packet Processor
`
`505 a
`
`Network
`Interface
`
`Virtual
`Device
`Manager
`
`I, 524
`
`Virtual Bus
`/ 528“
`Tunnel
`“Will
`5 > Device‘! G
`
`525A
`
`5258
`
`525N
`
`>
`
`/ 5288
`
`Virtual
`
`5 > Device2 <
`
`O
`°
`9 528N
`
`Virtual
`> Device N c
`
`Figure 5
`
`537A
`Target
`Device
`Interface
`<
`z 5375
`
`S 537N
`
`LENOVO ET AL. EXHIBIT 1001
`Page 8 of 24
`
`
`
`US. Patent
`
`Feb. 26, 2013
`
`Sheet 5 0f 8
`
`US 8,387,132 B2
`
`Eoww
`55% / /
`
`@ oSmE
`
`m @0300
`
`mOE / mmg
`
`F @250 H .
`
`www
`
`
`
`2322 Ehov?cmt.
`
`05
`
`5mm
`
`/
`
`@250
`593.
`
`wumtEE
`
`mmw
`
`owo
`
`m mm.
`
`T/mé
`
`fosz
`
`mu wt 2: _
`
`/, mow
`
`LENOVO ET AL. EXHIBIT 1001
`Page 9 of 24
`
`
`
`US. Patent
`
`Feb. 26, 2013
`
`Sheet 6 0f8
`
`US 8,387,132 B2
`
`Computing System
`
`Application
`
`703
`
`/ 700
`
`Operating System
`
`705
`
`Drivers
`
`710
`/
`
`/ 73° Traditional Bus
`
`Device A
`
`Device B
`
`Device 0
`
`Device D
`
`750A
`
`7508
`
`750C
`
`7500
`
`Figure 7A
`
`Computing System
`
`703 / 701
`
`Application
`
`705
`Operating System /
`
`Transform Module
`
`712
`
`740A
`/
`Transform
`750A
`Device A _ Module
`
`Device B _
`
`7508
`
`Virtual Bus Tunnel
`
`Figure 7B
`
`720
`
`7405
`7500
`/
`/
`Transform
`Module - DeviceC
`
`Network
`
`-- Device D
`
`\ 7500
`
`LENOVO ET AL. EXHIBIT 1001
`Page 10 of 24
`
`
`
`US. Patent
`
`Feb. 26, 2013
`
`Sheet 7 0f8
`
`US 8,387,132 B2
`
`802
`
`Application
`
`804
`Operating System /
`
`Transform Module
`
`806
`
`830
`
`Transform Module
`
`Transform
`Module
`
`Transform
`Module
`
`Wm“ smp? 5P3") Drive 1
`Drive 2
`Drive 3
`Drive 4
`820
`833 @ VA A/ 831 <3
`1 fng E 843
`~_ P4 ,
`
`Drive 5
`Drive 6
`Ac: \@
`853
`D P5 ,
`l2,\ 855
`
`V V
`
`832 / % 834
`835
`
`ass 8427-,
`
`8527—) 8547-,
`
`Figure 8
`
`LENOVO ET AL. EXHIBIT 1001
`Page 11 of 24
`
`
`
`US. Patent
`
`Feb. 26, 2013
`
`Sheet 8 0f8
`
`US 8,387,132 B2
`
`Associate Virtual
`Devices to
`Physical Device
`Elements
`l
`Acquire a
`Piurality of Host
`Addresses
`l
`Assign Host
`Addresses to
`Module Objects
`l
`
`905
`
`910
`
`920
`
`Receive
`"—'* information
`Packets
`
`4
`
`962
`/
`Transform lo
`Split-ID or
`Contiguous-ID
`Format
`
`j 934
`
`Send to Virtual
`*9 Bus Tunnel ’
`
`T
`
`/ 956
`
`Transform to
`Different
`Contiguous-10 or
`Split-ID Format
`
`To Device'.>
`
`/ 94s
`Process Other
`Packets
`
`/ 954
`/ 952
`Send to Device
`Transform to
`Device Format _—>
`
`Figure 9
`
`LENOVO ET AL. EXHIBIT 1001
`Page 12 of 24
`
`
`
`US 8,387,132 B2
`
`1
`INFORMATION PACKET COMMUNICATION
`WITH VIRTUAL OBJECTS
`
`RELATED APPLICATIONS
`
`The present application claims priority to US. application
`Ser. No. 11/139,206 ?led on May 26, 2005 and issued on Nov.
`17,2009 as US. Pat. No. 7,620,981, entitled “Virtual Devices
`and Virtual Bus Tunnels, Modules, and Methods,” the entire
`speci?cation of which is hereby incorporated by reference in
`its entirety for all purposes.
`
`FIELD OF THE INVENTION
`
`The ?eld of the invention is virtual device communication.
`
`BACKGROUND OF THE INVENTION
`
`Computing systems and devices from the smallest of
`embedded systems to the largest of super computers require
`resources to accomplish their objectives. Possible resources
`include CPUs, memory, monitors, hard disk drives, networks,
`peripherals, and a ho st of other devices that combine to form
`a complete computing experience for the user. Over the last
`decade, users of computing systems and devices have become
`less sophisticated with respect to the complexity of the com
`puting systems. Users are now more concerned with their
`computing experience rather than in the details of how their
`computing system operates. The migration of computing sys
`tems toward less sophisticated users has pushed such systems
`to become more and more complex to compensate for the
`users lack of computer system expertise. The results of this
`migration can be seen by the continued increase in complex
`ity and power of current operating systems, including Win
`dows® or Linux.
`Computers running Windows® or Linux present a single
`data portal to a user, where the computer contains nearly all
`aspects of the user’s environment including data, applica
`tions, preferred settings, and so on. However, many users
`currently need multiple portals to their computing environ
`ment rather than a single system as they travel from home, to
`abroad, or to work. Not only do users wish to have access to
`their data as they move, but they also wish to take their
`computing experience with them. Laptop computers offer the
`ability to move, but at great expense. Consequently, numer
`ous systems have been developed to enable a more decentral
`ized user experience approach, including web portals such as
`Yahoo!®, where a user accesses their email interface from
`anywhere in the world. Users are no longer concerned about
`the location of their computing resources, but are rather con
`cerned about having access to their data and having the same
`computing experience no matter where they are or what
`device they use as an interface.
`A number of problems arise due to users’ demand for a
`uniform experience. First, huge computing services including
`those being developed by YahoolTM, Microsoft®, and even
`GoogleTM require large centralized server systems to house
`the massive amount of user’ s data. Such servers are expensive
`to operate and maintain. Second, users’ experiences tend to be
`limited to the capabilities these services have to offer, (includ
`ing email, photo organization, web browsing, searching, and
`so forth), rather than a complete generalized experience.
`Third, these large centralized systems do not present users
`with their complete data set, but rather a small fraction of the
`data. Nor can the systems necessarily run general applications
`that users desire when working with their data.
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`In order to address these limitations and provide a cost
`effective computing experience for users, a fully decentral
`ized approach is required. Some decentralized computing
`efforts are well known, including for example, Search for
`Extra-Terrestrial Intelligence (SETI@Home), the Great
`Internet Mersenne Prime Search (GIMPS), and various ?le
`sharing programs such as BitTorrent, and Kazaa. Although
`average users can access these applications and programs, the
`applications offer only a limited decentralized user’s experi
`ence, which focus on speci?c capabilities or services rather
`than the generalized computing needs of the user.
`Several decentralized computing platforms exist today that
`are intended to be generalized, including Beowulf Linux clus
`ters and advanced web services including Microsoft .NET.
`Unfortunately, these and other decentralized computing plat
`forms have several ?aws that impact the user. Among other
`things they require new software that the user must then
`purchase or license (as in the case of .NET), or write them
`selves as in the case of clusters. A further problem is that the
`new software still requires strong centralized computing sys
`tems to support the overall computing experience. Such
`approaches attack the problem from an application or user
`point of view, which causes the solution space to be too broad.
`A broad point of view then tends to limit the solution to course
`grained approach that results in a high cost of implementation
`to the user.
`A better approach to decentralization of computing
`resources attacks the problem from a more ?ned grained
`perspective, where the system scales incrementally in a more
`cost effective manner rather than at a systems level were
`incremental costs are high. Rather than approaching the prob
`lem from a computing system standpoint, decentralization
`can be approached from a fundamental computing resource
`perspective, in which a computing resource distills to the
`physical device element level (where a device element could
`include, but not limited to, a CPU, memory, hard disk, or even
`a monitor). When these devices combine in a decentralized
`fashion, a wide range of users gain the bene?ts of decentrali
`zation. In addition, decentralization of devices allows devices
`to focus on doing what they do best and to be responsible for
`their own services and capabilities; thereby of?oading
`peripheral management work from an operating system and
`CPU. Consequently, the operating system and CPU can focus
`on providing more bandwidth to an application. Decentrali
`zation also provides the bene?t of scalability, such that a
`computing system scales up at the atomic device level as
`opposed to at the system level. Users scale their computing
`systems by purchasing devices which are more cost effective
`than complete systems. In addition, older generations of
`decentralized devices still remain useful and contribute to the
`over computing system without having to be discarded.
`Decentralization, by its very nature, includes the concept
`of virtualization, where devices are distributed over a network
`but “appear” as locally connected from the perspective of
`other devices. With device virtualization provided over a
`network, the computing resources no longer have to be local
`to the user. This implies a user gains access to their computing
`experience and resources from any connected location once
`the user takes appropriate authentication or security mea
`sures. Such a decentralized computing system addresses the
`remaining problems with current architectures: users main
`tain access to their data, users can use multiple interfaces
`while maintaining their computing experience, applications
`do not have to be rewritten because decentralization occurs at
`the device level rather than the system level, and costs to the
`
`LENOVO ET AL. EXHIBIT 1001
`Page 13 of 24
`
`
`
`US 8,387,l32 B2
`
`3
`user decrease because the user scales their system by purchas
`ing devices at the atomic unit rather than buying at the system
`level.
`Beyond the bene?ts to the user, decentralization at the
`device level also creates opportunities for creating new capa
`bilities or services by using decentralized devices as building
`blocks. Just as devices focus on doing what they do well, new
`products can be built that aggregate device level capabilities
`or services into more powerful capabilities or services while
`maintaining scalability at device level. The new products
`offer the powerful capabilities or services as a “device” to the
`rest of the system even though the “devices” are actually
`virtual in nature. For instance, hard disk drives can be aggre
`gated into a network storage system with RAID capabilities,
`where the entire storage system appears as a single storage
`device. The network storage system focuses on storing and
`retrieving data, without incurring overhead associated with
`complete system architectures. Because the drives are decen
`tralized and virtualized, the storage system can still be scaled
`at the atomic level, the hard disk drive, which is much more
`cost effective to the end user.
`To fully realize the bene?ts and capabilities offered by
`decentralization, devices and virtual devices need to pass
`information to each other in an organized way, as if they exist
`on a virtualized bus. Therefore, there is a need for modules
`and methods that:
`Process information packets addressed to groups of
`devices, individual devices, or virtual devices;
`Includes interfaces to target devices and to some form of
`network;
`Extend device virtual buses over large distances so device
`can be accessed from any location; and
`Manage virtual devices offering aggregated behavior.
`Such a set of modules combine with target devices to offer
`aggregated capabilities, and can also integrate into existing
`computing systems. When installed in a computing system
`such as Windows®, the module could take the form of a
`device driver and the aggregate capabilities or services of the
`remote target devices appear as a single device.
`A number of bene?ts are realized from this approach. First,
`computing systems employ such modules to distribute the
`locality of their physical device elements. This is bene?cial in
`cases where physical security is needed or where geographic
`isolation offers protection against acts of God. Second, users
`purchase enhanced capabilities by purchasing computing
`systems resources in discreet units rather than complete sys
`tems. If they wish to double the computing power of their
`system, the consumer purchases a single CPU (assuming an
`appropriate module is attached to the CPU) and adds it to the
`decentralized system. The cost for a single device is much less
`than the cost of a complete system. Along these lines, old
`components can be retained and still provide useful capabili
`ties even though they are not as powerful as the new compo
`nent because the old components can still function within the
`decentralized system. Third, the customer has access to their
`experience from anywhere in the world because the virtual
`system bus extends to any length. Once a user authenticates to
`their environment, the distributed system presents the user
`with their preferred experience to them no matter the actual
`location of the discreet resources housing the user’s data.
`Forth, more complex structures can be created from the dis
`creet device building blocks. For instance, sophisticated
`RAID structures can be created by using hard drives and
`appropriately programmed modules attached to the drives.
`The RAID structures appear as a single drive to the user or the
`user’s applications.
`
`4
`Thus, speci?c compositions and methods of virtual device
`communication, information packets transformation, and vir
`tual bus tunnels have been disclosed. It should be apparent,
`however, to those skilled in the art that many more modi?ca
`tions besides those already described are possible without
`departing from the inventive concepts herein. The inventive
`subject matter, therefore, is not to be restricted except in the
`spirit of the disclosure. Moreover, in interpreting the disclo
`sure all terms should be interpreted in the broadest possible
`manner consistent with the context. In particular the terms
`“comprises” and “comprising” should be interpreted as refer
`ring to the elements, components, or steps in a non-exclusive
`manner, indicating that the referenced elements, components,
`or steps can be present, or utilized, or combined with other
`elements, components, or steps that are not expressly refer
`enced.
`
`SUMMARY OF THE INVENTION
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`The present invention is directed toward virtual devices
`and information packets used to communicate among virtual
`devices, where the information packets are addressed to vir
`tual devices. Virtual devices contained within modules coor
`dinate with other virtual devices within other modules in a
`peer-to-peer fashion to offer aggregated capabilities. Infor
`mation packets comprise host addresses of virtual devices and
`comprise identi?ers (IDs). IDs comprise suf?cient informa
`tion for routing the packets over a network to a ?nal destina
`tion and comprise suf?cient information to determine how the
`information held within the packet should be conveyed to a
`physical target device. Modules comprising virtual devices
`and the ability to create information packets offer a virtual bus
`tunnel for virtual devices so they can coordinate behavior in a
`distributed fashion forming. Various embodiments of such
`modules offer a number of interesting features that allows
`devices, either local or remote with respect to the target
`devices, to offer aggregate capabilities to device users than
`the users would ordinarily have access to at the device level.
`Modules capabilities include, but not necessarily limited to,
`distributed data storage systems.
`Virtual Devices
`In our own prior art we disclosed physical device elements,
`(i.e. hardware devices) that don’t have a unique frame address
`but do have a host address. Speci?c examples included disk
`partitions within a hard drive, RAM, or CPUs. We also dis
`closed and claimed protocols, methods and systems for using
`the host addresses to access the physical device elements.
`As used herein, the term “virtual device” means anything
`(hardware, ?rmware, or software during its execution) that
`has a host address, but doesn’t have a unique frame address,
`through which to represent itself as an operational device to
`an external application. A host address is any physical inter
`face independent address, and includes, for example, IP
`addresses, IPv4 addresses, and IPv6 addresses. Host
`addresses are also considered herein to include domain names
`and URLs (web page addresses) because they resolve to a
`network address based on applications or protocols. A frame
`address is a physical media interface address within a packet
`that frames a host address. For example, in Ethernet a frame
`address includes a MAC address, in Frame Relay a frame
`address includes the DLCI or the LAN adapter address, and in
`ATM a frame address includes anAES address. USB usually
`uses frame addresses, but can also use packets that do not have
`frame addresses.
`Network addressable virtual devices are virtual devices
`that are addressed at the network level of the OSI model, as
`opposed for example, to the session, presentation, or appli
`
`LENOVO ET AL. EXHIBIT 1001
`Page 14 of 24
`
`
`
`US 8,387,132 B2
`
`5
`cation level. Thus, a mapped Windows® drive is addressed at
`the application level, and therefore would be virtual device,
`but
Accessing this document will incur an additional charge of $.
After purchase, you can access this document again without charge.
Accept $ ChargeStill Working On It
This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.
Give it another minute or two to complete, and then try the refresh button.
A few More Minutes ... Still Working
It can take up to 5 minutes for us to download a document if the court servers are running slowly.
Thank you for your continued patience.
This document could not be displayed.
We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.
Your account does not support viewing this document.
You need a Paid Account to view this document. Click here to change your account type.
Your account does not support viewing this document.
Set your membership
status to view this document.
With a Docket Alarm membership, you'll
get a whole lot more, including:
- Up-to-date information for this case.
- Email alerts whenever there is an update.
- Full text search for other cases.
- Get email alerts whenever a new case matches your search.
One Moment Please
The filing “” is large (MB) and is being downloaded.
Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.
Your document is on its way!
If you do not receive the document in five minutes, contact support at support@docketalarm.com.
Sealed Document
We are unable to display this document, it may be under a court ordered seal.
If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.
Access Government Site