`11111111111111101111111111111111111111111111111111111110111111
`
`(12) United States Patent
`(12) United States Patent
`Singhal et al.
`Singhal et al.
`
`(to) Patent No.: (cid:9)
`(to) Patent No.: (cid:9)
`(45) Date of Patent: (cid:9)
`(45) Date of Patent: (cid:9)
`
`US 6,925,481 B2
`US 6,925,481 B2
`Aug. 2, 2005
`Aug. 2, 2005
`
`(54) TECHNIQUE FOR ENABLING REMOTE
`(54) TECHNIQUE FOR ENABLING REMOTE
`DATA ACCESS AND MANIPULATION FROM
`DATA ACCESS AND MANIPULATION FROM
`A PERVASIVE DEVICE
`A PERVASIVE DEVICE
`
`(75) Inventors: Sandeep Kishan Singhal, Englewood
`(75) Inventors: Sandeep Kishan Singhal, Englewood
`Cliffs, NJ (US); Barry Eliot Levinson,
`Cliffs, NJ (US); Barry Eliot Levinson,
`New York, NY (US); Darren Michael
`New York, NY (US); Darren Michael
`Sanders, Nanuet, NY (US)
`Sanders, Nanuet, NY (US)
`
`(73) Assignee: Symantec Corp., Cupertino, CA (US)
`(73) Assignee: Symantec Corp., Cupertino, CA (US)
`
`( * ) Notice: (cid:9)
`( * ) Notice: (cid:9)
`
`Subject to any disclaimer, the term of this
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 827 days.
`U.S.C. 154(b) by 827 days.
`
`(21) Appl. No.: 09/848,394
`(21) Appl. No.: 09/848,394
`
`(22) Filed: (cid:9)
`(22) Filed: (cid:9)
`
`May 3, 2001
`May 3, 2001
`
`(65)
`(65)
`
`Prior Publication Data
`Prior Publication Data
`
`US 2002/0178211 Al Nov. 28, 2002
`US 2002/0178211 Al Nov. 28, 2002
`
`Int. C1.7 (cid:9)
`(51)
`Int. C1.7 (cid:9)
`(51)
`(52) U.S. Cl. (cid:9)
`(52) U.S. Cl. (cid:9)
`
` 709/200;
` 709/200;
`
` GO6F 13/00
` GO6F 13/00
`709/203; 709/217;
`709/203; 709/217;
`709/219
`709/219
`
`(58) Field of Search (cid:9)
`(58) Field of Search (cid:9)
`
` 709/200, 201,
` 709/200, 201,
`709/203, 217, 218-220, 227
`709/203, 217, 218-220, 227
`
`(56)
`(56)
`
`References Cited
`References Cited
`
`U.S. PATENT DOCUMENTS
`U.S. PATENT DOCUMENTS
`
`6,765,596 B2 * 7/2004 Lection et al. (cid:9)
`6,765,596 B2 * 7/2004 Lection et al. (cid:9)
`6,816,719 B1 * 11/2004 Heinonen et al. (cid:9)
`6,816,719 B1 * 11/2004 Heinonen et al. (cid:9)
`* cited by examiner
`* cited by examiner
`
` 715/835
` 715/835
` 455/403
` 455/403
`
`Primary Examiner—Moustafa M. Meky
`Primary Examiner—Moustafa M. Meky
`(74) Attorney, Agent, or Firm—Marcia L. Doubet
`(74) Attorney, Agent, or Firm—Marcia L. Doubet
`(57)
`ABSTRACT
`(57)
`ABSTRACT
`
`Methods, systems, and computer program instructions for
`Methods, systems, and computer program instructions for
`enabling users of pervasive devices to remotely access and
`enabling users of pervasive devices to remotely access and
`manipulate information in ways that might otherwise be
`manipulate information in ways that might otherwise be
`impossible or impractical because of inherent limitations of
`impossible or impractical because of inherent limitations of
`the device. The disclosed techniques enable a wide variety
`the device. The disclosed techniques enable a wide variety
`of data manipulation operations to be performed on behalf of
`of data manipulation operations to be performed on behalf of
`the pervasive device, for a wide variety of content types. In
`the pervasive device, for a wide variety of content types. In
`preferred embodiments, no modifications or add-ons are
`preferred embodiments, no modifications or add-ons are
`required to the pervasive device.
`required to the pervasive device.
`
`57 Claims, 9 Drawing Sheets
`57 Claims, 9 Drawing Sheets
`
`110
`110
`
`World-Wide Web
`World-Wide Web
`
`CD
`CD
`
`0
`0
`
`150
`150
`
`170
`170
`
`Data
`Data
`Output
`Output
`Agent
`Agent
`
`140
`140
`File
`File
`Access
`Access
`Proxy
`Proxy
`
`P otocol
`P otocol
`Proxy
`Proxy
`
`120
`120
`....................................................
`....................................................
`
`160
`160
`
`Data
`Data
`Manipulation
`Manipulation
`Server
`Server
`
`0
`0
`
`12
`12
`
`WID
`WID
`
`130
`130
`
`Oracle Exhibit 1001, pg 1
`
`(cid:9)
`(cid:9)
`
`
`
`
`U.S. Patent (cid:9)U.S. Patent (cid:9)
`
`
`
`Aug. 2, 2005 Aug. 2, 2005
`
`
`
`Sheet 1 of 9 (cid:9)Sheet 1 of 9 (cid:9)
`
`
`
`US 6,925,481 B2 US 6,925,481 B2
`
`Oracle Exhibit 1001, pg 2
`
`(cid:9)
`(cid:9)
`
`
`
`
`U.S. Patent (cid:9)U.S. Patent (cid:9)
`
`
`
`Aug. 2, 2005 Aug. 2, 2005
`
`
`
`Sheet 2 of 9 (cid:9)Sheet 2 of 9 (cid:9)
`
`
`
`US 6,925,481 B2 US 6,925,481 B2
`
`Conference Room C
`Conference Room C
`
`
`
`< CO < CO
`
`
`U U
`
`O O
`
`
`
`/Mr /Mr
`
`
`0 0
`
`N t0 N t0
`
`
`
`O O
`
`
`
`O O
`
`
`kr) 0 IA kr) 0 IA
`
`sZ) Vie sZ) Vie
`
`N N N N N N
`
`Oracle Exhibit 1001, pg 3
`
`(cid:9)
`(cid:9)
`
`
`U.S. Patent (cid:9)
`U.S. Patent (cid:9)
`
`Aug. 2, 2005
`Aug. 2, 2005
`
`Sheet 3 of 9 (cid:9)
`Sheet 3 of 9 (cid:9)
`
`US 6,925,481 B2
`US 6,925,481 B2
`
`FIG. 3
`FIG. 3
`
`300
`300
`
`310
`310
`
`320
`320
`
`330
`330
`
`340
`340
`
`350
`350
`
`360
`360
`
`VVID Requests
`VVID Requests
`Data
`Data
`
`Request Routed to
`Request Routed to
`Corresponding
`Corresponding
`Protocol Proxy
`Protocol Proxy
`
`Forward
`Forward
`request to
`request to
`information source
`information source
`
`Receive
`Receive
`response from
`response from
`information source
`information source
`
`Obtain
`Obtain
`available service
`available service
`information
`information
`
`t
`t
`Format
`Format
`information to include
`information to include
`access to services
`access to services
`
`Forward
`Forward
`information to
`information to
`requesting WID
`requesting WID
`
`WI D receives
`WI D receives
`data and
`data and
`service information
`service information
`
`370
`370
`
`Oracle Exhibit 1001, pg 4
`
`(cid:9)
`(cid:9)
`
`
`
`
`U.S. Patent (cid:9)U.S. Patent (cid:9)
`
`
`
`Aug. 2, 2005 Aug. 2, 2005
`
`
`
`Sheet 4 of 9 (cid:9)Sheet 4 of 9 (cid:9)
`
`
`
`US 6,925,481 B2 US 6,925,481 B2
`
`Oracle Exhibit 1001, pg 5
`
`(cid:9)
`(cid:9)
`
`
`
`
`U.S. Patent (cid:9)U.S. Patent (cid:9)
`
`
`
`Aug. 2, 2005 Aug. 2, 2005
`
`
`
`Sheet 5 of 9 (cid:9)Sheet 5 of 9 (cid:9)
`
`
`
`US 6,925,481 B2 US 6,925,481 B2
`
`?url=http://www.reefedge.com
`?url=http://www.reefedge.com
`
`Oracle Exhibit 1001, pg 6
`
`
`
`
`
`U.S. Patent U.S. Patent
`
`
`
`Aug. 2, 2005 (cid:9)Aug. 2, 2005 (cid:9)
`
`
`
`Sheet 6 of 9 Sheet 6 of 9
`
`
`
`US 6,925,481 B2 US 6,925,481 B2
`
`Oracle Exhibit 1001, pg 7
`
`
`
`
`
`U.S. Patent U.S. Patent
`
`
`
`Aug. 2, 2005 (cid:9)Aug. 2, 2005 (cid:9)
`
`
`
`Sheet 7 of 9 Sheet 7 of 9
`
`
`
`US 6,925,481 B2 US 6,925,481 B2
`
`
`
`6 6
`
`Oracle Exhibit 1001, pg 8
`
`
`
`
`
`U.S. Patent (cid:9)U.S. Patent (cid:9)
`
`
`
`Aug. 2, 2005 Aug. 2, 2005
`
`
`
`Sheet 8 of 9 (cid:9)Sheet 8 of 9 (cid:9)
`
`
`
`US 6,925,481 B2 US 6,925,481 B2
`
`FIG. 6A
`FIG. 6A
`
`601 (cid:9)
`601 (cid:9)
`
`602 (cid:9)
`602 (cid:9)
`
`603 (cid:9)
`603 (cid:9)
`
`614
`614
`
`The ReefEdge Solution
`The ReefEdge Solution
`53th:dare hr Net:Jork .7_'03nriE,:tivity and EntErprvie
`53th:dare hr Net:Jork .7_'03nriE,:tivity and EntErprvie
`
`600
`600
`
`610
`610
`
`View Took 4=1
`View Took 4=1
`
`Oracle Exhibit 1001, pg 9
`
`(cid:9)
`(cid:9)
`
`
`
`
`U.S. Patent (cid:9)U.S. Patent (cid:9)
`
`
`
`Aug. 2, 2005 Aug. 2, 2005
`
`
`
`Sheet 9 of 9 (cid:9)Sheet 9 of 9 (cid:9)
`
`
`
`US 6,925,481 B2 US 6,925,481 B2
`
`
`
`FIG. 6E3 FIG. 6E3
`
`600
`600
`
`
`
`620 620
`
`.P.O..;:c. .IC .E.:. T.
`.P.O..;:c. .IC .E.:. T.
`MAP BLAST"
`MAP BLAST"
`, (cid:9)
`, (cid:9)
`•F*.toria.la 0 ti...i. riii4 14110•• ' YOti -NY
`•F*.toria.la 0 ti...i. riii4 14110•• ' YOti -NY
`• To,;. I titi4kiiiiii,"[Yr-Foit
`• To,;. I titi4kiiiiii,"[Yr-Foit
`L0.ttlj0*/te. .
`L0.ttlj0*/te. .
`rir:irip'F vslithaiddirrienni hig iiriiits A r •
`rir:irip'F vslithaiddirrienni hig iiriiits A r •
`
`
`les
`les
` iiziket ilEtiilik4.
` iiziket ilEtiilik4.
`l2;07.
`l2;07.
`d,ro (cid:9)
`d,ro (cid:9)
`i:r7.75.'
`i:r7.75.'
`-''''' (cid:9)
`-''''' (cid:9)
`:7. 171, • '
`:7. 171, • '
`I i • •.4=4-,,!.4'r;:t::
`I i • •.4=4-,,!.4'r;:t::
`
`.. ST:411
`.. ST:411
`:.
`:.
`
`Oracle Exhibit 1001, pg 10
`
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`
`
`US 6,925,481 B2
`US 6,925,481 B2
`
`1
`1
`TECHNIQUE FOR ENABLING REMOTE
`TECHNIQUE FOR ENABLING REMOTE
`
`DATA ACCESS AND MANIPULATION FROM DATA ACCESS AND MANIPULATION FROM
`
`A PERVASIVE DEVICE A PERVASIVE DEVICE
`
`
`
`FIELD OF THE INVENTION FIELD OF THE INVENTION
`
`
`The present invention relates to pervasive computing, and The present invention relates to pervasive computing, and
`
`more particularly to methods, systems, and computer pro-more particularly to methods, systems, and computer pro-
`
`gram instructions for enabling users of pervasive devices gram instructions for enabling users of pervasive devices
`
`(such as limited-function mobile devices, smart appliances, (such as limited-function mobile devices, smart appliances,
`
`etc.) to remotely access and manipulate information in ways etc.) to remotely access and manipulate information in ways
`
`that might otherwise be impossible or impractical because of that might otherwise be impossible or impractical because of
`
`inherent limitations of the device. inherent limitations of the device.
`
`
`
`BACKGROUND OF THE INVENTION BACKGROUND OF THE INVENTION
`
`
`
`10 10
`
`
`
`15 15
`
`
`2 2
`
`intensive presentations (where it might be desirable, for intensive presentations (where it might be desirable, for
`
`example, to re-order the slides within a presentation). example, to re-order the slides within a presentation).
`
`Second, the device typically does not have the software Second, the device typically does not have the software
`
`required to access all of the data that the user might wish to required to access all of the data that the user might wish to
`
`5 use. For example, most pervasive devices are unable to run 5 use. For example, most pervasive devices are unable to run
`
`common software applications such as Microsoft® Word or common software applications such as Microsoft® Word or
`
`Microsoft® Powerpoint. ("Microsoft" is a registered trade-Microsoft® Powerpoint. ("Microsoft" is a registered trade-
`
`mark of Microsoft Corporation.) Some pervasive devices, mark of Microsoft Corporation.) Some pervasive devices,
`
`such as two-way pagers from Research In Motion ("RIM"), such as two-way pagers from Research In Motion ("RIM"),
`
`do not usually have a Web browser installed, and therefore do not usually have a Web browser installed, and therefore
`
`the user cannot render data formatted as Web documents. the user cannot render data formatted as Web documents.
`
`Third, the device often does not have the necessary drivers Third, the device often does not have the necessary drivers
`
`installed with which to support all the data manipulation installed with which to support all the data manipulation
`
`operations the user might wish to perform. For example, operations the user might wish to perform. For example,
`
`pervasive devices typically do not have drivers to support pervasive devices typically do not have drivers to support
`
`operations such as printing and faxing. Similarly, pervasive operations such as printing and faxing. Similarly, pervasive
`
`devices typically do not have drivers for video graphics devices typically do not have drivers for video graphics
`
`array ("VGA") adapters that would enable the device to array ("VGA") adapters that would enable the device to
`
`display content to a projector (such as a liquid crystal display content to a projector (such as a liquid crystal
`
`display, or "LCD," projector). display, or "LCD," projector).
`
`Some pervasive devices would not be considered as Some pervasive devices would not be considered as
`
`limited in function, although they may suffer from some of limited in function, although they may suffer from some of
`
`the drawbacks of limited-function devices such as poor the drawbacks of limited-function devices such as poor
`
`ease-of-use (having, for example, a small screen size). ease-of-use (having, for example, a small screen size).
`
`Examples include the Compaq iPAQ Home Internet Appli-Examples include the Compaq iPAQ Home Internet Appli-
`
`ance IA-1 and the AudreyTM home appliance from 3Com ance IA-1 and the AudreyTM home appliance from 3Com
`
`Corporation. ("Audrey" is a trademark of 3Com Corporation. ("Audrey" is a trademark of 3Com
`
`Corporation.) The term "Wireless Information Device", or Corporation.) The term "Wireless Information Device", or
`
`"WID", will be used hereinafter to refer to this type of "WID", will be used hereinafter to refer to this type of
`
`pervasive device as well as limited-function pervasive pervasive device as well as limited-function pervasive
`
`devices. (This term recognizes the fact that both the limited-devices. (This term recognizes the fact that both the limited-
`
`function and full-function pervasive computing devices function and full-function pervasive computing devices
`
`typically communicate using wireless communication tech-typically communicate using wireless communication tech-
`
`niques and protocols, such as 802.11, Bluetooth, and so niques and protocols, such as 802.11, Bluetooth, and so
`
`forth.) forth.)
`
`Various attempts have been made to address the limita-Various attempts have been made to address the limita-
`
`tions of WIDs; however, existing approaches fail to provide tions of WIDs; however, existing approaches fail to provide
`
`a satisfactory solution. a satisfactory solution.
`
`One existing approach to addressing the limitations of One existing approach to addressing the limitations of
`
`WIDs involves the technique of "transcoding" content into WIDs involves the technique of "transcoding" content into
`
`a form that is better suited for the WID. Products such as the a form that is better suited for the WID. Products such as the
`
`WebSphere® Transcoding Publisher from International WebSphere® Transcoding Publisher from International
`
`Business Machines ("IBM") Corporation and Spyglass Business Machines ("IBM") Corporation and Spyglass
`
`Prism from Open TV, Inc. represent examples of this class Prism from Open TV, Inc. represent examples of this class
`
`of solution. ("WebSphere" is a registered trademark of of solution. ("WebSphere" is a registered trademark of
`
`IBM.) Through transcoding, the content is programmatically IBM.) Through transcoding, the content is programmatically
`
`manipulated for a target device. For example, the transcod-manipulated for a target device. For example, the transcod-
`
`ing process may enable the content to be rendered effectively ing process may enable the content to be rendered effectively
`
`on a small-screen device (perhaps by altering font size, on a small-screen device (perhaps by altering font size,
`
`removing image files, and so forth). Typically, a "transcod-removing image files, and so forth). Typically, a "transcod-
`
`ing engine" located on a server or network device receives ing engine" located on a server or network device receives
`
`the content in its original form, performs a conversion the content in its original form, performs a conversion
`
`process, and delivers the renderable format to the client process, and delivers the renderable format to the client
`
`device. However, these transcoding solutions only address device. However, these transcoding solutions only address
`
`the need to view content: they do not provide a capability to the need to view content: they do not provide a capability to
`
`manipulate the content from the WID. For example, the manipulate the content from the WID. For example, the
`
`transcoding process does not enable the WID to e-mail, fax, transcoding process does not enable the WID to e-mail, fax,
`
`print, or project the content. print, or project the content.
`
`Another approach to addressing the limitations of WIDs Another approach to addressing the limitations of WIDs
`
`involves supplementing the capabilities of the WID through involves supplementing the capabilities of the WID through
`
`the deployment of hardware adapters or software. For the deployment of hardware adapters or software. For
`
`example, a special-purpose attachment (known as a "Spring-example, a special-purpose attachment (known as a "Spring-
`
`boards TM" module) may be plugged into a Handspring Visor boards TM" module) may be plugged into a Handspring Visor
`
`device to enable the device to perform additional functions device to enable the device to perform additional functions
`
`such as viewing and projecting Microsoft PowerPoint files. such as viewing and projecting Microsoft PowerPoint files.
`
`("Springboard" is a trademark of Handspring.) The ("Springboard" is a trademark of Handspring.) The
`
`Presenter-to-Go TM module from Margi Systems, Inc. is one Presenter-to-Go TM module from Margi Systems, Inc. is one
`
`
`Pervasive devices (also referred to as "pervasive comput-Pervasive devices (also referred to as "pervasive comput-
`
`ing devices") have become popular in recent years as people ing devices") have become popular in recent years as people
`
`increasingly seek "anywhere, anytime" access to services increasingly seek "anywhere, anytime" access to services
`
`such as voice and data communications. Many pervasive 20 such as voice and data communications. Many pervasive 20
`
`devices are designed to be mobile, and may equivalently be devices are designed to be mobile, and may equivalently be
`
`referred to as "mobile devices" or "mobile computing referred to as "mobile devices" or "mobile computing
`
`devices". Examples of mobile pervasive devices range from devices". Examples of mobile pervasive devices range from
`
`two-way pagers to personal digital assistants, or "PDAs" two-way pagers to personal digital assistants, or "PDAs"
`
`(such as the Palm Pilot, Handspring VisorTM, or Compaq 25 (such as the Palm Pilot, Handspring VisorTM, or Compaq 25
`
`iPAQ) to cellular phones (such as the Nokia 6110) to iPAQ) to cellular phones (such as the Nokia 6110) to
`
`multi-function devices (such as the Nokia 9110 or Qual-multi-function devices (such as the Nokia 9110 or Qual-
`
`comm "pdQTM" smartphone). ("Visor" is a trademark of comm "pdQTM" smartphone). ("Visor" is a trademark of
`
`Handspring, and "pdQ" is a trademark of QUALCOMM Handspring, and "pdQ" is a trademark of QUALCOMM
`
`Incorporated.) All pervasive devices are not necessarily 30 Incorporated.) All pervasive devices are not necessarily 30
`
`mobile, however. Examples of this latter category include mobile, however. Examples of this latter category include
`
`smart appliances for the home or business setting, devices smart appliances for the home or business setting, devices
`
`which are permanently mounted in automobiles, and so which are permanently mounted in automobiles, and so
`
`forth. forth.
`
` 35 35
`
`Pervasive devices typically share several common char- Pervasive devices typically share several common char-
`
`acteristics: acteristics:
`
`1) limited processor speed; 1) limited processor speed;
`
`2) limited memory capacity; 2) limited memory capacity;
`
`3) small size, which limits the richness of the data input 40 3) small size, which limits the richness of the data input 40
`
`and output interfaces (for example, small screen, limited and output interfaces (for example, small screen, limited
`
`keypad, and so forth); keypad, and so forth);
`
`4) a limited amount of software pre-installed on the 4) a limited amount of software pre-installed on the
`
`device; and device; and
`
`5) access to limited-bandwidth networks. (cid:9)5) access to limited-bandwidth networks. (cid:9)
`
`The inherent drawbacks of these characteristics are fur-The inherent drawbacks of these characteristics are fur-
`
`ther exacerbated by: ther exacerbated by:
`
`1) the need to maximize the device's relatively short 1) the need to maximize the device's relatively short
`
`battery life—which in turn prevents additional processor 50 battery life—which in turn prevents additional processor 50
`
`power or memory capacity from being added to the device; power or memory capacity from being added to the device;
`
`and and
`
`2) the need to simplify use of the device—which in turn 2) the need to simplify use of the device—which in turn
`
`reduces the desirability of supporting an "open" software reduces the desirability of supporting an "open" software
`
`installation platform in which arbitrary software packages 55 installation platform in which arbitrary software packages 55
`
`might be added. might be added.
`
`As people rely on pervasive devices for day-to-day infor-As people rely on pervasive devices for day-to-day infor-
`
`mation access tasks, they find that the experience can be mation access tasks, they find that the experience can be
`
`extremely limiting. While pervasive devices vary widely in extremely limiting. While pervasive devices vary widely in
`
`functionality and in their capabilities, some general obser- 60 functionality and in their capabilities, some general obser- 60
`
`vations for an average pervasive device can be made. First, vations for an average pervasive device can be made. First,
`
`the device typically does not have sufficient memory to store the device typically does not have sufficient memory to store
`
`all of the information that the user requires. Indeed, most of all of the information that the user requires. Indeed, most of
`
`a user's files or data are normally stored on a desktop a user's files or data are normally stored on a desktop
`
`personal computer ("PC"), laptop, or corporate server. 65 personal computer ("PC"), laptop, or corporate server. 65
`
`Moreover, the device's memory limitations often prevent the Moreover, the device's memory limitations often prevent the
`
`user from manipulating large files, such as graphics- user from manipulating large files, such as graphics-
`
`
`
`45 45
`
`Oracle Exhibit 1001, pg 11
`
`
`
`US 6,925,481 B2
`US 6,925,481 B2
`
`3
`3
`instance of such an attachment. ("Presenter-to-Go" is a
`instance of such an attachment. ("Presenter-to-Go" is a
`trademark of Margi Systems, Inc.) As another example,
`trademark of Margi Systems, Inc.) As another example,
`software may be installed on a Microsoft Pocket PC device
`software may be installed on a Microsoft Pocket PC device
`to enable the device to print Microsoft Word files to a limited
`to enable the device to print Microsoft Word files to a limited
`set of printers. The PrintPocketCE software from FieldSoft- 5
`set of printers. The PrintPocketCE software from FieldSoft- 5
`ware Products is one instance of such a software product.
`ware Products is one instance of such a software product.
`However, these client-centric add-on approaches increase
`However, these client-centric add-on approaches increase
`the cost of the WID solution significantly and sometimes far
`the cost of the WID solution significantly and sometimes far
`exceed the cost of the WID itself. They also require addi-
`exceed the cost of the WID itself. They also require addi-
`tional power, effectively reducing the WID's available bat- 10
`tional power, effectively reducing the WID's available bat- 10
`tery life. Each add-on solution typically supports only a
`tery life. Each add-on solution typically supports only a
`single data manipulation option (or a very limited set of
`single data manipulation option (or a very limited set of
`options), for only a limited set of file formats (or in some
`options), for only a limited set of file formats (or in some
`cases, for a single file format). Several different add-ons may
`cases, for a single file format). Several different add-ons may
`therefore be needed to enable a WID to meet a particular 15
`therefore be needed to enable a WID to meet a particular 15
`user's requirements. An additional disadvantage of this
`user's requirements. An additional disadvantage of this
`approach is that the extra hardware is often bulky and
`approach is that the extra hardware is often bulky and
`inconvenient to carry, whereas additional software often
`inconvenient to carry, whereas additional software often
`requires a complex installation process by end-users, con-
`requires a complex installation process by end-users, con-
`sumes valuable memory on the WID, and may not interop- 20
`sumes valuable memory on the WID, and may not interop- 20
`erate effectively with existing software loaded on the WID.
`erate effectively with existing software loaded on the WID.
`Therefore, what is needed is a technique for enabling
`Therefore, what is needed is a technique for enabling
`WIDs to access and manipulate data that avoids the limita-
`WIDs to access and manipulate data that avoids the limita-
`tions of the prior art.
`tions of the prior art.
`
`SUMMARY OF THE INVENTION
`SUMMARY OF THE INVENTION
`
`The present invention is directed to methods, systems, and
`The present invention is directed to methods, systems, and
`computer program instructions for enabling wireless infor-
`computer program instructions for enabling wireless infor-
`mation devices to access and manipulate data. The data
`mation devices to access and manipulate data. The data
`being accessed may reside on a Web server, a file server, a
`being accessed may reside on a Web server, a file server, a
`personal desktop PC, or elsewhere. The data may represent
`personal desktop PC, or elsewhere. The data may represent
`virtually any type of information, including Web content,
`virtually any type of information, including Web content,
`e-mail messages, or files in various formats. The data
`e-mail messages, or files in various formats. The data
`manipulation operations that are provided through use of the
`manipulation operations that are provided through use of the
`present invention may include viewing, faxing, printing, and
`present invention may include viewing, faxing, printing, and
`projecting the data, as well as delivering the data to a voice
`projecting the data, as well as delivering the data to a voice
`messaging system.
`messaging system.
`Note that the discussion herein is primarily in terms of a
`Note that the discussion herein is primarily in terms of a
`limited set of data manipulation tasks or operations. These
`limited set of data manipulation tasks or operations. These
`operations are discussed for purposes of illustration, and not
`operations are discussed for purposes of illustration, and not
`of limitation. Many other manipulation operations might be
`of limitation. Many other manipulation operations might be
`provided in an implementation of the present invention,
`provided in an implementation of the present invention,
`including modifying or changing data in some way; con-
`including modifying or changing data in some way; con-
`verting data from one format to another; transferring data
`verting data from one format to another; transferring data
`from one device to another (e.g. to a remote file server for
`from one device to another (e.g. to a remote file server for
`storage); publishing the data to a Web site; importing data
`storage); publishing the data to a Web site; importing data
`(including a file or document) into a repository; disseminat-
`(including a file or document) into a repository; disseminat-
`ing data to one or more recipients (such as by sending e-mail
`ing data to one or more recipients (such as by sending e-mail
`messages); attaching data to a workflow message; control-
`messages); attaching data to a workflow message; control-
`ling a remote application (such as launching and paging
`ling a remote application (such as launching and paging
`through a remotely hosted PowerPoint presentation); and so
`through a remotely hosted PowerPoint presentation); and so
`forth.
`forth.
`Enabling WIDs to easily access a wide variety of types of
`Enabling WIDs to easily access a wide variety of types of
`data and to initiate a wide variety of manipulations on that
`data and to initiate a wide variety of manipulations on that
`data in an efficient, cost-effective manner—in spite of the
`data in an efficient, cost-effective manner—in spite of the
`device's inherent limitations (such as limited processor
`device's inherent limitations (such as limited processor
`capacity, limited embedded software, and/or limited band-
`capacity, limited embedded software, and/or limited band-
`width capability)—is a primary objective of the present
`width capability)—is a primary objective of the present
`invention.
`invention.
`In preferred embodiments, the techniques of the present
`In preferred embodiments, the techniques of the present
`invention provide these advantages without requiring the
`invention provide these advantages without requiring the
`installation of new software or hardware on the WID, in a
`installation of new software or hardware on the WID, in a
`manner that is easily extensible to support new manipulation
`manner that is easily extensible to support new manipulation
`operations and new data types.
`operations and new data types.
`Objectives of the present invention are realized by a
`Objectives of the present invention are realized by a
`solution that comprises one or more proxies, zero or more
`solution that comprises one or more proxies, zero or more
`
`25
`25
`
`30
`30
`
`35
`35
`
`40
`40
`
`45
`45
`
`50
`50
`
`55
`55
`
`60
`60
`
`65
`65
`
`4
`4
`agents, and a data manipulation server (hereinafter, "DMS").
`agents, and a data manipulation server (hereinafter, "DMS").
`The DMS provides information about what services may be
`The DMS provides information about what services may be
`performed, and how to invoke those services. The DMS also
`performed, and how to invoke those services. The DMS also
`performs operations on behalf of the WID, in cooperation
`performs operations on behalf of the WID, in cooperation
`with the proxies and the agents. In preferred embodiments,
`with the proxies and the agents. In preferred embodiments,
`the proxies, agents, and DMS are not located within the
`the proxies, agents, and DMS are not located within the
`WID, but instead are accessed by sending one or more
`WID, but instead are accessed by sending one or more
`request messages from the WID. This solution enables the
`request messages from the WID. This solution enables the
`WID's capabilities to be augmented in a very flexible yet
`WID's capabilities to be augmented in a very flexible yet
`powerful and cost-effective manner, without requiring any
`powerful and cost-effective manner, without requiring any
`modifications to be made to the WID itself.
`modifications to be made to the WID itself.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 provides a block diagram which depicts an archi-
`FIG. 1 provides a block diagram which depicts an archi-
`tecture and components of a preferred embodiment of the
`tecture and components of a preferred embodiment of the
`present invention;
`present invention;
`FIGS. 2A and 2B illustrate examples of a table in which
`FIGS. 2A and 2B illustrate examples of a table in which
`information about available data access and/or manipulation
`information about available data access and/or manipulation
`services is stored, according to a preferred embodiment of
`services is stored, according to a preferred embodiment of
`the present invention;
`the present invention;
`FIG. 3 provides a flowchart that depicts logic with which
`FIG. 3 provides a flowchart that depicts logic with which
`a WID accesses data and receives information about what
`a WID accesses data and receives information about what
`manipulation operations are available on that data, accord-
`manipulation operations are available on that data, accord-
`ing to a preferred embodiment of the present invention;
`ing to a preferred embodiment of the present invention;
`FIG. 4 provides a flowchart that depicts logic with which
`FIG. 4 provides a flowchart that depicts logic with which
`a WID requests a manipulation service upon data it has
`a WID requests a manipulation service upon data it has
`accessed, and with which that service is performed, accord-
`accessed, and with which that service is performed, accord-
`ing to a preferred embodiment of the present invention;
`ing to a preferred embodiment of the present invention;
`FIGS. 5A-5I provide syntax examples that are used in
`FIGS. 5A-5I provide syntax examples that are used in
`describing operation of a preferred embodiment of the
`describing operation of a preferred embodiment of the
`present invention; and
`present invention; and
`FIGS. 6A and 6B illustrate samples of graphical user
`FIGS. 6A and 6B illustrate samples of graphical user
`interface ("GUI") displays that may be used to display
`interface ("GUI") displays that may be used to display
`available service information, according to the present
`available service information, according to the present
`invention.
`invention.
`
`DETAILED DESCRIPTION OF PREFERRED
`DETAILED DESCRIPTION OF PREFERRED
`EMBODIMENT
`EMBODIMENT
`
`The present invention will now be described more fully
`The present invention will now be described more fully
`hereinafter with reference to the accompanying drawings, in
`hereinafter with reference to the accompanying drawings, in
`which a preferred embodiment of the invent