CN102291446B - 向应用程序通知状态变化的灵活体系结构 - Google Patents
向应用程序通知状态变化的灵活体系结构 Download PDFInfo
- Publication number
- CN102291446B CN102291446B CN201110222798.0A CN201110222798A CN102291446B CN 102291446 B CN102291446 B CN 102291446B CN 201110222798 A CN201110222798 A CN 201110222798A CN 102291446 B CN102291446 B CN 102291446B
- Authority
- CN
- China
- Prior art keywords
- status attribute
- client computer
- attribute
- notice
- state
- 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.)
- Expired - Lifetime
Links
- 230000008859 change Effects 0.000 claims abstract description 49
- 238000000034 method Methods 0.000 claims abstract description 34
- 230000004044 response Effects 0.000 claims abstract description 14
- 238000003860 storage Methods 0.000 claims description 27
- 238000013500 data storage Methods 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 22
- 230000009471 action Effects 0.000 claims description 9
- 230000000712 assembly Effects 0.000 claims description 7
- 238000000429 assembly Methods 0.000 claims description 7
- 230000036316 preload Effects 0.000 claims description 4
- 230000001052 transient effect Effects 0.000 claims description 4
- 230000002045 lasting effect Effects 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 7
- 230000001351 cycling effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003203 everyday effect Effects 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the requests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Telephone Function (AREA)
- Telephonic Communication Services (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
描述了一种用于存储设备、应用程序和服务状的统一机制的方法和系统,以及一种丰富的通知代理体系结构。客户机向通知代理程序注册以接收对状态属性变化的通知。当注册的状态属性改变时,通知代理程序确定向哪一客户机通知状态变化,并向客户机提供关于该变化的通知。一旦状态改变,当状态改变满足预定条件时,或根据时间表通知客户机。响应于状态改变也能装入应用程序。提供了一种应用编程接口(API),它提供了一种在设备的不同组件之间访问状态改变信息的统一的方法。
Description
本申请是申请日为2004年10月22日、申请号为第200410087701.X号、发明名称为“向应用程序通知状态变化的灵活体系结构”的中国专利申请的分案申请。
相关申请
本申请要求序号为60/513,723,在2003年10月23日提交的美国临时专利申请符合35USC119(e)的优先权。
背景技术
当今,移动设备被设计成运行各种应用程序,并保持用户能获得最新的当前信息。这些设备的某些包括个人数字助理、无线电话和电子邮件设备。移动设备现在能通过各种装置连接到因特网和其它网络,并从而能通过网络交换信息。这些移动设备能更新应用程序,并发送和接收信息,如电子邮件、电子邮件附件和网页内容。提供所有这些功能需要移动设备上的应用程序收到各种事件的通知,如当新的电子邮件可用时、当设备的屏幕被激活时、当收到电话时等。然而,访问与该设备关联的所有不同状态变化是困难的。
发明内容
简言之,本发明是针对在各设备间统一状态和通知的体系结构。
按本发明的一方面,客户机向通知代理程序(broker)注册以接收对状态属性改变的通知。当注册的状态属性改变时,通知代理程序确定向哪一客户机通知状态改变,并为客户机提供关于该变化的通知。例如,客户机能注册以接收关于电池强度变化、网络连接性、存储器使用等的通知。每当这些注册的态属性之一改变时,通知代理程序向客户机发通知消息。
按本发明另一方面,每当状态改变,当状态改变满足预定条件时,或根据一时间表来通知客户机。按本发明的又一方面,响应于状态改变或时间表能装入应用程序。例如,客户机能注册,以当发生某个事件时,如移动设备接收到定向到要装入的应用程序的消息时,启动该应用程序。也能根据客户机配置的时间表来启动应用程序。
按本发明的再一方面,提供一种应用编程接口(API),它针对提供一种在设备内不同组件之间访问状态变化信息的统一方法。例如,应用程序能使用同一函数调用来访问由设备内的不同组件设置的状态属性。
按本发明的还有一个方面,注册状态属性能跨设备重起而保持不变。
附图说明
图1示出一个示例性计算设备;
图2示出一个示例性移动设备;
图3示出一个示例性状态管理和通知系统;
图4示出用于状态变化通知系统的过程;以及
图5示出按本发明的各方面处理状态变化信息的过程。
具体实施方式
简言之,本发明针对提供一种用于存储设备、应用程序和服务状态的统一机制的方法和系统,以及一种丰富的通知代理体系结构。一般而言,客户机向通知代理程序注册,以便在某些状态属性改变时接收通知。当注册的状态属性改变时,通知代理程序判断向哪一客户机通知该状态变化,并向该客户机提供关于此变化的通知。每当状态改变,当状态变化满足预定条件时,或根据一时间表来通知客户机。也可响应于状态变化或时间表来装入应用程序。也提供了一种应用编程接口(API),它针对提供一种在设备内不同组件之间访问状态变化的统一方法。
在整个说明书和权利要求书中,下列术语至少采取明确与此处相关的意义,除非上下文清楚地另外要求。下面标识的意义并不意味着局限这些术语,而仅提供这些术语的说明性示例。“一”,“一个”和“该”的意义包括多个引用,“在……中”的意义包括“在……内”和“在……上”。
术语“状态属性”指的是向通知系统注册并存储的“状态”变量,用于维护和改变通知。
术语“通知请求”指的是来自要向其通知状态变化的客户机的请求。
术语“通知列表”指的是已注册状态属性变化通知的客户机的集合。
术语“通知代理程序”指的是负责从数据存储中添加、更新和移除数据的底层驱动程序。
术语“状态改变组件”指的是添加,更新,或通常维护数据存储中的状态属性的任何组件。
术语“客户机”指的是注册状态属性改变通知的任何组件。客户机可以是状态改变组件,状态改变组件也可以是客户机。
术语“状态属性标识符”指的是状态属性的“友好”串(名)的表示。此标识符能是分层的,并是唯一的。
术语“条件通知”指的是当状态属性改变且状态属性的新值满足通知请求中规定的条件时所发出的通知。
说明性操作环境
参考图1,用于实现本发明的示例性系统包括诸如计算设备100的计算设备。计算设备100能被配置成客户机或服务器。在很基本的配置中,计算设备100通常包括至少一个处理单元102和系统存储器104。按照计算设备的确切配置和类型,系统存储器104能是易失(如RAM)、非易失(如ROM,闪存等)或两者的某种组合。系统存储器104通常包括操作系统105、一个或多个程序模块106,并能包括程序数据107。在图1中,这些基本配置由在虚线108中的那些组件示出。
计算设备100能具有附加特征或功能。例如,计算设备100还能包括另外的数据存储设备(可移动和/或不可移动的),如磁盘、光盘或磁带。在图1中,这些另外的存储用可移动存储109和不可移动存储110示出。计算机存储介质能包括以用于存储如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失和非易失、可移动和不可移动介质。系统存储器104,可移动存储109,和不可移动存储110均是计算机存储介质之例。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、盒式磁带、磁带、磁盘存储或其它磁存储设备,或能用于存储希望的信息并能由计算设备100访问的其它介质。任何那样的计算机存储介质能是设备100的部分。计算设备100还能具有输入设备112,如键盘、鼠标、输入笔、语音输入设备、触摸输入设备等。还能包括如显示器、扬声器、打印机等输出设备。
计算设备100还包含通信连接,它允许该设备如经过网络与其它计算设备118通信。通信连接116是通信媒体的例子。通信媒体通常在如载波或其它传输机制的已调制数据信号包含计算机可读指令、数据结构、程序模块或其它数据,并包括任何信息传送媒体。术语“已调制数据信号”意为以如在信号中编码信息的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信媒体包括如有线网络或直线连接的有线媒体,如声音、RF、红外和其它无线媒体的无线媒体。这里使用的术语计算机可读媒质包括存储介质和通信媒体。
参考图2,用于实现本发明的一个示例性系统包括如移动设备200的移动设备。移动设备200具有处理器260、存储器262、显示器228和小键盘232。存储器262一般包括易失存储器(如RAM)和非易失存储器(如ROM、闪存等)。移动设备200包括操作系统264,如微软公司的Windows CE操作系统或其它操作系统,它们驻留在存储器262中,并在处理器260上执行。小键盘232可以是压键数字拨号盘(象典型的电话)、多键键盘(如传统的键盘)。显示器228能是液晶显示器,或在移动设备中常用的任何其它类型显示器。显示器228能是触敏的,因而能用作输入设备。
一个或多个应用程序能加载到存储器262中,并在操作系统264上运行。应用程序的示例包括电话拨号程序、电子邮件程序、时间表程序、PIM(个人信息管理)程序、文字处理程序、电子表格程序、因特网浏览器程序等。应用程序266能使用共用的API,以在与设备关联的状态属性上执行动作。例如,电话拨号程序能向通知系统注册,以接收关于对信号强度、电话状态、电池强度的改变的通知。移动计算设备200在存储器262中还包括非易失存储268。非易失存储268可用于存储永久性信息,它在移动计算设备200掉电时也不会丢失。应用程序266能使用和储存存储器268中的信息,如电子邮件或由电子邮件应用程序使用的其它消息、由PIM使用的联系人信息、由时间表程序使用的约会信息、由文字处理程序使用的文档等。
移动计算设备200具有实现为一个或多个电池的电源270。电源还能包括外接电源,如AC适配器或补充或重充电电池的电源连接座。
移动计算设备200还能包括外部通知机制,如LED(未示出)和音频接口274。这些设备能直接耦合到电源270,使得在激活时,即使关闭处理器260和其它组件来节省电池功率,它们仍按通知机制所指示的在一段时间内保持打开。音频接口274用于向用户提供音频信号并从用户接收音频信号。例如,音频接口274能耦合至扬声器以提供音频输出,并耦合至麦克风以接收听觉输入以便于电话对话。
移动计算设备200还能包含通信连接240,它允许设备如经无线网络与其它计算设备进行通信。移动计算设备200还包括无线电接口层272,它执行发送和接收射频通信的功能。无线电接口层272通过通信载波或服务提供商方便了在移动计算设备200和外部世界之间的无线连接。到无线电接口层272的来回发送在操作系统264的控制下进行。换言之,由无线电接口层272和通信连接240接收的通信能通过操作系统传播到应用程序,反之亦然。
说明性状态变化通知系统
图3按本发明的诸方面示出了示例状态管理和通知系统。通知系统300包括状态改变组件310、客户机315和320、通知代理程序335和数据存储330。按一个实施例,通知代理程序335还维护通知列表340、高速缓存属性345和调度程序350。
如客户机315或320那样的客户机向通知代理程序335注册来接收关于对状态属性的变化的通知。一般而言,每当状态属性改变,当变化满足一条件时或根据一时间表,客户机用注册该客户机以接收通知的通知代理程序335作出通知请求。通知能是永久的或暂时的通知。
永久的通知被保存在数据存储(320)中。按照一个实施例,永久的通知保存在如注册表的后端数据存储中,因而跨重起是“持久不变的”。因为这些通知是持久的,这些类型的状态属性在软复位(或关闭)之前具有与重起(或起动)之后相同的值。。按照一个实施例,状态属性默认地是持久的。
暂时通知不是永久的,因而跨重起是不持久保持的。换言之,若软复位(或重起)设备,从通知列表340中删除通知请求。为了恢复暂时通知,客户机重新注册(向通知代理程序335发送另一通知请求)以接收关于对状态属性的变化的通知。
客户机还能注册,使在发生状态改变时和/或按时间表装入应用程序。通常,如果当状态改变或已调度的时间出现时客户机所指定的应用程序尚未运行,则通知代理程序335发出命令以启动该应用程序。按一个实施例,客户机能指定当装入时发送给该应用程序的命令行参数。若装入的进程创建一窗口,则向该窗口发送表示该通知的消息。若目标进程已在客户机上运行,则客户机仅接收通知消息。
发送给客户机的通知也能分批处理。分批的状态属性供经常经常发生值变化的状态属性使用。设定允许使状态属性值“稳定”的预定的时间周期。按一个实施例,预定周期设成200ms。若在预定期间未向状态属性值作出改变,则将该通知传送给注册的客户机。分批预定周期是可配置的,并存储在数据存储330中。
数据存储330被配置成存储注册的状态属性,以及其它信息。按一个实施例,数据存储330是操作系统提供的注册表,如由微软公司的Windows XP操作系统提供的注册表。数据存储330也能是在其中能设置和访问信息的其它类型的数据存储。数据存储330还能包括在通知系统300的各种位置上维护的一个或多个数据存储。
数据存储330也能用可由客户机315和320访问的状态属性的默认设置预加载。预加载状态属性数据使许多状态属性可用,而客户机不必添加状态属性。例如,按一个实施例,下面状态对客户机可用而不必注册该状态:显示校准(分辨率,亮度)、不消除的提醒(计数、主题、日期、时间、位置)、不消除的警告(计数、描述、日期、时间)、电池(剩余电量的%、状态)、后备电池(剩余电量的%、状态)、存储器(空闲的程序存储器、已使用的程序存储器、空闲的存储存储器、已使用的存储存储器)、存储卡(总的空闲存储器、总的已使用存储器)、硬件(按下电话状态(开/关)、启用键盘、启用Wifi、启用蓝牙、头戴式耳机存在、相机存在)、消息(未读计数、总计数、草稿计数、发件箱计数)、任务(高优先级计数、今天的任务计数、已过期计数)、日程表(下次约会、名字、位置、日期、时间、POOM ID)、白天的约会(名字、位置、日期、时间、POOM ID)、当前约会(名字、位置、日期、时间、POOM ID);当前空闲/忙碌状态、即时消息(状态、在线联系人计数、离线联系人计数)、连接性(速度、Wifi、接入点、信号强度、连接名、连接到(工作,互联网)、状态)、媒体播放器(状态、播放列表(名称、模式(重复,随机)、音轨记数、总持续时间)、音轨(类型(音频、视频)、名称、专辑、艺术家、音轨数、流派、年、持续时间、播放演位置、文件名、比特率)、同步状态、电话(操作员、信号强度、电话状态、概览、漫游、无线电状态、有效呼叫(呼叫者名、呼叫者号码)、未接呼叫计数、SIM工具组消息。如能看到,状态覆盖了许多不同的应用程序。
按一个实施例,状态属性数据被组织成一层次结构。该层次结构使客户机能通过参照其父属性来规定一组状态属性。状态属性能设置成如串、整型、浮点型等数据类型。
客户机能通过状态属性的“友好”串(名)表示来标识状态属性。例如,“battery\a”参照在父“battery(电池)”之下的状态属性“a”,同样,“battery\b”能是在父“battery”之下的状态属性“b”。当参照共同的父之下的一组状态属性时,能使用父标识符。例如,为接收基于对所有电池状态的变化的通知,在注册表中提供“battery”,从而使用单个名字参照所有电池状态属性。
代理程序335能被配置成控制对数据存储330中设置/调节/移除状态属性类型的访问。例如,能在状态属性上加上限制,它将从通知系统中的删除属性局限到预定的客户机的列表上。当删除状态属性时,向已注册关于该属性的通知的客户机通知这一删除。
如上讨论,客户机315和320注册他们在接收关于这些状态属性何时改变的通知时所感兴趣的的状态属性。客户机能注册,以每当他们所注册的状态改变时,当施加到状态值的条件满足一条件时,或在预定时间表到达时接收通知。条件通知可基于许多不同的条件。按一个实施例,条件包括:所有、等于、不等于、大于、大于或等于、小于或等于、小于、包含、以……开始、以……结束。例如,客户机315能向通知代理程序335注册,以当未接呼叫计数状态属性大于15时,和当呼叫者的名字包含“Ja”时接收通知。加条件使客户机能接收他们关注的状态改变信息而不必处理他们无关心的状态改变信息。
注册来接收关于对状态属性的改变的通知的客户机在通知列表340中维护。通知代理程序335访问通知列表340,以便当注册的状态属性改变时确定应接收通知的客户机。
调度程序350可被配置成根据时间表通知和/或激活客户机。调度的激活通知模式允许客户机根据向通知代理程序335注册的简化的循环时间表接收通知。时间表能被配置成以任意的时间间隔发生,如按秒、分、小时、天、星期、或月的度量。按一个实施例,时间表由第一次出现的日期/时间和两次出现的时间量来定义。此外,可不以循环时间间隔来定义时间表。当不提供循环时间间隔时,通知只发送一次,然后从通知列表中移除该注册。此外,当通知到达时,若未能找到指定的(在通知请求期间提供的)应用程序路径,则从通知列表340移除该已调度的通知注册。
当状态改变时,状态变化组件310在数据存储330中更新该状态属性的值。状态变化组件310能直接在数据存储330中更新状态,或通过通知代理程序335来更新。当通过数据存储330更新状态时,数据存储330向通知代理程序335传递此变化。当通过通知代理程序335更新状态时,通知代理程序335在数据存储330中更新状态。在任一情况下,通知代理程序335根据状态变化确定应通知哪些客户机。通知代理程序335分析通知列表340,并确定已注册了关于该状态变化的通知的客户机。通知代理程序335向已经改变的状态属性值施加任何条件,并在条件满足时通知客户机。当不存在与该状态变化关联的条件时,向该客户机通知该状态变化。
当如客户机315和320那样的客户机从通知代理程序335接收通知时,客户机能调用公用API中的功能(见下面讨论)来检索该状态属性的新状态。可选地,可将该属性信息连同通知一起直接传送到客户机。当用户对接收有关特定状态属性的通知不再感兴趣时,客户机能从接收关于该状态属性的改变通知撤消其本身的注册。客户机315和320也能在任何时刻使用公用API直接查询代理程序335,以找到状态属性的状态。
状态属性值也能由通知代理程序335高速缓存在高速缓存属性345中。状态属性值能根据许多不同理由高速缓存。例如,状态属性值能被高速缓存,使得可将状态属性的先前值与该状态属性的当前值进行比较。此外,高速缓存能帮助便于请求状态属性值的快速重复查找。
按一个实施例,通知系统300支撑.NET(管理的)客户机,以向存储添加和改变通知注册。
以下是进一步表明状态管理通知系统300的某些示例性场景。
例1:ISV服务
网络新手Norm构建了C#应用程序,它保持了当前赛季棒球的统计数据(如,队、队员、得分、状态等)的完整数据库。他还构建了简单的XML Web-服务客户机,它能连接到体育网站并下拉出已更新的日统计。因为该应用存储的数据量相当大,Norm仅希望其应用程序在设备(如PPC)上的“粗管道(fat pipe)”(如802.1x)可用时同步数据。然后Norm通过向通知代理程序335发送对当高带宽连接可用时的通知的请求来注册其应用程序。Norm在通知请求中另外规定,当高带宽连接可用时装入其应用程序的请求。当与连接关联的状态变化组件更新该连接状态时,若状态表明它是高速连接,则通知代理程序335激活Norm的应用程序。
例2:LOB公司(商务线)应用程序
企业开发者Elph构建了基于现场服务形式的VB.Net应用程序,供保险精算人使用。该应用程序允许保险调停者查找零件数和价格、作出注释、检索汽车的原理图等。每天,保险精算人在现场拿出他的移动设备为客户机服务。该应用程序在数据存储中本地持久保存今天的操作的所有数据。Elph希望每当连接上设备时,该应用程序将离线存储与公司主服务器同步。因而,Elph注册其应用程序以接收通知同步连接事件的通知。每当连接上设备时,向该应用程序通知,且该应用程序同步其数据。
例3:电话游戏
电话游戏开发者Golem正在构建下一代电话多游戏者RPG。他希望该游戏是非常普及的,使得它一次能持续数周和数月。Golem主要关心的一个问题是没有用户的干预游戏状态的持久性。该游戏的纯粹特征之一是在电话电池耗尽之前保存当前的状态,并确保用户永不丢失任何数据的能力。Golem注册他的应用程序来接收电量不足的通知,以确保在设备电池耗尽前保存游戏信息。
例4:设备管理客户机
应急企业管理客户机开发者Eric寻求创建下一代移动计算设备和电话管理客户机;能够处理客户机更新、病毒扫描、政策实施及其它更多的功能。他使用C#已构建了强有力的设备方客户机,它能基于服务器驱动的命令处理诸请求。每天凌晨3点,Eric希望他的应用程序“醒来”,使他能联系服务器来寻找已更新的政策、病毒扫描器的签名等。为此,他简单地向通知代理程序335注册其应用程序以接收已调度的通知(每天凌晨3点)。Eric现能确保他的应用程序在指定时间运行。
图4示出按本发明的诸方面用于状态变化通知系统的过程。在开始块之后,过程400前进到块410,其中,客户机注册以获得对至少一个状态属性的改变的通知。若该状态属性不是已由另一客户机监控,则将该状态属性添加到可用状态属性的列表中。如上讨论,可用属性的列表被预加载到通知系统。客户机能注册以接收关于对该属性作出的所有变化、满足条件的变化的通知,以及按时间表来通知。
移到块420,向通知系统注册回叫,使得当对注册的状态属性作出变化时,令通知系统知道该变化。按一个实施例,通知代理程序向操作系统注册表注册对状态属性值作出的变化的回叫。
前进到块430,将该客户机添加到通知列表,以接收关于该装态属性的通知消息。包括在通知列表中的客户机接收关于对注册的状态属性的变化的通知。
移到块440,当对任何注册的状态属性作出变化时,接收回叫。按一个实施例,回叫包括标识状态属性变化的标识符和状态属性的当前值。
移到块450,处理状态变化信息。一般而言,处理状态变化信息包括判断是否向每一对改变的状态属性已注册的客户机应用了任何条件、时间表、分批处理或应用程序装入条件(见图5及有关讨论)。
图5示出按本发明的诸方面处理状态改变信息的过程。在开始块500之后,过程前进到块510,其中,访问注册接收有关改变的状态属性的状态变化的通知用户。按一个实施例,访问通知表以确定对已改变的状态属性已注册的客户机。
移到判断块520,在通知客户机之前判断该客户机是否已规定要应用到该状态属性的任何条件。
当条件表达式与通知请求关联时,过程前进到块530,其中,判断条件是否满足。当条件满足,或当客户机未规定任何条件时,过程前进到判断块540,其中,判断客户机是否规定响应于状态属性的变化而装入应用程序。当客户机规定装入应用,过程前进到块550,其中,若应用程序尚未运行,则装入该应用程序。当客户机未规定装入应用程序,或在块550该应用程序已经被装入,则过程移到块560,向客户机通知状态变化。
然后,过程前进到判断块570,判断是否有更多的注册来接收关于对该状态属性变化的通知的客户机。当存在另一客户机时,过程返回到块510。当不存在其它客户机,则过程移到结束块并返回以处理其它行动。
状态属性类型和模式
按本发明的一个实施例,能使用两个API来访问通知系统中的状态信息。提供一本机或底层API,并向客户机提供已管理的API。已管理的API访问本机API以执行其操作。
下面是按本发明的诸方面的示例性本机API:
上述说明,示例和数据提供了本发明的组成的制作和使用的完整描述。因为能在不脱离本发明的精神和范围的情况下作出许多本发明的实施例,因此本发明蕴含在所附权利要求书中。
Claims (20)
1.一种用于响应于状态属性改变向客户机提供通知的方法,包括:
接收来自客户机的通知请求,所述通知请求是响应于所述客户机注册的状态属性的改变来接收通知,其中所述客户机利用应用程序接口API来注册所述通知请求,其中通过所述API作出的所述通知请求指定在发生以下情况的至少一个时接收通知:当已注册的状态属性改变时、当对状态属性的改变满足通过所述API指定的条件表达式时、以及在预定的时间表到达时,其中所述API还包括以下功能:注册状态属性;查询状态属性;以及设置状态属性;
确保所述状态属性向通知系统注册,其中所述通知系统包括存储由计算设备内的不同组件更新的状态属性的数据存储;
确定所述状态属性何时改变;
确定所述客户机应何时接收所述状态属性改变的通知;以及
在确定所述状态属性改变时将所述状态属性改变通知给所述客户机。
2.如权利要求1所述的方法,其特征在于,所述通知是永久通知或暂时通知;其中所述永久通知存储在所述数据存储中使得所述永久通知跨重启是持久保持的;其中所述暂时通知是跨重起不持久保持的。
3.如权利要求1所述的方法,其特征在于,所述API包括用于指定在所述计算设备处于待机模式时当已注册的状态属性发生改变时所述计算设备的动作的功能,其中所述动作包括:忽略所述改变、使所述计算设备离开待机模式、以及在所述计算设备因不同事件而离开待机模式时引发所述事件。
4.如权利要求1所述的方法,其特征在于,所述条件表达式是使用以下条件通过所述API来表达的:所有、相等、不等、大于、大于等于、小于等于、小于、包含、以……开始和以……结束。
5.如权利要求1所述的方法,其特征在于,还包括使用所述API来指定何时响应于以下的至少一个起动所述客户机指定的应用程序:状态属性改变和已排定事件,以及在状态属性改变时何时通知客户机的窗口并通知回叫。
6.如权利要求1所述的方法,其特征在于,所述客户机使用状态属性之一的友好串名来标识状态属性之一。
7.如权利要求1所述的方法,其特征在于,确定所述状态属性何时改变还包括使用所述API来指定对发生在预定时间段内的所述状态属性的改变的批处理操作;其中对所述API批处理操作的调用指定在向所述客户机通知所述状态属性的改变之前所述状态属性的值要保持恒定的时间段。
8.如权利要求1所述的方法,其特征在于,接收来自客户机的通知请求还包括在与所述请求相关联的标识符标识一状态属性类别时,将一组状态属性与来自所述客户机的通知请求相关联,其中所述状态属性在所述通知系统内以分层结构排列。
9.如权利要求1所述的方法,其特征在于,还包括提供预加载状态属性,所述预加载状态属性可被所述客户机访问而无需任何客户机向所述通知代理程序注册所述预加载属性,其中所述预加载状态属性包括以下状态中的大部分:显示校准状态;不消除提醒状态;不消除警告状态;电池状态;存储器状态;存储卡状态;硬件状态、键盘启用状态、Wifi启用状态、蓝牙启用状态、头戴式耳机存在状态、相机存在状态;消息状态;任务状态;日程表状态;即时消息状态;连接性状态;媒体播放器状态;同步状态;以及电话状态。
10.一种用于状态管理和通知的系统,包括:
移动设备上的数据存储,所述数据存储被安排成存储与状态属性有关的信息,其中所述状态属性中的至少一些由不同组件修改;
应用程序接口API,所述API被配置成执行与所述状态属性有关的操作;其中所述API包括以下功能:注册状态属性;查询状态属性;设置状态属性;注册与状态属性有关的通知请求;起动应用程序;以及状态属性与条件表达式进行比较;
客户机,所述客户机被配置成使用所述API注册通知请求,并响应于它们已注册要接收通知的状态属性的改变来接收通知,其中所述通知请求指示所述客户机何时应响应于与所述状态属性相关联的改变来接收通知;
通知列表,所述通知列表被安排成存储已注册要接收通知请求的客户机;
耦合到所述数据存储、所述通知列表和所述客户机的通知代理程序,其中所述通知代理程序包括被配置成执行以下动作的应用程序:
接收将至少一个客户机添加到所述通知列表的通知请求;
将所述至少一个客户机添加到所述通知列表;以及
确定已注册的状态属性何时改变,并且当所述状态属性改变时,确定要接收通知的客户机,并向所确定的客户机通知所述状态属性改变。
11.如权利要求10所述的系统,其特征在于,确定要接收所述通知的客户机包括:在向所述客户机通知所述状态属性的改变之前,将通过所述API指定的条件表达式应用于所述状态属性。
12.如权利要求11所述的系统,其特征在于,通过所述API指定的条件表达式包括以下条件:所有、相等、不等、大于、大于等于、小于等于、小于、包含、以……开始和以……结束。
13.如权利要求11所述的系统,其特征在于,还包括响应于状态属性变化和已排定事件的至少一个起动所述客户机,或者响应于由所述客户机确定的时间表通知所述客户机。
14.如权利要求11所述的系统,其特征在于,还包括使用所述API来指定对发生在预定时间段内的所述状态属性的改变的批处理操作;其中对所述API批处理操作的调用指定在向所述客户机通知所述状态属性的改变之前所述状态属性的值要保持恒定的时间段。
15.如权利要求10所述的系统,其特征在于,所述客户机使用状态属性之一的友好串名来标识状态属性之一。
16.如权利要求10所述的系统,其特征在于,所述数据存储内的状态属性的值跨重启而持久保存,并且其中所述API包括用于指定当所述移动设备处于待机模式时在对已注册的状态属性发生改变时的动作的功能,其中所述动作包括:忽略所述改变、使所述移动设备离开待机模式、以及在所述移动设备因不同事件而离开待机模式时引发所述事件。
17.一种用于对状态属性执行操作的方法,包括:
接收标识一组状态属性内的至少一个状态属性的标识符参数;其中所述一组状态属性内的状态属性由计算设备上的不同组件来更新;其中客户机利用应用程序接口API来注册通知请求,所述通知请求是响应于所述客户机注册的状态属性的改变来接收通知;所述API包括以下功能:注册状态属性;查询状态属性;以及设置状态属性;
确定要执行的、与所述一组状态属性内的一状态属性有关的操作;以及
执行所述操作。
18.如权利要求17所述的方法,其特征在于,还包括:将通过所述API指定的条件表达式应用于所述状态属性,并在满足所述条件时向所述客户机通知所述状态属性,其中所述条件表达式包括以下条件的至少一个:所有、相等、不等、大于、大于等于、小于等于、小于、包含、以……开始和以……结束。
19.如权利要求17所述的方法,其特征在于,还包括响应于所述状态属性的改变以及已排定事件中的至少一个起动客户机应用程序,或者响应于所述客户机确定的时间表来通知所述客户机。
20.如权利要求17所述的方法,其特征在于,所述API还包括以下功能:指定用于发生在预定时间段内的所述状态属性的改变的批处理操作,并指定在所述计算设备处于待机模式且对已注册状态属性发生改变时用于所述计算设备的动作,所述动作包括:忽略所述改变、使所述计算设备离开待机模式、以及在所述计算设备因不同事件而离开待机模式时引发所述事件。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US51372303P | 2003-10-23 | 2003-10-23 | |
US60/513,723 | 2003-10-23 | ||
US10/873,881 | 2004-06-22 | ||
US10/873,881 US7644376B2 (en) | 2003-10-23 | 2004-06-22 | Flexible architecture for notifying applications of state changes |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200410087701XA Division CN1617501B (zh) | 2003-10-23 | 2004-10-22 | 向应用程序通知状态变化的灵活体系结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102291446A CN102291446A (zh) | 2011-12-21 |
CN102291446B true CN102291446B (zh) | 2014-11-26 |
Family
ID=34526892
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200410087701XA Expired - Lifetime CN1617501B (zh) | 2003-10-23 | 2004-10-22 | 向应用程序通知状态变化的灵活体系结构 |
CN201110222798.0A Expired - Lifetime CN102291446B (zh) | 2003-10-23 | 2004-10-22 | 向应用程序通知状态变化的灵活体系结构 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200410087701XA Expired - Lifetime CN1617501B (zh) | 2003-10-23 | 2004-10-22 | 向应用程序通知状态变化的灵活体系结构 |
Country Status (5)
Country | Link |
---|---|
US (3) | US7644376B2 (zh) |
EP (1) | EP1679596A3 (zh) |
JP (1) | JP4790245B2 (zh) |
KR (1) | KR100920850B1 (zh) |
CN (2) | CN1617501B (zh) |
Families Citing this family (104)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6578054B1 (en) | 1999-10-04 | 2003-06-10 | Microsoft Corporation | Method and system for supporting off-line mode of operation and synchronization using resource state information |
US6909910B2 (en) * | 2002-02-01 | 2005-06-21 | Microsoft Corporation | Method and system for managing changes to a contact database |
US7644376B2 (en) * | 2003-10-23 | 2010-01-05 | Microsoft Corporation | Flexible architecture for notifying applications of state changes |
KR100640483B1 (ko) * | 2004-10-22 | 2006-10-30 | 삼성전자주식회사 | 이동통신 단말기에서 통화 모드를 자동변경하기 위한 장치및 방법 |
US8001476B2 (en) | 2004-11-16 | 2011-08-16 | Open Text Inc. | Cellular user interface |
US8418075B2 (en) | 2004-11-16 | 2013-04-09 | Open Text Inc. | Spatially driven content presentation in a cellular environment |
US9479468B2 (en) | 2005-07-11 | 2016-10-25 | Google Inc. | Presenting instant messages |
US7543003B2 (en) * | 2005-08-25 | 2009-06-02 | Microsoft Corporation | Providing change notifications to an entity-regarding a change of a specific type to data in a relational database |
US8225231B2 (en) | 2005-08-30 | 2012-07-17 | Microsoft Corporation | Aggregation of PC settings |
KR100717047B1 (ko) * | 2005-10-20 | 2007-05-10 | 삼성전자주식회사 | 간편하게 웹 페이지를 표시하는 방법 및 장치 |
KR100739755B1 (ko) | 2005-11-09 | 2007-07-13 | 삼성전자주식회사 | UPnP 이벤트에 관한 정보를 효율적으로 송수신하는방법 및 장치 |
US7757185B2 (en) * | 2006-01-06 | 2010-07-13 | Apple Inc. | Enabling and disabling hotkeys |
US7599861B2 (en) | 2006-03-02 | 2009-10-06 | Convergys Customer Management Group, Inc. | System and method for closed loop decisionmaking in an automated care system |
US7930727B1 (en) * | 2006-03-30 | 2011-04-19 | Emc Corporation | System and method for measuring and enforcing security policy compliance for software during the development process of the software |
US8379830B1 (en) | 2006-05-22 | 2013-02-19 | Convergys Customer Management Delaware Llc | System and method for automated customer service with contingent live interaction |
US7809663B1 (en) | 2006-05-22 | 2010-10-05 | Convergys Cmg Utah, Inc. | System and method for supporting the utilization of machine language |
US8205189B2 (en) * | 2006-07-13 | 2012-06-19 | Oracle International Corporation | Method and system for definition control in a data repository application |
US20080039169A1 (en) * | 2006-08-03 | 2008-02-14 | Seven Lights, Llc | Systems and methods for character development in online gaming |
US20080039166A1 (en) * | 2006-08-03 | 2008-02-14 | Seven Lights, Llc | Systems and methods for multi-character online gaming |
US20080039165A1 (en) * | 2006-08-03 | 2008-02-14 | Seven Lights, Llc | Systems and methods for a scouting report in online gaming |
US9417758B2 (en) * | 2006-11-21 | 2016-08-16 | Daniel E. Tsai | AD-HOC web content player |
US8671146B2 (en) | 2007-02-28 | 2014-03-11 | Microsoft Corporation | Presence aware notification for information technology management |
US8015571B2 (en) * | 2007-03-16 | 2011-09-06 | Google Inc. | Registering an event |
JP4413941B2 (ja) * | 2007-03-22 | 2010-02-10 | 株式会社東芝 | 情報処理装置 |
US8805346B1 (en) | 2007-04-13 | 2014-08-12 | At&T Mobility Ii Llc | Caller information retrieval system for unavailable calls |
US20090017802A1 (en) * | 2007-04-13 | 2009-01-15 | At&T Mobility Ii Llc | Undelivered Call Indicator |
JP5088080B2 (ja) * | 2007-10-04 | 2012-12-05 | ソニー株式会社 | 電子機器及び異常状態表示方法 |
US20090210822A1 (en) * | 2008-02-18 | 2009-08-20 | Microsoft Corporation | Locating meeting users |
US20090210882A1 (en) * | 2008-02-18 | 2009-08-20 | International Business Machines Corporation | System and methods for asynchronously updating interdependent tasks provided by disparate applications in a multi-task environment |
US7860900B2 (en) * | 2008-02-25 | 2010-12-28 | Microsoft Corporation | Consistently signaling state changes |
US7899798B2 (en) * | 2008-02-25 | 2011-03-01 | Microsoft Corporation | Observing and reporting changes in complex software dependencies |
US8832122B2 (en) * | 2008-09-30 | 2014-09-09 | Apple Inc. | Media list management |
US8411046B2 (en) | 2008-10-23 | 2013-04-02 | Microsoft Corporation | Column organization of content |
US8086275B2 (en) | 2008-10-23 | 2011-12-27 | Microsoft Corporation | Alternative inputs of a mobile communications device |
US8628015B2 (en) * | 2008-10-31 | 2014-01-14 | Hand Held Products, Inc. | Indicia reading terminal including frame quality evaluation processing |
US8238876B2 (en) | 2009-03-30 | 2012-08-07 | Microsoft Corporation | Notifications |
US8175653B2 (en) | 2009-03-30 | 2012-05-08 | Microsoft Corporation | Chromeless user interface |
US8836648B2 (en) | 2009-05-27 | 2014-09-16 | Microsoft Corporation | Touch pull-in gesture |
JP4878060B2 (ja) * | 2009-11-16 | 2012-02-15 | シャープ株式会社 | ネットワークシステムおよび管理方法 |
US20110153728A1 (en) * | 2009-12-17 | 2011-06-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Synchronization of sporadic web poll traffic |
US8566653B2 (en) * | 2009-12-22 | 2013-10-22 | At&T Intellectual Property I, L.P. | Infrastructure for rapid service deployment |
US20110185396A1 (en) * | 2010-01-26 | 2011-07-28 | Ntt Docomo, Inc. | Information-processing apparatus, information-processing method, and computer-readable storage medium |
JP5793869B2 (ja) * | 2010-03-05 | 2015-10-14 | 株式会社リコー | 伝送管理システム、伝送管理方法、及び伝送管理プログラム |
JP5625462B2 (ja) * | 2010-04-16 | 2014-11-19 | 船井電機株式会社 | 携帯情報表示端末 |
US9081633B2 (en) * | 2010-05-24 | 2015-07-14 | Microsoft Technology Licensing, Llc | Remote application connection sharing |
US20120066694A1 (en) | 2010-09-10 | 2012-03-15 | International Business Machines Corporation | Event overflow handling by coalescing and updating previously-queued event notification |
US8694625B2 (en) * | 2010-09-10 | 2014-04-08 | International Business Machines Corporation | Selective registration for remote event notifications in processing node clusters |
US8984119B2 (en) | 2010-11-05 | 2015-03-17 | International Business Machines Corporation | Changing an event identifier of a transient event in an event notification system |
US8667126B2 (en) | 2010-12-03 | 2014-03-04 | International Business Machines Corporation | Dynamic rate heartbeating for inter-node status updating |
US8984120B2 (en) * | 2010-12-16 | 2015-03-17 | International Business Machines Corporation | Determining an unexpected disconnect event constraint within a text exchange session |
US20120159395A1 (en) | 2010-12-20 | 2012-06-21 | Microsoft Corporation | Application-launching interface for multiple modes |
US20120159383A1 (en) | 2010-12-20 | 2012-06-21 | Microsoft Corporation | Customization of an immersive environment |
US8689123B2 (en) * | 2010-12-23 | 2014-04-01 | Microsoft Corporation | Application reporting in an application-selectable user interface |
US8612874B2 (en) | 2010-12-23 | 2013-12-17 | Microsoft Corporation | Presenting an application change through a tile |
US9423951B2 (en) | 2010-12-31 | 2016-08-23 | Microsoft Technology Licensing, Llc | Content-based snap point |
GB2501180B (en) * | 2011-01-28 | 2020-06-17 | Hewlett Packard Development Co | Distributing information |
US9383917B2 (en) | 2011-03-28 | 2016-07-05 | Microsoft Technology Licensing, Llc | Predictive tiling |
US8634330B2 (en) | 2011-04-04 | 2014-01-21 | International Business Machines Corporation | Inter-cluster communications technique for event and health status communications |
US8893033B2 (en) | 2011-05-27 | 2014-11-18 | Microsoft Corporation | Application notifications |
US9158445B2 (en) | 2011-05-27 | 2015-10-13 | Microsoft Technology Licensing, Llc | Managing an immersive interface in a multi-application immersive environment |
US9104307B2 (en) | 2011-05-27 | 2015-08-11 | Microsoft Technology Licensing, Llc | Multi-application environment |
US9658766B2 (en) | 2011-05-27 | 2017-05-23 | Microsoft Technology Licensing, Llc | Edge gesture |
US20120304132A1 (en) | 2011-05-27 | 2012-11-29 | Chaitanya Dev Sareen | Switching back to a previously-interacted-with application |
US9104440B2 (en) | 2011-05-27 | 2015-08-11 | Microsoft Technology Licensing, Llc | Multi-application environment |
US9146656B1 (en) * | 2011-06-27 | 2015-09-29 | Google Inc. | Notifications user interface |
US8687023B2 (en) | 2011-08-02 | 2014-04-01 | Microsoft Corporation | Cross-slide gesture to select and rearrange |
US10044678B2 (en) | 2011-08-31 | 2018-08-07 | At&T Intellectual Property I, L.P. | Methods and apparatus to configure virtual private mobile networks with virtual private networks |
US20130057587A1 (en) | 2011-09-01 | 2013-03-07 | Microsoft Corporation | Arranging tiles |
US8922575B2 (en) | 2011-09-09 | 2014-12-30 | Microsoft Corporation | Tile cache |
US9557909B2 (en) | 2011-09-09 | 2017-01-31 | Microsoft Technology Licensing, Llc | Semantic zoom linguistic helpers |
US10353566B2 (en) | 2011-09-09 | 2019-07-16 | Microsoft Technology Licensing, Llc | Semantic zoom animations |
US9146670B2 (en) | 2011-09-10 | 2015-09-29 | Microsoft Technology Licensing, Llc | Progressively indicating new content in an application-selectable user interface |
US8933952B2 (en) | 2011-09-10 | 2015-01-13 | Microsoft Corporation | Pre-rendering new content for an application-selectable user interface |
US9244802B2 (en) | 2011-09-10 | 2016-01-26 | Microsoft Technology Licensing, Llc | Resource user interface |
WO2013040674A1 (en) * | 2011-09-23 | 2013-03-28 | Research In Motion Limited | System and method for managing transient notifications using sensors |
JP5913921B2 (ja) * | 2011-11-11 | 2016-04-27 | シャープ株式会社 | 情報端末、その制御方法、および、制御プログラムおよびコンピュータ読み取り可能な記録媒体 |
US9223472B2 (en) | 2011-12-22 | 2015-12-29 | Microsoft Technology Licensing, Llc | Closing applications |
US9128605B2 (en) | 2012-02-16 | 2015-09-08 | Microsoft Technology Licensing, Llc | Thumbnail-image selection of applications |
US10044648B2 (en) | 2012-09-09 | 2018-08-07 | Jianping He | Messaging and updating services over the air from application servers to applications in mobile devices |
US9450952B2 (en) | 2013-05-29 | 2016-09-20 | Microsoft Technology Licensing, Llc | Live tiles without application-code execution |
US8819268B1 (en) * | 2013-06-19 | 2014-08-26 | Google Inc. | Systems and methods for notification of device mirroring |
US9450904B2 (en) | 2013-07-15 | 2016-09-20 | Dropbox, Inc. | Coordinated notifications across multiple channels |
US20150095071A1 (en) | 2013-09-29 | 2015-04-02 | Donan Engineering Co., Inc. | Systems and Methods for Identifying a Subrogation Opportunity for a Potential Subrogation Claim |
US9854061B2 (en) * | 2013-10-16 | 2017-12-26 | Ford Global Technologies, Llc | Method and apparatus for handling application triggering events |
CN104333644B (zh) * | 2013-10-18 | 2017-02-08 | 广州三星通信技术研究有限公司 | 移动通信终端及其更新消息的状态的方法 |
US20150160951A1 (en) * | 2013-12-06 | 2015-06-11 | Board Of Regents Of The University Of Texas System | Remote launch of application on mobile device |
WO2015149347A1 (en) | 2014-04-04 | 2015-10-08 | Microsoft Technology Licensing, Llc | Expandable application representation |
KR20180043385A (ko) | 2014-04-09 | 2018-04-27 | 콘비다 와이어리스, 엘엘씨 | 서비스 인에이블러 기능 |
KR20160143784A (ko) | 2014-04-10 | 2016-12-14 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 컴퓨팅 디바이스용 슬라이더 커버 |
CN105378582B (zh) | 2014-04-10 | 2019-07-23 | 微软技术许可有限责任公司 | 计算设备的可折叠壳盖 |
US10592080B2 (en) | 2014-07-31 | 2020-03-17 | Microsoft Technology Licensing, Llc | Assisted presentation of application windows |
US10254942B2 (en) | 2014-07-31 | 2019-04-09 | Microsoft Technology Licensing, Llc | Adaptive sizing and positioning of application windows |
US10678412B2 (en) | 2014-07-31 | 2020-06-09 | Microsoft Technology Licensing, Llc | Dynamic joint dividers for application windows |
US10642365B2 (en) | 2014-09-09 | 2020-05-05 | Microsoft Technology Licensing, Llc | Parametric inertia and APIs |
US9674335B2 (en) | 2014-10-30 | 2017-06-06 | Microsoft Technology Licensing, Llc | Multi-configuration input device |
US10146473B2 (en) | 2016-05-10 | 2018-12-04 | Ge Aviation Systems Llc | Systems and methods of subject state change notification |
US10156877B2 (en) * | 2016-10-01 | 2018-12-18 | Intel Corporation | Enhanced power management for support of priority system events |
US9959010B1 (en) * | 2016-12-23 | 2018-05-01 | Beijing Kingsoft Internet Security Software Co., Ltd. | Method for displaying information, and terminal equipment |
CN107222632A (zh) * | 2017-06-23 | 2017-09-29 | 北京金山安全软件有限公司 | 即时通信方法及装置 |
US20190073347A1 (en) * | 2017-09-01 | 2019-03-07 | Google Inc. | Lockscreen note-taking |
JP2019061458A (ja) * | 2017-09-26 | 2019-04-18 | 京セラドキュメントソリューションズ株式会社 | 電子機器およびログアプリケーション |
CN111064957B (zh) * | 2018-10-17 | 2021-03-23 | 杭州海康威视数字技术股份有限公司 | 设备状态监控方法及装置 |
US10848500B2 (en) * | 2018-10-24 | 2020-11-24 | Jamf Software, Llc | Systems and methods for group-based mobile device management |
CN113055415A (zh) * | 2019-12-26 | 2021-06-29 | 阿里巴巴集团控股有限公司 | 服务提供方法、服务消费方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6208996B1 (en) * | 1997-11-05 | 2001-03-27 | Microsoft Corporation | Mobile device having notification database in which only those notifications that are to be presented in a limited predetermined time period |
CN1298506A (zh) * | 1998-02-26 | 2001-06-06 | 太阳微系统公司 | 便于访问查询服务的方法和系统 |
US6393485B1 (en) * | 1998-10-27 | 2002-05-21 | International Business Machines Corporation | Method and apparatus for managing clustered computer systems |
US6922708B1 (en) * | 1999-02-18 | 2005-07-26 | Oracle International Corporation | File system that supports transactions |
Family Cites Families (161)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4058672A (en) | 1976-11-10 | 1977-11-15 | International Telephone And Telegraph Corporation | Packet-switched data communications system |
US4789962A (en) | 1984-10-31 | 1988-12-06 | International Business Machines Corporation | Methods of displaying help information nearest to an operation point at which the help information is requested |
US4780821A (en) | 1986-07-29 | 1988-10-25 | International Business Machines Corp. | Method for multiple programs management within a network having a server computer and a plurality of remote computers |
US4945475A (en) | 1986-10-30 | 1990-07-31 | Apple Computer, Inc. | Hierarchical file system to provide cataloging and retrieval of data |
JPS63286941A (ja) | 1987-05-20 | 1988-11-24 | Hitachi Ltd | フアイルシステム管理方式 |
US5058000A (en) | 1987-06-30 | 1991-10-15 | Prime Computer, Inc. | System for accessing remote heterogeneous database including formatting retrieved data into applications program format |
US5307494A (en) | 1987-08-05 | 1994-04-26 | Fuji Xerox Co., Ltd. | File name length augmentation method |
US5179703A (en) | 1987-11-17 | 1993-01-12 | International Business Machines Corporation | Dynamically adaptive environment for computer programs |
US5129088A (en) | 1987-11-30 | 1992-07-07 | International Business Machines Corporation | Data processing method to create virtual disks from non-contiguous groups of logically contiguous addressable blocks of direct access storage device |
US4945476A (en) | 1988-02-26 | 1990-07-31 | Elsevier Science Publishing Company, Inc. | Interactive system and method for creating and editing a knowledge base for use as a computerized aid to the cognitive process of diagnosis |
US4999766A (en) | 1988-06-13 | 1991-03-12 | International Business Machines Corporation | Managing host to workstation file transfer |
JPH02165241A (ja) | 1988-12-19 | 1990-06-26 | Toshiba Corp | ファイルアクセス方式 |
CA1323448C (en) | 1989-02-24 | 1993-10-19 | Terrence C. Miller | Method and apparatus for translucent file system |
US5157768A (en) | 1989-03-15 | 1992-10-20 | Sun Microsystems, Inc. | Method and apparatus for displaying context sensitive help information on a display |
US5243697A (en) | 1989-03-15 | 1993-09-07 | Sun Microsystems, Inc. | Method and apparatus for selecting button functions and retaining selected options on a display |
US5083264A (en) | 1989-04-24 | 1992-01-21 | Xerox Corporation | Process and apparatus for saving and restoring critical files on the disk memory of an electrostatographic reproduction machine |
CA2014799A1 (en) | 1989-05-08 | 1990-11-08 | John W. Whisler | System and method for reading and writing disks formatted for an operating system foreign to the host computer |
US5291595A (en) | 1989-05-22 | 1994-03-01 | Martins Augusto B | Batch/application program processing |
US5485606A (en) | 1989-07-10 | 1996-01-16 | Conner Peripherals, Inc. | System and method for storing and retrieving files for archival purposes |
US5363487A (en) | 1989-08-29 | 1994-11-08 | Microsoft Corporation | Method and system for dynamic volume tracking in an installable file system |
US5371885A (en) | 1989-08-29 | 1994-12-06 | Microsoft Corporation | High performance file system |
US5247658A (en) | 1989-10-31 | 1993-09-21 | Microsoft Corporation | Method and system for traversing linked list record based upon write-once predetermined bit value of secondary pointers |
US5347628A (en) | 1990-01-18 | 1994-09-13 | International Business Machines Corporation | Method of graphically accessing electronic data |
US5317733A (en) | 1990-01-26 | 1994-05-31 | Cisgem Technologies, Inc. | Office automation system for data base management and forms generation |
US5202982A (en) | 1990-03-27 | 1993-04-13 | Sun Microsystems, Inc. | Method and apparatus for the naming of database component files to avoid duplication of files |
US5249300A (en) | 1990-04-27 | 1993-09-28 | Bachman Information Systems, Inc. | System and method of constructing models of complex business transactions using entity-set variables for ordered sets of references to user data |
JPH0454541A (ja) | 1990-06-21 | 1992-02-21 | Fujitsu Ltd | ファイル名生成処理方式 |
US5287502A (en) | 1990-09-12 | 1994-02-15 | Kabushiki Kaisha Toshiba | Computer system for executing application programs by a combination of picture symbols |
US5367671A (en) | 1990-09-25 | 1994-11-22 | International Business Machines Corp. | System for accessing extended object attribute (EA) data through file name or EA handle linkages in path tables |
US5204947A (en) | 1990-10-31 | 1993-04-20 | International Business Machines Corporation | Application independent (open) hypermedia enablement services |
US5297249A (en) | 1990-10-31 | 1994-03-22 | International Business Machines Corporation | Hypermedia link marker abstract and search services |
US5241545A (en) | 1990-11-14 | 1993-08-31 | Motorola, Inc. | Apparatus and method for recovering a time-varying signal using multiple sampling points |
CA2067650C (en) | 1991-07-24 | 1996-10-22 | Eric Jonathan Bauer | Method and apparatus for operating a computer-based file system |
CA2067633C (en) | 1991-07-24 | 1996-10-01 | Eric Jonathan Bauer | Method and apparatus for accessing a computer-based file system |
US5329427A (en) | 1991-08-02 | 1994-07-12 | Tusk, Incorporated | Modular computer system having an improved docking assembly |
US5359725A (en) | 1991-10-15 | 1994-10-25 | Time Warner Interactive Group, Inc. | Method of creating CD-ROM image of files of different format with proper directories to be read by respective operating systems |
US6347051B2 (en) | 1991-11-26 | 2002-02-12 | Hitachi, Ltd. | Storage device employing a flash memory |
US5333266A (en) | 1992-03-27 | 1994-07-26 | International Business Machines Corporation | Method and apparatus for message handling in computer systems |
US5359724A (en) | 1992-03-30 | 1994-10-25 | Arbor Software Corporation | Method and apparatus for storing and retrieving multi-dimensional data in computer memory |
US5434974A (en) | 1992-03-30 | 1995-07-18 | International Business Machines Corporation | Name resolution for a multisystem network |
US5390328A (en) * | 1992-03-30 | 1995-02-14 | International Business Machines Corporation | Data processing system and method for providing notification in a central processor of state changes for shared data structure on external storage |
US5392390A (en) | 1992-04-10 | 1995-02-21 | Intellilink Corp. | Method for mapping, translating, and dynamically reconciling data between disparate computer platforms |
JPH0619771A (ja) | 1992-04-20 | 1994-01-28 | Internatl Business Mach Corp <Ibm> | 異種のクライアントによる共用ファイルのファイル管理機構 |
US5421001A (en) | 1992-05-01 | 1995-05-30 | Wang Laboratories, Inc. | Computer method and apparatus for a table driven file interface |
US5355497A (en) | 1992-06-10 | 1994-10-11 | Physiotronics Corporation | File directory structure generator and retrevial tool with document locator module mapping the directory structure of files to a real world hierarchical file structure |
JP3328321B2 (ja) | 1992-06-22 | 2002-09-24 | 株式会社日立製作所 | 半導体記憶装置 |
US5745902A (en) | 1992-07-06 | 1998-04-28 | Microsoft Corporation | Method and system for accessing a file using file names having different file name formats |
US5627996A (en) | 1992-08-19 | 1997-05-06 | At&T | Method and apparatus for accessing the same computer file using different file name formats |
US5596755A (en) | 1992-11-03 | 1997-01-21 | Microsoft Corporation | Mechanism for using common code to handle hardware interrupts in multiple processor modes |
WO1994014115A2 (en) | 1992-12-01 | 1994-06-23 | Microsoft Corporation | A method and system for in-place interaction with embedded objects |
US5666530A (en) | 1992-12-02 | 1997-09-09 | Compaq Computer Corporation | System for automatic synchronization of common file between portable computer and host computer via communication channel selected from a plurality of usable channels there between |
JP2856621B2 (ja) | 1993-02-24 | 1999-02-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置 |
JP3078946B2 (ja) | 1993-03-11 | 2000-08-21 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | 一括消去型不揮発性メモリの管理方法及び半導体ディスク装置 |
GB2276520A (en) | 1993-03-23 | 1994-09-28 | Us West Advanced Tech Inc | Computer interface method and system |
JPH06290096A (ja) | 1993-03-31 | 1994-10-18 | Matsushita Electric Ind Co Ltd | パス名解決装置 |
EP0618540B1 (en) | 1993-04-01 | 2001-12-12 | Microsoft Corporation | Common name space for long and short filenames |
JPH06324928A (ja) | 1993-05-14 | 1994-11-25 | Mitsubishi Electric Corp | ログ生成装置とファイルの異なるバージョンの調停のための装置及び異なる場所にあるコンピュータファイルの異なるバージョンを調停するための装置 |
DE4497149T1 (de) | 1993-09-24 | 1996-10-17 | Oracle Corp | Verfahren und Vorrichtung zum Replizieren von Daten |
US5729687A (en) | 1993-12-20 | 1998-03-17 | Intel Corporation | System for sending differences between joining meeting information and public meeting information between participants in computer conference upon comparing annotations of joining and public meeting information |
US5483652A (en) | 1994-01-24 | 1996-01-09 | Digital Equipment Corporation | Mechanism for locating without search discrete application resources known by common name only in a distributed network computing environment |
AU3372095A (en) | 1994-08-24 | 1996-03-14 | Arcada Software, Inc. | Application program interface (api) for a medium changer |
US5805886A (en) | 1994-09-26 | 1998-09-08 | Intel Corporation | Method for notifying client applications of events in a shared application in a computer system |
US5805830A (en) | 1994-09-30 | 1998-09-08 | Intel Corporation | Method and apparatus for managing communications with selective subsets of conference participants |
US5903752A (en) | 1994-10-13 | 1999-05-11 | Intel Corporation | Method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system |
US5721922A (en) | 1994-10-13 | 1998-02-24 | Intel Corporation | Embedding a real-time multi-tasking kernel in a non-real-time operating system |
JPH08129536A (ja) * | 1994-10-28 | 1996-05-21 | Oki Electric Ind Co Ltd | イベント処理システム |
US5745752A (en) | 1994-12-13 | 1998-04-28 | Microsoft Corporation | Dual namespace client having long and short filenames |
US5684990A (en) | 1995-01-11 | 1997-11-04 | Puma Technology, Inc. | Synchronization of disparate databases |
US5758354A (en) | 1995-04-28 | 1998-05-26 | Intel Corporation | Application independent e-mail synchronization |
US5819275A (en) | 1995-06-07 | 1998-10-06 | Trusted Information Systems, Inc. | System and method for superimposing attributes on hierarchically organized file systems |
WO1997004389A1 (en) | 1995-07-20 | 1997-02-06 | Novell, Inc. | Transaction synchronization in a disconnectable computer and network |
US5664228A (en) | 1995-08-09 | 1997-09-02 | Microsoft Corporation | Portable information device and system and method for downloading executable instructions from a computer to the portable information device |
PL177486B1 (pl) | 1995-08-14 | 1999-11-30 | Ibm | Sposób i sieć do przesyłania komunikatu od pierwszego użytkownika do docelowych użytkowników |
US5647002A (en) | 1995-09-01 | 1997-07-08 | Lucent Technologies Inc. | Synchronization of mailboxes of different types |
US5630081A (en) | 1995-09-07 | 1997-05-13 | Puma Technology, Inc. | Connection resource manager displaying link-status information using a traffic light iconic representation |
US5884323A (en) | 1995-10-13 | 1999-03-16 | 3Com Corporation | Extendible method and apparatus for synchronizing files on two different computer systems |
US5727202A (en) | 1995-10-18 | 1998-03-10 | Palm Computing, Inc. | Method and apparatus for synchronizing information on two different computer systems |
US5867641A (en) | 1995-10-27 | 1999-02-02 | Scm Microsystems (U.S.) Inc. | Flash translation layer cleanup system and method |
US6014724A (en) | 1995-10-27 | 2000-01-11 | Scm Microsystems (U.S.) Inc. | Flash translation layer block indication map revision system and method |
US5799305A (en) | 1995-11-02 | 1998-08-25 | Informix Software, Inc. | Method of commitment in a distributed database transaction |
US5832218A (en) | 1995-12-14 | 1998-11-03 | International Business Machines Corporation | Client/server electronic mail system for providng off-line client utilization and seamless server resynchronization |
US5799168A (en) | 1996-01-05 | 1998-08-25 | M-Systems Flash Disk Pioneers Ltd. | Standardized flash controller |
US5761675A (en) | 1996-03-19 | 1998-06-02 | Symantec Corporation | Diagnosis and repair of defective long filenames |
US5806074A (en) | 1996-03-19 | 1998-09-08 | Oracle Corporation | Configurable conflict resolution in a computer implemented distributed database |
EP0810755B1 (en) * | 1996-05-31 | 2003-04-16 | Hewlett-Packard Company, A Delaware Corporation | Systems and methods for operating a network management system |
US5787262A (en) | 1996-06-26 | 1998-07-28 | Microsoft Corporation | System and method for distributed conflict resolution between data objects replicated across a computer network |
US5812793A (en) | 1996-06-26 | 1998-09-22 | Microsoft Corporation | System and method for asynchronous store and forward data replication |
US5930350A (en) | 1996-06-27 | 1999-07-27 | Mci Communications Corporation | System, method and computer program for automated speed dialing |
US5812773A (en) | 1996-07-12 | 1998-09-22 | Microsoft Corporation | System and method for the distribution of hierarchically structured data |
US6016478A (en) | 1996-08-13 | 2000-01-18 | Starfish Software, Inc. | Scheduling system with methods for peer-to-peer scheduling of remote users |
KR100260028B1 (ko) | 1996-08-13 | 2000-06-15 | 윤종용 | 화일시스템의 정보 복구방법 |
US5754848A (en) | 1996-09-11 | 1998-05-19 | Hewlett-Packard Co. | Apparatus and method for disaster recovery of an operating system utilizing long file and directory names |
US5767854A (en) | 1996-09-27 | 1998-06-16 | Anwar; Mohammed S. | Multidimensional data display and manipulation system and methods for using same |
US5765169A (en) | 1996-09-30 | 1998-06-09 | International Business Machines Corporation | Method and apparatus for converting long file names to short file names |
US5884325A (en) | 1996-10-09 | 1999-03-16 | Oracle Corporation | System for synchronizing shared data between computers |
US5757616A (en) | 1996-10-31 | 1998-05-26 | Hewlett-Packard Company | Physical security system for portable computer |
US5924094A (en) | 1996-11-01 | 1999-07-13 | Current Network Technologies Corporation | Independent distributed database system |
US5991536A (en) * | 1996-11-12 | 1999-11-23 | International Business Machines Corporation | Object-oriented tool for registering objects for observation and causing notifications to be made in the event changes are made to an object which is being observed |
US6405218B1 (en) | 1996-11-13 | 2002-06-11 | Pumatech, Inc. | Synchronizing databases |
US5956473A (en) | 1996-11-25 | 1999-09-21 | Macronix International Co., Ltd. | Method and system for managing a flash memory mass storage system |
US5745418A (en) | 1996-11-25 | 1998-04-28 | Macronix International Co., Ltd. | Flash memory mass storage system |
US5878408A (en) | 1996-12-06 | 1999-03-02 | International Business Machines Corporation | Data management system and process |
US5920873A (en) | 1996-12-06 | 1999-07-06 | International Business Machines Corporation | Data management control system for file and database |
US5826265A (en) | 1996-12-06 | 1998-10-20 | International Business Machines Corporation | Data management system having shared libraries |
US6018761A (en) | 1996-12-11 | 2000-01-25 | The Robert G. Uomini And Louise B. Bidwell Trust | System for adding to electronic mail messages information obtained from sources external to the electronic mail transport process |
US5926501A (en) | 1996-12-12 | 1999-07-20 | Motorola, Inc. | Method and apparatus for dynamic channel configuration |
US5930268A (en) | 1996-12-20 | 1999-07-27 | Motorola, Inc. | Transceiver and associated method for surviving fades |
US6279069B1 (en) | 1996-12-26 | 2001-08-21 | Intel Corporation | Interface for flash EEPROM memory arrays |
US5812749A (en) | 1996-12-27 | 1998-09-22 | Mci Communication Corporation | Method of and system for testing network time protocol client accuracy |
US6035379A (en) | 1997-01-09 | 2000-03-07 | Microsoft Corporation | Transaction processing for user data employing both logging and shadow copying |
US5887198A (en) | 1997-04-07 | 1999-03-23 | The United States Of America As Represented By The Secretary Of The Navy | Programmable stand-alone drive apparatus for interfacing a host computer with PCMCIA memory cards having multiple formats |
US5961590A (en) | 1997-04-11 | 1999-10-05 | Roampage, Inc. | System and method for synchronizing electronic mail between a client site and a central site |
US5884328A (en) | 1997-08-29 | 1999-03-16 | Tandem Computers, Inc. | System and method for sychronizing a large database and its replica |
US6070174A (en) | 1997-09-30 | 2000-05-30 | Infraworks Corporation | Method and apparatus for real-time secure file deletion |
US6018571A (en) | 1997-09-30 | 2000-01-25 | Mitel Corporation | System for interactive control of a computer and telephone |
US5991778A (en) | 1997-09-30 | 1999-11-23 | Stratfor Systems, Inc. | Method and apparatus for real-time secure file deletion |
US5924096A (en) | 1997-10-15 | 1999-07-13 | Novell, Inc. | Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand |
US5937425A (en) | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
US6034621A (en) | 1997-11-18 | 2000-03-07 | Lucent Technologies, Inc. | Wireless remote synchronization of data between PC and PDA |
US5960406A (en) | 1998-01-22 | 1999-09-28 | Ecal, Corp. | Scheduling system for use between users on the web |
US6098093A (en) * | 1998-03-19 | 2000-08-01 | International Business Machines Corp. | Maintaining sessions in a clustered server environment |
US6611877B2 (en) | 1998-06-30 | 2003-08-26 | Sun Microsystems, Inc. | System and method for aggregating registration of entities for notifications of events |
US6741994B1 (en) | 1998-07-27 | 2004-05-25 | Hewlett-Packard Development Company, L.P. | Method and automatic organization of data |
US6269254B1 (en) | 1998-09-28 | 2001-07-31 | Motorola, Inc. | Radio communications device and method with API between user application program and telephony program and method |
US6915457B1 (en) * | 1999-04-23 | 2005-07-05 | Nortel Networks Limited | Apparatus and method for monitoring messages forwarded between applications |
US7950017B1 (en) * | 1999-04-23 | 2011-05-24 | Avaya Inc. | Apparatus and method for forwarding messages between two applications |
US6925513B1 (en) | 1999-05-04 | 2005-08-02 | Apple Computer, Inc. | USB device notification |
US6678830B1 (en) * | 1999-07-02 | 2004-01-13 | Hewlett-Packard Development Company, L.P. | Method and apparatus for an ACPI compliant keyboard sleep key |
US6442565B1 (en) * | 1999-08-13 | 2002-08-27 | Hiddenmind Technology, Inc. | System and method for transmitting data content in a computer network |
US6141564A (en) | 1999-09-30 | 2000-10-31 | Motorola, Inc. | Method of sharing a SIM card between two masters |
US6631363B1 (en) | 1999-10-11 | 2003-10-07 | I2 Technologies Us, Inc. | Rules-based notification system |
US7305475B2 (en) | 1999-10-12 | 2007-12-04 | Webmd Health | System and method for enabling a client application to operate offline from a server |
US6584185B1 (en) | 2000-01-31 | 2003-06-24 | Microsoft Corporation | Telephone abstraction layer and system in a computer telephony system |
US7003571B1 (en) | 2000-01-31 | 2006-02-21 | Telecommunication Systems Corporation Of Maryland | System and method for re-directing requests from browsers for communication over non-IP based networks |
US20020046299A1 (en) * | 2000-02-09 | 2002-04-18 | Internet2Anywhere, Ltd. | Method and system for location independent and platform independent network signaling and action initiating |
CN100594701C (zh) * | 2000-03-16 | 2010-03-17 | 微软公司 | 一种通知系统 |
US7030837B1 (en) * | 2000-04-24 | 2006-04-18 | Microsoft Corporation | Auxiliary display unit for a computer system |
US6928300B1 (en) * | 2000-11-09 | 2005-08-09 | Palmsource, Inc. | Method and apparatus for automated flexible configuring of notifications and activation |
US7194743B2 (en) * | 2000-12-12 | 2007-03-20 | Citrix Systems, Inc. | Methods and apparatus for communicating changes between a user interface and an executing application using property paths |
US6874094B2 (en) * | 2000-12-19 | 2005-03-29 | Microsoft Corporation | Method for locking user input elements for a small computer device by ignoring input signals if a locking signal is generated by a calendar-type application program |
US7299257B2 (en) * | 2001-02-06 | 2007-11-20 | Lucent Technologies Inc. | Apparatus and method for use in collaboration services |
US6826762B2 (en) | 2001-02-16 | 2004-11-30 | Microsoft Corporation | Radio interface layer in a cell phone with a set of APIs having a hardware-independent proxy layer and a hardware-specific driver layer |
US7472396B2 (en) * | 2001-05-18 | 2008-12-30 | Qualcomm Incorporated | Extensible event notification mechanism |
US20020178077A1 (en) * | 2001-05-25 | 2002-11-28 | Katz Steven Bruce | Method for automatically invoking a software module in response to an internal or external event affecting the procurement of an item |
JP2003044320A (ja) * | 2001-07-31 | 2003-02-14 | Pfu Ltd | 教育システム |
US6954781B2 (en) * | 2001-08-01 | 2005-10-11 | International Business Machines Corporation | Messaging system for directing a server to convert voice message into text and appending a converted text message to another converted text message |
US7171671B2 (en) | 2001-08-23 | 2007-01-30 | Microsoft Corporation | Method and system for providing state change notifications in device drivers |
US20040066920A1 (en) | 2001-08-31 | 2004-04-08 | Vandermeijden Tom R. | Method and apparatus for automatically populating a contact database in a mobile communication device |
US6993327B2 (en) | 2001-10-29 | 2006-01-31 | Motorola, Inc. | Multicast distribution of presence information for an instant messaging system |
US6909910B2 (en) | 2002-02-01 | 2005-06-21 | Microsoft Corporation | Method and system for managing changes to a contact database |
US7657765B2 (en) * | 2002-02-19 | 2010-02-02 | Hewlett-Packard Development Company, L.P. | Power saving features for computing systems |
JP4091792B2 (ja) * | 2002-05-17 | 2008-05-28 | 株式会社エヌ・ティ・ティ・ドコモ | 電子機器、イベント提供方法、プログラム、及び記録媒体 |
GB0223498D0 (en) * | 2002-10-09 | 2002-11-13 | Nokia Corp | Provision of information regarding a mobile station |
US7269433B2 (en) * | 2002-11-05 | 2007-09-11 | Microsoft Corporation | Scheduling of synchronization operation on a mobile device based on predetermined subset of user actions |
US7809384B2 (en) * | 2002-11-05 | 2010-10-05 | Microsoft Corporation | User-input scheduling of synchronization operation on a mobile device based on user activity |
US7240228B2 (en) * | 2003-05-05 | 2007-07-03 | Microsoft Corporation | Method and system for standby auxiliary processing of information for a computing device |
US7103785B2 (en) * | 2003-05-30 | 2006-09-05 | Hewlett-Packard Development Company, L.P. | Method and apparatus for power management event wake up |
US7644376B2 (en) | 2003-10-23 | 2010-01-05 | Microsoft Corporation | Flexible architecture for notifying applications of state changes |
JP4297934B2 (ja) | 2006-10-24 | 2009-07-15 | 三菱電機株式会社 | 車両用通信装置 |
US20160088046A1 (en) * | 2014-09-18 | 2016-03-24 | Multipop Llc | Real time content management system |
US9633622B2 (en) * | 2014-12-18 | 2017-04-25 | Intel Corporation | Multi-user sensor-based interactions |
-
2004
- 2004-06-22 US US10/873,881 patent/US7644376B2/en active Active
- 2004-10-06 EP EP04023852A patent/EP1679596A3/en not_active Ceased
- 2004-10-22 CN CN200410087701XA patent/CN1617501B/zh not_active Expired - Lifetime
- 2004-10-22 CN CN201110222798.0A patent/CN102291446B/zh not_active Expired - Lifetime
- 2004-10-22 KR KR1020040084927A patent/KR100920850B1/ko active IP Right Grant
- 2004-10-25 JP JP2004310058A patent/JP4790245B2/ja not_active Expired - Fee Related
-
2009
- 2009-11-23 US US12/624,038 patent/US8990695B2/en active Active
-
2015
- 2015-01-29 US US14/609,134 patent/US10169111B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6208996B1 (en) * | 1997-11-05 | 2001-03-27 | Microsoft Corporation | Mobile device having notification database in which only those notifications that are to be presented in a limited predetermined time period |
CN1298506A (zh) * | 1998-02-26 | 2001-06-06 | 太阳微系统公司 | 便于访问查询服务的方法和系统 |
US6393485B1 (en) * | 1998-10-27 | 2002-05-21 | International Business Machines Corporation | Method and apparatus for managing clustered computer systems |
US6922708B1 (en) * | 1999-02-18 | 2005-07-26 | Oracle International Corporation | File system that supports transactions |
Also Published As
Publication number | Publication date |
---|---|
KR100920850B1 (ko) | 2009-10-09 |
US20050091219A1 (en) | 2005-04-28 |
US7644376B2 (en) | 2010-01-05 |
EP1679596A2 (en) | 2006-07-12 |
JP2005129067A (ja) | 2005-05-19 |
US8990695B2 (en) | 2015-03-24 |
CN102291446A (zh) | 2011-12-21 |
JP4790245B2 (ja) | 2011-10-12 |
US20150150027A1 (en) | 2015-05-28 |
KR20050039665A (ko) | 2005-04-29 |
EP1679596A3 (en) | 2007-08-22 |
US10169111B2 (en) | 2019-01-01 |
CN1617501A (zh) | 2005-05-18 |
CN1617501B (zh) | 2011-09-14 |
US20100077310A1 (en) | 2010-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102291446B (zh) | 向应用程序通知状态变化的灵活体系结构 | |
US8495020B1 (en) | Mobile information system | |
CN106648024B (zh) | 计算对象的上下文历史 | |
US7925525B2 (en) | Smart reminders | |
US10423927B2 (en) | Electronic process-enabled collaboration system | |
US8086689B2 (en) | Method and apparatus for managing shared data at a portable electronic device of a first entity | |
US20050097440A1 (en) | Method and system for collaboration | |
US9654349B2 (en) | System and method for functional elements | |
US20090070291A1 (en) | Active file system | |
US20130318207A1 (en) | Systems and methods for managing mobile app data | |
CN1648920A (zh) | 离线全局地址列表 | |
US20080195619A1 (en) | Electronic device and method of sharing calendar-event information | |
CA2699089A1 (en) | Electronic device and method for managing storage of data | |
CN104067249B (zh) | 用于将笔记应用内的不同笔记本组件远程同步的方法和设备 | |
US20080191896A1 (en) | Electronic device and method of adding parties to a calendar event | |
CN116866427B (zh) | 一种异构消息统一推送方法及系统 | |
CA2620493A1 (en) | Electronic device and method of adding parties to a calendar event | |
CA2619232A1 (en) | Electronic device and method of sharing calendar-event information | |
CN1773496A (zh) | 用于文档组装的方法和系统 | |
EP1868148B1 (en) | Method and apparatus for folder synchronization and management | |
CA2591428C (en) | Method and apparatus for folder synchronization and management | |
CN117675996A (zh) | 一种消息提醒方法、装置、计算机设备和存储介质 | |
Yan | Service-Oriented Architectures for Context-Aware Information Retrieval and Access | |
Koyama et al. | An agent based mobile phone groupware system using location information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150506 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150506 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |