US20020086706A1 - Mobile device server - Google Patents

Mobile device server Download PDF

Info

Publication number
US20020086706A1
US20020086706A1 US10/037,570 US3757001A US2002086706A1 US 20020086706 A1 US20020086706 A1 US 20020086706A1 US 3757001 A US3757001 A US 3757001A US 2002086706 A1 US2002086706 A1 US 2002086706A1
Authority
US
United States
Prior art keywords
mobile device
interface
components
devices
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/037,570
Inventor
Ming-Feng Chen
Yih-Farn Chen
Chung-Hwa Rao
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Corp
Original Assignee
AT&T Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/853,151 external-priority patent/US20020177453A1/en
Application filed by AT&T Corp filed Critical AT&T Corp
Priority to US10/037,570 priority Critical patent/US20020086706A1/en
Priority to MXPA01011504A priority patent/MXPA01011504A/en
Priority to JP2001349692A priority patent/JP2002251333A/en
Priority to EP01126581A priority patent/EP1207655A3/en
Publication of US20020086706A1 publication Critical patent/US20020086706A1/en
Assigned to AT&T CORP. reassignment AT&T CORP. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: RAO, CHUNG-HWA HERMAN, CHEN, MING-FENG, CHEN, YIH-FARN ROBIN
Priority to CA 2409327 priority patent/CA2409327A1/en
Priority to US10/998,214 priority patent/US7277693B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2871Implementation details of single intermediate entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • the present invention relates generally to communication systems and, more particularly, to portable wireless communication systems.
  • wireless Internet access is different from simply accessing the Internet wirelessly.
  • Mobile wireless users have different needs, motivations and capabilities from typical wireline users.
  • a mobile user is usually in a multi-tasking mode, e.g., accessing the Internet while attending a meeting or shopping in the mall.
  • Typical Internet accesses are bursty in nature (checking stock quotes, weather, or finding a nearby restaurant) and task-oriented.
  • browser-centric applications and elaborate user interfaces are of limited utility since a mobile user usually carries small devices such as a cell phone or a Personal Digital Assistant (PDA) having relatively small displays.
  • PDA Personal Digital Assistant
  • PDAs such as Palm Pilots with Web Clipping
  • WAP wireless application protocol
  • SMS short message service
  • email devices such as Blackberry and AT&T PocketNet
  • POP3 Post Office Protocol 3
  • IMAP Internet Message Access Protocol
  • AOL America On Line
  • the present invention provides a mobile device server for providing communication with a variety of protocols and devices.
  • the mobile device server provides a message gateway for allowing mobile devices using a range of protocols and access networks to relay messages to each other and to obtain information from a range of information spaces.
  • a mobile user can readily communicate with other mobile users having the same or different devices.
  • a mobile user can also obtain data from a wide range of resources, such as the Internet and databases. While the invention is primarily shown and described in conjunction with portable mobile devices, it is understood that the invention is generally applicable to systems in which it would be desirable for differing device types and protocols to communicate with each other.
  • a mobile device server includes a plurality of components that cooperate to enable a mobile device to communicate with other mobile device types and with a variety of information space types.
  • a mobile device server includes an engine component that communicates with the mobile server components and maintains user profile information.
  • the server includes a plurality of interface components each of which corresponds to a particular device type or protocol, for example.
  • a plurality of access components provide abstract views of respective information spaces, such as websites, databases, and corporate information.
  • Each of a plurality of logic components processes information retrieved by one or more of the access components for transmission back to the requesting mobile device via the corresponding interface component.
  • the engine component communicates with the interface, access and logic components and maintains user/device profiles.
  • the engine component communicates with the interface components in a predetermined format, translates aliased user commands, invokes appropriate logic and access components, and transcodes retrieved data into a format based upon characteristics, e.g., display size, of the requesting device.
  • a mobile device issues a request for the latest stock price of a particular company.
  • the mobile device has a particular messaging client, such as America On Line's Instant Messenger (AIM).
  • AIM America On Line's Instant Messenger
  • the mobile device communicates with the mobile device server via an AIM interface component, which receives the request for stock data and formats the request into a predetermined format.
  • the engine component receives the formatted request, validates the mobile user identification, and transforms command aliases, e.g., q for “quote”.
  • the engine component then sends the data request to an appropriate logic component, which can for example, determine an optimum stock quote service based upon certain criteria.
  • the logic component requests the engine component to invoke the appropriate access component corresponding to the selected quote service, e.g., Yahoo.
  • the access component then utilizes the proper mechanism, e.g., Hyper Text Transfer Protocol (HTTP), to retrieve the requested content.
  • HTTP Hyper Text Transfer Protocol
  • the retrieved raw content is returned to the engine component for examination and formatting.
  • the engine component accesses the profile of the recipient device to which the requested information is to be sent, which may or may not be the requesting mobile device. Based upon the profile of the recipient device, the engine component invokes an appropriate access component for transcoding the retrieved raw content into the appropriate format, e.g., text only. The engine component then delivers the transcoded data to the interface component corresponding to the recipient device for transmission.
  • FIG. 1 is a schematic depiction of a mobile device server for communicating with a variety of devices and networks in accordance with the present invention
  • FIG. 2 is a schematic block diagram of an exemplary architecture for the mobile device server of FIG. 1;
  • FIG. 3 is a schematic block diagram showing the mobile device server having a plurality of interface devlets in accordance with the present invention
  • FIG. 4 is a schematic depiction of an exemplary communication path configuration for a mobile device server in accordance with the present invention
  • FIG. 5 is a schematic block diagram showing the mobile device server having a plurality of access infolets in accordance with the present invention
  • FIG. 6 is a schematic block diagram showing a first part of a data transfer by a mobile device server in accordance with the present invention
  • FIG. 7 is a schematic block diagram showing a second part of a data transfer by a mobile device server in accordance with the present invention.
  • FIG. 8 is a schematic block diagram showing a third part of a data transfer by a mobile device server in accordance with the present invention.
  • FIG. 9 is a schematic block diagram showing a fourth part of a data transfer by a mobile device server in accordance with the present invention.
  • FIG. 10A is an exemplary screen display showing Internet access of flight info from an AIM device through the AIM devlet on the mobile device server in accordance with the present invention
  • FIG. 10B is an exemplary screen display showing website news access from a Palm V device through the email devlet on the mobile server in accordance with the present invention
  • FIG. 11A is an exemplary screen display for a device accessing a corporate database through the JDBC infolet on the mobile device server in accordance with the present invention
  • FIG. 11B is an exemplary screen display for a mobile phone accessing a corporate database through the JDBC infolet on the mobile device server in accordance with the present invention
  • FIG. 12 shows an exemplary screen display for a device requesting service from a CORBA object through the AIM devlet on the mobile device server in accordance with the present invention
  • FIG. 13 is an exemplary screen display for a device controlling X10 home network devices through the AIM devlet on the mobile device server in accordance with the present invention
  • FIG. 14 is an exemplary screen display for a device accessing an inbox of an E-mail account through the AIM devlet on the mobile device server in accordance with the present invention
  • FIG. 15 is a pictorial representation of an applet for finding a movie for a mobile user of a mobile device server in accordance with the present invention.
  • FIG. 16 is a schematic representation of an instant messaging mechanism for a mobile device server in accordance with the present invention.
  • the present invention provides a mobile device server that operates as a message gateway for allowing mobile devices using various protocols on different access networks to communicate with each other.
  • the mobile device server also allows mobile clients to access resources and information on the Internet and various other networks.
  • the mobile device server includes a flexible architecture having a plurality of components that cooperate to service mobile device communication requests.
  • Mobile device server components include a let engine component communicating with interface devlets, logic applets, and access infolets. This arrangement allows the mobile device server to readily support new devices and protocols by adding corresponding devlets, infolets, and applets without altering the existing service logic.
  • interface devlets receive and send messages through a particular protocol used by various mobile devices.
  • Access infolets utilize particular access methods to provide an abstract view of respective information spaces.
  • access applets implement service or application logic by processing information from one or more infolets.
  • the let engine provides the basic framework for maintaining applets, devlets and infolets, supporting user and device profiles for personalization and transcoding, and invoking proper applets and infolets to answer data requests from devlets.
  • FIG. 1 shows an exemplary embodiment of a mobile device server 100 for enabling mobile users to communicate with a variety of devices and protocols in accordance with the present invention.
  • the mobile device server 100 can run on a computer 102 having connections to a plurality of networks and devices. It is understood that the mobile device server can operate on a variety of known computers and operating systems, such as Unix and Windows. In one embodiment, the mobile device server 100 is implemented using the Java programming language running in a Windows environment.
  • the mobile device server 100 further includes a mobile phone device 104 for receiving and transmitting data via wireless communication.
  • the mobile phone 104 can support Short Message Service (SMS) communication, which is well known to those skilled in the art. While shown as a wireless phone coupled to the computer, it will be readily apparent to one of ordinary skill in the art that mobile device server functionality can be readily integrated into a single device.
  • the mobile device server can include a number of wireless devices, which can be the same or different type, coupled to the computer 102 .
  • the mobile device server 100 enables communication between various devices and networks.
  • a cell phone 200 with two-way short messaging service SMS
  • SMS Global System for Mobile Communication/ Time Division Multiple Access
  • GSM/TDMA Global System for Mobile Communication/ Time Division Multiple Access
  • CDPD Cellular Digital Packet Data
  • WAP Wireless Access Protocol
  • Email devices 214 such as a Blackberry mobile device, can use the Standard Email Protocol (SMTP) on the CDPD network 206 or a two-way paging network 216 coupled to a mail server 218 to communicate with the mobile device server 100 .
  • AIM AOL Instant Messenger
  • web browsers to communicate with the mobile device server 100 , which can support a Transmission Control Protocol (TCP) interface.
  • Mobile devices can include an embedded module for communicating with the mobile device server 100 directly via the TCP interface.
  • the mobile device server 100 can receive messages and commands from these devices, access Internet services and information on behalf of a mobile user, and relay messages or Internet content back to the sending devices or other devices, as described more fully below.
  • the mobile device server 100 includes an architecture having a plurality of interface, logic, and access components that enable the mobile device server to communicate with a range of devices, protocols and information spaces. This arrangement hides the complexity of multiple devices and content sources from mobile users.
  • the mobile device server 100 can include a proxy server that provides an environment for hosting agents and personalized services, which can be implemented as reusable building blocks in the Java programming language, for example.
  • An exemplary proxy server known as iProxy is shown and described in U.S. patent application Ser. Nos. 08/974,600, filed on Dec. 19, 1997, and 09/474,914, filed on Dec. 30, 1999, which are incorporated herein by reference.
  • an iProxy agent which can include a web-server, can be invoked like a regular common gateway interface (CGI) program.
  • CGI common gateway interface
  • the iProxy system also allows scripts embedded inside web pages to invoke agents to perform specialized processing.
  • the iProxy system maintains user profiles and adds intelligence to the traditional HTTP proxy server to provide personalized, and value-added services such as filtering, tracking, and archiving.
  • FIG. 2 shows an exemplary architecture for a mobile device server 300 having a plurality of components that combine to provide a flexible architecture that can readily support new devices, interfaces and information spaces.
  • the mobile device server 300 includes interface devlets 302 , logic applets 304 and access infolets 306 .
  • the devlet, infolet, and applets 302 , 304 , 306 , as well as a proxy interface 308 communicate with each other through a let engine 310 .
  • These components can be implemented as iProxy agents.
  • each interface devlet 302 provides a protocol interface to a given device on a particular access network.
  • exemplary access network types include the Internet, CDPD, and GSM/TDMA, each of which is supported by one or more corresponding interface devlets.
  • an AIM devlet 302 a, a GSM/TDMA devlet 302 b, a TCP/IP devlet 302 c, and a SMTP/IMAP devlet 302 d are shown for communicating with the corresponding networks.
  • further interface devlets can be provided for a variety of additional protocols well known to one skilled in the art.
  • email devlets can include SMTP, IMAP and POP3 devlets for sending and retrieving email.
  • the interface devlets 302 interact with the let engine 310 via a predetermined interface format.
  • the devlets 302 provide requests to the let engine 310 in character-stream command lines and the let engine returns results in Multipurpose Internet Mail Extensions (MIME) format.
  • MIME Multipurpose Internet Mail Extensions
  • each interface devlet 302 monitors a respective channel for incoming requests sent by a remote mobile device. For example, the AIM devlet 302 a on the mobile device server starts an AIM client for listening to service requests from other AIM clients sent as instant messages.
  • the required device driver can form a part of a corresponding interface devlet 302 or can communicate with the devlet through a TCP protocol, for example.
  • This approach allows a device driver to run on a remote machine, i.e., a device other than on the mobile device server.
  • FIG. 4 shows an exemplary communication path between an SMS mobile station MS and a mobile device server MDS in accordance with the present invention.
  • An SMS devlet running on the mobile device server MDS communicates with a GSM cell phone MS attached to a remote personal computer RPC through an SMS driver.
  • Mobile users can send messages to the cell phone MS (through the GSM network), which then forwards each message to the mobile device server MDS for processing.
  • the mobile device server MDS then returns the result to the mobile user through the same channel.
  • Such an arrangement is further shown and described in U.S. Provisional Application No. 60/206,167 entitled “Mobile Phone Internet Access Utilizing Short Message Service Method and Apparatus,” filed May 22, 2000, which is incorporated by reference herein.
  • a mobile device server email devlet can monitor messages arriving at a particular email account for new service requests.
  • a TCP session is created upon receiving a request to connect with a particular port of the mobile device server machine using the telnet protocol.
  • the telnet user can enter mobile device server commands as if using a typical Unix or Windows terminal, for example.
  • the mobile device server can also support the WAP and HTTP protocols through the proxy interface 308 (FIG. 2).
  • each corresponding interface devlet 302 interacts with the let engine 310 in a predetermined format. More particularly, a devlet 302 can send a data request in the form of a character stream, interpreted as an mobile device server command and associated parameters, to the let engine 310 . The devlet 302 can receive results from the let engine 310 in a Multipurpose Internet Mail Extensions (MIME) format appropriate for the device, which is determined by the corresponding device profile stored at the let engine.
  • MIME Multipurpose Internet Mail Extensions
  • Device profiles contain information for user devices, such as how much information can be displayed.
  • the naming of each device or destination follows the conventional URL naming scheme: protocol name followed by an account name or address.
  • typical destination addresses include “sms:+19735556242” (GSM cell phone), “aim:sunshineX” (AIM buddy name), “mail:iproxy@research.att.com (email id)”, etc.
  • the let engine 310 invokes one or more logic applets 304 that implement the required logic for the data request.
  • the let engine 310 then invokes the access infolet 306 appropriate for the information space to be accessed.
  • the access infolets 306 extend beyond the HTTP protocol and URL name space to provide abstract views of various information spaces, such as databases 350 , Internet information sources 352 , core networks 354 , and X 10 home devices.
  • Corresponding access infolets such as Java Data Base Connectivity (JDBC) 306 a, http 320 b, CORBA 306 c infolets access the respective information spaces as shown.
  • JDBC Java Data Base Connectivity
  • a given interface infolet 306 retrieves information from a particular information space, such as stock quote sites, weather sites, and airline flight databases. It is understood that the same information may be accessed using a variety of access protocols. For example, such information is commonly available on many websites, and may also be retrieved from XML files or databases.
  • An interface infolet retrieves the original content and returns it to an appropriate applet 304 for further processing, as described more fully below.
  • the mobile device user can issue a “quote T” command. If the request is sent by a mobile user using SMS on the GSM network, then the result will be returned as plain text to the requesting GSM cell phone. If the mobile user wants to forward the result to an email address, e.g., herman@research.att.com, the user issues a “forward mail:herman@research.att.com quote T” command. Since that email account understands the MIME type text/HTML (according to the device profile), the result will be sent by the let engine as an HTML file, complete with graphics, to the herman@research.att.com email account.
  • email address e.g., herman@research.att.com
  • the user issues a “forward mail:herman@research.att.com quote T” command. Since that email account understands the MIME type text/HTML (according to the device profile), the result will be sent by the let engine as an HTML file, complete with graphics, to the herman@research
  • the interface devlets 302 allow users on different networks to readily communicate with each other. For example, if a GSM phone user wants to send a message to other devices, such as an AT&T PocketNet mail account, e.g., chen@mobile.att.net, which is on the CDPD network, and an AT&T TDMA phone having phone number 555-500-6531 using SMS, then an echo applet can use a message relay service as follows: “forward mail:chen@mobile.att.net, attmsg:5555006531 echo call your boss.”
  • an AT&T PocketNet mail account e.g., chen@mobile.att.net
  • AT&T TDMA phone having phone number 555-500-6531 using SMS
  • FIGS. 6 - 9 show an exemplary transaction between a mobile device MS and a mobile device server 300 in accordance with the present invention.
  • the mobile device MS such as a Palm Vx with a CDPD modem having an AIM client, issues a “q T” (quote AT&T -stock symbol T) command, which requests that the mobile device server 300 retrieve the current price of AT&T stock.
  • the Palm Vx MS establishes a communication channel with the mobile device server 300 via an AIM devlet 302 a, e.g., authorizede 4 att.
  • the AIM devlet 302 a receives the instant message from the Palm Vx device and formats the message into a predetermined format, e.g., “q T” in text, prior to passing the message to the engine component or let engine 310 .
  • the engine component 310 transforms any aliases, e.g., q for quote, defined by the mobile device user and authenticates the user.
  • the engine component 310 then invokes the appropriate logic applet 304 b, which can implement predetermined logic for selecting a stock quote service, such as MSN, Yahoo, Etrade, etc.
  • the logic applet 304 b requests the let engine 310 to invoke the appropriate, e.g., http, access infolet 306 a .
  • the access infolet 306 a retrieves the request stock information using the mechanism, e.g., http, appropriate for the selected quote service.
  • the infolet 306 a then returns the raw data, which can be in HTML format, to the let engine 310 .
  • the let engine 310 examines the raw data, as well as profile data for the recipient device, which can be the same or different from the requesting mobile device MS.
  • the mobile device MS can request data to be forwarded to a specified device, such as an email account.
  • the let engine 310 can send the raw data to a transcoding infolet 306 b for processing.
  • the transcoding infolet 306 b transcodes the raw data accordingly.
  • the let engine 310 then delivers the text message to the AIM devlet 302 a, if the Palm Vx device MS is the recipient device.
  • the mobile device server of the present invention can communicate with a wide variety of mobile device types.
  • the architecture of the mobile device server can readily support new functionality with applets, new devices with devlets, and new information spaces with infolets.
  • FIG. 10A shows an AIM client, mingfengchen, on an exemplary mobile device that talks to the mobile device server AIM agent, mfchen 4 iproxy.
  • the AIM client issues the “flight 001 ” command to get flight information on a particular airline and receives output including time and gate information for each leg of the flight. Mapping from the flight command to the airline can be controlled by a corresponding logic applet according to the user profile. Also, the let engine invokes necessary transcoding services to map the elaborate content on the airline website to the receiving device according to AIM device's profile.
  • FIG. 10B shows a Palm V device having an Omnisky modem that just sent an email to the mobile device server email devlet at authorizede@research.att.com with the command “sitenews att.” This command instructs the mobile device server to access the service provided by AT&T's Website News, which reports new hyperlinks on AT&T's website (http://www.att.com). The result is sent back as an email formatted for the Palm V device.
  • FIG. 11A shows a mobile user connecting to an enterprise database through an AIM client to find contact numbers for a particular software application using the mobile device server of the present invention.
  • FIG. 11B shows how to access the same information from a cell phone that supports the WAP protocol.
  • Corporate Information is typically accessed through JDBC and ODBC interfaces.
  • the mobile device server includes a JDBC infolet that allows mobile users to access enterprise database information (marketing/sales data, system interface, etc.) through SQL-like queries.
  • Network/Infrastructure Resources are typically accessed through the CORBA (Common Object Request Broker Architecture) interface.
  • CORBA Common Object Request Broker Architecture
  • the mobile device server hosts a CORBA infolet that allows mobile users to request services from CORBA objects.
  • FIG. 12 shows how an AIM user gets phone diversion information for the user Herman.
  • FIG. 13 shows a mobile device user controlling X10 devices remotely via the mobile device server of the present invention.
  • the X10 home network technology allows lamps and appliances connected on the same power line to be controlled by a computer.
  • the mobile device server hosts an X10 infolet that controls home network devices connected to its server machine.
  • the user instructs the mobile device server to locate the firecraker, the device that is capable of sending a radio signal to a transceiver device on the X10 network, through the serial port COM 2 on the mobile device server host.
  • a command e.g., “x10 on a 1 ” is sent to turn on the fan (which is named device al on that particular X10 network) and “x10 on a 2 ” to turn on the coffee pot.
  • the X10 interface allows a mobile user to control the lighting and appliances at home with a GSM cell phone, an AIM client, or an email device anywhere in the world.
  • the X10 infolet also demonstrates that an infolet can be used to both retrieve and change the state of an information space.
  • An applet based on X10 infolets can use an algorithm to determine when and how to activate certain X10 infolets to control a home environment.
  • motion sensors can be activated and de-activated using a mobile device, such as a cell phone.
  • a user can instruct a recording device to tape a television program using the mobile device server.
  • a variety of devices can be used to access a home network. That is, a user can utilize any of a cell phone, PC, PDA, Palm device, etc. to manipulate home network devices.
  • the mobile device server is primarily described as supporting mobile devices, non-mobile devices such as desktop PCs can communicate with the mobile device server.
  • FIG. 14 shows a mobile user accessing an email account via a mobile device server in accordance with the present invention.
  • the mobile user first checks the status of the inbox to find the number of unread messages.
  • the mobile device server supports an IMAP infolet called inbox that can query and view a user's email account.
  • the mobile user can look at the size, e.g., 728 bytes, subject, and sender of that message before actually viewing it. Such interaction is advantageous for a mobile user with limited bandwidth and screen space on a mobile device.
  • an applet implements business, service, or application logic by processing contents from different sources and relaying results to various destination devices.
  • a simple applet is the “echo” applet described above, which sends a message from one device to another without using any information sources. It is understood that an applet can also have relatively complex interactions with other infolets.
  • a FindMeAMovie applet can be implemented as an iProxy script as shown below. #!/iproxy/script # get the localtion information (zip) :javabin infoLet zip getlocation # get top 10 movies (mlist) :javabin infoLet mlist top 10 movie :foreach mtitle $ ⁇ mlist ⁇ # Find theaters -- Movie: $ ⁇ mtitle ⁇ -- :javabin infoLet thlist findTheater $ ⁇ mtitle ⁇ $ ⁇ zip ⁇ :foreach theater $ ⁇ thlist ⁇ # List the title & theater $ ⁇ theater ⁇ :endfor :endfor
  • This applet finds theaters near a cell phone user that are currently showing the top ten movies by executing the following steps: 1) find out the location (zip code) of the cell phone user, 2) find the top 10 movies from a movie database or website, 3) for each of these movies, find out if any local theater shows that movie, and 4) list the move title and the theater.
  • each devlet, infolet, and applet must be registered at the let engine first before communications with other agents can occur.
  • Each abstract device that communicates with the mobile device server must register its profile information with the let engine first.
  • a device name is designated by protocol and account ID, i.e., protocol:acct_id.
  • protocol:acct_id For example, an AIM user webciao is named aim:webciao.
  • the mobile device server maintains a default profile for each device type, and each instance of a device can overwrite that profile with device-specific information.
  • a device profile can simply be a list of attribute-value pairs.
  • An important attribute is dev.format.accept, which determines what MIME type the device is allowed to accept.
  • the mobile device server uses this information to transcode original content to a format appropriate for this device, as described above.
  • the above device profile indicates that the default MIME type is text/html, but all MIME types(*/*) are acceptable. Also, the page size “ ⁇ 1” indicates that there is no limit on the size of each message transmission. These values are inherited by all mail devices unless they are overwritten. For example, while the two default values might be valid for primary email devices (desktop or laptop PC's), they are not appropriate for emails used on cell phones, such as AT&T's PocketNet phone. The following device profile for a PocketNet phone indicates that only the MIME type text/plain is appropriate for this device and that it does not accept messages longer than 230 characters:
  • a devlet can require additional information that tells the mobile device server how and when to access this device.
  • each device is mapped to a registered user of the mobile device server.
  • Significant reasons for this mapping arrangement include limiting access to legitimate users of the mobile device server; and personalizing a service based on the user profile.
  • the mobile device server of the present invention can rely upon a variety of authentication techniques. Since the mobile device server interacts with multiple networks and protocols, the server relies on different authentication mechanisms. In one embodiment, the mobile device server uses the cell phone identification on wireless phone networks, AOL buddy names on the AIM network, and generic user ID and password information for WAP, HTTP, and telnet clients. However, the mobile device server itself does not have control over the security afforded by some of these networks. Alternative embodiments can include the SSH Secure Shell to provide end-to-end authentication services. In general, the technique used by the mobile device server to authenticate a mobile user depends on the device or protocol used.
  • Trusting wireless networks such as Voicestream/GSM and AT&T TDMA networks, to provide the correct cell phone id when a short message (SMS) is received is generally acceptable unless a cell phone is stolen and the user did not lock the phone with a security password.
  • the mobile device server can also trust the AOL network authentication for non-critical services. User authentication through the mobile device server itself is required if the user accesses the mobile device server through telnet, WAP, or HTTP.
  • This user profile stores the user name, password, and a list of the devices that the user registers with the mobile device server. It also stores command and address aliases.
  • the mobile device server determines from the user-device map that the user is chen and uses the user profile chen.ini for all later service requests from this device. For example, the following short message sent from a GSM phone: “forward $mail. 1 q T” is interpreted as “forward mail:chen@research.att.com quote T” according to the user profile.
  • the special character “$” requests that the mobile device server map the named device, i.e., mail. 1, to its corresponding entry in the profile.
  • the mobile device server supports event driven message generation to one or more users.
  • a user is considered to have previously requested such information when the predetermined event occurs. For example, in the event that a child is absent from school a message is sent to the parents cell phone. The message can be sent to a plurality of devices associated with the parent to ensure that the message is noticed.
  • messages can be schduled for delivery at predetermined times. For example, a scheduler applet can periodically check for scheduled events.
  • the mobile device server can send a message to a device at a predetermined time to alert a person that a daily medication should be taken. It is understood that a user can be mapped to multiple devices in the user profile. For example, a user can add to a daily journal located in a one address location via multiple devices, such as a cell phone, PDA, and PC.
  • FIG. 16 shows an exemplary embodiment of mobile device server components for supporting an instant messaging mechanism among a plurality of devices.
  • the instant messaging mechanism includes a talkto applet 400 , a session ID applet 402 , and a talkover applet 404 .
  • the talkto applet is invoked by the engine component 406 in response to a users request for instant messaging with another device, which can be of the same or different type.
  • the engine component then generates the session ID applet 402 for providing a session ID to each device participating in the instant messaging.
  • the name of the applet corresponds to the session ID, which is shared by the instant messaging users.
  • the talkover applet 404 terminates parties from the instant messaging session. When all of the parties have left the session, the session ID applet 402 ceases to exist.

Abstract

A mobile device server includes a flexible architecture having a plurality of components for allowing various mobile devices and protocols to communicate with each other and to receive data from various information spaces. Interface devlets send and receive messages in respective protocols. Access infolets utilize respective access methods to provide an abstract view of various information spaces. Logic applets implement service and/or application logic by processing information from one or more infolets. A further component referred to as a let engine communicates with the devlets, infolets, and applets, and maintains user and device profile information to provide a flexible framework for the mobile device server that can readily support new devices and protocols.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • This application claims priority from U.S. patent application Ser. No. 09/853,151, filed on May 10, 2001, which claims priority from U.S. Provisional Patent Application No. 60/248,816, filed on Nov. 15, 2000.[0001]
  • STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH
  • Not Applicable. [0002]
  • FIELD OF THE INVENTION
  • The present invention relates generally to communication systems and, more particularly, to portable wireless communication systems. [0003]
  • BACKGROUND OF THE INVENTION
  • As is known in the art, wireless Internet access is different from simply accessing the Internet wirelessly. Mobile wireless users have different needs, motivations and capabilities from typical wireline users. For example, a mobile user is usually in a multi-tasking mode, e.g., accessing the Internet while attending a meeting or shopping in the mall. Typical Internet accesses are bursty in nature (checking stock quotes, weather, or finding a nearby restaurant) and task-oriented. Thus, browser-centric applications and elaborate user interfaces are of limited utility since a mobile user usually carries small devices such as a cell phone or a Personal Digital Assistant (PDA) having relatively small displays. These personalized devices, which are typically identified by a wireless network address such as a cellular phone number, provide mobile users with continuous access to the Internet. [0004]
  • Advances in wireless networking and messaging technologies have given mobile users many choices to access Internet contents and services. Existing devices and protocols include PDAs, such as Palm Pilots with Web Clipping, cell phones with wireless application protocol (WAP) or short message service (SMS), email devices, such as Blackberry and AT&T PocketNet, supporting Post Office Protocol 3 (POP3) and/or (Internet Message Access Protocol) IMAP, and America On Line (AOL) Instant Messaging (AIM). [0005]
  • While such devices and protocols can provide limited Internet access, differing devices and protocols do not communicate with each other easily. Thus, business and individual mobile users must make challenging decisions to obtain mobile access in a constantly changing environment. For example, employees of a particular company may need to use a single type of device to enable wireless communication between the employees. However, one device type may not be optimal or desirable for the duties each employee must perform. [0006]
  • It would, therefore, be desirable to provide wireless communication for a variety of mobile device types and protocols. It would further be desirable to provide wireless communication with a variety of information spaces. It would also be desirable to readily support wireless communication for new devices and protocols. [0007]
  • SUMMARY OF THE INVENTION
  • The present invention provides a mobile device server for providing communication with a variety of protocols and devices. The mobile device server provides a message gateway for allowing mobile devices using a range of protocols and access networks to relay messages to each other and to obtain information from a range of information spaces. With this arrangement, a mobile user can readily communicate with other mobile users having the same or different devices. A mobile user can also obtain data from a wide range of resources, such as the Internet and databases. While the invention is primarily shown and described in conjunction with portable mobile devices, it is understood that the invention is generally applicable to systems in which it would be desirable for differing device types and protocols to communicate with each other. [0008]
  • In one aspect of the invention, a mobile device server includes a plurality of components that cooperate to enable a mobile device to communicate with other mobile device types and with a variety of information space types. In one embodiment, a mobile device server includes an engine component that communicates with the mobile server components and maintains user profile information. The server includes a plurality of interface components each of which corresponds to a particular device type or protocol, for example. A plurality of access components provide abstract views of respective information spaces, such as websites, databases, and corporate information. Each of a plurality of logic components processes information retrieved by one or more of the access components for transmission back to the requesting mobile device via the corresponding interface component. [0009]
  • The engine component communicates with the interface, access and logic components and maintains user/device profiles. In one embodiment, the engine component communicates with the interface components in a predetermined format, translates aliased user commands, invokes appropriate logic and access components, and transcodes retrieved data into a format based upon characteristics, e.g., display size, of the requesting device. [0010]
  • In an exemplary operation, a mobile device issues a request for the latest stock price of a particular company. The mobile device has a particular messaging client, such as America On Line's Instant Messenger (AIM). The mobile device communicates with the mobile device server via an AIM interface component, which receives the request for stock data and formats the request into a predetermined format. The engine component receives the formatted request, validates the mobile user identification, and transforms command aliases, e.g., q for “quote”. [0011]
  • The engine component then sends the data request to an appropriate logic component, which can for example, determine an optimum stock quote service based upon certain criteria. The logic component then requests the engine component to invoke the appropriate access component corresponding to the selected quote service, e.g., Yahoo. The access component then utilizes the proper mechanism, e.g., Hyper Text Transfer Protocol (HTTP), to retrieve the requested content. [0012]
  • The retrieved raw content is returned to the engine component for examination and formatting. The engine component accesses the profile of the recipient device to which the requested information is to be sent, which may or may not be the requesting mobile device. Based upon the profile of the recipient device, the engine component invokes an appropriate access component for transcoding the retrieved raw content into the appropriate format, e.g., text only. The engine component then delivers the transcoded data to the interface component corresponding to the recipient device for transmission.[0013]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The invention will be more fully understood from the following detailed description taken in conjunction with the accompanying drawings, in which: [0014]
  • FIG. 1 is a schematic depiction of a mobile device server for communicating with a variety of devices and networks in accordance with the present invention; [0015]
  • FIG. 2 is a schematic block diagram of an exemplary architecture for the mobile device server of FIG. 1; [0016]
  • FIG. 3 is a schematic block diagram showing the mobile device server having a plurality of interface devlets in accordance with the present invention; [0017]
  • FIG. 4 is a schematic depiction of an exemplary communication path configuration for a mobile device server in accordance with the present invention; [0018]
  • FIG. 5 is a schematic block diagram showing the mobile device server having a plurality of access infolets in accordance with the present invention; [0019]
  • FIG. 6 is a schematic block diagram showing a first part of a data transfer by a mobile device server in accordance with the present invention; [0020]
  • FIG. 7 is a schematic block diagram showing a second part of a data transfer by a mobile device server in accordance with the present invention; [0021]
  • FIG. 8 is a schematic block diagram showing a third part of a data transfer by a mobile device server in accordance with the present invention; [0022]
  • FIG. 9 is a schematic block diagram showing a fourth part of a data transfer by a mobile device server in accordance with the present invention; [0023]
  • FIG. 10A is an exemplary screen display showing Internet access of flight info from an AIM device through the AIM devlet on the mobile device server in accordance with the present invention; [0024]
  • FIG. 10B is an exemplary screen display showing website news access from a Palm V device through the email devlet on the mobile server in accordance with the present invention; [0025]
  • FIG. 11A is an exemplary screen display for a device accessing a corporate database through the JDBC infolet on the mobile device server in accordance with the present invention; [0026]
  • FIG. 11B is an exemplary screen display for a mobile phone accessing a corporate database through the JDBC infolet on the mobile device server in accordance with the present invention; [0027]
  • FIG. 12 shows an exemplary screen display for a device requesting service from a CORBA object through the AIM devlet on the mobile device server in accordance with the present invention; [0028]
  • FIG. 13 is an exemplary screen display for a device controlling X10 home network devices through the AIM devlet on the mobile device server in accordance with the present invention; [0029]
  • FIG. 14 is an exemplary screen display for a device accessing an inbox of an E-mail account through the AIM devlet on the mobile device server in accordance with the present invention; [0030]
  • FIG. 15 is a pictorial representation of an applet for finding a movie for a mobile user of a mobile device server in accordance with the present invention; and [0031]
  • FIG. 16 is a schematic representation of an instant messaging mechanism for a mobile device server in accordance with the present invention.[0032]
  • DETAILED DESCRIPTION OF THE INVENTION
  • In general, the present invention provides a mobile device server that operates as a message gateway for allowing mobile devices using various protocols on different access networks to communicate with each other. The mobile device server also allows mobile clients to access resources and information on the Internet and various other networks. The mobile device server includes a flexible architecture having a plurality of components that cooperate to service mobile device communication requests. Mobile device server components include a let engine component communicating with interface devlets, logic applets, and access infolets. This arrangement allows the mobile device server to readily support new devices and protocols by adding corresponding devlets, infolets, and applets without altering the existing service logic. [0033]
  • As described more fully below, interface devlets receive and send messages through a particular protocol used by various mobile devices. Access infolets utilize particular access methods to provide an abstract view of respective information spaces. And access applets implement service or application logic by processing information from one or more infolets. The let engine provides the basic framework for maintaining applets, devlets and infolets, supporting user and device profiles for personalization and transcoding, and invoking proper applets and infolets to answer data requests from devlets. [0034]
  • FIG. 1 shows an exemplary embodiment of a [0035] mobile device server 100 for enabling mobile users to communicate with a variety of devices and protocols in accordance with the present invention. The mobile device server 100 can run on a computer 102 having connections to a plurality of networks and devices. It is understood that the mobile device server can operate on a variety of known computers and operating systems, such as Unix and Windows. In one embodiment, the mobile device server 100 is implemented using the Java programming language running in a Windows environment.
  • The [0036] mobile device server 100 further includes a mobile phone device 104 for receiving and transmitting data via wireless communication. The mobile phone 104 can support Short Message Service (SMS) communication, which is well known to those skilled in the art. While shown as a wireless phone coupled to the computer, it will be readily apparent to one of ordinary skill in the art that mobile device server functionality can be readily integrated into a single device. In addition, the mobile device server can include a number of wireless devices, which can be the same or different type, coupled to the computer 102.
  • The [0037] mobile device server 100 enables communication between various devices and networks. In the illustrated embodiment, a cell phone 200 with two-way short messaging service (SMS), e.g., a Global System for Mobile Communication/ Time Division Multiple Access (GSM/TDMA) phone connected to a GSM/TDMA network 202, can communicate with the mobile device server 100 through an SMS driver hosted on the mobile device server. Cellular Digital Packet Data (CDPD) devices 204, such as AT&T PocketNet phone 204 a and Palm V 204 b, coupled to a CDPD network 206 can use a Wireless Access Protocol (WAP) gateway 208 to access the mobile device server 100 through the Internet 210. Email devices 214, such as a Blackberry mobile device, can use the Standard Email Protocol (SMTP) on the CDPD network 206 or a two-way paging network 216 coupled to a mail server 218 to communicate with the mobile device server 100.
  • In addition, PC device users and some PDAs can use AOL Instant Messenger (AIM) or web browsers to communicate with the [0038] mobile device server 100, which can support a Transmission Control Protocol (TCP) interface. Mobile devices can include an embedded module for communicating with the mobile device server 100 directly via the TCP interface. The mobile device server 100 can receive messages and commands from these devices, access Internet services and information on behalf of a mobile user, and relay messages or Internet content back to the sending devices or other devices, as described more fully below.
  • The [0039] mobile device server 100 includes an architecture having a plurality of interface, logic, and access components that enable the mobile device server to communicate with a range of devices, protocols and information spaces. This arrangement hides the complexity of multiple devices and content sources from mobile users. The mobile device server 100 can include a proxy server that provides an environment for hosting agents and personalized services, which can be implemented as reusable building blocks in the Java programming language, for example. An exemplary proxy server known as iProxy, is shown and described in U.S. patent application Ser. Nos. 08/974,600, filed on Dec. 19, 1997, and 09/474,914, filed on Dec. 30, 1999, which are incorporated herein by reference. In general, an iProxy agent, which can include a web-server, can be invoked like a regular common gateway interface (CGI) program. The iProxy system also allows scripts embedded inside web pages to invoke agents to perform specialized processing. The iProxy system maintains user profiles and adds intelligence to the traditional HTTP proxy server to provide personalized, and value-added services such as filtering, tracking, and archiving.
  • FIG. 2 shows an exemplary architecture for a [0040] mobile device server 300 having a plurality of components that combine to provide a flexible architecture that can readily support new devices, interfaces and information spaces. In one particular embodiment, the mobile device server 300 includes interface devlets 302, logic applets 304 and access infolets 306. The devlet, infolet, and applets 302, 304, 306, as well as a proxy interface 308, communicate with each other through a let engine 310. These components can be implemented as iProxy agents.
  • As shown in FIG. 3, each [0041] interface devlet 302 provides a protocol interface to a given device on a particular access network. As described above, exemplary access network types include the Internet, CDPD, and GSM/TDMA, each of which is supported by one or more corresponding interface devlets. In the illustrative embodiment, an AIM devlet 302 a, a GSM/TDMA devlet 302 b, a TCP/IP devlet 302 c, and a SMTP/IMAP devlet 302 d are shown for communicating with the corresponding networks. It is understood that further interface devlets can be provided for a variety of additional protocols well known to one skilled in the art. For example, email devlets can include SMTP, IMAP and POP3 devlets for sending and retrieving email.
  • The interface devlets [0042] 302 interact with the let engine 310 via a predetermined interface format. In one particular embodiment, the devlets 302 provide requests to the let engine 310 in character-stream command lines and the let engine returns results in Multipurpose Internet Mail Extensions (MIME) format. After the mobile device server 300 is initialized, each interface devlet 302 monitors a respective channel for incoming requests sent by a remote mobile device. For example, the AIM devlet 302 a on the mobile device server starts an AIM client for listening to service requests from other AIM clients sent as instant messages.
  • It is understood that the required device driver can form a part of a [0043] corresponding interface devlet 302 or can communicate with the devlet through a TCP protocol, for example. This approach allows a device driver to run on a remote machine, i.e., a device other than on the mobile device server.
  • FIG. 4 shows an exemplary communication path between an SMS mobile station MS and a mobile device server MDS in accordance with the present invention. An SMS devlet running on the mobile device server MDS communicates with a GSM cell phone MS attached to a remote personal computer RPC through an SMS driver. Mobile users can send messages to the cell phone MS (through the GSM network), which then forwards each message to the mobile device server MDS for processing. The mobile device server MDS then returns the result to the mobile user through the same channel. Such an arrangement is further shown and described in U.S. Provisional Application No. 60/206,167 entitled “Mobile Phone Internet Access Utilizing Short Message Service Method and Apparatus,” filed May 22, 2000, which is incorporated by reference herein. [0044]
  • Similarly, to allow access to the mobile device server through email, a mobile device server email devlet can monitor messages arriving at a particular email account for new service requests. For TCP users, a TCP session is created upon receiving a request to connect with a particular port of the mobile device server machine using the telnet protocol. The telnet user can enter mobile device server commands as if using a typical Unix or Windows terminal, for example. The mobile device server can also support the WAP and HTTP protocols through the proxy interface [0045] 308 (FIG. 2).
  • Referring again to FIG. 2, while each protocol and device can have unique interfaces, each corresponding [0046] interface devlet 302 interacts with the let engine 310 in a predetermined format. More particularly, a devlet 302 can send a data request in the form of a character stream, interpreted as an mobile device server command and associated parameters, to the let engine 310. The devlet 302 can receive results from the let engine 310 in a Multipurpose Internet Mail Extensions (MIME) format appropriate for the device, which is determined by the corresponding device profile stored at the let engine. Device profiles contain information for user devices, such as how much information can be displayed.
  • A simplified version of the mobile device server command syntax is listed below: [0047]
    <command> := [ <forward_command> <destinations> ]
    <applet_command> [<applet_argument> ]*
    <destinations> := <destination> [“,”<destination> ]*
    <destination>  := <protocol> “:”<account_id>
  • In this particular embodiment, the naming of each device or destination follows the conventional URL naming scheme: protocol name followed by an account name or address. For example, typical destination addresses include “sms:+19735556242” (GSM cell phone), “aim:sunshineX” (AIM buddy name), “mail:iproxy@research.att.com (email id)”, etc. [0048]
  • As described more fully below, after receiving the command, the [0049] let engine 310 invokes one or more logic applets 304 that implement the required logic for the data request. The let engine 310 then invokes the access infolet 306 appropriate for the information space to be accessed.
  • Referring briefly to FIG. 5, the access infolets [0050] 306 extend beyond the HTTP protocol and URL name space to provide abstract views of various information spaces, such as databases 350, Internet information sources 352, core networks 354, and X10 home devices. Corresponding access infolets, such as Java Data Base Connectivity (JDBC) 306 a, http 320 b, CORBA 306 c infolets access the respective information spaces as shown. A given interface infolet 306 retrieves information from a particular information space, such as stock quote sites, weather sites, and airline flight databases. It is understood that the same information may be accessed using a variety of access protocols. For example, such information is commonly available on many websites, and may also be retrieved from XML files or databases. An interface infolet retrieves the original content and returns it to an appropriate applet 304 for further processing, as described more fully below.
  • As an example of a mobile station request to access the stock price of AT&T (stock symbol T), the mobile device user can issue a “quote T” command. If the request is sent by a mobile user using SMS on the GSM network, then the result will be returned as plain text to the requesting GSM cell phone. If the mobile user wants to forward the result to an email address, e.g., herman@research.att.com, the user issues a “forward mail:herman@research.att.com quote T” command. Since that email account understands the MIME type text/HTML (according to the device profile), the result will be sent by the let engine as an HTML file, complete with graphics, to the herman@research.att.com email account. [0051]
  • The interface devlets [0052] 302 allow users on different networks to readily communicate with each other. For example, if a GSM phone user wants to send a message to other devices, such as an AT&T PocketNet mail account, e.g., chen@mobile.att.net, which is on the CDPD network, and an AT&T TDMA phone having phone number 555-500-6531 using SMS, then an echo applet can use a message relay service as follows: “forward mail:chen@mobile.att.net, attmsg:5555006531 echo call your boss.”
  • FIGS. [0053] 6-9 show an exemplary transaction between a mobile device MS and a mobile device server 300 in accordance with the present invention. As shown in FIG. 6, the mobile device MS, such as a Palm Vx with a CDPD modem having an AIM client, issues a “q T” (quote AT&T -stock symbol T) command, which requests that the mobile device server 300 retrieve the current price of AT&T stock. The Palm Vx MS establishes a communication channel with the mobile device server 300 via an AIM devlet 302 a, e.g., imobile4att. The AIM devlet 302 a receives the instant message from the Palm Vx device and formats the message into a predetermined format, e.g., “q T” in text, prior to passing the message to the engine component or let engine 310. The engine component 310 transforms any aliases, e.g., q for quote, defined by the mobile device user and authenticates the user. The engine component 310 then invokes the appropriate logic applet 304 b, which can implement predetermined logic for selecting a stock quote service, such as MSN, Yahoo, Etrade, etc.
  • As shown in FIG. 7, the [0054] logic applet 304 b then requests the let engine 310 to invoke the appropriate, e.g., http, access infolet 306 a. In FIG. 8, the access infolet 306 a retrieves the request stock information using the mechanism, e.g., http, appropriate for the selected quote service. The infolet 306 a then returns the raw data, which can be in HTML format, to the let engine 310.
  • As shown in FIG. 9, the [0055] let engine 310 examines the raw data, as well as profile data for the recipient device, which can be the same or different from the requesting mobile device MS. For example, the mobile device MS can request data to be forwarded to a specified device, such as an email account. Based upon the profile of the recipient device, the let engine 310 can send the raw data to a transcoding infolet 306 b for processing. In the case where the recipient device accepts only text in messages less than 1000 bytes, the transcoding infolet 306 b transcodes the raw data accordingly. After the infolet converts the data into text, the let engine 310 then delivers the text message to the AIM devlet 302 a, if the Palm Vx device MS is the recipient device.
  • It is understood that the mobile device server of the present invention can communicate with a wide variety of mobile device types. In addition, the architecture of the mobile device server can readily support new functionality with applets, new devices with devlets, and new information spaces with infolets. [0056]
  • FIG. 10A shows an AIM client, mingfengchen, on an exemplary mobile device that talks to the mobile device server AIM agent, mfchen[0057] 4iproxy. The AIM client issues the “flight 001 ” command to get flight information on a particular airline and receives output including time and gate information for each leg of the flight. Mapping from the flight command to the airline can be controlled by a corresponding logic applet according to the user profile. Also, the let engine invokes necessary transcoding services to map the elaborate content on the airline website to the receiving device according to AIM device's profile.
  • FIG. 10B shows a Palm V device having an Omnisky modem that just sent an email to the mobile device server email devlet at imobile@research.att.com with the command “sitenews att.” This command instructs the mobile device server to access the service provided by AT&T's Website News, which reports new hyperlinks on AT&T's website (http://www.att.com). The result is sent back as an email formatted for the Palm V device. [0058]
  • FIG. 11A shows a mobile user connecting to an enterprise database through an AIM client to find contact numbers for a particular software application using the mobile device server of the present invention. FIG. 11B shows how to access the same information from a cell phone that supports the WAP protocol. Corporate Information is typically accessed through JDBC and ODBC interfaces. The mobile device server includes a JDBC infolet that allows mobile users to access enterprise database information (marketing/sales data, system interface, etc.) through SQL-like queries. [0059]
  • Network/Infrastructure Resources are typically accessed through the CORBA (Common Object Request Broker Architecture) interface. As known to one of ordinary skill in the art, CORBA is an architecture and specification for managing distributed program objects in a network to allow programs at different locations to communicate through an “interface broker.” The mobile device server hosts a CORBA infolet that allows mobile users to request services from CORBA objects. FIG. 12 shows how an AIM user gets phone diversion information for the user Herman. [0060]
  • FIG. 13 shows a mobile device user controlling X10 devices remotely via the mobile device server of the present invention. The X10 home network technology allows lamps and appliances connected on the same power line to be controlled by a computer. The mobile device server hosts an X10 infolet that controls home network devices connected to its server machine. First, the user instructs the mobile device server to locate the firecraker, the device that is capable of sending a radio signal to a transceiver device on the X10 network, through the serial port COM[0061] 2 on the mobile device server host. After the connection is established, a command, e.g., “x10 on a1” is sent to turn on the fan (which is named device al on that particular X10 network) and “x10 on a2” to turn on the coffee pot. The X10 interface allows a mobile user to control the lighting and appliances at home with a GSM cell phone, an AIM client, or an email device anywhere in the world. The X10 infolet also demonstrates that an infolet can be used to both retrieve and change the state of an information space. An applet based on X10 infolets can use an algorithm to determine when and how to activate certain X10 infolets to control a home environment.
  • Further application for utilizing the mobile device server to access home network devices will be readily apparent to one of ordinary skill in the art. For example, motion sensors can be activated and de-activated using a mobile device, such as a cell phone. A user can instruct a recording device to tape a television program using the mobile device server. It is understood that a variety of devices can be used to access a home network. That is, a user can utilize any of a cell phone, PC, PDA, Palm device, etc. to manipulate home network devices. It is further understood that while the mobile device server is primarily described as supporting mobile devices, non-mobile devices such as desktop PCs can communicate with the mobile device server. [0062]
  • FIG. 14 shows a mobile user accessing an email account via a mobile device server in accordance with the present invention. The mobile user first checks the status of the inbox to find the number of unread messages. The mobile device server supports an IMAP infolet called inbox that can query and view a user's email account. The mobile user can look at the size, e.g., 728 bytes, subject, and sender of that message before actually viewing it. Such interaction is advantageous for a mobile user with limited bandwidth and screen space on a mobile device. [0063]
  • As described above, an applet implements business, service, or application logic by processing contents from different sources and relaying results to various destination devices. A simple applet is the “echo” applet described above, which sends a message from one device to another without using any information sources. It is understood that an applet can also have relatively complex interactions with other infolets. [0064]
  • As showin in FIG. 15, for example, a FindMeAMovie applet can be implemented as an iProxy script as shown below. [0065]
    #!/iproxy/script
    # get the localtion information (zip)
    :javabin infoLet zip getlocation
    # get top 10 movies (mlist)
    :javabin infoLet mlist top 10 movie
    :foreach mtitle $ {mlist}
    # Find theaters
    -- Movie: ${mtitle} --
    :javabin infoLet thlist findTheater ${mtitle} ${zip}
    :foreach theater ${thlist}
    # List the title & theater
    ${theater}
    :endfor
    :endfor
  • This applet finds theaters near a cell phone user that are currently showing the top ten movies by executing the following steps: 1) find out the location (zip code) of the cell phone user, 2) find the top 10 movies from a movie database or website, 3) for each of these movies, find out if any local theater shows that movie, and 4) list the move title and the theater. [0066]
  • In general, each devlet, infolet, and applet must be registered at the let engine first before communications with other agents can occur. Each abstract device that communicates with the mobile device server must register its profile information with the let engine first. A device name is designated by protocol and account ID, i.e., protocol:acct_id. For example, an AIM user webciao is named aim:webciao. The mobile device server maintains a default profile for each device type, and each instance of a device can overwrite that profile with device-specific information. A device profile can simply be a list of attribute-value pairs. An important attribute is dev.format.accept, which determines what MIME type the device is allowed to accept. This information is used by the mobile device server to transcode original content to a format appropriate for this device, as described above. For example, the default profile for an email device is the following and can be named mail.ini in the directory in which device profiles are kept: [0067]
    dev.format.accept=text/html,*/*
    dev.page.size=−1
  • The above device profile indicates that the default MIME type is text/html, but all MIME types(*/*) are acceptable. Also, the page size “−1” indicates that there is no limit on the size of each message transmission. These values are inherited by all mail devices unless they are overwritten. For example, while the two default values might be valid for primary email devices (desktop or laptop PC's), they are not appropriate for emails used on cell phones, such as AT&T's PocketNet phone. The following device profile for a PocketNet phone indicates that only the MIME type text/plain is appropriate for this device and that it does not accept messages longer than 230 characters:[0068]
  • dev.format.accept=text/plain dev.page.size=230
  • A devlet can require additional information that tells the mobile device server how and when to access this device. For example, the following profile for the address imobile@research.att.com, used by the email devlet of the mobile device server, specifies the frequency (every 10 seconds) of checking the email account (store.checktime), the account password (store.url), the transport protocol for sending email (transport.url), last time the user accessed the account (cmd.lasttime), etc. [0069]
    mail. store.checktime=10000
    mail. store.url=imap://imobile:password@bigmail
    mail.transport.url=smtp://bigmail
    . . .
  • In general, each device is mapped to a registered user of the mobile device server. Significant reasons for this mapping arrangement include limiting access to legitimate users of the mobile device server; and personalizing a service based on the user profile. An illustrative device-to-user map stored in the server (rarp.ini) is set forth below: [0070]
    sms:+886935551826=herman
    sms:+19085556842=chen
    mail:dchang@research.att.com=difa
    aim:webciao=chen . . .
  • It is understood that the mobile device server of the present invention can rely upon a variety of authentication techniques. Since the mobile device server interacts with multiple networks and protocols, the server relies on different authentication mechanisms. In one embodiment, the mobile device server uses the cell phone identification on wireless phone networks, AOL buddy names on the AIM network, and generic user ID and password information for WAP, HTTP, and telnet clients. However, the mobile device server itself does not have control over the security afforded by some of these networks. Alternative embodiments can include the SSH Secure Shell to provide end-to-end authentication services. In general, the technique used by the mobile device server to authenticate a mobile user depends on the device or protocol used. Trusting wireless networks, such as Voicestream/GSM and AT&T TDMA networks, to provide the correct cell phone id when a short message (SMS) is received is generally acceptable unless a cell phone is stolen and the user did not lock the phone with a security password. The mobile device server can also trust the AOL network authentication for non-critical services. User authentication through the mobile device server itself is required if the user accesses the mobile device server through telnet, WAP, or HTTP. Following is a typical and simple user profile: [0071]
    name=Robin Chen
    password=xf2gbH3
    default=$mail.1
    # my addresses
    sms.1=sms:+19085556842
    mail.1=mail:chen@research.att.com
    mail.2=mail:imobile@mobile.att.net
    mail.all=$mail.1,$mail.2
    aim.1=aim:webciao
    # command aliases
    sms.cmd.q=quote
    sms.cmd.sn=sitenews
    # address aliases
    sms.addr.cc=aim:chrischen
  • This user profile stores the user name, password, and a list of the devices that the user registers with the mobile device server. It also stores command and address aliases. When a user accesses the mobile device server through AIM using the id webciao, the mobile device server determines from the user-device map that the user is chen and uses the user profile chen.ini for all later service requests from this device. For example, the following short message sent from a GSM phone: “forward $mail. 1 q T” is interpreted as “forward mail:chen@research.att.com quote T” according to the user profile. The special character “$” requests that the mobile device server map the named device, i.e., mail. 1, to its corresponding entry in the profile. [0072]
  • In a further embodiment, the mobile device server supports event driven message generation to one or more users. In general, a user is considered to have previously requested such information when the predetermined event occurs. For example, in the event that a child is absent from school a message is sent to the parents cell phone. The message can be sent to a plurality of devices associated with the parent to ensure that the message is noticed. In addition, messages can be schduled for delivery at predetermined times. For example, a scheduler applet can periodically check for scheduled events. For example, the mobile device server can send a message to a device at a predetermined time to alert a person that a daily medication should be taken. It is understood that a user can be mapped to multiple devices in the user profile. For example, a user can add to a daily journal located in a one address location via multiple devices, such as a cell phone, PDA, and PC. [0073]
  • FIG. 16 shows an exemplary embodiment of mobile device server components for supporting an instant messaging mechanism among a plurality of devices. In one embodiment, the instant messaging mechanism includes a [0074] talkto applet 400, a session ID applet 402, and a talkover applet 404. The talkto applet is invoked by the engine component 406 in response to a users request for instant messaging with another device, which can be of the same or different type. The engine component then generates the session ID applet 402 for providing a session ID to each device participating in the instant messaging. The name of the applet corresponds to the session ID, which is shared by the instant messaging users. The talkover applet 404 terminates parties from the instant messaging session. When all of the parties have left the session, the session ID applet 402 ceases to exist.
  • One skilled in the art will appreciate further features and advantages of the invention based on the above-described embodiments. Accordingly, the invention is not to be limited by what has been particularly shown and described, except as indicated by the appended claims. All publications and references cited herein are expressly incorporated herein by reference in their entirety. [0075]
  • What is claimed is:[0076]

Claims (21)

1. A mobile device server system for processing data requests from a variety of mobile device types, comprising:
an engine component;
a plurality of interface components communicating with the engine component in a predetermined format, each of the plurality of interface components for providing a respective interface for mobile devices sending data requests;
a plurality of access components communicating with the engine component, each of the plurality of access components for providing an abstract view of a respective information source type based upon the data requests; and
a plurality of logic components communicating with the engine component, each of the plurality of logic components for processing information retrieved by the plurality of access components and providing the processed information to one or more of the plurality of interface components for transmission.
2. The system according to claim 1, further including a proxy interface for providing a communication interface to the mobile device server.
3. The system according to claim 1, wherein the plurality of interface components includes components for supporting protocols selected from the group consisting of supporting interfaces to AIM, ICQ, SMS, XMS, Telnet, HTTP, WAP, SMTP, IMAP, POP3, and IVR.
4. The system according to claim 1, wherein the plurality of access components includes components for providing access to information spaces selected from the group of access components consisting of ODBC, JDBC, CORBA, http, X10, email, and XML.
5. The system according to claim 1, wherein the predetermined format includes text for transfers from the plurality of interface components to the engine component.
6. The system according to claim 5, wherein the predetermined format includes MIME for transfers from the engine component to the plurality of interface components.
7. The system according to claim 1, wherein the variety of mobile device types include devices selected from the group consisting of SMS mobile phones, PDA devices, Instant Messaging devices, Email devices, two way pagers, pocket PCs, and AT&T Pocket Net devices.
8. The system according to claim 1, wherein the mobile devices can communicate with one or more of CDPD, TDMA, GSM, two way paging, Internet, and email networks.
9. The system according to claim 1, further including a logic component for re-directing the processed information to a further device associated with the first mobile device.
10. The system according to claim 1, further including a logic component for scheduling an activation and/or response to a data request.
11. A method for enabling communication between a variety of mobile device types, comprising:
receiving a first data request from a first mobile device utilizing a first protocol;
receiving a second data request from a second mobile device utilizing a second protocol;
formatting the first and second data requests into a predetermined format;
processing the first data request to initiate an information exchange between the first mobile device and a first information space associated with a first information source;
retrieving requested data for the first data request from the first information source;
formatting the retrieved data based upon parameters associated with the first mobile device; and
sending the formatted data to the first mobile device using the first protocol.
12. The method according to claim 11, further including supporting an additional type of mobile device by adding an interface component supporting the additional mobile device type.
13. The method according to claim 11, further including supporting an additional type of information space by adding an access component supporting a protocol for accessing the additional type of information space.
14. The method according to claim 11, further including supporting an additional service function by adding a logic component supporting the additional service.
15. A method for adding new components to a mobile device server having a flexible architecture, comprising:
providing an engine component;
providing a plurality of interface components communicating with the engine component in a predetermined format, each of the plurality of interface components for providing a respective interface for mobile devices sending data requests;
providing a plurality of access components communicating with the engine component, each of the plurality of access components for providing an abstract view of a respective information source based upon the data requests;
providing a plurality of logic components communicating with the engine component, each of the plurality of logic components for processing information retrieved by the plurality of access components and providing the processed information to one or more of the plurality of interface components for transmission to the mobile device that sent the data request; and
adding a further one of an interface component, access component and a logic component to support a respective mobile device, information source, and process without altering service logic of the mobile device server.
16. A method for servicing data requests by a plurality of mobile device types, comprising:
receiving a data request from a first mobile device via a respective one of a plurality of interface devlets;
formatting the data request to a predetermined format;
passing the formatted data request to a let engine;
invoking at least one of a plurality of logic applets based upon the data request;
invoking a respective one of a plurality of access infolets based upon an information space type associated with the data request;
retrieving raw data from a device corresponding to the information space type;
formatting the raw data based upon characteristics of a recipient device specified in the data request; and
passing the formatted the data to the recipient device via an interface devlet supporting the recipient device.
17. The method according to claim 16, further including formatting the data request into text.
18. The method according to claim 16, further including formatting the raw data into MIME.
19. The method according to claim 16, wherein the characteristics of the recipient device include a size limitation.
20. The method according to claim 16, further including servicing data requests from devices including at least two device types selected from the group consisting of SMS mobile phones, Palm devices, AIM devices, AOL devices, two way pagers, pocket PCs, and AT&T Pocket Net devices.
21. The method according to claim 16, further including supporting an additional type of mobile device by adding a corresponding interface devlet without altering service logic.
US10/037,570 2000-11-15 2001-11-09 Mobile device server Abandoned US20020086706A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US10/037,570 US20020086706A1 (en) 2000-11-15 2001-11-09 Mobile device server
MXPA01011504A MXPA01011504A (en) 2000-11-15 2001-11-12 Mobile device server.
JP2001349692A JP2002251333A (en) 2000-11-15 2001-11-15 Mobile device server
EP01126581A EP1207655A3 (en) 2000-11-15 2001-11-15 Mobile device server
CA 2409327 CA2409327A1 (en) 2001-10-29 2002-10-22 Enterprise mobile server platform
US10/998,214 US7277693B2 (en) 2000-11-15 2004-11-26 Mobile device server

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US24881600P 2000-11-15 2000-11-15
US09/853,151 US20020177453A1 (en) 2000-11-15 2001-05-10 Mobile device server
US10/037,570 US20020086706A1 (en) 2000-11-15 2001-11-09 Mobile device server

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/853,151 Continuation US20020177453A1 (en) 2000-11-15 2001-05-10 Mobile device server

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US10/998,214 Continuation US7277693B2 (en) 2000-11-15 2004-11-26 Mobile device server

Publications (1)

Publication Number Publication Date
US20020086706A1 true US20020086706A1 (en) 2002-07-04

Family

ID=27365234

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/037,570 Abandoned US20020086706A1 (en) 2000-11-15 2001-11-09 Mobile device server
US10/998,214 Active 2025-01-09 US7277693B2 (en) 2000-11-15 2004-11-26 Mobile device server

Family Applications After (1)

Application Number Title Priority Date Filing Date
US10/998,214 Active 2025-01-09 US7277693B2 (en) 2000-11-15 2004-11-26 Mobile device server

Country Status (4)

Country Link
US (2) US20020086706A1 (en)
EP (1) EP1207655A3 (en)
JP (1) JP2002251333A (en)
MX (1) MXPA01011504A (en)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030110207A1 (en) * 2001-12-10 2003-06-12 Jose Guterman Data transfer over a network communication system
US20030143993A1 (en) * 2002-01-07 2003-07-31 Hiroaki Nagaoka Remote operation system, and an electronic apparatus to be controlled by a remote operation apparatus
US20040203648A1 (en) * 2002-07-22 2004-10-14 At&T Wireless Services, Inc. Methods and apparatus for formatting information for a communication
US20040229635A1 (en) * 2003-05-13 2004-11-18 Ombek Ltd Method for appending text to unused space left by the sender in a mobile text message
US20050037741A1 (en) * 2003-08-12 2005-02-17 Siemens Information And Communication Networks, Inc. System and method for telephonic presence via e-mail and short message service
US20050135347A1 (en) * 2003-12-18 2005-06-23 International Business Machines Corporation Providing collaboration services to a wireless device
US20060026029A1 (en) * 2004-08-02 2006-02-02 Feria Cristina F Browser based database access and administration method for virtual databases and virtual communities
US20060031337A1 (en) * 2004-08-06 2006-02-09 Kim Mike I Methods and systems for broadcasting offers over electronic networks
US20060031153A1 (en) * 2004-08-05 2006-02-09 Kim Mike I Methods and systems for matching buyers and sellers over electronic networks
US20060031334A1 (en) * 2004-08-04 2006-02-09 Kim Mike I Methods and systems for forwarding electronic communications to remote users
US20060068756A1 (en) * 2002-12-18 2006-03-30 Stefan Aberg Mobile user authentication in connection with access to mobile services
US20060190529A1 (en) * 2003-07-01 2006-08-24 T & D Corporation Multipurpose semiconductor integrated circuit device
US20060190940A1 (en) * 2005-02-22 2006-08-24 Samsung Electronics Co., Ltd. Service framework for a home network
US20070067310A1 (en) * 2005-08-22 2007-03-22 Infosys Technologies, Ltd. System for performing a task in a communication network and methods thereof
US20080146256A1 (en) * 2006-12-19 2008-06-19 Jeffrey Charles Hawkins Sharing data during a voice call using a mobile communications device, and associated user interface
US20080243692A1 (en) * 2007-03-30 2008-10-02 Verizon Services Corp. Content ingest, maintenance, and delivery
US7650380B2 (en) 2004-02-12 2010-01-19 International Business Machines Corporation System and method for messaging and collaborating in an intranet environment
US20110040842A1 (en) * 2008-05-16 2011-02-17 Tencent Technology (Shenzhen) Company Limited System And Method For Implementing Interactive Operations Between Mobile Communication Terminal And Email Box
US20120246249A1 (en) * 2004-07-30 2012-09-27 Pivot Solutions, Inc. System and method for processing securities trading instructions and communicating order status via a messaging interface
US8745147B2 (en) 2008-09-30 2014-06-03 Chicago Mercantile Exchange Inc. System and method for processing instant messages
US20140298214A1 (en) * 2013-03-29 2014-10-02 Microsoft Corporation Visual Configuration and Activation
US20180199085A1 (en) * 2007-09-28 2018-07-12 At&T Intellectual Property I, L.P. Method and System for Message Notification
US10452222B2 (en) 2013-05-29 2019-10-22 Microsoft Technology Licensing, Llc Coordination of system readiness tasks
US10471348B2 (en) 2015-07-24 2019-11-12 Activision Publishing, Inc. System and method for creating and sharing customized video game weapon configurations in multiplayer video games via one or more social networks
US10636089B2 (en) 2016-09-30 2020-04-28 Chicago Mercantile Exchange Inc. Context based messaging
US11516277B2 (en) * 2019-09-14 2022-11-29 Oracle International Corporation Script-based techniques for coordinating content selection across devices

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US20100131078A1 (en) * 1999-10-27 2010-05-27 Brown David W Event driven motion systems
US7624172B1 (en) 2000-03-17 2009-11-24 Aol Llc State change alerts mechanism
US9246975B2 (en) 2000-03-17 2016-01-26 Facebook, Inc. State change alerts mechanism
AU2002251731A1 (en) 2001-01-04 2002-07-16 Roy-G-Biv Corporation Systems and methods for transmitting motion control data
US10298735B2 (en) 2001-04-24 2019-05-21 Northwater Intellectual Property Fund L.P. 2 Method and apparatus for dynamic configuration of a multiprocessor health data system
US7146260B2 (en) 2001-04-24 2006-12-05 Medius, Inc. Method and apparatus for dynamic configuration of multiprocessor system
US7478170B2 (en) * 2002-03-05 2009-01-13 Sun Microsystems, Inc. Generic infrastructure for converting documents between formats with merge capabilities
US7178049B2 (en) 2002-04-24 2007-02-13 Medius, Inc. Method for multi-tasking multiple Java virtual machines in a secure environment
KR100492959B1 (en) * 2002-09-11 2005-06-07 삼성전자주식회사 Short message service server and method in private mobile network interworking with public land mobile network
US7640306B2 (en) 2002-11-18 2009-12-29 Aol Llc Reconfiguring an electronic message to effect an enhanced notification
WO2004046867A2 (en) 2002-11-18 2004-06-03 America Online, Inc. People lists
US8701014B1 (en) 2002-11-18 2014-04-15 Facebook, Inc. Account linking
US7590696B1 (en) 2002-11-18 2009-09-15 Aol Llc Enhanced buddy list using mobile device identifiers
US8965964B1 (en) 2002-11-18 2015-02-24 Facebook, Inc. Managing forwarded electronic messages
US7899862B2 (en) 2002-11-18 2011-03-01 Aol Inc. Dynamic identification of other users to an online user
US8005919B2 (en) 2002-11-18 2011-08-23 Aol Inc. Host-based intelligent results related to a character stream
US8122137B2 (en) 2002-11-18 2012-02-21 Aol Inc. Dynamic location of a subordinate user
US7428580B2 (en) 2003-11-26 2008-09-23 Aol Llc Electronic message forwarding
US7603417B2 (en) 2003-03-26 2009-10-13 Aol Llc Identifying and using identities deemed to be known to a user
US7653693B2 (en) 2003-09-05 2010-01-26 Aol Llc Method and system for capturing instant messages
US8027349B2 (en) 2003-09-25 2011-09-27 Roy-G-Biv Corporation Database event driven motion systems
WO2005057465A2 (en) * 2003-12-09 2005-06-23 Matsushita Electric Industrial Co., Ltd. Mobile medication history management apparatus, memory card, and management method
US7430581B2 (en) * 2004-01-14 2008-09-30 Research In Motion Limited System and method for wirelessly provisioning a mobile communication device
US7251495B2 (en) * 2004-02-04 2007-07-31 Microsoft Corporation Command based group SMS with mobile message receiver and server
US20050253538A1 (en) * 2004-03-29 2005-11-17 Suresh Shah Remotely controlled lighting system and controller switch for operation on same
US7337650B1 (en) 2004-11-09 2008-03-04 Medius Inc. System and method for aligning sensors on a vehicle
DE602004022886D1 (en) * 2004-12-24 2009-10-08 Research In Motion Ltd Network-based adaptation of content for an electronic mobile device
US7532890B2 (en) * 2005-04-01 2009-05-12 Rockliffe Systems Content-based notification and user-transparent pull operation for simulated push transmission of wireless email
WO2006110983A1 (en) 2005-04-18 2006-10-26 Research In Motion Limited System and method for accessing multiple data sources by mobile applications
US7620870B2 (en) * 2005-11-22 2009-11-17 Cisco Technology, Inc. Data compression method and system
US8122174B2 (en) 2006-03-31 2012-02-21 Research In Motion Limited System and method for provisioning a remote resource for an electronic device
US20080155024A1 (en) * 2006-12-20 2008-06-26 Morris Robert P Methods And Systems For Providing For Responding To Messages Without Non-Accepted Elements Of Accepted MIME Types Based On Specifications In A Message Header
US20080155013A1 (en) * 2006-12-20 2008-06-26 Morris Robert P Methods And Systems For Providing For Responding Without At Least One Of Scripts And Cookies To Requests Based On Unsolicited Request Header Indications
JP2009278558A (en) * 2008-05-16 2009-11-26 Access Co Ltd Communication method, controller, mobile terminal device, server device and communication system
US8295864B2 (en) * 2008-10-10 2012-10-23 Samaha Tareq A Sending and receiving text-based messages over a mobile phone via a network connected computer
US8493849B2 (en) * 2009-02-13 2013-07-23 Miraveo, Inc. Systems and methods for creating, managing and communicating users and applications on spontaneous area networks
US8775529B2 (en) * 2009-05-08 2014-07-08 Raytheon Company Bridging communications between communication services using different protocols
US9358924B1 (en) 2009-05-08 2016-06-07 Eagle Harbor Holdings, Llc System and method for modeling advanced automotive safety systems
US8417490B1 (en) 2009-05-11 2013-04-09 Eagle Harbor Holdings, Llc System and method for the configuration of an automotive vehicle with modeled sensors
US9143910B2 (en) * 2011-09-30 2015-09-22 Blackberry Limited Method and system for remote wipe through voice mail
US8886392B1 (en) 2011-12-21 2014-11-11 Intellectual Ventures Fund 79 Llc Methods, devices, and mediums associated with managing vehicle maintenance activities
US10992816B2 (en) 2014-01-06 2021-04-27 Lg Electronics Inc. Mobile terminal and control method therefor

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903832A (en) * 1995-12-21 1999-05-11 Nokia Mobile Phones Llimited Mobile terminal having enhanced system selection capability
US5978679A (en) * 1996-02-23 1999-11-02 Qualcomm Inc. Coexisting GSM and CDMA wireless telecommunications networks
US6049829A (en) * 1997-07-22 2000-04-11 At&T Corp. Information access system and method
US6209018B1 (en) * 1997-11-13 2001-03-27 Sun Microsystems, Inc. Service framework for a distributed object network system
US6223042B1 (en) * 1997-06-26 2001-04-24 At&T Wireless Services Inc Method of intelligent roaming using network information
US20010022000A1 (en) * 2000-02-18 2001-09-13 Uwe Horn Method and system for controlling a processing of video data
US6317781B1 (en) * 1998-04-08 2001-11-13 Geoworks Corporation Wireless communication device with markup language based man-machine interface
US20010047213A1 (en) * 2000-03-02 2001-11-29 Raymond Sepe Remote web-based control
US20020037709A1 (en) * 2000-09-22 2002-03-28 Ranjit Bhatia System, method and apparatus for facilitating the receipt of realtime information from telecommunications nodes
US6445921B1 (en) * 1999-12-20 2002-09-03 Koninklijke Philips Electronics N.V. Call re-establishment for a dual mode telephone
US6542754B1 (en) * 1999-05-12 2003-04-01 Cisco Systems, Inc. Synchronizing clock signals in wireless networks

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6466783B2 (en) * 1995-12-11 2002-10-15 Openwave Systems Inc. Visual interface to mobile subscriber account services
JPH10107903A (en) * 1996-08-07 1998-04-24 Pioneer Electron Corp Information service system and portable telephone system with information display function
US5978676A (en) * 1996-11-15 1999-11-02 Telefonaktiebolaget L/M Ericsson (Publ) Inband signal converter, and associated method, for a digital communication system
US5911776A (en) * 1996-12-18 1999-06-15 Unisys Corporation Automatic format conversion system and publishing methodology for multi-user network
JP3028066B2 (en) * 1997-01-14 2000-04-04 日本電気株式会社 WWW search device
US6314108B1 (en) * 1998-04-30 2001-11-06 Openwave Systems Inc. Method and apparatus for providing network access over different wireless networks
SE524391C2 (en) * 1998-12-28 2004-08-03 Spyglass Inc Method and system for content conversion of electronic documents for wireless clients.
JP4299911B2 (en) * 1999-03-24 2009-07-22 株式会社東芝 Information transfer system
JP2000295244A (en) * 1999-04-09 2000-10-20 Sony Corp Network system, information management unit and its method
US6206018B1 (en) * 1999-08-05 2001-03-27 Thomas S. Daniels, Jr. Crutchless leg support system

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903832A (en) * 1995-12-21 1999-05-11 Nokia Mobile Phones Llimited Mobile terminal having enhanced system selection capability
US5978679A (en) * 1996-02-23 1999-11-02 Qualcomm Inc. Coexisting GSM and CDMA wireless telecommunications networks
US6223042B1 (en) * 1997-06-26 2001-04-24 At&T Wireless Services Inc Method of intelligent roaming using network information
US6049829A (en) * 1997-07-22 2000-04-11 At&T Corp. Information access system and method
US6209018B1 (en) * 1997-11-13 2001-03-27 Sun Microsystems, Inc. Service framework for a distributed object network system
US6317781B1 (en) * 1998-04-08 2001-11-13 Geoworks Corporation Wireless communication device with markup language based man-machine interface
US6542754B1 (en) * 1999-05-12 2003-04-01 Cisco Systems, Inc. Synchronizing clock signals in wireless networks
US6445921B1 (en) * 1999-12-20 2002-09-03 Koninklijke Philips Electronics N.V. Call re-establishment for a dual mode telephone
US20010022000A1 (en) * 2000-02-18 2001-09-13 Uwe Horn Method and system for controlling a processing of video data
US20010047213A1 (en) * 2000-03-02 2001-11-29 Raymond Sepe Remote web-based control
US20020037709A1 (en) * 2000-09-22 2002-03-28 Ranjit Bhatia System, method and apparatus for facilitating the receipt of realtime information from telecommunications nodes

Cited By (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030110207A1 (en) * 2001-12-10 2003-06-12 Jose Guterman Data transfer over a network communication system
US7349941B2 (en) * 2001-12-10 2008-03-25 Intel Corporation Data transfer over a network communication system
US20030143993A1 (en) * 2002-01-07 2003-07-31 Hiroaki Nagaoka Remote operation system, and an electronic apparatus to be controlled by a remote operation apparatus
US20040203648A1 (en) * 2002-07-22 2004-10-14 At&T Wireless Services, Inc. Methods and apparatus for formatting information for a communication
US7277718B2 (en) * 2002-07-22 2007-10-02 Cingular Wireless Ii, Llc Methods and apparatus for formatting information for a communication
US20060068756A1 (en) * 2002-12-18 2006-03-30 Stefan Aberg Mobile user authentication in connection with access to mobile services
US20040229635A1 (en) * 2003-05-13 2004-11-18 Ombek Ltd Method for appending text to unused space left by the sender in a mobile text message
US7822934B2 (en) * 2003-07-01 2010-10-26 T&D Corporation Multipurpose semiconductor integrated circuit device
US20060190529A1 (en) * 2003-07-01 2006-08-24 T & D Corporation Multipurpose semiconductor integrated circuit device
US20050037741A1 (en) * 2003-08-12 2005-02-17 Siemens Information And Communication Networks, Inc. System and method for telephonic presence via e-mail and short message service
CN100407675C (en) * 2003-12-18 2008-07-30 国际商业机器公司 Method and system for providing collaboration communication
US7734691B2 (en) 2003-12-18 2010-06-08 International Business Machines Corporation Providing collaboration services to a wireless device
US20050135347A1 (en) * 2003-12-18 2005-06-23 International Business Machines Corporation Providing collaboration services to a wireless device
US20100122185A1 (en) * 2004-02-12 2010-05-13 International Business Machines Corporation System for messaging and collaborating in an intranet environment
US7650380B2 (en) 2004-02-12 2010-01-19 International Business Machines Corporation System and method for messaging and collaborating in an intranet environment
US8423613B2 (en) 2004-02-12 2013-04-16 International Business Machines Corporation System for messaging and collaborating in an intranet environment
US9672566B2 (en) * 2004-07-30 2017-06-06 Pivot Solutions, Inc. System and method for processing securities trading instructions and communicating order status via a messaging interface
US8635296B2 (en) * 2004-07-30 2014-01-21 Pivot Inc. System and method for processing securities trading instructions and communicating order status via a messaging interface
US20140108231A1 (en) * 2004-07-30 2014-04-17 Pivot Solutions, Inc. System and Method for Processing Securities Trading Instructions and Communicating Order Status via a Messaging Interface
US20120246249A1 (en) * 2004-07-30 2012-09-27 Pivot Solutions, Inc. System and method for processing securities trading instructions and communicating order status via a messaging interface
US20060026029A1 (en) * 2004-08-02 2006-02-02 Feria Cristina F Browser based database access and administration method for virtual databases and virtual communities
US20060031334A1 (en) * 2004-08-04 2006-02-09 Kim Mike I Methods and systems for forwarding electronic communications to remote users
US20060031153A1 (en) * 2004-08-05 2006-02-09 Kim Mike I Methods and systems for matching buyers and sellers over electronic networks
US20060031337A1 (en) * 2004-08-06 2006-02-09 Kim Mike I Methods and systems for broadcasting offers over electronic networks
US8396918B2 (en) * 2005-02-22 2013-03-12 Samsung Electronics Co., Ltd. Service framework for a home network
US20060190940A1 (en) * 2005-02-22 2006-08-24 Samsung Electronics Co., Ltd. Service framework for a home network
US20070067310A1 (en) * 2005-08-22 2007-03-22 Infosys Technologies, Ltd. System for performing a task in a communication network and methods thereof
US8027684B2 (en) * 2005-08-22 2011-09-27 Infosys Technologies, Ltd. System for performing a task in a communication network and methods thereof
US20080146256A1 (en) * 2006-12-19 2008-06-19 Jeffrey Charles Hawkins Sharing data during a voice call using a mobile communications device, and associated user interface
US20080243692A1 (en) * 2007-03-30 2008-10-02 Verizon Services Corp. Content ingest, maintenance, and delivery
US20180199085A1 (en) * 2007-09-28 2018-07-12 At&T Intellectual Property I, L.P. Method and System for Message Notification
US10602210B2 (en) * 2007-09-28 2020-03-24 At&T Intellectual Property I, L.P. Method and system for message notification
US20110040842A1 (en) * 2008-05-16 2011-02-17 Tencent Technology (Shenzhen) Company Limited System And Method For Implementing Interactive Operations Between Mobile Communication Terminal And Email Box
US9130780B2 (en) * 2008-05-16 2015-09-08 Tencent Technology (Shenzhen) Company Limited System and method for implementing interactive operations between a mobile communication terminal and an email box with multiple communication modes
US8745147B2 (en) 2008-09-30 2014-06-03 Chicago Mercantile Exchange Inc. System and method for processing instant messages
US9807039B2 (en) 2008-09-30 2017-10-31 Chicago Mercantile Exchange Inc. System and method for processing instant messages
US10560403B2 (en) 2008-09-30 2020-02-11 Pivot Solutions, Inc. System and method for processing instant messages
US20140298214A1 (en) * 2013-03-29 2014-10-02 Microsoft Corporation Visual Configuration and Activation
US10656800B2 (en) * 2013-03-29 2020-05-19 Microsoft Technology Licensing, Llc Visual configuration and activation
US10452222B2 (en) 2013-05-29 2019-10-22 Microsoft Technology Licensing, Llc Coordination of system readiness tasks
US10471348B2 (en) 2015-07-24 2019-11-12 Activision Publishing, Inc. System and method for creating and sharing customized video game weapon configurations in multiplayer video games via one or more social networks
US10835818B2 (en) 2015-07-24 2020-11-17 Activision Publishing, Inc. Systems and methods for customizing weapons and sharing customized weapons via social networks
US10636089B2 (en) 2016-09-30 2020-04-28 Chicago Mercantile Exchange Inc. Context based messaging
US11127077B2 (en) 2016-09-30 2021-09-21 Chicago Mercantile Exchange Inc. Context based messaging
US11538108B2 (en) 2016-09-30 2022-12-27 Chicago Mercantile Exchange Inc. Context based messaging
US11516277B2 (en) * 2019-09-14 2022-11-29 Oracle International Corporation Script-based techniques for coordinating content selection across devices

Also Published As

Publication number Publication date
US20050240672A1 (en) 2005-10-27
JP2002251333A (en) 2002-09-06
US7277693B2 (en) 2007-10-02
EP1207655A3 (en) 2003-12-17
EP1207655A2 (en) 2002-05-22
MXPA01011504A (en) 2005-04-19

Similar Documents

Publication Publication Date Title
US7277693B2 (en) Mobile device server
US20020177453A1 (en) Mobile device server
Rao et al. iMobile: a proxy-based platform for mobile services
US20030054810A1 (en) Enterprise mobile server platform
US11502985B1 (en) Device independent message distribution platform
US6938076B2 (en) System, computer product and method for interfacing with a private communication portal from a wireless device
US8285805B2 (en) Communications system including protocol interface device providing enhanced operating protocol selection features and related methods
US9055417B2 (en) Notification infrastructure for sending device-specific wireless notifications
US8135759B2 (en) Communications system including protocol interface device for use with multiple operating protocols and related methods
US8205002B2 (en) Communications system providing extensible protocol translation features and related methods
US20050033852A1 (en) System, apparatus, and method for providing presence boosted message service reports
US7289975B2 (en) Communications system with data storage device interface protocol connectors and related methods
US20100293259A1 (en) Communications system providing multi-layered extensible protocol interface and related methods
US20020178211A1 (en) Technique for enabling remote data access and manipulation from a pervasive device
US20080215684A1 (en) Wireless E-Mail System and Method for Using Same
US20100153493A1 (en) Communications system providing extensible protocol translation and configuration features and related methods
KR20030007895A (en) Short message gateway, system and method of providing information service for mobile devices
US7570942B2 (en) Transactional message-queue communication for wirelessly networked devices system and method
Rao et al. iSMS: An integration platform for short message service and IP networks
US20050256959A1 (en) Method of and system for multimedia messaging system interoperability
EP1213883B1 (en) Wireless protocol system combined with SMS in mobile environment and a method of providing internet content
CA2409327A1 (en) Enterprise mobile server platform
Chen et al. A mobile service platform using proxy technology

Legal Events

Date Code Title Description
AS Assignment

Owner name: AT&T CORP., NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHEN, MING-FENG;CHEN, YIH-FARN ROBIN;RAO, CHUNG-HWA HERMAN;REEL/FRAME:013113/0902;SIGNING DATES FROM 20010724 TO 20010920

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION