Optipoint Serial Treiber Agents
Publication number US0 A1 Publication type Application Application number US 11/408,380 Publication date Oct 25, 2007 Filing date Apr 21, 2006 Priority date Apr 21, 2006 Also published as Publication number 11408380, 408380, US 20 A1, US 2007/250580 A1, US 0 A1, US 0A1, US A1, US A1, US-A1-0, US-A1-, US20A1, US2007/250580A1, US0 A1, US0A1, US A1, USA1 Inventors, Original Assignee Export Citation,, (5), (18), (11), (7) External Links:. A telecommunications system includes a personal computer having a unified communication system including a presence application and a cellular telephone network identifier operably coupled to the unified communication system and configured to identify a cellular telephone network of multiple parties; and a cellular network gateway appliance operably coupled to the personal computer and configured to allow the unified communication system to make a telephone call via an associated cellular network and identified by the cellular telephone network identifier. These and other drawbacks in the prior art are overcome in large part by a system and method according to embodiments of the present invention.
Connection via USB Cable for optiPoint 500 and OpenStage 40 T For CallBridge TU USB drivers must be installed (see separate document).2.5. Phone Discovery (CallBridge IP only) CallBridge IP will only become operational if the number. O Number Enter your telephone's station number. Named serial number (Ser. Dozens of city services ready for callers to request, and a full complement of trained 311 customer service agents (CSA), supervisors, analysts, and. His or her disposal to make the report (e.g., serial numbers. Meanwhile, hundreds of drivers in both Minneapolis and St. Paul woke up to a missing car this morning.
A telecommunication method in accordance with an embodiment of the present invention includes identifying called and calling parties' cellular telephone networks; creating a first call leg to a called party cellular telephone via a first gateway associated with the first cellular network; and creating a second call leg to a calling party cellular telephone via a second gateway associated with the second cellular network. First cellular telephone network 104 and second cellular telephone network 106 may be networks operated by different service providers or carriers, such as Sprint, Cingular, T-Mobil, Nextel, and Verizon. Furthermore, first cellular telephone network 104 and second cellular telephone network 106 may operate according to same or different telecommunications standards, such as GSM, CDMA, TDMA, AMPS, etc. The first cellular telephone network 104 and second cellular telephone network 106 may couple to or be in communication with the public switched telephone network (PSTN) (not shown). In addition, an Instant Messaging system 111 is provided, in conjunction with server 102, and Instant Messaging clients 113 a- 113 d. The Instant Messaging system may be implemented as an Instant Messaging system such as MSN Messenger, AOL Instant Messenger, those provided by Google or Yahoo, or enterprise IM systems. An exemplary enterprise presence and IM system is Microsoft Live Communication server, which can support Windows Messenger, Office Communicator, Communicator Web Access, and Communicator Mobile clients.
Another is the IBM Sametime server that supports the Sametime Connect client. The Instant Messaging system 111 may be implemented in an Instant Messaging server 102, which may be a conventional instant messaging server, but provided with a cellular network identification unit 112 in accordance with embodiments of the present invention. As will be explained in greater detail below, the cellular network identification unit 112 operates to receive cellular network associations from users and transmit indications or indicia of the associations to other users. It is noted that, while illustrated as implemented in a single server, the Instant Messaging system 111 and the cellular network identification unit 112 may be implemented in hardware and/or software operating on one or more servers, computer systems, host or mainframe computers, workstations, etc.
It is further noted that, while illustrated as an instant messaging server, the server 102 may be any suitable server that makes use of presence information. The computers 108 a- 108 c may implement presence or instant messaging clients 113 a- 113 c and cellular network identification control units 114 a- 114 c for identifying the cellular networks of associated contacts, as will be explained in greater detail below. In some embodiments, an instant messaging client 113 d may be implemented on a cell phone 110 d, which may also implement a cellular network identification control unit 114 d. Such a cellular telephone 110 d may also implement an auto-dialer 116 which can be used to automatically dial a contact making use of a common cellular network, as will be explained in greater detail below. More particularly, the cellular network identification control units 114 a- 114 d operate in conjunction with the Instant Messaging client programs 113 a- 113 d to provide display of the cellular networks associated with parties on buddy or contact lists maintained at the Instant Messaging client programs 113 a- 113 d.
In certain embodiments, the cellular network identification control units 114 a- 114 d may be implemented as plug-ins to the Instant Messaging client programs 113 a- 113 d. The Instant Messaging client programs 113 a- 113 d can communicate over the Internet or other networks with each other and with the server 102 for example in a conventional manner, such as via a suitable TCP connection. It is noted that in certain embodiments, the clients 108 a- 108 d communicate directly with one another; thus, the figure is exemplary only. The Instant Messaging client programs 113 a- 113 d and the cellular control units 114 a- 114 d may be implemented in hardware and/or software operating on one or more servers, computer systems, host or mainframe computers, workstations, etc. In operation, as will be explained in greater detail below, a user of the Instant Messaging system 102 can upload a cellular network identification associated with his cellular telephone, for example, during self-configuration. The IM server 102 will then associate the network with the user on other parties' contact lists.
When the contact lists are displayed at the respective Instant Messaging clients, the cellular network information for contact list members is provided, for example, as a graphical indication on a graphical user interface, such as a suitable icon, a background color, or other color-coded indication. In certain embodiments, a common display of multiple clients for a common cellular network may be used. For example, a given network may be assigned a particular color or indicia across multiple client devices; in other embodiments, the color or indicia is user configurable. The user can then decide whether the party is on his same network and make his call accordingly. In embodiments in which an Instant Messaging client is provided in the cellular telephone itself, the call can be made either automatically or manually. Turning now to FIG. 2, a block diagram of an exemplary Instant Messaging server 102 is shown.
As noted above, the IM server 102 may be representative of an Instant Messaging server for a system such as MSN Messenger, AOL Instant Messenger, those provided by Google or Yahoo, or enterprise IM systems, such as Microsoft Live Communications Server, or IBM Sametime server. Thus, the server 102 includes an instant messaging control 111 and a user-contact list database 202. In addition, the server 102 includes a cellular network identification unit 112 in accordance with embodiments of the present invention. More particularly, turning now to FIG.
3, a diagram illustrating an exemplary Instant Messaging client window 300 is shown. The instant messaging client window 300 may be generated by one of the instant messaging clients 113 a- 113 d in conjunction with an operating system (not shown). More particularly, in certain embodiments, the computers 108 a- 108 c may be implemented as personal computers running, for example, the Windows XP operating system. The Instant Messaging window 300 includes a contact list manager 302, a network identifier manager 304, and a messaging session manager 306.
The contact list manager 302 allows a user to create, edit, etc., contact lists, and view their status. In addition, in certain embodiments, the contact list manager 302 allows the user to see the cellular network of contacts.
Thus, in the example illustrated, a User B is Online and uses Verizon as his cellular carrier. User C, however, is Offline, and uses Sprint as his carrier.
It is noted that, while in the example illustrated, the cellular networks are textually identified, in other embodiments, as will be explained in greater detail below, a color coding, one or more specific icons, or other indicia, may be applied to identify each cellular network. An exemplary network identifier manager 304 for selecting the cellular network is shown in FIG. The network identifier manager 304 may include a dropdown menu 402. In operation, the user can select the desired entry 404 in the menu 402 and highlight or otherwise select using a cursor pointing tool, for example, a particular network. The system according to certain embodiments may then assign a default color or other indicia.
In certain embodiments, the user may select a color or other cellular network indicia. This is shown more particularly in FIG.
In particular, FIG. 5A represents an exemplary indicia or color selection window or dialog 501 that might be displayed when the select color box 406 of FIG. 4 is selected. In particular, according to certain embodiments, each cellular network may be assigned a particular color identifier from dropdown windows. In certain embodiments, each cellular network may be specifically identified using the dropdown 502. That is, “Cellular network 1” may be defined to be “Sprint,” etc.
5B illustrates an exemplary window 506 that could be used to display the presence status and cell networks of the various parties on the user's contact lists. In particular, shown are contact entries for Jim 508, Bill 510 and Susan 512. In the example illustrated, Jim is In Office, Bill is At Home, and Susan is At Lunch. In addition, the background for Jim is displayed in RED; the background for Bill is in GREEN, and the background for Susan is BLUE to identify their cellular networks. It is noted that in other embodiments, other display indicia are possible. For example, colored icons could be provided; in still others, only contacts who make use of the same cell network as the user are displayed in color or differently from other users.
An exemplary data element 600 that may be used to carry cellular network identification information is shown in FIG. The data element 600 may be generated by the IM control 111 in response to user commands. The data element 600 includes sender ID 602, recipient info 604, data 606, and cellular identification 608. In operation, the IM control 111 can generate the data element 600 when the user selects his cellular network, using, for example, the dropdown window of FIG. The element then may be transmitted to the server 102, which can provide the information to other parties using a same or similar data element, when they transmit presence status. In a step 702, a user can log in to the IM server 102. This may be accomplished, for example, by the user opening his IM client 113 a- 113 d, which may then automatically open a TCP connection to the server 102.
In a step 704, the user's client 113 will provide identification, etc., for his account. In a step 706, the user can select his cellular network carrier, for example, by using the menu of FIG. In some embodiments, the user may also provide his telephone number, as well.
The selection is transmitted to the server 102. In addition, in a step 708, the user can provide his list or lists of contacts whose online status he wishes to monitor.
The user may also transmit his own presence status. An exemplary cellular, telephone 110 d including cellular network display capabilities in accordance with an embodiment of the present invention is shown in FIG. In some embodiments, the cellular telephone 110 d may implement one or more elements of the methods disclosed herein. As shown, the cellular telephone includes control logic 902 and cellular transceiver 904. The cellular transceiver 904 allows communication over a cellular telephone network, such as a GSM or GPRS based cellular telephone network. The control logic 902 generally controls operation of the cellular telephone and includes an IM control 113 d, a cellular network identification control unit 114 d, and an auto-dialer 116.
The control logic 902 interfaces to a memory 918 for storing, among other things, program controls and contact lists; and user interface(s) 910. The user interface(s) 910 can include a keypad 920, speaker 922, microphone 924, and display 926. The keypad 920 may include one or more “hard” keys and may be implemented in whole or in part as a cursor pointing device in association with one or more “virtual” keys on the display 926. It is noted that other interfaces, such as voice activated interfaces, may be provided. Thus, the figure is exemplary only. As noted above, the control logic 902 may implement an IM control 113 d, a cellular network identification control unit 114 d, and an auto-dialer 116.
The control logic 902 may be implemented as various combinations of hardware, software, or firmware and, in particular, may be implemented as one or more control processors. The IM client 113 d and the cellular network identification control unit 114 d may operate in a manner similar to that discussed above with the clients of personal computers 110 a- 110 c. In a step 1004, the user's client 113 will provide identification, etc., for his account, which can include his telephone number. In a step 1006, the user can elect his cellular network carrier, for example, by using a menu similar to that of FIG. Alternatively, the information can be automatically read by the client (for example, by accessing the cellular control unit's self-identification or network search routines).
In addition, in a step 1008, the user can provide his list or lists of contacts whose online status he wishes to monitor. The user may also transmit his current presence status. In a step 1102, a user can log in for a chat session. Again, this can include the user opening his IM client 113, which can then communicate log in information to the server 102. In a step 1104, the user can send or update his contact list, and current presence status. In a step 1106, the user can receive the status of his contacts including information on the cellular networks of the associated contacts. In a step 1108, the user can select a contact, for example, by highlighting the entry using his cursor pointing device.
Then, in a step 1110, the auto-dialer 116 can automatically call the party at the previously entered default cellular network number. In 1206 a, IM client 150 can log in to server 102. As noted above, this can include the client opening a TCP connection with the server 102, etc. The IM client 152 can similarly log in at 1206 b. The clients can upload their personal, contact list, and cellular telephone information at 1208 a, 1208 b.
The server 102 can then process the received information, for example, correlating and storing contact lists and cellular network information in the various databases. At 1210 a, 1210 b, the IM clients 150, 152 can log out. As discussed above, in embodiments in which the IM client is on a cell phone, the user can also elect that network as his default contact for other parties. At 1212, a user, such as a user of client 150, can log in to the server 102 for a chat session. At 1214, the server 102 can download to the client the contact information and cellular network identification of parties on his contact list. Finally, at 1216, the user can call the other party using the appropriate cell network. As discussed above, in embodiments in which the cellular network identification control unit is on the cellular telephone, the cellular telephone's auto-dialer may be used to make the call.
In addition to the above-described embodiments, the present invention is also capable of being implemented as part of a network-based system, such as a unified presence or communications system. Turning now to the drawings and, with particular attention to FIG. 13, a diagram of a telecommunications system 1300 according to an embodiment of the present invention is shown.
The system includes a presence service 1301 connected to or in communication with an application such as a text messaging service 1306, e.g., an instant messaging service. The presence service 1301 may include a presence and availability service (PAS) 1302 and a context agent 1304. User devices, such as user devices 1312, 1314 may be connected to or in communication with the presence service 1301 and the messaging service 1306. In certain embodiments, the user devices may be implemented as telephones, cellular telephones, PDAs, computers, etc. For example, a user device 1312, 1314 may be embodied as personal computers implementing the Windows XP operating system and, as discussed above, IM clients such as the Windows Messenger or Office Communicator instant messenger clients. In addition, the user devices 1312, 1314 may include telephony and other multimedia messaging capability using, for example, peripheral cameras, Webcams, microphones, and speakers (not shown) or peripheral telephony handsets, such as the Optipoint handset available from Siemens Information and Communication Networks, Inc.
The context agent 1304 may monitor the identity context of one or more identities or the device context of one or more devices. The context agent 1304 may provide or include an application interface that supports identity context, device context, device presence, and/or other functions.
Applications may monitor, access, and/or query the context agent 1304 for identity context and/or device context information. The context agent 1304 may be implemented in hardware and/or software operating on one or more servers, computer systems, host or mainframe computers, workstations, etc.
In some embodiments, the context agent 1304 may be operating on some or all of the same devices as other components in the system 1300. Download Windows Server 2008 R2 32 Bit Enterprise Edition Iso. The PAS 1302 may be or include an application that monitors the presence and availability of devices. That is, the PAS 1302 monitors the device context of one or more devices. In some embodiments, one or more of the devices may be associated with identities whose context may be used or monitored by one or more context oriented applications.
The PAS 1302 may be implemented in hardware and/or software operating on one or more servers, computer systems, host or mainframe computers, workstations, etc. In some embodiments, the PAS 1302 may be operating on some or all of the same devices as other components in the system 100.
In some embodiments, the PAS 1302 may be or include an application that communicates with or is connected to one or more registered devices (e.g., devices 1312, 1314) that allows devices to register with the system 100 or helps to facilitate their registration. For example, in a SIP environment, the devices 1312, 1314 may be registered with the system 100 and may show up or be described in registration databases as being assigned to particular identities. The context agent 1304 may register with the PAS 1302 and receive device context and/or information from the PAS 1302 regarding the devices 1312, 1314. In some embodiments, the PAS 1302 may provide context information to applications upon request, periodically or in accordance with some other plan or procedure. In certain embodiments of the present invention, one or more of the components of the system 1300 may be connected to or in communication with each other via a communication network. For example, turning now to FIG. 14, a system 1400 including the components of the system 1300 is illustrated, wherein some or all of the components are in communication via a network 1422.
The network 1422 may be or include the Internet, World Wide Web, a local area network, or some other public or private computer, cable, telephone, client/server, peer-to-peer, or communication network or intranet. In some embodiments, the communication network can also include other public and/or private wide area networks, local area networks, wireless networks, data communications networks, or connections, intranets, routers, satellite links, microwave links, cellular or telephone networks, radio links, fiber optic transmission lines, ISDN lines, T1 lines, DSL connections, etc. Moreover, as used herein, communications include those enabled by wired or wireless technology. In some embodiments, some or all of the network 1422 may be implemented using a TCP/IP network and may implement voice or multimedia over IP using, for example, the Session Initiation Protocol (SIP). Turning now to FIG. 15, a diagram illustrating a particular exemplary network configuration 1500 according to an embodiment of the present invention is shown. The network configuration 1500 includes an enterprise or private network 1502, a first cellular network 1504, and a second cellular network 1506.
The private network 1502 may include a local area network 1508, a server 1510, one or more client devices 1514, 1516, 1518, and cellular network gateway appliances 1520 a, 1520 b. In the example illustrated, cellular network 1504 supports cell phones 1513, 1515 and 1519; cellular network 1506 supports cell phone 1517. In certain embodiments, a suitable service including a server that may be adapted for use in conjunction with embodiments of the present invention is the OpenScape system, available from Siemens Corporation. The network may be implemented as a VoIP network, for example, employing the SIP protocol. As will be explained in greater detail below, the server 1510 may maintain a database of user preferences and cellular networks. The client devices may be embodied as user client portals including a telephony application 1512 and may be operable to select a called party and set calling party device preferences.
Thus, the client device may include a presence client (not shown) interfaced to cellular network identification control units 1520 a, 1520 b, similar to those discussed above. In operation, in certain embodiments, the server 1510 can call out by using the appropriate cellular network appliance, which operates as a cellular device.
The connection is then deemed by the cellular network to be of devices on the same network and there will therefore be no charge. In other embodiments, the server 1510 can be instructed to call out via a first call leg to a called party and call out via a second call leg to the calling party if they are on the same cellular network (using standard telephony gateways (not shown)), and then connect or transfer the calls. More particularly, according to a first embodiment of the present invention, a user may be associated with a network client device 1514 and a cellular telephone 1519. The user may use his client device 1514 to program his cellular network preference to the server 1510, in a manner similar to that discussed above. When the user wishes to make a phone call to the cellular user 1515, he has at his disposal the cellular network information. He can then use his cell phone 1519 to make the call free of charge. That is, when the user selects calling a cell phone party using his client 1514, the server 1510 will check which cell network the user and called party use.
The server 1510 will then call out to the called party using the appropriate cellular interface, and call out to the user using his cellular interface. The server 1510 will then connect the calls over the LAN 1508 via the cellular gateway appliances or interfaces. To each cellular network, it appears as if the user and the called party make use of the common network and thus are not charged for the call. The cellular interfaces may allow for both voice and data transmission on the cellular network and may include a master control unit (MCU) 1612 and digital signal processor (DSP) 1614, which performs any necessary filtering and encoding, and the like. The voice signals are then provided to the RF front end unit 1616, which perform RF modulation functions, and then transmitted to the network. Similarly, in the downlink direction, signals are received and demodulated in the RF front end unit 1616. The signals are then received at the DSP 1614, filtered and decoded, then converted using transcoder 1610, and then out the SIP interface 1606.
In a step 1702, the user can use his client portal 1512 to select or dial the called party. In a step 1704, the server 1510 can identify the called party. In a step 1706, the server 1510 can receive the resulting call setup request and can identify the called party's cellular network (cell network information can be provided in a manner similar to that discussed above). In a step 1708, the server 1510 calls the called party via the cellular device 1520 a, 1520 b corresponding to the appropriate network. For example, the server 1510 can set up a SIP call to the cellular appliance 1520, which functions as a SIP device gateway. The cellular device 1520 then calls out to the called party cellular telephone on the cell network.
In a step 1710, the server 1510 calls out to the calling party cellular telephone via the appropriate cellular interface. Again, this may be a SIP call to the gateway appliance. It is noted that the order of calling can be reversed: that is, the calling party could be called first. In a step 1712, the appliances 1520 connect to the respective called and calling party telephones.
Finally, in a step 1714, the server 1510 connects the calls by routing the media across the LAN between the two gateway appliances 1520 a, 1520 b. In a step 1752, a user can employ his client interface 1512 to select or dial a called party. In a step 1754, the server 1510 identifies the called party by accessing the appropriate database. In a step 1756, the server 1510 identifies the cellular network of the called party (again, this information may be provided in a manner similar to that discussed above). In a step 1758, the server 1510 selects the appropriate gateway appliance 1520.
Finally, in a step 1760, the server 1510 calls out to the called party cell phone via the gateway appliance, and connects to the calling user. Again, this can include the server 1510 setting up a SIP call to the appropriate gateway appliance, which then performs any necessary transcoding, etc., for calling out on the cellular network. At 1801, a user can use his telephony application/portal 1512 ( FIG. 15) for conducting the call. At 1802, a user can use his client portal 1512 to select or dial a called party for calling. This information is transmitted to the server 1510, for example, in a SIP INVITE command. At 1804, the server 1510 identifies the called party from the SIP INVITE command and accesses its database(s) for the preferred cellular network or networks.
At 1806, the server 1510 directs the appropriate cellular gateway appliance 1520 b to call out to the called party. At 1808, the cellular gateway appliance 1520 b identifies the called party number and calls out to the appropriate cell phone on the cellular telephone network. At 1810, the server 1510 connects the call. At 1803, the user can use his cell phone for a conversation with a user on another cellular network.
At 1812, a user can use his client portal 1512 to select a called party for calling. This information is transmitted to the server 1510, for example, using the SIP INVITE command. At 1814, the server 1510 identifies the called party and the preferred cellular network or networks of the calling party.
At 1816, the server directs the appropriate cellular appliances to call out to the called party and the calling party cell phones. Again, this may be done via the appropriate SIP INVITE command. At 1818, the cellular gateways 1520 a, 1520 b call out to the appropriate cell phones.
At 1820 a, b, the server 1510 connects the call, for example, by directing one or more of the gateway appliances 1520 a, 1520 b to redirect the calls. The call is then connected at 1822 via the gateways. The personal computer 1928 may include a unified messaging system having an Instant Messaging or presence client 1936, a cellular network identification control unit 1934, and a telephony client 1938 in accordance with the present invention. The personal computer 1938 is generally similar to the personal computer(s) described above. In the embodiment illustrated, the computer 1938 couples to the Internet (and hence IM server 1951 via an interface 1930, such as an RJ-11 interface). In other embodiments, the connection to the Internet may be via the cellular network.
In addition, in the embodiment illustrated, the personal computer 1928 may couple to the cellular gateway appliance 1920 via USB interfaces 1932, 1926. It is noted that in other embodiments, other interfaces, such as wireless interfaces, may likewise be employed. The network interfaces 2002 may include one or more RJ-11 interfaces 2004 a, 2004 b, and USB interfaces 2006 a, 2006 b, as well as necessary support hardware (not shown). Typically, the RJ-11 interfaces couple to the telephones 1952 and PSTN (and provide, e.g., suitable tip-ring connections) and the USB interfaces couple to the personal computers. The coding/transcoding block 2008 provides any necessary D/A and A/D conversions, as well as coding and transcoding.
The cellular interface 2010 can include a master control unit 2012 as well as DSP 2014 for any other needed functions, similar to those of FIG. As in the above embodiments, the cellular gateway appliance may include suitable GSM interface modules, available from Siemens Corporation. In a step 2102, the user can select the called party using his PC interface client. In a step 2104, the server 1951 can identify the called party and his cell network. (In other embodiments, the PC itself can identify the called party cell network). In a step 2106, the system determines if the called party is a cell phone on the same network. If not, then the call can be made through the POTS (e.g., if the call is local) or via the cell network, at 2110.
In other embodiments, the call may be automatically routed through the cell network. In a step 2152, a user can take a conventional telephone 1952 off hook. The cell network gateway appliance 1920 will detect this and provide a dial tone.
In a step 2154, the user can dial the called party via the conventional telephone 1952. In 2156, the DTMF tones inputted are received and detected at the gateway appliance 1920. At a step 2156, the gateway appliance 1920 converts the received DTMF tones to cellular network signaling and dials on the cellular network in a step 2160. In a step 2162, the connection is completed to the cellular network. Now referring to FIG.
22, a representative block diagram of a computer or processing device 2200 suitable for use as a user device or server according to embodiments of the present invention is shown. In some embodiments, the computer 2200 may include or operate a messaging client and a presence client. The computer 2200 may be embodied as a single device or computer, a networked set or group of devices or computers, a workstation, mainframe or host computer, etc. In some embodiments, the computer 2200 may implement one more elements of the methods disclosed •.
The computer 2200 may include a processor, microchip, central processing unit, or computer 2202 that is in communication with or otherwise uses or includes one or more communication ports or network interfaces 2204 for communicating with user devices and/or other devices. The communication ports 2204 may include such things as local area network adapters, wireless communication devices, Bluetooth technology, cellular network interfaces, etc.
The computer 2200 also may include an internal clock element 2206 to maintain an accurate time and date for the computer 2200, create time stamps for communications received or sent by the computer 2200, etc. In addition to the above, the computer 2200 may include a memory or data storage device 2212 to store information, software, databases, documents, communications, device drivers, etc. The memory or data storage device 2212 may be implemented as an appropriate combination of magnetic, optical and/or semiconductor memory, and may include, for example, Read-Only Memory (ROM), Random Access Memory (RAM), a tape drive, flash memory, a floppy disk drive, a Zip™ disk drive, a compact disc and/or a hard disk. Thus, the storage device 2212 may include various combinations of moveable and fixed storage. The computer 2200 also may include memory 2214, such as ROM 2222 and RAM 2218. A conventional personal computer or workstation with sufficient memory and processing capability may be used as the computer 2200. The computer 2200 may be capable of high volume transaction processing, performing a significant number of mathematical calculations in processing communications and database searches.
A Pentium™ microprocessor such as the Pentium III™ or IV™ microprocessor, manufactured by Intel Corporation may be used for the processor 2202. Other suitable processors may be available from Motorola, Inc., AMD, or Sun Microsystems, Inc. The processor 2202 also may be embodied as one or more microprocessors, computers, computer systems, etc.
The client control program 2222 may control the processor 2202. The processor 2202 may perform instructions of the client control program 2222, and thereby operate in accordance with the methods described in detail herein. The client control program 2222 may be stored in a compressed, uncompiled and/or encrypted format. The client control program 2222 furthermore may include program elements that may be necessary, such as an operating system, a database management system and device drivers for allowing the processor 2202 to interface with peripheral devices, databases, etc. Appropriate program elements are known to those skilled in the art, and need not be described in detail herein. According to some embodiments, the instructions of the control program may be read into a main memory from another computer-readable medium, such as from the ROM 2216 to the RAM 2218.
Execution of sequences of the instructions in the control program causes the processor 2202 to perform the process elements described herein. In alternative embodiments, hard-wired circuitry may be used in place of, or in combination with, software instructions for implementation of some or all of the methods described herein.
Thus, embodiments are not limited to any specific combination of hardware and software. The methods described herein may be embodied as a computer program developed using an object oriented language that allows the modeling of complex systems with modular objects to create abstractions that are representative of real world, physical objects and their interrelationships. However, it would be understood by one of ordinary skill in the art that the invention as described herein could be implemented in many different ways using a wide range of programming techniques as well as general-purpose hardware systems or dedicated controllers. In addition, in some embodiments, many, if not all, of the elements for the methods described above are optional or can be combined or performed in one or more alternative orders or sequences and the claims should not be construed as being limited to any particular order or sequence, unless specifically indicated. Each of the methods described above can be performed on a single computer, computer system, microprocessor, etc.
In addition, in some embodiments, two or more of the elements in each of the methods described above could be performed on two or more different computers, computer systems, microprocessors, etc., some or all of which may be locally or remotely configured. The methods can be implemented in any sort or implementation of computer software, program, sets of instructions, programming means, code, ASIC, or specially designed chips, logic gates, or other hardware structured to directly effect or implement such software, programs, sets of instructions, programming means or code.
The computer software, program, sets of instructions or code can be storable, writeable, or savable on any computer usable or readable media or other program storage device or media such as a floppy or other magnetic or optical disk, magnetic or optical tape, CD-ROM, DVD, punch cards, paper tape, hard disk drive, Zip™ disk, flash or optical memory card, microprocessor, solid state memory device, RAM, EPROM, or ROM. The foregoing description of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention.
The drawings and description were chosen in order to explain the principles of the invention and its practical application. The drawings are not necessarily to scale and illustrate the device in schematic block format. It is intended that the scope of the invention be defined by the claims appended hereto, and their equivalents.
Patent Citations Cited Patent Filing date Publication date Applicant Title * Oct 16, 2000 Jun 29, 2004 Tellme Networks, Inc. Instant messaging via telephone interfaces * Apr 22, 2004 Aug 5, 2008 Cooper Technologies Company Systems and methods for messaging to multiple gateways * Jun 30, 2004 Feb 9, 2006 International Business Machines Corporation Policy enhanced instant messenger client with dynamic interface * Apr 13, 2005 Oct 19, 2006 Mark Wuthnow Method for displaying special alerting icon * Dec 14, 2005 Jun 14, 2007 Motorola, Inc. Method and system for remote network identification by a mobile subscriber unit. Referenced by Citing Patent Filing date Publication date Applicant Title * Dec 27, 2006 Sep 20, 2011 At&T Intellectual Property Ii, L.P.
Method and apparatus for retrieving information from appliances * Aug 31, 2007 Dec 25, 2012 Verizon Patent And Licensing Inc.
Publication number US5 A1 Publication type Application Application number US 10/952,132 Publication date Mar 30, 2006 Filing date Sep 27, 2004 Priority date Sep 27, 2004 Also published as Publication number 10952132, 952132, US 20 A1, US 2006/067285 A1, US 5 A1, US 5A1, US A1, US A1, US-A1-5, US-A1-, US20A1, US2006/067285A1, US5 A1, US5A1, US A1, USA1 Inventors, Original Assignee, Export Citation,, (22), (7), (14), (10) External Links:. A wireless telephone having a voice over IP controller for voice communication over a packet network and a cellular network controller for voice communication over a cellular telephone network, the wireless telephone configured to function as a cellular wireless network interface, wherein said wireless telephone is configured to implement a wireless access point function so as to interface a computer equipped with a wireless network interface to a packet network via the cellular telephone network. This application is related to commonly-assigned, co-pending application Serial No. [2004P14330US], titled, SYSTEM AND METHOD FOR OPTIMIZING MOBILITY ACCESS; application Serial No. [2004P14328US], titled, SYSTEM AND METHOD FOR USING AN EMBEDDED MOBILITY ALGORITHM; application Serial No. [2004P14329US], titled, SYSTEM AND METHOD FOR CELLULAR TELEPHONE NETWORK ACCESS POINT; and application Serial No.
[2004P14327US], titled SYSTEM AND METHOD FOR SETTING PRESENCE STATUS BASED ON ACCESS POINT USAGE. FIELD OF THE INVENTION •. The cellular telephone interface allows standard telephone connectivity through the cellular and public switched telephone networks. The 802.11 wireless network interface allows the user to access the Internet or corporate Intranet using the cell phone.
In addition, it allows the user voice communication via a voice over Internet protocol (VoIP) over a packet network. This may be advantageous, for example, in the context of a corporate campus, in which using the cellular network would be considerably more expensive than using the local Intranet. However, even when allowing Internet access, cellular telephones typically provide a relatively awkward user interface. Turning now to the drawings and, with particular attention to FIG. 1, a diagram of an exemplary telecommunications system 100 according to an embodiment of the present invention is shown. Shown is a network 102. The network 102 may be a packet network, such as a wireless packet network, or may be implemented as a wired network having one or more wireless access points, such as wireless access point 104.
Similarly, the packet network 102 may be implemented as the Internet or a corporate Intranet. Thus, the packet network 102 may be implemented using a TCP/IP network and may implement voice or multimedia over IP using, for example, the Session Initiation Protocol (SIP) or ITU Recommendation H.323.
Suitable wireless technologies include, e.g., the IEEE 802.11x standards. A user may be equipped with a computing or processing device, such as a personal computer 110, which may be implemented as a laptop computer running the Microsoft Windows XP operating system, and a cellular telephone 108, according to embodiments of the present invention. The computer 110 may include a wireless network access card or interface 120 and a network auto-detect module 121.
The user may also be provided with a wireless electronic device such as a wireless or cellular telephone 108 according to embodiments of the present invention. As shown, the cellular telephone 108 includes a wireless network controller or interface 116, such as a wireless packet network controller, and a cellular telephone controller or interface 118. The cellular telephone interface 118 may implement, for example, GSM or GPRS cellular telephony. The user may access the packet network 102 using his laptop computer 110 in a variety of ways. In a first mode, the user's wireless network card or interface 120 will detect a private or enterprise network access point and will log in using that. In a second mode, the network interface 120 will detect a public wireless network access (WiFi) “hot spot” and can allow the user to access his private network 102 via the Internet.
If neither is available, then in a third mode, the wireless network interface 120 will communicate with the cellular telephone 108 to provide a wireless access point. The cellular telephone will then access the cellular network and provide a connection via the telephone network to the packet network 102. In a first mode, the cellular telephone 108 is used to make a conventional telephone call, for example, to a party on packet network 102 (It is noted, however, that the telephone call could be to anyone connected to or in communication with the public switched telephone network. Thus, the figures are exemplary only).
For example, at 200 a, the user dials the number and is connected to the cellular or public switched telephone network 103. The cellular network 103 then connects to the enterprise server telephone interface 114, at 200 b, and the call is completed. As noted above, depending on the embodiment, the call can be completed to a telephony device on the packet network 102 or to a conventional telephone. If the call is to a user on the packet network 102, the server network interface 112 will allow communication on the network; if the call is to a conventional telephone, the server 106 may provide switching via the telephone interface 114. In a second mode, the cellular telephone 108 is used as a VoIP telephone when a network access point is detected. The network access point 104 may be associated, for example, with an enterprise network, although in certain embodiments, could also be a public access point associated with the Internet; also, while shown as a separate unit, it may be coupled with the server 106.
For example, as shown at 202, the cell phone's wireless network interface 116 connects to the network access point 104. The network access point 104 in turn can connect to the server's wireless network interface 112, at 204. Then, depending on the embodiment (i.e., whether the called party is a VoIP telephone or a conventional telephone), the call can be completed to a telephony device on the packet network 102 via the network interface 112 or to a conventional telephone via the server telephone interface 114. Operation of the cell phone in a third mode, as wireless access point, will be discussed in greater detail below. The laptop computer 110, however, functions in a first mode to allow wireless packet network access. For example, at 206, the laptop's wireless network interface 120 detects an allowed network access point 104. Such an allowed network access point may be a public network access point that allows connection to a private network via the Internet, or may be an enterprise network access point.
In the embodiment illustrated, at 208, the network access point 104 connects the user to the packet network 102, e.g., via the server network interface 112, and/or the Internet. If either a public or a private network access point is not available, the laptop 110 can connect using the cell phone's third mode, i.e., a wireless network access point.
That is, the wireless cellular interface 116 and cell interface 118 allow the user of the laptop 110 to connect to the packet network 102. Thus, at 210, the wireless network interface 120 seeks to connect to or communicate with the cellular telephone's wireless interface 116. In such a case, the cellular telephone's wireless interface 116 functions as a wireless hot spot to allow standard communication between it and the computer 110. At 212, the cell phone's wireless network interface 116 detects that the computer 110 wants to access the packet network 102; accordingly, at 214, it activates or accesses the cellular interface 118 to communicate with the network server 106. Then, at 216, the cellular interface 118 calls a number associated with the enterprise server telephone interface 114.
In turn, at 218, the server telephone interface 114 communicates with the server network interface 112 to connect the user to the packet network 102. The network data from the computer 102 is packaged for and then transmitted over the cellular network by the cellular telephone 108. That is, the cellular telephone performs any necessary format conversions, compression/decompression, translations, etc., for transmission over the cellular and/or telephone networks. At the receiving end, the enterprise server unpackages the data from the cellular and/or telephone network and provides it over the packet network. A similar situation holds true for transmission to the computer from the packet network. 3 illustrates an example of a personal computer that can be used to execute embodiments of the invention.
In particular, FIG. 3 shows a computer system 104 that includes a display 302, screen 304, housing 306, keyboard 308, and cursor pointing device 310.
The cursor pointing device 310 can have one or more buttons for interacting with a graphical user interface (GUI), such as GUI 312. The housing 306 may house, for example, a CD/DVD RW drive 314, system memory and a hard drive (see FIG. 4) which can be utilized to store and retrieve software programs incorporating computer code that implements aspects of the invention, data for use with the invention, and the like. Although CD-ROM/DVD 316 is shown as an exemplary computer readable storage medium, other computer readable storage media including floppy disk, tape, flash memory, system memory, and hard drive can be utilized. Additionally, a data signal embodied in a carrier wave (e.g., in a network including the Internet) can be the computer readable storage medium. 4 shows a system block diagram of computer system 110 used to execute software of an embodiment of the invention or use hardware embodiments.
3, computer system 110 includes display 302, keyboard 308, and cursor pointing device 310. Computer system 110 further includes subsystems such as a central processor 401, system memory 403, fixed storage 405 (e.g., hard drive), removable storage 407 (e.g., CD-ROM drive), display adapter 409, sound card 411, transducers 413 (speakers, microphones, and the like), and network interface(s) 120. A Pentium™ microprocessor such as the Pentium III™ or IV™ microprocessor, manufactured by Intel Corporation may be used for the processor 401.
Equivalent or other processors may be available from Motorola, Inc., AMD, or Sun Microsystems, Inc. The processor 401 also may be embodied as one or more microprocessors, computers, computer systems, etc •. The system bus architecture of computer system 110 is represented by arrows 417. However, these arrows are illustrative of any interconnection scheme serving to link the subsystems. For example, a local bus could be utilized to connect the central processor to the system memory and/or display adapter. Computer system 110 shown in FIG.
4 is but an example of a computer system suitable for use with the invention. Other computer architectures having different configurations of subsystems can also be utilized. The cellular interface controller 508 may implement any of a variety of cellular telephony protocols, including, for example, GSM, GPRS, TDMA, etc.
The wireless network interface 502 my implement one of the IEEE 802.11x protocols and includes a networking controller 504 and a wireless access point controller 506. The networking controller 504 operates when the cell phone is in VoIP mode; the wireless access point controller 506 operates when the cell phone is in access point mode, as will be explained in greater detail below. More particularly, the networking controller 504 allows the cellular telephone to function as a VoIP telephone; the wireless access point controller 506 allows the cellular telephone to function as a wireless network access point or WiFi hot spot.
The cellular telephone 108 also implements a mode select unit 512, which selects between wireless network, wireless access point, and cellular modes. In addition, the mode select unit 512 may function to perform any necessary coding, decoding, modulation, demodulation, compression, decompression, translation, etc., to package and unpackage the packet network data for transmission on the cellular telephone network. While illustrated as standalone units, the various controllers 502, 504, 506, 508 and the mode select unit 512 may be embodied as various combinations of software and/or firmware running one or more processors in the cellular telephone. Operation of an embodiment of the present invention is shown with reference to FIG. Initially, in a step 602, the user can activate a networking function or program (e.g., program 404 stored in fixed storage 405 ( FIG. 4) on the personal computer 110).
For example, the user can use the graphical user interface 312 ( FIG. 3) to activate a networking program to access the wireless network interface 120 functions to send and receive access point signaling. In a step 604, the wireless network interface 120 can detect a wireless access point 104, for example, by “listening” for appropriate handshake signaling. As noted above, in one embodiment, the signaling is in accordance with one of the IEEE 802.11x standards. If a wireless access point 104 is detected, then in a step 606, the wireless network interface 120 will connect the computer 110 to the network 102 via the access point 104. Otherwise, in a step 608, a determination is made of whether the cell phone access point 506 is available.
If not, the computer will fail to access the network and the operation will terminate. Otherwise, in a step 610, the computer 110 will access the network 102 using the cell phone as an access point, in a manner similar to that discussed above. That is, the mode select unit 512 will cause the cell phone 108 to enter the wireless access point mode. The cell phone's wireless access point control unit 506 will then function as a WiFi hot spot for the computer 110. The mode select unit 512 also will activate the cell controller 508 to communicate with the server 106, and will perform any packaging, etc., on the sent and received data, transmitted over the cellular telephone network. In order to find an available access point, the computer's wireless network interface 120 is equipped with an auto-detect feature 121.
According to one embodiment of the present invention, the auto-detect feature 121 receives handshake signaling from wireless access points. In certain embodiments, the auto-detect feature 121 determines the access point that is transmitting at highest signal strength and connects to that one. This is shown more particularly in FIG. Thus, in a step 702, the user can activate the networking function.
Again, this may be accomplished using the GUI 308 of the computer 110. In a step 704, the auto-detect feature 121 determines which, if any, access point's handshake signal(s) are at highest strength.
For example, the auto-detect feature 121 may perform a signal power analysis to make the determination. The auto-detect feature 121 then selects the access point associated with the highest signal power and logs in, in a step 706. According to other embodiments of the present invention, the auto-detect feature 121 maintains a prioritized listing of approved wireless access points. Approved wireless access points can include, for example, the cell phone access point; public “hot spots,” such as at airports or cafes; or the enterprise network access point(s). Such a prioritized WiFi connection listing may be stored as one or more files 406 in fixed storage 405 ( FIG. The auto-detect feature 121 will attempt to log in to the network by accessing access points according to the order of the prioritized list. Typically, due to the relative expense of cell phone network charges, the cell phone access point would be lowest priority.
(One measure of prioritizing is a cost basis. According to such a measure, the private enterprise access points would be deemed lowest cost, followed, for example, by public access points, and then the cell phone access point). Programming the list may be done by the user with appropriate software associated with the networking program 404. This is illustrated more particularly in FIG. For example, the list may be programmed by providing one or more files on a removable memory device (e.g., disk, flash memory device, etc.); using standalone software; or using a browser through an Internet or other connection to an administration web page. As shown at step 802, the user can access the networking program. At a step 804, the user can input the prioritized WiFi access point listing.
This may be done, for example, manually or by the user selecting from a predetermined list of access points using, e.g., a pulldown menu, provided by any convenient source, such as those discussed above. Operation of this embodiment is shown in FIG. That is, FIG. 9 illustrates operation of an embodiment of the present invention in which the system uses a prioritized list to determine an access point and/or network to log on to. In a step 902, the user activates the networking function 404 ( FIG. 4) on the personal computer 110.
At a step 904, in response, the auto-detect feature 121 accesses the WiFi prioritized connection list 406 ( FIG. In a step 906, the wireless network interface 120 attempts to access a wireless access point according to the order listed. If a listed wireless access point is not available, as determined in step 908, then the computer 110's auto-detect feature 121 will attempt to access the next-listed access point, i.e., go back to step 906. If a listed point is available, then in a step 910, the computer 110 will connect through it. As noted above, in certain embodiments, the cell phone wireless access point has lowest priority. The cellular telephone 108 itself may also be equipped to activate or turn on a function in response to lack of detection of a suitable WiFi hot spot. Thus, in certain embodiments, the mode select unit 512 ( FIG.
5) of the cell phone 108 implements a search algorithm 513 to periodically search for an available 802.11 network or WiFi hot spot. If there is no such hot spot available, the cell phone can activate its wireless access point function. When one is found, the function can be deactivated. In operation, the mode select unit 512 will periodically instruct the networking control 502 to “listen” for an active network. A prioritized list 515 may be provided and stored, in a manner similar to that discussed above with reference to the computer 110. That is, the cell phone can be programmed to store a prioritized list of access points the search algorithm is to “listen for.” Thus, for example, as shown at FIG. 10, at a step 1000, a user may configure the telephone with a list 515 of allowed networks.
Again, this list may be provided manually, or via an Internet connection, or a wired or wireless connection to a configuring computer (e.g., computer 110), such as server 106. In a step 1002, the telephone stores the list. Alternatively, a server such as server 106 may itself maintain a list and provide it to the cell phone and/or computer. For example, the server 106 may be programmed with a listing or may access the Internet for local service providers and generate a cost-based prioritized list therefrom.
Such a listing can then be uploaded to the computer and/or telephone. Operation of an embodiment of the present invention is shown in FIG. In particular, FIG. 11 shows operation of the cellular telephone 108's search and activation/deactivation function 513 according to embodiments of the present invention. In a step 1100, the mode select unit 512 activates the search control 513. The search control 513 can then search for any available access point, or can include the cell phone accessing a prioritized access point list 515, as shown at step 1102.
If, as determined at a step 1104, an available access point is detected, then the cell phone's wireless access point function is deactivated, in a step 1108. In this case, the found network access point is used in conjunction with the network controller to provide VoIP functionality. Otherwise, it is activated, in step 1106. The access point mode of the cellular telephone 108 may be used in conjunction with a presence-based telecommunication network. For example, in certain embodiments, the cell phone access point mode can be set based upon presence states or contexts.
Similarly, the activity of the cell phone wireless access mode can be used to set a particular network presence state. For example, in operation, the personal computer 110 may “listen” for wireless access point signaling and, in particular, for the wireless access point transmitting with highest signal strength.
If the user is in the office, it is possible for the cellular telephone wireless access point to be that access point. It may be disadvantageous to use the cellular wireless access point, however, due to cellular telephone network charges.
Consequently, embodiments of the present invention allow the presence status to be used to determine the ON or OFF state of the cell phone wireless access point and/or whether the cell phone is an allowed access point for packet network access. For example, presence based systems can define either or both of a user or device context for user availability. “Device” context defines a presence status of a particular device, such as a cell phone, etc. In some embodiments, device context may be Online, Away, Busy, Idle, and Be Right Back. In contrast, “identity” or “user” context may be defined as an aggregated presence of the user over one or more devices. An identity context thus may allow an identity to have an overall state that describes the work or non-work state that the identity is in.
In some embodiments, the user or identity context may be In Office, Working Remote, Be Right Back, In Meeting, On Business Trip, Out of Office, On Vacation, Unavailable, and Unknown. Referring now to FIG. 12, an exemplary system 1200 is illustrated according to some embodiments.
The system 1200 includes a context agent 1202 that may be connected to or in communication with a context or presence oriented application 1204 and a presence and availability service 1206. The context agent 1202 and presence and availability service 1206 may be implemented in server 106 ( FIG. An exemplary context agent and presence and availability service is the Openscape system available from Siemens Information and Communication Networks, Inc. User devices, such as the user devices 1210, 1212, may be connected to or in communication with the context agent 1202.
In some embodiments, a user device may be or include such things as telephones, cellular telephones, PDAs, computers, etc. For example, the user devices 1210, 1212, may be personal computers implementing the Windows XP™ operating system and the Windows Messenger™ instant messenger system, such as personal computer 110 ( FIG. In addition, the user devices 1210, 1212 may include telephony and other multimedia messaging capability using, for example, peripheral cameras, Webcams, microphones and speakers (not shown) or peripheral telephony handsets, such as the Optipoint™ handset available from Siemens Information and Communication Networks. For example, user devices may be implemented as cellular telephones 108 ( FIG. The context agent 1202 may monitor the identity context of one or more identities and/or the device context of one or more devices. In some embodiments, the context agent 1202 may provide or include an application interface that supports identity context, device context, device presence, and/or other functions. Applications, such as context oriented application 1204, may monitor, access and/or query the context agent 1202 for identity context and/or device context information.
An exemplary context oriented application may be a calendar application. In some embodiments, the context agent 1202 may provide the information to the context oriented application 1204 upon request, periodically, or in accordance with some other plan or procedure. In addition, in some embodiments, the context agent 1202 may provide information regarding device context. For example, an application may query the context agent 1202 to monitor or determine the device context of one or more devices. In some embodiments, an application may set or request a change for, either an identity context and/or a device context. For example, an application that sets an identity context for an identity to “in meeting” may set the device context for the identity's desk telephone to “offline” for both voicemail and instant messaging.
The network 1201 may be or include the Internet, the World Wide Web, a local area network, or some other public or private computer, cable, telephone, client/server, peer-to-peer, or communications network or intranet. In some embodiments, a communications network also can include other public and/or private wide area networks, local area networks, wireless networks, data communication networks or connections, intranets, routers, satellite links, microwave links, cellular or telephone networks, radio links, fiber optic transmission lines, ISDN lines, T1 lines, DSL connections, etc. Moreover, as used herein, communications include those enabled by wired or wireless technology. In some embodiments, some or all of the network 1201 may be implemented using a TCP/IP network and may implement voice or multimedia over IP using, for example, the Session Initiation Protocol (SIP).
For example, FIG. 13 is a table illustrating identity or user context, and device context, and the corresponding wireless access point settings. More particularly, shown in column 1300 are exemplary identity or user contexts. Corresponding or alternative device contexts are shown in column 1302. A system and method for mapping between device and identity contexts is described in commonly assigned, co-pending U.S. Patent application Ser.
______, titled “Method and System for Mapping Identity Context to Device Context,” which is hereby incorporated by reference in its entirety as if fully set forth herein. As shown, an Identity Context of “In Office” may be associated with a Device Context of “Online.” The corresponding wireless access portal availability is maintained as OFF, even if the WiFi signal is stronger for the cell phone, because the user can access the network using a conventional access point. In operation, the computer 110 knows it need not search for the cellular wireless access point and can search for a standard WiFi connection and if found, connect. Otherwise, depending on the embodiment, the computer 110 can simply fail to connect, or can signal the cell phone that it wishes to connect; the cell phone 108 can then activate its network access point function. If the Identity Context is “Out of Office,” and corresponding device context is “Away,” then the wireless access portal availability may be set to ON.
That is, the cell phone will maintain the wireless access point as active. In this case, the computer 110 can either automatically log in through the cell phone wireless access point or be programmed to prompt the user as to whether he wishes such a log on. Alternatively, the computer will search for a public access point (or, e.g., an allowed listed one), but will then know to search for the cell phone access point.
Other contexts are handled similarly. 14 is a flowchart illustrating operation of an embodiment of the present invention that uses the presence context to set the cellular wireless access point availability state. In a step 1402, the presence and availability service 1206 ( FIG. 12) monitors user presence status. For example, the presence and availability service 1206 can determine if the user is presently engaged in an Instant Messaging session, or on the phone, etc.
The presence and availability service 1206 provides the presence status to the context agent 1202, which sets the user and/or device context, in a step 1404. In a step 1406, a context oriented application 1204, such as the personal computer's wireless network access function 120, or the cell phone's wireless network interface 116 receives the context and sets the wireless access point setting.
For example, the wireless network interface 504 could receive the context signaling. If the cell phone wireless access point function is set to ON, as shown in step 1408, then the user can access the network using his cell phone as an access point, as shown at step 1412. Otherwise, the user will first attempt to access the network using the standard wireless access points, as shown at step 1410. It is noted that, while the above discussion has had the cell wireless access point function being turned on and off, it is equally possible to simply change the computer default access options or the list of available access points, based on presence/context. For example, when the user is out of office, the default setting could be a designated public access point, instead of first searching for the enterprise access point. If that isn't available, the cell phone access point can be used.
Similarly, if the user is in the office, the default setting could be to use the local enterprise access point. Alternatively, the cell phone wireless access point could simply be removed from the list of options, or put last on the priority list, even if its signal strength is greater. As noted above, in addition to using presence information to set the cell phone wireless access point state, the cell phone's state can itself be used to set the presence states. For example, in certain embodiments, the presence and availability service 1206 can detect the wireless access mode status of the cellular telephone. For example, the presence and availability service 1206 may monitor the server's telephone interface 114 ( FIG. 1) to determine if it is in use.
If it is in use, and the enterprise network is not otherwise being accessed by the user, then the presence state could be set to “Out of Office.” •. 15 is a flowchart illustrating operation of such an embodiment of the present invention. At a step 1502, the cell phone wireless access point function 506 is detected to be in use by the presence and availability service 1206. The presence and availability service monitors the state, in a step 1504, i.e., to determine if it is a changed state. The presence and availability service 1206 may, for example, also monitor the states of others of the users' devices. In a step 1506, if there is a change in state, the presence and availability service 1206 sends the new presence state to the context agent 1202. The context agent 1202 can then set the context and promulgate the presence information to other parties, such as those who have placed the user on their contact list(s), in a step 1508.
In addition to examining the cell phone wireless access point state to determine user presence states or contexts, the context agent 1202 can also receive inputs from other applications, such as context oriented applications 1204, although other applications may also provide useful data. For example application 1204 may be a calendar program, such as Microsoft Outlook, and can provide calendar information to be used in conjunction with the status information to derive the context. For example, if the cell phone access point indicates In Use, and the Outlook calendar indicates a meeting is scheduled, then the context can be set to “Working Remotely.” •. 16 is a flowchart illustrating operation of such an embodiment. Fin a step 1602, the cell phone wireless access point is detected as being in use. At a step 1604, the presence and availability service 1206 monitors the presence status of the user. At a step 1606, application data, such as calendar data, is sent to the context agent 1202, along with the presence data.
In a step 1608, the context agent 1202 sets the user and/or device context. Finally, the context can be promulgated to other parties, in a step 1610. 17 is a table listing several presence rules that may be applied with reference to the cell phone wireless access point state. It is noted that these rules are exemplary only. For example, at 1702, the cell phone wireless access point is indicated to be in the ON state and the calendar indicates there is a meeting for that time. Now referring to FIG.
18, a representative block diagram of a server or controller 106 is illustrated. In some embodiments, the server 106 may include or operate a context oriented application, the context agent 102, and/or the presence and availability service 106. In addition, the server 106 may implement telephone network and packet network interfaces. The server 106 may be embodied as a single device or computer, a networked set or group of devices or computers, a workstation, mainframe or host computer, etc. In some embodiments, the server 106 may implement one more elements of the methods disclosed herein. The server 106 may include a processor, microchip, central processing unit, or computer 1801 that is in communication with or otherwise uses or includes one or more communication ports 1820 for communicating with user devices and/or other devices. The communication ports 1820 may include such things as local area network adapters, wireless communication devices, Bluetooth technology, etc.
In one embodiment, communication ports 1820 can be used as a network interface 112 to interface to the packet network 102; other communication ports 1820 can be used as telephone interfaces 114 to interface to the telephone network. The server 106 also may include an internal clock element 1804 to maintain an accurate time and date for the server 106, create time stamps for communications received or sent by the server 106, etc. Latest Punjabi Songs 3gp Free Download. In addition to the above, the server 106 may include a memory or data storage device 1805 to store information, software, databases, documents, communications, device drivers, etc. The memory or data storage device 1805 may be implemented as an appropriate combination of magnetic, optical and/or semiconductor memory, and may include, for example, Read-Only Memory (ROM), Random Access Memory (RAM), a tape drive, flash memory, a floppy disk drive, a Zip™ disk drive, a compact disc and/or a hard disk. The server 106 also may include memory 1803, such as ROM and RAM.
A conventional personal computer or workstation with sufficient memory and processing capability may be used as the server 106. The server 106 may be capable of high volume transaction processing, performing a significant number of mathematical calculations in processing communications and database searches.
A Pentium™ microprocessor such as the Pentium III™ or IV™ microprocessor, manufactured by Intel Corporation may be used for the processor 1801. Other suitable processors may be available from Motorola, Inc., AMD, or Sun Microsystems, Inc. The processor 1801 also may be embodied as one or more microprocessors, computers, computer systems, etc.
Software may be resident and operating or operational on the server 106. The software may be stored on the data storage device 1805 and may include a control program 1830 for operating the server, databases, etc. The control program 1830 may control the processor 610. The processor 610 may perform instructions of the control program 626, and thereby operate in accordance with the methods described in detail herein. The control program 1830 may be stored in a compressed, uncompiled and/or encrypted format.
The control program 1830 furthermore includes program elements that may be necessary, such as an operating system, a database management system and device drivers for allowing the processor 1801 to interface with peripheral devices, databases, etc. Appropriate program elements are known to those skilled in the art, and need not be described in detail herein. The server 106 also may include or store information regarding identities, user devices, contexts, presence information, communications, etc. For example, information regarding one or more identities may be stored in an identity information database 1832 for use by the server 106 or another device or entity.
Information regarding one or more identity or device contexts may be stored in a context information database 1834 for use by the server 106 or another device or entity; information regarding presence rules may be stored in a presence information database 1836 for use by the server 106 or another device or entity; and information regarding other application program data may be stored in application database 1204. In some embodiments, some or all of one or more of the databases may be stored or mirrored remotely from the server 106.
According to some embodiments, the instructions of the control program may be read into a main memory from another computer-readable medium, such as from the ROM to the RAM. Execution of sequences of the instructions in the control program causes the processor 1801 to perform the process elements described herein. In alternative embodiments, hard-wired circuitry may be used in place of, or in combination with, software instructions for implementation of some or all of the methods described herein. Thus, embodiments are not limited to any specific combination of hardware and software. The methods described herein may be embodied as a computer program developed using an object oriented language that allows the modeling of complex systems with modular objects to create abstractions that are representative of real world, physical objects and their interrelationships. However, it would be understood by one of ordinary skill in the art that the invention as described herein could be implemented in many different ways using a wide range of programming techniques as well as general-purpose hardware systems or dedicated controllers. In addition, in some embodiments, many, if not all, of the elements for the methods described above are optional or can be combined or performed in one or more alternative orders or sequences and the claims should not be construed as being limited to any particular order or sequence, unless specifically indicated.
Each of the methods described above can be performed on a single computer, computer system, microprocessor, etc. In addition, in some embodiments, two or more of the elements in each of the methods described above could be performed on two or more different computers, computer systems, microprocessors, etc., some or all of which may be locally or remotely configured. The methods can be implemented in any sort or implementation of computer software, program, sets of instructions, programming means, code, ASIC, or specially designed chips, logic gates, or other hardware structured to directly effect or implement such software, programs, sets of instructions, programming means or code. The computer software, program, sets of instructions or code can be storable, writeable, or savable on any computer usable or readable media or other program storage device or media such as a floppy or other magnetic or optical disk, magnetic or optical tape, CD-ROM, DVD, punch cards, paper tape, hard disk drive, Zip™ disk, flash or optical memory card, microprocessor, solid state memory device, RAM, EPROM, or ROM.