`
`(12) United States Patent (cid:9)
`Singhal et al. (cid:9)
`
`(54)
`
`(75)
`
`TECHNIQUE FOR ENABLING REMOTE
`DATA ACCESS AND MANIPULATION FROM
`A PERVASIVE DEVICE
`
`Inventors: Sandeep Kishan Singhal, Englewood
`Cliffs, NJ (US); Barry Eliot Levinson,
`New York, NY (US); Darren Michael
`Sanders, Nanuet, NY (US)
`
`Assignee: Symantec Corporation, Cupertino, CA
`(US)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 246 days.
`
`This patent is subject to a terminal dis-
`claimer.
`
`(21) Appl. No.: 11/075,437
`
`(22) Filed: (cid:9)
`
`Mar. 7, 2005
`
`(65) (cid:9)
`
`Prior Publication Data
`
`US 2005/0216492 Al (cid:9)
`
`Sep. 29, 2005
`
`Related U.S. Application Data
`
`(63) Continuation of application No. 09/848,394, filed on
`May 3, 2001, now Pat. No. 6,925,481.
`
`(51) Int. Cl.
`GO6F 15/16
`
`(2006.01)
`
`110
`
`World-Wide Web
`
`140
`L.
`File
`Access
`Proxy
`
`(10) Patent No.: (cid:9)
`(45) Date of Patent: (cid:9)
`
`US 7,254,621 B2
`*Aug. 7, 2007
`
`(52) (cid:9) U.S. Cl.
`(58) (cid:9) Field of Classification Search
`
`(cid:9) 709/218; 709/217
`(cid:9) 709/200-203,
`709/217-227
`See application file for complete search history.
`
`(56) (cid:9)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`6,640,106 B2 * 10/2003 Gutowski et al. (cid:9)
`6,765,596 B2
`7/2004 Lection et al.
`6,816,719 B1
`11/2004 Heinonen et al.
`2002/0065110 Al*
`5/2002 Enns et al.
`2002/0102965 Al *
`8/2002 Mandahl et al. (cid:9)
`2004/0194014 Al* 9/2004 Anwar
`2005/0113139 Al *
`5/2005 Boss et al. (cid:9)
`
` 455/456.1
`
` 455/566
` 455/412
` 715/500
` 455/558
`
`* cited by examiner
`
`Primary Examiner Moustafa M. Meky
`(74) Attorney, Agent, or Firm (cid:9) Fenwick & West LLP
`
`(57) (cid:9)
`
`ABSTRACT
`
`Methods, systems, and computer program instructions for
`enabling users of pervasive devices to remotely access and
`manipulate information in ways that might otherwise be
`impossible or impractical because of inherent limitations of
`the device. The disclosed techniques enable a wide variety
`of data manipulation operations to be performed on behalf of
`the pervasive device, for a wide variety of content types. In
`preferred embodiments, no modifications or add-ons are
`required to the pervasive device.
`
`24 Claims, 9 Drawing Sheets
`
`150
`
`170
`
`Data
`Output
`Agent
`
`...
`
`........
`
`........ lib
`
`160
`
`Data
`Manipulation
`Server
`
`Protocol
`Proxy
`
`WI D
`
`130
`
`Oracle Exhibit 1001, page 1
`
`(cid:9)
`
`
`U.S. Patent (cid:9)
`
`Aug. 7, 2007
`
`Sheet 1 of 9 (cid:9)
`
`US 7,254,621 B2
`
`•
`
`V
`
`cW
`
`Oracle Exhibit 1001, page 2
`
`(cid:9)
`
`
`U.S. Patent (cid:9)
`
`Aug. 7, 2007
`
`Sheet 2 of 9 (cid:9)
`
`US 7,254,621 B2
`
` C
`Room
`
`ce
`feren
`Con
`
`co
`
`0
`0
`
`ti
`
`=.-
`as
`g tux E
`6 4—
`
`15
`ID CD CD
`CO U) Cf)
`C C
`O 0 0
`as CO aS
`(:). • .0. :0_
`co CO co E • E
`
`2 2
`co co
`as
`CO CO Ts
`a CI a
`
`O
`
`E
`
`c
`
`e
`0
`ig
`
`convert to WBXML
`
`O
`
`O
`
`J
`• 2 co
`X X <
`
`ft) C) ty.
`N N N
`
`Oracle Exhibit 1001, page 3
`
`(cid:9)
`
`
`U.S. Patent (cid:9)
`
`Aug. 7, 2007
`
`Sheet 3 of 9 (cid:9)
`
`US 7,254,621 B2
`
`FIG. 3
`
`INID Requests
`Data
`
`Request Routed to
`Corresponding
`Protocol Proxy
`
`Forward
`request to
`information source
`
`Receive
`response from
`information source
`
`Obtain
`available service
`information
`
`Format
`information to include
`access to services
`
`Forward
`information to
`requesting \MD
`
`00
`
`10
`
`320
`
`330
`
`340
`
`350
`
`360
`
`WD receives
`data and
`service information
`
`370
`
`Oracle Exhibit 1001, page 4
`
`(cid:9)
`
`
`U.S. Patent (cid:9)
`
`Aug. 7, 2007
`
`Sheet 4 of 9 (cid:9)
`
`US 7,254,621 B2
`
`Oracle Exhibit 1001, page 5
`
`(cid:9)
`
`
`U.S. Patent (cid:9)
`
`Aug. 7, 2007
`
`Sheet 5 of 9 (cid:9)
`
`US 7,254,621 B2
`
`http://DataManipulationServer/print?url=http://vwwv.reefedge.com
`
`U
`in
`
`r..
`
`?uri=http://www.reefedge.corn
`
`http://DataManipulationServer/print
`
`Oracle Exhibit 1001, page 6
`
`(cid:9)
`
`
`U.S. Patent
`
`Aug. 7, 2007 (cid:9)
`
`Sheet 6 of 9
`
`US 7,254,621 B2
`
`C)
`0
`1:3
`
`0 0.
`E 8...
`
`?cookie=acct_nbr:123456
`
`co p w 0
`U < 0 cp
`
`0
`0
`U
`
`--.
`6-
`L
`0
`co
`w
`C
`I I
`ig
`CD
`'0
`06
`0
`0
`13
`
`0
`0_
`E
`1-.-.. cu
`L w
`co it.
`II ci)
`g co
`Q)
`L
`a)
`
`cr)
`C
`0
`co
`
`a _ c co
`2 co
`76
`0
`6_ z
`
`http://DataManipulationServer/print?file=//fileServer/report.doc
`
`Oracle Exhibit 1001, page 7
`
`(cid:9)
`(cid:9)
`
`
`U.S. Patent (cid:9)
`
`Aug. 7, 2007 (cid:9)
`
`Sheet 7 of 9
`
`US 7,254,621 B2
`
`http://DataManipulationServer/view?file=//fileServer/report.doc&template=segment
`
`http://DataManipulationServer/email?msg=//mailServer/ msg98765.txt&dest=lucy@ricardo.com
`
`http://DataManipulationServer/email
`
`0
`Lo
`
`Oracle Exhibit 1001, page 8
`
`(cid:9)
`
`
`U.S. Patent (cid:9)
`
`Aug. 7, 2007
`
`Sheet 8 of 9 (cid:9)
`
`US 7,254,621 B2
`
`FIG. 6A
`
`601 (cid:9)
`
`602 (cid:9)
`
`603 (cid:9)
`
`6,4
`
`The ReefEdge Solution
`
`Edo ti,....a rE for klEtvicark Go n nactivi ty a rid En tErprise_
`
`600
`
`610
`
`Oracle Exhibit 1001, page 9
`
`(cid:9)
`
`
`U.S. Patent (cid:9)
`
`Aug. 7, 2007
`
`Sheet 9 of 9 (cid:9)
`
`US 7,254,621 B2
`
`FIG. 6B
`
`601
`
`603
`
`1/192.168.1.10/re
`
`600
`
`620
`
`MAP BLAST!
`From: La Guardia New York, NY
`To: 2 Executive Dr Fort Lee, NJ 07024-3308
`Your trip's estimated travel time is 18 minutes For
`12,07 miles of travel,
`
`b k
`
`J.
`
`get (cid:9)
`
`get I•6 (cid:9)
`
`MPVIILAI5T:41
`iLek.,
`
`Oracle Exhibit 1001, page 10
`
`(cid:9)
`
`
`US 7,254,621 B2
`
`1
`TECHNIQUE FOR ENABLING REMOTE
`DATA ACCESS AND MANIPULATION FROM
`A PERVASIVE DEVICE
`
`CROSS-REFERENCE TO RELATED (cid:9)
`APPLICATION
`
`5
`
`This application is a continuation of prior application Ser.
`No. 09/848,394, filed May 3, 2001, which is hereby incor-
`porated herein by reference, now U.S. Pat. No. 6,925,481. 10
`
`FIELD OF THE INVENTION
`
`The present invention relates to pervasive computing, and
`more particularly to methods, systems, and computer pro-
`15
`gram instructions for enabling users of pervasive devices
`(such as limited-function mobile devices, smart appliances,
`etc.) to remotely access and manipulate information in ways
`that might otherwise be impossible or impractical because of
`inherent limitations of the device. (cid:9)
`
`20
`
`BACKGROUND OF THE INVENTION
`
`Pervasive devices (also referred to as "pervasive comput-
`ing devices") have become popular in recent years as people 25
`increasingly seek "anywhere, anytime" access to services
`such as voice and data communications. Many pervasive
`devices are designed to be mobile, and may equivalently be
`referred to as "mobile devices" or "mobile computing
`devices". Examples of mobile pervasive devices range from 30
`two-way pagers to personal digital assistants, or "PDAs"
`(such as the Palm Pilot, Handspring VisorTM, or Compaq
`iPAQ) to cellular phones (such as the Nokia 6110) to
`multi-function devices (such as the Nokia 9110 or Qual-
`comm "pdQTM" smartphone). ("Visor" is a trademark of 35
`Handspring, and "pdQ" is a trademark of QUALCOMM
`Incorporated.) All pervasive devices are not necessarily
`mobile, however. Examples of this latter category include
`smart appliances for the home or business setting, devices
`which are permanently mounted in automobiles, and so 40
`forth.
`Pervasive devices typically share several common char-
`acteristics:
`1) limited processor speed;
`2) limited memory capacity; (cid:9)
`3) small size, which limits the richness of the data input
`and output interfaces (for example, small screen, limited
`keypad, and so forth);
`4) a limited amount of software pre-installed on the
`device; and (cid:9)
`5) access to limited-bandwidth networks.
`The inherent drawbacks of these characteristics are fur-
`ther exacerbated by:
`1) the need to maximize the device's relatively short
`battery life (cid:9) which in turn prevents additional processor 55
`power or memory capacity from being added to the device;
`and
`2) the need to simplify use of the device (cid:9) which in turn
`reduces the desirability of supporting an "open" software
`installation platform in which arbitrary software packages 6o
`might be added.
`As people rely on pervasive devices for day-to-day infor-
`mation access tasks, they find that the experience can be
`extremely limiting. While pervasive devices vary widely in
`functionality and in their capabilities, some general obser- 65
`vations for an average pervasive device can be made. First,
`the device typically does not have sufficient memory to store
`
`45
`
`50
`
`2
`all of the information that the user requires. Indeed, most of
`a user's files or data are normally stored on a desktop
`personal computer ("PC"), laptop, or corporate server.
`Moreover, the device's memory limitations often prevent the
`user from manipulating large files, such as graphics-inten-
`sive presentations (where it might be desirable, for example,
`to re-order the slides within a presentation). Second, the
`device typically does not have the software required to
`access all of the data that the user might wish to use. For
`example, most pervasive devices are unable to run common
`software applications such as Microsoft® Word or
`Microsoft® Powerpoint. ("Microsoft" is a registered trade-
`mark of Microsoft Corporation.) Some pervasive devices,
`such as two-way pagers from Research In Motion ("RIM"),
`do not usually have a Web browser installed, and therefore
`the user cannot render data formatted as Web documents.
`Third, the device often does not have the necessary drivers
`installed with which to support all the data manipulation
`operations the user might wish to perform. For example,
`pervasive devices typically do not have drivers to support
`operations such as printing and faxing. Similarly, pervasive
`devices typically do not have drivers for video graphics
`array ("VGA") adapters that would enable the device to
`display content to a projector (such as a liquid crystal
`display, or "LCD," projector).
`Some pervasive devices would not be considered as
`limited in function, although they may suffer from some of
`the drawbacks of limited-function devices such as poor
`ease-of-use (having, for example, a small screen size).
`Examples include the Compaq iPAQ Home Internet Appli-
`ance IA-1 and the AudreyTM home appliance from 3Com
`Corporation. ("Audrey" is a trademark of 3Com Corpora-
`tion.) The term "Wireless Information Device", or "WID",
`will be used hereinafter to refer to this type of pervasive
`device as well as limited-function pervasive devices. (This
`term recognizes the fact that both the limited-function and
`full-function pervasive computing devices typically com-
`municate using wireless communication techniques and
`protocols, such as 802.11, Bluetooth, and so forth.)
`Various attempts have been made to address the limita-
`tions of WIDs; however, existing approaches fail to provide
`a satisfactory solution.
`One existing approach to addressing the limitations of
`WIDs involves the technique of "transcoding" content into
`a form that is better suited for the WID. Products such as the
`WebSphere® Transcoding Publisher from International
`Business Machines ("IBM") Corporation and Spyglass
`Prism from Open TV, Inc. represent examples of this class
`of solution. ("WebSphere" is a registered trademark of
`IBM.) Through transcoding, the content is programmatically
`manipulated for a target device. For example, the transcod-
`ing process may enable the content to be rendered effectively
`on a small-screen device (perhaps by altering font size,
`removing image files, and so forth). Typically, a "transcod-
`ing engine" located on a server or network device receives
`the content in its original form, performs a conversion
`process, and delivers the renderable format to the client
`device. However, these transcoding solutions only address
`the need to view content: they do not provide a capability to
`manipulate the content from the WID. For example, the
`transcoding process does not enable the WID to e-mail, fax,
`print, or project the content.
`Another approach to addressing the limitations of WIDs
`involves supplementing the capabilities of the WID through
`the deployment of hardware adapters or software. For
`example, a special-purpose attachment (known as a "Spring-
`boardTM" module) may be plugged into a Handspring Visor
`
`Oracle Exhibit 1001, page 11
`
`
`
`US 7,254,621 B2
`
`3
`device to enable the device to perform additional functions
`such as viewing and projecting Microsoft PowerPoint files.
`("Springboard" is a trademark of Handspring.) The Pre-
`senter-to-GoTM module from Margi Systems, Inc. is one
`instance of such an attachment. ("Presenter-to-Go" is a 5
`trademark of Margi Systems, Inc.) As another example,
`software may be installed on a Microsoft Pocket PC device
`to enable the device to print Microsoft Word files to a limited
`set of printers. The PrintPocketCE software from FieldSoft-
`ware Products is one instance of such a software product. 10
`However, these client-centric add-on approaches increase
`the cost of the WID solution significantly and sometimes far
`exceed the cost of the WID itself. They also require addi-
`tional power, effectively reducing the WID's available bat-
`tery life. Each add-on solution typically supports only a 15
`single data manipulation option (or a very limited set of
`options), for only a limited set of file formats (or in some
`cases, for a single file format). Several different add-ons may
`therefore be needed to enable a WID to meet a particular
`user's requirements. An additional disadvantage of this 20
`approach is that the extra hardware is often bulky and
`inconvenient to carry, whereas additional software often
`requires a complex installation process by end-users, con-
`sumes valuable memory on the WID, and may not interop-
`erate effectively with existing software loaded on the WID. 25
`Therefore, what is needed is a technique for enabling
`WIDs to access and manipulate data that avoids the limita-
`tions of the prior art.
`
`SUMMARY OF THE INVENTION (cid:9)
`
`30
`
`The present invention is directed to methods, systems, and
`computer program instructions for enabling wireless infor-
`mation devices to access and manipulate data. The data
`being accessed may reside on a Web server, a file server, a 35
`personal desktop PC, or elsewhere. The data may represent
`virtually any type of information, including Web content,
`e-mail messages, or files in various formats. The data
`manipulation operations that are provided through use of the
`present invention may include viewing, faxing, printing, and 40
`projecting the data, as well as delivering the data to a voice
`messaging system.
`Note that the discussion herein is primarily in terms of a
`limited set of data manipulation tasks or operations. These
`operations are discussed for purposes of illustration, and not 45
`of limitation. Many other manipulation operations might be
`provided in an implementation of the present invention,
`including modifying or changing data in some way; con-
`verting data from one format to another; transferring data
`from one device to another (e.g. to a remote file server for 50
`storage); publishing the data to a Web site; importing data
`(including a file or document) into a repository; disseminat-
`ing data to one or more recipients (such as by sending e-mail
`messages); attaching data to a workflow message; control-
`ling a remote application (such as launching and paging 55
`through a remotely hosted PowerPoint presentation); and so
`forth.
`Enabling WIDs to easily access a wide variety of types of
`data and to initiate a wide variety of manipulations on that
`data in an efficient, cost-effective manner (cid:9)
`in spite of the 60
`device's inherent limitations (such as limited processor
`capacity, limited embedded software, and/or limited band-
`width capability) (cid:9)
`is a primary objective of the present
`invention.
`In preferred embodiments, the techniques of the present 65
`invention provide these advantages without requiring the
`installation of new software or hardware on the WID, in a
`
`4
`manner that is easily extensible to support new manipulation
`operations and new data types.
`Objectives of the present invention are realized by a
`solution that comprises one or more proxies, zero or more
`agents, and a data manipulation server (hereinafter, "DMS").
`The DMS provides information about what services may be
`performed, and how to invoke those services. The DMS also
`performs operations on behalf of the WID, in cooperation
`with the proxies and the agents. In preferred embodiments,
`the proxies, agents, and DMS are not located within the
`WID, but instead are accessed by sending one or more
`request messages from the WID. This solution enables the
`WID's capabilities to be augmented in a very flexible yet
`powerful and cost-effective manner, without requiring any
`modifications to be made to the WID itself.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 provides a block diagram which depicts an archi-
`tecture and components of a preferred embodiment of the
`present invention.
`FIGS. 2A and 2B illustrate examples of a table in which
`information about available data access and/or manipulation
`services is stored, according to a preferred embodiment of
`the present invention.
`FIG. 3 provides a flowchart that depicts logic with which
`a WID accesses data and receives information about what
`manipulation operations are available on that data, accord-
`ing to a preferred embodiment of the present invention.
`FIG. 4 provides a flowchart that depicts logic with which
`a WID requests a manipulation service upon data it has
`accessed, and with which that service is performed, accord-
`ing to a preferred embodiment of the present invention.
`FIGS. 5A-5I provide syntax examples that are used in
`describing operation of a preferred embodiment of the
`present invention.
`FIGS. 6A and 6B illustrate samples of graphical user
`interface ("GUI") displays that may be used to display
`available service information, according to the present
`invention.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`
`The present invention will now be described more fully
`hereinafter with reference to the accompanying drawings, in
`which a preferred embodiment of the invention is shown.
`Like numbers refer to like elements throughout.
`Flowchart illustrations of aspects of the present invention
`are described below. The logic of these flowcharts may be
`provided as methods, systems, and/or computer program
`instructions embodied on one or more computer readable
`media, according to an embodiment of the invention. As will
`be obvious to one of ordinary skill in the art, these flowcharts
`are merely illustrative of the manner in which the associated
`aspects of the present invention may be implemented, and
`changes may be made to the logic that is illustrated therein
`(for example, by altering the order of operations shown in
`some cases, by combining operations, etc.) without deviat-
`ing from the inventive concepts disclosed herein.
`The present invention provides an efficient, cost-effective
`technique for enabling a wireless interface device to easily
`access a wide variety of types of data and to initiate a wide
`variety of manipulations on that data, without requiring the
`installation of new software or hardware on the WID, and in
`a manner that is easily extensible to support new manipu-
`lation operations and new data types.
`
`Oracle Exhibit 1001, page 12
`
`
`
`US 7,254,621 B2
`
`6
`5
`Hypertext Transfer Protocol ("HTTP") proxy, (2) a Wireless
`FIG. 1 illustrates a preferred architecture and components
`Session Protocol ("WSP") proxy, and (3) a Simple Mail
`of a system in which the present invention operates. The
`Transfer Protocol ("SMTP"), Post Office Protocol ("POP" or
`system may provide support for multiple WIDs, although
`"POP3"), or Internal Message Access Protocol ("IMAP")
`only one WID 130 is illustrated in FIG. 1. The WID, which
`in preferred embodiments is a commercially-available WID 5 proxy. An HTTP proxy handles requests for and reception of
`which may be provided by any one of a number of vendors, (cid:9)
`information using HTTP request and response messages. A
`includes at least one software application with which a user
`WSP proxy handles requests for and reception of informa-
`interacts to access and/or manipulate data. In preferred
`tion using WSP request and response messages. SMTP, POP,
`embodiments, this user-interaction software application is (cid:9)
`and IMAP proxies handle requests for and reception of
`the only software required on the WID to enable use of the 10 electronic mail respectively using SMTP, POP, and IMAP
`present invention. This user-interaction software preferably (cid:9)
`request and response messages.
`comprises a browser implementation (such as a Web
`Alternative embodiments may include different and/or
`browser); in alternative embodiments, other types of user- (cid:9)
`additional protocol proxy types. For example, a synchroni-
`interaction software applications (including, but not limited
`zation protocol proxy may be included, which may be used
`to, e-mail client software) may be used. The user-interaction 15 to synchronize data stored locally on a user's WID with data
`software application may be installed on the WID when it is (cid:9)
`stored elsewhere (such as on the user's desktop PC). An
`marketed, and may be a commercially-available software (cid:9)
`example synchronization protocol is "SyncML" which is
`implementation. When browser software is present, it pref- (cid:9)
`being developed by The SyncML Initiative to seamlessly
`erably supports at least one markup language. Examples of
`synchronize wireless and wireline data and devices. (See
`markup languages that may be supported include the Hyper- 20 http://www.syncml.org for more information on SyncML.)
`text Markup Language ("HTML"); Wireless Markup Lan- (cid:9)
`The protocol proxies in a particular implementation of the
`guage ("WML"); and Voice Extensible Markup Language (cid:9)
`present invention may each run on different hosts if desired,
`("VoiceXML"). (cid:9)
`and individual protocol proxies may be co-located with
`Note that while preferred embodiments of the present (cid:9)
`other components of the system. The protocol proxy func-
`invention operate with commercially-available WIDs and 25 tion described herein may be replicated, if desired (for
`without requiring hardware or software modifications or (cid:9)
`example, to administratively separate different types of
`add-ons, in alternative embodiments the WID may be spe- (cid:9)
`proxy function, for purposes of fault tolerance or fault
`cifically adapted for use with the present invention, without
`isolation, for scalability and load balancing, etc.) Moreover,
`deviating from the inventive concepts disclosed herein. For (cid:9)
`a single proxy may itself be divided into separate compo-
`example, a WID might include modifications to provide a 30 nents. For example, an HTTP proxy may include a first
`user interface tailored for use with the present invention, or (cid:9)
`component that determines whether the request is for con-
`perhaps code for optimizing data access and/or manipulation (cid:9)
`tent on the Web or perhaps on a file server; a second
`processing. Moreover, auxiliary software may be provided
`component that handles those requests which are for Web
`to provide enhanced authentication, encryption, compres- (cid:9)
`content; and a third component that handles those requests
`sion, or similar functions that augment the transmission of 35 which are for content from a file server. The multiple
`data described herein. Furthermore, while the preferred
`components may, in turn, be distributed across multiple
`embodiment anticipates invocation by user interaction (and
`machines.
`user-interaction software), there may be implementations in
`In one embodiment, prior art configuration mechanisms
`which automated or programmatic invocation is appropriate. (cid:9)
`are used to adapt the WID for communicating with a
`In these cases, software which embodies the automated or 40 protocol proxy. For example, the client Web browser may be
`programmatic invocation may replace the previously-de- (cid:9)
`instructed to communicate with an HTTP proxy, or synchro-
`scribed user-interaction software as the only software (cid:9)
`nization software on the WID may be configured to send
`required on the WID to enable use of the present invention. (cid:9)
`synchronization protocol messages to the synchronization
`Or, the two forms of invocation software may co-exist on a (cid:9)
`protocol proxy. In this embodiment, the protocol proxy then
`WID. (cid:9)
`45 intercepts outbound messages from the client on the WID
`At least one protocol proxy 120 is provided, according to (cid:9)
`and processes those messages as disclosed herein. In another
`the teachings of the present invention. A protocol proxy (cid:9)
`embodiment, a WID communicates with a protocol proxy
`provides a bridge between the client (i.e. an application (cid:9)
`through a wireless access point (not shown in FIG. 1), such
`executing on WID 130) and the information that it seeks to (cid:9)
`as an 802.11 access point or a Bluetooth access point (the
`access and manipulate. A protocol proxy is responsible for so functioning of which is known in the art). In this latter
`accessing information on behalf of the client and (in pre- (cid:9)
`embodiment, the access point or an adapter device commu-
`ferred embodiments) annotating this accessed information (cid:9)
`nicating with the access point receives outbound messages
`with information about the manipulation services available
`from the WID and evaluates those messages to determine
`for that accessed information. (The annotation process is (cid:9)
`which protocol is in use. The access point or adapter device
`described in more detail below, with reference to Block 350 55 then routes the outbound message to the appropriate proto-
`of FIG. 3.) The information may be accessed, for example, (cid:9)
`col proxy. (This latter embodiment is preferred in the present
`from its location on one or more Web content servers in the
`invention because it avoids the need to configure the WID.)
`World Wide Web (hereinafter, "Web") 110, in a distributed
`Zero or more file access proxies 140 are also provided,
`file system 150 of the prior art, or from an application of the (cid:9)
`according to the present invention. File access proxies may
`prior art. This content server may deliver content that 60 be located on various file servers, desktop computers, data-
`includes services which have been "pre-added" to the con- (cid:9)
`base systems, or other storage devices, and provide access to
`tent (e.g. by querying the DMS directly), so that the protocol
`data stored in one or more repositories 150 which are located
`proxy is not required to provide additional annotations. This (cid:9)
`on (or otherwise accessible to) those machines. A particular
`latter situation may be particularly beneficial, for example, (cid:9)
`file access proxy may access data from a local repository,
`if the content server happens to be co-located with the DMS. 65 within remote data stores (such as information that is
`Preferred embodiments of the present invention include at (cid:9)
`accessible from a remote file server or Web server), infor-
`least one of the following types of protocol proxy: (1) a (cid:9)
`mation stored within local applications (such as stored
`
`Oracle Exhibit 1001, page 13
`
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`
`
`US 7,254,621 B2
`
`8
`7
`e-mail messages), and/or information stored within remote (cid:9)
`the service appears next, in column 201; and an address of
`the service (i.e. a service invocation address, described
`applications (such as information that is accessible through
`below) appears in column 202. The service identification
`a database or directory application). Accessible information
`from column 201 may, for example, be presented to a user
`may be dynamically generated by the local or remote
`application, such as a live sensor reading. (cid:9)
`5 on a user interface to enable user selection of the corre-
`A data manipulation server 160 is provided, according to (cid:9)
`sponding service.
`Alternatively, the table may be organized in a different
`the present invention. In preferred embodiments, the DMS
`has two roles. One role is to provide data manipulation (cid:9)
`manner. Furthermore, the entries in the table may optionally
`services. Another role is to maintain a repository of the (cid:9)
`provide for further qualifying the services, such that the
`available services for various types of data and to make this 10 availability of a particular service depends on additional
`information available. (cid:9)
`factors beyond the file content type. Examples of such
`While not shown in FIG. 1, it may be desirable in some
`factors include: (1) identification of individual users or user
`situations to have multiple data manipulation servers 160, (cid:9)
`groups; (2) user privileges or access rights; (3) particular
`for example for purposes of availability or load balancing or
`locations from which a service will be available; (4) the
`administrative control. Furthermore, the DMS may be 15 target WID type; and (5) combinations of such factors. FIG.
`located within a cluster. The function of the DMS may
`2B provides an example of this optional further qualifica-
`optionally be partitioned, with different services hosted on (cid:9)
`tion, wherein the example table is organized according to file
`different DMS's. (cid:9)
`content type (in column 250), user identification (in column
`251), and location (in column 252). The service is identified
`In its role of providing data manipulation services, those
`services may be provided by the DMS either directly, or 20 in column 253, and the service invocation address appears in
`indirectly by invoking one or more data output agents 170
`column 254. As illustrated therein, the print service is
`(which are described below). For example, the DMS may (cid:9)
`available with all files and all locations (indicated by pres-
`directly manipulate content by performing a conversion of
`ence of a wildcard symbol "*") for user A (see 255), whereas
`the content into HTML upon receiving a conversion request (cid:9)
`printing is only available to user B for files of type ".doc"
`from the WID. As another example, the DMS may indirectly 25 and only while he is located in Conference Room C (see
`manipulate content by forwarding the content to a file
`260).
`manipulation agent, where that file manipulation agent is
`When user identifying information is stored in the DMS'
`responsible for storing the content in a repository. In simple (cid:9)
`table for use as a factor in service availability, it may be
`cases, the DMS may operate in a "pass-through" mode (cid:9)
`represented in several alternative formats, such as: the user's
`wherein it merely forwards content to a data output agent 30 name; a department number to which an authorized user
`(such as a file manipulation agent). In most cases, however, (cid:9)
`must belong; an Internet Protocol ("IP") address (which may
`the DMS performs operation-specific processing of the data (cid:9)
`optionally identify a user group, e.g. through a subnet mask)
`received from the client before determining whether and
`of the user's WID; and so forth. Similarly, location infor-
`where to forward data that may need further processing by (cid:9)
`mation used as a factor in service availability may be
`an agent. In general, the data manipulation operations pro- 35 represented in several alternative manners Location infor-
`vided by the DMS may be arbitrarily complex, and operate (cid:9)
`mation is further described below, with reference to Block
`in a content-dependent manner. In some cases, manipulation
`340 of FIG. 3. Some factors used in determining service
`requests received from the WID may imply other manipu- (cid:9)
`availability, such as user access rights or privileges, may
`lations that need to be performed. As one example, if a (cid:9)
`require dynamically querying a directory or similar reposi-
`request is received from the WID to fax content to a 40 tory at run-time to determ
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